borzemski,organizacja systemów komputerowych, WSPIERANIE WYSTEMU OPERACYJNEGO

WSPIERANIE WYSTEMU OPERACYJNEGO



System operacyjny (OS) – to oprogramowanie, które steruje wykonywaniem programów przez procesor i zarządza jego zasobami, działa jako interfejs między użytkownikiem a komputerem.


Przegląd systemów operacyjnych



Cele systemu operacyjnego:

- wygoda – zapewnia wygodę w obsłudze komputera

- sprawność – zapewnia należyte eksploatowanie zasobów komputera


Warstwy systemu komputerowego:

- sprzęt komputerowy

- system operacyjny

- programy narzędziowe

- programy użytkowe

- użytkownik końcowy


System operacyjny:

- warstwa pośrednia pomiędzy kodem maszynowym a użytkownikiem

- zajmuje się przenoszeniem, przetwarzaniem i przenoszeniem danych

- jak inne programy dostarcza rozkazy do procesora

- jednocześnie kieruje procesorem w zakresie wykorzystania innych zasobów, żeby procesor mógł

wykonać te zadania, musi zaprzestać realizowania zadania „system operacyjny” i zacząć wykonywać

inne programy

- przydziela zasoby pamięci głównej wraz z mechanizmem sprzętowym


Pamięć główna zawiera:

- jądro systemu operacyjnego

- najczęściej używane funkcje systemu operacyjnego

- używane na bieżąco funkcje systemu operacyjnego

- inne programy i dane


Zadania systemu operacyjnego:

- tworzenie programów (wspomaga programistów przez programy narzędziowe)

- wykonywanie programów (ładowania rozkazów do pamięci głównej, inicjalizacja urządzeń we/wy)

- dostęp do urządzeń we/wy (obsługiwanie rozkazów dla urządzeń we/wy)

- dostęp do plików (kontrola formatów plików, kontrola typu urządzeń we/wy)

- kontrola dostępu do plików w przypadku wielu użytkowników

- ogólny dostęp do systemu i jego funkcji dla użytkowników

- gromadzenie ewidencji danych statystycznych o wykorzystaniu zasobów itd



RODZAJE SYSTEMÓW OPERACYJNYCH:


Podział systemów operacyjnych:


a) system konwersacyjny:

- konwersacja między użytkownikiem/programistą a komputerem przez terminal, klawiaturę

- możliwość komunikacji z komputerem podczas wykonywania zadania

b) system wsadowy:

- przeciwieństwo konwersacyjnego:

- programy wielu użytkowników są grupowane, łączone i powstaje ‘wsad’, który jest uruchamiany

- po zakończeniu wykonywania programów wyniki są drukowane i przekazywane użytkownikom

- są dzisiaj rzadkością


A) system wieloprogramowy:

- procesor wykonuje kilka programów jednocześnie i przeskakuje pomiędzy nimi

B) system jednoprogramowy:

- procesor wykonuje tylko jeden program w danym momencie


Rodzaje systemów operacyjnych”

a) [aA] – system wyspecjalizowany konwersacyjny

b) [aB] – system konwersacyjny z podziałem czasu

c) [bA] – system z pojedynczym wsadem

d) [bB] – system ze złożonymi wsadami


Historia systemów operacyjnych:


(I) pierwsze systemy:

- urządzenia wejściowe – czytniki kart

- sygnalizacja błędów – lampki

- problemy – planowanie czasu i czas na przygotowania

- podawało się maszynie kartki z kodem źródłowym a ona wykonywała program


(II) proste systemy wsadowe

- programy nazywane ‘monitorami’

- program zarządzający (rezydentny program zarządzający, który znajduje się w pamięci głównej,

wczytuje następne zadanie do wykonania, zadanie to jest lokowane w pamięci użytkowej, a

sterowanie przekazane temu zadaniu (czyli procesor teraz wykonuje rozkazy przychodzące z

programu użytkownika, czyli od użytkownika danego programu), gdy zadanie jest zakończone

następuje przerwanie i przekazanie sterowania programowi zarządzającemu, który pobiera kolejne

zadanie, a wyniki są drukowane dla użytkowników

- program zarządzający ustawia w kolejce i podaje procesorowi zadania stanowiące wsad,

przyspiesza to działanie systemu

Cechy takich systemów:

a) ochrona pamięci:

