Operating Systems

Learning Outcomes

  1. write an multithreaded program and program which creates multiple processes
  2. demonstrate how interrupt service routine works
  3. apply synchronization mechanisms
  4. list components of operating system kernel
  5. analyze deterministic and non-deterministic task system behaviour
  6. list and explain CPU scheduling algorithms
  7. employ memory allocation mechanisms
  8. explain demand paging
  9. develop file-system functions

Forms of Teaching

Lectures

Exercises

Independent assignments

Laboratory

Week by Week Schedule

  1. Operating system roles, Interfaces, Computer and operating system components, Design issues
  2. Device organization, I/O structure
  3. Interrupts
  4. Threads and processes, Thread management and context switching, Multiprocessor issues
  5. Mutual-exclusion
  6. Kernel
  7. Kernel, Synchronization and communication
  8. Semaphores and monitors, Midterm exam
  9. Semaphores and monitors
  10. Deterministic and stochastic task systems models
  11. Preemptive and non-preemptive scheduling, CPU scheduling
  12. Segmentation, Paging, Hierarchical organization and virtual memory
  13. Types of disks and data organization, File-system organization, File descriptor
  14. Typical file-system functions, Virtual file system, Memory-mapped files
  15. Types of virtualization, Hypervisors and cost of virtualization, Final exam

Study Programmes

University undergraduate
Computing (study)
(4. semester)

Literature

(.), L. Budin, M. Golub, D. Jakobović, L. Jelenković. Operacijski sustavi. Izdavač Element. Prvo izdanje 2010, drugo izdanje 2011, treće izdanje 2013. ISBN 978-953-197-610-7.,
(.), Silberschatz, A., P.B. Galvin, G. Gagne, Operating Systems Concepts, John Wiley&Sons, New York, 2012.,

General

ID 183422
  Summer semester
6 ECTS
L1 English Level
L1 e-Learning
60 Lectures
15 Exercises
5 Laboratory exercises
0 Project laboratory

Grading System

Excellent
Very Good
Good
Acceptable