1

Introduction to Operating Systems. Instructor: Prof. Chester Rebeiro, Department of Computer Science and Engineering, IIT Madras.

FREE
This course includes
Hours of videos

1027 years, 8 months

Units & Quizzes

37

Unlimited Lifetime access
Access on mobile app
Certificate of Completion

Operating systems (OS) provide the crucial interface between a computer's hardware and the applications that run on it. It allows us to write programs without bothering much about the hardware. It also ensures that the computer's resources such as its CPU, hard disk, and memory, are appropriately utilized. In this course, we dwell into how the OS manages to do all this in an efficient manner. This is an introductory course, for students with prior knowledge of computer organization. The course is based on an OS called xv6, which in many ways is similar to the Linux operating systems. (from nptel.ac.in)

Course Currilcum

    • Lecture 01 – Introduction to Operating Systems and its Uses Unlimited
    • Lecture 02 – PC Hardware Unlimited
    • Lecture 03 – From Programs to Processes, Memory Maps, System Calls, Files, OS Structure Unlimited
    • Lecture 04 – Sharing the CPU: How the OS Shares the CPU Unlimited
    • Lecture 05 – Introduction to Memory Management in the Operating System Unlimited
    • Lecture 06 – Virtual Memory Unlimited
    • Lecture 07 – MMU and Mapping Unlimited
    • Lecture 08 – Segmentation Unlimited
    • Lecture 09 – Memory Management in xv6 Unlimited
    • Lecture 10 – PC Booting Unlimited
    • Lecture 11 – Introduction to Processes: How Operating Systems Manage Processes Unlimited
    • Lecture 12 – Create, Execute, and Exit from a Process Unlimited
    • Lecture 13 – System Calls for Process Management in xv6 Unlimited
    • Lecture 14 – Interrupts Unlimited
    • Lecture 15 – Interrupt Handling Unlimited
    • Lecture 16 – Software Interrupts and System Calls Unlimited
    • Lecture 17 – CPU Context Switching Unlimited
    • Lecture 19 – Priority Based Scheduling Algorithms Unlimited
    • Lecture 20 – Multiprocessor Scheduling Unlimited
    • Lecture 21 – Scheduling in Linux Unlimited
    • Lecture 22 – Completely Fair Scheduling Unlimited
    • Lecture 23 – Inter Process Communication Unlimited
    • Lecture 24 – Synchronization Unlimited
    • Lecture 25 – How to Implement Locking: Software Solutions for Critical Sections Unlimited
    • Lecture 26 – Bakery Algorithm for Synchronization Unlimited
    • Lecture 27 – How to Implement Locking: Hardware Solutions for Critical Sections Unlimited
    • Lecture 28 – Mutexes Unlimited
    • Lecture 29 – Semaphores Unlimited
    • Lecture 30 – Dining Philosophers Problem Unlimited
    • Lecture 31 – Deadlocks Unlimited
    • Lecture 32 – Dealing with Deadlocks: Deadlock Avoidance, Deadlock Prevention Unlimited
    • Lecture 33 – Threads (Lightweight Processes) Part 1 Unlimited
    • Lecture 34 – Threads (Lightweight Processes) Part 2 Unlimited
    • Lecture 35 – Operating System Security Unlimited
    • Lecture 36 – Information Flow Policies Unlimited
    • Lecture 37 – Buffer Overflows Unlimited
    • Lecture 38 – Preventing Buffer Overflow Attacks Unlimited