- wykonanie programu użytkownika nie może zmieniać pamięci programu zarządzającego, gdy tak

się dzieje zwraca się błąd

b) czasomierz:

- każdy program ma ustaloną granicę czasu na swoje wykonanie, jak ją przekroczy to zwraca się

błąd i przekazuje sterowanie programowi zarządzającemu

c) rozkazy uprzywilejowane:

- są wykonywane tylko przez program zarządzający (np. we/wy)

- jeżeli procesor napotka rozkaz uprzywilejowany, to zwraca błąd i przekazuje sterowanie do PZ

- jeżeli program użytkowy chce wykonać rozkaz we/wy, to musi poprosić o zrobienie tego PZ


(III) wyrafinowane systemy wsadowe:

- urządzenia we/wy są wolniejsze w stosunku do procesora, dlatego procesor musi czekać na

zakończenie wykonywania rozkazów we/wy, aby kontynuować swoją pracę

- aby nie marnować czasu pamięć poszerzamy do wielkości wystarczającej dla systemu

operacyjnego (rezydentnego programu zarządzającego i 1,2,3 programów użytkowych), wtedy jak

jeden z tych programów wykonuje zadania we/wy, procesor przeskakuje do drugiego i wykonuje

jego rozkazy, itd. (jest to tzw. wieloprogramowanie)

- takie systemy wymagają większej ilości pamięci, aby przechować kilka programów użytkowych

jednocześnie, oraz algorytmu szeregowania zadań, żeby wiedzieć na które zadanie „przeskoczyć”


Wykorzystanie wieloprogramowania:

a) wieloprogramowanie wsadowe:

- celem jest maksymalne wykorzystanie procesora

- źródłem rozkazów dla systemu są rozkazy sterujące wykonywaniem zadania wraz z zadaniem

b) system z podziałem czasu (nastawiony na konwersację z użytkownikiem):

- celem jest minimalny czas odpowiedzi komputera na rozkaz użytkownika

- źródłem rozkazów dla systemu są rozkazy wprowadzane do konsoli, terminala, klawiatury

JCL – język sterowania zadaniami


Zmiany koncepcji systemów operacyjnych w czasie:

1) brak oprogramowania

2) kompilatory i przetwarzanie wsadowe

3) systemy podziału czasu

4) systemy wielodostępne

5) systemy rozproszone



SZEREGOWANIE CZASOWE:


Wieloprogramowanie:

- zadania pojedyncze znajdują się w pamięci, a procesor przełącza się między nimi

- zadanie albo korzysta z procesora albo przechodzi na korzystanie z we/wy, wtedy procesor

przechodzi do innego zadania

- zadanie może mieć trzy stany: korzysta z procesora, korzysta z rozkazów we/wy, oczekuje


Proces – realizowany program, zadanie (termin wprowadzony przez Multics)


Rodzaje szeregowania procesów:

a) szeregowanie średniookresowe – w przypadku pamięci wirtualnej

b) szeregowanie wysokiego poziomu (długookresowe) – decyzja dotycząca dodania do puli programu do wykonania

c) szeregowanie krótkookresowe – wybór tego programu z oczekujących, który się wykona

d) szeregowanie operacji we/wy – wybór tego rozkazu we/wy który ma być wykonany


Szeregowanie wysokiego poziomu:

- program szeregujący wysokiego poziomu decyduje, które rozkazy zostaną dopuszczone do listy

oczekującej na wykonanie przez procesor, te dopuszczone stają się procesami

- procesy są dołączane do kolejki i zarządzane już przez krótkookresowy program szeregujący

- im więcej stworzy się procesów, tym mniej czasu procesor poświęci każdemu z nich

