Operating Systems: Three Easy Pieces
by Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau
Publisher: University of Wisconsin 2013
Number of pages: 717
The three easy pieces refer to the three major thematic elements the book is organized around: virtualization, concurrency, and persistence. In discussing these concepts, we'll end up discussing most of the important things an operating system does.
Home page url
Download or read it online for free here:
(multiple PDF files)
by Allen B. Downey - Green Tea Press
A textbook that introduces the principles of synchronization for concurrent programming. It identifies patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions.
by Mark Burgess
The lecture notes that cover most of the basic topics of operating systems: key concepts, single-task OS, multi-tasking and multi-user OS, processes and thread, memory and storage, networks - services and protocols, TCP/IP, security considerations.
by Samy Pesse - GitHub
Online book about how to write a computer operating system in C/C++ from scratch. The goal is to build a very simple UNIX-based operating system, not just a 'proof-of-concept'. The OS should be able to boot, start a userland shell, and be extensible.
by Amit Singh - kernelthread.com
This document discusses operating systems that Apple has created in the past, and many that it tried to create. Through this discussion, we will come across several technologies the confluence of which eventually led to Mac OS X.