Concordia University Concordia University
Department of Computer Science

COURSE OUTLINE (CONCISE VERSION)

COMP 346 WINTER 2000

Course Instructors: A. Abdennadher (Sec. V) and (Sec. WW), F.J. Kurfess (Sec. X)

Lab Instructors/Markers: T.B.D.

Theory Markers: T.B.D

Marking Policy:

Together, the three programming assignments are worth 20%. They will be substantial and are intended to introduce aspects of operating system design and implementation. The programming assignments require knowledge of C/C++, and should be done in Department Unix labs.

Together, the three theory assignments are worth 15%.

The midterm exam is worth 15%. The date-normally in week 7 of 13-is negotiable.

The final exam is worth 50%. It is necessary to pass final exam in order to pass the course.

There is no a priori rule for translation of number grades to letter grades.

I. Theory Component-

Required Theory Textbook:

Silberschatz and Galvin, Operating System Concepts, Fifth Edition, John Wiley & Sons, 1999, ISBN: 111111.

Note: The John-Wiley book is identical to the Addison-Wesley book with the same title and the same authors. Its ISBN is 0-201-59113-8.

Reference Textbooks and a Technical Report:

  1. Bic/Shaw, The Logical Design of Operating Systems, Second Edition, Prentice Hall, 1988.
  2. Brown, Denning and Tichy, Levels of Abstraction in Operating Systems, NASA Technical Report.
  3. Comer, Operating System Design: The Xinu Approach, Prentice Hall, 1984.
  4. Habermann, Introduction to Operating System Design, Science Research Associates, 1976.

Ref. 1 has an agreeable chapter on file systems. Ref. 2 is an overview of a level-structured operating system. Ref. 3 shows the code of a well-engineered small operating system. Ref. 4 is a deep book by one of the founders of the field.

Course Outline:

  1. Operating systems for sequential computers: (ii) resource managers, and (ii) providers of convenient high-level machines. Services and structures of an OS.
  2. Concurrent and communicating processes.  Interprocess communication and coordination. Synchronization primitives. Message passing. Safety and liveness properties.
  3. Memory management. Swapping/relocation systems, paged and segmented virtual memories. Page replacement, working sets, thrashing.
  4. Queueing models and scheduling disciplines. CPU-burst scheduling, process scheduling, disk scheduling.
  5. General resource management, including deadlock management. Detection/recovery, prevention, and avoidance of deadlocks.
  6. Files and input/output. File address translation, directory structures. Input/output software, device drivers.
  7. Protection and reliability. Capabilities, access-control lists, revocation of privilege.

II. Practice Component-

Relation of OS Theory to OS Practice:

The OS Practice component uses a simplified and extended form of Berkeley's Nachos pedagogical operating system to teach operating-system design and implementation, as well as dealing with large programs distributed across many files.

Instructors' coordinates and TAs' e-mail addresses:

A. Abdennadher-Office: LB 927-11, phone: 848-3048, fax: 848-2830, messages:
848-3000, e-mail: abdenna@cs.concordia.ca.

F.J. Kurfess-Office: LB 903-21, phone: 848-3038, fax: 848-2830, messages:
848-3000, e-mail: franz@cs.concordia.ca.

The lab instructors' e-mails are T.B.D.

General course questions-especially about the lab-are to be posted, not to your lab instructor's account, but to comp346ml@cs.concordia.ca.

Students may NOT send e-mail to their theory marker without individual permission from their instructor.

Course co-ordinator:

D.K. Probst-Office: LB 941-9, phone: 848-3023, fax: 848-2830, messages:
848-3000, e-mail: probst@vax2.concordia.ca, NOT probst@cs.concordia.ca.

Note: Do not bother Department Officers with your concerns until you have spoken, first with your instructor, and then with the course coordinator.

Web page:

A Web page has been set up for this course. It will contain announcements related to the class, pointers to documents (course notes, sample questions, etc.), source code for project, etc. Use the most recent Web page in directory ``teaching", subdirectory ``comp346", which is currently:

http://www.cs.concordia.ca/~teaching/comp346/summer99

Scheduled tutorials:

Section V ... on ... in H-aaa.

Section X ... on ... in H-bbb.

Section WW ... on ... in H-ccc.

Section U UB on Friday, 2:15 - 3:05 p.m. in H-619.

Scheduled programming labs:

First: 00:00 a.m. - 00:00 a.m. on ... in BE-243 (1257 Guy).

Second: 00:00 p.m. - 11:00 p.m. on ... in BE-243.

The doorcode for BE-243 is: simultaneous 2 and 3, followed by 5.


File translated from TEX by TTH, version 2.20.
On 11 Jan 2000, 15:27.