Timesharing - Time-sharing

Beim Computing ist Time-Sharing das Teilen einer Computerressource durch viele Benutzer gleichzeitig durch Multiprogramming und Multitasking .

Seine Entstehung als herausragendes Modell des Rechnens in den 1970er Jahren war ein bedeutender technologischer Wandel in der Geschichte des Rechnens. Durch die gleichzeitige Interaktion vieler Benutzer mit einem einzelnen Computer konnten durch die gemeinsame Nutzung der Zeit die Kosten für die Bereitstellung von Computerfunktionen drastisch gesenkt, Einzelpersonen und Organisationen die Verwendung eines Computers ohne eigenen Computer ermöglicht und die interaktive Nutzung von Computern sowie deren Entwicklung gefördert werden neue interaktive Anwendungen .

Geschichte

Stapelverarbeitung

Die frühesten Computer waren extrem teure Geräte und im Vergleich zu späteren Modellen sehr langsam. Die Maschinen waren in der Regel für bestimmte Aufgaben vorgesehen und wurden von Bedienfeldern bedient. Der Bediener gab kleine Programme manuell über Schalter ein, um eine Reihe von Programmen zu laden und auszuführen. Die Ausführung dieser Programme kann Stunden dauern. Mit zunehmender Geschwindigkeit der Computer sanken die Laufzeiten , und bald wurde die Zeit, die zum Starten des nächsten Programms benötigt wurde, zu einem Problem. Neuere Stapelverarbeitungssoftware und -methoden verringerten diese "Totzeiten", indem Programme in die Warteschlange gestellt wurden: Betriebssysteme wie IBSYS (1960).

Programmierer verwendeten vergleichsweise kostengünstige Kartenstempel- oder Papierbandschreiber , um ihre Programme "offline" zu schreiben. Die Programme wurden dem Betriebsteam vorgelegt, das die Ausführung plante. Die Ausgabe (im Allgemeinen gedruckt) wurde an den Programmierer zurückgegeben. Der gesamte Vorgang kann Tage dauern. Während dieser Zeit sieht der Programmierer den Computer möglicherweise nie.

Die Alternative, dem Benutzer die direkte Bedienung des Computers zu ermöglichen, war im Allgemeinen viel zu teuer, um sie in Betracht zu ziehen. Dies lag daran, dass Benutzer möglicherweise lange Zeiträume zur Eingabe von Code haben, während der Computer inaktiv blieb. Diese Situation beschränkte die interaktive Entwicklung auf diejenigen Organisationen, die es sich leisten konnten, Rechenzyklen zu verschwenden: große Universitäten zum größten Teil. Stanford-Studenten machten einen Kurzfilm, in dem sie diese Situation humorvoll kritisierten.

Time-Sharing

Unix Time-Sharing an der University of Wisconsin , 1978

Time-Sharing wurde aus der Erkenntnis heraus entwickelt, dass ein einzelner Benutzer einen Computer zwar ineffizient nutzen würde, eine große Gruppe von Benutzern zusammen jedoch nicht. Dies war auf das Interaktionsmuster zurückzuführen: Normalerweise gab ein einzelner Benutzer Informationsblöcke gefolgt von langen Pausen ein, aber eine Gruppe von Benutzern, die gleichzeitig arbeiteten , bedeutete, dass die Pausen eines Benutzers durch die Aktivität des anderen Benutzers gefüllt wurden. Bei einer optimalen Gruppengröße könnte der Gesamtprozess sehr effizient sein. In ähnlicher Weise können anderen Benutzern kleine Zeitabschnitte für das Warten auf Festplatten-, Band- oder Netzwerkeingaben gewährt werden.

Das Konzept soll zuerst von John Backus in der Sommersitzung 1954 am MIT und später von Bob Bemer in seinem Artikel "Wie man einen Computer betrachtet" von 1957 im Automatic Control Magazine beschrieben worden sein . In einem im Dezember 1958 von WF Bauer veröffentlichten Artikel schrieb er: "Die Computer würden eine Reihe von Problemen gleichzeitig lösen. Unternehmen würden Input-Output-Geräte in ihren eigenen Räumlichkeiten installieren und Zeit auf dem Computer kaufen, ähnlich wie die Ein durchschnittlicher Haushalt kauft Strom und Wasser von Versorgungsunternehmen. "

