ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6...

32
ARCHITEKTURY SYSTEMÓW OPERACYJNYCH dr hab. inż. Krzysztof Patan, prof. PWSZ Instytut Politechniczny Państwowa Wyższa Szkola Zawodowa w Glogowie [email protected]

Transcript of ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6...

Page 1: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

ARCHITEKTURY SYSTEMÓWOPERACYJNYCH

dr hab. inż. Krzysztof Patan, prof. PWSZ

Instytut PolitechnicznyPaństwowa Wyższa Szkoła Zawodowa w Głogowie

[email protected]

Page 2: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Wprowadzenie

Systemy operacyjne nie są jednym spójnymtworem, lecz są zbudowane z wielu pomniejszychskładowych

Każda ze składowych powinna być dobrzeokreślonym fragmentem systemu ze staranniezdefiniowanym wejściem, wyjściem i działaniem

Każdy system operacyjny jest inaczejzbudowany, ale większość posiada podobneskładowe

Page 3: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Główne składowe systemów operacyjnych� moduł zarządzania procesami� moduł zarządzania pamięcią operacyjną� moduł zarządzania plikami� moduł zarządzania systemem wejścia–wyjścia� moduł zarządzanie pamięcią pomocniczą� praca sieciowa� system ochrony� system interpretacji poleceń

Page 4: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Zarządzanie procesami

* Proces – program, który jest wykonywany, np. zadaniesystemowe, program wsadowy, program użytkownika, zadaniedo drukowania

* Proces musi korzystać z pewnych zasobów systemukomputerowego, np. czasu CPU, pamięci, plików, urządzeńperyferyjnych

* Zasoby mogą być przydzielone procesowi w chwili jegoutworzenia, lub podczas jego wykonywania

* Po zakończeniu działania procesu, system komputerowyodzyskuje wszelkie zasoby przez niego wykorzystywane inadające się do powtórnego użytku

Page 5: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

* Proces – jednostka pracy w systemie; system składa się zezbioru procesów, część z nich to procesy systemuoperacyjnego, pozostałe – procesy użytkownika

* Program – jest elementem pasywnym i sam w sobie nie jestprocesem

* Proces – element aktywny, w którym licznik rozkazówwskazuje następną instrukcję do wykonania:• proces jest wykonywany sekwencyjnie• CPU wykonuje instrukcje jedna po drugiej• na żądanie procesu może być jednocześnie wykonana conajwyżej jedna instrukcja• z jednym programem może być powiązanych wiele procesów,zawsze rozważa się je jako oddzielne ciągi instrukcji

Page 6: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

� W odniesieniu do zarządzania procesami systemoperacyjny odpowiada za:

1 tworzenie i usuwanie procesów użytkowych i systemowych

2 wstrzymywanie i wznawianie procesów

3 dostarczanie mechanizmów synchronizacji procesów

4 dostarczanie mechanizmów komunikacji procesów

5 dostarczanie mechanizmów obsługi zakleszczeń

Page 7: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Zarządzanie pamięcią operacyjną

* Pamięć operacyjna – kluczowy element każdego systemukomputerowego

* Pamięć to ”magazyn” szybko dostępnych danychwykorzystywanych przez CPU i urządzenia IO

* Przykładowe wykonywanie cyklu rozkazów1 czytanie → pamięć operacyjna → wykonywanie2 pobieranie danych z dysku → pamięć operacyjna → czytaniedanych przez proces → wykonywanie

* W celu wykonania programu, należy go zaadresować orazzaładować do pamięci

* Podczas wykonywania programu, rozkazy i dane są pobieranez pamięci za pomocą generowania potrzebnych adresów

Page 8: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

� Lepsze wykorzystanie CPU oraz szybsza odpowiedźkomputera – przechowywanie w pamięci kilku programówjednocześnie

� W odniesieniu do zarządzania pamięcią operacyjną systemoperacyjny odpowiada za:

1 utrzymywanie ewidencji aktualnie zajętych części pamięci wrazz informacją w czyim są władaniu

2 decydowanie, które procesy mają być załadowane dozwolnionych obszarów pamięci

3 przydzielanie i zwalnianie obszarów pamięci stosownie dopotrzeb

Page 9: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Zarządzanie plikami

* Najbardziej widoczna część systemu operacyjnego

* Dane można przechowywać na różnego rodzaju nośnikach:magnetycznych, optycznych, itp.

* Dla wygody użytkownika system operacyjny tworzyjednolity, logiczny obraz magazynowanej informacji:

• definiuje on pliki niezależnie od fizycznych właściwościużywanych urządzeń przechowywania informacji

• system operacyjny odwzorowuje pliki na fizyczne nośnikiinformacji

