Operating Systems (CS 543)
Assignments and Solutions
- Course Description
Covers the classical internal algorithms and structures of operating systems,
including CPU scheduling, memory management, and device management. Considers
the unifying concept of the operating system as a collection of cooperating
sequential processes. Covers topics including file systems, virtual memory,
disk request scheduling, concurrent processes, deadlocks, security, and
Operating Systems is part of the flexible core requirement for the M.S. and
Ph.D. Computer Science requirements and is an elective for M.S.S.E. students
in the Computer Science concentration. The course may be taken by other
students with sufficient Computer Science background (strong programming
skill, data structures and algorithms, computer architecture and an
introduction to concurrency - see the prerequisites) who have an interest
in learning how an operating system works.
- Course Themes
- Course Objectives
- To understand the services provided by and the design of an operating system.
- To understand the structure and organization of the file system.
- To understand what a process is and how processes are synchronized and
- To understand different approaches to memory management.
- Students should be able to use system calls for managing processes,
memory and the file system.
- Students should understand the data structures and algorithms used to
implement an OS.
- Course Benefits
Strong programming skills (Knowledge of C), elementary data structures and algorithms (e.g. CS 260), computer architecture (e.g. CS 281-82) and an introduction to concurrency (e.g. CS 361).
- Jeremy Johnson
Office: University Crossings 100C
e-mail: jjohnson AT cs DOT drexel DOT edu
office hours: MR 4:00-5:30 (UC 139 and online) additional hours by appointment.
- Ann Marie Schilling
e-mail: amveca AT yahoo DOT com (include cs543 in header)
office hours: online by appointment
- Meeting Time
- Thursday 6:30-9:30 in Univ. Crossings 153 and online.
The online and in class versions
of the course will be identical (in class lectures will be recorded and posted
on BbLearn and use of online discussions will be required by everyone).
- Course Discussion Groups
- BbLearn will be used for class discussion and announcements - check regularly
Please use this list for questions and discussions related to the course.
If you know the answer to someone's question, please feel free to jump in,
as long as well it is not an answer to a homework problem. I will moderate
the list so that frivolous mail and spam is not forwarded.
- System Calls
- Scheduling and Deadlock
- File System Interface and Implementation
- The Memory System and Virtual Memory
- OS Organization and Special Purpose Systems
- Protection and Security
Programming assignments will be done in pairs
- Programming Assignments (50%)
- Online quizzes (25%)
- Final Exam (25%)
- Daniel P. Bovet and Marco Cesati", Understanding the Linux Kernel,
3rd Edition, O'Reilly, 2005. This book is available, electronically, through Safari Tech Services at www.library.drexel.edu.
(Last updated Sun. Mar. 21)
Look Here for Important Announcements
This list is tentative and may be modified at the instructor's discretion.
Lectures may be viewed at: Course lectures
- Lecture 1: Overview and System Calls (chs. 1-2 of OS Concepts and ch. 1 of LKD)
- Lecture 2: Processes and Threads (chs. 3-4 of OS Concepts and ch. 2-3 of LKD)
- Lecture 3: Scheduling (chs. 5 of OS Concepts and ch. 4 of LKD)
- Lecture 4: Synchronization (chs. 6 of OS Concepts and ch. 4 of LKD)
- Lecture 5: Deadlock (chs. 7 of OS Concepts and ch. 4 of LKD)
- Lecture 6: The Memory System and Virtual Memory (chs. 8-9 of OS Concepts and ch. 12 of LKD)
- Lecture 7: File System Interface and Implementation (chs. 10-11 of OS Concepts and ch. 13 of LKD)
- Lecture 8: File Systems, Disk Scheduling and I/O (chs. 12-13 of OS Concepts)
- Lecture 9: Linux Scheduler (chs. 5-7 of OS Concepts and ch. 4 of LKD)
- Lecture 10: The Linux Memory System (chs. 8-9 of OS Concepts and ch. 12 of LKD)
Programs and Worksheets
Created: 9/20/12 [last updated ] by jjohnson AT cs DOT drexel DOT edu
- Available for the class only through BbLearn.