Poll

No polls currently selected on this page!

Repository

Repository is empty

Operating systems

Code: 45691
ECTS: 5.0
Lecturers in charge: doc. dr. sc. Leonardo Jelenković
Lecturers: doc. dr. sc. Leonardo Jelenković - Exercises
English level:

1,0,0

All teaching activities will be held in Croatian. However, foreign students in mixed groups will have the opportunity to attend additional office hours with the lecturer and teaching assistants in English to help master the course materials. Additionally, the lecturer will refer foreign students to the corresponding literature in English, as well as give them the possibility of taking the associated exams in English.
Load:

1. komponenta

Lecture typeTotal
Lectures 30
Exercises 15
* Load is given in academic hour (1 academic hour = 45 minutes)
Description:
COURSE AIMS AND OBJECTIVES: Introducing the concepts of modern operating systems .

COURSE DESCRIPTION AND SYLLABUS:
Hierarchically layered structure of the operating systems. Operating system as the interface between users and computing devices. Model of thread (instruction stream) in rudimentary computer. Multithreading based on context switching. Broadening of rudimentary computer with input-output devices. Single character transfer. Interrupt synchronization of input-output. Hardware and software interrupts. Transferring blocks of characters by direct memory access. Execution of threads in multiprocessor systems. Programs, processes, threads. Threads address spaces as process subspaces. Multithreaded realization of systems of tasks. Independent and dependent threads. Determinate systems of threads. Mutual exclusion of threads. Hardware support for mutual exclusion. Model of simple kernel as an environment for thread execution. Kernel functions for binary and general semaphores, for input-output and for time delay. Producer-consumer problem. Thread synchronization. Deadlocks. Concept of monitor. Additional kernel functions for monitor realization. Thread coordination and synchronization by monitors. Timing analysis in computer systems. Deterministic thread scheduling. Basic scheduling models in non-deterministic systems. First-come-first-served and round robin scheduling. Storage management. Properties of backing-store devices. Static and dynamic memory allocation. Problem of fragmentation. Overlaid allocation. Memory allocation by paging. Demand paging. Hardware support for paging: translations look-aside buffer (TLB). Slowdown of process execution caused by page faults. Page replacement strategies. Working set of pages. The role of files in computer systems. File structures. File allocation on disks. File descriptors and file directories. Basic properties of functions for creation and deletion, opening and closing, reading and writing of files. Inter-process communication inside single computer system: shared memory, message passing (between threads in different processes). Basics of networking. Communication in distributed systems: message passing, remote procedure call, distributed shared memory. Mutual exclusion in distributed systems: time ordering of events, local and global clocks. Mutual exclusion protocols: centralized protocol, moving token protocol, distributed Lamport's protocol.
Literature:
Prerequisit for:
Enrollment :
Attended : Computer architecture

Examination :
Passed : Computer architecture
2. semester
Mandatory course - Regular study - Computer Science and Mathematics
Consultations schedule: