Dzielenie czasu - Time-sharing

W obliczeniowej , czas podziału jest udostępnianie zasobów obliczeniowych wśród wielu użytkowników w tym samym czasie za pomocą wieloprogramowanie i wielozadaniowych .

Jego pojawienie się jako czołowego modelu informatyki w latach siedemdziesiątych XX wieku stanowiło poważną zmianę technologiczną w historii informatyki. Umożliwiając wielu użytkownikom jednoczesną interakcję z jednym komputerem, współdzielenie czasu radykalnie obniżyło koszty zapewnienia możliwości obliczeniowych, umożliwiło osobom i organizacjom korzystanie z komputera bez jego posiadania oraz promowało interaktywne korzystanie z komputerów i rozwój nowe aplikacje interaktywne .

Historia

Przetwarzanie wsadowe

Najwcześniejsze komputery były niezwykle drogimi urządzeniami i bardzo powolnymi w porównaniu z późniejszymi modelami. Maszyny były zwykle dedykowane do określonego zestawu zadań i obsługiwane przez panele sterowania, a operator ręcznie wprowadzał małe programy za pomocą przełączników w celu załadowania i uruchomienia serii programów. Uruchomienie tych programów może zająć kilka godzin. Wraz ze wzrostem szybkości komputerów skracały się czasy działania i wkrótce czas potrzebny do uruchomienia następnego programu stał się problemem. Nowsze oprogramowanie do przetwarzania wsadowego i metodologie zmniejszyły te „martwe okresy” dzięki kolejkowaniu programów do kolejkowania: opracowano systemy operacyjne, takie jak IBSYS (1960).

Stosunkowo niedrogie urządzenia do dziurkowania kart lub taśmy papierowej były używane przez programistów do pisania swoich programów w trybie „offline”. Programy zostały przekazane zespołowi operacyjnemu, który zaplanował ich uruchomienie. Wyjście (zwykle wydrukowane) zostało zwrócone do programisty. Cały proces może zająć kilka dni, podczas których programista może nigdy nie zobaczyć komputera.

Alternatywa polegająca na umożliwieniu użytkownikowi bezpośredniej obsługi komputera była generalnie zbyt kosztowna do rozważenia. Wynika to z tego, że użytkownicy mogą mieć długie okresy wprowadzania kodu, podczas gdy komputer pozostawał bezczynny. Sytuacja ta ograniczyła interaktywny rozwój do tych organizacji, które mogłyby pozwolić sobie na marnowanie cykli obliczeniowych: w większości dużych uniwersytetów. Studenci Stanforda nakręcili krótki film, w humorystyczny sposób krytykujący tę sytuację.

Dzielenie czasu

Unix dzielenie czasu na Uniwersytecie Wisconsin , 1978

Współdzielenie czasu rozwinęło się ze świadomości, że podczas gdy pojedynczy użytkownik wykorzystywałby komputer w sposób nieefektywny, duża grupa użytkowników nie robiłaby tego. Wynikało to ze wzorca interakcji: zazwyczaj pojedynczy użytkownik wprowadzał serie informacji, po których następowały długie przerwy, ale grupa użytkowników pracujących w tym samym czasie oznaczałaby, że przerwy jednego użytkownika byłyby wypełnione aktywnością innych. Biorąc pod uwagę optymalną wielkość grupy, cały proces mógłby być bardzo wydajny. Podobnie niewielkie fragmenty czasu spędzonego na oczekiwaniu na dysk, taśmę lub wejście sieciowe można przyznać innym użytkownikom.

Uważa się, że koncepcja została po raz pierwszy opisana przez Johna Backusa podczas letniej sesji w MIT w 1954 r., A później przez Boba Bemera w jego artykule z 1957 r. „Jak rozważać komputer” w magazynie Automatic Control . W artykule opublikowanym w grudniu 1958 roku przez WF Bauer napisał, że „Komputery rozwiązywałyby wiele problemów jednocześnie. Organizacje miałyby instalowane urządzenia wejścia-wyjścia we własnych pomieszczeniach i kupowałyby czas na komputerze w taki sam sposób, jak przeciętne gospodarstwo domowe kupuje energię i wodę od przedsiębiorstw użyteczności publicznej ”.

