Not offered in 1999
6 points - 3 hours per week - Second semester - Caulfield - Prerequisites: SFT1102 or SFT2121 - Prohibitions: CFR3111, RDT2141
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%
Recommended texts
Haviland K and Salama B UNIX system programming
Addison-Wesley, 1988
Stevens W R Advanced programming in the UNIX environment Addison-Wesley,
1993