Course objectives:
|
To understand operating system kernel.
|
Requirements on student
|
Credit will be given for semestral work, laboratory activity, and midterm presentation. Regular deadline: the semestral work has to be delivered two weeks before the final presentation. Hard-deadline: the semestral work has to be delivered until 31.1. of the present academic year.
|
Content
|
1. IBM PC/AT & MS-DOS
2. User and kernel mode
3. Interrupt handling
4. Threads on uniprocessor
5. Symmetric multirprocessor
6. Processes and light threads
7. Inter-process communication
8. I/O devices
9. Virtualization
10. Real-time operating system
11. Constrained-resources and kernel programming
12. Trusted computing base
|
Activities
|
|
Fields of study
|
|
Guarantors and lecturers
|
|
Literature
|
-
Basic:
Wim Vanderbauwhede, Jeremy Singer. Operating Systems Foundations with Linux on the Raspberry Pi: Textbook. 2019. ISBN 9781911531203.
-
Basic:
Pavel Yosifovich. Windows Kernel Programming. 2019. ISBN 978-1977593375.
-
Extending:
Yogesh Babar. Hands-on Booting: Learn the Boot Process of Linux, Windows, and Unix. 2020. ISBN 978-1484258897.
-
Extending:
Rodolfo Giometti. Linux Device Driver Development Cookbook: Develop custom drivers for your embedded Linux applications. 2020. ISBN 978-1838558802.
-
Recommended:
Dogan Ibrahim. ARM-Based Microcontroller Multitasking Projects: Using the FreeRTOS Multitasking Kernel. 2020.
( DOI: 978-0128212271 )
-
Recommended:
Colin Walls. Embedded RTOS Design: Insights and Implementation. 2020. ISBN 978-0128228517.
-
Recommended:
Shashank Mohan Jain. Linux Containers and Virtualization: A Kernel Perspective. 2020. ISBN 978-1484262825.
-
Recommended:
Robert Oshana, Mark Kraeling. Software Engineering for Embedded Systems: Methods, Practical Techniques, and Applications. 2019. ISBN 978-0128094488.
-
On-line library catalogues
|
Time requirements
|
All forms of study
|
Activities
|
Time requirements for activity [h]
|
Contact hours
|
65
|
Presentation preparation (report) (1-10)
|
11
|
Team project (50/number of students)
|
50
|
Preparation for an examination (30-60)
|
30
|
Total
|
156
|
|
Prerequisites
|
Knowledge - students are expected to possess the following knowledge before the course commences to finish it successfully: |
rozumět základním operacím procesoru architektury IA-32 |
vysvětlit základní složky a vlastnosti architektury operačních systémů, včetně práce s pamětí, zařízení a procesů |
orientovat se v možnostech aplikačního programového vybavení s cílem dosáhnout lepší orientaci v narůstajícím množství informací |
Skills - students are expected to possess the following skills before the course commences to finish it successfully: |
použít API operačního systému |
programovat v pointerovém jazyce, např. C či C++ |
administrovat provoz běžných operačních systémů |
Competences - students are expected to possess the following competences before the course commences to finish it successfully: |
N/A |
N/A |
|
Learning outcomes
|
Knowledge - knowledge resulting from the course: |
rozumět implementaci virtuální paměti |
rozumět práci s I/O periferiemi |
rozumět principům virtualizace |
rozumět realizaci izolace procesů a jádra operačního systému |
vysvětlit principy práce operačních systémů a jejich součástí |
Skills - skills resulting from the course: |
efektivně využívat API operačního systému |
vytvořit abstrakci operačního systému |
Competences - competences resulting from the course: |
N/A |
N/A |
efektivně využívat služby jádra operačního systému |
|
Assessment methods
|
Knowledge - knowledge achieved by taking this course are verified by the following means: |
Individual presentation at a seminar |
Written exam |
Skills - skills achieved by taking this course are verified by the following means: |
Seminar work |
Group presentation at a seminar |
Competences - competence achieved by taking this course are verified by the following means: |
Individual presentation at a seminar |
|
Teaching methods
|
Knowledge - the following training methods are used to achieve the required knowledge: |
Individual study |
Lecture supplemented with a discussion |
Self-study of literature |
Students' portfolio |
Task-based study method |
Skills - the following training methods are used to achieve the required skills: |
Students' portfolio |
Competences - the following training methods are used to achieve the required competences: |
Lecture supplemented with a discussion |
|