Beginner25 lectures

Operating Systems

About This Course

Your operating system is running right now managing memory, switching between processes, reading from disk and most developers never think about it. This course changes that.

Operating Systems is one of the hardest and most important subjects in computer science. This course makes it approachable without dumbing it down. You'll learn how an OS manages processes, schedules CPU time, handles memory, and controls I/O all with hands-on simulator labs that let you see these systems in action rather than just reading about them.

By the end, you'll have a mental model of what happens on your machine between the moment you run a program and the moment you see output.

What you'll cover:

  • What an OS actually does: kernel, shell, system calls, and the boot process
  • Processes and threads: lifecycle, scheduling, context switching
  • CPU scheduling algorithms: FCFS, SJF, Round Robin, multilevel queues
  • Process synchronisation: critical sections, mutex locks, semaphores, deadlock
  • Memory management: logical vs. physical addressing, paging, contiguous allocation
  • Virtual memory: page replacement algorithms, page faults, thrashing
  • File systems and I/O: allocation methods, disk scheduling, hardware and software layers

Who this is for: CS students taking their first OS course, developers who want to understand performance at the system level, and anyone preparing for interviews where OS internals come up.

Prerequisites: A solid understanding of basic programming. Familiarity with processes and memory at a high level is helpful but not required the course builds up from first principles.

Watch the Intro Video

Course Comments

0 comments

Want to join the discussion?

Log in or sign up to post a comment.

Operating Systems

Lectures

25 lectures

Level

Beginner