Dzielenie czasu - Time-sharing
Historia informatyki |
---|
Sprzęt komputerowy |
Oprogramowanie |
Informatyka |
Nowoczesne koncepcje |
Według kraju |
Oś czasu przetwarzania |
Słowniczek informatyki |
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
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:
- Allen-Babcock RUSH (zdalni użytkownicy współużytkowanego sprzętu) System podziału czasu na sprzęcie IBM S / 360 (1966) → Tymshare
- AT&T Bell Labs Unix (1971) → UC Berkeley BSD Unix (1977)
- BBN PDP-1 System podziału czasu → Massachusetts General Hospital PDP-1D → MUMPS
- BBN TENEX → DEC TOPS-20 , Foonly FOONEX, MAXC OS at PARC , Stanford Low Overhead TimeSharing (LOTS), który prowadził TOPS-20
- Berkeley Timesharing System w UC Berkeley Project Genie → Scientific Data Systems SDS 940 ( Tymshare , BBN , SRI , Community Memory) → BCC 500 → MAXC at PARC
- Burroughs MCP z podziałem czasu → HP 3000 MPE
- Cambridge Multiple Access System został opracowany dla Titana , prototypowego komputera Atlas 2 zbudowanego przez Ferranti dla University of Cambridge . Był to pierwszy system podziału czasu opracowany poza Stanami Zjednoczonymi, który wpłynął na późniejszy rozwój systemu UNIX .
- Compower Ltd., spółka zależna będąca w całości własnością National Coal Board (później British Coal Corporation) w Wielkiej Brytanii. Pierwotnie National Coal Board (NCB) Computer Services, firma stała się Compower w 1973 r., Świadcząc usługi obliczeniowe i usługi współdzielenia czasu dla wewnętrznych użytkowników KBC oraz jako usługę komercyjną dla użytkowników zewnętrznych. Sprzedany firmie Philips C&P (komunikacja i przetwarzanie) w sierpniu 1994 r.
- CompuServe , również pod marką Compu-Serv, CIS.
- Compu-Time, Inc., na Honeywell 400/4000, założona w 1968 roku w Ft Lauderdale na Florydzie, przeniosła się do Daytona Beach w 1970 roku.
- CDC MACE, APEX → Kronos → NOS → NOS / VE
- Dartmouth Time Sharing System (DTSS) → GE Time-sharing → GEnie
- Monitor z podziałem czasu DEC PDP-6 → TOPS-10 → BBN TENEX → DEC TOPS-20
- DEC TSS / 8 → RSTS-11 , RSX-11 → VAX / VMS
- English Electric KDF9 COTAN (Culham Online Task Activation Network)
- HP 2000 z podziałem czasu BASIC
- Seria HP 3000
- IBM CALL / 360 , CALL / OS - przy użyciu IBM System / 360 Model 50
- IBM CP-40 → CP-67 → CP-370 → CP / CMS → VM / CMS
- IBM TSO dla OS / MVT → dla OS / VS2 → dla MVS → dla z / OS
- IBM TSS / 360 → TSS / 370
- MOP GEORGE 3 z serii ICT 1900 (programowanie w trybie online)
- International Timesharing Corporation na podwójnych systemach CDC 3300 .
- MIT CTSS → MULTICS (MIT / GE / Bell Labs) → Unix
- MIT System podziału czasu dla DEC PDP-1 → ITS
- McGill University MUZYKA → IBM MUSIC / SP
- Michigan Terminal System na IBM S / 360-67 , S / 370 i następcach.
- Michigan State University CDC SCOPE / HUSTLER System
- National CSS VP / CSS , na seriach IBM 360 ; pierwotnie oparty na CP / CMS IBM .
- Oregon State University OS-3, na serii CDC 3000 .
- Prime Computer PRIMOS
- RAND JOSS → JOSS-2 → JOSS-3
- RCA TSOS → Univac / Unisys VMOS → VS / 9
- Service in Informatics and Analysis (SIA) , na CDC 6600 Kronos .
- System współdzielenia czasu firmy System Development Corporation na AN / FSQ-32 .
- Stanford ORVYL i WYLBUR na IBM S / 360-67 .
- System podziału czasu Stanford PDP-1 → SAIL → WAITS
- Time Sharing Ltd. (TSL) w systemach DEC PDP-10 → Automatyczne przetwarzanie danych (ADP), pierwszy komercyjny system podziału czasu w Europie i pierwszy podwójny (odporny na błędy) system podziału czasu.
- Tone (podobny do TSO, dla VS1 ), produkt innej firmy z podziałem czasu, sprzedawany przez Tone Software Co; OSP wymaga VS2.
- Tymshare SDS-940 → Tymcom X → Tymcom XX
- Unisys / UNIVAC 1108 EXEC 8 → OS 1100 → OS 2200
- UC Berkeley CAL-TSS na CDC 6400 .
- XDS UTS → CP-V → Honeywell CP-6
Zobacz też
- Chmura obliczeniowa
- The Heralds of Resource Sharing , film z 1972 roku.
- Historia CP / CMS , systemu operacyjnego maszyny wirtualnej (CP) IBM obsługującego współdzielenie czasu (CMS).
- IBM M44 / 44X , eksperymentalny system komputerowy oparty na IBM 7044 używany do symulacji wielu maszyn wirtualnych.
- IBM System / 360 Model 67 , jedyny komputer mainframe z serii IBM S / 360 obsługujący pamięć wirtualną.
- Konfiguracja wielostanowiskowa , wielu użytkowników na jednym komputerze osobistym .
- Project MAC , projekt finansowany przez DARPA w MIT, znany z przełomowych badań nad systemami operacyjnymi , sztuczną inteligencją i teorią obliczeń .
- TELCOMP , interaktywny, konwersacyjny język programowania oparty na JOSS , opracowany przez BBN w 1964 roku.
- Oś czasu systemów operacyjnych
- VAX (Virtual Address eXtension), architektura komputerów i rodzina komputerów opracowana przez DEC .
- Obliczenia użytkowe
- Pamięć wirtualna
- Ewolucja systemu podziału czasu
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
- „Time Sharing Supervisor Programs” , notatki porównujące programy kierowników CP-67 , TSS / 360 , Michigan Terminal System (MTS) i Multics autorstwa Michaela T. Alexandra, Advanced Topics in Systems Programming (1970, poprawione w 1971), University Konferencji Michigan Engineering Summer Conference.
- „Narzędzie komputerowe jako rynek usług komputerowych” , praca magisterska Roberta Frankstona z MIT, 1973.
- Reminiscencje na teorii Time-Sharing przez Johna McCarthy'ego , 1983.
- Początki współdzielenia czasu przez Boba Bemera .
- „40 lat Multics, 1969-2009” , wywiad z profesorem Fernando J. Corbató na temat historii Multics i początków podziału czasu, 2009.
- „Komputery typu mainframe: zalety współdzielenia” , „ Rewolucja: pierwsze 2000 lat informatyki”, wystawa w Muzeum Historii Komputerów, styczeń 2011 r.
- „Komputery typu mainframe: współdzielenie czasu jako biznes” , „ Rewolucja: pierwsze 2000 lat informatyki”, wystawa w Muzeum Historii Komputerów, styczeń 2011 r.
Relacje rodzinne CP / CMS | |||
→ derywacja >> silny wpływ > pewien wpływ / pierwszeństwo | |||
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 | |||
- ^ 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 )