[comp.os.minix] PC Minix Memory Models

dpi@loft386.uucp (Doug Ingraham) (06/12/90)

In article <21641@nigel.udel.EDU>, V2057A%TEMPLEVM.BITNET@cornellc.cit.cornell.edu (Juan Jose Noyles) writes:
> 
> I'm a little confused here.  Does the compiler determine the MINIX memory
> model, or is it something else?  If it is the compiler, does this mean that
> I could recompile in under Turbo-C, for example, using its ability to choose
> different models?  If not, how can I select a different model?

The Minix C compiler system can generate either combined I&D (Instruction &
Data) or separate I&D load files.  The operating system knows about both
kinds of load files.  If you generated a Huge, Large, Medium, or Compact
model program you would have to modify Minix to understand about these very
strange looking things.  Modifying the OS to support the other models wouldn't
seem to be that difficult.  But without a native compiler that could generate
those formats you would be spending all your time cross compiling, cross
assembling, cross linking.  It would also be slower to execute and having
programs that large would prevent you from multitasking because only 1
could fit in 640k with the OS + Ramdisk.

What bothers people most about the 64K I & 64K D space limitation?  Is
it the 64K Instruction or the 64K Data?  If it is the instruction limit
that is less of a problem.  We could implement a form of Shared Library
where all the library routines that are used by the Kernel+MM+FS and any
other routines used by the vast majority of the commands would be in its
own 64k space.  I call this a Global Shared Library.  If it is the 64K
Data as I suspect then there is no good easy solution.

In addition to the idea of the Global Shared Library I would like to
see shared Text.  Perhaps someone might assign this as a class project
next Fall so that it could get into version 2.  Both of these things
would benefit users of other CPU's as well.

-- 
Doug Ingraham (SysAdmin)
Lofty Pursuits (Public Access for Rapid City SD USA)
uunet!loft386!dpi

CELSO%SBU.UFRGS.ANRS.BR@uicvm.uic.edu (06/13/90)

 Doug Ingraham <dpi@LOFT386.UUCP> writes:

> What bothers people most about the 64K I & 64K D space limitation?  Is
> it the 64K Instruction or the 64K Data?  If it is the instruction limit
> that is less of a problem.  We could implement a form of Shared Library
> where all the library routines that are used by the Kernel+MM+FS and any
> other routines used by the vast majority of the commands would be in its
> own 64k space.  I call this a Global Shared Library.  If it is the 64K
> Data as I suspect then there is no good easy solution.
>
> In addition to the idea of the Global Shared Library I would like to
> see shared Text.  Perhaps someone might assign this as a class project
> next Fall so that it could get into version 2.  Both of these things
> would benefit users of other CPU's as well.

     Some  time  ago (by the end of January),  I posted  difs  to
implement   shared   text   on   PC-Minix   1.1.    Robert   Regn
<uniwue!regn@relay.EU.net>  from Wuerzburg  University,  Germany,
ported  the difs to 1.3 PC on a class project.  He sent me a copy
of  his  version,  so if somebody want the  dif  files,  I  would
deliver a copy.

Valdir Rossi Belmonte

BITNET: celso@sbu.ufrgs.anrs.br
        celso%sbu.ufrgs.anrs.br@brfapesp.bitnet
        celso%sbu.ufrgs.anrs.br@lbl.gov

UFRGS - Federal University of Rio Grande do Sul
Porto Alegre, BRAZIL

jca@pnet01.cts.com (John C. Archambeau) (06/13/90)

dpi@loft386.uucp (Doug Ingraham) writes:
>What bothers people most about the 64K I & 64K D space limitation?  Is
>it the 64K Instruction or the 64K Data?  If it is the instruction limit
>that is less of a problem.  We could implement a form of Shared Library
>where all the library routines that are used by the Kernel+MM+FS and any
>other routines used by the vast majority of the commands would be in its
>own 64k space.  I call this a Global Shared Library.  If it is the 64K
>Data as I suspect then there is no good easy solution.

It's the fact that a lot of what I use will not function in that type of
memory model.  XBBS, Elm, etc. won't work in the small memory model.  Even GCC
won't work...which is obvious after Bruce Evans statement on the chmem
requirements of GCC on his 32-bit kernel.  That and GCC can't generate code
that the 8086 or 80286 understands with respect to breaking things up into
segments.  Try and compile X11R4, that won't compile either and the complete
source is about 60 or so Mb.  What a lot of us who are bothered by the memory
model problem want is either a large model 86/286 Unix (ala MicroPort SysV/AT)
or a 386 System V/R3.

There are people who agree with me on this issue and I will be one of the
first to admit that there's no easy way to deal with the problem at hand on a
80x86 (x < 3), but it has been done.  That's my peeve against MWC and Coherent
and my peeve against Minix until I try out the 32-bit kernel which may be very
shortly if I get a bigger hard drive.

Minix ST cuts it just fine, but PC...bah...
 
     // JCA

 /*
 **--------------------------------------------------------------------------*
 ** Flames  : /dev/null                     | Small memory model only for
 ** ARPANET : crash!pnet01!jca@nosc.mil     | Unix?  Get the (*bleep*) out
 ** INTERNET: jca@pnet01.cts.com            | of here!
 ** UUCP    : {nosc ucsd hplabs!hd-sdd}!crash!pnet01!jca
 **--------------------------------------------------------------------------*
 */

ghelmer@dsuvax.uucp (Guy Helmer) (06/13/90)

In article <21816@nigel.udel.EDU>, CELSO%SBU.UFRGS.ANRS.BR@uicvm.uic.edu writes:
> 
>  Doug Ingraham <dpi@LOFT386.UUCP> writes:
> 
> > [...]
> > In addition to the idea of the Global Shared Library I would like to
> > see shared Text.  Perhaps someone might assign this as a class project
> > next Fall so that it could get into version 2.  Both of these things
> > would benefit users of other CPU's as well.
> 
>      Some  time  ago (by the end of January),  I posted  difs  to
> implement   shared   text   on   PC-Minix   1.1.    Robert   Regn
> <uniwue!regn@relay.EU.net>  from Wuerzburg  University,  Germany,
> ported  the difs to 1.3 PC on a class project.  He sent me a copy
> of  his  version,  so if somebody want the  dif  files,  I  would
> deliver a copy.

I used to have that diff set, but deleted it when I started moving up to
Minix 1.5.  Has anyone ported the diffs for shared text to Minix 1.5.10?

> Valdir Rossi Belmonte



-- 
Guy Helmer                             ...!bigtex!loft386!dsuvax!ghelmer
DSU Computing Services         ghelmer@dsuvax.uucp,  helmer@sdnet.bitnet
           Small is beautiful, but looks aren't everything...