- w przypadku systemu wsadowego zadania są zapisywane na dysku a program szeregujący

wysokiego poziomu decyduje które i ile pobrać stamtąd i przerobić na procesy

- program szeregujący wysokiego poziomu może się kierować: priorytetem, czasem oczekiwania,

ilością używanych operacji we/wy

- w przypadku systemu z podziałem czasu, zapotrzebowanie na obsługę użytkownicy zgłaszają na

bieżąco, a program szeregujący akceptuje wszystkich użytkowników, do momentu przesycenia

możliwości procesora


Szeregowanie krótkookresowe:

- krótkookresowy program sortujący zwany jest ‘dypozytorem’

- działa dużo częściej niż poprzedni i decyduje, które procesy mają być realizowane jako następne

Stany procesu:

  1. NOWY – program przyjęty przez program szeregujący wysokiego poziomu, ale nie jest gotowy do realizacji, system operacyjny inicjuje proces, przesuwając go do stanu gotowości

  2. GOTOWY – proces gotowy do wykonania i czeka na dostępność procesora

  3. BIEŻĄCY – proces aktualnie realizowany przez procesor

  4. OCZEKUJĄCY – realizacja procesu zawieszona, podczas oczekiwania na pewne zasoby systemu

  5. ZATRZYMANY – proces zakończony i będzie zniszczony przez system operacyjny


Blok kontrolny procesu – zawiera najważniejsze informacje o procesie dla systemu operacyjnego:


a) identyfikator procesu

b) stan procesu

c) priorytet

d) licznik programu, czyli adres następnego w kolejce procesu

e) znaczniki pamięci, czyli początkowa i końcowa komórka pamięci zajmowanej przez proces

f) dane dotyczące kontekstu procesu

g) informacja o stanie we/wy, obejmuje zadania we/wy, urządzenia we/wy, listę plików potrzebne

h) informacja ewidencyjna, czyli może obejmować szacowany czas, ograniczenia czasowe itd.


Proces przyjęty jako ‘nowy’ dostaje czysty blok kontrolny procesu, dopiero jak system operacyjny wypełni ten blok odpowiednimi danymi, to proces przechodzi do stanu ‘gotowy’.


METODY SZEREGOWANIA:


Procesor może zakończyć działanie procesu i przejść do programu rezydentnego zarządzającego (systemu operacyjnego) z podanych powodów:

  1. proces przekazuje kierowanie systemowi operacyjnemu, np. wywołanie operacji we/wy, wtedy proces jest zawieszany na ten czas

  2. proces powoduje przerwanie, wtedy sterowanie przekazywane jest systemowi obsługi przerwań w systemie operacyjnym

  3. inne zdarzenie, np. zakończenie operacji we/wy


W każdym z takich przypadków, procesor zapisuje dane kontekstowe i licznik programu w bloku kontrolnym procesu, po czym przystępuje do działania w systemie operacyjnym. System operacyjny potem decyduje, jaki proces ma być wykonany następnie. W przypadku powrotu do innego procesu, procesor odczytuje dane kontekstowe z bloku kontrolnego procesu i go realizuje.


Co może spowodować przerwanie:

- błąd wykonania

- próba wywołania rozkazów uprzywilejowanych

- przekroczenie limitu czasu na proces


System operacyjny utrzymuje pewną listę kolejek, które kontroluje. Każda kolejka to lista procesów czekający na wykonanie, z zastrzeżeniem korzystania z jakiś zasobów.


  1. kolejka długookresowa – to lista zadań czekających na przydzielenie do kolejki zadań do wykonania, czyli na zostanie procesem

  2. kolejka krótkookresowa – to lista procesów czekających na wykonanie przez procesor

  3. kolejka we/wy – to lista procesów czekających na użycie jakiegoś urządzenia we/wy



ZARZĄDZANIE PAMIĘCIĄ:



