From mboxrd@z Thu Jan 1 00:00:00 1970 From: andreww591@gmail.com (Andrew Warkentin) Date: Mon, 25 Sep 2017 05:48:26 -0600 Subject: [TUHS] UNIX of choice these days? In-Reply-To: References: <20170923091704.GD10152@darioniedermann.it> <20170924140617.GG28606@mcvoy.com> <20170924203621.GA80203@wopr> <49B7FCB8-A086-4FFB-AF3B-4B3BD167EC54@bitblocks.com> Message-ID: On 9/25/17, Steve Nickolas wrote: > > If I were designing an OS, only the bare minimum number of system calls > would be implemented in the kernel (stuff like open, close, seek, read, > write, and create/kill process) and everything else would be implemented > in library... I don't know how that would stack up against Unix in the > day, or *x these days, but I daresay it probably would have fewer system > calls than MS-DOS 2.0. > That's basically the way the OS I'm writing will work. Actually it will go further than that. It will be microkernel-based, with read, seek, write, fcntl, and a function for servers to return an error status (there will also be a "clunk" message type but it will only be generated by the VFS when the last process closes a file and won't have a corresponding function) as the only true primitives. There will be a couple extra variants of read and write that map onto L4 IPC more closely, although they will interoperate with the traditional versions. open, close, stat, unlink, fork, _exit, some pthreads-related functions, and several other (mostly file-related) functions will appear to be primitives although they will be implemented as RPC messages over a permanently-open anonymous FD (connected to the process server, which will implement memory/process management, the basic VFS, procfs, and a few variants of in-memory filesystems). All other "system calls" will be implemented on top of the normal filesystem (signals, security, and process state stuff will use procfs).