Subject

Operating Systems

1. Course Title Operating Systems
Operating systems
2. Code F23L2S017
3. Study Programme Application of Information Technologies, Software Engineering and Information Systems, Computer Science, Computer Engineering, Internet, Networks and Security, Software Engineering and Information Systems, Informatics Education, Security, Cryptography and Coding
4. Organizer of the study programme (unit, institute, department or division) Faculty of Computer Science and Engineering
5. Degree level (first, second, third cycle) First Cycle
6. Academic year / semester 4 / Summer
7. Number of ECTS credits 6
8. Teacher Boro Jakimovski, Dimitar Trajanov, Igor Mishkovski, Milos Jovanovic, Nevena Acakovska, Riste Stojanov, Sasho Gramatikov, Vesna Dimitrova
9. Prerequisites for enrolling in the course Computer Architecture and Organization or Computer Architectures
10. Objectives of the course programme (competences) The student will be introduced to the fundamental building blocks of modern operating systems through their concrete implementation in Windows and UNIX-like systems.
11. Course content Lectures:
1. Introduction. Processes
2. Processes
3. Process Deployment
4. Interprocess communication
5. Inter-process communication and Deadlock
6. Memory management. Virtual memory.
7. Page replacement algorithms in virtual memory
8. File systems
9. Implementation of file systems
10. File System Partitioning and Reliability (RAID)
11. Input-Output Devices and SSDs

Practical Classes:
1. UNIX Basics & Process Commands
2. Creating processes (fork & exec)
3. Scheduling Policies (FCFS, SRTN, RR, etc.)
4. Java Threads and Parallelism
5. Synchronization: race conditions and examples
6. Banker's Algorithm and Memory Management Tasks
7. Memory Management Tasks and Unix File Handling
8. UNIX: Redirection, Filtering, and Regular Expressions
9. Unix: Working with the File System
10. Command Procedures in UNIX (Part 1)
11. Command Procedures in UNIX (Part 2)
12. Learning methods Lectures supported by slide presentations, interactive lectures, exercises (using equipment and software packages), teamwork, case studies, guest lecturers, independent preparation and defense of a project assignment and seminar paper, learning in an electronic environment (forums, consultations).
13. Total available time 6 ECTS x 30 hours = 180 hours
14. Distribution of available time 30 + 45 + 15 + 15 + 75 = 180 hours
15. Forms of teaching activities
15.1. Lectures - theoretical instruction 30 hours
15.2. Exercises (laboratory, auditory), seminars, teamwork 45 hours
16. Other forms of activities
16.1. Project assignments 15 hours
16.2. Independent assignments 15 hours
16.3. Home study 75 hours
17. Assessment method
17.1. Tests 10 points
17.2. Seminar paper / project (presentation: written and oral) 15 points
17.3. Activities and learning 10 points
17.4. Final exam 70 points
18. Grading criteria (points / grade)
up to 50 points5 (five) (F)
from 51 to 60 points6 (six) (E)
from 61 to 70 points7 (seven) (D)
from 71 to 80 points8 (eight) (C)
from 81 to 90 points9 (nine) (B)
from 91 to 100 points10 (ten) (A)
19. Requirement for obtaining a signature and taking the final exam Activities 15.1 and 15.2 completed
20. Language of instruction Macedonian and English
21. Method for monitoring the quality of teaching internal evaluation and survey mechanism
22. Literature
22.1. Required literature
1. Andrew S. Tanenbaum | Modern Operating Systems, 5th Edition | Pearson | 2022
2. William Stalings | Operating Systems: Internals and Design Principles 9th Edition | Pearson | 2017
3. Abraham Silberschatz, Greg Gagne, Peter B. Galvin | Operating System Concepts 10th Edition | Wiley | 2021
4.
22.2. Additional literature
No. Author Title Publisher Year