Interresting Website for ROS

Here you can discuss ReactOS related topics.

Moderator: Moderator Team

gonzoMD
Posts: 1026
Joined: Fri Oct 20, 2006 7:49 am
Location: Germany
Contact:

Interresting Website for ROS

Post by gonzoMD » Tue Jul 23, 2013 1:43 pm

Today I found this: http://www.geoffchappell.com/
I don't know if it's already known, but I think it helps if not.

erkinalp
Posts: 843
Joined: Sat Dec 20, 2008 5:55 pm

Post by erkinalp » Tue Jul 23, 2013 6:44 pm

http://www.geoffchappell.com/notes/wind ... memory.htm
Very interesting that 32-bit editions Windows Vista and 7 supports but refuses to use the memory segments above 4GiB boundary just because licensing.
I hope that ReactOS will not have such restriction after PAE support is finished.
Geoff Chapell wrote:That 32-bit editions of Windows starting with Windows Vista are limited to 4GB is not because of any technical constraint on 32-bit operating systems. The 32-bit editions of Windows Vista and Windows 7 all contain code for using physical memory above 4GB. Microsoft just doesn’t license you to use that code.
Limit is 16GiB for Windows Server 2003/2008, so drivers assuming 4GiB memory cap will not correctly work even in Windows Server. The assumption itself is wrong.
PurpleGurl wrote:The best option there would be for us to do it both ways for compatibility. For those who have problems with the memory uncapped, they could do it as Windows does. But I'd let those who have compatible drivers and all use the rest of their RAM if it is there. In that case, we could support 4 GiB only by default, and give the option to change it.
I have an idea for solution:
-

Code: Select all

ZwQueryLicenseValue()
will return the actual amount of RAM, not the fixed 4GiB cap.
-Kernel-WindowsMaxMemAllowedx86 will return maximal possible RAM kernel can ever handle, not the fixed 4GiB cap.
-Hard coded 4GiB limit will not exist in ReactOS.
Last edited by erkinalp on Wed Jul 24, 2013 9:57 am, edited 1 time in total.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2

PurpleGurl
Posts: 1783
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Interresting Website for ROS

Post by PurpleGurl » Wed Jul 24, 2013 2:40 am

erkinalp wrote:http://www.geoffchappell.com/notes/wind ... memory.htm
Very interesting that 32-bit editions Windows Vista and 7 supports but refuses to use the memory segments above 4GiB boundary just because licensing.
I hope that ReactOS will not have such restriction after PAE support is finished.
The best option there would be for us to do it both ways for compatibility. For those who have problems with the memory uncapped, they could do it as Windows does. But I'd let those who have compatible drivers and all use the rest of their RAM if it is there. In that case, we could support 4 GiB only by default, and give the option to change it.

jihao1234567
Posts: 31
Joined: Wed Mar 18, 2009 7:53 am

Re: Interresting Website for ROS

Post by jihao1234567 » Fri Jul 26, 2013 6:50 pm

