Operating Systems
Monsoon 2006
Instructor: |
Atul
Negi
|
Co-Instructor |
Wilson Naik Dept.
of Computer and Information Sciences Building. Email: naikcs@uohyd.ernet.in
|
TAs: Honorary TA: |
KishoreKumar P. (kishoregupta_os@yahoo.com)
|
This course is an attempt to introduce students to operating systems and give an insight into their internals. The operating system is expected to provide a familiar, convenient, and efficient interface between user programs and the bare hardware of the computer on which they run. Among other things, the operating system is responsible for allowing resources (e.g., disks, networks, and processors) to be shared, providing common services needed by many different programs (e.g., file service, the ability to start or stop processes, and access to the printer), and protecting individual programs from one another. The course begins with a brief perspective of the Linux kernel features, then covers the major components of an operating systems. Particular emphasis will be given to three major OS subsystems: process management, memory management, and the file system. We will cover the basics of concurrent programming, including process synchronization mechanisms, mutual exclusion algorithms, and deadlock. We will also cover the above concepts in the perspective of GNU/Linux. You will be expected to write C code during the semester ranging from user level system programs to perhaps certain kernel modules (depending upon time).
Understanding the Linux Kernel. Daniel P. Bovet and Marco Cesati, (Third Edition covers Kernel 2.6) SPD (O`Rielly)
15% Programming Assignments (Avg. of three).
20% Mid Exams (Best of two).
10% Seminar.
55% Final Exam (Lab + Theory)
You are encouraged to correspond with the Instructor (or TAs) using electronic mail for fast turnaround. Of course you should also feel free to meet with the Instructor during office hours if you prefer face-to-face communication. If you cannot meet during scheduled office hours, make an appointment.
2.4