|
Lecturer(s)
|
-
Vrba Antonín, Ing.
-
Pešička Ladislav, Ing. Ph.D.
-
Skupa Jindřich, 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.
|