background image

Autor: Damian Kałwik

Systemy

background image

Jądro systemu operacyjnego

Jądro systemu operacyjnego 

(ang. kernel) – podstawowa część 

systemu operacyjnego, która jest odpowiedzialna za wszystkie 
jego zadania.

background image

Modele

Model funkcjonowania jądra monolitycznego

Model komunikacji mikrojądra z aplikacjami

Model komunikacji jądra hybrydowego z 

aplikacjami

background image

Budowa jądra

jądro monolityczne – 

często stosowane w systemach typu Unix. Wszystkie zadania 

są wykonywane przez jądro, będące jednym, dużym programem działającym w trybie 
jądra. Przykładami takiego jądra mogą być: Linux, OpenBSD, FreeBSD, chociaż 
większość posiada umiejętność dołączania i odłączania modułów (najczęściej 
zawierających kod sterownika urządzenia lub obsługi potrzebnego w danej chwili 
systemu plików). 

mikrojądro

 – w tej technice z monolitycznego jądra zostaje tylko 

jego podstawowa część, a części odpowiedzialne za bardziej wyrafinowane funkcje są 
wydzielone do funkcjonalnych bloków albo realizowane jako zwykłe procesy w trybie 
użytkownika.

nanokernel

 – technika zbliżona do techniki mikrojądra, różnica w wielkości – 

nanokernel jest jeszcze mniejszy.

exokernel

 – architektura będąca odmianą nanojądra. Cechą wyróżniającą jest 

możliwość zarządzania zasobami systemu przez nieuprzywilejowanego użytkownika, 
a rola jądra sprowadza się do zabezpieczania zasobów. Przykładem systemu 
korzystającego z tego typu jądra jest system XOK, zbudowany w MIT Laboratory for 
Computer Science, pracujący na komputerach PC. 

background image

cachekernel

 – w tej technice jądro systemu buforuje obiekty systemowe takie jak 

wątki czy przestrzenie adresowe tak jak sprzęt komputerowy buforuje pamięć. Jądra 
aplikacji trybu użytkownika są odpowiedzialne za ładowanie tych danych i ponowne 
ich zapisanie stosując specyficzne dla danej aplikacji mechanizmy.

jądro hybrydowe 

– kompromis między architekturą jądra monolitycznego i 

mikrojądra. W krytycznych usługach - np. stos sieci - usługi są na stałe wkompilowane 
w główny kod jądra, inne usługi pozostają oddzielone od głównego jądra i działają 
jako serwery (w przestrzeni jądra). 

background image

Cechy jądra

Z budowy jądra wynikają jego cechy, takie jak:

wielozadaniowość

 (wieloprocesowość) - cecha systemu operacyjnego 

umożliwiająca mu równoczesne wykonywanie więcej niż jednego procesu. Zwykle za 
poprawną realizację wielozadaniowości odpowiedzialne jest jądro systemu 
operacyjnego.

wielowątkowość

 (ang. multithreading) – cecha systemu operacyjnego, dzięki której 

w ramach jednego procesu może wykonywać kilka wątków lub jednostek 
wykonawczych. Nowe wątki to kolejne ciągi instrukcji wykonywane oddzielnie. 

wielobieżność

  (ang. reentrant) – cecha jądra systemu operacyjnego, pozwalająca 

na jednoczesną pracę kilku procesów w trybie jądra.

skalowalność

 - zapewnienie coraz wydajniejszej pracy w miarę zwiększania liczby 

elementów składowych.

wywłaszczalność

 -  technika używana w środowiskach wielozadaniowych, w której 

algorytm szeregujący (scheduler) może wstrzymać aktualnie wykonywane zadanie 
(np. proces lub wątek), aby umożliwić działanie innemu. 

background image

Etapy uruchamiania systemu 

Windows

Po włączeniu zasilania komputera rozpoczyna się wewnętrzny test sprzętu „

POST

”. 

Podczas tej fazy sprawdzana jest obecność najważniejszych systemów, następnie 
uruchamiana jest karta graficzna – przeprowadzany jest jej test, i rozpoczyna się 
wyświetlanie danych na ekranie.

background image

Etapy uruchamiania cz.2

Kolejnym etapem jest testowanie procesora i pamięci, po których kontrolowane są 
napędy podłączone do komputera i wyświetlany jest ekran zawierający podsumowanie 
informacji o przetestowanym sprzęcie.

Po przeprowadzeniu testów „

POST

” , BIOS uruchamia program zapisany w głównym 