• umożliwia do nich dostęp za pomocą urządzeń pamięci

Page 10: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

* Jeśli wielu użytkowników ma dostęp do tych samychplików to jest pożądane sprawowanie pieczy nad tym kto iw jaki sposób korzysta z tego dostępu

* W odniesieniu do zarządzania plikami system operacyjnyodpowiada za:

1 tworzenie i usuwanie plików

2 tworzenie i usuwanie katalogów

3 dostarczenie elementarnych operacji do manipulowania plikamii katalogami

4 odwzorowanie plików na obszary pamięci pomocniczej5 składowanie plików na trwałych nośnikach pamięci

Page 11: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Zarządzanie urządzeniami wejścia–wyjścia

* Jednym z celów systemu operacyjnego jest ukrywanie przedużytkownikiem szczegółów dotyczących specyfiki urządzeńsprzętowych

* Przykładem poprawnie zaprojektowanego systemu jest systemUNIX, gdzie osobliwości urządzeń I/O są ukryte przedwiększością samego systemu przez tzw. podsystemwejścia–wyjścia

* Podsystem wejścia–wyjścia składa się z:• części zarządzającej pamięcią (buforowanie, pamięć podręczna,spooling)• ogólnego interfejsu do modułów sterujących urządzeń• modułów sterujących (programów obsługi) poszczególnychurządzeń sprzętowych

* Osobliwości poszczególnego urządzenia wejścia–wyjścia znatylko odpowiadający mu moduł sterujący

Page 12: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Zarządzanie pamięcią pomocniczą

* Pamięć operacyjna jest za mała aby pomieścić wszystkie danei programy

* Zawarte w niej dane giną po odcięciu zasilania

* System komputerowy powinien posiadać zatem pamięćpomocniczą będącą zapleczem dla pamięci operacyjnej

* Pamięcią dyskową jako podstawowym środkiemmagazynowania zarówno danych jak i programów

* W odniesieniu do zarządzania pamięcią operacyjną, systemoperacyjny odpowiada za:1 zarządzanie obszarami wolnymi2 przydzielaniem pamięci3 planowaniem przydziału obszarów pamięci dyskowej

Page 13: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System ochrony

* W systemie z wieloma użytkownikami i współbieżniewykonywanymi wieloma procesami poszczególne procesynależy chronić przed wzajemnym oddziaływaniem

* Należy opracować mechanizmy gwarantujące, że pliki,segmenty pamięci, procesor i inne zasoby będą użytkowanetylko przez te procesy, które zostały przez system operacyjnyodpowiednio uprawnione

* Ochrona – mechanizm nadzorowania dostępu programów,procesów lub użytkowników do zasobów zdefiniowanych przezsystem komputerowy

* Mechanizmy ochrony zawierają sposoby określenia, co i wjakiej formie ma podlegać ochronie, jak również środki dowymuszania zaprowadzonych ustaleń

Page 14: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

* Za pomocą działań ochronnych można polepszaćniezawodność systemu poprzez poszukiwanie błędów ukrytychw interfejsach między składowymi podsystemami‘

* Wczesne wykrywanie błędów w interfejsach może zapobieczanieczyszczeniu zdrowego podsystemu przez podsystemuszkodzony

* Zasoby niechronione nie mogą obronić się przed użyciem lubnadużyciem przez nieupoważnionego lub niekompetentnegoużytkownika

* System ochrony dostarcza środków do rozróżniania międzyprawomocnym i nieprawomocnym użyciem

Page 15: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System interpretacji poleceń

* Interpreter poleceń – jeden z najważniejszych programóww systemie operacyjnym

* Interpreter poleceń – interfejs pomiędzy użytkownikiem, asystemem operacyjnym

• niektóre systemy zawierają interpreter poleceń w swoimjądrze

• w innych systemach (MS-DOS, UNIX) interpreterpoleceń jest specjalnym programem – powłoką(interpreterem wiersza poleceń)

Page 16: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

* Systemy operacyjne często różnią się od siebie warstwąpowłoki• przyjazny interpreter – systemy Apple Macintosh i MicrosoftWindows – operowanie za pomocą systemu okien i menu orazmyszki• interpretery trudniejsze do opanowania lecz o większychmożliwościach – systemy MS-DOS, UNIX – polecenia pisanena klawiaturze są wyświetlane na monitorze lub drukowane

* Polecenia rozpoznawane przez interpreter dotyczą:1 tworzenia procesów i zarządzanie nimi2 obsługi wejścia–wyjścia3 administrowania pamięcią pomocniczą i operacyjną4 ochrony i pracy sieciowej

Page 17: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Struktury systemów operacyjnych

Wiele systemów nie ma ściśle określonej strukturyMałe systemy często rozszerzano przekraczając pierwotnezałożenia

