ICOM 5007 - Operating Systems

Spring 2009

Purpose:

To introduce the principal concepts of operating systems and to give experience in programming concurrent processes as used in developing operating systems

Objectives:

After completing this course you should be able to:

  • Understand the basic concepts of operating systems and concurrent interacting processes
  • Be able to use these concepts either in programming operating systems or in designing and implementing other systems using concurrency

Laboratory:

The laboratory work will be done in the UNIX laboratory (122 Stefani), normally in the C language. The

lab work will include short exercises using system capabilities and a longer project. Accounts will be

established on the various systems if you do not already have one. Several machines not connected to the department network are also available for both laboratories and projects requiring root access and kernel modification.

Based on the amount of credit given for the laboratory and the entire course, the projects will be designed

to take about 75 hours (5 hours/week) to complete. If you haven’t become competent with C and UNIX in

previous courses it could take longer.

Course Information:

Grading basis:

Partial exams (3 @ 100 points)

300

Final exam

150

Laboratory

100

Project

100

Total

650

 

Professor: Thomas L. Noack, 405 Stefani, extension 3652, noack@ece.uprm.edu

Office hours:  Tuesday, Thursday 9:00 am – 10:30 am, 12:30 pm  2:00 pm
Also I am often available in the universal hour Tuesday and Thursday 10:30 am – 12:30 pm
Text:

[1] Tanenbaum, Andries, Operating Systems, 3th  Ed., Prentice-Hall, 2007

References:

Please see the Reading list on my homepage; it is much more current than a static list.

Comments: Most information, including this outline, will be distributed through my web page

http://ece.uprm.edu/˜noack You are responsible for checking this page at least once per week, and when changes are announced in class

Examinations will be held in S-227 or S-228 or S-229 Stefani at 7:30-9:30 PM  on the dates shown, (February 17, March 17 and April 28).  If you have a conflict with a regular class or with an exam announced before this document is distributed please contact me.  If an exam is announced for another class after this date, the other instructor is responsible for resolving the conflict.

One compensatory free period will be given for each night exam.

Note: The course will be conducted in accordance with University regulations.  These are promulgated by the administration and, since they are subject to change, will not be duplicated here.


 

ICOM 5007 - Operating Systems

Spring 2009

Text - Tanenbaum, Operating Systems 3nd   Ed.

Date

Reading

Topic

15-Jan

1.1-5

Operating System Concepts

20-Jan

1.6-11

Operating System Structure

22-Jan

10.1-2.11.1-3, 12.1-2

Examples – Unix,  Windows and Symbian

27-Jan

2.1-2

Processes and Threads

29-Jan

2.3-4

Interprocess Communication

3-Feb

2.5

Classical IPC Problems

5-Feb

10.3, 11.4, 12.4

Examples - Unix and Windows

10-Feb

3.1-4

Virtual Memory, Paging Concepts

12-Feb

3.5-9

Paging and Segmentation Methods

17-Feb

 

Exam I

24-Feb

10.4, 11.5-6, 12.4

Examples - Unix,  Windows and Symbian

26-Feb

4.1-3

File System Basics

3-Mar

4.4-7

File System Implementation

5-Mar

 

Definition Presentations (In class)

10-Mar

5.1-3

I/O basics and software

12-Mar

5.4-6

I/O device management

17-Mar

 

Exam II

19-Mar

5.7-10

User interface devices

26-Mar

10.5, 11.6-7, 12.5

Examples - Unix,  Windows and Symbian

31-Mar

6.1-9

Deadlocks

2-Apr

 

Design Presentations (In class)

14-Apr

 

Linux Kernel : Structure and Examples

16-Apr

8.1.5

Multiprocessor Systems

21-Apr

9.1-3

Security Basics

23-Apr

9.4-7

Attacks, Exploits, and Malware

28-Apr

 

Exam III

30-Apr

9.8-10

Defenses and Horror Stories

5-May

10.7, 11.8-9, 12.6-7

Examples - Unix,  Windows and Symbian

7-May

13.1-7

Operating System Design

12-May

 

Implementation Presentations (In class)