operační systém
Transkript
operační systém 24.12.2013 vjj 1 co chce uživatel od OS • NIC • chce jen • • • • • • • 24.12.2013 spočítat trajektorii modulu přistávajícího na Marsu vypracovat měsíční bilanci podniku přečíst/napsat e-mail brouzdat po webu zahrát si svojí oblíbenou hru koukat na film prohlížet fotky vjj 2 proč OS • co zvládne samotný program? • VŠECHNO ! • ALE každý program by z 99% obsahoval kód pro nezbytné základní funkce, které potřebuje i každý další program, a které jsou navíc závislé na konkrétním HW • současný uživatel by byl nepříjemně překvapen • • • 24.12.2013 spouštění programů multitasking … vjj 3 OS • užitečné služby pro aplikace • služby pro uživatele • 24.12.2013 User Interface – rezidentní aplikace vjj 4 co chce program od OS • komunikace s uživatelem • okna • • text grafika • přístup k datům • práce se soubory • práce s periferiemi • • 24.12.2013 USB síť vjj 5 co chce uživatel od OS • používat program • • (nainstalovat ?, spustit ! , zastavit ?) nahrát, zkopírovat, smazat, vytisknout data komunikovat s programem • pohodlí • rychlost • bezpečnost • příjemné uživatelské prostředí • vizuální efekty 24.12.2013 vjj 6 uživatel • keyboard • mouse • joystick • touchpad • touchscreen • voice command • biometrie • ... 24.12.2013 vjj 7 OS • reakce na činnost uživatele – zajištění komunikace uživatele s programem: • HW interrupt – driver – RIT – message • požadavky programu • 24.12.2013 SW interrupt – interrupt routine – … vjj 8 OS • přidělování procesoru, výběr procesu/vlákna, kterému má být přidělen procesor – task management • strategie, jakou je využívána paměť, přidělování paměti procesům – memory management • usnadnění přístupu procesů k datů na discích – file system management • administrace – potřebné údaje o procesech, vláknech, … • … 24.12.2013 vjj 9 historie • • monolit • strukturovaný systém, vrstvy • • • • z jakékoliv části OS lze volat jakoukoliv funkci OS a přistupovat k libovolným datům OS lze volat pouze funkce vlastní a nejbližší nižší vrstvy a přistupovat pouze k datům vlastní vrstvy synchronní zpracování požadavků (tj. volání funkcí) microkernel • • posílání zpráv místo volání funkcí asynchronní zpracování požadavků (tj. posílání zpráv do fronty) Singularity, Metro • • 24.12.2013 pipeline – jediný způsob komunikace s okolím, striktní kontrola parametrů kontrakty – oboustranná dohoda o vytvoření pipeline, komunikace pouze po vzájemné dohodě vjj 10 historie - hierarchie správ • správa prací / job manager • • • • • operator job scheduler monitor reader writer • pracovní moduly / utility • správa prostředků • technické vybavení 24.12.2013 vjj 11 historie - správa prostředků • • • • správa dat / data manager • • správa souborů správa přídavných zařízení správa procesů / task manager • • • • process/task creation program modules manager loader timer správa paměti správa procesů • • • 24.12.2013 concurrency manager interrupt manager scheduler , dispatcher vjj 12 microkernel • ring 0 - jádro OS • ring 1 - drivery a jednotlivé části OS • ring 2 - utility • ring 3 - uživatelské aplikace • přepínání a předávání informací mezi • • jednotlivými úrovněmi je časově náročné (pomalý Int nahrazován rychlejším SysEnter) komunikace pomocí posílání zpráv asynchronní x synchronní NeXT 24.12.2013 vjj 13 struktura Windows 24.12.2013 vjj 14 24.12.2013 vjj 15 System support processes Service processes SCManager Service control manager Svchost.exe Lsass.exe Local Security Authentication Server Winmgmt.exe Winlogon.exe Logon Process Smss.exe Session manager Applications User applications Spooler Task Manager Services.exe Windows Explorer Subsystem DLLs Environment subsystems Csrss.exe Win32 OS2SS.exe OS/2 PSXSS.exe POSIX Kernel32.dll, Advapi32.dll, User32.dll, GDI32.dll Ntdll.dll Int 2E / SysEnter System threads Win32k.sys Windowing and graphics Ntoskrnl.exe Win32 Executive System service dispatcher Executive support WDM WMI routines Configuration manager (registry) Processes and threads Object manager Virtual memory Security reference monitor Power manager Plug and Play manager File system cache I/O Manager Local procedure call User GDI RTL Kernel (Process Manager, Interrupt / Exception Dispatcher, Multiprocessor Synchronization) Device and file system drivers Graphic device drivers Hal.dll 24.12.2013 Hardware abstraction layer (HAL) vjj 16 System support processes Service processes Applications Environment subsystems Subsystem DLLs Ntdll.dll Int 2E / SysEnter Ntoskrnl.exe Win32k.sys Windowing and graphics Win32 System service dispatcher Executive User Kernel GDI Drivers Graphic device drivers Hal.dll Hardware abstraction layer (HAL) 24.12.2013 vjj 17 ring 3 -> ring 0 Csrss.exe Win32 subsystém Aplikace GDI32.dll User32.dll AdvAPI32.dll RPCRT4.dll Kernel32.dll NTdll.dll ring 3 INT 2E / SysEnter LRPC ring 0 Win32k.sys 24.12.2013 NTOSKrnl.exe vjj 18 Csrss.exe • Client/Server Runtime Subsystem • • • • • • Win32 subsystém zprostředkovatel služeb pro ostatní subsystémy okna textových konsol vytváření a rušení procesů a vláken část podpory pro VDM (16-bit virtual DOS machine) procesy různé funkce • • • • 24.12.2013 GetTempFile DefineDosDevice ExitWindowsEx ... vjj 19 Ntdll.dll • System service dispatch stubs • • • více než 200 API funkcí (NtCreateFile, NtSetEvent, ...) stubs - Int 2E – volání stejně pojmenované funkce z jádra Windows (Ntoskrnl.exe) Internal support functions • • • • • 24.12.2013 heap manager Win32 subsystem process communication functions Run-time library routines user-mode asynchronous procedure call (APC) dispatcher exception dispatcher vjj 20 Win32k.sys • správce oken (Window Manager) • • • • • řídí zobrazování oken řídí výstup na obrazovku spravuje vstup z klávesnice, od myši, . . . předává uživatelské zprávy aplikacím Graphics Device Interface (GDI) • knihovna funkcí pro zařízení s grafickým výstupem • 24.12.2013 obsahuje funkce pro text, čárové a bitmapové kreslení a pro manipulaci s grafikou vjj 21 NTOSKrnl.exe • System service dispatcher • Executive – horní vrstva NTOSKrnl.exe • • • • • • System Services - exportované funkce - většinu z nich lze volat z uživatelského módu (API funkce) exportované a dokumentované funkce • • Windows DDK Windows 2000 Installable File System (IFS) Kit exportované a nedokumentované funkce neexportované funkce jejichž názvy jsou ale definovány jako globální symboly interní funkce jednotlivých modulů, které nejsou definovány jako globální symboly Kernel – dolní vrstva NTOSKrnl.exe 24.12.2013 vjj 22 struktura OS • Marc Russinovich: "Windows is similar to most UNIX systems in that it's a monolithic operating system in the sense that the bulk of the operating system and device driver code shares the same kernel mode protected memory space. This means that any operating system component or device driver can potentially corrupt data being used by other operating system components" 24.12.2013 vjj 23 Singularity • Microsoft Research • project Singularity (Andrew Birrell - Mountain View) a research operating system prototype Software Isolated Processes - pro všechny programy, drivery a rozšíření systému • project Sing# (Wolfram Schulte - Redmont) type safe language experimentální rozšíření Spec# (rozšíření C# - průběžné hlídání podmínek,...) kontrakty, pipelines 24.12.2013 vjj 24 Metro • • • UI pro touchscreens • • WinPhone tablet nové API – nadstavba nad Win32 API • • • striktní omezení grafických možností odstraněna vizuální nápověda vynucené asynchronní volání funkcí oddělení procesů – viz Singularity 24.12.2013 vjj 25
Podobné dokumenty
Architektura rodiny operačních systémů Windows NT
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:
uloha operacniho systemu 542.33 KB 05.09.2012
OS zajišťuje prostředí pro běh (=vykonávání) programů prostřednictvím služeb.
OS poskytuje:
- služby pro programy,
- služby pro uživatele.
Základní služby OS:
• provádění programů (program executio...
isass.exe objekt nebyl nalezen
poškozen. Pokud chceme nainstalovat nový operační systém, stačí vložit originální bootovací
CD s operačním systémem Windows 2000/XP a postupovat podle instrukcí na obrazovce,
nebo můžeme použít spe...
Administrace a bezpečnost ArcGIS Serveru
stolním počítači (desktopu) jsou uspokojivé řešení pro dnešní práci s geografickými daty.
Avšak celosvětový trend v informačních technologiích (IT) je takový, že se většina aplikací
a služeb přesou...
Podpůrný výukový materiál
Od
b
or
nát
e
r
mi
nol
ogi
evc
i
z
í
c
hj
a
z
y
c
í
c
hp
r
ož
á
k
ySŠ
CZ
vlastnosti, použití
údaje zapíše do deskriptoru a začne obsluhovat periferii dle programu.
- viz otázka č. 29 - Propojovací subsystém
Internals - vjj root page
stubs – SysCall (x64) / SysEnter (x32) / Int 2E (dříve) – volání
stejně pojmenované funkce z jádra Windows (Ntoskrnl.exe)
Architektura OS
OS zajišťuje prostředí pro běh (=vykonávání) programů prostřednictvím služeb.
OS poskytuje:
- služby pro programy,
- služby pro uživatele.
Základní služby OS:
• provádění programů (program executio...