Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!purdue!haven!adm!xadmx!aglew@xenurus.gould.com From: aglew@xenurus.gould.com Newsgroups: comp.unix.wizards Subject: Re: What kinds of things would you want in the GNU OS? Message-ID: <19813@adm.BRL.MIL> Date: 31 May 89 11:40:40 GMT Sender: news@adm.BRL.MIL Lines: 34 I missed the original post (was away for a week). Was somebody seriously asking for a wishlist? If so, here's a limited list, items deliberately chosen to be simple, obtainable, yet just beyond present day UNIX: ==> The kernel should have no knowledge whatsoever of file types, except for one, and only one, executable format. IE. there should be none of that COFF/adb/SOFF stuff in exec(). There should be system calls to read text, code, from a file, change that code to be execute permitted and read-only, and then branch to that code, removing (otionally) the segment or stub that bootstrapped. With these primitives arbitrary executable file formats could be implemented, in user space. ==> "Real time" scheduling features: fixed priority scheduling, etc. A scheduler that uses only strict priority as a means of deciding what process to run next; this is combined with a "priority migration policy" to produce any type of scheduling you want. ==> Asynchronous I/O: True asynch I/O operations as underlying primitives; synch I/O implemented as ioid = asynch_read(fd,buf,nbytes); asynch_iowait(ioid); rather than the abominable approach of implementing asynchronous I/O via IPC to a limited number of kernel processes that do synch I/O. ==> High res clock