Study

Computing

Operating Systems

  • Class 60
  • Practice 20
  • Independent work 100
Total 180

Course title

Operating Systems

Lecture type

Obligatory

Course code

183422

Semester

4

ECTS

6

Lecturers and associates

Course objectives

Operating system roles; Interfaces; Computer and operating system components; Design issues.
Device organization; I/O structure.
Interrupts.
Threads and processes; Thread management and context switching; Multiprocessor issues.
Mutual-exclusion.
Kernel.
Kernel; Synchronization and communication.
Semaphores and monitors; Midterm exam.
Semaphores and monitors.
Deterministic and stochastic task systems models.
Preemptive and non-preemptive scheduling; CPU scheduling.
Segmentation; Paging; Hierarchical organization and virtual memory.
Types of disks and data organization; File-system organization; File descriptor.
Typical file-system functions; Virtual file system; Memory-mapped files.
Types of virtualization; Hypervisors and cost of virtualization; Final exam.

Prerequisites for:

  1. Software Design
  2. Communication Networks
  3. Software Design Project

Required reading

L. Budin, M. Golub, D. Jakobović, L. Jelenković (2013.), Operacijski sustavi, treće izdanje 2013., Element
Silberschatz, A., P.B. Galvin, G. Gagne (2012.), Operating Systems Concepts, John WileyandSons

Minimal learning outcomes

  • Write an multithreaded program and program which creates multiple processes
  • Demonstrate how interrupt service routine works
  • Apply synchronization mechanisms
  • List components of operating system kernel
  • Analyze deterministic and non-deterministic task system behaviour
  • List and explain CPU scheduling algorithms
  • Employ memory allocation mechanisms
  • Explain demand paging
  • Develop file-system functions
SHARE : Facebook Twitter