rekordzie rozruchowym dysku „

MBR

” (Master Boot Record), w obszarze 

MBR

 zapisana 

jest instrukcja uruchamiająca program NT Loader (plik ntldr znajdujący się na partycji 
uruchomieniowej systemu). 

NT Loader 

przetwarza zapisy w pliku 

BOOT. ini

.

background image

Etapy uruchamiania cz.3

Plik 

BOOT.ini

 zawiera informacje na temat sektora rozruchowego komputera. Każdy 

system operacyjny zainstalowany na dysku tworzy własny sektor rozruchowy zapisany 
w pierwszym sektorze partycji dysku. Jeśli w komputerze zainstalowany jest więcej niż 
jeden system operacyjny, to program ładujący wyświetli menu wyboru systemów.

background image

Etapy uruchamiania cz.4

Następnie ładowany jest program 

NTDETECT.com

, który odpowiada za sprawdzenie 

zainstalowanego w systemie sprzętu. Informacje te przekazywane są do 

NT Loader 

który korzystając z nich uruchamia odpowiednie jądro systemu – plik 

ntoskrnl.exe

 

(zapisany w katalogu 

WINDOWS/system32

) Po załadowaniu do pamięci jądro, 

przejmuje kontrolę nad dalszym uruchamianiem systemu.
Uruchamiany jest plik 

hal.dll

, odpowiadający za odseparowanie warstwy sprzętowej, 

następnie ładowane są sterowniki niskiego poziomu (znajdują się w 

WINDOWS/system32/drivers

) oraz pozostałe pliki stanowiące uzupełnienie funkcji 

jądra systemu operacyjnego. Na końcu uruchamiany jest program służący do logowania 
użytkownika – 

winlogon.exe

. Podczas ładowania system korzysta z zapisów w plikach 

rejestru.

Jak widać procedura uruchamiania systemu Windows, w „teorii” jest długa, ale w 
„praktyce” to wszystko przebiega naprawdę bardzo szybko

background image

Etapy uruchamiania cz.5

Poniżej przedstawiam pliki niezbędne do uruchomienia Windows-a.

Ntldr.exe 

– znajduje się w głównej partycji dysku systemowego. Jest to program ładujący 

systemu oparty na jądrze NT.

BOOT.ini 

– znajduję się w głównej partycji dysku systemowego. Jest to plik zawierający opisy 

zainstalowanych systemów operacyjnych wraz z partycjami, z których mogą być uruchomione.

NTDETECT.com

 – znajduje się w głównej partycji dysku systemowego. Jest to program 

odpowiedzialny za sprawdzenie zainstalowanego sprzętu.

Ntoskrnl.exe

 – to jądro systemu operacyjnego

hal.dll

 – bibliotek zapewniająca odseparowanie warstwy sprzętowej

pliki sterowników 

– znajdują się w folderze WINDOWS/system32/drivers – są to wszystkie 

sterowniki niskiego poziomu

pliki rejestru 

– znajdują się w folderze WINDOWS/system32/config – są to pliki z zapisami 

rejestru systemu Windows.

background image

Etapy uruchamiania cz.6

smss.exe

 - jest to proces, który jest częścią systemu Microsoft Windows. Nazywany 

jest Menedżerem sesji. Zainicjowany przez system odpowiada za wiele czynności, 
m.in logowania WinLogon

i Win32 (Csrss.exe). Nie można go wyłączyć, jest niezbędny do stabilnego działania 
systemu.

csrss.exe

 - jego pełna nazwa to Client/Server Runtime Server Subsystem. 

Odpowiada za działanie większości komend graficznych. Ważny składnik systemu, nie 
powinien być wyłączany. 

background image

Etapy uruchamiania cz.7

W skrócie etapy uruchomienia systemu operacyjnego można przedstawić 
następująco:

POST

Odczyt MBR

NTLDR

BOOT.INI

NTDETECT.COM

NTOSKRNL.EXE

SMSS.EXE

CSRSS.EXE 

background image

Uruchamianie kontrolowane

Uruchamianie kontrolowane 

- to typ uruchamiania systemu operacyjnego, w którym 

użytkownik jest pytany o to, czy załadować dany element do pamięci operacyjnej (np. 
czy załadować obsługę myszy). Stosowane głównie do rozwiązywania problemów ze 
sprzętem i sterownikami.

background image

Bibliografia

Wikipedia.org;

forum.ks-ekspert.pl;

Google.pl.


Document Outline