02 struktury


Systemy operacyjne
Systemy operacyjne
Maciej J. Bargielski
Maciej J. Bargielski
Struktury systemów operacyjnych
Struktury systemów operacyjnych
Struktury systemów operacyjnych
Składowe systemu.
Usługi systemu operacyjnego.
Wywołania systemowe.
Programy systemowe.
Struktura systemu.
Maszyny wirtualne.
Projektowanie i implementacja systemu.
Generowanie systemu.
2
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Składowe systemu operacyjnego
Składowe systemu operacyjnego
ZarzÄ…dzanie procesami.
Zarządzanie pamięcią operacyjną.
ZarzÄ…dzanie plikami.
ZarzÄ…dzanie systemem WE/WY.
Zarządzanie pamięcią pomocniczą.
Praca w sieci.
System ochrony.
System interpretacji poleceń.
3
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
ZarzÄ…dzanie procesami
ZarzÄ…dzanie procesami
Proces  program, który jest wykonywany.
Aby wypełnić swoje zadanie, proces potrzebuje
pewnych zasobów: czas procesora, pamięć, pliki,
urzÄ…dzenie WE/WY itd.
System operacyjny jest odpowiedzialny za
następujące czynności związane z zarządzaniem
procesami:
Tworzenie i usuwanie procesów;
Wstrzymywanie i wznawianie procesów;
Dostarczanie mechanizmów do:
Synchronizacji procesów;
Komunikacji procesów;
Obsługi blokad (zakleszczeń).
4
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Zarządzanie pamięcią operacyjną
Zarządzanie pamięcią operacyjną
Pamięć operacyjna  duża tablica słów lub bajtów, z
których każde(y) ma swój adres.
Jest magazynem szybko dostępnych danych dzielonych przez CPU
i urzÄ…dzenia WE/WY.
Jest to pamięć ulotna  traci swoją zawartość w przypadku awarii
systemu.
W odniesieniu do zarządzania pamięcią SO jest
odpowiedzialny za następujące czynności:
Utrzymywanie informacji o tym, które obszary pamięci są aktualnie
zajęte i przez kogo;
Decydowanie o tym, które procesy mają być załadowane do
zwolnionych obszarów pamięci;
Przydzielanie (alokacja) i zwalnianie (dealokacja) obszarów pamięci
zależnie od potrzeb.
5
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
ZarzÄ…dzanie plikami
ZarzÄ…dzanie plikami
Plik (file) zbiór powiązanych ze sobą informacji
zdefiniowanych przez jego twórcę.
W plikach zazwyczaj przechowywane są programy (zarówno w
postaci zródłowej, jak i wykonawczej) oraz dane;
Zwykle pliki zorganizowane sÄ… w katalogi;
Najczęściej pliki przechowuje się na dyskach i taśmach
magnetycznych oraz dyskach optycznych.
W odniesieniu do zarzÄ…dzania plikami SO jest
odpowiedzialny za następujące czynności:
Tworzenie i usuwanie plików;
Tworzenie i usuwanie katalogów;
Dostarczanie elementarnych operacji do manipulowania plikami i
katalogami;
Odwzorowywanie plików na obszary pamięci pomocniczej;
Umieszczanie plików na trwałych nośnikach pamięci.
6
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
ZarzÄ…dzanie systemem we-wy
ZarzÄ…dzanie systemem we-wy
Jednym z celów SO jest ukrywanie przed użytkownikiem
(czasem też przed większością samego SO) szczegółów
dotyczących sprzętu, m.in. WE/WY.
Wiele systemów operacyjnych ma specjalne podsystemy WE/WY.
System WE/WY składa się z:
Systemu zarządzania pamięcią: buforowanie, pamięć podręczna,
spooling;
Ogólnego interfejsu do modułów sterujących urządzeń;
Modułów sterujących dla poszczególnych urządzeń sprzętowych.
Właściwości danego urządzenia zna tylko odpowiadający mu
moduł sterujący
7
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Zarządzanie pamięcią pomocniczą
Zarządzanie pamięcią pomocniczą
Ponieważ pamięć operacyjna jest ulotna i za mała by
pomieścić wszystkie dane i programy, system
komputerowy musi dostarczać pamięć pomocniczą jako
zaplecze dla pamięci operacyjnej.
Większość współczesnych systemów komputerowych
używa dysków jako podstawowego medium do
magazynowania zarówno danych, jak i programów.
SO odpowiada za następujące czynności związane z
zarzÄ…dzaniem dyskami:
ZarzÄ…dzanie wolnymi obszarami;
Alokacja pamięci;
Planowanie przydziału pamięci dyskowej.
Wydajność pamięci pomocniczej może mieć znaczny
wpływ na wydajność całego systemu komputerowego.
8
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Praca w sieci (systemy rozproszone)
Praca w sieci (systemy rozproszone)
System rozproszony jest zbiorem procesorów, które nie
dzielą pamięci, urządzeń zewnętrznych ani zegara  każdy
procesor ma swoją lokalną pamięć itd.
Procesory w systemie połączone są za pomocą sieci
komunikacyjnej (szybkie szyny danych, linie telefoniczne,
Å‚Ä…cza bezprzewodowe).
Komunikacja odbywa się przy użyciu protokołu (zbiór reguł
używanych przez węzły komunikacyjne przy wymianie
informacji).
System rozproszony umożliwia użytkownikowi dostęp do
różnych zasobów.
Dostęp do dzielonych zasobów pozwala:
Przyspieszanie obliczeń;
Większą funkcjonalność;
Zwiększanie dostępności danych;
Podniesienie niezawodności.
9
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
System ochrony
System ochrony
Ochrona  mechanizm nadzorowania dostępu programów,
procesów lub użytkowników do zasobów zarówno
systemu, jak i użytkowników.
Każdy wielozadaniowy, wielodostępny i współbieżny SO musi
dostarczać sposoby ochrony procesów przed ich wzajemnym
(niepożądanym) oddziaływaniem.
Mechanizm ochrony musi:
Rozróżniać między dostępem autoryzowanym a nieautoryzowanym;
Określać, co i jakiej ma podlegać ochronie;
Dostarczać środków do wymuszania zaprowadzonych ustaleń.
10
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
System interpretacji poleceń
System interpretacji poleceń
Wiele poleceń jest przekazywanych do systemu
operacyjnego za pomocÄ… instrukcji sterujÄ…cych (control
statements), które dotyczą:
Tworzenia procesów i zarządzania nimi;
Obsługi WE/WY;
Zarządzania pamięcią pomocniczą;
Dostępu do plików;
Ochrony;
Pracy sieciowej (networking).
Program, który czyta i interpretuje instrukcje sterujące nosi
różne nazwy:
Interpreter wiersza poleceń (command-line interpreter);
Powłoka (shell)  w UNIX ie.
Jego zadanie  pobrać następną instrukcję i wykonać ją.
W niektórych systemach jest częścią jądra, w innych (np. MS-DOS,
UNIX) jest specjalnym programem, wykonywanym przy
rozpoczynaniu zadania lub przy logowaniu siÄ™ w systemie.
11
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Usługi systemu operacyjnego
Usługi systemu operacyjnego
Wykonywanie programów  zdolność SO do ładowania
programów do pamięci i ich wykonywania.
Operacje WE/WY  ponieważ program użytkownika nie
może wykonywać operacji WE/WY, SO musi dostarczać
środki do ich wykonywania.
Manipulowanie systemem plików  programy muszą mieć
możliwość czytanie i pisania w plikach, a także ich
tworzenie i usuwania.
Komunikacja  wymiana informacji między procesami
wykonywanymi albo w tym samym komputerze albo w
różnych systemach komputerowych.
Zaimplementowana za pomocą pamięci dzielonej (shared memory)
lub techniki przekazywania komunikatów (message passing).
Wykrywanie błędów  zapewnienie poprawnego przebiegu
obliczeń przez detekcję błędów w CPU i pamięci, w
urządzeniach WE/WY, programach użytkownika.
12
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Dodatkowe funkcje systemu operacyjnego
Dodatkowe funkcje systemu operacyjnego
Istnieje dodatkowy zbiór funkcji SO przeznaczonych nie do
pomagania użytkownikowi, ale do optymalizacji działania
samego systemu.
Przydzielanie zasobów  alokacja zasobów do wielu
użytkowników i wielu wykonywanych zadań.
Rozliczanie  przechowywanie i śledzenie informacji o
tym, którzy użytkownicy i w jakim stopniu korzystają z
poszczególnych zasobów.
Ochrona  zapewnienie nadzoru nad wszystkimi
dostępami do zasobów systemu. Ważne jest również
bezpieczeństwo (security) systemu wobec niepożądanych
czynników zewnętrznych
13
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Funkcje (wywołania) systemowe
Funkcje (wywołania) systemowe
Funkcje systemowe, inaczej: wywołania systemowe
(system calls)  tworzą interfejs między wykonywanym
programem a systemem operacyjnym.
Na ogół dostępne jako rozkazy w języku asemblera.
Języki, które utworzono aby zastąpić asemblery przy
programowaniu SO dają możliwość bezpośredniego wywołania
funkcji systemowych (np. C, C++, Perl).
W niektórych systemach (MS Windows XP) są częścią interfejsu
programisty aplikacji (application programmer interface  API)
dostępnego w kompilatorach dla tego systemu
IstniejÄ… zasadniczo trzy metody przekazywania
parametrów między wykonywanym programem a
systemem operacyjnym:
Przekazanie parametrów bezpośrednio do rejestrów procesora.
Umieszczenie parametrów w tablicy w pamięci i przekazanie jej
adresu za pośrednictwem rejestru.
Składanie parametrów na stosie przez program i zdejmowanie ich
ze stosu przez system operacyjny.
14
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Rodzaje funkcji systemowych
Rodzaje funkcji systemowych
Nadzorowanie procesów:
Utworzenie, załadowanie, wykonanie, zakończenie, zaniechanie,
określenie atrybutów, & , procesu; przydział i zwolnienie pamięci itd.
Operacje na plikach:
Utworzenie, usunięcie, otwarcie, zamknięcie, czytanie, pisanie,
określenie/pobranie atrybutów pliku itp.
Operacje na urzÄ…dzeniach:
Zamówienie, zwolnienie, logiczne przyłączenie i odłączenie,
czytanie, pisanie, określenie/pobranie atrybutów urządzenia itp.
Utrzymywanie informacji:
Określenie/pobranie: czasu, daty, danych systemowych, atrybutów
procesu/pliku/urzÄ…dzenia itp.
Komunikacja:
Utworzenie/usunięcie połączenia komunikacyjnego,
nadawanie/odbieranie komunikatów, przekazanie informacji o
stanie, przyłączanie/odłączanie urządzeń zdalnych.
15
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Przykłady nadzorowania procesów
Przykłady nadzorowania procesów
16
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Modele komunikacji
Modele komunikacji
Przekazywanie komunikatów  wygodne do wymiany mniejszej ilości
danych w komunikacji międzykomputerowej.
Pamięć dzielona  zapewnia maksymalną szybkość i wygodę
komunikacji w obrębie jednego komputera.
17
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Programy systemowe
Programy systemowe
Programy systemowe tworzą wygodne środowisko do
rozwoju i wykonywania innych programów; można je
podzielić na następujące kategorie:
Manipulowanie plikami (tworzenie, usuwanie, kopiowanie itd.);
Informowanie o stanie systemu (data i czas, wielkość pamięci itp.);
Tworzenie i modyfikowanie plików (edytory);
Zaplecze języków programowania (kompilatory, asemblery,
interpretery popularnych języków, jak C/C++, Java, Pascal, & );
Aadowanie i wykonywanie programów (konsolidatory, programy
Å‚adujÄ…ce i uruchomieniowe, & );
Komunikacja (realizacja mechanizmów połączeń między procesami,
użytkownikami, komputerami);
Programy aplikacyjne (przeglÄ…darki WWW, arkusze kalkulacyjne,
programy przetwarzania tekstów, pakiety graficzne, & ).
Sposób, w jaki większość użytkowników postrzega system
operacyjny, jest określany w większym stopniu przez
programy systemowe niż przez funkcje systemowe.
18
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura systemu
Struktura systemu
MS-DOS  napisany pod kątem osiągnięcia maksymalnej
funkcjonalności przy oszczędności miejsca:
Brak podziału na moduły;
Interfejsy i poziomy funkcjonalne nie sÄ… wyraznie wydzielone.
UNIX  początkowo ograniczony przez funkcjonalność
sprzętu miał ograniczoną strukturalizację. Składa się z
dwóch części:
JÄ…dro (kernel):
Składa się z wszystkiego poniżej interfejsu funkcji systemowych
a powyżej sprzętu;
Udostępnia system plików, planowanie przydziału procesora,
zarządzanie pamięcią i inne czynności systemu operacyjnego
(bardzo wiele możliwości zebranych na jednym poziomie).
Programy systemowe  korzystają z udostępnianych przez jądro
funkcji systemowych dla wykonywania użytecznych działań (np.
kompilacja programów, operacje na plikach).
19
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Warstwowa struktura systemu MS DOS
Warstwowa struktura systemu MS DOS
20
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura systemu Unix
Struktura systemu Unix
21
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura warstwowa (Layered structure)
Struktura warstwowa (Layered structure)
System operacyjny jest podzielona na warstwy (poziomy).
Najniższą warstwę (warstwę 0) stanowi sprzęt; najwyższą warstwą
(warstwą N) jest interfejs użytkownika.
Warstwy są tak wybrane, że każda używa funkcji (operacji)
i korzysta z usług tylko niżej położonych warstw.
Modularność i ukrywanie operacji, danych itd.
Zalety:
Aatwiejsze uruchamianie i testowanie systemu (warstwa po
warstwie począwszy od najniższej)  upraszcza projektowanie i
implementacjÄ™ systemu.
Wady:
Główna trudność: odpowiednie zdefiniowanie poszczególnych
warstw (nie zawsze jest oczywiste, co powinna zawierać dana
warstwa).
Mniejsza wydajność (konieczność przechodzenia od warstwy do
warstwy).
22
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Warstwa systemu operacyjnego
Warstwa systemu operacyjnego
23
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura warstw systemu OS/2 (IBM)
Struktura warstw systemu OS/2 (IBM)
24
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura systemu z mikrojÄ…drem
Struktura systemu z mikrojÄ…drem
Jądro systemu zredukowane do małego zbioru funkcji
rdzeniowych, realizujących jedynie mały zbiór niezbędnych
operacji elementarnych  tzw. mikrojÄ…dro (microkernel).
Wszystkie mniej ważne operacje przeniesione do
programów systemowych lub programów z poziomu
użytkownika.
Komunikacja odbywa się między modułami użytkownika
przy użyciu metody przekazywania komunikatów.
Zalety:
System operacyjny Å‚atwiejszy do rozszerzania;
SO łatwiejszy do przenoszenia na nowe architektury sprzętowe;
SO bardziej niezawodny (mniej kodu wykonywanego w trybie
jÄ…dra);
Większe bezpieczeństwo systemu.
Przykłady: System Mach (wersja UNIXa z Carnegie-Mellon
University), Microsoft Windows NT.
25
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura Klient-Serwer systemu
Struktura Klient-Serwer systemu
Windows NT
Windows NT
26
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura hybrydowa systemu Apple
Struktura hybrydowa systemu Apple
Macintosh OS X (Darwin)
Macintosh OS X (Darwin)
System OS X ma strukturę hybrydową  środowisko jądra
składa się zasadniczo z mikrojądra Mach i jądra BSD
27
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Struktura systemu z modułami jądra
Struktura systemu z modułami jądra
Stosowanie technik obiektowych przy projektowaniu nowoczesnych
systemów operacyjnych prowadzi do tworzenia modularnych jąder.
Jądro takie posiada zbiór rdzeniowych komponentów i dynamicznie
dołącza dodatkowe usługi albo w trakcie uruchamiania systemu, albo w
trakcie jego działania.
Strategia taka oparta jest o dynamicznie ładowalne moduły jądra i jest
powszechna w nowoczesnych implementacjach systemu UNIX, takich
jak Solaris, Linux, Mac OS X.
Np. struktura systemu Solaris jest zorganizowana wokół rdzeniowego
jądra z siedmioma typami ładowalnych modułów jądra:
Klasy planowania;
Systemy plików;
Aadowalne wywołania systemowe;
Formaty wykonawcze;
Moduły STREAMS;
Sterowniki urządzeń i szyn;
Różnorodne usługi.
Struktura tego typu jest bardziej elastyczna od struktury warstwowej;
przypomina strukturÄ™ z mikrojÄ…drem, ale jest od niej bardziej wydajna.
28
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Maszyny wirtualne
Maszyny wirtualne
Maszyna wirtualna (virtual machine) jest logicznÄ…
konkluzją podejścia warstwowego  traktuje sprzęt i
funkcje systemowe tak, jakby należały do tego samego
poziomu (sprzętu).
Maszyna wirtualna tworzy interfejs identyczny z
podstawowym sprzętem (wirtualna kopia komputera).
SO tworzy złudzenie wielu procesów pracujących na
swych własnych procesorach z własną (wirtualną)
pamięcią.
Zasoby fizycznego komputera sÄ… dzielone w celu
utworzenia maszyn wirtualnych.
Odpowiednie planowanie przydziału CPU sprawia wrażenie, że
każdy użytkownik ma swój własny procesor.
Spooling i system plików pozwalają tworzyć wirtualne urządzenia
wejścia/wyjścia.
Zwykły terminal do pracy z podziałem czasu służy jako wirtualna
konsola operatorska.
29
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Modele systemu
Modele systemu
30
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Zalety/wady maszyn wirtualnych
Zalety/wady maszyn wirtualnych
Koncepcja maszyn wirtualnych dostarcza pełną ochronę
zasobów systemowych, gdyż każda maszyna wirtualna jest
całkowicie odizolowana od innych maszyn wirtualnych.
System maszyn wirtualnych stanowi znakomitÄ… platformÄ™ do
badań i rozwoju systemów operacyjnych (rozwój systemu
operacyjnego dokonuje siÄ™ na maszynie wirtualnej zamiast
na fizycznej maszynie, a zatem nie zaburza normalnego
działania systemu).
Koncepcja maszyny wirtualnej jest trudna do implementacji
 zrealizowanie dokładnej kopii maszyny bazowej wymaga