PurpleGurl wrote:
erkinalp wrote:http://www.geoffchappell.com/notes/wind ... memory.htm
Very interesting that 32-bit editions Windows Vista and 7 supports but refuses to use the memory segments above 4GiB boundary just because licensing.
I hope that ReactOS will not have such restriction after PAE support is finished.
The best option there would be for us to do it both ways for compatibility. For those who have problems with the memory uncapped, they could do it as Windows does. But I'd let those who have compatible drivers and all use the rest of their RAM if it is there. In that case, we could support 4 GiB only by default, and give the option to change it.
Actually, the best method ReactOS could adopt after it has the PAE function is that always allocates the physical memory whose address is lower than 4GB to devices( because a large mount of devices & their drivers didn't has the facility for using the high-address memory, i.e. limited to 32-bit address space. BTW, in the ancient era - the times of 286 and 386 - some devices could only handle 24-bit address. ), and allocate the other part to processes since via MM the high-address memory could always be redirected to process's space, which is limited in 32-bit systems.

PurpleGurl
Posts: 1783
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Interresting Website for ROS

Post by PurpleGurl » Sat Jul 27, 2013 6:01 am

jihao1234567 wrote:Actually, the best method ReactOS could adopt after it has the PAE function is that always allocates the physical memory whose address is lower than 4GB to devices( because a large mount of devices & their drivers didn't has the facility for using the high-address memory, i.e. limited to 32-bit address space. BTW, in the ancient era - the times of 286 and 386 - some devices could only handle 24-bit address. ), and allocate the other part to processes since via MM the high-address memory could always be redirected to process's space, which is limited in 32-bit systems.
Interesting. Yes, I remember some of the DOS, Win 3.11, and Win 9x days. One thing I hated about Win 95 and maybe 98 was the resource heap. At least NT, 2K, etc., didn't limit it to a 64k shared resource heap, but shared it with the rest of the system processes. So they eliminated one type of crash that way. I also like how they added HAL and moved NTVDM to make things more responsive (though that might increase the risk of a bad video driver bringing down the system, though overall, this was more stable).

Again, I'd suggest a registry key to select either capping the memory (default), uncapping it to use all 36 bits, or doing what you suggest. (Or even creating a paging scheme that uses that unused space like a swap file.) I imagine the devs wouldn't want to do all that work, but it would be nice if we were more flexible than Windows while maintaining full compatibility. More features in terms of hardware utilization would be good, though it would be good to add no new APIs unless they can make internal programming easier or more efficient and without breaking things. There are a number of Windows 8 internal features that would be nice, for instance, like the tickless system clock idea (thus helping with power savings, and performance when that interrupt is not needed), some of its security features, and the ability to only load what is needed of a program (like if it has dead code or features the user doesn't need - making laptop and older PC performance better since this could minimize overall HDD access since there would be less paging).

jihao1234567
Posts: 31
Joined: Wed Mar 18, 2009 7:53 am

Re: Interresting Website for ROS

Post by jihao1234567 » Sat Jul 27, 2013 9:23 am

PurpleGurl wrote:Interesting. Yes, I remember some of the DOS, Win 3.11, and Win 9x days. One thing I hated about Win 95 and maybe 98 was the resource heap. At least NT, 2K, etc., didn't limit it to a 64k shared resource heap, but shared it with the rest of the system processes. So they eliminated one type of crash that way. I also like how they added HAL and moved NTVDM to make things more responsive (though that might increase the risk of a bad video driver bringing down the system, though overall, this was more stable).

Again, I'd suggest a registry key to select either capping the memory (default), uncapping it to use all 36 bits, or doing what you suggest. (Or even creating a paging scheme that uses that unused space like a swap file.) I imagine the devs wouldn't want to do all that work, but it would be nice if we were more flexible than Windows while maintaining full compatibility. More features in terms of hardware utilization would be good, though it would be good to add no new APIs unless they can make internal programming easier or more efficient and without breaking things. There are a number of Windows 8 internal features that would be nice, for instance, like the tickless system clock idea (thus helping with power savings, and performance when that interrupt is not needed), some of its security features, and the ability to only load what is needed of a program (like if it has dead code or features the user doesn't need - making laptop and older PC performance better since this could minimize overall HDD access since there would be less paging).
In fact, you do *NOT* need to create a registry key to do this. Think about Windows 7 32-bit version, you will find that it could use large memory( i.e. more than 4GB ) by patching a kernel function MxMemoryLicense. This means this capability only affects kernel without touching user space. All devs need to do is creating a memory allocating policy for those limited devices.

erkinalp
Posts: 843
Joined: Sat Dec 20, 2008 5:55 pm

Re: Interresting Website for ROS

Post by erkinalp » Sat Jul 27, 2013 10:11 am

jihao1234567 wrote:In fact, you do *NOT* need to create a registry key to do this. Think about Windows 7 32-bit version, you will find that it could use large memory( i.e. more than 4GB ) by patching a kernel function MxMemoryLicense. This means this capability only affects kernel without touching user space. All devs need to do is creating a memory allocating policy for those limited devices.
I agree with Jihao here, the important thing is allocation policy, so even the drivers assuming 4GiB of RAM will work well with more than 4GiB available RAM if allocation policy is correctly implemented.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2

Z98
Release Engineer
Posts: 3379
Joined: Tue May 02, 2006 8:16 pm
Contact:

Re: Interresting Website for ROS

Post by Z98 » Sat Jul 27, 2013 7:38 pm

PAE is a hack. I'd much prefer we just ignore it and focus on a true 64bit version for situations that call for more than 4GB of RAM.

erkinalp
Posts: 843
Joined: Sat Dec 20, 2008 5:55 pm

Re: Interresting Website for ROS

Post by erkinalp » Sat Jul 27, 2013 8:10 pm

Z98 wrote:PAE is a hack. I'd much prefer we just ignore it and focus on a true 64bit version for situations that call for more than 4GB of RAM.
If so, XMS is a hack too.
-uses Ubuntu+GNOME 3 GNU/Linux
-likes Free (as in freedom) and Open Source Detergents
-favors open source of Windows 10 under GPL2

jihao1234567
Posts: 31
Joined: Wed Mar 18, 2009 7:53 am

Re: Interresting Website for ROS

Post by jihao1234567 » Sat Jul 27, 2013 8:49 pm

Z98 wrote:PAE is a hack. I'd much prefer we just ignore it and focus on a true 64bit version for situations that call for more than 4GB of RAM.
Two reasons made implementing PAE for ReactOS is worthful: Firstly, the x64 version of ReactOS has a long way before it becomes available, but adding PAE to current kernel is easier; second, today the amount of 32-bit drivers is much more than 64-bit, and in the foreseeable future this situation may not be changed to some extent.

jihao1234567
Posts: 31
Joined: Wed Mar 18, 2009 7:53 am

Re: Interresting Website for ROS

Post by jihao1234567 » Sat Jul 27, 2013 8:53 pm

erkinalp wrote:
Z98 wrote:PAE is a hack. I'd much prefer we just ignore it and focus on a true 64bit version for situations that call for more than 4GB of RAM.
If so, XMS is a hack too.
So the DPMI might be one of the biggest hacks...? Hmmm...I still remember a lot of games working with DOS4GW or some other DOS extenders in my young age, they worked well and the performance is also not too bad. At that time using DOS extenders might be the cheapest and most convenient method for end users to touch multimedia games and apps, however the Disk Operating System itself is disabled, it lacks of memory management and device abstract facilities. I think using hacks in some not-so-emergent situations( for example, this ) is a good choice, you can get more but paid less.
PS: Does here anyone know the KernelEx project? It is a "Win9x extender" and could allow you running some WinNT based apps on Win9x platforms. It is also a big hack, but convenient for users.

EmuandCo
Developer
Posts: 4346
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: Interresting Website for ROS

Post by EmuandCo » Sun Jul 28, 2013 11:49 am

It is no hack. They implement some missing functions based on ros code and thats it
Image
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

jihao1234567
Posts: 31
Joined: Wed Mar 18, 2009 7:53 am

Re: Interresting Website for ROS

Post by jihao1234567 » Sun Jul 28, 2013 4:14 pm

EmuandCo wrote:It is no hack. They implement some missing functions based on ros code and thats it
So you mean that the KernelEx is a kind of "improvement"? Why KernelEx isn't a hack but PAE is?

EmuandCo
Developer
Posts: 4346
Joined: Sun Nov 28, 2004 7:52 pm
Location: Germany, Bavaria, Steinfeld
Contact:

Re: Interresting Website for ROS

Post by EmuandCo » Sun Jul 28, 2013 8:26 pm

Because KernelEx just extends kernel with the the missing functions you need for more recent apps. It does not hack around any hardware side limitations.
PAE is of NO (tm) use at all for normal user mode apps. None of them is able to init more than 2GB RAM normally and 3GB with some nice tricks.
I don't see any reason to implement 36 bit addressing if it is not even useful for anything except some system mode services and apps.
Image
ReactOS is still in alpha stage, meaning it is not feature-complete and is recommended only for evaluation and testing purposes.

PurpleGurl
Posts: 1783
Joined: Fri Aug 07, 2009 5:11 am
Location: USA

Re: Interresting Website for ROS

Post by PurpleGurl » Mon Jul 29, 2013 1:08 am

EmuandCo wrote:Because KernelEx just extends kernel with the the missing functions you need for more recent apps. It does not hack around any hardware side limitations.
PAE is of NO (tm) use at all for normal user mode apps. None of them is able to init more than 2GB RAM normally and 3GB with some nice tricks.
I don't see any reason to implement 36 bit addressing if it is not even useful for anything except some system mode services and apps.
Yes, but using the 36-bit addressing would help people with older systems with more than 4Gb memory. XP originally supported it, and the server version does, I think. While programs cannot initialize more than 2 GB or so, not everyone uses just one large program at a time.

Post Reply

Who is online

Users browsing this forum: No registered users and 4 guests