Re: [Freedos-user] FreeDOS Memory
Hi Bernd, everybody, let me add some more comments to this interesting DOS thread and wish everybody a happy 2012 as well... :-) 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? If you have 4 GB or more, many mainboards will map your graphics card RAM etc to the end of the first 4 GB, so you only see e.g. 3.5 GB RAM when looking at the first 4 GB. Also, almost no DOS software looks beyond this 32 bit limit (another mail mentions an DOS/32A PAE update) so if you have 12 GB, DOS apps still only see 3.5 GB. On the other hand, many old Windows versions crashed if you had more than, say, 256 MB (0.25 GB) of RAM unless you tweaked some things. DOS does NOT have any problem. However, some ANCIENT apps might crash, some already if you have only 32 MB (!) or more. DOS memory drivers such as HIMEMX have configuration options to make only a bit of your memory visible to solve that sort of problem :-) In general, 32 bit DOS apps will easily use many MB or even a GB or more if you have it. Whether you have any apps that NEED so much memory - I doubt it. People tend to use memory for huge RAMDISKs or huge disk caches, so the memory does not stay empty and bored... ;-) 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? This is more a problem of DOS apps than of DOS as the operating system. You can load drivers, kernel and so on into UMB and HMA to have more of the DOS 640k free but on the other hand, 32 bit apps using DOS extenders will use XMS (or EMS or other) memory anyway and you have PLENTY of that so it does not matter how much of your DOS 640k are free for those. 3. Does it support usage of a swap file/partition? DOS itself neither needs nor supports that, but again for 32 bit apps, the DOS extender MAY support a swap file, depending on the extender. For example CWSDPMI, DOS32A and DOS4GW are DOS extenders: They help 32 bit apps to interact with the 16 bit standard interfaces of all brands of DOS and they help the apps to manage megabytes or gigabytes of memory and sometimes swap. Regards, Eric PS: The FreeDOS spin-of FD32 is a DOS with a built-in DOS extender, which is somewhat exotic but slightly faster than classic DOS with separate DOS extenders. PPS: JEMMEX is an EMM386 with a built-in HIMEM, which is a bit exotic but smaller/faster than HIMEM+EMM386. -- Ridiculously easy VDI. With Citrix VDI-in-a-Box, you don't need a complex infrastructure or vast IT resources to deliver seamless, secure access to virtual desktops. With this all-in-one solution, easily deploy virtual desktops for less than the cost of PCs and save 60% on VDI infrastructure costs. Try it free! http://p.sf.net/sfu/Citrix-VDIinabox ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
[Freedos-user] FreeDOS Memory
Hi 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? 3. Does it support usage of a swap file/partition? -- Regards Koh Choon Lin -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
At 11:08 AM 12/27/2011, Koh Choon Lin wrote: Hi 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? 3. Does it support usage of a swap file/partition? FreeDOS is an MS-DOS 6.00 clone, a 16bit operating system, so it will by itself only support 1MB (or 640KB as you mentioned), just as MS-DOS. More than that can only be access by use of an XMS or EMS compatible memory manager. And due to all this, there simply is not a need for any swap file/partition (though some memory manager might create/use one)... Ralf -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
Op 27-12-2011 20:08, Koh Choon Lin schreef: Hi 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? Yes you'll be limited to a maximum of 4GB if you have 4GB or more. In practice this maximum could be anywhere between 2GB and 4GB (usually 3.3GB or 3.5GB) due to PCI chipset device mapping into the top of memory. 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? yes. To access beyond 640KB load a driver (XMGR, HIMEMX, whatever) to access extended memory (XMS). 3. Does it support usage of a swap file/partition? Not by itself. DJGPP programs seem to support a swapfile if CWSDPMI is being used as extender. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
Hi 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? Thanks for all the fast replies. I think my question is misunderstood. Load high is a MS-DOS technique to load drivers in the upper memory to save conventional memory. I remembered 20 years ago there were many attempts to free up as much conventional memory as possible. Like to ask if FreeDOS comes with memmaker too? -- Regards Koh Choon Lin -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? Yes you'll be limited to a maximum of 4GB if you have 4GB or more. In practice this maximum could be anywhere between 2GB and 4GB (usually 3.3GB or 3.5GB) due to PCI chipset device mapping into the top of memory. On older or uncomplicated mainboards, PCI should not take that many addresses. And yes, no one ever vioced any serious interest about more than 4-GB of memory, so Japheth and I never pursued it in HIMEMX or XMGR. Can be done, but it requires strong agreement on all the conventions used for the two drivers to access over 4-GB of XMS. 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? yes. To access beyond 640KB load a driver (XMGR, HIMEMX, whatever) to access extended memory (XMS). In fact, one needs an XMS driver (XMGR, HIMEMX, MS-DOS HIMEM, etc.) and an upper-memory provider driver (JEMM386, MS-DOS EMM386, etc.). The combined JEMMEX can also be used. If one uses only real mode, the UMBPCI driver can enable Shadow RAM (BIOS usage) as upper-memory, and XMGR can then provide that memory to DOS. No need for EMM drivers in that case, but note that UMBPCI may not run with all newer chipsets. The main point is that an XMS driver by-itself does NOT provide upper memory to the DOS system. This is done by the EMM driver, or by the specific UMBPCI/XMGR combination. [If XMGR does not find Shadow RAM enabled by UMBPCI, it works the same as HIMEMX/HIMEM and waits for an EMM driver to enable conventional upper-memory]. -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
At 11:49 AM 12/27/2011, Koh Choon Lin wrote: Hi 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? Thanks for all the fast replies. I think my question is misunderstood. Load high is a MS-DOS technique to load drivers in the upper memory to save conventional memory. I remembered 20 years ago there were many attempts to free up as much conventional memory as possible. The same still applies for FreeDOS today. As I already mentioned, FreeDOS is an MS-DOS 6.00 clone. Like to ask if FreeDOS comes with memmaker too? No. Ralf -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
Hi, You've already got some good replies, but I'll try to add my (incomplete) knowledge for completeness (corrections welcome). On Tue, Dec 27, 2011 at 1:08 PM, Koh Choon Lin 2choon...@gmail.com wrote: 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? FreeDOS can run on any x86 machine with a BIOS. Hence, 8088 can only access 1 MB (typically 640 kb minus DOS system itself) not counting EMS, 286 only goes up to 16 MB, 386 only to 2 / 3 / 4 GB (in theory), not counting PAE (PPro / i686). KERNEL.SYS doesn't handle anything outside 1 MB (I think?), so you have to use HIMEMX (or similar, e.g. XMGR, FDXMS286) and/or JEMM386 to access more (or enable unreal mode on 386+). Your apps themselves must be aware of such things, e.g. XMS, EMS, etc. to access it, so they won't all magically work. DPMI typically piggybacks atop raw, XMS, VCPI, or (another) DPMI host if found. Different ones have different limits. In particular, I've seen different effects in CWSDPMI r5, HDPMI32, CWSDPMI r7. CWSDPMI r5 is older and doesn't use 4 MB [586+] pages, hence it's slower and slightly more outdated (barely), so I'd suggest r7. This machine here has 6 GB, but r5 reports 1.8 GB, HDPMI32 reports 2.6 GB, and r7 reports 4 GB. But with r7, GCC 4.6.2 chokes somewhere when trying to allocate 400+ MB of RAM for -O2 optimizations (silly compiler), so that may be a rare bug (hopefully to be looked into eventually, but CWS is a busy genius, heheh). I have almost never allocated anywhere near 1 GB of RAM by myself. I think paq8o8z -8 will use approx. 1.5 GB (slowly), but beyond that, I don't know. I think CWS told me that you should use sbrk() directly if accessing more than 2 GB of RAM. I'm not sure how to do it as presumably most people never bothered and a lot of things (malloc?) just assumed 2 GB limits. There is an experimental PAE version of DOS/32A 9.1.2 (OpenWatcom extender), but I've never tried it. Again, I have no idea what the libc will do if you try allocating too much, and esp. PAE is beyond me (only access 4 GB at a time out of total 64 GB??). 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? The only limitations are DOS and your DOS apps, so it depends on what each one wants. Yes, traditionally, it still has to (partially) run in low RAM, so you'll want to save space. Without XMS (286+) loaded, you'll only get approx. 400 kb free (and should use vspawn + FreeCOM), otherwise (using XMS_Swap FreeCOM) you should get about 600 kb. That should be enough for almost anything (not counting extended RAM, as even most DOS apps assume it nowadays). 3. Does it support usage of a swap file/partition? Not exactly. There is no dedicated swap partition, and there is no central memory manager. However, some DOS extenders support virtual memory. DOS/4GW 1.97 supports like 32 MB, I think??, and Causeway can support similar too. CWSDPMI will swap (in theory) and is probably the best (most common too), but it doesn't always work on every machine (e.g. 4 GB free, 0 kb swap free, which is weird, as even r5 shows some swap space available). So it depends on how much HD you have free on your pre-existing FAT drive (usually C:\ and often hardcoded but sometimes can be configured, e.g. CWSPARAM or cwsdpmi -sd:\). -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user
Re: [Freedos-user] FreeDOS Memory
On Tue, Dec 27, 2011 at 2:08 PM, Koh Choon Lin 2choon...@gmail.com wrote: 1. Would like to ask how much memory does FreeDOS support, e.g. 4 GiB? It's an open source clone of MS-DOS, which is a 16 bit real mode OS. It can see up to one megabyte of RAM as usable memory. Beyond that, you must load HIMEM.SYS and possible EMM386.EXE to get access to XMS or EMS. I have FreeDOS on an old notebook with 256MB RAM, and use XMS memory to support a ramdisk and a cache. 2. Does it faces 640 KiB limitation as MS-DOS, e.g. Do I have to load high drivers to save on conventional memory? Yes. 3. Does it support usage of a swap file/partition? No, and doesn't really need one. It's not a virtual memory OS. Regards Koh Choon Lin __ Dennis -- Write once. Port to many. Get the SDK and tools to simplify cross-platform app development. Create new or port existing apps to sell to consumers worldwide. Explore the Intel AppUpSM program developer opportunity. appdeveloper.intel.com/join http://p.sf.net/sfu/intel-appdev ___ Freedos-user mailing list Freedos-user@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/freedos-user