Jest to zadanie realizowane dynamicznie i polega na podziale pamięci na aktualnie realizowane programy użytkowe w programowaniu wieloprogramowym. Pamięć musi być sprawnie zarządzana, aby upakować w niej jak najwięcej procesów, żeby procesor jak najrzadziej był bezczynny.


W systemie jednoprogramowym – pamięć dzieli się na 2 części: jedna dla systemu operacyjnego, druga dla aktualnie obsługiwanego programu użytkowego


W systemie wieloprogramowym – pamięć dzieli się na więcej części: jedna dla systemu operacyjnego, pozostała podzielona na obszary dla kolejnych programów użytkowych



WYMIANA:


Jeżeli wszystkie procesy w pamięci głównej (kolejce krótkookresowej) nie są gotowe do realizacji, procesor przekazuje jeden z nich do kolejki pośredniej, a pobiera inny z kolejki pośredniej (jeśli jest gotowy) albo wykazuje zapotrzebowanie na nowy proces z kolejki długoterminowej (z dysku).



PARTYCJONOWANIE:


a) partycje o ustalonym rozmiarze (różnym):


Jest to dzielenie pamięci głównej na kilka procesów użytkowych. Najczęściej stosuje się partycje o równej wielkości. Jednak nie są one wszystkie równe. Gdy proces jest przyjmowany do pamięci, jest umieszczany w najmniejszej partycji, która może go pomieścić. Występują straty pamięci, bo proces nie wykorzystuje całego obszaru partycji, a w jednej partycji może być tylko jeden cały proces.


b) partycje o zmiennym rozmiarze:


Można wykorzystać dynamiczną alokację partycji. Jak proces jest przyjmowany to tworzy się partycję o jego rozmiarze, gdy następny tak samo. Jednak prowadzi to również z czasem do powstania wielu małych luk. Więc co jakiś czas system przesuwa procesy z pamięci w jedno miejsce, tworząc jeden blok wolny dla nowych procesów (upakowanie).


Każdy proces jak wraca do pamięci po wymianie nie wraca na to samo miejsce, co przedtem był. Każdy proces zawiera rozkazy i dane. Rozkazy zawierają adresy (danych i innych rozkazów w przypadku rozgałęziania). Adresy te nie są stałe, bo zmieniają się za każdym razem, gdy dochodzi do wymiany.


Adres logiczny – pozycja w pamięci względem początku programu

Adres fizyczny – aktualny adres w pamięci głównej


Gry procesor realizuje proces, zamienia adresy logiczne na fizyczne, przez dodanie adresu logicznego do adresu bazowego (początkowego) procesu.



STRONICOWANIE:


Ramki – małe fragmenty pamięci

Strony – małe fragmenty programu


Każdy proces jest dzielony na pojedyncze strony o rozmiarach ramek. Każda strona jest zapisywana w jednej ramce, w ten sposób tylko pojedyncze ramki mogą być wolne i nieużywane, co zmniejsza marnowanie pamięci. Strony do ramek NIE muszą być wpisywane w kolejności jedna po drugiej. Procesor wie, które ramki ma w danym czasie wolne. Procesor tworzy sobie tzn. tablicę stron, gdzie zapamiętuje, w których ramkach są, jakie strony którego procesu. Każdy adres w rozkazie składa się tutaj ze strony, w której się znajduje i adresu względnego na tej stronie. Procesor podczas tłumaczenia adresów logicznych na fizyczne, znajduje daną stronę w tablicy stron, a następnie dopiero dodaje adres względny i tak tworzy adres fizyczny.



PAMIĘĆ WIRTUALNA:


STRONICOWNAIE NA ŻĄDANIE:


- nie są ładowane od razu wszystkie strony procesu do dostępnych ramek

- procesor ładuje sobie tylko te strony procesu, których często używa

- jeżeli napotka na odwołanie do rozkazu ze strony, której nie załadował, szuka tej strony,

załadowuje ją jednocześnie wywalając inną

- aby zapobiec ‘szamotaniu się’ czyli zbyt częstemu wymienianiu stron w pamięci, procesor musi na

