Path: utzoo!utgpu!watserv1!watmath!att!linac!pacific.mps.ohio-state.edu!zaphod.mps.ohio-state.edu!usc!snorkelwacker.mit.edu!bloom-beacon!eru!hagbard!sunic!mcsun!tuvie!vmars!hp From: hp@vmars.tuwien.ac.at (Peter Holzer) Newsgroups: comp.os.minix Subject: Re: Help needed with MINIX scheduler Message-ID: <2186@tuvie.UUCP> Date: 29 Nov 90 14:24:47 GMT References: <454@decvax.decvax.dec.com.UUCP> Sender: news@tuvie.UUCP Lines: 27 paradis@crater.zk3.dec.com (Jim Paradis) writes: >Oh, one other question: Is there any reason (other than the >implementation of brk() and a few other things) why DS and SS can't >be in separate segments? It would be really nice to be able to make >two separate, expandable segments and not have to bother with "chmem" >anymore... The only reason I can think of is that you would not want to have far pointers. A flat address space is easier to handle both at compile and run time as compilers usually have trouble with pointers that are split over two registers and reloading segment registers rather expensive. On the other hand, shared libraries are much easier to implement if you have a segmented address space. The chmem problem will be almost non-existent once we have paging. Just chmem all programs to more than your physical memory size (RAM + page/swap-space) and heap and stack can never collide. Since you are mapping pages only when they are referenced they will even need less space than they do now. -- | _ | Peter J. Holzer | Think of it | | |_|_) | Technical University Vienna | as evolution | | | | | Dept. for Real-Time Systems | in action! | | __/ | hp@vmars.tuwien.ac.at | Tony Rand |