Lecturer(s)
|
-
Kostlán Jiří, Ing.
-
Dočkal Jakub, Ing. Ph.D.
-
Jón Karel, Ing.
|
Course content
|
1. Introduction, history, architecture and components of OS 2. Process, implementation of a process, constructions to create processes 3. Critical section issues, spin-lock, semaphores, cooperation of processes 4. Implementation of semaphores. Monitors and their implementation 5. Messages, RPC. Common problem of IPC: Dining philosophers. 6. Process scheduling -- general, batch systems. 7. Process scheduling -- interactive systems. Deadlock. 8. Detection and recovery, prevention. Main memory management, basic mechanisms. 9. Virtual memory 10.Management of I/O 11.File systems. 12.Security in OS 13.Case studies -- UNIX (Linux), MS Windows (7, Vista, XP).
|
Learning activities and teaching methods
|
Lecture supplemented with a discussion, Seminar classes, Individual study, Practicum
- Individual project (40)
- 40 hours per semester
- Contact hours
- 65 hours per semester
- Preparation for formative assessments (2-20)
- 15 hours per semester
- Preparation for an examination (30-60)
- 36 hours per semester
|
prerequisite |
---|
Knowledge |
---|
Use the basics of application programming in the C or Java programming language |
Understand the basic concepts of software development (program, process, file, thread) |
Use basic data structures (queue, stack, hash table) |
Characterize the basic components and architectures of a computing system |
Skills |
---|
Know MS Windows or GNU/Linux operating system |
Use basic system tools to manage and inform about processes and system resources |
Create an application in the selected programming language and test the application |
Detect basic problems when the software is running |
Competences |
---|
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
N/A |
learning outcomes |
---|
Knowledge |
---|
Analyze the basic requirements for an operating system |
Describe the basic services provided by the operating system |
Describe the basic modules of the operating system |
Describe and illustrate the basic problems of concurrency and critical sections of parallel processes and threads |
Explain the basic protection mechanisms used in operating systems |
Compare different approaches to implementing operating system services |
Skills |
---|
Create a simple multi-process or multi-threaded application |
Design an efficient method of treating synchronization and treating a critical section in the program code |
Use basic commands and create command scripts under GNU/Linux OS |
Analyze and graphically represent the processing flow of a multiprocess application |
Determine the appropriate RAID storage type for your specific data storage needs |
Competences |
---|
N/A |
N/A |
N/A |
N/A |
teaching methods |
---|
Knowledge |
---|
Lecture supplemented with a discussion |
Individual study |
Seminar classes |
Skills |
---|
Practicum |
Competences |
---|
Lecture |
Practicum |
Seminar classes |
assessment methods |
---|
Knowledge |
---|
Written exam |
Skills |
---|
Seminar work |
Competences |
---|
Written exam |
Seminar work |
Recommended literature
|
-
Dráb, M. Jádro systému Windows, Kompletní průvodce programátora. Computer Press, 2011. ISBN 9788025127315.
-
Snyder, G.; Nemeth, E. Linux, Kompletní příručka administrátora. Computer Press, 2008. ISBN 9788025124109.
-
Stallings, W. Operating systems: Internals and Design Principles. Limited. Pearson Educetion, 2011. ISBN 9780132309981.
-
Stones, R.; Matthew, N. Linux, Začínáme programovat. Computer Press, 2008. ISBN 9788025119334.
-
Tatenbaum, A. Modern Operating system. Pearson Prentice Hall, 2008. ISBN 9780136006633.
-
Tatenbaum, A.; Woodhull, A. Operating systems: design and implementation. Pearson Education International, 2009. ISBN 9780135053768.
|