Evropský sociální fond Praha & EU: Investujeme do vaší budoucnosti 2. Architektura systému a systémové mechanismy. Administrace OS Windows 1Miroslav Prágl
Architektura MS Windows 2Miroslav Prágl
Kernel & User space 3 Windows podporuje 2 Pentium ringy – Ring0 (Kernel) a Ring3(User) User thready se můžou přepínat mezi user a kernel mode (na zakladě API) Drivery běží v kernel mode Častá příčina BSOD Fake drivers (Antivir) Miroslav Prágl
Procesy a thready 4 Každá aplikace obsahuje minimálně jeden proces Každý proces obsahuje minimálně jeden thread Každý proces má vlastní memory space Thready jednoho procesu běží ve stejném memory space CPU čas je ve skutečnosti přiřazován threadu, ne procesu Miroslav Prágl
Services 5 Pojem služby (services) má mnoho významů Z našeho pohledu architektury je důležité členění na následující části API služby Systémové služby Interní služby Miroslav Prágl
Systémové procesy 6 Nejdůležitejší procesy Idle – jeden thread na monitorování CPU idle time System – běží pod ním jen systémové thready (floppy disk driver, cache management …) SMSS – session manager – jeden z prvních spuštěných procesů – definice syst. proměnných, MS DOS názvy (LPT1), natažení kernel části subsystému Win32, spuštění winlogon CSRSS (Client/Server Runtime Server Subsystem) – Win32 subsystem – console windows, threading WinLogon – WinLogon proces (ctrl-alt-del, shell) Miroslav Prágl
Windows Executive 7 NTOSKRNL.exe - dvě skupiny Executive Process & Thread Manager Virtual Memory Manager I/O Manager Cache Manager Object Manager Kernel Thread scheduling Exception handling Interrupt handling Synchronization of processors Creating kernel objects Miroslav Prágl
Hardware Abstraction Layer 8 Kernel mode knihovna HAL.DLL Představuje abstraktní vrstvu mezi OS a HW Vybírá se v průběhu instalaie OS (od NT 6.0 změna) Existuje mnoho různých typů dle typu CPU, SMP atd. Miroslav Prágl
Další subsystémy 9 Cache Controller Configuration Manager I/O Manager Local Procedure Call (LPC) Memory Manager Process Structure PnP Manager Power Manager Security Reference Monitor (SRM) Window Manager GDI Miroslav Prágl
Windows NT startup 10 Ntldr Boot.ini [boot loader] timeout=30 default=multi(0)disk(0)rdisk(0)partition(2)\WINDOWS [operating systems] multi(0)disk(0)rdisk(0)partition(2)\WINDOWS="Microsoft Windows XP Professional" /fastdetect Ntdetect Ntoskrnl.exe, Hal.dll Boot + system drivers Smss Win32k.sys Csrss.exe Winlogon Gina Userinit 10Miroslav Prágl
Diskuse 11 Miroslav Prágl
Praktické ukázky nejběžnější práce s procesy, nástroje 12 Služby resp. zařízení Uživatelské procesy 12Miroslav Prágl
Služby (services) a zařízení (devices) 13 Konfigurace v Registry: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services 13Miroslav Prágl
Service manager (services.msc) 14 GUI aplikace pro správu služeb, konzolové ekvivalenty net.exe, sc.exe 14Miroslav Prágl
Device manager (devmgmt.msc) 15 GUI aplikace pro správu ovladačů, konzolové ekvivaleny net.exe a devcon.exe devcon.exe 15Miroslav Prágl
Task manager (taskmgr.exe) 16 Základní aplikace pro zobrazení běžících procesů Spuštění pod LocalSystem (vyšší práva): at 19:00 /interactive taskmgr.exe 16Miroslav Prágl
Process explorer Miroslav Prágl
Performance monitor (perfmon.exe) 18 Aplikace pro sledování výkonu (performance counters), logování a provádění akcí při překročení limitu: 18Miroslav Prágl
System configuration utility (MSConfig.exe) 19 Miroslav Prágl
AutoRuns Miroslav Prágl
Konzolové příkazy Start (cmd.exe), RunAs.exe 21 Start (Asynchronní) spuštění programu z shellu (cmd.exe) s možností specifikovat prioritu s tart /low notepad.exe Runas spuštění programu pod jiným Uživatelským účtem runas /savecred /user:MIREK-NB\Administrator sol.exe Oprávněním runas /showtrustlevels The following trust levels are available on your system: Disallowed Untrusted Restricted Basic User Unrestricted runas /trustlevel:"Basic User" "c:\Program Files\Internet Explorer\iexplore.exe" 21Miroslav Prágl
Příklad na práci s procesy - tasklist 22 Kontrola běhu aplikace pomocí tasklist. Pokud aplikace neběží spustíme ji: set imagename=notepad.exe set user=%USERDOMAIN%\%USERNAME% tasklist /FI "IMAGENAME eq %imagename%" /FI "USERNAME eq %user%" | find /i "%imagename%" if errorlevel 1 goto runit goto end :runit start %imagename% :end 22Miroslav Prágl
Příklad na práci s procesy - taskkill 23 Solitaire smí spouštět jen Administrator. Jinému uživateli jej ukončíme: set imagename=sol.exe set user=%USERDOMAIN%\Administrator TASKKILL /F /FI "USERNAME ne %user%" /IM %imagename% 23Miroslav Prágl
Příklad na práci se službami – sc.exe - nastavení akce při selhání služby 24 Miroslav Prágl
Příklad na práci se službami – sc.exe - nastavení akce při selhání služby 25 C:\>sc qfailure spooler [SC] GetServiceConfig SUCCESS SERVICE_NAME: spooler RESET_PERIOD : seconds REBOOT_MESSAGE : COMMAND_LINE : FAILURE_ACTIONS : RESTART -- Delay = milliseconds. RESTART -- Delay = milliseconds. c:\bat\sp_cmd.cmd: net send mirek-nb Spadl spooler!!! C:\>sc failure spooler reset= actions= restart/60000/run/60000 command= C:\bat\sp_cmd.cmd [SC] ChangeServiceConfig2 SUCCESS C:\>sc qfailure spooler [SC] GetServiceConfig SUCCESS SERVICE_NAME: spooler RESET_PERIOD : seconds REBOOT_MESSAGE : COMMAND_LINE : C:\bat\sp_cmd.cmd FAILURE_ACTIONS : RESTART -- Delay = milliseconds. RUN PROCESS -- Delay = milliseconds 25Miroslav Prágl
26 Zdroje: Tato přednáška vychází ze zdrojů programu “Windows ® Academic Program”: sing/windowsacademic.mspx sing/windowsacademic.mspx Doporučené odkazy: CZ/Default.aspx CZ/Default.aspx news://list.vyvojar.cz/cz.vyvojar.list.win news://list.vyvojar.cz/cz.vyvojar.list.win Miroslav Prágl