Christopher Strachey , der der erste Professor für Computer an der Universität Oxford wurde, reichte im Februar 1959 eine Patentanmeldung für "Time-Sharing" ein. Auf der ersten UNESCO-Konferenz zur Informationsverarbeitung in Paris im Juni gab er einen Artikel über "Time-Sharing in großen schnellen Computern" Jahr, in dem er das Konzept an JCR Licklider weitergab . Dieses Papier wurde 1963 vom MIT Computation Center als "erstes Papier über zeitlich geteilte Computer" anerkannt.

Die Implementierung eines Systems, das dies nutzen kann, war zunächst schwierig. Die Stapelverarbeitung war effektiv eine methodische Entwicklung auf den frühesten Systemen. Da auf Computern immer noch einzelne Programme für einzelne Benutzer ausgeführt wurden, war die primäre Änderung bei der Stapelverarbeitung die Zeitverzögerung zwischen einem Programm und dem nächsten. Die Entwicklung eines Systems, das mehrere Benutzer gleichzeitig unterstützte, war ein völlig anderes Konzept. Der "Status" jedes Benutzers und seiner Programme müsste in der Maschine gespeichert und dann schnell umgeschaltet werden. Dies würde Computerzyklen in Anspruch nehmen, und auf den langsamen Maschinen der Ära war dies ein Problem. Da sich die Geschwindigkeit von Computern und insbesondere die Größe des Kernspeichers, in dem die Benutzerzustände beibehalten wurden, rapide verbesserte, verringerte sich der Aufwand für die gemeinsame Nutzung relativ gesehen kontinuierlich.

Das erste Projekt zur Implementierung der Time-Sharing-Funktion von Benutzerprogrammen wurde 1959 von John McCarthy am MIT initiiert. Zunächst war ein modifizierter IBM 704 und später ein zusätzlich modifizierter IBM 709 geplant (einer der ersten Computer, die für die Time-Sharing-Funktion leistungsfähig genug sind). . Eines der Ergebnisse des Projekts, das als Compatible Time-Sharing System oder CTSS bekannt ist, wurde im November 1961 demonstriert. CTSS hat den guten Anspruch, das erste Time-Sharing-System zu sein, und blieb bis 1973 in Betrieb. Ein weiterer Anwärter für das erste Das demonstrierte Time-Sharing-System war PLATO II, das Donald Bitzer Anfang 1961 bei einer öffentlichen Demonstration im Robert Allerton Park in der Nähe der Universität von Illinois entwickelt hatte. Dies war jedoch ein Spezialsystem. Bitzer hat lange gesagt, dass das PLATO-Projekt das Patent für Time-Sharing erhalten hätte, wenn nur die Universität von Illinois das Patent zwei Jahre lang nicht verloren hätte. JOSS begann im Januar 1964 mit dem Time-Sharing-Dienst.

Das erste kommerziell erfolgreiche Time-Sharing-System war das Dartmouth Time-Sharing-System .

Entwicklung

In den späten 1960er und 1970er Jahren wurden Computerterminals auf große institutionelle Großrechner ( zentralisierte Computersysteme ) gemultiplext , die in vielen Implementierungen die Terminals nacheinander abfragten, um festzustellen, ob zusätzliche Daten verfügbar waren oder vom Computerbenutzer Maßnahmen angefordert wurden. Spätere Technologien für Verbindungen waren Interrupt- gesteuert, und einige von diesen verwendeten parallele Datenübertragungstechnologien wie den IEEE 488- Standard. Im Allgemeinen wurden Computerterminals auf College-Grundstücken an den gleichen Orten verwendet wie Desktop-Computer oder PCs heute. In den frühesten Tagen der Personal Computer wurden viele tatsächlich als besonders intelligente Terminals für Time-Sharing-Systeme verwendet.

Die Macher des Dartmouth Time Sharing Systems schrieben 1968, dass "jede Reaktionszeit von durchschnittlich mehr als 10 Sekunden die Illusion zerstört, einen eigenen Computer zu haben". Umgekehrt dachten Timesharing-Benutzer, dass ihr Terminal der Computer sei.

