System operacyjny – skąd się wziął? PSOiP Jak zwiększyć stopień wykorzystania procesora? Zatrudnienie operatorów sprzętu programista dostarcza zadanie: program i opis oszczędność czasu: operator sprawniej obsługuje sprzęt (ładuje taśmy z kompilatorami, programami itd.)... ale zazwyczaj nie zna programu, który uruchamia programista otrzymuje wyniki, lub ewentualne informacje o błędach (nie może reagować natychmiast) operator zaczyna następne zadanie
System operacyjny – skąd się wziął? PSOiP Jak zwiększyć stopień wykorzystania procesora? 2. Optymalizacja kolejności zadań (przykład) Operator otrzymuje zadanie związane z językiem programowania X następne zadanie – w języku Y i jeszcze jedno – znów w języku X wykonywanie zadań – nie „po kolei” a w taki sposób, aby podobne zadania były zebrane razem np. najpierw oba zadania w języku X, a potem zadanie w języku Y (mniej razy trzeba ładować kompilator) oszczędność czasu ale i mniejszy wpływ programisty na termin wykonania programu
System operacyjny – skąd się wziął? PSOiP Jak zwiększyć stopień wykorzystania procesora? Zatrudnienie operatorów sprzętu Optymalizacja kolejności zadań Nadal jest to tzw. przetwarzanie szeregowe: nie ma systemu operacyjnego, nie ma automatyzacji, wszystko robi człowiek (powolny i mylący się), „czas instalowania zadania” – nadal bardzo długi (ładowanie kart itp.)
Wsadowy system operacyjny – monitor rezydentny PSOiP Wsadowy system operacyjny – monitor rezydentny Zastosowanie monitora – IBM lata 50-te XX wieku Program ładowany do pamięci po włączeniu komputera Użytkownik traci bezpośredni dostęp do maszyny, automatyczne porządkowanie zadań „wsad” – plik kart z kartami sterującymi, rozkazy w języku sterowania zadaniami (JCL) Procesor dostaje rozkazy albo z monitora albo z programu Podział pamięci
Wsadowy system operacyjny – monitor rezydentny PSOiP Przykład wsadu – pliku kart perforowanych Użytkownik dostarcza karty z programem (fortran) i danymi Dodanie kart sterujących $JOB – początek zadania $FTN – załadowanie kompilatora Kompilacja (wynik: na taśmę) $LOAD – załadowanie kodu $RUN – wykonanie kodu Wyniki – taśma, drukarka $END – koniec zadania Początek nowego zadania
Wsadowy system operacyjny – monitor rezydentny PSOiP Wsadowy system operacyjny – monitor rezydentny Monitor rezydentny Interpretator kart sterujących – czytanie i wykonywanie poleceń z kart Program ładujący – ładuje do pamięci programy systemowe lub użytkownika Programy obsługi urządzeń wejścia – wyjścia Są to elementy pierwszych „systemów operacyjnych”.
Wsadowy system operacyjny – monitor rezydentny PSOiP Monitor rezydentny Automatyzacja, przyspieszenie pracy, brak przestojów (obsługa urządzeń wejścia - wyjścia) Konieczność odpowiedniego przygotowania wsadu Poświęcenie pewnej części pamięci na działanie monitora Poświęcenie pewnej liczby operacji procesora na działanie monitora
Wsadowy system operacyjny – monitor rezydentny PSOiP Wsadowy system operacyjny – monitor rezydentny Jak jeszcze przyspieszyć? Załóżmy następującą sytuację: ściąganie pliku mp3 – godzina, odsłuchanie – 4 minuty ściągnięcie filmu – 24 godziny, obejrzenie – 1,5 godziny w trakcie pobierania procesor nie może nic robić, tylko czeka) http://www.filothea.com/blog/wp-content/uploads/2012/09/loading-buffering.jpg http://petacamisetas.es/camiseta-loading-p-24181.html
Wsadowy system operacyjny – monitor rezydentny PSOiP Jak jeszcze przyspieszyć? Urządzenia wejściowe – czytniki kart Urządzenia wyjściowe – drukarki wierszowe, dziurkarki kart Praca urządzeń wejścia – wyjścia: zbyt długa Czytnik: np. 1200 kart na minutę Kompilator: przetworzenie informacji z 1200 kart – 4 sekundy Procesor pracuje tylko przez kilka procent czasu pracy systemu
Wsadowy system operacyjny – monitor rezydentny PSOiP Bezpośrednia i pośrednia praca urządzeń wejścia – wyjścia (a) – praca bezpośrednia (b) – praca pośrednia
Wsadowy system operacyjny – monitor rezydentny PSOiP pośrednia praca urządzeń wejścia – wyjścia Pobieranie i wysyłanie danych – praca z taśmami magnetycznymi Przewijaki taśm: znacznie szybsza wymiana danych Dodatkowe etapy: przesłanie danych (wsad) z czytnika kart na taśmę oraz z taśmy na drukarkę wierszową; wydłużenie czasu dostarczenia zadania Optymalizacja kolejności zadań – zadania podobne zbierane na jednej taśmie, aż do zapełnienia
Wsadowy system operacyjny – monitor rezydentny PSOiP pośrednia praca urządzeń wejścia – wyjścia Krok w kierunku systemów wielokomputerowych, dodatkowe komputery sterowały pracą urządzeń przesyłających dane pomiędzy taśmą a innymi nośnikami Ewentualne dodatkowe przewijaki taśmy – gdy czytamy dane z jednej taśmy, możemy przetwarzać inne dane (wielozadaniowość) Jak dotąd: rozbudowa sprzętu prowadzi do zwiększenia efektywności
Wsadowy system operacyjny – monitor rezydentny PSOiP Dalsze zwiększenie efektywności – buforowanie Monitor przypisuje każdemu urządzeniu wejścia – wyjścia tzw. bufor systemowy, czyli część pamięci używanej przez monitor (a nie przez wykonywany program) Wywołanie operacji wejścia – wyjścia: przesłanie danych z lub do bufora Rzeczywista operacja albo już została wykonana albo zostanie wykonana później
Wsadowy system operacyjny – monitor rezydentny PSOiP Dalsze zwiększenie efektywności – buforowanie Porcja danych z urządzenia wejścia – do bufora Procesor przetwarza pobrane dane (zwalnia bufor) Odczyt następnych danych Możliwość jednoczesnej pracy procesora i urządzenia wejścia
Wsadowy system operacyjny – monitor rezydentny PSOiP Dalsze zwiększenie efektywności – buforowanie Duża korzyść, o ile zapełnianie bufora i przetworzenie jednej porcji trwają mniej więcej tyle samo Zadania uzależnione od wejścia – wyjścia, dużo danych, mało przetwarzania (procesor czeka, urządzenia nie nadążają z zapełnianiem / opróżnianiem bufora), korzyść niewielka Zadania uzależnione od jednostki centralnej, dużo przetwarzania, mało danych (procesor nie nadąża, urządzenia czekają) Zalety / wady: niski koszt (bez dodatkowych urządzeń) / rzadko osiągana jest korzyść
Wsadowy system operacyjny – monitor rezydentny PSOiP Taśmy i dyski System taśmowy – zadania wykonują się w takiej kolejności, w jakiej są na taśmie; taśma przewijana od początku do końca System dyskowy dane z kart lub taśm zapisywane są na dysku Głowica dysku może przemieszczać się pomiędzy obszarami odpowiednia tablica systemu operacyjnego zapamiętuje, gdzie co zostaje zapisane Jednoczesna bezpośrednia praca urządzeń – spooling, dysk staje się wielkim buforem przechowującym dane odczytane oraz przeznaczone na wyjście
Wsadowy system operacyjny – monitor rezydentny PSOiP Spooling (simultaneous peripheral operation on-line) Na dysku znajduje się pula zadań do wykonania System operacyjny dokonuje planowania zadań (wybiera taką kolejność, aby zwiększyć wykorzystanie CPU) Procesor może przetwarzać jedno zadanie, a jednocześnie można czytać dane do innego zadania (lub np. drukować wyniki poprzedniego zadania; w buforowaniu przetwarzanie i czytanie dotyczy tego samego zadania) Procesor nadal może nie być w pełni wykorzystany – wykonuje jedno zadanie, które nie musi go w pełni angażować (np. czeka na zakończenie operacji wejścia) Nowe aspekty syst. op.: planowanie zadań, obsługa pamięci dyskowej, kontrolowanie spoolingu (współcześnie: spooling istotny podczas drukowania)
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe (multiprogramming) Przetwarzanie jednozadaniowe – w pamięci (oprócz monitora) jest jeden program, CPU go wykonuje, są przestoje (np. trzeba pobrać dane z dysku) Przetwarzanie wielozadaniowe (jeśli pamięć jest dość duża) w pamięci jest więcej programów, gdy wykonanie pierwszego zatrzymuje się (bo czeka na dane), procesor zajmie się innym Kończy się oczekiwanie – powrót do pierwszego programu Dopóki są zadania, procesor stale jest zajęty Nowe aspekty syst. op.: Konieczność zarządzania pamięcią Planowanie przydziału procesora (które z gotowych zadań ma być teraz wykonane?)
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe Bardziej ogólnie: Zadań do wykonania może być więcej Zadania mogą potrzebować tego samego urządzenia (np. drukarki) Nie wszystkie zadania z puli (na dysku) mogą zmieścić się w pamięci, system musi wybierać te, które poczekają
System wsadowy, wieloprogramowość PSOiP Przetwarzanie wieloprogramowe Zalety: Szybsze wykonywanie puli zadań Większe obłożenie procesora i urządzeń WE / WY Wady: Większa złożoność systemu operacyjnego (planowanie zadań, przydział procesora, zarządzanie pamięcią, zarządzanie dyskiem) Zadanie nie korzystające z WE / WY może na długo przejąć kontrolę Nadal użytkownik nie ma kontroli nad aktualnie wykonywanym programem Uwaga: pojęcia wieloprogramowość (multiprogramming) i wielozadaniowość są niekiedy traktowane jak synonimy (książki, materiały w Internecie), a niekiedy wielozadaniowość (multitasking) dotyczy systemów z podziałem czasu
System wsadowy, wieloprogramowość PSOiP System wsadowy, wieloprogramowość Podsumowanie Elementy systemu operacyjnego (na tym etapie) planowanie zadań zarządzanie pamięcią obsługa pamięci dyskowej kontrolowanie spoolingu Przydział czasu procesora Pojęcia: Monitor Praca pośrednia Buforowanie Spooling Przetwarzanie wieloprogramowe