Introduction to Operating Systems: Design and Implementation
Book - Silberschatz, Galvin and Gagne - Operating System Concepts, 9th edition
First exam - 10/5 (M)
15%
Second exam - 11/9 (M)
15%
Final
exam – Dec. 15, 11:30-2pm
(T) 20%
Quizzes, homework and labs
20%
Current literature critique
10%
Programming projects
20%
This course will cover different operating systems, but the UNIX & Linux
Operating Systems (OS) will be highlighted in greater detail and will be
studied more closely. VMS (Virtual Memory System), the DEC (Digital Equipment
Corporation) OS that was used primarily on the VAX (Virtual Address eXtension)
mini-supercomputers, will also be studied in detail along with several
different versions of Microsoft’s system software. How to take advantage of
multi-core processors, via concurrency techniques, will be heavily emphasized
in the second half of the course.
Course Objectives:
Learn how the operating system integrates all of the following
“systems”:
File System
Process/thread management
Primary/Virtual Memory
Resource Allocation Techniques
Concurrent programming structures (like semaphores)
Professor John A. Trono, JeanMarie 267, Phone: x2432
Office hours: MW 3-4PM, T 9-10:30AM & 1-3pm, Th 1-2PM, and by appointment.
The materials
used in this class, including, but not limited to, exams, quizzes, and
homework assignments are copyright protected works. Any unauthorized
copying of the class materials is a violation of federal law and may result in
disciplinary actions being taken against the student. Additionally, the
sharing of class materials without the specific, express approval of the
instructor may be a violation of the College's Student Honor Code and an act
of academic dishonesty, which could result in further disciplinary action.
This includes, among other things, uploading class materials to websites for
the purpose of sharing those materials with other current or future students.
Rough Schedule of Chapters and Topics
Week #1 Chap. 1,
sections 20.1-20.3, 13.1, 13.2, 13.3.4, 13.4.6, 18.1-18.4, 3.3 (by F),
4.4.1-4.4.3, chapter 2, and chapter 19 (stop at 19.3.2.2)
- The history of operating systems
- Roles of the O/S to different applications
- O/S's from mainframes to PC's: O/S design strategies
- Interrupts, system calls and basic shell process
Weeks #2-3 Sections
10.1, 10.2, 13.3-13.5, 11.1, 11.2, chapter 12,
18.7, 18.8, 19.5, rest of Chapter 11, 10.4-10.8
- Characteristics of physical I/O devices
- Maintaining a file system, directories, etc.
Weeks 4-5 Chapters
3.1-3.2, 4.1, all of 6, 18.5, 19.7.3-19.7.3.2
- What is a (heavy-weight) process
- The process view: scheduling of who uses the CPU
- Threads (or light-weight processes)
Weeks 6-7 Chapters
8-9, 21.6, 19.7.5
- Memory management: from contiguous, to paged, then segmented
- Virtual memory and demand paging
- Working Sets
Week 8 Finish chapter
9 and then begin Chap 7
- Deadly embrace of resources (i.e. deadlock)
Weeks 9-11 3.4,
3.6.3, 3.7, 18.9, Chapter 5
- Inter-Process communication (IPC)
- Sharing of information and concurrency operations
- Semaphores, critical sections, and events
- Software monitors
Weeks 12-14 Material
from Chapters 14, 15.3.1, and 17.1-17.3, (as time permits)
-
Some security issues
- Current trends in distributed systems (PDF
hand-out)