University of Windsor


main
teaching
outline
announcements
assignments
solutions
resources
grades

330 - Operating Systems
Fundamentals, Sections 1 and 3, Fall 2002

Lectures:

Section 1: Tuesday and Thursday 2:30pm to 3:50pm, ER 1118
Section 3: Tuesday and Thursday 1pm to 2:20pm, ED 1123

Instructor: Dr. Angela C. Sodan
web page: http://www.cs.uwindsor.ca/users/a/acsodan

Exam dates:

Midterm: October 19th (this is a Saturday!) 10am - 12 noon, Erie Hall 1120 and 1118 (Please, understand that it would otherwise be almost impossible to have an equally fair exam for both sections.)

Final exam: December 12th, 12:00 noon (exam slot 22)

Teaching Material:

Recommended (most suitable) Textbook:
Silberschatz/Galvin/Gagne: Operating System Concepts, 6th Edition, Wiley

Office Hours:

Tuesday and Thursday 4pm to 5pm, Tuesday 12 noon to 12:50 and by appointment.

Furthermore, the GAs will give additional office hours and potentially tutorials (to be announced). However, please, come only during the office hours. We can serve you better if you come well prepared to ask specific questions. Please, check announcements on my web page for further information during the course. Assignments and class notes will also be made available online.

Topics covered are:

  • overview of operating systems
  • operating system principles
  • concurrency
  • scheduling and dispatching
  • memory management
  • file systems (hierarchical systems, mounting, file allocation)
  • devive management (especially disk scheduling)
  • scripting, performance measurement and security

Assignments (tentative):

  • system calls, UNIX I/O
  • system calls, UNIX shell extension
  • Java threads (resource utilization, synchronization)
  • simple client/server application (sockets)
  • scripting under UNIX shells

General Comments:

As in the 3rd year you are already mature enough to do the assignments in own initiative, you do not need to turn them in. The GAs will schedule more office hours than they normally do to give you sufficient possibility for feedback if necessary. The exams will contain very concrete questions (code) with respect to the assignments. If you have not done the assignments, you will not be able to answer the corresponding questions.

Reading the book is strongly recommended. This course is not especially easy and to really understand the concepts requires to read them again (or before the lecture) in the book. This gives you a slightly different second view (which often helps), some more details (to color the picture and increase the understanding of the main concepts) and trains you in more independent work.

Exam Policies:

You may miss exams only for valid and verifiable reasons and you must give prior notice (later excuses will not be accepted) by some kind of documentary evidenc e (phone, fax, email) etc. Sound "proofs" must be provided within one week after the exam such as a doctoral certificate. The latter would require clear statements of the medical conditions preventing you from taking the exam (vague descriptions will not be accepted). Only if the above conditions are met, you will be permitted to take a makeup exam. There will be only a makeup for the final and no makeup for the midterm. If you miss the midterm, its weight is added to the final. The makeup of the final exam will be in the second week of the winter semester. Date and place will be announced and posted on the course web page and office bulletin board at an appropriate time. It will be your responsibility to get the information about the makeup exam. There will be no makeup of the makeup exam. If you miss the makeup exam but have taken the midterm, the midterm result minus 25% will be assigned. If you miss all exams and the makeup, you cannot pass.

Attendance:

Though not required, attendance is important as the lectures will not present the material line by line as in the book. The exams will be primarily based on the material presented in class. Thus, if you have missed information because not having been in class, it is your responsibility to obtain the information. Exam questions, of course, do not only ask for memoized information but may also require to apply the knowledge to a new problem. The notes made available will be only the copies of the transparencies. These notes are supposed to provide some support (as a guideline through the topics) but do not intend to be a substitute for the book. Please, check the bottom "Resources" for the notes.

Grade Scale:

96 - 100 A+
91 - 95 A
86 - 90 A-
81 - 85 B+
76 - 80 B
71 - 75 B-
66 - 70 C+
61 - 65 C
56 - 60 C-
51 - 55 D+
46 - 50 D
41 - 45 D-
<= 40 F

Grade Composition:

final exam 60%
midterm 40%

Both the midterm and the final contain questions worth 20% of the final grade (i.e. 40% are altogether related to the assignments - thus take them seriously!).

Otherwise, the exam questions are intended to reflect the main learning objectives of the course and will possibly avoid questions with respect to very detailed and/or exotic topics. The style of the questions will most likely be a mixture of essay questions (checking concepts, answer in two to three sentences), problem solving (applying knowledge to a simple example, calculation etc.) and potentially some pseudo code (other than the assignment topics).

The exam questions will be identical for both sections.

Tentative Schedule:

  • Warmup and Motivation
    (1 lecture)
  • Operating System Overview and Principles: role of OS, system software, virtualization and abstraction, processes, resources, application program interfaces (APIs), shell and system calls
    (3 lectures)
  • The Computer-System: machine and devices, memory hierarchy, interrupts, execution modes and protection
    (3 lectures)
  • Multiprocessing: processes vs. program, timesharing
    (1 lecture)
  • Threads: threads vs. processes, data exchange, Java and Pthreads,
    (1 lecture)
  • Synchronization: race conditions, synchronization features, deadlock and starvation, deadlock prevention
    (2 lectures)
  • Scheduling: preemptive and nonpreemptive scheduling, schedulers and policies
    (2 lectures)
  • Interprocess Communication: messages, buffering and direct transfer, client/server, sockets and TCP/IP
    (2 lectures)
  • Device Management: serial and parallel devices, abstracting differences, buffering, pipelining, disk scheduling
    (2 lectures)
  • File Systems: hierarchical file systems, mounting, and directory allocation, file system layout on disk
    (2 lectures)
  • Scripting, System Performance, Security
    (2 lectures)
  • Memory Management: memory allocation, free list and compactification, address translation, swapping, virtual memory, paging and segmentation, working set, shared segments
    (3 lectures)
  • Wrap-up
    (1 lecture)
1 lecture reserve for more time needed in any of the above topics.

We will give some examples especially from Traditional Unix Systems and Modern Unix Systems (Linux, Solaris), Microsoft Windows NT, Windows 2000 and others.



[ Home ] [ Research ] [ Teaching ] [ Machines/Softwares ] [ Research Team ] [ Parallelism Infos ] [ Publications ]
e-mail address acsodan@uwindsor.ca