---
title: Operating Systems
description: Operating systems manage computer hardware and provide services for execution of software. You will understand process scheduling, memory management, file systems, and concurrency, enabling you to write software that interacts efficiently with the underlying system.
category: programming-tech
subcategory: computer-science
difficulty: beginner, intermediate, advanced
url: /subject/operating-systems
---

# Operating Systems

Operating systems manage computer hardware and provide services for execution of software. You will understand process scheduling, memory management, file systems, and concurrency, enabling you to write software that interacts efficiently with the underlying system.

## Where to start

Start with Operating Systems: Three Easy Pieces, the free textbook by Remzi and Andrea Arpaci-Dusseau, whose short chapters build scheduling, address translation, locks and file systems from first principles. It is also the one to use if you only use one resource. Then take Operating System Engineering (MIT 6.1810), where labs on the xv6 kernel have you implement system calls, page tables and file systems.

## Available Resources

3 Books • 4 Courses • 3 Websites

## Courses

### 1. Operating System Engineering (MIT 6.S081)

**Author:** Frans Kaashoek, Robert Morris

Archived Fall 2020 offering of the xv6 operating systems course: recorded lectures, the xv6 RISC-V book, and labs on system calls, page tables, traps, lazy allocation, threads, locking and file systems. Learners implement real kernel features and understand process management end to end.

**Difficulty:** Intermediate | **Price:** Free

**Link:** https://pdos.csail.mit.edu/6.S081/2020/

**Tags:** operating-systems, xv6, kernel, process-management, risc-v

### 2. Operating System Engineering (MIT 6.1810)

Undergraduate operating systems course built around xv6, a small Unix-like kernel for RISC-V. The free xv6 book and labs on system calls, page tables, traps, copy-on-write, locking, file systems and mmap teach how kernels manage memory, processes and devices.

**Difficulty:** Intermediate | **Price:** Free

**Link:** https://pdos.csail.mit.edu/6.828/

**Tags:** operating-systems, xv6, kernel-development, virtual-memory, risc-v

### 3. CS162: Operating Systems and Systems Programming

UC Berkeley's upper-division operating systems course, with lectures, projects and exams covering processes and threads, synchronization, CPU scheduling, virtual memory, file systems, I/O and networking. Students build kernel features in the Pintos teaching OS and understand how operating systems work internally.

**Difficulty:** Advanced | **Price:** Free

**Link:** https://cs162.org/

**Tags:** operating-systems, concurrency, virtual-memory, file-systems, systems-programming

### 4. Operating Systems: Three Easy Pieces

Learn concurrency in operating systems with this course from Remzi & Andrea Arpaci-Dusseau, based on "Operating Systems: Three Easy Pieces."

**Difficulty:** Advanced | **Price:** Free

**Link:** https://pages.cs.wisc.edu/~remzi/OSTEP/

**Tags:** operating-systems, concurrency, virtual-memory, file-systems, textbook

## Websites

### 1. xv6 OS Source

MIT's small Unix-like teaching kernel for RISC-V, published with source code and a companion commentary book. Reading and modifying it shows concretely how page tables, kernel and user address spaces, physical page allocation, and traps are implemented.

**Difficulty:** Beginner | **Price:** Free

**Link:** https://pdos.csail.mit.edu/6.828/2023/xv6.html

**Tags:** operating-systems, xv6, risc-v, page-tables, virtual-memory

### 2. osdev.org

OSDev.org is a community-driven resource and wiki for operating system development. It offers tutorials, articles, and sample code on topics like kernels, bootloaders, memory management, drivers, and other low-level OS concepts, plus forums for discussion.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://osdev.org

**Tags:** websites, technology-computer-science, computer-sciences

### 3. kernel.org

Kernel.org is the official Linux kernel site offering access to the kernel source code, release tarballs, and documentation, plus the development infrastructure (patches, mailing lists, and build/test resources) used by OS developers.

**Difficulty:** Intermediate | **Language:** English | **Price:** Free

**Link:** https://kernel.org

**Tags:** websites, technology-computer-science, computer-sciences

## Books

### 1. Modern Operating Systems

**Author:** Andrew S. Tanenbaum, Herbert Bos

Textbook surveying processes, memory management, file systems, I/O, and deadlock, then dissecting real systems including Linux, Windows, and Android. Readers come away able to compare concrete design decisions across kernels rather than only abstract mechanisms.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/1292061421?tag=edmonddante07-20

**Tags:** books, technology-computer-science, computer-sciences

### 2. Operating Systems: Three Easy Pieces

**Author:** Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau

Wisconsin textbook organized around three themes: virtualization, concurrency, and persistence. Short chapters with code and homework simulators build up scheduling, address translation, locks, condition variables, and file system implementation from first principles.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/198508659X?tag=edmonddante07-20

**Tags:** books, technology-computer-science, operating-systems

### 3. Linux Kernel Development

**Author:** Robert Love

Guide to the Linux kernel's internals written by a kernel contributor, covering process scheduling, system calls, interrupt handling, synchronization primitives, memory management, and the virtual filesystem. Prepares a C programmer to read and patch kernel source.

**Difficulty:** Intermediate | **Language:** English | **Price:** Paid

**Link:** https://www.amazon.com/dp/0672325128?tag=edmonddante07-20

**Tags:** books, technology-computer-science, computer-sciences

---

*This content is part of Dantes.io - Your Treasure Map to Knowledge*

*Curated by humans at Dantes.io. Personal study use welcome; republishing this curation requires permission (team@dantes.io).*

View this page online: https://dantes.io/subject/operating-systems