Christopher Strachey , który został pierwszym profesorem obliczeń na Uniwersytecie Oksfordzkim, złożył wniosek patentowy dotyczący „podziału czasu” w lutym 1959 r. Na pierwszej konferencji UNESCO poświęconej przetwarzaniu informacji w Paryżu w czerwcu wygłosił referat „Time Sharing in Large Fast Computers” . roku, gdzie przekazał koncepcję JCR Licklider . Ten artykuł został uznany przez MIT Computation Center w 1963 roku za „pierwszy artykuł o komputerach z podziałem czasu”.

Wdrożenie systemu, który mógłby to wykorzystać, było początkowo trudne. Przetwarzanie wsadowe było w istocie metodologicznym rozwinięciem w stosunku do najwcześniejszych systemów. Ponieważ komputery nadal uruchamiały pojedyncze programy dla pojedynczych użytkowników w dowolnym momencie, podstawową zmianą w przetwarzaniu wsadowym było opóźnienie czasowe między jednym programem a następnym. Zupełnie inną koncepcją było opracowanie systemu obsługującego wielu użytkowników jednocześnie. „Stan” każdego użytkownika i jego programów musiałby być przechowywany w maszynie, a następnie szybko przełączany między nimi. Zajmowałoby to cykle komputerowe, a na powolnych maszynach tamtej epoki było to problemem. Jednak w miarę jak komputery szybko rosły pod względem szybkości, a zwłaszcza rozmiaru pamięci rdzeniowej, w której utrzymywane były stany użytkowników, narzut współdzielenia czasu stale malał, relatywnie rzecz biorąc.

Pierwszy projekt wdrożenia współdzielenia czasu programów użytkownika został zainicjowany przez Johna McCarthy'ego na MIT w 1959 roku, początkowo planowany na zmodyfikowanym IBM 704 , a później na dodatkowo zmodyfikowanym IBM 709 (jednym z pierwszych komputerów wystarczająco wydajnych do dzielenia czasu) . Jeden z rezultatów projektu, znany jako kompatybilny system współdzielenia czasu lub CTSS, został zademonstrowany w listopadzie 1961 roku. CTSS ma dobre roszczenia do bycia pierwszym systemem dzielenia czasu i pozostał w użyciu do 1973 roku. Kolejny pretendent do pierwszego zademonstrowanym systemem podziału czasu był PLATO II, stworzony przez Donalda Bitzera podczas publicznej demonstracji w Robert Allerton Park niedaleko University of Illinois na początku 1961 roku. Ale był to system specjalnego przeznaczenia. Bitzer od dawna powiedział, że projekt PLATO uzyskałby patent na podział czasu, gdyby tylko Uniwersytet Illinois nie utracił patentu przez dwa lata. JOSS rozpoczął usługę podziału czasu w styczniu 1964 roku.

Pierwszym komercyjnym systemem podziału czasu, który odniósł sukces, był Dartmouth Time Sharing System .

Rozwój

W późnych latach sześćdziesiątych i siedemdziesiątych terminale komputerowe były multipleksowane do dużych komputerów typu mainframe w instytucjach ( scentralizowane systemy obliczeniowe ), które w wielu wdrożeniach sekwencyjnie odpytywały terminale, aby sprawdzić, czy są dostępne dodatkowe dane lub czy użytkownik komputera zażądał działania. Późniejsza technologia połączeń była sterowana przerwaniami , a niektóre z nich wykorzystywały technologie równoległego przesyłania danych, takie jak standard IEEE 488 . Ogólnie rzecz biorąc, terminale komputerowe były używane w budynkach uczelni w prawie takich samych miejscach, jak komputery stacjonarne lub komputery osobiste . W początkach istnienia komputerów osobistych wiele z nich było w rzeczywistości wykorzystywanych jako szczególnie inteligentne terminale dla systemów z podziałem czasu.

Twórcy Dartmouth Time Sharing System napisali w 1968 r., Że „każdy czas odpowiedzi, który przekracza średnio 10 sekund, niszczy iluzję posiadania własnego komputera”. I odwrotnie, użytkownicy korzystający z współdzielenia czasu myśleli, że ich terminalem był komputer.