podstawie ostatniej historii używanych stron wywnioskować, jakie strony i kiedy mogą być

potrzebne w najbliższej przyszłości

- daje to możliwość ładowania procesów większych od całej pamięci głównej

- pamięcią rzeczywistą nazywamy rzeczywistą pamięć główną

- pamięcią wirtualną nazywamy całą pamięć dyskową, gdzie przechowywane są całe procesy



STRUKTURA TABLICY STRON:


Tablica stron znajduje się w pamięci głównej. Gdy jest realizowany proces, rejestr pamięta adres początkowy tablicy stron danego procesu. Numer strony adresu logicznego służy do indeksowania i znalezienia odpowiedniej ramki. Po połączeniu go z adresem ramki otrzymujemy adres fizyczny (rzeczywisty).


Bufor translacji adresów tablic stron (TLB) – pamięć podręczna dla tablic stron, zawiera te zapisy tablic stron, które były ostatnimi czasy używane często



SEGMENTACJA:


- jest to proces, w przeciwieństwie do partycjonowania, widzialny dla programisty

- pamięć jest podzielona na segmenty, niektóre wyspecjalizowane dla określonych danych lub

programów, niektóre dostępne tylko dla określonych użytkowników

- segmenty mają dynamiczny rozmiar


Zalety korzystania z segmentowania:

- wspólne wykorzystanie danych przez różne procesy

- możliwość ochrony segmentów przez prawa dostępu

- operowanie rosnącymi strukturami danych



Angielskie zwroty


TLB – translation lookaside buffer

JCL – job control language

OS – operating system



RISC (Reduced Instruction Set Computers) - nazwa architektury mikroprocesorów charakteryzująca się bardzo rozbudowaną listą rozkazów, ale jak wykazały badania tylko nieliczna ich część była wykorzystywane w statystycznym programie. Okazało się np. że ponad 50% rozkazów w kodzie to zwykłe przypisania (zapis zawartości rejestru do pamięci i odwrotnie)


CISC (ang. Complex Instruction Set Computers) – nazwa architektury mikroprocesorów o następujących cechach:

- duża liczba rozkazów (instrukcji)

- mała optymalizacja – niektóre rozkazy potrzebują dużej liczby cykli procesora do wykonania

- występowanie złożonych, specjalistycznych rozkazów

- duża liczba trybów adresowania


Wyszukiwarka

Podobne podstrony:
borzemski,organizacja systemów komputerowych, OGÓLNY OBRAZ DZIAŁANIA KOMPUTERA I JEGO URZĄDZEŃ WEWNĘ
borzemski,organizacja systemów komputerowych, STRUKTURA I DZIAŁANIE PROCESORA
borzemski,organizacja systemów komputerowych, LISTY ROZKAZÓW
borzemski,organizacja systemów komputerowych, Wejście i wyjście
Organizacja pamięci komputerów, szkola, systemy operacyjne, klasa 1
Architektura i organizacja komuterów W9 Wspieranie systemu operacyjnego
Systemy Komputerow- pamięć podręczna, TZN, Systemy Operacyjne i Sieci
błędy dysków w systemie Windows XP, Sytemy operacyjne i sieci komputerowe
Systemy operacyjne, MOJE SO, SYSTEMY KOMPUTEROWE
rejestr systemu windows xp, Sytemy operacyjne i sieci komputerowe
10 Reprezentacja liczb w systemie komputerowymid 11082 ppt
wyklad 2012 10 25 (Struktury systemów komputerowych)
Abstrakcyjne wyobrażenie elementów systemu komputerowego
Podstawy Informatyki Wykład V Struktury systemów komputerowych
Gostomczyk Organizacja systemu logistycznego
Opis oprogramowania wspomagające analizę komponentów systemu komputerowego, Prace kontrolne
Bezpieczeństwo systemów komputerowych
Niektóre prawne aspekty włamań do systemu komputerowego
tranzystory mosfet(1), Architektura systemów komputerowych, Sentenza, Sentenza

więcej podobnych podstron