1 Siła systemów operacyjnych
2 Agenda Prehistoria Systemy wsadowe Unix się rodzi PeCet się rodziChmura się rodzi Potęga w różnorodności Podsumowanie
3 :-) EDVAC – pierwszy program dla projektu bombty wodorowej stworzony przez uczestników projektu Manhattan EDVAC – pierwszy komputer z zapamiętywanym programem Konstrukcja EDVAC'a była nadzorowana przez John Von Neumann Moore School Lectures – seria wykładów o programowaniu systemu ENIAC – Theory and Techniques for Design of Electronic Digital Computers” w Moore School of Electrical Engineering w University of Pennsylvania w okresie lata 1946 Programowanie ENIAC'a polegało na łączeniu na panelu krosowniczym dużej ilości kabli i zmianie stanu przełączników. Czynności te wykonywało 6 kobiet ENIAC miał mozliwości wykonywania pętli, skoków, skoków warunkowych i podprogramów. EDVAC realizował koncepcję zapamiętanego programu i pamięć opartą na rurach rtęciowych LEO jako pierwszy zastosował wiele buforów I/O i program nadzorujący
4 Prehistoria Na początku był ... ... Nie , nie zaczniemy od abakusaNie zaczniemy też od karty perforowanej Biznes – IBM Wojsko – ENIAC (system dziesiętny) Wojsko – EDVAC (zapamiętanie programu) Biznes – EDSAC i LEO (pierwszy system operacyjny) EDVAC – pierwszy program dla projektu bombty wodorowej stworzony przez uczestników projektu Manhattan EDVAC – pierwszy komputer z zapamiętywanym programem Konstrukcja EDVAC'a była nadzorowana przez John Von Neumann Moore School Lectures – seria wykładów o programowaniu systemu ENIAC – Theory and Techniques for Design of Electronic Digital Computers” w Moore School of Electrical Engineering w University of Pennsylvania w okresie lata 1946 Programowanie ENIAC'a polegało na łączeniu na panelu krosowniczym dużej ilości kabli i zmianie stanu przełączników. Czynności te wykonywało 6 kobiet ENIAC miał mozliwości wykonywania pętli, skoków, skoków warunkowych i podprogramów. EDVAC realizował koncepcję zapamiętanego programu i pamięć opartą na rurach rtęciowych LEO jako pierwszy zastosował wiele buforów I/O i program nadzorujący
5 Systemy obliczeniowe IBM 701 – 6 bitów na znak, słowo 36 lub 48 bitów – komputer obliczeniowy IBM 704 IBM360
6 Pierwsze systemy biznesoweIBM 702 IBM 704 – FORTRAN, LISP, GM- NAA I/O UNIVAC (Remington Rand) z systemem Tape Director Atlas Computer z Atlas Supervisor GM-NAA I/O – automatyczne wykonywanie nastepnego zadania po zakończeniu poprzedniego. Bazował na monitorze GM napisanym dla IBM 701. Zawiera wspólne procedury dla obsługi wejścia/wyjscia. UNIVAC I całkowicie opierał się na taśmach jako nośnikach (UNISERVO – maksimum 10 sztuk). Aby operować na kartach perforowanych – był wyposażony w specjalne konwertery Ponadto miał podłączoną elektryczną maszynę do pisania i oscyloskop Tektronix, który wyświetlał zawartość pamięci (rury rtęciowe). IBM 702 miał pamięć implementowana przez tzw. William tube Atlas jest traktowany jako pierwszy superkomputer ale także jako pierwszy z rzeczywistym podziałem czasu
7 Przetwarzanie wsadowePrzetwarzanie „na koniec dnia” Obróbka obrazów i multimediów Operacje w bazach danych w dużych ilościach (transakcje, ETL) Konwersje
8 CTSS Compatible Time Sharing SystemUruchamiał w tle (ang. background facility) FMS (Fortran Monitor System) przez częściową wirtualizację 7094 Brak komunikacji z innymi uruchomionymi procesami Dwa niezależne banki pamięci ferrytowej – jeden dla programów użytkowych, drugi dla nadzorcy (DWA TRYBY PRACY) Cecha częściowej wirtualizacji została potem wykorzystana w CP/CMS, zaś cecha uruchamiania w tle do dzisiaj funkcjonuje w Unix i w „odwróconej” formie w z/OS. rak komunikacji z innymi procesami jest widoczny także i dziś w z/OS. Jedyny nadzór następuje przez SPOOL i JES. Dzisiaj zamiast dwóch niezależnych banków istnieją dwa tryby pracy.
9 MULTICS Multiplexed Information and Computing ServiceTworzony przez MIT, GE (Honneywell) i Bell Labs Wiele nowoczesnych koncepcji: pamięć jednego poziomu, listy dostępu, dynamiczne linkowanie, skrośne wywoływanie funkcji.
10 Systemy wsadowe – przed 360IBM 7090 i IBM7094 – IBSYS BESYS – stworzony przez Bell Labs FMS – system taśmowy służący jedynie do kompilacji i uruchamiania programów napisanych w FORTRAN
11 Systemy wsadowe – System/360OS/360 w pierwotnym założeniu jedyny DOS/360 – dla modeli z małą pamięcią BOS/360 – dla najmniejszych maszyn TOS/360 – dla maszyn jedynie z napędem taśmowym PCP – Primary Control Program – bez wieloprogramowania DOS, TOS, BOS i PCP były etapami do uzyskania pełnowartościowego OS/360 BOS/360 – ładowany z kart perforowanych, obsługiwał kilka napędów dyskowych i tasmowych Na podtsrawie doswiadczeń z tworzenia systemu OS/360 Fred Brooks napisał książkę „The M ythical Man-Month” .
12 IBM OS/360 W założeniu jedynie wsadowy Urządzenia wejściowe – czytnikiUrządzenia wyjściowe – dziurkarki i drukarki Urządzenia nadzorujące – dalekopis Urządzenia przechowujące dane – napędy dyskowe i taśmowe Każdy etap jest pracą wsadową nadzorowaną przez operatora
13 OS/360 – sekwencja wykonaniaPrzygotowanie kart perforowanych Uruchomienie programu czytającego – RDR Uruchomienie inicjatora INIT Uruchomienie rzeczywistego programu Uruchomienie programu zapisującego WRT bądź drukującego PRT Odebranie rezultatów pracy – kart i wydruków Wyniki pośrednie w zbiorach dyskowych, w szczególności SYSJOBQ
14 Rodzi się Unix GE635 i Multics Gra 'Space Travel' PDP-7 ShellSticky-bit Porting w Australii Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
15 Idee, idee, idee ... System plików Komunikacja z użytkownikiemKomunikacja między programami Struktura pamięci Zależności między procesami
16 Modele procesu – z/OS Podstawowy łańcuch TCB:- RCT – Region Control Task - DUMP Control Task - STC – Started Task Control - TCB dla którego przestrzeń adresowa została stworzona 16MB LMOD Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson) TCB EP CSECT CSECT EP CSECT CSECT EP CSECT EP
17 Modele procesu – Unix System Mode User Mode SWAP .data .text .dataBiblioteka dynamiczna .so (Unix), .dll(Windows) File (.so, .dll) .text .data Biblioteka dynamiczna .so (Unix), .dll(Windows) File (.so, .dll) .text .data Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson) .text .data .bss .stack SWAP Kod programu bit x (Unix), .exe(Windows) File (.so, .dll)
18 Modele procesu – z/VM Translacja CCW XA XC ESA/390 zArch Emulacjaurządzeń Instrukcja DIAG Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson) Interfejs bezpośredni
19 System plików – z/OS VTOC LABEL UNIT VTOC LABEL UNIT MCAT, UCAT LABELDSN UNIT ... VTOC LABEL UNIT Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
20 System plików – UNIX i-node i-node i-node i-node i-node blok blok blokznakowe blokowe i-node i-node i-node i-node i-node blok blok blok blok i-node i-node blok i-node i-node blok Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson) blok typ typ typ typ i-node table i-node table prawa dostępu prawa dostępu rozmiar major tablica przydziału minor
21 Komunikacja międzyprocesowa - UNIXPotoki Pamięć współdzielona Semafory i muteksy Kolejki Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
22 Komunikacja międzyprocesowa – z/OSOperacje na zbiorach CSA Dataspaces Cross-memory services Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
23 Systemy PeCeTa CP/M 86 OS/2 MS/DOS + Windows Zespół z DEC – Windows NTW stronę Unix'a Rozproszenie (DCOM) i wirtualizacja Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
24 PeCeT się rodzi Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
25 Dystrybucja BSD Projekt DARPA – TCP/IP Implementacja w jądrze UNIXWykorzystanie technologii XEROX'a Powielane w wielu miejscach Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
26 Porting BSD dla 386 Jolitz Opisywany w Dr. Dobb's JournalOpisywał krok po kroku przenoszenie sysytemu Bootstrap System plików Sterowniki do urządzeń Powłoka Narzędzia Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
27 Chmura się rodzi BSD BSD LINUXMultics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
28 Nowe wyzwania Przenoszenie systemu „w biegu” Architektura NUMARealizacja w różnych architekturach Multics miał byc lekiem na całe zło. Dizałał ale był zbyt wolny. SpaceTravel był pierwotnie zaimplementowany w Multics a potem przeniesiony do GECOS. PDP-7 – perwotnie słuzył do sterowania urządzenia graficznego Graphics II Unix zaczął być produkowany na (czarnej) tablicy od … systemu plików (Thompson)
29 CompFort Meridian siłą Twojego biznesu Rozwiązania CompFort Meridian siłą Twojego biznesu