
Computing
Operating Systems
- Class 60
- Practice 20
- Independent work 100
Course title
Operating Systems
Lecture type
Obligatory
Course code
183422
Semester
4
ECTS
6
Lecturers and associates
- Full Professor PhD Marin Golub
- Full Professor PhD Domagoj Jakobović
- Assistant Professor PhD Leonardo Jelenković
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:
- Software Design
- Communication Networks
- 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
Online education during epidemiological measures
- Study program duration
- 6 semesters (3 years)
- Semester duration
- 15 weeks of active teaching + 5 examination weeks
- Total number of ECTS points
- 180
- Title
- Bacc.ing.comp (Bachelor of Science in Computing)
Academic calendar
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