Operating System Concepts, Design and Implementation





  • LectureNotes MIT 6.826: Principles of Computer Systems.
  • LectureNotes 15 410 605: Operating System Design and Implementation

[Operating System Concepts]

Operating Systems: Three Easy Pieces (OSTEP), v1.0, 2018, Remzi H. Arpaci, Andrea C. Arpaci

  • The book is organized around three concepts fundamental to OS construction: virtualization (of CPU and memory), concurrency (locks and condition variables), and persistence (disks, RAIDS, and file systems). The material, if combined with serious project work and homeworks, will lead students to a deeper understanding and appreciation of modern OSes.
  • Free PDF Copy: ostep.org

Modern Operating Systems (MOS), 4th Edition, 2015, Andrew S. Tanenbaum, Herbert Bos

  • An up-to-date overview of operating systems presented by world-renowned computer scientist and author, Andrew Tanenbaum.
  • Structure:
    • Part I covers processes, memory management, file systems, I/O systems, and deadlocks in single operating system environments.
    • Part II covers communication, synchronization process execution, and file systems in a distributed operating system environment.
    • Study cases including UNIX, Linux, Windows 8 and Android.
  • Free PDF Copy: http://stst.elia.pub.ro/news/SO/Modern%20Operating%20System%20-%20Tanenbaum.pdf

Operating Systems: Concurrent and Distributed Software Design, 2003, Jean Bacon

  • Readership: advanced undergraduates and graduates, professionals
  • Underlying this book is the premise that distributed systems are now commonplace and a reader is more likely to be using one than a centralized time-sharing system. This modern approach therefore avoids the focus on centralized systems, instead placing the operating system within its context and providing an overview of system components and their relationships.
  • Structure:
    • System Design, covering the basic operating system functions and describing the abstraction and implementation of a system as a community of (possibly distributed) concurrent processes. Distributed systems are introduced and a chapter on system security is included.
    • Concurrency Control in Main Memory, focusing on concurrency control in operating systems and application-level systems and exploring inter-process communication (IPC) in the context of (distributed) system design.
    • Transactions, demonstrating the general applicability of concurrent composite operations.
    • Case Studies, considering different systems in the light of the perspective developed in the book: Classical UNIX; Linux, Solaris and Contemporary Unix; Extensible Systems; Windows 2000; Web Programming; Middleware; and Transaction Processing Systems.The Java language has been used throughout to illustrate object-oriented concepts, concurrent algorithms and distributed programming and the book includes a chapter on system security. The case studies, covering a full suite of professional operating systems, enable the course to be taught as a blend of theory and practice, so that on completion of the course a student is able to adapt and build real operating systems that function within a distributed environment.