CITS2002 Systems Programming  
 

Unit home

Project 1

help2002

Lecture & Workshop
recordings on LMS

Schedule

FAQ

Unit outline

C textbooks

OS textbooks

Information resources


Extra reading

Past projects

Recent feedback


Working effectively

Look after yourself!

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: www.booko.com.au

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.
July, 2023.

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
2018
Support website.
cover Modern Operating Systems, 5th ed
Andrew Tanenbaum
Publisher: Prentice-Hall
ISBN-13: 978-9332575776
1136 pages
2016
cover Operating System Concepts, 9th ed
Abraham Silberschatz, Peter B. Galvin, Greg Gagne
Publisher: Prentice-Hall
ISBN-13: 978-1118063330
944 pages
2012

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
2013
cover The Linux Programming Interface
Michael Kerrisk
Publisher: No Starch Press
ISBN: 978-1-59327-220-3
1552 pages
2010
cover Advanced UNIX Programming, 2nd ed
Mark J. Rochkind
Publisher: Addison-Wesley
ISBN: 978-0321637734
1024 pages
2004
cover Advanced Programming in the UNIX Environment, 3rd ed
W. Richard Stevens and Stphen Rago
Publisher: Addison-Wesley
ISBN: 978-0321637734
1024 pages
2013
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
2013

The University of Western Australia

Computer Science and Software Engineering

CRICOS Code: 00126G
Presented by [email protected]