sporego wysiłku.
Wzajemna izolacja maszyn wirtualnych uniemożliwia
bezpośrednie dzielenie zasobów (można wprowadzić
komunikację poprzez wirtualną sieć, czy system dzielonych
dysków wirtualnych, tzw. minidysków).
Mniejsza wydajność (procesor musi obsługiwać wiele
maszym wirtualnych  przełączanie kontekstu)
31
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Maszyna wirtualna Javy
Maszyna wirtualna Javy
Kompilator języka Java (Sun Microsystems) wytwarza niezależny od
platformy kod pośredni tzw. bajtkod (bytecode) wykonywany przez
wirtualnÄ… maszynÄ™ Javy (Java Virtual Machine  JVM).
Aby program w języku Java mógł być wykonywany na danej
platformie, musi być na niej zainstalowana JVM (na SO, na sprzęcie
lub w przeglÄ…darce WWW).
JVM składa się z:
Programu Å‚adujÄ…cego klasy (class loader);
Programu weryfikujÄ…cego klasy (class verifier);
Interpretera działającego w czasie wykonywania (runtime interpreter).
Kompilatory terminowe JIT (Just-In-Time) zwiększają szybkość
wykonywania poprze przekształcenie bajtkodu na kod maszynowy.
JVM jest implementowana w przeglÄ…darkach internetowych.
JVM jest także realizowana w małym systemie operacyjnym JX, który
implementuje ją wprost na sprzęcie.
Urządzenia specjalizowane, np. telefony komórkowe, mogą być
oprogramowane za pomocą języka Java (mikroprocesory wykonujące
jako rdzenne instrukcje kod pośredni Javy).
32
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Projektowanie systemu
Projektowanie systemu
Cele systemu:
Cele użytkownika  system operacyjny powinien być wygodny i łatwy
w użyciu, łatwy do nauki, niezawodny, bezpieczny i szybki.
Cele systemu  system operacyjny powinien być łatwy do
zaprojektowania, realizacji i pielęgnowania, a także elastyczny
niezawodny, wolny od błędów i wydajny.
Mechanizmy i polityka:
Mechanizmy określają jak czegoś dokonać (np. mechanizmem
ochrony procesora jest czasomierz), natomiast polityka decyduje o tym
co ma być zrobione (np. na jak długo ustawiony jest czasomierz dla
poszczególnych użytkowników).
Oddzielenie polityki od mechanizmów jest bardzo ważną zasadą 
daje maksimum elastyczności, jeżeli decyzje polityczne mają być
pózniej zmieniane (np. systemy z mikrojądrem realizują tę zasadę w
sposób skrajny, realizując jedynie podstawowy zbiór elementarnych
działań składowych. Na przeciwnym krańcu są systemy takie jak
Windows, gdzie zarówno mechanizmy, jak i polityka są zakodowane w
systemie, żeby wymusić jego ogólny wygląd i odbiór).
33
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Implementacja systemu
Implementacja systemu
Tradycyjnie systemy operacyjne były pisane w językach
asemblerowych, obecnie natomiast mogą być pisane w
językach wyższego poziomu (np. C/C++) Unix, OS/2 czy
Windows NT niemal w całości napisano w C; w
assemblerze zakodowano tylko małe fragmenty.
Zalety używania języka wyższego poziomu:
Programuje siÄ™ szybciej;
Kod jest bardziej zwarty;
Kod jest Å‚atwiejszy do zrozumienia i sprawdzenia;
System operacyjny jest znacznie Å‚atwiejszy do przenoszenia
(instalowania na innym sprzęcie).
Wady:
Spowolnienie działania;
Większe zapotrzebowanie na pamięć.
Najbardziej newralgiczne części systemu (tzw. wąskie
gardła) mogą być (prze)pisane w asemblerze.
34
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.
Generowanie systemu
Generowanie systemu
Systemy operacyjne zwykle projektowane są by działały na pewnej
klasie maszyn w rozmaitych instalacjach ze zmiennÄ… konfiguracjÄ…
urządzeń.
SO musi być skonfigurowany (wygenerowany) dla każdej specyficznej
instalacji komputerowej  proces ten nazywa siÄ™ generowaniem
systemu (SYSGEN).
Program SYSGEN zbiera informacje dotyczÄ…ce specyfiki konfiguracji
danego sprzętu (czyta z pliku, pyta operatora bądz sam sonduje
sprzęt), a następnie generuje SO.
Rozruch systemu (booting)  procedura rozpoczęcia pracy komputera
przez załadowanie jądra.
Program rozruchowy (bootstrap program)  mały fragment kodu
przechowywany w pamięci ROM będący w stanie zlokalizować jądro,
załadować je do pamięci i rozpocząć jego wykonywanie (czasami
dwuetapowo: mniejszy program ładuje większy, a ten dopiero ładuje
jÄ…dro  np. w komputerach PC).
35
Maciej J. Bargielski © 2009: Systemy operacyjne. Struktury systemów operacyjnych.


Wyszukiwarka

Podobne podstrony:
02 struktura
SO 02 Struktury Systemow Komputerowych
02 Struktrura metali (4)
02 Struktura programu
02 T S Kuhn Struktura rewolucji naukowychid443
Algorytmy i struktury danych 02 Rekurencja i złożoność obliczeniowa
Margit Sandemo Cykl Saga o czarnoksiężniku (02) Blask twoich oczu
t informatyk12[01] 02 101
introligators4[02] z2 01 n

więcej podobnych podstron