Bilkent University
Department of Computer Engineering

CS 342 - Operating Systems, Spring 2003

Instructor:
Dr. İbrahim Körpeoğlu
 korpe@cs.bilkent.edu.tr
Phone: 290-2599
Office: EA 408

Office Hours
: Any time
when I am in the office

TA:
Huseyin Ozgur Tan
hozgur@cs.bilkent.edu.tr
Phone:290-1401
Office:
EA-529
Office Hours: ??

TA:
Ata Turk
atat@cs.bilkent.edu.tr
Phone:290-1401
Office:
EA-529
Office Hours: ??

Class Hours:
Section 1 (Mon: 9:40-10:30, Wed: 10:40-12:30
Section 2 (Mon: 13:40-14:30,
Thu:13:40-15:30)
Classroom
: EB 204

Schedule and Outline

Week #

Start Date

Topic

  Jan 30, Thr

Registration

1 Feb 3, Mon Introduction to Computer Systems and Operating Systems
2 Feb 10, Mon

Holiday (Kurban Bayramı)

3 Feb 17, Mon Processes: Processes, Threads,
  Feb 24, Mon

Last Day of Add/Drop

4 Feb 24, Mon Processes: Scheduling
5 Mar 3, Mon Processes: Interprocess Communication, Classical IPC Problems
6 Mar 10, Mon Processes: Deadlocks (detection, recovery, avoidance)
7 Mar 17, Mon Memory Management: swapping, virtual memory
8 Mar 24, Mon Memory Management: page replacement, paging systems
9 Mar 31, Mon Input/Output: I/O Hardware, I/O Software
10 Apr 7, Mon Input/Output: disks, clocks, terminals
11 Apr 14, Mon File Systems: files, directories
12 Apr 21, Mon File Systems: file system implementation
  Apr 23, Wed

Holiday (23 Nisan Ulusal Egemenlik ve Çocuk Bayramı)

13 Apr 28, Mon Distributed Systems
14 May 5, Mon Protection and Security
15 May 12, Mon Case Studies: Linux, Windows XP, FreeBSD
  May 19, Mon

Holiday (19 Mayıs Gençlik ve Spor Bayramı)

  May 20, Tue Final Exams Start
  May 30, Fri End of Academic Year

Grading Policy (certainly tentative)
Homeworks:
15 %
Quizes:
10 %
Projects:
30 %
Midterm Exam:
25% 
Final Exam:
25 %


Attendance: Attendance is important in order to learn the topics in a timely manner. Attendance will be forced either by taking attendance  explicitly or by making quizzes at random times.
Quizzes: There will quizzes every week or every other week. We may not inform you about the quizzes. A quiz may be done at any time during a lecture period.
Homeworks: Homeworks will be assigned about the topics that are taught. Homeworks may include small-scale  programming, running commands, doing configuration on real operating systems. 
Projects: Projects are very important for a course of this kind. We will assign projects that will require substantial amount of programming in C language. The projects may be about developing some internal modules for a real operating system and/or writing programs that make use of low-level service interface (system calls) of operating systems. The projects may be about processes, threads, virtual mamory, synchronization, inter-process communication, file management, I/O handling, etc.
We will be very careful in grading the projects and homeworks  so that everybody gets the grade that he/she deserves. Copying will not be tolerated and will checked rigorously. 
Midterm Exam: There will be one midterm exam that will be given around the mid of the semester.
Final Exam: There will be one final exam that will be given during final exams period of the semester.
Makeup Exam: Depending on the need (for officially reported or extraordinary cases) I may make a makeup exam. But I should warn you that makeup exam will be much more  difficult than the other exams in order to provide  fairness for  students who work on time and take the exam on time, and discourage  students from unnecessarily omitting the exams.