Advanced Operating Systems Concepts

Објавено: June 26, 2023
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