Wraz z pojawieniem się mikrokomputerów na początku lat 80., podział czasu stał się mniej istotny, ponieważ poszczególne mikroprocesory były na tyle niedrogie, że jedna osoba mogła przeznaczyć cały czas procesora wyłącznie na swoje potrzeby, nawet w stanie bezczynności.

Jednak dzięki Internetowi ogólna koncepcja podziału czasu ponownie stała się popularna. Drogie farmy serwerów korporacyjnych, które kosztują miliony, mogą obsługiwać tysiące klientów, którzy korzystają z tych samych wspólnych zasobów. Podobnie jak we wczesnych terminalach szeregowych, strony internetowe działają głównie w okresach aktywności, po których następują okresy bezczynności. Ten wybuchowy charakter pozwala na korzystanie z usługi przez wielu klientów jednocześnie, zwykle bez zauważalnych opóźnień w komunikacji, chyba że serwery zaczną być bardzo zajęte.

Biznes z podziałem czasu

Geneza

W latach sześćdziesiątych kilka firm zaczęło świadczyć usługi związane z podziałem czasu jako biura usługowe . Wczesne systemy wykorzystywały maszyny Teletype Model 33 KSR lub ASR lub Teletype Model 35 KSR lub ASR w środowiskach ASCII oraz terminale oparte na maszynach do pisania IBM Selectric (zwłaszcza IBM 2741 ) z dwoma różnymi siedmiobitowymi kodami. Łączyłyby się z komputerem centralnym za pomocą modemu telefonicznego Bell 103A lub modemów sprzężonych akustycznie, pracujących z szybkością 10–15 znaków na sekundę. Późniejsze terminale i modemy obsługiwały 30–120 znaków na sekundę. System z podziałem czasu zapewniłby kompletne środowisko operacyjne, w tym różne procesory języków programowania, różne pakiety oprogramowania, przechowywanie plików, drukowanie zbiorcze i przechowywanie w trybie offline. Od użytkowników pobierano opłatę za wynajem terminala, opłatę za godziny połączenia, opłatę za sekundy czasu procesora oraz opłatę za kilobajtomiesięczne miejsce na dysku.

Typowe systemy używane do podziału czasu obejmowały SDS 940 , PDP-10 i IBM 360 . Firmy świadczące tę usługę wliczone GE „s GEISCO, IBM zależnej Biuro Obsługi Corporation , Tymshare (założony w 1966), Narodowy CSS (założony w 1967 roku i zakupiony przez Dun & Bradstreet w 1979 roku), wybierania danych (kupione przez Tymshare w 1968 roku), Bolt, Beranek i Newman (BBN) oraz Time Sharing Ltd. w Wielkiej Brytanii . Do 1968 r. Istniały 32 takie biura usługowe obsługujące tylko amerykańskie Narodowe Instytuty Zdrowia (NIH). Auerbach Przewodnik Timesharing (1973) wymienia 125 różnych usług timesharingu korzystające ze sprzętu z Burroughs , CDC , DEC , HP , Honeywell , IBM , RCA , Univac i XDS .

Unosić się i opadać

W 1975 roku powiedziano o jednym z głównych producentów komputerów typu super-mini, że „obecnie największym rynkiem dla użytkowników końcowych jest podział czasu”. W przypadku DEC, przez chwilę drugiej co do wielkości firmy komputerowej (po IBM), było to również prawdą: ich PDP-10 i IBM 360/67 były szeroko wykorzystywane przez komercyjne usługi współdzielenia czasu, takie jak CompuServe, On-Line Systems (OLS), Rapidata and Time Sharing Ltd.

Pojawienie się komputera osobistego zapoczątkowało upadek podziału czasu. Ekonomia była taka, że ​​czas komputera przeszedł z drogiego zasobu, którym trzeba było się dzielić, do tego, że był tak tani, że komputery mogły pozostawać bezczynne przez długi czas, aby były dostępne w razie potrzeby.

Przykład Rapidata

