Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek



Podobné dokumenty
Základní typy struktur výpočetních systémů

MS WINDOWS I. řada operačních systémů firmy Microsoft *1985 -? Historie. Práce ve Windows XP. Architektura. Instalace. Spouštění

monolitická vrstvená virtuální počítač / stroj modulární struktura Klient server struktura

Příloha A: Operační systémy Windows NT

Základní informace. Operační systém (OS)

Implementace systémů HIPS: ve znamení 64bitových platforem. Martin Dráb

Vlákno (anglicky: thread) v informatice označuje vlákno výpočtu neboli samostatný výpočetní tok, tedy posloupnost po sobě jdoucích operací.

konec šedesátých let vyvinut ze systému Multics původní účel systém pro zpracování textů autoři: Ken Thompson a Denis Ritchie systém pojmnoval Brian

Bootkity v teorii a praxi. Martin Dráb martin.drab@ .cz

Management procesu I Mgr. Josef Horálek

Principy operačních systémů. Lekce 1: Úvod

Procesy a vlákna (Processes and Threads)

TÉMATICKÝ OKRUH Softwarové inženýrství

Stavba operačního systému

Pár odpovědí jsem nenašla nikde, a tak jsem je logicky odvodila, a nebo jsem ponechala odpověď z pefky, proto je možné, že někde bude chyba.

VÝUKOVÝ MATERIÁL. 3. ročník učebního oboru Elektrikář Přílohy. bez příloh. Identifikační údaje školy

Tomáš Borland Valenta

Činnost počítače po zapnutí

Principy operačních systémů. Lekce 5: Multiprogramming a multitasking, vlákna

Přednáška 11. Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.

TÉMATICKÝ OKRUH Softwarové inženýrství

Operační systémy. Přednáška 1: Úvod

Windows a real-time. Windows Embedded

Úvod do Linuxu. SŠSI Tábor 1

Výpočetní technika. PRACOVNÍ LIST č. 7. Ing. Luděk Richter

Operační systémy: funkce

operační systém vjj 1

Služba ve Windows. Služba (service) je program

MS WINDOWS II. Jádro. Správa objektů. Správa procesů. Zabezpečení. Správa paměti

Logická organizace paměti Josef Horálek

Ovladače pro Windows. Ovladače Windows A4M38KRP. Str. 1

PRINCIPY OPERAČNÍCH SYSTÉMŮ

Real Time programování v LabView. Ing. Martin Bušek, Ph.D.

Souborové systémy Mgr. Josef Horálek

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/ Vzdělávání v informačních a komunikačních technologií

Operační systém. Mgr. Renáta Rellová. Výukový materiál zpracován v rámci projektu EU peníze školám

GTL GENERATOR NÁSTROJ PRO GENEROVÁNÍ OBJEKTŮ OBJEKTY PRO INFORMATICA POWERCENTER. váš partner na cestě od dat k informacím

Pokročilé architektury počítačů

IT ESS II. 1. Operating Systém Fundamentals

Prostředí pro výuku vývoje PCI ovladačů do operačního systému GNU/Linux

Vývoj OS Windows Mobile. Ing. Jiří Šilhán

VirtualBox desktopová virtualizace. Zdeněk Merta

Architektura a koncepce OS OS a HW (archos_hw) Architektura a koncepce OS Jádro OS (archos_kernel) Architektura a koncepce OS Typy OS (archos_typy)

Security-portal konference

Přednáška. Vstup/Výstup. Katedra počítačových systémů FIT, České vysoké učení technické v Praze Jan Trdlička, 2012

Principy operačních systémů. Lekce 8: Ovladače periferií

TGMmini. začínáme. komplexní dodávky a zprovoznění servopohonů dodávky řídicích systémů

Témata profilové maturitní zkoušky

Programové vybavení počítačů operační systémy

Instalace a konfigurace web serveru. WA1 Martin Klíma

Operační systém. Logické prostředky výpoč etního systému jsou:

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE

Stručný obsah. Rejstřík 463

Zranitelnosti ovladačů jádra v praxi Martin Dráb martin.drab@ .cz

Téma 1: Bitová kopie systému. Téma 1: Bitová kopie systému

SÁM O SOBĚ DOKÁŽE POČÍTAČ DĚLAT JEN O MÁLO VÍC NEŽ TO, ŽE PO ZAPNUTÍ, PODOBNĚ JAKO KOJENEC PO PROBUZENÍ, CHCE JÍST.

