CS321 01 Operating Systems -- fall, 2014

Contents

General Information

Instructor:

        Jiang B. Liu, jiangbo@bradley.edu
        Professor of Computer Science & Information Systems
        Phone: (309) 677-2386
Prerequisites:
        CS220 Computer Architectures
Lecture:
        10:30-11:45 am, Mon, Wed. at BR 180
Office Hours:
        3:00-4:30 pm Mon, Tues, Wed, 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, 10.8.1-3 (UNIX/LINUX/Android)
Ch. 11.1-11.3 (Windows 8)

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, 10.8.4-7, 10.8.12 (UNIX/LINUX/Android)
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 (UNIX/LINUX/Android)

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 (UNIX/LINUX/Android)
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 (UNIX/LINUX/Android)
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, 10.8.10-11 (UNIX/LINUX/Android)
Ch. 11.8

Assignments

There will be three group project assignments. For group assignments, all group members are expected to collaborate equally. It is not acceptable for a single person to complete an assignment that is meant to be completed as a group. 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: 30%

·         Tests: 30%

·         Final Exam: 40%

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

Policies & Procedures

All project assignments, lecture presentations, and grades will be posted to the class Sakai web page. Students are encouraged (and expected) to attend all classes and participate in all class activities. Students are expected to act professionally at all times.

 

1. Attendance: Regular attendance is expected. It is the student’s responsibility to notify the instructor when a class will be missed. If you know of a conflict ahead of time, you should plan accordingly and submit assignments early.

2. Project Assignments: Assignments should be submitted before the due date. If an assignment is submitted after the due date, it will be subjected to a 10% grade reduction penalty. Assignments will not be accepted more than 24 hours after the due date under any circumstance. Assignments must be submitted electronically via Sakai and will not be accepted in any other format.

3. Exams/Quizzes: Exams and quizzes must be taken on the scheduled dates. The student will receive no points for an exam or quiz if it is not taken on the scheduled date, unless the student has received approval from the instructor due to extremely special circumstances. In the rare case that a make-up quiz or exam is given, it is the student’s responsibility to make the appropriate arrangements with the instructor to have a test administered.

4. Integrity: Plagiarism and cheating are serious offenses and will be punished by failure on the exam, paper, or project in question; and the student will also be reported to the Center for Residential Living and Leadership. If the assignment is a final assignment, it will also result in failure in the course. For more information, refer to the academic catalog and student handbook. According to the student handbook:

·         "Cheating is officially defined as giving or attempting to give, obtaining or attempting to obtain, information relative to an examination or other work that the student is expected to do alone and not in collaboration with others..."

·         "A Zero, or whatever is the equivalent of the lowest failing grade possible, shall be assigned for that piece of work to any students cheating on a non-final examination or other piece of work."

·         "According to University Senate rules, all occasions of cheating and plagiarism must be reported to the Executive Director of the Center for Residential Living and Leadership..."

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.