What kinds of things would you want in the GNU OS?

Leslie Mikesell les at chinet.chi.il.us
Fri May 26 02:34:32 AEST 1989


In article <106326 at 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



More information about the Comp.unix.wizards mailing list