Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!rutgers!att!chinet!les From: les@chinet.chi.il.us (Leslie Mikesell) Newsgroups: comp.unix.wizards Subject: Re: What kinds of things would you want in the GNU OS? Message-ID: <8553@chinet.chi.il.us> Date: 25 May 89 16:34:32 GMT References: <106326@sun.Eng.Sun.COM> Reply-To: les@chinet.chi.il.us (Leslie Mikesell) Organization: Chinet - Public Access Unix Lines: 59 In article <106326@sun.Eng.Sun.COM> bitbug (James Buster) writes: >What kinds of things should be in the GNU Kernel? >What kinds of features or design rationale should it use? >For instance: >File system: SysV vs Berkeley? Something better? > Embedded file types? >32-bit file offsets? Virtual file systems of course, with support for SysV/BSD/Xenix and MSDOS (extendable to anything that can provide reasonable answers to opendir/readdir, etc.) >Security: ACLs? Get rid of root? Security monitors? Auditing? > Provably secure(A1)? Basic unix rwx built-in, plus per-filesystem switch controlling support for setuid bits on that fs (allowing user-level mounts of removable media). >Scheduler: Real-time support? Task-driven? Event driven? > Direct brain hookups:-)? Add a per-user CPU quota such that multiple processes started by the same user could only take a specified total of system resources. >Virtual Memory: Should GNU run on non-VM machines? Algorithm ideas? > How general (map *everything* into VM space, like Multics)? > Shared libraries? Why bother with anything that can't do VM? Put everything but the scheduler and swapper into VM space, allow shared text, copy-on-write forks, shared libraries and sharable data space. Allow processes to lock certain areas of themselves into real non-swapped memory if they need to approximate real-time response. Provide tools to generate a load image that will optimize VM usage by profiling a sample run and generating a new load map that would minimize the VM activity. >Networking: NFS? RFS? Something better? > Interfaces: Streams? TLI? Something better? > TCP/IP? OSI? SAA/SNA:-)? > RPC Services? What kind? All of the above, as user-loadable add-ons. Hide NFS/RFS behind a virtual file system. The kernel should only know about the network device with other support in user space. >Overall Design: What nice ideas from other OSes could we use? > Multics? VMS? VM? DG/OS? > Fault tolerance? How about the ability to do a reasonable backup with the ability to restore the machine to various states (restore system to installed state -including programs that happen to be running-, restore non-system files only, restore modified system files only, etc.). There should be a mechanism to optimize disk locations during a restore. Since there will be no limitations on the distribution of a copy of GNU it should be made convienient to make a system image and duplicate it without having to go through all the steps for each machine. Les Mikesell