Chociaż wiele usług współdzielenia czasu po prostu zostało zamkniętych, Rapidata utrzymała się i stała się częścią National Data Corporation . W 1982 r. Nadal cieszyło się dużym zainteresowaniem, aby znaleźć się w „Przewodniku użytkownika po programach statystycznych: system Rapidata Timesharing”. Nawet gdy przychody spadły o 66%, a National Data rozwinęło później własne problemy, podjęto próby utrzymania tego biznesu z podziałem czasu.

UK
  • Time Sharing Limited (TSL, 1969-1974) - uruchomiony w systemach DEC. PERT był jedną z jego popularnych ofert. Firma TSL została przejęta przez ADP w 1974 roku.
  • OLS Computer Services (UK) Limited (1975-1980) - z wykorzystaniem systemów HP i DEC.

Narzędzie komputerowe

Począwszy od 1964 roku, system operacyjny Multics był projektowany jako narzędzie obliczeniowe , wzorowane na narzędziach elektrycznych lub telefonicznych. W latach siedemdziesiątych pierwotne repozytorium hipertekstu „ Xanadu Teda Nelsona było pomyślane jako taka usługa. Wydawało się, że wraz z rozwojem przemysłu komputerowego taka konsolidacja zasobów obliczeniowych nie będzie miała miejsca w przypadku systemów z podziałem czasu. W latach 90. koncepcja została jednak odrodzona w nieco zmodyfikowanej formie pod hasłem cloud computing .

Bezpieczeństwo

Współdzielenie czasu było pierwszym przypadkiem, gdy wiele procesów należących do różnych użytkowników działało na jednym komputerze i te procesy mogły ze sobą kolidować. Na przykład jeden proces może zmienić współdzielone zasoby, na których opierał się inny proces, takie jak zmienna przechowywana w pamięci. Gdyby z systemu korzystał tylko jeden użytkownik, mogłoby to skutkować prawdopodobnie błędnymi danymi wyjściowymi - ale w przypadku wielu użytkowników może to oznaczać, że inni użytkownicy mogliby zobaczyć informacje, których nie powinni widzieć.

Aby temu zapobiec, system operacyjny musiał wymusić zestaw zasad określających, jakie uprawnienia ma każdy proces. Na przykład system operacyjny może odmówić dostępu do określonej zmiennej przez określony proces.

Pierwsza międzynarodowa konferencja poświęcona bezpieczeństwu komputerowemu, która odbyła się w Londynie w 1971 r., Była napędzana głównie przez branżę współdzielenia czasu i jej klientów.

Wybitne systemy podziału czasu

Istotne wczesne systemy podziału czasu:

Zobacz też

Bibliografia

Dalsza lektura

  • Nelson, Theodor (1974). Komputer Lib: Teraz możesz i musisz zrozumieć komputery ; Dream Machines : „Nowe wolności poprzez ekrany komputerów - raport mniejszości”. Publikacja własna. ISBN   0-89347-002-3 . pp. 56–57.
  • Fredkin, Edward (listopad 1963). „Podział czasu komputerów” (PDF) . Komputery i automatyka . XII (11): 12–13, 16–20. : „Autor opowiada krótką historię współdzielenia czasu, początkowe eksperymenty z podziałem czasu, modyfikacje komputerów istniejących i zaprojektowanych specjalnie do współdzielenia czasu, projekt MAC , istotne cechy systemu, usługi, języki, programy, zakres wyświetlacze i długopisy świetlne oraz komunikacja wewnętrzna.

Linki zewnętrzne

  CTSS  
> IBM M44 / 44X
>> CP-40 / CMS CP [-67] / CMS   VM / 370 → Wersje VM / SE → Wersje VM / SP → Wersje VM / XA → VM / ESA z / VM
VP / CSS
> TSS / 360
> TSO dla MVT → dla OS / VS2 → dla MVS → ... → dla z / OS
>> MULTICS i większość innych platform współdzielenia czasu
  1. ^ Allen, Ruth; (USA), National Library of Medicine (1969). Bibliografia z komentarzami na temat biomedycznych aplikacji komputerowych . 70: National Library of Medicine. CS1 maint: lokalizacja ( łącze )