Základní programové vybavení počítače

Obsah. Kapitola 1. Kapitola 2 KAPITOLA 3. Úvod 9

I n f o r m a t i k a a v ý p o č e t n í t e c h n i k a. Operační systém

Principy operačních systémů

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

MATLABLINK - VZDÁLENÉ OVLÁDÁNÍ A MONITOROVÁNÍ TECHNOLOGICKÝCH PROCESŮ

Operační systém MS Windows XP Professional

Spuštění instalace. nastavení boot z cd v BIOSu vložení CD s instal. médiem spuštění PC. nastavení parametrů instalace (F2 čěština)

OPERAČNÍ SYSTÉMY. Operační systém je prostředník mezi hardwarem (technickým vybavením počítače) a určitým programem, který uživatel používá.

11 Návrh programového vybavení

SLEZSKÁ UNIVERZITA V OPAVĚ

ČÁST 1. Základy 32bitového programování ve Windows

Formy komunikace s knihovnami

BIOS. Autor: Bc. Miroslav Světlík

Profilová část maturitní zkoušky 2017/2018

Systém adresace paměti

Název školy: Základní škola a Mateřská škola Žalany

Stručný obsah. Úvod 15. KAPITOLA 1 První kroky v systému Windows KAPITOLA 2 Hlavní panel a jeho možnosti 41. KAPITOLA 3 Soubory a složky 51

Desktop systémy Microsoft Windows

Firmware řídící jednotky stejnosměrného generátoru

Téma 1 - řešení s obrázky

Přidělování paměti II Mgr. Josef Horálek

Programování ve Windows Dynamické knihovny. Andrea Číková Martin Osovský

Komu je tato kniha určena? Jak je kniha uspořádána? Konvence použité v té to knize. Část i základy Microsoft Windows XP Professional

Téma 8: Konfigurace počítačů se systémem Windows 7 IV

VComNet uživatelská příručka. VComNet. Uživatelská příručka Úvod. Vlastnosti aplikace. Blokové schéma. «library» MetelCom LAN

Implementace systémů HIPS: historie a současnost. Martin Dráb

MS Windows 7. Milan Myšák. Příručka ke kurzu. Milan Myšák

Program Computer Setup

PREMIER E Agent. Jak to funguje?

MATURITNÍ OTÁZKY ELEKTROTECHNIKA - POČÍTAČOVÉ SYSTÉMY 2003/2004 PROGRAMOVÉ VYBAVENÍ POČÍTAČŮ

VYUŽITÍ KNIHOVNY SWING PROGRAMOVACÍHO JAZYKU JAVA PŘI TVORBĚ UŽIVATELSKÉHO ROZHRANÍ SYSTÉMU "HOST PC - TARGET PC" PRO ŘÍZENÍ POLOVODIČOVÝCH MĚNIČŮ

PB153 OPERAČNÍ SYSTÉMY A JEJICH ROZHRANÍ

Vytvoření bootovatelného média

Správa zařízení Scan Station Pro 550 a Servisní nástroje zařízení Scan Station

Softwarové komponenty a Internet

Projekt do předmětu PAS. Textový editor

2.2 Acronis True Image 19

Téma 7: Konfigurace počítačů se systémem Windows 7 III. Téma 7: Konfigurace počítačů se systémem Windows 7 III

AGP - Accelerated Graphics Port

Virtualizace. Lukáš Krahulec, KRA556

3. Počítačové systémy

Témata profilové maturitní zkoušky

Transkript:

Architektura rodiny operačních systémů Windows NT Mgr. Josef Horálek

= Velmi malé jádro = implementuje jen vybrané základní mechanismy: = virtuální paměť; = plánování vláken; = obsluha výjimek; = zasílání zpráv mezi procesy; = ostatní komponenty běží v uživatelském režimu; = zajištěna větší stabilita; = méně kritického kódu; = všechny pokročilé funkce v uživatelském režimu = časté přepínání mezi režimem jádra a uživatelským = může vést ke zpomalení systémů; Mikrojádro

Mikrojádro běžná aplikace ovladač aplikace správce paměti správce procesů souborový systém ovladač klávesnice ovladač disku ovladač obrazovky režim uživatelský režim jádra Jádro (obsluha přerušení, zasílání zpráv mezi procesy, časování)

