Pierwsze systemy wsadowe - przypomnienie

28
Pierwsze systemy wsadowe - przypomnienie Prosty system wsadowy Wsad – plik kart z kartami sterującymi, rozkazy w języku sterowania zadaniami Praca pośrednia (szybsza wymiana danych, taśmy, dyski) Buforowanie (jednoczesna praca procesora nad danym zadaniem i urządzeń we-wy – to samo zadanie) Spooling (jednoczesna praca procesora nad danym zadaniem i urządzeń we-wy – różne zadania); pula zadań, planowanie zadań Przetwarzanie nowego zadania – dopiero po zakończeniu poprzedniego

description

Prosty system wsadowy. Wsad – plik kart z kartami sterującymi, rozkazy w języku sterowania zadaniami Praca pośrednia (szybsza wymiana danych, taśmy, dyski) Buforowanie (jednoczesna praca procesora nad danym zadaniem i urządzeń we-wy – to samo zadanie) - PowerPoint PPT Presentation

Transcript of Pierwsze systemy wsadowe - przypomnienie

Page 1: Pierwsze systemy wsadowe - przypomnienie

Pierwsze systemy wsadowe - przypomnienie

Prosty system wsadowy

• Wsad – plik kart z kartami sterującymi, rozkazy w języku sterowania

zadaniami

• Praca pośrednia (szybsza wymiana danych, taśmy, dyski)

• Buforowanie (jednoczesna praca procesora nad danym zadaniem i

urządzeń we-wy – to samo zadanie)

• Spooling (jednoczesna praca procesora nad danym zadaniem i

urządzeń we-wy – różne zadania); pula zadań, planowanie zadań

• Przetwarzanie nowego zadania – dopiero po zakończeniu

poprzedniego

Page 2: Pierwsze systemy wsadowe - przypomnienie

Pierwsze systemy wsadowe - przypomnienie

Wieloprogramowy system wsadowy

• W danym momencie – praca nad tylko jednym zadaniem, jeśli jest

przestój, można przejść do innego zadania

• zadania pozostają w pamięci – obsługa dostępu do pamięci

• Planowanie przydziału procesora

• Kontrola wzajemnie niekorzystnych działań (magazynowanie danych

na dysku, zarządzanie pamięcią)

Page 3: Pierwsze systemy wsadowe - przypomnienie

Potrzeba interaktywności

Systemy wsadowe

• Odpowiednie dla dużych zadań nie wymagających dialogu

• Brak bezpośredniego nadzoru ze strony użytkownika

• Statyczne testowanie programu, nie można na bieżąco obserwować

i modyfikować programu (dyscyplina programowania)

Potrzeba interaktywności:

Działanie programu ma/może być uzależnione od użytkownika, który

otrzymuje komunikaty i podejmuje decyzje

Page 4: Pierwsze systemy wsadowe - przypomnienie

Potrzeba interaktywności

Przykład

Badany (lub tworzony) jest model fizyczny, w którym rozważa się

zależność wielkości fizycznej od pewnej ilości parametrów. Jak

wartości parametrów wpływają na wartość interesującej wielkości?

Użytkownik sprawdza różne kombinacje, modyfikuje model (np.

zmiana dokładności), dopasowuje do danych doświadczalnych,

pewne wyniki może chcieć zapisać, inne odrzucić itd. Eksperyment

numeryczny.

Niezbędna jest możliwość „dialogu” z komputerem

Page 5: Pierwsze systemy wsadowe - przypomnienie

Potrzeba interaktywności

Dialog – narzędzia

• Dostęp do programu lub danych – ekran, klawiatura

• Oprogramowanie do pracy z programami/danymi np. edytory

• Zapis informacji – plik, różne formaty, różnego rodzaju dane

• System plików, katalogi

• Nadzór nad dostępem do plików – kto i co może z danym plikiem

zrobić

• Czas odpowiedzi – użytkownik chce mieć szybką informację o

działaniu programu oraz możliwość dialogu; nieakceptowalne w

tradycyjnych systemach wsadowych

Page 6: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

Wielozadaniowe przetwarzanie wsadowe a podział czasu

Przetwarzanie wsadowe

Podział czasu

Cecha podstawowa

Maksymalne obłożenie procesora (efektywność)

Minimalny czas odpowiedzi (wygoda)

Źródło dyrektyw dla systemu operacyjnego

Rozkazy programu wyrażone w języku sterowania zadaniami

Polecenia wprowadzane z terminala

Główne przeznaczenie

Obsługa dużych zadań nie wymagających nadzoru

Obsługa zbiorów krótkich działań, kolejne kroki nieprzewidywalne – rola użytkownika

Page 7: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

Przykład: każdy korzysta z terminala (monitor + klawiatura)

KOMPUTER

Terminal 1Użytkownik 1

