OPERATING SYSTEMS - COMP. 304 (1)
2013 SPRING
Class Meeting Location ENG Z27
Class Meeting Times
TH B2,TU B2
Instructor
Office Hours
Office Location
Office Phone
Email
Web Address
ÖZNUR ÖZKASAP
Tue, Thu 15:30-16:30 (or by appointment)
ENG 144
1584
oozkasap@ku.edu.tr
Number of Credits
ECTS Credits
Prerequisites
Language
3
6
(COMP. 132 and COMP. 303) or consent of the instructor
English
Assistant
TA/RA/Lab Assistant Name
Email
ADILET KACHKEEV
SELİN YILMAZ
SENA EFSUN CEBECİ
akachkeev@ku.edu.tr
SEYILMAZ@KU.EDU.TR
senacebeci@ku.edu.tr
Office Hours
Office Location
Course Description
Introduction to operating systems concepts, process management, memory management, virtual memory, input-output and device
management, file management and file systems, job scheduling, deadlocks, interrupt structures, case studies of operating systems.
Course Objectives
An operating system is an essential part of any computer system. The purpose of this course is providing a clear understanding of the
concepts that underlie operating systems. Fundamental concepts and algorithms that will be covered are based on those used in
existing commercial operating systems. The aim is to present these topics in a general setting that is not tied to one particular
operating system. Throughout the course, practical aspects that pertain to the most popular operating systems such as Unix/Linux and
Windows, and some instructional operating systems will be studied as well.
Learning Outcomes
Students who complete this course successfully are expected to:
- gain extensive knowledge on principles and modules of operating systems
- understand key mechanisms in design of operating systems modules
- understand process management, concurrent processes and threads, memory management, virtual memory concepts, deadlocks
- compare performance of processor scheduling algorithms
- produce algorithmic solutions to process synchronization problems
- use modern operating system calls such as Linux process and synchronization libraries
- practice with operating system concepts such as process management, synchronization, networked processes and file systems
Teaching Methods
The course duration is 14 weeks and each week there will be two 75 minute lectures. There will be projects and homeworks related to
concepts covered in class. Besides, there will be a midterm and a final exam. During class/PS hours, quizzes may be given, in order
to help students better understand the material and follow the course attentively. All lecture slides and supplementary material for
assignments and projects will be made available on the course web site.
Course Contents
Session Starting
Number Date
Topics
04/02/2013 Introduction, operating systems concepts and strategies, multiprogramming, overview: operating system
structures
Process Management: process concept, concurrent programming and Unix processes, operations on
11/02/2013
processes, process scheduling
18/02/2013 Process Management: cooperating processes, producer-consumer shared-memory solution
25/02/2013 CPU Scheduling: concepts, criteria, CPU scheduling algorithms, algorithm evaluation and performance
Process Synchronization: race conditions, critical section problem, solutions, semaphores, busy waiting vs
06/03/2013
blocking, deadlock and starvation
13/03/2013 Process Synchronization: classical problems, monitors, condition variables, synchronization examples
18/03/2013 Thread Management: threads, multithreading models, POSIX Threads API, case studies of operating systems
25/03/2013 Deadlocks: system model, characterization, deadlock prevention, deadlock avoidance, deadlock detection
and recovery
01/04/2013 Memory Management: contiguous memory allocation, internal and external fragmentation
15/04/2013 Memory Management: paging, page table structure, segmentation, operating system examples
22/04/2013 Virtual Memory: demand paging, page fault, page replacement algorithms, allocation of frames
29/04/2013 Virtual Memory: thrashing, working set model, other considerations, operating system examples
06/05/2013 Distributed Systems and Networking: network operating systems, client/server model, multithreaded server
models, Unix system calls for client/server communication
13/05/2013 I/O Systems: mass storage structure, disk scheduling, file system, protection and security, case studies
2
2
2
3
2
2
2
2
2
2
2
2
2
2
Assessment Methods
Type
Description
Final Grade, %
Project
Homework
Midterm Test
Final Exam
Individual/Group
Participation, attendance and quizzes
Analysis
25
15
25
30
Total
100
5
Workload Breakdown
Type
Lecture
Tutorial
Assignment
Exam
Independent
Study
Other
Project
Description
Problem sessions
Hours
37
9
20
5
37
Exam study and quizzes
Total
30
39
177
Sources
Reference Materials
Operating Systems: Internals and Design Principles, 6th edition, William Stallings; Prentice Hall, ISBN-10: 0136006329, 2009.
Operating Systems, 3rd edition, Gary Nutt; Pearson/Addison Wesley, ISBN 0-201-77344-9, 2004.
Modern Operating Systems, 3rd edition, Andrew S. Tanenbaum; Prentice Hall, ISBN-10: 0-13-600663-9, 2008.
Required TextBooks
Operating Systems Concepts, 8th edition, Abraham Silberschatz, Peter Baer Galvin, Greg Gagne; Wiley, ISBN 0-470-12872-0,
2010.
Other
N/A
Academic Dishonesty
The students taking this course are expected to submit their own work in all homeworks, projects and exams. Academic dishonesty
includes using other people's words or ideas without acknowledgement, cheating on exams, projects, and homeworks. In case any of
the academic dishonesties are disclosed, disciplinary action and/or reduction of the final letter grade will follow.