Monolitické jádro = Přesný opak mikrokernelů = velké jádro obsahuje většinu komponent: = souborové systémy; = správa procesů; = síťová komunikace; = bezpečnostní model; = sdílejí jeden virtuální adresový prostor; = zrychlení vzájemné komunikace; = možnost nechtěného ovlivnění a poškození datové struktury; = teoreticky nižší stabilita a bezpečnost; = teoreticky vyšší výkon;

Monolitické jádro systémové procesy běžná aplikace běžná aplikace běžná aplikace režim uživatelský režim jádra ovladač klávesnice ovladač disku ovladač obrazovky správce paměti souborový systém správce procesů Jádro (obsluha přerušení, zasílání zpráv mezi procesy, časování)

Windows a jeho součásti = Jádro Windows NT řadíme spíše k monolitickému jádru LSASS.exe winlogon.exe psxss.exe services.exe Smss.exe csrss.exe vrstva knihoven systémů ntdll.dll režim uživatelský systémová volání režim jádra tvrdé jádro exekutiva ovladač správce GUI a grafiky (část subsystému Windows) HAL

HAL & tvrdé jádro = Hardware Abstraction Layer = nejnižší úroveň jádra; = úkol: = odstínění součástí OS a aplikací od specifik hardware; = poskytovat rutiny pro komunikaci periferií a vyšších vrstev; = kód HAL uložen v hal.dll; = Tvrdé jádro = implementace mechanismů pro vyšší vrstvy: = algoritmus plánování vláken na procesoru; = odložené volání procedur (DPC); = základní synchronizační metody; = práce s hardwarovým přerušením; = část obsluhy systémových volání;

Ovladače & exekutiva = Ovladač = umožňuje vrstvě exekutiva komunikovat s různými typy hardware; = spustitelné soubory *.sys; = Executiva = I/O zařízení a další komponenty; = využívá tvrdé jádro; = realizuje složitější mechanismy, které jsou přes systémová volání nepřímo využívána obyčejnými aplikacemi v uživatelském režimu; = implementována v hlavním modulu jádra; = ntoskrln.exe nebo ntkrnlpa.exe;

Exekutiva = Executiva = složena z rozdílných rutin; = všechny ve stejném adresovém prostoru; = každá komponenta poskytuje speciální sadu rutin = každá může volat libovolný kód běžící v jádře; exekutiva správce paměti správce objektů správce procesů správce I/O zařízení správce konfigurace bezpečnostní model Tvrdé jádro Ovladače

Objekty exekutivy = Správce objektů = umožňuje psát kód jádra; = umožňuje jednotným způsobem vytvářet a odstraňovat objekty; = např. otevřené soubory, klíče registru, paměťové mapové soubory; = Správce paměti = řídí činnost virtuální a fyzické paměti; = přiděluje volné rámce fyzické paměti; = mapování mezi fyzickou a virtuální pamětí; = obsluha výpadku stránek; = vyřizuje požadavky na přidělování a uvolňování bloků virtuální paměti o proměnlivé velikosti;

= Správce I/O zařízení = zajištění funkcí ovladačů jádra a zařízení; = jádro může načítat a uvolňovat ovladače za běhu; = komunikace ovladačů mezi sebou; = Správce procesů = spouštění, běh a ukončení procesů a vláken; = zjištění informací o běžících procesech; = měnit prioritu procesů = násilně ukončovat běžící procesy; Objekty exekutivy

Objekty exekutivy = Správce konfigurace = umožňuje přizpůsobení OS různým požadavkům = konfigurace ukládá v binární podobě do registru; = Unix ukládá do textových souborů; = registr = malá a velmi rychlá databáze; = obsahuje adresářovou strukturu klíčů a hodnot; = Bezpečnostní model = umožňuje nastavení práv pro každého uživatele; = lze určit přístup k objektům;

Subsystémy = Součást prostředí pro obyčejné aplikace = obecně dobře dokumentováno; = Jsou obsaženy dva: = Windows; = POSIX; subsystém POSIX psxss.exe subsystém Windows csrss.exe psxdll.dll DLL (Windows) režim uživatelský ntdll.dll režim jádra jádro