Terminal 2Użytkownik 2

Terminal NUżytkownik N

• Wielozadaniowość i interaktywność

• Zadania dzielone na „drobne porcje”…

• i przetwarzane przeplatanymi kolejno fragmentami

• Każdemu przysługuje średnio 1/N czasu procesora (mniej)

Page 8: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Co określony czas (np. 0.2 s) generowane są przerwania

• Przerwanie – monitor przejmuje sterowanie i przekazuje innemu

użytkownikowi

• W regularnych odstępach czasu zmiana zadania na następne

• Przed przejściem do nowego zadania – zapis aktualnych danych i

programu na dysku, odtworzenie w pamięci nowego zadania

• W miarę możliwości: to co się da zachować w pamięci nie jest

przenoszone na dysk (minimalizacja obsługi dysku)

• Każdy użytkownik ma wrażenie, że dysponuje własnym komputerem

Page 9: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

Pamięć całkowita 32000 jednostek

System (monitor rezydentny) Pierwsze 5000 jednostek

JOB 1 15000 jednostek

JOB 2 20000 jednostek

JOB 3 5000 jednostek

JOB 4 10000 jednostek

Jednostka – słowo 36 bitowe

Page 10: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Załadowanie do pamięci (zawsze od słowa nr 5000) JOB 1 i

przekazanie mu sterowania

Page 11: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Zatrzymanie JOB 1, załadowanie JOB 2, (JOB 1 zapisane na dysku)

Page 12: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Zatrzymanie JOB 2, załadowanie JOB 3, (JOB 2 częściowo zostaje

w pamięci, reszta na dysk)

Page 13: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Zatrzymanie JOB 3, załadowanie JOB 1, (JOB 3 zapisane na dysku,

kolejna część JOB 2 też zapisana na dysku)

Page 14: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Zatrzymanie JOB 1, załadowanie JOB 4, (część JOB 1 zapisana na

dysku, w pamięci pozostaje część JOB 1 i JOB 2)

Page 15: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• Zatrzymanie JOB 4, załadowanie JOB 2, (JOB 4 i część JOB 1

zapisane na dysku)

Page 16: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

CTSS – Compatible Time Sharing System (lata 60-te MIT, IBM)

• System bardzo prosty (prymitywny)

• Potrzebował bardzo mało pamięci

• Bardzo prosta obsługa pamięci

• Możliwość pracy 32 użytkowników w jednym czasie

Page 17: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

Najważniejsze aspekty

• Zabezpieczenie przed wzajemnym oddziaływaniem zadań

(możliwość zmiany danych jednego użytkownika przez program

innego)

• Administrowanie pamięcią dyskową, system plików, ochrona przed

nieupoważnionym dostępem

• Zarządzanie innymi zasobami (drukarki, pamięć masowa)

Page 18: Pierwsze systemy wsadowe - przypomnienie

Systemy z podziałem czasu

Pierwsze systemy operacyjne

• Systemy wsadowe proste

• Systemy wsadowe wieloprogramowe

• Systemy z podziałem czasu

Rozwój systemów komputerowych – nowe zadania dla systemów operacyjnych

• Systemy komputerowe równoległe

• Systemy komputerowe rozproszone

• Systemy czasu rzeczywistego

• Komputery osobiste (systemy operacyjne jednostanowiskowe)

Page 19: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe równoległe

Jeden komputer, więcej niż jeden procesorów

PAMIĘĆ

PROCESOR

MAGISTRALA WE / WY

PROCESORPROCESORPROCESOR

Page 20: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe równoległe

Jeden komputer, więcej niż jeden procesorów

• Pierwsze komputery: taniej wstawić drugi procesor niż kupić drugi

komputer

• Wspólna pamięć, zegar, dyski, urządzenia zewnętrzne

• Wykonanie większej pracy w krótszym czasie

• Przy N procesorach przyspieszenie jest mniejsze od N (koordynacja

działania poszczególnych jednostek)

• Większa niezawodność – przy awarii jednego z procesorów jego zadania

przejmą inne jednostki

• Programowanie równoległe

• Większa złożoność systemu operacyjnego

Page 21: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe równoległe

Jeden komputer, więcej niż jeden procesorów

• Przetwarzanie symetryczne: zadania dzielone „po równo”, każdy

procesor może być przeznaczony do wykonywania każdego

zadania; taka sama kopia systemu operacyjnego pracuje na każdej

jednostce; procesory są identyczne np.: wielordzeniowość,

(większość współczesnych systemów operacyjnych)

• Przetwarzanie asymetryczne: procesory mają różne zadania, np.

jeden tylko do obsługi we-wy inne do obsługi programów; jeden z

procesorów może być wyróżniony – planuje i przydziela zadania

(system operacyjny działa tylko na nim); procesory mogą być różne;

(obsługa wielkich systemów komputerowych)

