SYSTEMY OPERACYJNE WYKŁAD 3 Jądro systemu i procesy Marcin Tomana Wyższa Szkoła Informatyki i Zarządzania
Program wykładu 2 Jądro systemu Możliwości procesorów Działanie procesów i wątków Zarządzanie procesami i aplikacjami w systemach Windows Zarządzanie procesami i aplikacjami w systemach Unix Systemy Operacyjne (M.Tomana) 2
Budowa jądra systemu jądro monolityczne - jeden duży program podzielony na moduły działające w trybie jądra tradycyjne Unix, BSD, Linux mikrokernel - tylko podstawowe funkcje w trybie jądra, dodatkowe moduły funkcjonalne niezależne w trybie użytkownika AIX, QNX Jądro hybrydowe - podstawowe funkcje niskopoziomowe w trybie jądra, reszta również, lecz z mniejszym priorytetem obecna większość systemów operacyjnych np. windows Systemy Operacyjne (M.Tomana) 3
Podstawowe cechy jądra wielozadaniowość wielowątkowość skalowalność wywłaszczalność wieloprocesorowość (?) Systemy Operacyjne (M.Tomana) 4
Wielozadaniowość Inaczej Wieloprocesowość Możliwość równoczesnego uruchamiania wielu procesów (programów) Proces działa przez określony kwant czasu i przechodzi w stan uśpienia Scheduler algorytm kolejkujący i porządkujący procesy Systemy Operacyjne (M.Tomana) 5
Wielowątkowość Możliwość w ramach jednego procesu wykonywania kilku niezależnych fragmentów kodu (wątków) Wątki współdzielą obszar pamięci Wątki mogą być rozdzielane na procesory Systemy Operacyjne (M.Tomana) 6
Skalowalność SO Możliwości rozwoju lub miniaturyzacji sprzętu Możliwość pracy systemu w klastrach HA High Availability Load balancing rozkładanie obciążenia Systemy Operacyjne (M.Tomana) 7
Przegląd kernelów systemów operacyjnych MS-DOS, Windows 95, Windows NT, Unix
System MS-DOS Trudno mówić tu o jądrze Pliki io.sys i msdos.sys, które muszą znajdować się w odpowiednich obszarach dysku (format /s) IO.SYS niskopoziomowa obsługa urządzeń wejścia/wyjścia, np. dysk, dma MSDOS.SYS użytkowe procedury i funkcje systemu, np. szukanie pliku itp. Systemy Operacyjne (M.Tomana) 9
Windows 95/98/ME IO.SYS procedury niskopoziomowe systemu (z pliku CONFIG.SYS wczytywane sterowniki 16-bitowe) MSDOS.SYS tylko plik konfiguracyjny Systemy Operacyjne (M.Tomana) 10
Windows NT/2000/XP Rozbudowany bootloader - NTLDR Możliwość instalacji w wielu katalogach różnych systemów Windows (z różnymi jądrami) Kernel w katalogu Windows plik SYSTEM32\NTOSKRNL.EXE Systemy Operacyjne (M.Tomana) 11
Kernel Linux Pełne źródła jądra systemu Unix w C Możliwość dużej konfiguracji Kompilacja Jądro, które potrafi doczytywać w ramach potrzeby moduły z dysku Systemy Operacyjne (M.Tomana) 12
Zarządzanie procesami Windows NT, Unix
Procesy w Windows NT/2000/XP/2003 Menadżer zadań (Task Manager) Ctrl+Alt+Delete Podgląd aplikacji (zamykanie aplikacji) Podgląd procesów (zmiana priorytetu pracy, zamykanie procesów) Podgląd zużycia procesora i pamięci Systemy Operacyjne (M.Tomana) 14
Procesy w systemach Unix Program top do monitoringu Systemy Operacyjne (M.Tomana) 15
Zarządzania zadaniami z shella Uruchamianie w trybie miłym dla procesora nice Zatrzymywanie zadań i powrót do shella ctrl+z Podgląd pracy zadań jobs Uruchamianie na pierwszym planie fg Uruchamianie w tle bg Zatrzymywanie kill Systemy Operacyjne (M.Tomana) 16
Obsługa przy pomocy programu ps Niestandardowy program Przeglądanie procesów z wszelkimi wskaźnikami (co możliwe również poprzez system plików proc) W Linux ps wyświetla procesy użytkownika ps ax wszystkie procesy z informacjami ps f tryb drzewa (forest) Systemy Operacyjne (M.Tomana) 17
Komunikacja z jądrem w Unix System plików proc (najczęściej katalog /proc) Komunikacja poprzez standardowe operacje plikowe Odczyt: cat /proc/meminfo Zapis: echo 1 > /proc/sys/net/ipv4/ip_forward Przydatne pliki: meminfo, cpuinfo, sys/net/ipv4/ip_forward Systemy Operacyjne (M.Tomana) 18