The course will provide an introduction to Operating Systems (OS), their design and implementation. We will discuss the goals of an OS,and some successful and not-so-
successful OS designs. We will also discuss the following OS services in detail: thread scheduling, security, virtual memory, file system. We will understand the OS concepts practically by directly studying the source code of a small but realistic OS.
UG and PG students in EE/CS
Introduction to Computer Science, Computer Architecture
Any computer systems hardware/software company
ABOUT THE INSTRUCTOR
Sorav Bansal is an Associate Professor at the CS department in IIT Delhi, and works in the areas of programming languages and operating systems. His primary research interests involve investigating superoptimization-based compiler design and higher-level abstractions for OS/Network programming. Sorav obtained his B.Tech. from IIT Delhi, and Ph.D. from Stanford University.
1. Join the course
Learners may pay the applicable fees and enrol to a course on offer in the portal and get access to all of its contents including assignments. Validity of enrolment, which includes access to the videos and other learning material and attempting the assignments, will be mentioned on the course. Learner has to complete the assignments and get the minimum required marks to be eligible for the certification exam within this period.
COURSE ENROLMENT FEE: The Fee for Enrolment is Rs. 3000 + GST
2. Watch Videos+Submit Assignments
After enrolling, learners can watch lectures and learn and follow it up with attempting/answering the assignments given.
3. Get qualified to register for exams
A learner can earn a certificate in the self paced course only by appearing for the online remote proctored exam and to register for this, the learner should get minimum required marks in the assignments as given below:
CRITERIA TO GET A CERTIFICATE
Assignment score = Score more than 50% in at least 9/12 assignments.
Exam score = 50% of the proctored certification exam score out of 100
Only the e-certificate will be made available. Hard copies will not be dispatched.”
4. Register for exams
The certification exam is conducted online with remote proctoring. Once a learner has become eligible to register for the certification exam, they can choose a slot convenient to them from what is available and pay the exam fee. Schedule of available slot dates/timings for these remote-proctored online examinations will be published and made available to the learners.
EXAM FEE: The remote proctoring exam is optional for a fee of Rs.1500 + GST. An additional fee of Rs.1500 will apply for a non-standard time slot.
5. Results and Certification
After the exam, based on the certification criteria of the course, results will be declared and learners will be notified of the same. A link to download the e-certificate will be shared with learners who pass the certification exam.
Week 1 : Introduction to OS Abstractions, Systems Calls and Threads
Week 2 : X86 Processor Basics
Week 3 : Address Translation (Virtual Memory)
Week 4 : Processes and Memory Allocation
Week 5 : Processes and Memory Allocation (contd.)
Week 6 : Process Creation, Modes, Stacks and Traps
Week 7 : Context Switching , Multiprocessors and Locking
Week 8 : Abstracting Synchronization
Week 9 : Abstracting Synchronization (contd.)
Week 10 : Virtual Memory Swapping
Week 11 : Files and Disk I/O
Week 12 : Journaling Filesystem (Linux ext3)
Books and References
Primary course reference (required):
xv6: a teaching operating system, by Cox,Kaashoek, and Morris. (xv6 home page at MIT) Secondary reference (optional):
Operating System Concepts (Eighth Edition) by Silberschatz, Galvin, and Gagne. John Wiley & Sons, Inc., 2008. ISBN 0-470-12872-0. Book chapters for relevant topics are indicated on the schedule page (SG: …). Other useful books:
Protected Mode Software Architecture by T.Shanley, MindShare, Inc., 1996. ISBN 0-20-155447-X. This book rehashes several IA32 manuals by Intel. The C Programming Language (Second Edition) by B. W. Kernighan and D. M.Ritchie, Prentice-Hall 1988. ISBN 0-13-110362-8.
The definitive guide to C, but see also the excellent online C reference http://www.cs.cf.ac.uk/Dave/C/CE.html.
Undocumented PC (Second Edition) by Frank van Gilluwe, Addison-Wesley Professional 1996. ISBN 0-20-147950-8. This book was written for hard-core PC software hackers. It has information about various Intel architectures (8086, 286, 386, 486, Pentium, Pentium Pro) and PC systems. No need to read this book to do the projects.
Operating Systems Design and Implementation (Third Edition) by A. Tanenbaum and A. Woodhull, Prentice-Hall, 2Inc, 2006. ISBN 0-13-142938-8. A famous OS textbook including a full source listing of the MINIX 3 system.
Modern Operating Systems (Second Edition) by A. Tanenbaum, Prentice-Hall, Inc, 2001. ISBN 0-13-031358-0. Another excellent OS textbook.