SFT3001

UNIX system call programming

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

Back to the 1999 Information Technology Handbooks