Advanced Operating Systems

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 computer security, system availability and reliability.

General Competencies

Students will have the ability to recognize security threats, computer system weaknesses and will be able to propose appropriate system protection procedures and techniques. Students will develop theoretical and practical knowledge about cryptography, fundamentals of computer security, operating system security mechanisms and secure systems design principles. Students will be able to use cryptography algorithms and apply protocols for key exchange, authentication and authorisation. Furthermore, students will be able to apply an instance of RAID system for increasing data availability and reliability.

Learning Outcomes

  1. apply intraprocessor communication mechanisms
  2. modify mutual exclusion protocols in real distributed systems
  3. illustrate authentication protocols and key exchange protocols
  4. assemble hash functions, symmetric and asymmetric algorithms into complex cryptosystems
  5. calculate mean time to data loss
  6. design computer system with redundant array of independent disks (RAID)

Forms of Teaching


Teaching is organized into two teaching cycles (15-week classes, 3 hours per week). First cycle consists of 7-week classes and midterm exam. Second cycle consists of 6-week classes and final exam.


Short tests. Midterm exam. Final exam.

Laboratory Work

Two laboratory exercises.



Programming Exercises

Programming tasks.

Grading Method

Continuous Assessment Exam
Type Threshold Percent of Grade Comment: Percent of Grade
Laboratory Exercises 0 % 10 % 0 % 0 %
Quizzes 0 % 10 % 0 % 0 %
Mid Term Exam: Written 0 % 30 % 0 %
Final Exam: Written 0 % 50 %
Exam: Written 0 % 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. Security mechanisms. Threats and attacks. Security demands.
  5. Symmetric cryptosystems. Advanced Encryption Standard (AES). Block cipher modes of operation (ECB, CBC, CFB, OFB, CTR).
  6. Asymmetric cryptosystems (RSA, digital envelope). RSA cryptosystem analysis.
  7. Hash functions (SHA). Digital signature. Sealed digital envelope.
  8. Midterm exam
  9. Key management and key exchange protocols. Diffie-Hellman key exchange protocol. Authentication protocols.
  10. Access control and authorisation. Authentication Protocol Kerberos. Digital certificate. Public key infrastructure. X.509 certificate and authentication protocols.
  11. Array of disks. Striped disk array: byte-level and block-level striping.
  12. Failure rate models. System components reliability and availability, fault tolerance.
  13. Two-component and multi-component system modelling.
  14. Redundant disk array organisation. Mean time to data loss for various redundant disk arrays.
  15. Final exam

Study Programmes

University graduate
Computer Engineering (profile)
Specialization Course (2. semester)
Computer Science (profile)
Theoretical Course (2. semester)
Software Engineering and Information Systems (profile)
Specialization Course (2. semester)


Budin, L.; Golub, M; Jakobovic, D., Jelenkovic, L (2010.), Operacijski sustavi, Element, Zagreb
B. Schneier (1996.), Applied Cryptography, J. Wiley & Sons
R. Anderson (2001.), Security Engineering, J. Wiley & Sons


Grading System

ID 34513
  Summer semester
L1 English Level
L1 e-Learning
45 Lecturers
0 Exercises
0 Laboratory exercises


88 Excellent
75 Very Good
63 Good
50 Acceptable