Subsystém POSIX = Portable operating systém interface based on Unix = sada mezinárodních standardů; = popisuje aplikační rozhraní v OS založených na Unix; = od Windows Server 2008 implementace v podobě SUA; = Subsystem for Unix-based Application; = spouští se jen v případě potřeby; = hlavním procesem psxss.exe; = komponenta subsystému běžící v režimu jádra win32k.sys;

Subsystém Windows = Základní komponenty: = hlavní proces subsystému csrss.exe = knihovny DLL, které používá; = ovladač jádra win32k.sys = drivery grafické karty a videa; = vrstva knihoven DLL = zajišťují překlad volání dokumentovaných funkcí Windows API a nativní volání rutin z knihovny ntdll.dll odpovědná za volání jádra; = kernel32.dll, user32.dll, gid32.dll, advapi32.dll; = csrss.exe v sobě uchovává vlastní kopii seznamu běžících procesů a vláken; = bránu k ovladači win32k.sys tvoří knihovny: = gdig32.dll - kreslení grafických útvarů; = user32.dll exportuje funkce pro práci s prvky uživatelského rozhraní; = kernel32.dll exportuje vybrané části exekutivy = procesy, vlákna, správa paměti, synchronizace; = advapi32.dll rozhraní pro práci se službami a bezpečnostním modelem;

Systémové procesy = Windows patří mezi monolitické OS = velké a složité jádro; = kritické procesy = systémové procesy; = správce úloh nedovolí jejich násilné ukončení; = nečinné procesy = pouze pseudoproces; = nevykonává žádnou činnost v uživatelském režimu; = úkol spotřebovávat čas procesoru, pokud žádná součást OS ani aplikace nemá co dělat; = proces vytvořen jádrem OS v raných fázích inicializace syystému; = PID = 0;

Proces System = Proces Systém = nevykonává řádný kód v uživatelském režimu; = nepoužívá žádné knihovny DLL; = neprezentuje žádný soubor *.exe; = v jeho kontextu běží skupina vláken = tzv. pracovní vlákna; = vytvořena během bootovacího procesu; = vykonávají činnost, kterou dostanou zadánu z venku; = většinu času čekají na zadání od jádra OS; = využívány jádrem pro časově náročné úkoly; = obvykle dokončují zpracování požadavků hardware jež nebylo možné provést při obsluze přerušení; = využívány při zapisování špinavých stránek z vyrovnávací paměti na disk; = PID=4;

Správce realcí = Session manager = smss.exe = spouštěn v poslední fázi startu systému = jedná se o první proces vykonávající kód v uživatelském režimu; = provádí poslední inicializaci systému; = pak je systém připraven k přihlášení uživatele; = hlavní úkol vytvářet realce; = relace se využívají pro oddělení prostoru jednotlivých uživatelů; = smss.exe vytvoří relaci 0 tzv. konzolovou relaci; = v ní běží systémové procesy; = služby; = všechny procesy prvního přihlášeného uživatele; = každý další uživatel má svoji relaci; = pro každou novou relaci správce spustí kopii winlogon.exe; = smss.exe zodpovědný za inicializaci hlavního procesu sybsystému Windows csrss.exe; = pro relaci 0 spouštěn wininit.exe místo Winlogon;

winlogon.exe & LSASS.exe = Procesy podílející se na přihlašování uživatele = winlogon.exe umožňuje uživateli přihlášení pomocí grafického uživatelského rozhraní; = zabudovaná jednoduchá ochrana proti zachycení přihlašovacích údajů; = po zadání jména a hesla údaje odeslány lsass.exe; = zajišťuje ověření; = zjistí oprávnění uživatele; = vytváří token, kterým se uživatel dále prokazuje při provádění operací; = obdrží-li winlogon token od LSASS zahajuje inicializaci pracovního prostředí; = spuštění startovacích skriptů; = předání řízení userinit.exe; = winlogon.exe zajišťují odhlášení uživatele;

services.exe & svchost.exe = Procesy pro podporu služeb = ve Windows mnoho součástí jako služby; = programy na pozadí nevyžadující interakci s uživatelem; = mezi služby řazeny i ovladače jádra; = služby mohou sdílet virtuální adresový prostor jednoho procesu; = služby bez vlastního procesu vykonávány v kontextu instancí procesu svchost.exe; = kontrola a správa services.msc;

Děkuji za pozornost