CITS2002 Systems Programming  

Unit home

Lecture & Workshop
recordings on LMS



C textbooks

OS textbooks

Information resources

Extra reading

Past projects

Recent feedback

Working effectively

Some recommended (not required) books on Operating Systems:

No specific text on operating systems is required for this unit. There are a number of very well respected operating system textbooks and authors, and reading relevant sections from any of these texts will certainly benefit your understanding of operating systems. While this page lists the most recent editions of some textbooks, and these editions have the advantage of being the most up-to-date and having past errors corrected, past editions of these texts (up to 5-8 years old), found in libraries or purchased second-hand, will be very suitable.

You may like to read a review of any book you are considering. Online bookstores, such as Amazon, also include many reviews by their customers.

A great book price+shipping comparison website:

Excellent free textbooks covering selected Operating Systems topics:

cover Dive into Systems
Suzanne J. Matthews, Tia Newhall, and Kevin C. Webb.
This work is licensed under the CC BY-NC-ND 4.0 License.

Dive into Systems is a free, online textbook that serves as a gentle introduction to computer systems, computer organization, and parallel computing.

  • how a computer runs a program, from a program expressed in a high-level language to low-level binary representation and circuits
  • programming in C and Assembly, assuming a Python CS1 background
  • introduction to operating systems and the systems costs that affect program performance (the memory hierarchy, caching, and code optimization)
  • introduction to parallel computing with shared memory and pthreads

cover Operating Systems: Three Easy Pieces
Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau, and Peter Reiher.
Arpaci-Dusseau Books
August, 2018 (Version 1.00)

The book is centered around three conceptual pieces that are fundamental to operating systems: virtualization, concurrency, and persistence. In understanding the conceptual, you will also learn the practical, including how an operating system does things like schedule the CPU, manage memory, and store files persistently.

(disturbing, but the book has its own merchandise)

Excellent first textbooks on Operating Systems:

cover Operating Systems: Internals and Design Principles, 9th Edition
William Stallings
Publisher: Prentice-Hall
ISBN-13: 978-0134670959
800 pages
Support website.
cover Modern Operating Systems, 5th ed
Andrew Tanenbaum
Publisher: Prentice-Hall
ISBN-13: 978-9332575776
1136 pages
cover Operating System Concepts, 9th ed
Abraham Silberschatz, Peter B. Galvin, Greg Gagne
Publisher: Prentice-Hall
ISBN-13: 978-1118063330
944 pages

Some advanced books on Operating Systems:

cover Computer Organization and Design, Fifth Edition: The Hardware/Software Interface
David A. Patterson and John L. Hennessy
Publisher: Morgan Kaufmann
ISBN: 978-0124077263
800 pages
cover Advanced UNIX Programming, 2nd ed
Mark J. Rochkind
Publisher: Addison-Wesley
ISBN: 978-0321637734
1024 pages
cover Advanced Programming in the UNIX Environment, 3rd ed
W. Richard Stevens and Stphen Rago
Publisher: Addison-Wesley
ISBN: 978-0321637734
1024 pages
cover Linux System Programming: Talking Directly to the Kernel and C Library, 2nd ed
Robert Love
Publisher: O-Reilly Media
ISBN: 978-1449339531
456 pages

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]