Systemy Operacyjne - wyklady, !Studia, Semestr III, Systemy operacyjne

[ Pobierz całość w formacie PDF ]
SYSTEMY OPERACYJNE
dr inż. Stanisława Plichta
Instytut Informatyki
pokój nr 144/8
wykład I, 4.10.2011 r.
·
Operator (nie programista) gromadzi zadania we wsady,
o
Zmniejsza się czas instalacji,
o
Nadal jest to niewygodne dla użytkownika.
·
Automatyczne porządkowanie zadań (sterowanie przekazywane z jednego do
drugiego zadania),
·
Rezydentny monitor,
·
Karty sterujące przetwarzaniem wsadu (Job Control Language),
·
Zwiększona przepustowość w systemie kosztem średniego czasu obrotu zadania.
warunki zaliczenia:
Egzamin bez zwolnień, pisemny, około 20 pytań.
0,4 LAB + 0,6 EGZ
Później pojawiły się taśmy, dyski magnetyczne – umożliwiające przechowywanie danych.
Przetwarzanie pośrednie:
·
Schemat systemu komputerowego:
Sprzęt komputerowy (jednostka centralna – procesor, pamięć, urządzenia we/wy)
system
operacyjny
oprogramowanie użytkowe (bazy danych, edytory, asemblery, kompilatory)
użytkownicy.
Wsad kopiowany jest na nośnik magnetyczny (taśmę) off-line
·
Wsad także kopiowany jest na taśmę i drukowany off-line
·
Korzyści:
o
Komputer główny nie jest ograniczony prędkością pracy czytników kart i
drukarek, a jedynie prędkością szybszych stacji taśmowych,
o
Nie są potrzebne zmiany w programach użytkowych przy przejściu do trybu
pracy pośredniej,
o
Możliwość używania wielu systemów czytnik-taśma i taśma-drukarka dla
jednego CPU.
Zrównoleglenie we/wy w pojedynczej maszynie:
buforowanie
we
bufor
jedn. centralna
bufor
wy
Zadaniem systemu operacyjnego jest tworzenie środowiska, w którym użytkownik może
wykonywać programy. Podstawowym jego celem jest spowodowanie by system
komputerowy był wygodny w użyciu, a eksploatacja sprzętu komputerowego była wydajna.
Rozwój systemów operacyjnych:
·
Proste systemy operacyjne,
·
Systemu wsadowe,
·
Buforowanie i spooling,
·
Wieloprogramowość,
Wielozadaniowość,
·
Metoda jednoczesnego wykonywania obliczeń i wejścia-wyjścia dla jednego zadania:
·
·
Systemy dla komputerów osobistych,
·
Systemy równoległe,
·
Nie eliminuje całkowicie przestojów CPU czy urządzeń we-wy,
·
Wymaga przeznaczenia pamięci na systemowe bufory,
Systemy rozproszone,
·
Systemy czasu rzeczywistego.
·
Niweluje wahania w czasie przetworzenia danych,
·
Wykorzystanie części pamięci na bufory.
Systemy o charakterze bezpośrednim:
·
Zrównoleglenie we/wy w pojedynczej maszynie:
spooling
Przenoszenie danych do szybszej pamięci zewnętrznej
Dostęp do komputera oparty o harmonogram pracy maszyny,
·
Programista = operator,
·
Powstanie oprogramowania wspomagającego
o
Biblioteki funkcji (głównie we/wy)
o
Asemblery, później kompilatory języków (Cobol, Fortran),
o
Programy łączące i ładujące.
We
dysk
jednostka centralna
dysk
wy
Metoda jednoczesnego wykonywania we-wy jednego zadania i obliczeń dla innego zadania:
·
·
Brak oprogramowania rezydentnego,
Możliwe dzięki upowszechnieniu się systemów dyskowych,
·
Podczas wykonywania jednego zadania system operacyjny:
o
Czyta następne zadania z czytnika kart na dysk (kolejka zadań),
o
Drukuje umieszczone na dysku wyniki poprzedniego zadania.
·
Nieefektywne wykorzystanie zasobów:
o
Niskie wykorzystanie CPU,
o
Pełna sekwencyjność pracy urządzeń (w czasie wykonywania czynności
operatorskich procesor był bezczynny),
o
Przestoje sprzętu (związanie z wykonywaniem czynności operatorskich).
·
Pula zadań – możliwość wyboru kolejnego zadania do wykonania.
Wieloprogramowość:
·
Systemy oparte o pracę wsadową:
Wprowadza się wiele zadań do wykonania,
1
2
·
Program jest przetwarzany w procesorze centralnym dopóki nie musi być wykonane
we/wy,
·
Podział zasobów na prywatne i współdzielone,
·
Niezawodność (przejęcie zadań uszkodzonej jednostki przez inne),
·
Łączność między użytkownikami.
·
Efektywne wykorzystanie zasobów systemu,
·
Przetwarzanie wsadowe.
Wiele komputerów, połączonych w sieć, tworzy jeden system. Użytkownik może korzystać z
jednego komputera, postrzega system jako jedną spójną całość. Niezawodność – jeśli
niektóre komputery ulegną awarii, pozostałe mogą je zastąpić.
Jeśli zadanie jest wykonywane, jeśli zabraknie danych do obliczeń, następuje konieczność
realizacji operacji we/wy, zadanie jest przekazywane do kolejnego zadania z puli, a proces
czeka na zasoby. Procesor w tym czasie przetwarza następne zadanie z puli zadań.
Nie wszystkie funkcje łatwo jest rozproszyć, w większości takich systemów tylko niektóre
funkcje są rozproszone.
Wielozadaniowość:
Współczesne systemy operacyjne (Linux, Windows) to systemy wielozadaniowe.
Systemy czasu rzeczywistego:
·
Zadania przetwarzane współbieżnie (podział czasu),
·
Ciągłe przełączanie czasu procesora pomiędzy zadaniami (czas na tyle mały, że
użytkownik tego nie zauważa),
·
Stosowanie szybkich pamięci ROM,
·
Rygorystyczny system czasu rzeczywistego znajduje zastosowanie jako sterownik
urządzenia o specjalnym przeznaczeniu,
·
Dostęp bezpośredni zamiast przetwarzania wsadowego,
·
Priorytety.
·
W systemie takim istnieją dobrze zdefiniowane i stałe ograniczenia czasowe,
·
Przetwarzanie musi się zmieścić w zdefiniowanych ramach czasowych, w przeciwnym
razie system nie spełni wymagań,
·
Łagodne systemy czasu rzeczywistego mają mniej napięte ograniczenia czasowe i nie
zapewniają planowania w terminach nieprzekraczalnych.
Systemy z podziałem czasu:
·
Mechanizm przechowywania w pamięci operacyjnej programów i rozmaitych danych,
·
Powstanie systemu plików,
·
Realizacja systemu plików i operacji na plikach.
Przykładem łagodnego systemu czasu rzeczywistego jest LINUX.
Rodzaje systemów operacyjnych:
·
ZADANIA SYSTEMU OPERACYJNEGO:
·
Zarządzanie procesami,
·
Równoległe,
·
Rozproszone,
·
Czasu rzeczywistego.
Zarządzanie pamięcią operacyjną,
·
Zarządzanie plikami,
Zarządzanie systemem we/wy,
Systemy równoległe:
·
·
Systemy równoległe – wyposażone są w wiele procesorów, które mogą równolegle
wykonywać obliczenia.
·
Zarządzanie pamięcią pomocniczą,
·
Planowanie prac,
·
Ochrona zasobów,
·
Umożliwienie wielodostępności,
·
Procesory mogą być:
·
Systemy luźno powiązanie – każdy procesor posiada własną pamięć i magistralę –
tworzy niezależny podsystem komputerowy,
Udostępnienie dobrego sposobu komunikowania się z operatorem,
·
Ewidencjonowanie zasobów komputerowych.
·
Systemy ściśle powiązane – procesory dzielą pamięć i zegar, komunikacja poprzez
pamięć dzieloną:
o
Symetryczne procesory,
o
Asymetryczne procesory.
Proces – każda uruchomiona aplikacja.
Zarządzanie procesami:
·
Tworzenie i usuwanie zarówno procesów użytkowych, jak i systemowych,
·
Do pożądanych cech systemów równoległych należy odporność na uszkodzenia, w przypadku
awarii jednego z procesorów można jego zadania powierzyć innym.
Wstrzymywanie i wznawianie procesów,
·
Dostarczanie mechanizmów synchronizacji procesów,
·
Dostarczanie mechanizmów komunikacji procesów,
Systemy rozproszone:
·
·
Dostarczanie mechanizmów usuwania blokad.
Przetwarzanie bezpośrednie,
·
Przyśpieszenie obliczeń,
Zarządzanie pamięcią operacyjna:
3
4
Właściwości systemu operacyjnego:
·
Współbieżność – możliwość równoczesnej pracy wielu użytkowników
·
·
Ewidencjonowanie zajętości pamięci,
·
Decydowanie, który z procesów ma być załadowany do zwolnionej pamięci,
·
Przydzielanie i zwalnianie pamięci w zależności od potrzeb.
Wspólne korzystanie z zasobów – wydzielanie zasobów dla każdego użytkownika
byłoby rozrzutnością
·
Pamięć długookresowa – system operacyjny dostarcza mechanizmy pozwalające na
bezpieczne, długoterminowe przechowywanie informacji
·
Niedeterminizm – system operacyjny musi reagować na każde zdarzenie, nawet to
nieprzewidziane
Zarządzanie pamięcią pomocniczą:
·
Zarządzanie wolnymi obszarami,
·
Przydzielanie pamięci,
·
Planowanie przydziałów pamięci dyskowej.
Pożądane cechy:
·
Zarządzanie plikami:
·
Wydajność
Tworzenie i usuwanie plików,
·
Tworzenie i usuwanie katalogów,
·
·
Niezawodność
Dostarczanie elementarnych operacji do manipulowania plikami i katalogami,
·
Pielęgnowalność – możliwość rozszerzania systemu, usuwania błędów (budowa
modułowa, dokumentacja)
·
Odwzorowanie plików na obszary pamięci pomocniczej,
·
Mały rozmiar – optymalne zapisanie kodu
·
Składowanie plików na trwałych nośnikach pamięci.
Usługi systemu operacyjnego:
·
wykład II, 11.10.2011 r.
Pamięć pomocnicza – pamięć o ograniczonej pojemności. Powinien się w niej znaleźć
zarówno program, jak i dane niezbędne do jego realizacji. Pamięć dyskową należy więc
traktować jako rozszerzoną pamięć operacyjną – stronicowanie pamięci.
Wykonanie programu – dostarczenie użytkownikowi możliwości załadowania
programu do pamięci, po czym jego realizacji – tworzenie procesów
·
Operacje wejścia-wyjścia
·
Manipulowanie systemem plików
·
Komunikacje pomiędzy zadaniami różnych procesów
·
W pamięci operacyjnej adresujemy bajty. W pamięci dyskowej adresowane są bloki danych.
Transmisja z pamięci dyskowej do operacyjnej odbywa się poprzez przesyłanie całego bloku.
Wykrywanie błędów – błędy sprzętowe, ale także te, które pojawiają się w
programach – muszą być wykryte i właściwie obsłużone
Z punktu widzenia systemu operacyjnego, plik jest jednostką logiczną przechowywanej
informacji, zbiorem danych powiązanych ze sobą, które mają pewną nazwę, zajmują
określoną pojemność pamięci.
Usługi systemu operacyjnego przeznaczone do optymalizacji działania systemu:
·
Przydział zasobów – przydzielenie procesora, pamięci, plików do procesów
·
Rozliczanie – w niektórych systemach, za korzystanie z określonych zasobów, należy
zapłacić; rozliczanie polega na gromadzeniu informacji, który użytkownik w jaki
sposób korzystał z danych zasobów systemu
Struktura katalogowa służy do odwzorowania faktycznego adresu fizycznego pliku.
·
Ochrona – współbieżność procesów wymaga ochrony przed niewłaściwym ich
oddziaływaniem na siebie
Zarządzanie systemem wejścia-wyjścia:
·
System buforowo-notatnikowy,
·
Ogólny interfejs do programów obsługi urządzeń sprzętowych,
Funkcje systemowe:
·
·
Programy obsługi poszczególnych urządzeń sprzętowych.
Nadzorowanie procesów,
·
Operacje na plikach,
·
Praca sieciowa:
·
Mechanizmy związane z pracą sieciową potrzebne są w systemach
wieloprocesorowych, a więc systemach, gdzie procesory nie korzystają ze wspólnej
pamięci ani zegara, ale komunikują się ze sobą za pomocą różnorodnych linii
komunikacyjnych.
Operacje na urządzeniach,
·
Utrzymywanie informacji,
·
Komunikacja.
Czym jest system operacyjny?
System operacyjny pośredniczy między użytkownikiem a sprzętem komputerowym.
System ochrony:
·
Liczne procesy muszą być chronione przed wzajemnym oddziaływaniem,
·
Muszą istnieć mechanizmy ochrony zasobów,
·
Ochrona jest mechanizmem nadzorowania dostępu programów, procesów lub
użytkowników do zasobów zdefiniowanych przez system komputerowy.
5
6
System komputerowy z obsługą przerwań:
dysk dysk dysk
klawiatura
mysz drukarka
sterownik dysków
sterownik urządzeń znakowych
magistrala systemowa
dalsze urządzenia
procesor
sterownik pamięci
pamięć operacyjna
Mechanizm przerwań:
·
Czym jest system operacyjny?
·
Urządzenie generuje sygnał przerwania, w momencie wystąpienia zdarzenia
·
Procesor w odpowiedzi na ten sygnał przerywa wykonanie ciągu instrukcji i wykonuje
określoną procedurę obsługi przerwania
Udostępnia programom maszynę wirtualną
·
Przydziela sprzętowe zasoby systemu komputerowego programom
·
Nadzoruje pracę programów
·
Tworzy wygodne i bezpieczne środowisko pracy dla użytkowników
·
·
Po zakończeniu procedury obsługi przerwania następuje powrót do przerwanego
ciągu instrukcji
Przechowuje dla użytkowników rozmaite informacje
W jaki sposób jedne przerwania są rozróżniane od innych?
·
Trzy podstawowe cele systemu operacyjnego:
·
Odpytywanie – procedura obsługi przerwania pyta się kolejno wszystkich urządzeń,
czy to nie one spowodowały przerwanie,
·
Wektor przerwań – w systemie może być wiele rodzajów przerwań, a każdemu
rodzajowi odpowiada osobna procedura obsługi – adresy tych procedur są
przechowywane w tablicy systemowej nazywanej wektorem przerwań.
Umożliwienie użytkownikom uruchamiania swoich programów,
·
Ułatwienie wykonywania zadań – rozwój systemów szedł w kierunku wygody
użytkownika
·
Efektywne wykorzystanie zasobów systemu komputerowego
Shell (powłoka):
Interpreter poleceń – interfejs pomiędzy użytkownikiem, a jądrem systemu:
·
Blokowanie przerwań – jeśli wystąpi ważne przerwanie sprzętowe, jest ono blokowane, a
więc nie może być przerywane przez inne przerwania. Do istotnych przerwań należą np. te,
które sygnalizują krytyczne błędy.
Zapewnia użytkownikowi pewien poziom abstrakcji w odniesieniu do jądra,
·
Akceptuje polecenia; przetwarzane przez jądro systemu,
·
Shell jest potężnym językiem programowania,
·
Umożliwia pisanie tzw. skryptów shellowych, które pozwalają na umieszczenie wielu
komend w jednym pliku (z atrybutem wykonywania),
Synchroniczne i asynchroniczne operacje wejścia/wyjścia:
·
Synchroniczne wykonywanie operacji wejścia/wyjścia – procesor zleca wykonanie
operacji i czeka, aż otrzyma potwierdzenie zakończenia operacji
·
Udostępnia środowisko do konfigurowania systemu i programowania.
·
Asynchroniczne wykonywanie operacji wejścia/wyjścia – procesor zleca wykonanie
operacji, przerywa wykonywanie aktualnie wykonywanego zadania i, nie czekając na
zakończenie operacji we/wy, zaczyna wykonywać inne zadanie. Po zakończeniu
operacji we/wy urządzenie zewnętrzne generuje sygnał przerwania.
Udogodnienia sprzętowe:
·
Mechanizm przerwań
·
Ochrona pamięci operacyjnej
·
Zbiór rozkazów uprzywilejowanych
·
Zegar czasu rzeczywistego
Układ DMA:
·
W trakcie wykonywania asynchronicznej operacji we/wy następujące czynności
zajmują czas pracy procesora: obsługa tablicy stanów urządzeń, zlecenie wykonania
operacji sterownikowi urządzenia, przesłanie zapisywanych/odczytywanych danych,
obsługa przerwania kończącego wykonanie operacji.
·
Jeśli przesyłane są duże ilości danych, jak to ma miejsce w przypadku zapisu/odczytu
z dysku, to procesor nie musi sam kopiować danych z/do pamięci operacyjnej z/do
sterownika urządzeń. Może go w tym wyręczyć układ DMA (bezpośredniego dostępu
7
8
do pamięci, ang. direct memory access), a procesor może w tym czasie wykonywać
obliczenia.
·
Układ DMA do przesyłania informacji potrzebuje dostępu do magistrali systemowej.
·
Zegar sprzętowy, który wysyła przerwania w ustalonych odstępach czasu
rzeczywistego,
·
Jest podstawą realizacji polityki planowania przydziału i rozliczania zasobów,
wykorzystanych przez różnych użytkowników.
wykład III, 18.10.2011 r.
Chroni przed zapętleniem jednego z procesów, co groziłoby zawieszeniem pracy całego
systemu operacyjnego. Można dzięki niemu realizować również politykę planowania
przydziału zasobów systemowych, wykorzystywaną do rozliczeń w systemach komercyjnych.
Ochrona pamięci operacyjnej:
·
Ochrona całego SO przed wpływami programów użytkownika,
·
Wzajemna ochrona programów użytkowników:
o
Programy użytkowników ładowane są do przeznaczonych dla nich obszarów
pamięci,
o
Ochrona przestrzeni adresowej (rejestr bazowy i graniczny),
o
Rejestr bazowy i graniczny może modyfikować tylko system operacyjny,
o
Wygenerowanie adresu programu pracującego w trybie użytkownika poza
własną przestrzenią adresową kończy się pułapką obsługiwaną przez system
operacyjny.
Struktury systemów komputerowych:
·
Struktura jednolita,
·
Struktura warstwowa,
·
Struktura klient-serwer.
Jednolita struktura systemu MS-DOS:
Programy użytkowe
Rejestr bazowy przechowuje pierwszy adres wygenerowany w programie, natomiast rejestr
graniczny przechowuje długość przestrzeni adresowej przydzielonej do danego procesu (ew.
ostatni adres). Przy realizacji programu każdy adres kontrolowany jest poprzez porównanie z
zawartością tych rejestrów. Adres spoza przestrzeni przydzielonej dla danego procesu
powoduje pojawienie się błędu, który musi obsłużyć system operacyjny. Kontrola jest
realizowana przez sprzęt, dzięki tym dwóm rejestrom może on kontrolować adresy
przydzielone do danego programu.
Programy rezydentne
Program obsługi urządzeń z poziomu MS-DOS
Programy obsługi urządzeń w pamięci ROM BIOS
Da się w tym systemie wyodrębnić pewną strukturę, ale poziomy funkcjonalne tego systemu
nie są wyraźnie wydzielone, np. programy użytkowe mogą korzystać z procedur we/wy, aby
bezpośrednio pisać po ekranie, mogą korzystać z pamięci dyskowej. Taka swoboda
powoduje, że system DOS nie jest odporny na skutki błędów pojawiających się w
programach użytkowych. DOS był pisany do procesora 8080, gdzie nie było możliwości
dualnego trybu pracy.
Zbiór rozkazów uprzywilejowanych:
·
Procesu działające współbieżnie nie mogą się wzajemnie zakłócać,
·
Część listy rozkazów maszynowych jest zarezerwowana wyłącznie dla systemu
operacyjnego.
Rozkazy uprzywilejowane powinny spełniać następujące zadania:
·
Włączanie i wyłączanie przerwań,
·
Przełączanie procesora pomiędzy procesami,
·
Struktura systemu UNIX:
Użytkownicy
Programy shell i polecenia, kompilatory i interpretery, biblioteki systemowe
Interfejs między funkcjami systemowymi a jądrem
Obsługiwanie rejestrów używanych przez sprzętową ochronę pamięci operacyjnej,
·
Wykonywanie operacji wejścia i wyjścia,
·
Zatrzymywanie procesora centralnego i sterowanie jego operacjami.
Planowanie przydziału
procesora
Zastępowanie stron
Stronicowanie na żądanie
Pamięć wirtualna
Interfejs między jądrem a sprzętem
Sygnały
Obsługa terminali
System znakowego we/wy
Programy obsługi terminali
System plików
Wymiana
System blokowego we/wy
Program obsługi dysków i
taśm
Łatwo sprzętowo zorganizować kontrolę trybu pracy – jeden bit ustawiony na 1 lub 0, co
rozstrzyga o tym, czy praca odbywa się w trybie użytkownika (1) czy w trybie nadzorcy (0).
Jeśli rozkaz jest uprzywilejowany, następuje zmiana trybu pracy z trybu użytkownika do
trybu pracy nadzorcy, a potem następuje powrót do uprzedniego trybu pracy.
Pierwsze procesory komputerów osobistych 8080 nie posiadały dualnego trybu pracy,
posiadały tylko tryb pracy zwykłego użytkownika, brak ochrony sprzętowej.
Sterowniki terminali
Terminale
Sterowniki urządzeń
Dyski i taśmy
Sterowniki pamięci
Pamięć operacyjna
Zegar czasu rzeczywistego:
·
Jeszcze jedno udogodnienie sprzętowe,
Modularyzację systemu można uzyskać na wiele sposobów, ale najłatwiej i w sposób
najbardziej obiecujący uzyskać ją można warstwowo. Polega to na podzieleniu systemu
9
10
[ Pobierz całość w formacie PDF ]

  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • kfc.htw.pl