Operating Systems
Processes, memory, file systems, scheduling and concurrency, plus the Linux command line, from the inside
- 8 lessons
- 6 hours
- Intermediate
- Graded labs: 24
What you will learn
- Describe the process lifecycle and what a context switch costs.
- Use the Linux command line to inspect processes, files, permissions and system calls.
- Explain virtual memory, paging and why a page fault happens.
- Compare FCFS, SJF and Round Robin scheduling by computing average waiting time.
- Explain how a file system maps names to blocks with inodes and what journaling protects.
- Spot a race condition or deadlock and fix it with a lock, semaphore or ordering rule.
- Write a small program that creates processes and pipes with fork, exec and pipe.
- Explain what namespaces, cgroups and capabilities isolate, and harden a Linux service with least privilege.
How you are assessed
OS knowledge is shown by predicting behaviour: which process runs next, whether a page fault occurs, whether two threads can deadlock. Labs have you simulate those decisions in code and check them against exact outputs.
- Complete every Foundations lesson
- Average on first-try quizzes: at least 70%
- Graded lab exercises to pass: 2
- Challenges to solve: 1
- Lessons
Learn the abstractions
Complete the process, memory and file-system lessons.
- Quizzes
Predict behaviour
Average at least 70% on first-try quizzes about scheduling, paging and synchronization.
- Lab exercises
Simulate the kernel
Pass graded labs that simulate scheduling and page replacement with exact expected output.
- Challenges
Debug a live system
Solve one systems challenge (processes, permissions or file system).
Curriculum
Processes, memory and files
The three abstractions every OS provides.
- 1.Processes & Threads — Programs Come Alive
What a process really is (address space, process control block, states), how fork, exec and wait create and reap processes, and how threads share memory inside one process. Learn to read a process table and reason about zombies and orphans.
40 min 1 quiz Graded labs: 3 - 2.CPU Scheduling — Who Gets the Processor Next?
How the OS decides which ready process runs next: FCFS, SJF, Round Robin, priorities and aging. Compare policies with the standard metrics: waiting time, turnaround time and response time.
40 min 1 quiz Graded labs: 3 - 3.Memory Management & Virtual Memory — A Private Map for Every Process
Virtual address spaces, paging and page tables, the TLB and page faults, page replacement policies (FIFO, LRU), fragmentation, and allocation strategies such as first-fit and best-fit.
43 min 1 quiz Graded labs: 3 - 4.Files, Permissions & the Linux Shell — One Tree, Three Digits, Many Pipes
The Linux directory tree, absolute and relative paths, users, groups and permission bits, redirection and pipes, and the text tools (sort, uniq, cut, awk) that make the shell productive.
42 min 1 quiz Graded labs: 3
Concurrency, storage and isolation
Locks and deadlocks, file systems that survive crashes, and VMs and containers sharing one machine.
- 5.Concurrency, Locks & Deadlocks — Sharing Without Breaking
Race conditions and critical sections, mutexes, semaphores and condition variables, and how deadlocks arise and are prevented (the four Coffman conditions, consistent lock ordering).
41 min 1 quiz Graded labs: 3 - 6.File Systems & Storage — From a Name to Disk Blocks
How files and directories map onto disk blocks: inodes, directory entries, hard and symbolic links, the page cache and journaling, and the trade-offs between common Linux file systems.
43 min 1 quiz Graded labs: 3 - 7.Virtualization & Containers — Many Machines, One Box
How hypervisors and virtual machines differ from containers, and the Linux kernel features (namespaces and cgroups) that make containers possible. Understand what isolation each approach does and does not give you.
43 min 1 quiz Graded labs: 3
Security and devices
Privileges, sandboxing and memory protections, and how the OS drives hardware.
- 8.OS Security & Hardening — Least Privilege in Practice
Users and privileges, least privilege, Linux capabilities, sandboxing with seccomp and namespaces, memory protections such as ASLR and non-executable stacks, and practical hardening: patching, minimal services and auditing.
42 min 1 quiz Graded labs: 3
Run a real example
This is the kind of code you will write. Run it, then change it and run it again.
PythonA scheduler is just a queue plus a clock. Try a quantum of 1 or 100 and see how waiting times and fairness change.
Recommended challenges
Put the skills to work against a puzzle with a flag or a test suite.
Badges
Earned automatically from your progress on this device.
Hello, Kernel
LockedFinish your first lesson.
0 / 1
Three Abstractions
LockedComplete every foundations lesson.
0 / 4
Scheduler Simulator
LockedPass 2 graded lab exercises.
0 / 2
Deadlock Detective
LockedScore 80% or more on the first try in 4 lesson quizzes.
0 / 4
Systems Engineer
LockedComplete every lesson in the track.
0 / 8
Certificate of completion
Lessons completed: 0 / 8
Complete every lesson to unlock your certificate.