
Instructor
Brian Mitchell
Drexel: (215)895-2668
e-mail: bmitchel@mcs.drexel.edu
Class Web Page: http://www.mcs.drexel.edu/~bmitchel/course/mcs720/mcs720.html
Important Notices
See current class notices for MCS720 - Operating Systems
View the Current Presentation Schedule
Course Description
In this course we will investigate the classical internal algorithms and structures of operating systems: CPU scheduling, memory management, and device management. Considers the unifying concept of the operating system as a collection of cooperating sequential processes. Topics include: file-systems, virtual memory, disk request scheduling, concurrent processes, deadlocks, security and integrity.
We will use the Java programming language to investigate important Operating Systems algorithms and concepts. Java is an ideal language for Operating Systems studies because of its availability on multiple platforms, its cost (a free Java environment can be obtained here), and its support for concurrent programming. I will conduct a Java tutorial in this class so that you will be able to successfully implement the programming assignments.
Intended Audience
This course is intended primarily for graduate students in Software Engineering and Computer Science. Graduate students in other programs may take this course if they see me in advance about their qualifications. Before taking this course, students should have some operating systems background (perhaps a previously taken undergraduate class) and be proficient in an object-oriented programming language such as Java or C++. Students lacking such a background should consider taking the Unix Programming Environment course before taking MCS720.
Research
This course will include coverage of research papers relevant to Operating Systems and Concurrent Programming. Students will be expected to read the selected papers and participate in class discussions.
Class Meeting Times
MCS720 will meet from 6:00 - 8:50 PM on Tuesday evenings. Office hours are by appointment or immediately before class.
Schedule
| Topic | Description |
|---|---|
| 1 | Introduction [4-slides
per page version](Chapters 1,2,3)
Additional Reading:
|
| 2 | Processes & Threads
[4-slides per page version] (Chapters
4,5)
Additional Reading: |
| 3 | Java Programming Tutorial |
| 4 | Process Synchronization [4-slides per page version](Chapter 7) |
| 5 | CPU Scheduling [4-slides per page version](Chapter 6) |
| 6 | Memory Management and Virtual Memory [4-slides per page version](Chapters 9,10) |
| 7 | Deadlock [4-slides per page version] |
| 8 | File and I/O Systems |
| 9 | Directory Services |
| 10 | Security and Protection |
| 11 | Operating System Case Studies |
| 12 | Special Purpose Operating Systems (Embedded, JavaOS, WebOS) |
| 13 | Guest Speaker: Linux on the Mainframe (the date for this session, along with a copy of notes, will be posted soon...) |
You may use the above links to obtain an on-line copy of the lecture notes. Selected lecture notes are provided in Adobe Acrobat format. Adobe Acrobat Reader is a free viewer for Adobe PDF files. A copy can be downloaded from here:
Project & Assignments
There will be two major deliverables in this course:
- Selection and presentation of a research paper related to a specified operating system topic.
===> READ ABOUT THIS ASSIGNMENT- A term programming project
===> READ ABOUT THE TERM PROJECTHomework's will involve reading the scheduled papers and being prepared to participate in discussions about the research papers.
Here are some helpful links that may be of use to you for this course.
Textbooks
The course textbook is:
- Applied Operating Systems Concepts, Avi Silberschatz, Peter Galvin, Greg Gagne
Additional materials from the class will be derived from:
- Research Papers
- Referenced Texts
- Lecture Notes
- Online Materials (http://www.bell-labs.com/topic/books/aos-book/)
Grading
Programming Project: 60%
Research Paper Presentation 20%
Final Exam 20%* The date of the midterm will be announced in class at least 2 weeks prior to the date of the exam
Policies
Every effort should be made to attend the scheduled exams, however, there are times when this may not be possible due to sickness or business travel. In the event that you can not attend the final, please let me know in advance so that I can make arrangements for you to take the test early. If you are unable to provide sufficient notice, then the makeup exam will take the form of an oral exam or a take-home test.