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.5.
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.
Textbooks
- [Mandatory] Operating System Concepts, A. Silberschatz, P. Galvin, G. Gagne, 9th edition, Wiley, April 2013. [[OS-Book]]
- [Mandatory] [KR book] The C Programming Language, by Brian W. Kernighan and Dennis M. Ritchie, Prentice Hall PTR, 1998. (or any other C book)
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)
- Projects: 30%. Around 4 projects.
- Homeworks-Quizes: 10%.
- Midterm: 30%. Closed book and notes.
- Final exam: 30%. Will cover all topics. Closed book and notes.
- Note that passing the course without taking a
midterm exam or final exam is not possible. If you don't take an exam and the
associated makeups you will get an FX from the course. You need to have a doctor report to take a makeup exam. If you did not take an exam and have a doctor report, you need to inform the instructor immediately so that you can take a makeup exam.
- 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. You should expect project threshold to be around 40/100 (project average) (tentative and may change).
- You should expect F threshold to be around 40-45/100 (course total) (tentative and may change).
- Attendance is mandatory. A student missing for more than 25 % will fail the course automatically (will get FZ, FX, or F), no matter what the grades are. Hence required attendance is 75 % of all lectures hours done by the end of semester. It is the responsibility of the student to join to a zoom session with an email address that is registered in STARS so that attendance for the student can be checked; otherwise student will be absent from the session.
- 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.
- Exams may include questions from homeworks and projects.
- We may do a quiz at any time (pop-up quiz).
- 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 if necessary.
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.