System MS-DOS

Programy u¿ytkowe

Modu³y obs³ugiurz¹dzeñ z

poziomu MS-DOS

Modu³y obs³ugi urz¹dzeñw pamiêci ROM BIOS

Rezydentne programysystemowe

Page 18: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

� wyraźnie rozróżnione poziomy funkcjonalne� z poziomu programów użytkowych można korzystać zpodstawowych procedur IO, np. pisania na ekran czy dyski

� swoboda tego rodzaju powoduje, że system nie jestodporny na błędnie działające programy użytkowe

� możliwość zawieszenia się systemu lub uszkodzeniapodzespołów

Page 19: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Systemy z jądrem

System UNIX

UŻYTKOWNICYPowłoki i polecenia

Kompilatory, interpreteryBiblioteki systemowe

Interfejs funkcji systemowych jądraSystem plików, planowanie przydziału czasu CPUpamięć wirtualna, system wejścia–wyjściamoduły sterujące dysków i taśmmoduły sterujące terminali

Interfejs między jądrem a sprzętemsterowniki sterowniki sterownikiterminali urządzeń pamięci

Terminale Dyski i taśmy RAM

Page 20: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

� przykład strukturalizacji systemu� system składa się z dwóch części: jądra i programówsystemowych

� jądro dzieli się na ciąg interfejsów i programów obsługiurządzeń

� za pośrednictwem funkcji systemowych jądro udostępniasystem plików, zarządzanie pamięcią operacyjną, planowanieprzydziału CPU, itd.

� programy systemowe korzystają z udostępnianych przez jądrofunkcji systemowych w celu wykonywania użytecznych działań

� wadą systemu UNIX w wersji podstawowej jest to, że posiadatylko dwie ”warstwy”, które zawierają bardzo dużo elementów

� można podzielić system operacyjny na mniejsze, lepiejdobrane elementy – większa kontrola nad komputerem iprogramami użytkowymi

Page 21: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Systemy o strukturze warstwowej

W podejściu warstwowym dzieli się system na tzw. warstwy(poziomy)

Poziom najniższy (warstwa 0) – sprzęt

Poziom najwyższy (warstwa N) – interfejs z użytkownikiem

Poziom M-ty – struktury danych i procedury wywoływane zwyższych warstw

Warstwa M-ta może wywoływać operacje dotyczące niższychwarstw

ZALETA – modularność

� każda z warstw korzysta z usług tylko niżej położonych warstw� łatwe wyszukiwanie błędów i weryfikacja systemu� pierwsza warstwa może być poprawiana bez troski o resztęsystemu

� po uruchomieniu warstwy można przystąpić do realizacjikolejnej

Page 22: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System THE

� pierwszy system warstwowy – THE (Technische HogeschoolEindhoven)

5 PROGRAMY UŻYTKOWE4 BUFOROWANIE URZĄDZEŃ WEJŚCIA–WYJŚCIA3 PROGRAM OBSŁUGI KONSOLI OPERATORA2 ZARZĄDZANIE PAMIĘCIĄ1 PLANOWANIE PRZYDZIAŁU PROCESORA0 SPRZĘT

� schemat zarządzania pamięcią – pamięć wirtualna� program obsługi konsoli operatora i buforowanie urządzeńwejścia–wyjścia były zlokalizowane wyżej od zarządzaniapamięcią, bufory urządzeń mogły być umieszczone w pamięciwirtualnej

� buforowanie urządzeń wejścia–wyjścia znajdowało się powyżejkonsoli operatora, dlatego informacje o błędachwejścia–wyjścia mogły być wyprowadzane na konsolęoperatora

Page 23: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System VENUS

6 PROGRAMY UŻYTKOWE5 PROGRAMY OBSŁUGI I PLANOWANIAPRZYDZIAŁU URZĄDZEŃ

4 PAMIĘĆ WIRTUALNA3 KANAŁ WEJŚCIA–WYJŚĆIA2 PLANOWANIE PRZYDZIAŁU PROCESORA1 INTERPRETER POLECEŃ0 SPRZĘT

� poziomy niższe 0–4 – planowanie przydziału czasu procesora izarządzanie pamięcią

� warstwy 0–4 zostały napisane jako mikroprogramy – szybszedziałanie i przejrzysty interfejs między warstwamimikroprogramowanymi, a warstwami wyższymi

Page 24: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Właściwości systemów warstwowych

7 główna wada – trudności w odpowiednim zdefiniowaniuzawartości poszczególnych warstw� program obsługi pamięci pomocniczej powinien być poniżejprocedury zarządzania pamięcią� wiele wymagań nie jest jawnie określonych

7 realizacje warstwowe – mniej wydajne od innych

