Path: utzoo!utgpu!utstat!jarvis.csri.toronto.edu!mailrus!cornell!rochester!udel!mmdf From: Leisner.Henr@xerox.com (marty) Newsgroups: comp.os.minix Subject: Re: PC Minix/64KB limit Message-ID: <8832@louie.udel.EDU> Date: 15 Feb 89 19:17:26 GMT Sender: mmdf@udel.EDU Lines: 54 Once again, the Minix-PC memory models raises it's ugly face. Without even mentioning the effort required to write a more complicated 80x86 C compiler which can support near and far data types, all of Minix runs on the implicit assumption all message data is in the data segment. I don't like it, but that's the way it is. Without doing much modification to the a.out header structure, I wanted to define a large data model which would allow: <= 64 K text <= 64 K data <= 64 K stack infinite (well, almost) number of 64K additional segments. Assuming we have some way of memory management subroutines and a new, improved malloc for this large data model (something similar to the way 286/unix works) the operating system has to run with 32 bit virtual addresses -- there is an implicit assumption in Minix that messages are addressed in the data segment and 16 bit pointers are used. Would the above architecture allow more complicated programs? It seems with a decent C comiler, 64k of text is enough for a lot. Also, the above architecture would allow support for: 1) shared memory segments 2) embedding strings in the text segment On protected mode 286 machines, the stack could also grow dynamically up to 64k. In addition, protected mode implementation can give individual processes huge amounts of heap space (provided there is enough ram) without resorting to swapping. In addition, the memory manager/kernel interface has to be rearchitected, along with how memory manager information is encoded (right now we have NR_SEGS in const.h). I'm not sure the changes necessary to fully support the 8086 family is worth it. On a 32 bit 68xxx or 32bit 386 version, all these problems go away. I suppose due to the size of the market, the Ms/Dos compiler vendors have a lot of incentive to make the Intel architecture do more. Does anyone have a copy of PC-Minix which uses 32bit pointers within the operating system? I looked at it and felt it would cause distributed changes to the whole system -- I never got around to it. marty ARPA: leisner.henr@xerox.com GV: leisner.henr NS: martin leisner:wbst139:xerox UUCP: hplabs!arisia!leisner