Faculty banner

 
CITS2230 Operating Systems
Lecture schedule

CITS2230 Operating Systems lecture schedule (2009)

References are to Operating Systems: Internals and Design Principles, 5/e by William Stallings, and
Advanced programming in the UNIX environment by W. Richard Stevens (in Closed Reserve).

  1. Administrivia and introduction
    Introduction to operating systems, a whirlwind tour of operating systems' history.
    (see Stallings Sections 2.1-4, Sections 2.5-8 on UNIX and Windows-NT)

  2. A short introduction to C
    A brief introduction to C, presented as a refresher for some students and as a starter and guide to on-line resources for others.
    (see lecture handouts and online tutorial pages)

  3. An overview of computer hardware and processes
    How basic datatypes are stored inside a computer, how Boolean logical operators affect representation, datatype conversion, arithmetic overflow, the ASCII character set.
    Process creation, termination and suspension, process control structures and attributes, context switching, process suspension and swapping.
    (see Stallings Sections 1.1-5 and 3.1-4, Sections 3.5 and 4.4-5 on UNIX and Windows-NT)

  4. Operating systems services
    Library interfaces to system calls, status values returned from system calls, the execution environment of a process, creating a new process, waiting for process termination, running new programs, file I/O, sharing file I/O attributes, creating UNIX pipes, standard I/O libraries.
    (see Stevens Sections 3.1-10, 5.1-8)

  5. The memory hierarchy and memory management
    Disk, main memory, cache memory, and registers, dynamic partitioning, address relocation and translation, simple paging and segmentation schemes, referential locality. Virtual memory, detailed paging and segmentation schemes, replacement algorithms.
    (see Stallings Sections 1.6, 7.1-4, Section 8.1 excluding the Translation Lookaside Buffer, Section 8.2, 8.3-5 on UNIX and Windows-NT)

  6. Uniprocessor process scheduling
    Long-, medium-, and short-term scheduling, interactive .versus. batch scheduling, user and system oriented scheduling, scheduling strategies.
    (see Stallings Sections 9.1-4 excluding simulation)

  7. Input/output management
    I/O buffering, disk scheduling and caching, the evolution of I/O systems, programmed I/O, interrupt-driven I/O, Direct Memory Access (DMA) techniques.
    (see Stallings Sections 11.1-4)

    Project handed out Tuesday 1 September, due 11:59pm Thursday 22 October

    Non-teaching period - Saturday 5 September to Sunday 13 September

  8. Concurrency in operating systems
    Principles of concurrency, problems with concurrency, mutual exclusion and its implementation (semaphores, monitors, message passing), deadlock and its prevention, avoidance, and detection and recovery.
    (see Stallings Sections 5.1-6, 6.1-6)

  9. File systems
    Types of files, logical organization, naming schemes. physical organization, disk layout strategies, file system optimizations, file allocation methods, RAID systems.
    (see Stallings Section 11.5-6, Sections 11.8-10 on UNIX and Windows-NT, Sections 12.1, 12.3 and 12.6-9)

  10. Operating system protection and security
    Protection and security design principles, the Unix/Linux security model, properties of the Unix superuser, Unix groups, protection for Unix files and directories, The Windows-NT security model, access control lists (ACLs), access tokens and user rights, discretionary access control list, and access control and Windows-NT files.
    (see Stallings Sections 16.1-2, 16.6)
  11. Advanced inter-process communication
    Vectored I/O, overlapped and asynchronous I/O, named pipes, message queues, mailslots under Window-NT, shared memory.
    (see Stevens Sections 12.7-8, 14.6-7, 14.9)

  12. Review of Sample Examination Paper

  13. No lecture in Week 13

    Project due Thursday 22 October, 11:59pm


Visit the UWA Computer Science home page School of Computer Science & Software Engineering
The University of Western Australia
Crawley, Western Australia, 6009.
Phone: +61 8 9380 2716 - Fax: +61 8 9380 1089.
CRICOS provider code 00126G
Valid HTML 4.01!