ID: 7090
Course type: scientific and vocational
Course coordinator: Lazović M. Goran
Lecturers: Lazović M. Goran
Contact: Lazović M. Goran
Level of studies: B.Sc. (undergraduate) Academic Studies – Information Technologies in Mechanical Engineering
ECTS: 6
Final exam type: written+oral
Department: Department of Information Technologies in Mechanical Engineering
The main goal of this course is to understand the basic concepts and algorithms in the design and implementation of operating systems. As basis, the xv6 operating system is used.
Students will be able to analyze and improve the implementation of individual operating system components. Furhermore, with the acquired knowledge, they will be able to write sophisticated programs using advanced programming techniques.
Development of operating systems. Processor, processor virtualization. Processes, process abstraction. Process scheduling, process scheduling policies. Inter processes communication. Memory, memory virtualization. Segmentation, paging. Page replacement, page replacement policies. Threads, concurent execution. Critical section, race conditions. Synchronization, classic synchronization problems. Deadlock. File system, file system implementation.
Laboratory exercises keep track to the content of the course and for the most part are reduced to the appropriate adaptation of the source xv6 code.
Кnowledge of C programming
Computer lab
Total assigned hours: 75
New material: 30
Elaboration and examples (recapitulation): 0
Auditory exercises: 20
Laboratory exercises: 10
Calculation tasks: 0
Seminar paper: 0
Project: 0
Consultations: 0
Discussion/workshop: 0
Research study work: 0
Review and grading of calculation tasks: 0
Review and grading of lab reports: 0
Review and grading of seminar papers: 0
Review and grading of the project: 0
Test: 7
Test: 8
Final exam: 0
Activity during lectures: 10
Test/test: 40
Laboratory practice: 0
Calculation tasks: 0
Seminar paper: 0
Project: 0
Final exam: 50
Requirement for taking the exam (required number of points): 30
B. Đorđević, D. Pleskonjić, N. Maček; Operativni sistemi – koncepti; Viša elektrotehnička škola; 2004; Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau; Operating Systems: Three Easy Pieces; Arpaci-Dusseau Books; 2018; R. Cox, F. Kaashoek, R. Morris; xv6: a simple, Unix-like teaching operating system, MIT; 2024