|
|
|
||
Předmět tematicky navazuje na základní kurz NSWI004 Operační systémy. Jeho obsahem je podrobnější pohled
na pokročilé funkce reálných operačních systémů a technické přiblížení jejich implementace, spolu s širším
pohledem na diverzitu architektur operačních systémů a požadavků, které jsou na ně v různých kontextech
kladeny. Předmět může být doplněn také zvanými příspěvky odborníků z praxe.
Poslední úprava: Hnětynka Petr, doc. RNDr., Ph.D. (26.05.2022)
|
|
||
Předmět je zakončen písemnou zkouškou z probíraných témat. Konkrétní požadavky ke zkoušce jsou poskytnuty během výuky. Je možné alternativní zakončení formou individuálního projektu. Poslední úprava: Tůma Petr, prof. Ing., Dr. (26.05.2022)
|
|
||
[1] Baumann A., Barham P., Dagand P.-E., Harris T., Isaacs R., Peter S., Roscoe T., Schüpbach A., Singhania A.: The Multikernel: A New OS Architecture for Scalable Multicore Systems, Proceedings of the 22nd Symposium on Operating Systems Principles, ACM, 2009
[2] Bonwick J.: The Slab Allocator: An Object-Caching Kernel Memory Allocator, Proceedings of USENIX Summer 1994 Technical Conference, USENIX Association, 1994
[3] Bonwick J., Adams J.: Magazines and Vmem: Extending the Slab Allocator to Many CPUs and Arbitrary Resources, Proceedings of the GeneralTrack, USENIX Annual Technical Conference, USENIX Association, 2001
[4] Härtig H., Hohmuth M., Liedtke J., Schönberg S., Wolter J.: The Performance of μ-Kernel-Based Systems, Proceedings of 16th ACM Symposium on Operating Systems Principles (SOSP), ACM, 1997
[5] Heiser G., Elphinstone K.: L4 Microkernels: The Lessons from 20 Years of Research and Deployment, ACM Transactions on Computer Systems (TOCS), Volume 34, Issue 1, 2016
[6] Herder J., Gras B., Homburg P., Tanenbaum A. S.: Fault Isolation for Device Drivers, Proceedings of the International Conference on Dependable Systems & Networks, IEEE, 2009
[7] Hunt G., Larus J.: Singularity: Rethinking the Software Stack, ACM SIGOPS Operating Systems Review, Volume 41, Issue 2, ACM, 2007
[8] Levy H.: Capability-Based Computer Systems, Butterworth-Heinemann Newton, 1984
[9] Nutt G. J.: Operating Systems: A Modern Perspective, Addison Wesley, 2002
[10] Stallings W.: Operating Systems: Internals and Design Principles, Prentice Hall, 2012
[11] Tanenbaum A. S., Woodhull A.: Operating Systems Design and Implementation, Prentice Hall, 2006 Poslední úprava: Katedry Tajemník (20.04.2016)
|
|
||
A. Pohled na implementace operačních systémů (1) Programovací jazyky, běhová prostředí a další prostředky pro implementaci operačních systémů. Proces bootování a další aspekty vyžadující méně obvyklé programátorské postupy. (2) Rozhraní a interakce operačních systémů s hardware, firmware a aplikačními programy. Problematika zpětné kompatibility. Přenositelnost. Reprezentace hardwarových prostředků a abstrakce. (3) Funkční a výkonnostní ladění operačních systémů. Observabilita. Post mortem analýza. (4) Interakce s paměťovou hierarchií a pokročilá správa paměti. Moderní prostředky pro permanentní ukládání dat. Podpora permanentní paměti s přímým přístupem. (5) Aspekty implementace moderních souborových systémů. Správa datových úložišť, redundance a zálohování. (6) Implementace meziprocesové komunikace. Synchronicita a asynchronicita. Implementace síťových protokolů a síťových rozhraní. Počítání v blízkosti dat. Podpora operačních systémů pro distribuované počítání. (7) Pokročilé metody synchronizace přístupu ke sdíleným datům. Paměťově-konzistenční modely. Mechanismy pro efektivní využití paralelismů, vysoce paralelní hardware. (8) Bezpečnost a spolehlivost. Zranitelnosti v hardwaru a v softwaru. Implementace metod a mechanismů pro zvýšení bezpečnosti a spolehlivosti běhu operačních systémů. Vysoká dostupnost. Certifikace a verifikace. (9) Případná další témata: Virtualizace, softwarové virtuální stroje, správa prostředků, správa služeb, sebemodifikace operačních systémů, real-time atd.
B. Pohled na architektury operačních systémů (1) Motivace, kritéria a požadavky ovlivňující architekturu operačních systémů. Konfigurace operačních systémů při překladu a při běhu. (2) Principy návrhu operačních systémů. Vlivy architektury hardwaru na architekturu operačních systémů a opačně. Capabilities. Softwarové komponenty. (3) Návrhové vzory architektur operačních systémů a jejich reprezentanti (monolithic kernel, microkernel, separation kernel, exokernel, unikernel, hypervisor, disaggregated kernel atd.). Architektura uživatelského prostoru.
Témata nejsou nutně probírána v uvedeném pořadí. Konkrétní náplň semestru může být ovlivněna také aktuálními trendy a případně výběrem hostů z praxe. Poslední úprava: Tůma Petr, prof. Ing., Dr. (26.05.2022)
|