CS519 01 Introduction to Operating Systems – Summer II, 2007

Contents

General Information

Instructor:

        Jiang B. Liu, jiangbo@bradley.edu
        Professor of Computer Science & Information Systems
        Phone: (309) 677-2386
Prerequisites:
        CS302 Advanced Data Structures
Lecture:
        Individual appointments
Office Hours:
        Wednesday 1-3pm or by appointment at BR 177

Course Materials

Topic Schedule

This is an introduction course in operating systems for computer science and computer information systems majors and minors. The goals of the course are to provide students with a foundation of modern operating systems and to experience and implement basic operating system process controls, memory management, file systems management, and input/output controls. The project assignments will be coded in C/C++ and tested in UNIX/Window environment.

 
 
Unit 1
 Introduction to Operating Systems 

- Operating Systems History 
- Operating Systems Kernel and API 
- Operating Systems Structures
Ch. 1 

Ch. 10.1-10.2 
Ch. 11.1-11.3
Unit 2
2. Processes and Threads 

Process model and thread model 
(user and kernel mode, interrupt/exception/trap) 
Process transaction diagrams 
(Example: UNIX 4-state diagram) 
IPC 
- Race conditions 
- Critical region 
- Semaphores, Monitors, Message passing. 
Process/thread Scheduling 
- Context Switching 
- Round Robin, Priority, FCFS, Shortest Job First 
UNIX Process/thread creation, management, and communication. 
Ch. 2 

Ch. 10.3 
Ch. 11.4
Unit 3
3. Deadlocks 

- Deadlock conditions 
- Deadlock detection & Recovery 
- Deadlock avoidance (Bank algorithms) 
- Deadlock Prevention
Ch. 3
Unit 4
4. Memory Management 

Basic Memory Management 
Swapping 
Memory allocation 
(First fit, Next fit, Best fit, Worst fit, Quick fit) 
Virtual memory with paging 
- Page Tables (single level, multiple level) 
- TLBs (Associated Memory, Cache memory) 
- Page Replacement Algorithms 
  (Optimal, NRU, FIFO, 2rd chance, LRU) 
Virtual memory with segmentation 
- Segment with paging
Ch 4 

Ch. 10.4 
Ch. 11.5
Unit 5
5. I/O 

Hardware (RAM/Disk, Device controller, DMA) 
Software (Layered software, Disk arms scheduling) 
RAM disks and Disks 
Clocks and Terminals 
Graphic User Interfaces 
Network Terminals
Ch. 5 

Ch. 10.5 
Ch. 11.6
Unit 6
6. File System 

- File attributes and operations 
- Directory systems and operations 
- File system implementation (Example: UNIX inode) 
- Example file systems
Ch. 6 

Ch. 10.6 
Ch. 11.7
Unit 7
7. Multiple Processor Systems 

- Multiprocessors 
- Multicomputers
- Distributed Systems
Ch. 8
Unit 8
8. Security 

- Basics of Cryptography 
- User authentication 
- Attacks from inside and outside the system 
- Protection Mechanisms
Ch. 9 

Ch. 10.7 
Ch. 11.8
Final Exam
(August 16(noon)  
  -17(noon))
Take home exam
 

Assignments

There will be three group project assignments. Each group will share the same grade.
Later homework will have 20% subtracted from the score for each late day.

Grading

· Assignments: 60%
· Final Exam:   40%

(100-90 A; 89-80 B; 79-70 C; 69-60 D; below 60 F)

Communication

This home page will be used to post assignments. You are also encouraged to send me email about your questions related to the course or share related information with the class.
jiangbo@bradley.edu
p class=MsoNormal>This home page will be used to post assignments. You are also encouraged to send me email about your questions related to the course or share related information with the class.

jiangbo@bradley.edu