Advanced Operating Systems

Data is displayed for academic year: 2023./2024.

Course Description

Operating systems are vital parts of every computer system and their security is very important. An operating system is a set of programs that act as an intermediary between a user of a computer, the computer hardware and the applications programs. The objective of this course is to study theories, principles and techniques of communication and synchronization mechanisms in distributed systems, device management, computer security, system availability and reliability.

Study Programmes

University graduate
[FER3-HR] Audio Technologies and Electroacoustics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Communication and Space Technologies - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Computational Modelling in Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Computer Engineering - profile
Core-elective courses (1. semester) (3. semester)
[FER3-HR] Computer Science - profile
Core-elective courses (1. semester) (3. semester)
[FER3-HR] Control Systems and Robotics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Data Science - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electrical Power Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electric Machines, Drives and Automation - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electronic and Computer Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Electronics - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Information and Communication Engineering - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Network Science - profile
Elective Courses (1. semester) (3. semester)
[FER3-HR] Software Engineering and Information Systems - profile
Elective Course of the profile (3. semester)
Elective Course of the Profile (1. semester)
Elective Courses (1. semester) (3. semester)
[FER2-HR] Computer Engineering - profile
Specialization Course (1. semester)
[FER2-HR] Computer Science - profile
Theoretical Course (1. semester)
[FER2-HR] Software Engineering and Information Systems - profile
Specialization Course (1. semester)

Learning Outcomes

  1. apply intraprocessor communication mechanisms and communication mechanisms in distributed systems
  2. modify mutual exclusion protocols in real distributed systems
  3. explain and illustrate authentication protocols
  4. describe device management procedures
  5. calculate mean time to data loss
  6. design computer system with redundant array of independent disks (RAID)

Forms of Teaching

Lectures

Once a week.

Laboratory

Laboratory exercises are done independently as part of homework.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Threshold Percent of Grade
Laboratory Exercises 0 % 20 % 0 % 0 %
Quizzes 0 % 10 % 0 % 0 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 0 % 40 %
Exam: Written 50 % 50 %
Exam: Oral 50 %

Week by Week Schedule

  1. Intraprocessor communication. File sharing. Sharing memory.
  2. Message queues. Pipelines.
  3. Mutual exclusion in distributed systems. Lamport's distributed mutual exclusion protocol. Ricart–Agrawala protocol.
  4. Interfaces for using devices through operating system. Synchronous, asynchronous communication. Using devices through busy waiting, interrupts and direct memory access. Basic ideas how to create kernel functions for device management. Problems with device operations in real systems. Device model. Real architectures with devices. Buffers and caches.
  5. Communication protocols for devices: serial and parallel I/O connections, USB, PCI Express, Serial ATA.
  6. Device drivers in Linux. Kernel code execution contexts: calling process, kernel process, atomic (without context). Modules vs device drivers.
  7. Device drivers development: toolchains, modules, virtual device, logging, lists, alarms, job queues, multithreading in kernel, interrupt handling, poll and ioctl interfaces, testing device drivers, debugging.
  8. Midterm exam
  9. Security mechanisms. Threats and attacks. Backup principles. Protection mechanisms. Access control and authorisation. Authentication Protocol Kerberos. Digital certificate.
  10. Security mechanisms of operating system. Authentication and authorization.
  11. Security protocols.
  12. Fundamental concepts (reliable and available systems), Spatial and temporal redundancy.
  13. RAID. Methods used to implement fault tolerance. Operating system support for RAID. Examples of OS mechanisms for detection, recovery, restart to implement fault tolerance. Use of these techniques for the OS’s own services.
  14. Multiprocessor system types. Problems in kernel implementation for multiprocessors systems. Atomic operations. Task scheduling in multiprocessor systems. Linux schedulers, their properties and advanced features with task groups and processor domains.
  15. Final exam

Literature

Budin, L.; Golub, M; Jakobovic, D., Jelenkovc, L (2013.), Operacijski sustavi, Element, Zagreb, Element, Zagreb
Silberschatz, A., P.B. Galvin, G. Gagne (2018.), Operating Systems Concepts, John Wiley&Sons

For students

General

ID 222506
  Winter semester
5 ECTS
L0 English Level
L1 e-Learning
45 Lectures
0 Seminar
0 Exercises
10 Laboratory exercises
0 Project laboratory
0 Physical education excercises

Grading System

88 Excellent
75 Very Good
63 Good
50 Sufficient