louk@tslwat.UUCP (Lou Kates) (04/07/90)
In article <16870001@hpfinote.HP.COM> pnl@hpfinote.HP.COM (Peter Lim) writes: > > >>We also have OS/2 1.1 on the machine and it has 16 Megs of RAM. Do I have >>to switch to OS/2 to utilize the extra memory for an application. >>I have a program that is written in FORTRAN and it exceeds the 640 K limit. I >>am currently using MS FORTRAN 5.0. >> >>I have heard of DOS extenders, but aren't they supposed to be quite >>expensive? Would C be better for using the extra memory? > >Only expensive in the fact that they run better on 386(SX) machines because of >the edge the 386 architecture has over the 286 architecture. The basic DOS >extenders just put LIM EMS 4.0 memory to full use. If you have some EMS >memory already, then all you have to do is buy the program. > >^^^^^^^^^^^^^^^^^^^^^^^^^^ >I won't believe that totally. The DOS extender itself will easily cost > $400-$500 + debugger $100 + extender compiler $700-$1000 = $1500 >... There are a couple misconceptions in the above statements: 1. DOS extenders do NOT put EMS memory to use. DOS extenders use ordinary extended memory, not EMS (also known as expanded) memory. EMS is a paged memory scheme whereas DOS extenders give you a flat address space (not a paged address space) using extended, NOT EMS, memory. They do this by switching the processor into its native "protected" mode and switching back to the "real" mode that DOS runs in whenever you make a DOS call. You are confusing DOS extenders with memory managers like QEMM and 386-to-the-Max which are used to emulate EMS memory on an extended memory 386. 2. It can cost a lot less than indicated above since (a) you do not necessarily need a special compiler and (b) you don't even need a 386 -- some DOS extenders can use a 286. In particular if you already have 1. Microsoft C or FORTRAN compiler (we're talking about their regular old compiler, not a special extender compiler) or any of a few other popular compilers 2. a 286 (or 386) machine with MS-DOS all you need to get into extender technology (that will give you a flat 16 MB address space) is to get the Eclipse DOS extender for $495. If you need more info see February Computer Language Magazine for an ad and the address or look at the relevant article in this month's Byte at the end of which is the address. I have no connection with Eclipse. Lou Kates, Teleride Sage Limited, 519-725-0277, ...!watmath!looking!tslwat!louk
mcdonald@aries.scs.uiuc.edu (Doug McDonald) (04/07/90)
In article <158@tslwat.UUCP> louk@tslwat.UUCP (Lou Kates) writes: >In article <16870001@hpfinote.HP.COM> pnl@hpfinote.HP.COM (Peter Lim) writes: >> >> >>>We also have OS/2 1.1 on the machine and it has 16 Megs of RAM. Do I have >>>to switch to OS/2 to utilize the extra memory for an application. >>>I have a program that is written in FORTRAN and it exceeds the 640 K limit. I >>>am currently using MS FORTRAN 5.0. >>> >>>I have heard of DOS extenders, but aren't they supposed to be quite >>>expensive? Would C be better for using the extra memory? >> >>Only expensive in the fact that they run better on 386(SX) machines because of >>the edge the 386 architecture has over the 286 architecture. The basic DOS >>extenders just put LIM EMS 4.0 memory to full use. If you have some EMS >>memory already, then all you have to do is buy the program. >> >>^^^^^^^^^^^^^^^^^^^^^^^^^^ >>I won't believe that totally. The DOS extender itself will easily cost >> $400-$500 + debugger $100 + extender compiler $700-$1000 = $1500 >>... > >There are a couple misconceptions in the above statements: > >1. DOS extenders do NOT put EMS memory to use. DOS extenders > use ordinary extended memory, not EMS (also known as > expanded) memory. EMS is a paged memory scheme whereas DOS > extenders give you a flat address space (not a paged address > space) using extended, NOT EMS, memory. They do this by > switching the processor into its native "protected" mode and > switching back to the "real" mode that DOS runs in whenever > you make a DOS call. You are confusing DOS extenders with > memory managers like QEMM and 386-to-the-Max which are used > to emulate EMS memory on an extended memory 386. > DOS extenders for use on **386's** do indeed do that. But for use under **286s** you most emphatically do NOT get a **flat** address space. It is still segmented. It still has all the problems that the 8086 dies - plus a new, added one: you have to jump through hoops to access data as code or code as data. The brain-dead protected mode of the '86s (any of them) makes it impossible to mark the same segment as both data and code. This is not a problem with the 386 because one normally simply uses the "Tiny" model where the code and data segments start at the same place in physical memory, so a code address and the data address of the same memory location are the same - and you have up to a gigabyte of code and data. But is IS a problem on the 286, eith its teensy segments. Doug McDonald