Wann wurden Hintergrundprozesse erfunden?

13

Auf der Suche nach einem Datum und einem maßgeblichen Verweis. Erwartete Antwort irgendwann in den 1960er Jahren.

Diese Informationen sind wichtig, um eine aussagekräftige Funktionsanforderung zu erstellen.

supyo
quelle
Warum aus Neugier Ihre Erwartungen überarbeiten?
Stephen Kitt
2
Was meinen Sie mit Hintergrundprozessen (eine Form von Multitasking, die speziell auf interaktive Terminalbenutzer beschränkt ist)?
RonJohn
2
Diese Informationen sind wichtig, um eine aussagekräftige Funktionsanforderung zu verfassen. Ich glaube nicht.
Carsten S

Antworten:

29

Das erste System, das mehrere gleichzeitig ausgeführte Prozesse unterstützt oder zumindest die gleichzeitige Ausführung mehrerer Prozesse simuliert, war das Atlas-System , das Anfang der sechziger Jahre an der Universität Manchester in Großbritannien entwickelt wurde. Die Referenz dafür ist das Papier, das das System beschreibt, The Atlas Supervisor , das von Tom Kilburn, R. Bruce Payne und David J. Howarth geschrieben und 1961 auf der AFIPS Computer Conference veröffentlicht wurde:

Ein Objektprogramm wird (durch SERs) angehalten, wenn Zugriff auf einen Informationsblock erforderlich ist, der nicht sofort im Kernspeicher verfügbar ist.

[...]

Während ein Programm angehalten wird, um beispielsweise auf den Abschluss einer Magnetbandübertragung zu warten, schaltet die Koordinatorroutine die Steuerung auf das nächste Programm in der Objektprogrammliste um, das frei ist, um fortzufahren.

Prozesse, die auf Daten warten, werden angehalten und in den Hintergrund gestellt, bis die Daten verfügbar sind.

Weitere Informationen zum Atlas-System und zur Geschichte der Betriebssysteme finden Sie in Per Brinch Hansens Die Evolution der Betriebssysteme . Sein Buch Classic Operating Systems druckt einige wegweisende Artikel nach, einschließlich des oben erwähnten Atlas-Papiers.

Das oben beschriebene Konzept der Mehrfachprogrammierung wurde erstmals von Christopher Strachey in seinem 1959 erschienenen Aufsatz " Time Sharing in großen, schnellen Computern" beschrieben .

Was schließlich als Zeitteilung in Erinnerung blieb, war nicht ganz dasselbe wie oben; Time-Sharing, mit dem Menschen, die an moderne Multi-User-Multi-Tasking-Systeme gewöhnt sind, vielleicht besser vertraut sind, wurde 1959 von John McCarthy am MIT erfunden. Referenzen finden Sie unter Die Entwicklung der Betriebssysteme . Das erste System, das Time-Sharing demonstrierte, war CTSS, Ende 1961 auf einer IBM 709, beschrieben in Ein experimentelles Time-Sharing-System , geschrieben von Fernando Corbato, Marjorie Merwin-Daggett und Robert C. Daley, veröffentlicht 1962. CTSS hatte es bereits Dämonen, die als die früheste Form von Hintergrundprozessen gelten könnten (im modernen Sinne dieses Satzes).

Siehe auch Die Geschichte des Kontextwechsels bei Retrocomputing und John McCarthys eigene Erinnerungen zur Geschichte des Zeitaustauschs .

Wenn Sie sich aus Shell-Sicht auf Hintergrundprozesse beziehen, wurden diese zusammen mit der Jobsteuerung in der C-Shell angezeigt , wo Jim Kulp sie irgendwann um 1980 implementierte (die Funktion war in 4BSD verfügbar , das Ende 1980 veröffentlicht wurde).

Stephen Kitt
quelle
1
In dieser Antwort geht es um mehrere Prozesse, nicht um Hintergrundprozesse. Mir scheint, dass Burroughs dies 1957 getan hat.
user207421
@EJP Die einzige Burroughs-Maschine, die es 1957 gab, war die B205 (von ElectroData entworfen, die Burroughs gekauft hatte), die keine Ahnung von Prozessen hatte.
Stephen Kitt
@EJP da, jetzt erwähne ich explizit Hintergrundprozesse (außer den Hintergrundprozessen auf dem Atlas), ist das besser?
Stephen Kitt