1. | Course Title | Advanced Operating Systems Concepts | |||||||||||
2. | Code | 4ФЕИТ07009 | |||||||||||
3. | Study program | 7-NKS, 8-KM-INN, 20-IMSA | |||||||||||
4. | Organizer of the study program (unit, institute, department) | Faculty of Electrical Engineering and Information Technologies | |||||||||||
5. | Degree (first, second, third cycle) | Second cycle | |||||||||||
6. | Academic year/semester | I/1 | 7. | Number of ECTS credits | 6.00 | ||||||||
8. | Lecturer | Dr Marija Kalendar | |||||||||||
9. | Course Prerequisites | ||||||||||||
10. | Course Goals (acquired competencies):
Knowledge of advanced concepts of OS elements, OS modularity and OS drivers, complex concepts of process communication and management of memory and I/O devices in parallel and distributed environments, as well as the specifics of virtual systems, embedded systems and operating systems in real time. After completing the course, students will have competencies for: advanced knowledge of the elements of an OS; knowledge of management and maintenance of computer systems; knowledge of working with administrator scripts and OS management; knowledge and capacity to apply concepts and functionalities from distributed OS; knowledge and usage of a variety of application-specific software and hardware design platforms; as well as knowledge to evaluate the selected solutions according to appropriate characteristics and qualifiers; to plan, design and implement appropriate complete system projects. |
||||||||||||
11. | Course Syllabus:
Following up on elements of Operating Systems. Advanced concepts of all OS elements: system boot process and all activating system processes, memory management, I/O, file systems and security. Concepts of the modern OS kernel architecture and its elements. Working with Admin scripts. A detailed overview of the design and operation of system calls in Windows and UNIX/Linux based operating systems. Tracing system calls across a kernel. OS kernel upgrading. Modules and drivers as part of the OS kernel. Design, implementation, testing of OS kernel modules. Parallelization and virtualization in operating systems. Virtualization of processors, memory and storage. Synchronization, communication and deployment in parallel OSes. Advanced concepts from distributed operating systems and their mechanisms. Failures and Recovery Management in Distributed OSes. System support for Internet-scale computing. Operating systems for embedded computer systems: Android, Linux, NetBSD, Windows Mobile. Building an OS for a specialized embedded system: development tools, cross-compiling, adding a file system, linking memory. Linking the OS to specific hardware from the embedded platform. Extending with specific elements for real-time operating systems – RTOS and deployment of real-time processes. |
||||||||||||
12. | Learning methods:
Lectures, independent work on course project tasks and preparation of seminar papers. |
||||||||||||
13. | Total number of course hours | 180 | |||||||||||
14. | Distribution of course hours | 3 + 3 | |||||||||||
15. | Forms of teaching | 15.1 | Lectures-theoretical teaching | 45 hours | |||||||||
15.2 | Exercises (laboratory, practice classes), seminars, teamwork | 45 hours | |||||||||||
16. | Other course activities | 16.1 | Projects, seminar papers | 30 hours | |||||||||
16.2 | Individual tasks | 30 hours | |||||||||||
16.3 | Homework and self-learning | 30 hours | |||||||||||
17. | Grading | ||||||||||||
17.1 | Exams | 0 points | |||||||||||
17.2 | Seminar work/project (presentation: written and oral) | 50 points | |||||||||||
17.3. | Activity and participation | 0 points | |||||||||||
17.4. | Final exam | 50 points | |||||||||||
18. | Grading criteria (points) | up to 50 points | 5 (five) (F) | ||||||||||
from 51 to 60 points | 6 (six) (E) | ||||||||||||
from 61 to 70 points | 7 (seven) (D) | ||||||||||||
from 71 to 80 points | 8 (eight) (C) | ||||||||||||
from 81 to 90 points | 9 (nine) (B) | ||||||||||||
from 91 to 100 points | 10 (ten) (A) | ||||||||||||
19. | Conditions for acquiring teacher’s signature and for taking final exam | 60% success from all curriculum activities | |||||||||||
20. | Forms of assessment |
The exam consists of two parts (Can be completed as two partial exams): First partial exam – theoretical part: Test questions and problems (70 min) and Second partial exam – practical part: Finishing and presenting an independent practical project. The use of books, scripts, manuscripts or notes is partially allowed during the exam, but the use of calculators, mobile phones, tablets or any other electronic devices is not allowed. |
|||||||||||
21. | Language | Macedonian and English | |||||||||||
22. | Method of monitoring of teaching quality | Self-evaluation | |||||||||||
23. | Literature | ||||||||||||
23.1. | Required Literature | ||||||||||||
No. | Author | Title | Publisher | Year | |||||||||
1. | William Stallings | Operating Systems: Internals and Design Principles, 9 Ed. | Pearson | 2017 | |||||||||
2. | A. Silberschatz, G. Gagne, P. B. Galvin | Operating System Concepts 10th Edition | Wiley | 2021 | |||||||||
3. | Robert Love | ”Linux Kernel Development”, 3rd Edition | Addison-Wesley | 2010 | |||||||||
23.2. | Additional Literature | ||||||||||||
No. | Author | Title | Publisher | Year | |||||||||
1. | Ian Gorton | Foundations of Scalable Systems: Designing Distributed Architectures 1st Edition | O’Reilly Media | 2022 | |||||||||
2. | Kaiwan N Billimoria | Linux Kernel Programming: A comprehensive guide to kernel internals, writing kernel modules, and kernel synchronization | Packt Publishing | 2021 |