CS519 02 Introduction to Operating Systems -- Fall, 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:
        Session 02: 4:30-5:45 pm, Mon, Wed. at BR 146
Office Hours:
        3:00-4:30pm Mon, Wed; 1:30-3:00pm Tues, Thur. at BR 177
        or by appointment.

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 change, 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.8

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

Assignments

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

All assignments are due at the class on the due day. Later homework will have 10% subtracted from the score for each late day.

Grading

·  Assignments: 50%

·  Tests: 20%

·  Final Exam: 30%
(100-90 A; 89-80 B; 79-70 C; 69-60 D; below 60 F)

Communication

This class home page is posted at "http://hilltop.bradley.edu/~jiangbo/" and will be used to post the assignments and other class information.
You are also encouraged email me about your questions related to the course or share related information with the class.