The Little Book of Semaphores
by Allen B. Downey
Publisher: Green Tea Press 2016
Number of pages: 291
The Little Book of Semaphores is a free (in both senses of the word) textbook that introduces the principles of synchronization for concurrent programming. In most computer science curricula, synchronization is a module in an Operating Systems class. OS textbooks present a standard set of problems with a standard set of solutions, but most students don't get a good understanding of the material or the ability to solve similar problems. The approach of this book is to identify patterns that are useful for a variety of synchronization problems and then show how they can be assembled into solutions. After each problem, the book offers a hint before showing a solution, giving students a better chance of discovering solutions on their own.
Home page url
Download or read it online for free here:
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 Marvin Solomon - Unversity of Wisconsin -- Madison
Intended as a general introduction to the techniques used to implement operating systems and related kinds of systems software. Among the topics covered will be process management; processor scheduling; deadlock prevention, avoidance, and recovery.
by Max Hailperin - Gustavus Adolphus College
Intended for juniors, seniors, and first-year graduate students, this book takes a modern approach to the Operating Systems course. By using this text, students will obtain an understanding of how contemporary operating systems and middleware work.
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.