3 główna zaleta – łatwość w lokalizacji błędów i weryfikacjisystemu

Podsumowanie

problemy z efektywnością spowodowały nieznaczneodchodzenie od modeli warstwowych

dąży się do systemów złożonych z mniejszej liczby, ale bardziejfunkcjonalnych warstw

Page 25: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Systemy o strukturze modularnej

System OS/2

Aplikacja Aplikacja Aplikacja

Interfejs programowania aplikacji Rozszerzenie API

Podsystem Podsystem PodsystemJĄDRO SYSTEMU

• zarządzanie pamięcią• ekspediowanie zadań• zarządzanie urządzeniami

Moduł Moduł Modułsterujący sterujący sterujący

Page 26: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Właściwości

system OS/2 – następca MS-DOS

system wielozadaniowy, podwójny tryb operacji

zaprojektowany z uwzględnieniem warstwowości

użytkownik nie może korzystać bezpośrednio z udogodnieńniskiego poziomu

zwiększona kontrola nad sprzętem i lepsze rozeznanie codo zasobów wykorzystywanych przez programyużytkowników

Page 27: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System Windows NT

pierwsza wersja systemu – struktura warstwowa

niska wydajność w stosunku do systemu Windows 95

w wersji Windows NT 4.0 poprawiono niedogodnościprzesuwając warstwy z przestrzeni użytkownika do przestrzenijądra ściśle je integrującarchitektura systemu NT wersji 4 – warstwowy układmodułów� warstwa abstrakcji sprzętu� jądro� egzekutor� zbiór podsystemów działających w trybie użytkownika

Page 28: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Struktura systemu Windows NT

Warstwa abstrakcji sprzêtu

J¹dro

SPRZÊT

Egzekutor

Zarz¹dcawejœcia-wyjœcia

Zarz¹dcaobiektów

Zarz¹dcaprocesów

Zarz¹dcapamiêci

wirtualnej

Zbiór podsystemów

Page 29: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

System Windows 2000

Ntdll.dll

Win32Lsass Services.exeWindows

Explorer

OS/2

Tryb u ytkownika¿

Interfejsy sprz towe, urz dzenia I/O, przerwania, kana y DMA, magistraleê ¹ ³

Tryb j dra¹

Mened er

sesji

¿ Spooler

Mened er

zada

¿

ñPOSIXWinlogon Svchost.exe

Centrum

wykonawcze

Win32 USER

GDISterowniki

urz dze¹ ñSterowniki

graficzne

Warstwa abstrakcji sprz tu HALê

J dro¹

Page 30: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Projektowanie i implementacja systemów operacyjnych

Założenia projektowe

Specyfikacja systemu – wybór sprzętu i typ systemu

Wymagania użytkowników – system operacyjny powinien byćwygodny w użyciu, łatwy do nauki, niezawodny, bezpieczny iszybki

Cele projektantów – system operacyjny powinien być łatwy dozaprojektowania, implementacji i konserwacji, elastyczny,niezawodny, pozbawiony błędów oraz efektywny

problem zdefiniowania wymagań względem systemuoperacyjnego nie ma jednoznacznego rozwiązania

Ogólne zasady projektowania – Inżynieria oprogramowania

Page 31: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Języki programowania

obecnie do projektowania systemów operacyjnychwykorzystuje się języki wysokiego poziomu

polepsza to implementację, pielęgnację oraz przenaszalnośćsystemuwady stosowania języków wysokiego poziomu1 spowolnienie działania systemu2 większe zapotrzebowanie na pamięć

pomimo wielkich rozmiarów systemów operacyjnych na ichefektywność ma wpływ niewielka ilość kodu: zarządca pamięcii planista przydziału CPU

procedury będące wąskimi gardłami można zastąpićodpowiednikami napisanymi w asemblerze

Page 32: ARCHITEKTURY SYSTEMÓW OPERACYJNYCHftp.pwsz.glogow.pl/.../arch_komp_sys_oper/wyklad6.pdf · 6 PROGRAMY UŻYTKOWE 5 PROGRAMY OBSŁUGI I PLANOWANIA PRZYDZIAŁU URZĄDZEŃ 4 PAMIĘĆ

Funkcja systemowe

Funkcje systemowe (wywołania systemowe – ang. system calls)stanowią interfejs pomiędzy wykonywanym programem, asystemem operacyjnym

Podział funkcji systemowych:

nadzorowanie procesów, np. end, abort, wait for time

operacje na plikach, np. open, close, read, write, getfile attributes

operacje na urządzeniach, np. request device, releasedevice, read, write, reposition

otrzymywanie informacji, np. get time, get date, getdevice attributes

komunikacja, np. create connection, deleteconnection, send message