Kiedy wynaleziono procesy w tle?

13

Poszukuję zarówno daty, jak i wiarygodnego odniesienia. Oczekiwana odpowiedź w latach 60.

Informacje te są niezbędne do napisania atrakcyjnego żądania funkcji.

supyo
źródło
Z ciekawości, po co zmieniać swoje oczekiwania?
Stephen Kitt
2
Co rozumiesz przez procesy działające w tle (które są formą wielozadaniowości szczególnie ograniczoną do użytkowników terminali interaktywnych)?
RonJohn,
2
Informacje te są niezbędne do napisania atrakcyjnego żądania funkcji. Nie wydaje mi się
Carsten S

Odpowiedzi:

29

Pierwszym systemem obsługującym wiele równolegle wykonujących się procesów lub przynajmniej symulującym jednoczesne wykonywanie wielu procesów był system Atlas opracowany na Uniwersytecie Manchester w Wielkiej Brytanii na początku lat sześćdziesiątych. Odniesieniem do tego jest artykuł opisujący system, superwizor Atlasu , napisany przez Toma Kilburna, R. Bruce'a Payne'a i Davida J. Howartha, opublikowany w 1961 r. Na konferencji komputerowej AFIPS:

Program obiektowy jest zatrzymywany (przez SER), ilekroć wymagany jest dostęp do bloku informacji, który nie jest natychmiast dostępny w magazynie podstawowym.

[...]

Podczas gdy jeden program jest zatrzymany, na przykład w oczekiwaniu na zakończenie transferu taśmy magnetycznej, procedura koordynatora przełącza sterowanie do następnego programu na liście programów obiektowych, który może być kontynuowany.

Procesy oczekujące na dane są zawieszane i umieszczane w tle, dopóki dane nie będą dostępne.

Możesz dowiedzieć się więcej o systemie Atlas historii i systemów operacyjnych w Per Brinch Hansena ewolucji systemów operacyjnych . Jego książka poświęcona klasycznym systemom operacyjnym przedrukowuje wiele pionierskich artykułów, w tym wspomniany wyżej artykuł Atlas.

Pojęcie wieloprogramowania, jak opisano powyżej, zostało po raz pierwszy opisane przez Christophera Stracheya w jego artykule z 1959 r., „Podział czasu w dużych, szybkich komputerach” .

To, co ostatecznie zostało zapamiętane jako podział czasu, nie było dokładnie takie samo jak powyższe; dzielenie czasu, które może być bardziej znane osobom przyzwyczajonym do nowoczesnych systemów wielozadaniowych i wielozadaniowych, zostało wynalezione w 1959 r. przez Johna McCarthy'ego z MIT; zobacz ewolucję systemów operacyjnych . Pierwszym systemem demonstrującym dzielenie czasu był CTSS, pod koniec 1961 r. Na IBM 709, opisany w Eksperymentalnym systemie dzielenia czasu , napisanym przez Fernando Corbato, Marjorie Merwin-Daggett i Roberta C. Daley, opublikowanym w 1962 roku. CTSS już miał demony, które mogą kwalifikować się jako najwcześniejsza forma procesów w tle (w nowoczesnym tego słowa znaczeniu).

Zobacz także Historia zmiany kontekstu w Retrocomputing i własne wspomnienia Johna McCarthy'ego na temat historii podziału czasu .

Jeśli masz na myśli procesy w tle z perspektywy powłoki, pojawiły się one wraz z kontrolą zadań w powłoce C, gdzie Jim Kulp zaimplementował ją około 1980 roku (funkcja była dostępna w 4BSD , wydanej pod koniec 1980 roku).

Stephen Kitt
źródło
1
Ta odpowiedź dotyczy wielu procesów, a nie procesów w tle. Wydaje mi się, że Burroughs robili to w 1957 r.
207421
@EJP jedyną maszyną Burroughs istniejącą w 1957 roku był B205 (zaprojektowany przez ElectroData, którą kupił Burroughs), który nie miał pojęcia o procesach.
Stephen Kitt
@EJP tam, teraz wyraźnie wspominam procesy w tle (inne niż procesy w tle w Atlasie), czy to jest lepsze?
Stephen Kitt