CS519 01 Introduction to Operating Systems - May II, 2008

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:
        Online
Office Hours:
       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. 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. 3

Ch. 10.4 
Ch. 11.5

Unit 4

4. File System 
- File attributes and operations 
- Directory systems and operations 
- File system implementation (Example: UNIX inode
- Example file systems

Ch 4 

Ch. 10.6 
Ch. 11.7

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. Deadlocks 

- Deadlock conditions 
- Deadlock detection & Recovery 
- Deadlock avoidance (Bank algorithms) 
- Deadlock Prevention

Ch. 6 

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

Take home exam

 

Assignments

There will be three group project assignments. Each group will share the same grade.

Later homework will have 10% 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