Page 22: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe rozproszone

Więcej komputerów

PAMIĘĆ

PROCESOR

MAGISTRALA

WE / WY PROCESOR WE / WY

MAGISTRALA

PAMIĘĆ

Page 23: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe rozproszone

Więcej komputerów

• Komputery są niezależne od siebie

• Każdy procesor ma do dyspozycji własną pamięć i zegar

• Komunikacja między procesorami: szybkie szyny danych, sieci

ethernet, linie telefoniczne, …

• Procesory – możliwe różnice rozmiaru i przeznaczenia (zarówno

wielkie systemy komputerowe jak i komputery osobiste)

• Użytkownik nie musi być świadomy wielkości systemu

rozproszony system operacyjny:Przyspieszenie obliczeń

sieciowy system operacyjny:Uwspólnienie zasobów

Page 24: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe rozproszone

Rozproszony system operacyjny

Jeden system operacyjny zarządza pracą wszystkich komputerów

Podział zasobów – użytkownik jednego stanowiska korzysta zarówno z zasobów bądź danych lokalnych i zdalnych w taki sam sposób (może nie wiedzieć, gdzie „fizycznie” są jego pliki)

Dzielenie obciążenia – przyspieszenie obliczeń. Jeśli wykonywane zadania można podzielić na zbiór niezależnych obliczeń cząstkowych, to system umożliwia współbieżne wykonanie takich obliczeń (korzystanie z kilku stanowisk, jednego ale szybszego, jednego – mniej obciążonego itd.)

Niezawodność – w przypadku awarii jednego węzła pozostałe mogą kontynuować pracę przejmując jego zadania. Warunkiem jest istnienie odpowiedniego zapasu danych i zasobów – jeżeli awarii ulegnie węzeł odpowiadający (jako jedyny) za operacje wejścia / wyjścia, to unieruchomiony zostanie cały system.

Page 25: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe rozproszone

Rozproszony system operacyjny

Łączność pomiędzy użytkownikami – użytkownicy sieci mogą swobodnie komunikować się ze sobą a także współdzielić dane.

Zróżnicowana struktura; zarządzanie zadaniami; otwartość na rozbudowę sprzętową i programową

Mach, Chorus, Amoeba

Klaster – zachowuje się jak jedna maszyna, poszczególne elementy mają własne systemy operacyjne (np. Linux), ale są anonimowe; głównie wydajne obliczenia, odporne na awarie serwery internetowe)

Page 26: Pierwsze systemy wsadowe - przypomnienie

Systemy komputerowe rozproszone

Sieciowy system operacyjny

Współczesne komputery – sieci rozproszone: Internet, sieć lokalna

(korzystanie z protokołów sieciowych, usług sieciowych)

• Praca zdalna, logowanie na innej maszynie (ssh)

• Transfer plików pomiędzy maszyną zdalną i lokalną (ftp)

• Uwspólnienie zasobów plikowych

• Poczta elektroniczna, www, komunikatory

• Korzystanie ze zdalnego sprzętu (np. drukarka)

Użytkownik ma świadomość istnienia wielu maszyn, dostęp do zasobów

innych komputerów jest jawny.

Page 27: Pierwsze systemy wsadowe - przypomnienie

Systemy czasu rzeczywistego

Ścisłe wymagania odnośnie czasu wykonania operacji

Zazwyczaj: sterowniki w urządzeniach o ściśle określonym celu. Czujniki dostarczają dane do systemu, który je analizuje i w zależności od zaistniałej sytuacji tak reguluje działanie kontrolowanego obiektu aby zmieniły się wskazania wejściowe czujników.

Ściśle określone ograniczenia czasowe. Przetwarzanie musi się zakończyć przed upływem wyznaczonego czasu, w przeciwnym wypadku system nie będzie spełniał wymagań.

Przykłady: systemy nadzorowania eksperymentów naukowych, obrazowania badań medycznych, sterowania procesami przemysłowymi, sterowniki urządzeń gospodarstwa domowego, …

Page 28: Pierwsze systemy wsadowe - przypomnienie

Systemy operacyjne jednostanowiskowe

Komputery osobiste (indywidualni użytkownicy)

• Wykorzystanie wzorców sprawdzonych podczas rozwoju systemów dla

„dużych” systemów komputerowych

• Pierwsze PC: late 70 – te XX w.

• Główny nacisk: nie na efektywność wykorzystania procesora i zasobów a

na wygodę użytkownika, interakcyjność

• Współczesne systemy operacyjne dla PC: wielozadaniowość (podział

czasu), wielodostępność, wieloprocesorowość, pewne elementy systemów

czasu rzeczywistego, sieciowość, modyfikowalność

• Ochrona danych przed niepożądanym dostępem (nieuprawnieni

użytkownicy, wirusy itd. )