📗 -> Operating Systems and System Programming

short mode
not done
tags include #OS
description includes foo

🔶 Course Description

Basic concepts of operating systems and system programming. Processes and interprocess communication/synchronization; virtual memory, program loading and linking; file and I/O subsystems; utility programs. Study of a real operating system.

Textbooks

  • Operating Systems: Principles and Practice, 2nd edition [OSPP]

    • by Thomas Anderson and Michael Dahlin
    • One of the most recent and popular textbooks at the moment. Some of the lectures follow a similar outline.
  • Operating System Concepts, 9th edition [OSC]

    • by Avi Silberschatz, Peter Baer Galvin and Greg Gagne
    • Another typical and popular textbook for this type of class.
  • Operating Systems: Three Easy Pieces [OSTEP]

❗ Important

Instructor:

TA:

📄 Class Material

Week 1 - OS Intro + Syscalls

  • ECS150-L1 - Course intro + OS intro
    • Too cramped to take notes
      Absent
  • ECS150-L3 - System Calls

ECS150-Project-1

Week 2 - Syscalls + OS Structure

Week 3 - OS Structure + Kernel Abstraction

MLK day

Week 4 - Kernel + Process Scheduling

  • ECS150-L8
  • ECS150-L9
  • ECS150-L10
    • Discussion: Project intro, scheduler and context switching
    • Lecture: Scheduling, process states and scheduling algos

Week 5 - Concurrency and Threads + Synch

Week 6 - Synchronization + Deadlocks

  • ECS150-L14 - Synchronization: Locks, spinlocks, and intro to semaphores
    • Some skeleton code for project in semaphore section slides
  • ECS150-L15 - Synchronization: Reader / writer problem
    Midterm 2
  • ECS150-L16 - Intro to Deadlock
    ECS150-MT2

Week 7 - Deadlocks + Storage

Week 8 - Storage + Filesystem

Week 9 - Filesystem implementation

Week 10 - Virtual Memory