Friday, December 11, 2009

Operating System Design Notes

CS 472 Operating System Design

CS 472 Operating Systems Design

CRN 22873: TR 4:30PM – 5:45, ET 111

Instructor

Mark Temte, Ph.D.

Office: ET-125F

Office hours: MW 3:00 PM – 4:15, TR 1:30 PM – 2:45

Phone: 260-481-6181

E-mail: temte@ipfw.edu

Course web site: users.ipfw.edu/temte/

Course Description

P: CS 260 and CS 271. The objective of this course is an understanding the fundamental concepts underlying contemporary operating systems. Attention will be given to the topics indicated in the tentative schedule below.

Course Learning Outcomes

(These support the ABET Program Outcomes found at the end of the syllabus, as indicated by the letters in parentheses.)

Upon successful completion of the course requirements, a student should be able to:

1. Describe the basic resource management responsibilities of an operating system (a).

2. Describe the concept of a process and list the various process state transitions (a).

3. Distinguish between a process and a thread (a, j).

4. Analyze a concurrent programming application and apply appropriate techniques to avoid control problems: mutual exclusion, deadlock, and starvation (b, c, i, k).

5. Describe or apply virtual memory concepts (a, b, j).

6. Describe scheduling policies appropriate for both uniprocessor and multiprocessor systems (a, i, j, k).

7. Describe or apply the various disk scheduling techniques (a, b, i, j, k).

8. Describe or apply basic algorithms associated with distributed process management (a, b, i, k).

9. Design and implement a concurrent programming application using only semaphores for process control (b, c, i, k).

10. Design and implement a concurrent programming application in the Ada language using the message-passing protocol with advanced control features (b, c, i, k).

11. Design and implement a concurrent programming application using a monitor for process control (b, c, i, k).

12. Design and implement a simulation of operating an operating system feature (b, c, j, k).

Required textbook

W. Stallings, Operating Systems: Internals and Design Principles (6th edition), Pearson Education (2009). ISBN 0-13-600632-9.

Jan 12

Computer system/operating system overview

1,2

19

Process description and control

3

Note:

No classes on Monday

26

Threads, SMP, and microkernels

4

Feb 2

Concurrency: mutual exclusion and synchronization

5

9

Semaphores

5

16

Message passing and the Ada rendezvous

5, sup

Test 1:

Tuesday, Feb 17

23

Monitors (Lampson/Redell) and Java

5, sup

Mar 2

Classic problems in concurrency

5, 6

9

Spring break week

16

Concurrency: deadlock and starvation

6

Last day to withdraw is Friday

23

Memory management. Virtual memory.

7, 8

30

Virtual memory

8

Test 2:

Tuesday, March 31

April 6

I/O management and disk scheduling.

Uniprocessor scheduling.

11, 9

13

Multiprocessor scheduling.

File management.

10, 12

20

Distributed processing, client/server, and clusters

14

27

Distributed process management

15

May 4

Final Exam: Thursday, May 7

4:00 PM – 6:00, ET 111

Documents PowerPoint Projects Resources

Syllabus.doc Chapter1.ppt Project1.doc gnat-gpl-2007-2-pentium-mingw32msv-bin.exe

UsingGPSAda.doc Chapter2.ppt SimpleCipher.adb Ch17.pdf

SampleAdaPrograms.txt Chapter3.ppt Project2.doc Ch18.pdf


Test1Review.doc Chapter4.ppt Primes.adb


AdaSemaphore.doc Chapter5-Part1.ppt Project3.doc


JavaSemaphore.doc AdaTasking.ppt Project4.doc


Test2Review.doc Chapter5-Part2.ppt Project4.dat


FinalReview.doc JavaThreads.ppt


ClassicProblems.ppt


Chapter6.ppt


Chapter7.ppt


Chapter8.ppt


Chapter11.ppt


Chapter9.ppt


Chapter10.ppt


Chapter12.ppt


Chapter16.ppt


Chapter18.ppt