Systemy Operacyjne (Wykład 2)
Początki systemu operacyjnego
System operacyjny jest pośrednikiem pomiędzy warstwą oprogramowania, a sprzętem.
Na końcu lat 50. komputer był dobrem rzadkim i był wynajmowany na godzinę przez naukowców czy przez wojsko.
Kiedyś zamiast systemu operacyjnego był operator, który zarządzał komputerem. Operator został zautomatyzowany właśnie przez system operacyjny.
Program miał być zaopatrzony w opis JCL (Job Control Language) i zawierał:
Identyfikator
Hasło
Co potrzeba do uruchomienia (mapowanie pomiędzy zasobami systemu operacyjnego, a danymi)
Definicje krytyczne
Później program mógł być uruchamiany bez operatora i można to nazwać systemem operacyjnym.
System operacyjny organizuje program tak aby był wykonany:
Szybko
Wydajnie
Tak aby zasoby były wykorzystane w sposób optymalny
Jeśli uruchamiamy program to „zgłaszamy ochotę” na wykorzystanie systemu operacyjnego. Decyduje on o uruchamianiu programów tak, aby wykonywały się optymalnie.
Batch System – System wsadowy, pierwszy zaczyn systemu operacyjnego
Przetwarzanie satelitarne (praca pośrednia)
to co przypomina dzisiejszy system operacyjny
Zadania wykonywane przez system operacyjny
Fazy mogą mieć różne długości w zależności od zadania, np. Sumowanie liczb będzie na pewno wymagało krótszej fazy obliczeń od wypisywania kolejnych cyfr liczby pi), ale dla sumowania dużej ilości liczb będzie dłuższa faza wejścia.
Faktyczne wykorzystanie procesora
Większość zadań faktycznie jest ograniczana przez fazy wejścia i wyjścia, ale można to zmienić.
Wprowadzanie danych musi być wykonywane bez użycia procesora, który jest zajęty obliczeniami. Ktoś musi się zająć wprowadzaniem danych. Pytanie: kto?
Komputer satelitarny zawiaduje pracą urządzenia wejścia / wyjścia
Każde urządzenie wejścia / wyjścia jest sterowane przez procesor centralny. Dyski, karty itp. „żyją własnym życiem” ale są częścią całości, urządzenia te informują procesor centralny o różnych zakończonych czynnościach.
Przetwarzanie satelitarne „żyje” w aktualnych architekturach komputerowych jako systemy inteligentnych urządzeń wejścia / wyjścia.
Ważne zagadnienia
DMA – Direct Memory Access
Buforowanie – pochodzi z lat 60. , a funkcjonuje do dziś
Pamięć masowa i operacyjna
Spooling – buforowanie na HDD. Pojęcie pojawiło się gdy potrzebne były szybkie dyski pamięci masowej. Można przechowywać dane z pamięci RAM w celu późniejszego ich wykorzystania przez urządzenia wejścia / wyjścia. Znalazł on zastosowanie w drukowaniu i poczcie elektronicznej.
Wieloprogramowość
Wieloprogramowość była rewolucją, umożliwiała uruchamianie wielu programów jednoczeście.
Fundamenty wieloprogramowości
Uruchomione programy muszą przebywać jednocześnie w pamięci operacyjnej
Każdy program wykonuje się w naprzemiennej fazie (Obliczenia -> Faza Wejścia / Wyjścia)
Kiedy program kończy obliczenia i rozpoczyna się faza wejścia / wyjścia, procesor może się przełączać na obliczenia dla innego programu
Przełączanie sterowania odbywa się wtedy, kied program przestaje obliczać, a wchodzi w fazę wejścia / wyjścia.
Pętla for(;;); zawiesza procesor i program zawierający tą pętlę nie zrzeka się procesora.
Porównanie dwóch odtwarzaczy muzycznych (nisko- i wysokoskompresowanych)
Komputer „rwie” gdy nie nadąża z dekompresją.