Cinsdikici's Diary

Assoc.Prof.Dr. Muhammed Cinsdikici

Archive for the ‘Operating Systems’ Category

Operating Systems

UBI506 – Operating Systems Course

Posted by cinsdikici on March 3, 2016

Course Unit Title Operating Systems
Course Unit Code UBE 506
Course Time: Wednesday [18:00-21:00], Friday [9:30-12:00]
Course Room: UBE, Room 103
Level of Course Unit M.Sc.
Number of ECTS Credits Allocated 7,5
Theoretical 3
Semester Spring
Name of Lecturer(s) Asst. Prof. Dr.Muhammed Cinsdikici,, office phone: 3205
Mode of Delivery Face-To-Face
Language Turkish
Assistant Kaya Oğuz,, office phone: 3242
Objectives of the Course The aim of this course is to introduce the theory and implementation of operating system concepts with emphasis on concepts on sample operating systems like Unix, Linux, Windows and show how the sharing resources.
Textbook 1. Silberschatz Galwin, Operating System Concepts, Edition, Wiley, 20142. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems – Design and Implementation- (3.rd Edition),Prentice Hall, 2006
Learning Outcomes
  1. To conceive the components of operating systems.
  2. Ability to explain general working  principles of operating systems.
  3. Ability to compare the  kinds and properties of operating systems.
  4. To realize the problems about sharing resources of a computer system.
  5. Ability to conceive operating system’s services.
  6. Ability to explain the concepts of process, deadlock; process scheduling algorithms, memory management and file systems.
  7. Ability to investigate the resource sharing methods’ effects to a computer performance
  8. Ability to develop software which contains multithreaded architecture and is protected from deadlock
  9. Ability to give a presentation, explanation about specific subject related the operating systems by research deeply.
  10. Awareness of ethics problems about operating systems.
Course Contents Process, process communication, Scheduling Synchronization, memory management, virtual memory, paging, swapping, file systems, input-output security, protection, deadlock avoidance algorithms, Unix basic concepts, introduction to distributed systems.
Grading & Projects %15 HomeWorks + %30 MidTerm + %40 Final Exam + %15

Final Project Late submission of the homeworks and projects are not going to be accepted. 

The assessment principals are;


On time submission are scored as max.100/100

One week late submissions are scored as max. 80/100

Two weeks late submissions are scored as max. 60/100Others are scored as 0.

Weekly Detailed Course Contents
  Theoretical Slides Laboratory Suplementary Materials
1 Introduction Definition of operating system, basis components of an computer system, interrupt handling types, storage hierarchy, structure of an operating system, basis chapter abstracts: process management, memory management. Introduction Computer Pioneers HistoryCharles Babbages Difference MachineHuman’s OS
2 System Structures Operating system services, operating system interfaces  (GUI and CLI), system calls and relation with operating system, system programs, MS-DOS structure, Unix system structure, microkernel  system structure, Mac OS X and Solaris system structure, virtual machines. OS Structures Research Assignment History of GUI

MsDOS Source Codes


[Thnx to my student Muhammed Ali Sürücü for the following suplimentary materials]

System Calls on Linux with code sample

Linux System Call Quick Reference


3 Process Concept Process, process scheduling, process synchronization, interoperating processes, process communication, inter process synchronization on server-client  Processes Process Creation Lab on Linux OS
4 MultiThreaded Programming Threads, multi-thread model, POSIX threads (Pthread),  Windows XP threads, Linux and Java threads  Threads Java Thread Library Coding
5 Synchronization Process synchronization, critical section problem, Peterson’s solution, hardware-base synchronization, semaphores, classical synchronization problems, monitor concept. Process Synchronization Semaphore implementationCode assignment aboutJava threads
6 Process Scheduling CPU scheduling subjects: scheduling criterias, multi CPU scheduling, scheduling algorithms, real-time scheduling, thread scheduling, examples from operating systems, Java thread synchronization code example. CPU Scheduling[Previous Version of the  Slide]  Research for Queue Systems Customer Queueing SystemSimulating QueueSabarimala Virtual Queue System 🙂
7   Midterm    
8 Deadlocks Deadlock problem, deadlock prevention methods, avoidance methods from deadlock, deadlock recovery. Classical deadlock problems and solutions, sample codes Deadlock  Deadlock avoidance implementation OS DeadlockBankers AlgorithmDeadlock in traffic
9 Memory Management Strategies Memory management, swapping, contiguous allocation paging, segmentation, segmentation with paging. Memory Management LitterateurResearch  How CPU Works?Fetch/Decode/ExecutePage Tables
10 Virtual-Memory Management Virtual memory, paging on demand, process creation, page reallocation, frame replacement, Segmentation on demand, examples from operating systems. Virtual Memory Management Book Reading LRU Approaximation: Second Chance (!)

Clock & Second Chance Algorithm s Presentation

11 Mass Storage Structure Disk Structure, Disk Scheduling, Disk Management, Swap-Space management  Mass Storage Structure  Research on Disk Drives
12 File System Interface File system interface, file concept, file access, file sharing and file protection, file associating.  File System Interface  Linux/Win8 File Management System Information
13 File-Systems Implementation File systems implementation, Allocation methods, free space management  File Systems Implementation  FAT32/NTFS Info
14 Case Studies Linux Systems, Windows 7
15   Final Exam    


Recommended or Required Reading     2. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 20041. Andrew S. Tanenbaum, Albert S.Woodhull, The Minix book: Operating Systems – Design and Implementation- (3.rd Edition),Prentice Hall, 20062. Silberschatz Galwin, Operating System Concepts with JAVA, Wiley, 2004

Read the rest of this entry »

Posted in Operating Systems | Leave a Comment »