About Course
Operating systems (OS) serve as a vital link between a computer’s hardware and the programs that run on it.
It enables us to write programs without having to worry about hardware. It also guarantees that the computer’s resources, such as the CPU, hard drive, and memory, are used effectively. In this course, we’ll look at how the operating system accomplishes all of this while being efficient. This is an introductory course for students who have some computer organization experience.
The course is built on the xv6 operating system, which is similar to Linux in many aspects.
TARGET AUDIENCE M.Sc./B.E. (Computer Science)
Operating Systems Course Layout
Week 1: Introduction to the course
Week 2: Memory Organizing
Week 3: Processes
Week 4: Interrupts and Context Switching
Week 5: Planning
Week 6: Synchronization
Week 7: Deadlocks
Week 8: Security of the Operating System
Course Content
W1 L0 – Intro to the Course
-
W1 L1 – Introduction to OS
21:48 -
L2 PC Hardware
27:43 -
L3 – From Programs to Processes
17:46 -
L4 – Sharing the CPU
35:04 -
W2 L1 Memory Management Introduction
00:00 -
W2 L2 Virtual Memory
00:00 -
W2 L3 More on Virtual Memory
00:00 -
W2 L4 Segmentation
00:00 -
W2 L5 xv6 Memory Management
00:00 -
W2 L6 PC Booting
00:00 -
W3 L1 Introduction to Processes
18:00 -
W3 L2 Create Execute and Exit from a Process
00:00 -
W3 L3 system Calls for Process Management
00:00 -
W4 L1 Interrupts
00:00 -
W4 L2 Interrupt Handling
00:00 -
W4 L3 Software Interrupts and System calls
00:00 -
W4 L4 CPU Context Switching
00:00 -
W5 L1 CPU Scheduling
00:00 -
W5 L2 Priority based scheduling algorithms
00:00 -
W5 L3 Multi-Processor Scheduling
00:00 -
W5 L4 Scheduling in Linux
00:00 -
W5 L5 Completely Fair Scheduling
00:00 -
W6 L1 Inter Process Communication
00:00 -
W6 L2 Synchronization
00:00 -
W6 L3 Software solutions for critical sections
00:00 -
W6 L4 Bakery Algorithm
00:00 -
W6 L5 Hardware Locks
00:00 -
W6 L6 Mutexes
00:00 -
W6 L7 Semaphores
00:00