Mit dem Aufkommen von Mikrocomputern in den frühen 1980er Jahren verlor die Zeitteilung an Bedeutung, da einzelne Mikroprozessoren so kostengünstig waren, dass eine einzelne Person die gesamte CPU-Zeit ausschließlich für ihre Bedürfnisse verwenden konnte, selbst wenn sie im Leerlauf war.

Das Internet brachte jedoch das allgemeine Konzept der Zeitteilung wieder in Popularität. Teure Unternehmensserverfarmen, die Millionen kosten, können Tausende von Kunden beherbergen, die alle dieselben gemeinsamen Ressourcen nutzen. Wie bei den frühen seriellen Terminals arbeiten Websites hauptsächlich in Aktivitätsschüben, gefolgt von Leerlaufzeiten. Diese Burst-Natur ermöglicht es, dass der Dienst von vielen Kunden gleichzeitig genutzt wird, normalerweise ohne wahrnehmbare Kommunikationsverzögerungen, es sei denn, die Server sind sehr ausgelastet.

Time-Sharing-Geschäft

Genesis

In den 1960er Jahren begannen mehrere Unternehmen, Time-Sharing-Dienste als Servicebüros anzubieten . Frühe Systeme verwendeten KSR- oder ASR- oder Teletype Model 35 KSR- oder ASR-Maschinen des Teletyps Modell 33 in ASCII- Umgebungen und schreibmaschinenbasierte Terminals von IBM Selectric (insbesondere IBM 2741 ) mit zwei verschiedenen Sieben-Bit-Codes. Sie würden über ein DFÜ- Modem Bell 103A oder akustisch gekoppelte Modems, die mit 10 bis 15 Zeichen pro Sekunde arbeiten, eine Verbindung zum Zentralcomputer herstellen . Spätere Terminals und Modems unterstützten 30 bis 120 Zeichen pro Sekunde. Das Time-Sharing-System würde eine vollständige Betriebsumgebung bereitstellen, einschließlich einer Vielzahl von Programmiersprachenprozessoren, verschiedenen Softwarepaketen, Dateispeicherung, Massendruck und Offline-Speicherung. Den Benutzern wurde eine Miete für das Terminal, eine Gebühr für Stunden Verbindungszeit, eine Gebühr für Sekunden CPU-Zeit und eine Gebühr für Kilobyte-Monate Festplattenspeicher berechnet.

Zu den gängigen Systemen für die gemeinsame Nutzung von Zeiten gehörten SDS 940 , PDP-10 und IBM 360 . Zu den Unternehmen, die diesen Service anbieten, gehören GEsCO von GE , die IBM- Tochter The Service Bureau Corporation , Tymshare (gegründet 1966), National CSS (gegründet 1967 und 1979 von Dun & Bradstreet gekauft), Dial Data (1968 von Tymshare gekauft), Bolt, Beranek und Newman (BBN) sowie Time Sharing Ltd. in Großbritannien . Bis 1968 gab es 32 solcher Servicebüros, die allein den US National Institutes of Health (NIH) dienten . Der Auerbach Guide to Timesharing (1973) listet 125 verschiedene Timesharing-Dienste mit Geräten von Burroughs , CDC , DEC , HP , Honeywell , IBM , RCA , Univac und XDS auf .

Aufstieg und Fall

1975 wurde über einen der größten Hersteller von Super-Mini-Computern gesagt, dass "der größte Endbenutzermarkt derzeit das Time-Sharing ist". Für DEC, für eine Weile das zweitgrößte Computerunternehmen (nach IBM), war dies ebenfalls der Fall: PDP-10 und IBM 360/67 wurden häufig von kommerziellen Timesharing-Diensten wie CompuServe, Online-Systemen (OLS) und Rapidata verwendet und Time Sharing Ltd.

Das Aufkommen des Personalcomputers markierte den Beginn des Niedergangs der Zeitteilung. Die Wirtschaftlichkeit war derart, dass die Computerzeit von einer teuren Ressource, die gemeinsam genutzt werden musste, zu einer so billigen wurde, dass Computer für längere Zeit im Leerlauf stehen blieben, um bei Bedarf verfügbar zu sein.

Rapidata als Beispiel

