Modern operating systems
Course: Software engineering
Structural unit: Faculty of Computer Science and Cybernetics
            Title
        
        
            Modern operating systems
        
    
            Code
        
        
            ННД.07
        
    
            Module type 
        
        
            Обов’язкова дисципліна для ОП
        
    
            Educational cycle
        
        
            Second
        
    
            Year of study when the component is delivered
        
        
            2021/2022
        
    
            Semester/trimester when the component is delivered
        
        
            3 Semester
        
    
            Number of ECTS credits allocated
        
        
            5
        
    
            Learning outcomes
        
        
            LO06. Analyze, estimate and choose methods, modern hardware and software systems, programming tools, technologies, algorithmic and software solutions for effective implementation of specific software-related production tasks.
LO07. Justifiably choose programming paradigms and languages for various applications; apply in practice system and specialized tools, component-based frameworks and integrated development environments.
        
    
            Form of study
        
        
            Full-time form
        
    
            Prerequisites and co-requisites
        
        
            1.	Have a notion: about modern computer architecture.
2.	Know: general knowledge in the field of operating systems and system programming, selected topics from distributed computation field. 
3.	Be able to: read C code. 
4.	Have basic skills: of software testing and debugging.
        
    
            Course content
        
        
            The aim of the discipline is comprehensive study of principles for design and implementation of modern operating systems as well as investigation of basic algorithms for hardware and virtual resources management. Understanding of common features and differences between modern operating systems, trends in the system software evolution.
As a result of studying the discipline, the student must:
know principles for design and implementation of modern operating systems, their organization, common algorithms used, virtual resources and abstractions created by them, and also nonconventional approached to operating system construction;
be able to effectively work with modern operating system source code, build them, implement drivers and extensions of modern operating systems, effectively use modern operating system management tools.
        
    
            Recommended or required reading and other learning resources/tools
        
        
            1.	Tanenbaum A. Modern Operating Systems, 4th ed. / Tanenbaum A., Bos H. – Pearson, 2014. – 1136 p.
2.	Russinovich M. Windows Internals, part 1, 6th ed. / Russinovich M., Solomon D., Ionescu A. – Microsoft Press, 2012. – 752 p.
3.	Russinovich M. Windows Internals, part 1, 6th ed. / Russinovich M., Solomon D., Ionescu A. – Microsoft Press, 2012. – 672 p.
4.	Mauerer W. Professional Linux c Kernel Architecture / Mauerer W. – Indianapolis: Wiley publishing, 2008. – 1368 p.
5.	Love R. Linux Kernel Development, 3rd ed. / Love R. – Addison-Wesley, 2010. – 440 p.
6.	Cesati M. Understanding the Linux Kernel, 3rd Ed. / Bovet D., Cesati M. – O’Reilly, 2005. – 944 p.
        
    
            Planned learning activities and teaching methods
        
        
            Lectures, laboratory classes, independent work, test, admission test, homework, defense of laboratory work, exam.
        
    
            Assessment methods and criteria
        
        
            Intermediate assessment:
1. Test: LO1.1, LO1.2 — 24 points.
2. Labs 1-6: LO2.1, LO2.2, LO4.1 — 36 points.
3. Admission test — Fail/Pass.
Final assessment (exam):
- maximum number of points: 40 points;
- learning outcomes to be assessed: LO1.1, LO1.2, LO2.1, LO2.2.
- exam form: written.
- 5 writing assignments.
Students not passing admission test are given two additional assignments regarding general knowledge on operating systems.
Students that earned less than 20 points are not admitted to exam.
        
    
            Language of instruction
        
        
            Ukrainian
        
    Lecturers
This discipline is taught by the following teachers
                    Oleksii 
                    I.
                    Chentsov
                
                
                    Department of Intelligent Software Systems 
Faculty of Computer Science and Cybernetics
            Faculty of Computer Science and Cybernetics
Departments
The following departments are involved in teaching the above discipline
                        Department of Intelligent Software Systems
                    
                    
                        Faculty of Computer Science and Cybernetics