Computer Science

Operating Systems

Operating Systems

Operating System is the bridge between computer hardware and software. It is the key to understand how computers represent data, execute programs, and control peripherals. Common subtopics includes System Programming, Hardware / Software Interface etc.

Prerequisites

Most courses of Operation Systems require students to have the following knowledge backgrounds:

  1. Computer Programming, especially C/C++
  2. Understanding of Computer Systems
  3. Data Structures and Algorithms

CS167 Operating Systems

Brown University

Spring 2023

CS167 offers comprehensive insights into the principles and intricacies of operating systems. Topics range from multithreaded programming to file system designs. Students will not only grasp theoretical knowledge but also get hands-on experience, particularly through the optional lab CS169, where they can develop an operating system called Weenix.

CS240 Advanced Topics in Operating Systems

Stanford University

Winter 2023

This is an advanced level course delving into in-depth topics in operating systems. The course revolves around the study of classical and recent research papers, with focuses on virtual memory management, synchronization and communication, file systems, and OS security among others. Its intent is to promote active discussions and deep comprehension of the material.

No concepts data

CS 140: Operating Systems

Stanford University

Spring 2020

This course provides an in-depth understanding of the basic facilities provided by modern operating systems. It's structured into three major sections: concurrency, memory management, and file systems, followed by some smaller topics like virtual machines. The class includes one problem set and four programming projects based on the Pintos kernel, requiring a significant commitment of time.

CS 112, CS212: Operating Systems

Stanford University

Winter 2023

This course introduces students to operating system concepts, with a primary focus on Unix, and covers key systems concepts in general. It prepares students to deal with larger software systems with programming assignments that are bigger than in many other courses. Topics covered include threads & processes, concurrency & synchronization, scheduling, virtual memory, I/O, disks, file systems, protection & security, and virtual machines.

CS 140E: embedded operating systems

Stanford University

Winter 2023

This course focuses on providing an introduction to operating systems with a specific emphasis on embedded systems, interacting with hardware, and verification. Students will have hands-on experience through labs and will build their own simple, clean operating system for an ARM-based Raspberry Pi. The course offers opportunities to work with real hardware and primary-source documents, encouraging a deeper understanding of computation on real hardware.