Obwohl viele Time-Sharing-Dienste einfach geschlossen wurden, hielt Rapidata daran fest und wurde Teil der National Data Corporation . Es war 1982 immer noch von ausreichendem Interesse, im Mittelpunkt des "Benutzerhandbuchs für Statistikprogramme: Das Rapidata-Timesharing-System" zu stehen. Obwohl der Umsatz um 66% zurückging und National Data später seine eigenen Probleme entwickelte, wurde versucht, dieses Timesharing-Geschäft am Laufen zu halten.

Vereinigtes Königreich
  • Time Sharing Limited (TSL, 1969-1974) - gestartet mit DEC-Systemen. PERT war eines seiner beliebtesten Angebote. TSL wurde 1974 von ADP übernommen.
  • OLS Computer Services (UK) Limited (1975-1980) - unter Verwendung von HP & DEC-Systemen.

Das Computerdienstprogramm

Ab 1964 wurde das Betriebssystem Multics als Computerdienstprogramm konzipiert , das den Elektro- oder Telefondienstprogrammen nachempfunden ist. In den 1970er Jahren wurde Ted Nelsons ursprüngliches " Xanadu " -Hypertext-Repository als solcher Dienst ins Auge gefasst. Es schien, als würde die Computerindustrie wachsen, dass keine solche Konsolidierung von Computerressourcen als Timesharing-Systeme stattfinden würde. In den 1990er Jahren wurde das Konzept jedoch in etwas modifizierter Form unter dem Banner des Cloud Computing wiederbelebt .

Sicherheit

Time-Sharing war das erste Mal, dass mehrere Prozesse , die verschiedenen Benutzern gehörten, auf einem einzigen Computer ausgeführt wurden und diese Prozesse sich gegenseitig stören konnten. Beispielsweise kann ein Prozess gemeinsam genutzte Ressourcen ändern , auf die sich ein anderer Prozess stützt, z. B. eine im Speicher gespeicherte Variable. Wenn nur ein Benutzer das System verwendet, führt dies möglicherweise zu einer falschen Ausgabe. Bei mehreren Benutzern kann dies jedoch bedeuten, dass andere Benutzer Informationen sehen, die sie nicht sehen sollten.

Um dies zu verhindern, musste ein Betriebssystem eine Reihe von Richtlinien erzwingen, die bestimmten, über welche Berechtigungen die einzelnen Prozesse verfügten. Beispielsweise kann das Betriebssystem einem bestimmten Prozess den Zugriff auf eine bestimmte Variable verweigern.

Die erste internationale Konferenz zum Thema Computersicherheit in London im Jahr 1971 wurde hauptsächlich von der Time-Sharing-Branche und ihren Kunden vorangetrieben.

Bemerkenswerte Time-Sharing-Systeme

Bedeutende frühe Timesharing-Systeme:

Siehe auch

Verweise

Weiterführende Literatur

  • Nelson, Theodor (1974). Computer Lib: Sie können und müssen Computer jetzt verstehen ; Dream Machines : "Neue Freiheiten über Computer Bildschirme- A Minority Report". Eigenverlag. ISBN   0-89347-002-3 . S. 56–57.
  • Fredkin, Edward (November 1963). "Die gemeinsame Nutzung von Computern" (PDF) . Computer und Automatisierung . XII (11): 12–13, 16–20. : "Der Autor berichtet über eine kurze Geschichte des Time-Sharing, die ersten Time-Sharing-Experimente, die Modifikationen vorhandener Computer und solche, die speziell für Time-Sharing, Projekt-MAC , wichtige Funktionen des Systems, Dienste, Sprachen, Programme und Umfang entwickelt wurden Displays und Lichtstifte sowie Interkommunikation.

Externe Links

  CTSS  
> IBM M44 / 44X
>> CP-40 / CMS CP [-67] / CMS   VM / 370 → VM / SE-Versionen → VM / SP-Versionen → VM / XA-Versionen → VM / ESA z / VM
VP / CSS
> TSS / 360
> TSO für MVT → für OS / VS2 → für MVS → ... → für z / OS
>> MULTICS und die meisten anderen Time-Sharing- Plattformen
  1. ^ Allen, Ruth; (USA), National Library of Medicine (1969). Eine kommentierte Bibliographie biomedizinischer Computeranwendungen . 70: Nationalbibliothek für Medizin. CS1-Wartung: Standort ( Link )