The Unix Heritage Society mailing list
 help / color / mirror / Atom feed
* [TUHS] 1st Edition UNIX syscalls
@ 2008-05-18  7:58 Warren Toomey
  2008-05-29 11:15 ` Warren Toomey
  0 siblings, 1 reply; 2+ messages in thread
From: Warren Toomey @ 2008-05-18  7:58 UTC (permalink / raw)


Working with the 1st Edition UNIX code has been a blast. I just thought I'd
quickly summarise the features of the 1st Edition. It's quite amazing the
system that had been written by the end of 1971:

- a multitasking system with up to 16 processes
- multiple users
- a hierachical filesystem, with empty directories used as mountpoints
- read/write file protection for user/other (no group), plus the
  execute and set-userid bits
- i-nodes, and filenames separated from i-nodes, allowing hard links
- device files

Just as interesting is the fact that, out of the 33 system calls in 1st
Edition UNIX, only one has disappeared completely from modern UNIXes;
four have merged into signal(), and a few have morphed into other syscalls:

V1_RELE    0    /* release the CPU, i.e. pre-empt this process */
V1_EXIT    1    exit()
V1_FORK    2    fork()
V1_READ    3    read()
V1_WRITE   4    write()
V1_OPEN    5    open()
V1_CLOSE   6    close()
V1_WAIT    7    wait()
V1_CREAT   8    open(path, O_CREAT | O_TRUNC | O_WRONLY, mode);
V1_LINK    9    link()
V1_UNLINK  10   unlink()
V1_EXEC    11   exec()
V1_CHDIR   12   chdir()
V1_TIME    13   gettimeofday()
V1_MKDIR   14   mkdir()
V1_CHMOD   15   chmod()
V1_CHOWN   16   chown()
V1_BREAK   17   brk()
V1_STAT    18   stat()
V1_SEEK    19   lseek()
V1_TELL    20   lseek(fd, 0, SEEK_CUR);
V1_MOUNT   21   mount()
V1_UMOUNT  22   umount()
V1_SETUID  23   setuid()
V1_GETUID  24   getuid()
V1_STIME   25   settimeofday()
V1_QUIT    26   signal(SIGQUIT,...)
V1_INTR    27   signal(SIGINT,...)
V1_FSTAT   28   fstat()
V1_CEMT    29   signal(SIGEMT,...)
V1_SMDATE  30   utimes()
V1_STTY    31   fcntl(), tcsetattr()
V1_GTTY    32   fcntl(), tcgetattr()
V1_ILGINS  33   signal(SIGILL,...)

The fact that we are still using these system calls today speaks volumes
for the original design.

Cheers,
	Warren



^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2008-05-29 11:15 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2008-05-18  7:58 [TUHS] 1st Edition UNIX syscalls Warren Toomey
2008-05-29 11:15 ` Warren Toomey

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).