Authorised by Academic Registrar, April 1996
Objectives At the completion of this subject students should have some understanding of the design and implementation of the UNIX operating system; be proficient in using the system call interface provided by the UNIX kernel; and be able to write concurrent cooperating programs in a multi-user environment.
Synopsis Introduction: the UNIX philosophy of simplicity; the broad design of the UNIX system. Basic concepts: the file; directories and pathnames; ownerships and permissions; processes; inter-process communication; system calls. The file in detail: UNIX file access primitives. The file in context: files in a multi-user environment; files with multiple names; obtaining file information; directories, file systems and special files. Directories: the implementation of a directory; programming with directories; UNIX file systems; UNIX special files. The process: creating processes; synchronising processes; process attributes; example of a command processor. Interprocess communications using the system V features: recording locking; system V IPC facilities; semaphores; message queues, shared memory. The terminal: changing terminal characteristics.
Assessment Examinations: 40% + Assignment: 40% + Tutorial papers: 20%