Přednáška 11 Historie MS Windows. Architektura Windows XP. Grafické a znakové rozhraní. Úlohy, procesy a vlákna.
Úvod do Operačních Systémů – Přednáška 11
1
Historie MS Windows I 1980 8-bitový procesor Intel 8080 a Z80 CP/M (příkazová řádka) 1981 IBM PC - 16-bitový procesor Intel 8088 MS-DOS 1.0 (jednoúlohový, jednouživatelský, příkazová řádka, systém souborů FAT) 1983 MS-DOS 2.0 (vylepšená příkazová řádka, inspirace z Unixu) 1990 IBM PC/AT - Intel 386 Windows 3.0, 3.1, 3.11 (grafické rozraní nad MS-DOS, inspirace z Apple Lisa) 1995 Windows 95 (grafické rozraní, "32-bitový OS", virtuální paměť, správa procesů, víceúlohový, jednouživatelský, systém souborů FAT) 1998 Windows 98 (vylepšení grafického prostředí a podpora Internetu) 2000 Windows ME (Windows Millennium Edition)
Úvod do Operačních Systémů – Přednáška 11
2
Historie MS Windows II 1993
Windows NT 3.1 (Windows New Technology) skutečně 32-bitový OS, víceúlohový OS, podpora vláken, virtuální paměť přenositelný (80x86, Pentium, Alpha, MIPS, PowerPC,...) systém souborů FAT32 nebo NTFS grafické rozhraní podobné Windows 95/98
1996
Windows NT 4.0
1999
Windows 2000 (Windows NT 5.0) podpora SMP (symmetric multiprocessing), podpora až 32 CPU, až 64GB fyzické paměti
2001
Windows XP (Windows NT 5.1) 32-bitový/64-bitový OS, podpora až 2CPU a 4GB/16GB
2003
Windows Server 2003 (Windows NT 5.2) 32-bitový/64-bitový OS, podpora až 32/64CPU a 64GB/1024GB (Itanium)
2007
Windows Vista
Úvod do Operačních Systémů – Přednáška 11
3
Architektura Windows XP I
Úvod do Operačních Systémů – Přednáška 11
4
Architektura Windows XP II • Části běžící v uživatelském módu: – System support processes • procesy, které nepatří mezi Windows služby • např. Winlogon proces, Session manager, ...
– Service processes • Windows služby např. Plánovač úloh, Zařazování tisku,..
– User applications mohou být následujících typů • Windows 32-bit, Windows 64-bit, Windows 3.1 16-bit, MS-DOS 16-bit, POSIX 32-bit, OS/2 32-bit
– Environment subsystem server processes • Windows podsystém a POSIX podsystém
– DDL = Dynamic-Link Libraries
Úvod do Operačních Systémů – Přednáška 11
5
Architektura Windows XP II ●
Části běžící v kernel módu: ●
Windows executive ●
●
Kernel ●
●
ovladače HW, ovladače FS, ...
HAL ●
●
samotné jádro: plánování vláken, multiprocesorová synchronizace, ...
Device drivers ●
●
základní služby OS: správa paměti, správa vláken a procesů, ...
izoluje jádro a ostatní části od jednotlivých HW detailů
Windowing and graphics system ●
GUI (Graphic User Interface) – grafické rozhraní
●
CLI (Command Line Interface) – rozhraní příkazové řádky
Úvod do Operačních Systémů – Přednáška 11
6
Home a Professional Edition ●
Funkce dostupné pouze u Professional Edition: ●
šifrování souborů (u NTFS)
●
detailní nastavení přístupových práv (běžné sdílení složek)
●
připojení ke vzdálené ploše (Remote Desktop Protokol)
●
podpora více procesorů
Úvod do Operačních Systémů – Přednáška 11
7
Registr Windows XP I ●
●
(Centrální) databáze udržující informace o systému: ● rozpoznaný hardware ●
instalovaný software
●
uživatelské účty a jejich nastavení
Uložen v diskových souborech ve složce: ● %KořenováSložkaSystému%\System32\Config ●
●
%KořenováSložkaSystému%\Documents and settings\Uživatelskéjméno
Kdo používá registr ●
rozpoznání hardware (Ntdetect.exe a jádro NToskrnl.exe) PnP Manager
●
ovladače zařízení
●
●
nástroje pro správu profily uživatelů (lokální)
●
hardwarové profily (může existovat více konfigurací HW)
●
instalační programy
●
Úvod do Operačních Systémů – Přednáška 11
8
Registr Windows XP II ●
Registr upravovat pouze v mimořádném případě!!!
●
Editor registru ● ●
Start → Spustit → cmd → regedit.exe před modifikací vždy vytvořit bod obnovení, popř. udělat zálohu registru
Úvod do Operačních Systémů – Přednáška 11
9
Příklad ●
Změna jména složky Tento počítač na %USERNAME% na %COMPUTERNAME% 1.
2.
spusťte Editor rigistru otevřete klíč HKEY_CLASSES_ROOT\HKEY_CLASSES_ROOT\CLSID\HKEY_CLASSES_ ROOT\CLSID\{20D04FE0-3AEA-1069-A2D8-08002B30309D}
3.
přejmenujte položku LocalizedString na OLDLocalizedString
4.
vytvořte novou položku LocalizedString Úpravy →Nový → Rozšiřitelná řetězová hodnota
5.
nastavte hodnotu položky LocalizedString na %USERNAME% na %COMPUTERNAME% Úvod do Operačních Systémů – Přednáška 11
10
Příklad
Úvod do Operačních Systémů – Přednáška 11
11
GUI I • Motivy GUI Klasické Windows
Windows XP
Vlastní motiv
• Změna motivu Zobrazení - vlastnosti → Motivy
Úvod do Operačních Systémů – Přednáška 11
12
GUI II • Hlavní panel
– Start – Panel nástrojů Snadného spuštění – Tlačítka Hlavního panelu • každá spuštěná aplikace a otevřené okno
– Oznamovací oblast • nástroje a systémové programy, informace o spuštěných aplikacích, datum, čas
• Nastavení zvuku – Start → Nastavení → Ovládací panely → Zvuky a zvuková zařízení → Zvuky
Úvod do Operačních Systémů – Přednáška 11
13
CLI ●
Spuštění CLI Start → Spustit → cmd
Úvod do Operačních Systémů – Přednáška 11
14
Úlohy, procesy a vlákna
•
Úloha – množina procesů, které se spravují jako jednotka – pro každou úlohu můžeme stanovit limity – např. maximální počet procesů v úloze, celkový čas CPU pro každý proces i celkem pro úlohu, ...
•
Proces – jednotka, která si alokuje prostředky (např. paměť, otevřené soubory, ...) – každý proces se spouští s jedním vláknem, ale může dynamicky spouštět další – vlákna procesu sdílí prostředky procesu (např. paměťový prostor)
•
Vlákno (Thread) – kernel vlákno – CPU je přidělováno vláknům (plánování probíhá po vláknech)
•
Fiber – uživatelské vlákno (není plánováno jádrem, ale knihovnou na uživatelské úrovni)
Úvod do Operačních Systémů – Přednáška 11
15
Stavy vlákna
•
Připraven (Ready) – vlákno čeká na CPU
•
Na řadě (Standby) – vlákno bylo vybráno, aby v následujícím okamžiku dostalo CPU
•
Spuštěn (Running) – vlákno běží na CPU
•
Čekající (Waiting) – vlákno čeká na událost
•
Přechodný (Transition) – vlákno čeká na CPU, ale není v paměti
Úvod do Operačních Systémů – Přednáška 11
16
Plánování vláken ●
Windows XP používá preemptivní prioritní plánování ●
●
●
CPU dostane první vhodné „ready“ vlákno s nejvyšší prioritou CPU může využívat po dobu časového kvanta, pokud ho nepřeruší vlákno s vyšší prioritou časové kvantum může být různé pro různé systémy/procesy
●
Plánování vláken je implementováno v jádře.
●
Přepínání kontextu ●
běžící vlákno je přerušeno, důležité informace jsou uloženy, nové informace jsou nahrány a nové vlákno je spuštěno Úvod do Operačních Systémů – Přednáška 11
17
Priorita I • Jádro: rozlišuje 32 priorit – real-time úrovně (16-31) – dynamické úrovně (1-15) – systémová úroveň (0)
• Windows API – priority procesů (Realtime, High, Above Normal, Normal, Below Normal, Idle) – priority vláken (Time critical, Highest, Above Normal, Normal, Below Normal, Lowest, Idle)
Úvod do Operačních Systémů – Přednáška 11
18
Priorita II ●
Proces ●
základní prioritu (base priority)
●
explicitně dědí od rodiče
●
●
●
●
●
při spuštění procesu (např. funkcí CreateProcess() nebo příkazem start /úroveň program) po spuštění (např. funkcí SetPriorityClass() nebo aplikací Task Manager)
Vlákno ●
základní priorita (base priority)
●
aktuální priorita (dynamic priority)
Plánování se děje na základě aktuální priority vlákna. Jádro může dočasně modifikovat aktuální prioritu vlákna (nikoliv u real-time úrovně 16-31). Úvod do Operačních Systémů – Přednáška 11
19
Zobrazení procesů I ●
Správce úloh CTRL+ALT+DEL → Správce úloh
Úvod do Operačních Systémů – Přednáška 11
20
Zobrazení procesů II ●
Příkaz tasklist.exe Start → Spustit → cmd → tasklist.exe
●
Nápověda pomocí tasklist.exe /? Úvod do Operačních Systémů – Přednáška 11
21
Zobrazení procesů III ●
Další nástroje z www.sysinternals.com
●
PsTools ●
ProcExp.exe
●
PsList.exe
●
PsPsExec.exe
●
PsKill.exe
●
PsInfo.exe
●
...
Úvod do Operačních Systémů – Přednáška 11
22
Zobrazení procesů IV ●
Process Explorer: ProcExp.exe
Úvod do Operačních Systémů – Přednáška 11
23
Zobrazení procesů V ●
PsList.exe
Úvod do Operačních Systémů – Přednáška 11
24