Main Page     Information on the Institution     Degree Programs     General Information for Students     Türkçe  

 DEGREE PROGRAMS


 Associate's Degree (Short Cycle)


 Bachelor’s Degree (First Cycle)


 Master’s Degree (Second Cycle)

  Course Description
Course Name : Operating System Design

Course Code : CENG-508

Course Type : Optional

Level of Course : Second Cycle

Year of Study : 1

Course Semester : Spring (16 Weeks)

ECTS : 6

Name of Lecturer(s) : Asst.Prof.Dr. MUTLU AVCI

Learning Outcomes of the Course : Understands design of operating systems
Learns processes and threads; develops software on Windows and Linux platform about this subject
Comprehends concurrency, mutual exclusion, semaphores; develops software on Windows and Linux platform about this subject
Learns CPU scheduling and develops software on Windows and Linux platform about this subject
Learns address spaces, address translation and caching; develops software on Windows and Linux platform about this subject
Learns page allocation and replacement; develops software on Windows and Linux platform about this subject
Comprehends Kernel/User layers and Input/Output operations; develops software on Windows and Linux platform about this subject
Learns file systems; develops software on Windows and Linux platform about this subject

Mode of Delivery : Face-to-Face

Prerequisites and Co-Prerequisites : None

Recommended Optional Programme Components : None

Aim(s) of Course : The purpose of this course is to teach the design of operating systems.

Course Contents : Concepts of operating systems, networking, systems programming, including multiple-program systems (processes, interprocess communication, and synchronization), memory allocation (segmentation, paging), resource allocation and scheduling, file systems, basic networking (packet switching, file control, reliability), basic databases (transaction, SQL) security, and privacy.

Language of Instruction : English

Work Place : Classroom


  Course Outline /Schedule (Weekly) Planned Learning Activities
Week Subject Student's Preliminary Work Learning Activities and Teaching Methods
1 Introduction to Operating System Design Reading corresponding subject of text book Slide presentation
2 Services, Structures, Processes, and Threads Reading corresponding subject of text book Slide presentation and Linux environment demonstration
3 Concurrency and Thread Dispatching Reading corresponding subject of text book + Homework 1 Slide presentation and Linux environment demonstration
4 Synchronization: Cooperating Threads, Mutual Exclusion, Semaphores, Condition Variables, Readers/Writers Reading corresponding subject of text book + Homework 2 Slide presentation and Linux environment demonstration
5 CPU Scheduling Reading corresponding subject of text book + Homework 3 Slide presentation and Linux environment demonstration
6 Address Spaces, Address Translation, Caching, and TLBs Reading corresponding subject of text book + Homework 4 Slide presentation and Linux environment demonstration
7 Page Allocation and Replacement Reading corresponding subject of text book + Homework 5 Slide presentation and Linux environment demonstration
8 Midterm exam Classical exam
9 Kernel/User and Input/Output Reading corresponding subject of text book + Homework 6 Slide presentation and Linux environment demonstration
10 Hard Disks, Solid State Disks and Filesystems Reading corresponding subject of text book + Homework 7 Slide presentation and Linux environment demonstration
11 Key-Value Store, Networking, Protocols Reading corresponding subject of text book + Homework 8 Slide presentation and Linux environment demonstration
12 Layering, Flow Control, Reliability, TCP Reading corresponding subject of text book + Homework 9 Slide presentation and Linux environment demonstration
13 Transactions and Transactions Scheduling Reading corresponding subject of text book + Homework 10 Slide presentation and Linux environment demonstration
14 Fault-Tolerant Computing Reading corresponding subject of text book + Homework 11 Slide presentation and Linux environment demonstration
15 Protection & Security: Authentication, Cryptographic Mechanisms, Buffer Overflow Attacks, DoS Attacks Reading corresponding subject of text book + Homework 12 Slide presentation and Linux environment demonstration
16/17 Remote Procedure Call and Distributed Filesystems Reading corresponding subject of text book + Homework 13 Slide presentation and Linux environment demonstration


  Required Course Resources
Resource Type Resource Name
Recommended Course Material(s)  Operating System Concepts, A. Silberschatz, G. Gagne, P. B. Galvin, Wiley, Seventh Edition, 2005.
 Operating Systems: Design and Implementation, A. S. Tanenbaum, A. S. Woodhull, Pearson Prentice Hall, Third Edition, 2006.
 İşletim Sistemleri ve Sistem Programlama, Mutlu Avcı, B. Melis Özyıldırım, Onur Ülgen, Karahan Yayınları, 2. baskı, 2012.
 Operating Systems: Internals and Design Principles, William Stallings, Prentice Hall, 7th Edition, 2011.
Required Course Material(s)


  Assessment Methods and Assessment Criteria
Semester/Year Assessments Number Contribution Percentage
    Mid-term Exams (Written, Oral, etc.) 1 70
    Homeworks/Projects/Others 12 30
Total 100
Rate of Semester/Year Assessments to Success 40
 
Final Assessments 100
Rate of Final Assessments to Success 60
Total 100

  Contribution of the Course to Key Learning Outcomes
# Key Learning Outcome Contribution*
1 Reaches wide and deep knowledge through scientific research in the field of computer engineering, evaluates, implements, and comments. 5
2 Describes and uses information hidden in limited or missing data in the field of computer engineering by using scientific methods and integrates it with information from various disciplines. 4
3 Follows new and emerging applications of computer engineering profession, if necessary, examines and learns them 5
4 Develops methods and applies innovative approaches in order to formulate and solve problems in computer engineering. 4
5 Proposes new and/or original ideas and methods in the field of computer engineering in developing innovative solutions for designing systems, components or processes. 4
6 Designs and implements analytical modeling and experimental research and solves the complex situations encountered in this process in the field of Computer Engineering 5
7 works in multi disciplinary teams and takes a leading role and responsibility. 0
8 Learns at least one foreign language at the European Language Portfolio B2 level to communicate orally and written 0
9 Presents his/her research findings systematically and clearly in oral and written forms in national and international meetings. 1
10 Describes social and environmental implications of engineering practice. 0
11 Considers social, scientific and ethical values in collection, interpretation and announcement of data. 5
12 Acquires a comprehensive knowledge about methods and tools of computer engineering and their limitations. 4
* Contribution levels are between 0 (not) and 5 (maximum).

  Student Workload - ECTS
Works Number Time (Hour) Total Workload (Hour)
Course Related Works
    Class Time (Exam weeks are excluded) 15 4 60
    Out of Class Study (Preliminary Work, Practice) 13 3 39
Assesment Related Works
    Homeworks, Projects, Others 12 3 36
    Mid-term Exams (Written, Oral, etc.) 1 10 10
    Final Exam 1 12 12
Total Workload: 157
Total Workload / 25 (h): 6.28
ECTS Credit: 6