Teaching Assistants
- Cem Mergenci, Email: mergenci AT cs.bilkent.edu.tr; Office Hours: Wed 15:00-17:00; Room: EA405.
Graders
- Caglar Terzi, Email: terzi AT cs.bilkent.edu.tr
- Mustafa Akin, Email: mustafa.akin AT cs.bilkent.edu.tr
- Firat Karatas, Email: firat.karatas AT cs.bilkent.edu.tr
- Gokalp Urul, Email: urul AT bilkent.edu.tr
- Huseyin Acacak, Email: huseyin.acacak AT bilkent.edu.tr
Textbooks
- [Mandatory] Operating System Concepts, A. Silberschatz, P. Galvin, G. Gagne, 9th edition, Wiley, 2012. [[OS-Book]]
- [Mandatory] [K&R book] The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall PTR, 1998. (or any other C book)
Course Description
Introduction to Computer and Operating Systems; Processes; Threads;
Interprocess Communication; Process
Scheduling; Process Synchronization; Deadlocks; Memory Management and
Virtual Memory; File Systems: Interface and Implementation;
Mass-Storage Structure and Management; Input/Output Systems; Examples
from Operating Systems such as Linux and Windows.
Credit units: 4. ECTS Credit units: 6.
Prerequisites: CS 202 and CS 224 are mandatory. You are recommended to take this course in the second semester of your third year in the curriculum, after taking the courses like MATH 230 (Probability and Statistics) and CS 315 (Programming Languages). Part of homeworks and projects will require Probability and Statistics knowledge to do experiments and analyze the results.
Topics
- Introduction/Overview (Chapter 1 and 2)
- Processes, IPC, and Sockets (Chapter 3)
- Threads (Chapter 4)
- CPU Scheduling (Chapter 5)
- Synchronization (Chapter 6)
- Deadlocks (Chapter 7)
- Memory Management (Chapter 8 and 9)
- File Systems (Chapter 10 and 11)
- Secondary Storage Management (Chapter 12)
- Input/Output (Chapter 13)
- Protection and Security (Chapter 14 and 15)
Grading Policy (tentative)
- Quizes: 10%.
- Projects:30%. Around 4 projects.
- Homeworks: 5%. Around 3 homeworks.
- Midterm 1: 15%. Closed book and notes.
- Midterm 2: 15%. Closed book and notes.
- Final exam: 25%. Will cover all topics. Closed book and notes.
- Note that passing the course without taking a
midterm exam is not possible. If you don't take an exam and the
associated makeups you will get an F from the course. You need to
have a doctor report to take a makeup.
- You should expect a makeup exam to be more difficult, since you
have more time to study.
- Students whose project average is less than a threshold value will not be
able to pass the course (will get F), no matter what the other grades are. Threshold may be determined after final exams.
- Attendance is mandatory. A student missing more than 5 hours
will fail the course automatically (will get FZ or F), no matter what the
grades are.
- Grades are posted to the SAPS system.
Other Information
- There will be around 4 projects. Projects are very important and will be
done in Linux operating system using C programming language, unless
otherwise stated. Every student needs to do her best to do a
project. The teaching/learning approach of the course will be Learning by
Doing. Therefore it is very important that you do the projects to really
learn and understand in a long-lasting manner.
- Quizzes and exams may include questions from homeworks and projects.
- We may do a quiz at any time (pop-up quiz). One of the quizzes of a
student will not be counted (the worst one), and therefore, there will be no makeup
for the quizes. A quiz can not be taken from another section. If you
miss a quiz, no matter what the reason is, you will get 0.
- Some projects/homeworks may be done in groups.
- You need to learn C immediately. Today, buy a C book and start writing
some small C programs. Make sure that you can write programs in C.
- All 4 hours in a week may be used.
ABET
The course addresses the following ABET outcomes:
- b5) Able to design and conduct system level experiments and analyze the results.
[measured through parts of Homeworks and Projects. Reports are used in projects. Out of 5.] Will require Probability and Statistics Knowledge.
- c2) Able to design and implement a software system to meet desired needs.
[measured through Projects. Out of 20. ]
- e3) Able to solve engineering problems related to computer systems and applications.
[measured through Midterm and Final Exams. Selected questions - one or more questions in midterm(s) and/or final exam will be used to measure. Out of 100. ]
Academic Honesty
Plagiarism is defined as the action of using or copying someone else's
idea or work and pretending that you thought of it, or created
it. Bilkent University requires that you be aware of the concept and
dangers of plagiarism. In order to conform to international academic
standards, you must respect the individual thoughts, ideas, and
expressions of other authors in sources. In the exams, home-works, and
projects in this course, occurrences of plagiarism will be seriously
dealt with, leading to punishment through disciplinary procedures
which call for a term or two terms of dispelling from the university.