Quando sono stati inventati i processi in background?


13

Alla ricerca di una data e di un riferimento autorevole. Risposta attesa negli anni '60.

Queste informazioni sono essenziali per scrivere una richiesta di funzionalità di impatto.


Per curiosità, perché rivedere le tue aspettative?
Stephen Kitt,

2
Cosa intendi per processi in background (che è una forma di multitasking specificamente limitata agli utenti di terminali interattivi)?
Ron John

2
Queste informazioni sono essenziali per scrivere una richiesta di funzionalità di impatto. Io non la penso così.
Carsten S,

Risposte:


29

Il primo sistema a supportare processi multipli in esecuzione simultanea, o almeno per simulare l'esecuzione simultanea di più processi, fu il sistema Atlas sviluppato all'Università di Manchester nel Regno Unito all'inizio degli anni sessanta. Il riferimento per questo è il documento che descrive il sistema, il supervisore Atlas , scritto da Tom Kilburn, R. Bruce Payne e David J. Howarth, e pubblicato nel 1961 alla AFIPS Computer Conference:

Un programma a oggetti viene interrotto (da SER) ogni volta che è richiesto l'accesso a un blocco di informazioni non immediatamente disponibili nell'archivio principale.

[...]

Mentre un programma viene interrotto, in attesa del completamento di un trasferimento di nastro magnetico, ad esempio, la routine del coordinatore commuta il controllo sul programma successivo nell'elenco dei programmi di oggetti che è libero di procedere.

I processi in attesa di dati vengono sospesi e posizionati in background fino a quando i dati non sono disponibili.

Puoi scoprire di più sul sistema Atlas e sulla storia dei sistemi operativi in The Evolution of Operating Systems di Per Brinch Hansen . Il suo libro sui sistemi operativi classici ristampa parecchi articoli pioneristici, incluso il documento Atlas sopra citato.

Il concetto di multi-programmazione, come descritto sopra, è stato descritto per la prima volta da Christopher Strachey nel suo articolo del 1959, Condivisione del tempo in computer grandi e veloci .

Ciò che alla fine venne ricordato come la condivisione del tempo non era esattamente lo stesso di quanto sopra; la condivisione del tempo, che potrebbe essere più familiare alle persone abituate ai moderni sistemi multiutente e multitasking, è stata inventata nel 1959 da John McCarthy al MIT; vedere L'evoluzione dei sistemi operativi per i riferimenti. Il primo sistema che dimostrava la condivisione del tempo era CTSS, alla fine del 1961 su un IBM 709, descritto in Un sistema sperimentale di condivisione del tempo , scritto da Fernando Corbato, Marjorie Merwin-Daggett e Robert C. Daley, pubblicato nel 1962. CTSS aveva già demoni che potrebbero qualificarsi come la prima forma di processi di fondo (nel senso moderno di quella frase).

Vedi anche La storia del contesto cambia su Retrocomputing e Reminiscenze di John McCarthy sulla storia della condivisione del tempo .

Se ti riferisci ai processi in background dal punto di vista della shell, sono comparsi insieme al controllo del lavoro nella shell C, dove Jim Kulp l'ha implementata intorno al 1980 (la funzione era disponibile in 4BSD , rilasciata alla fine del 1980).


1
Questa risposta riguarda più processi, non processi in background. Mi sembra che Burroughs lo stesse facendo nel 1957.
user207421

@EJP l'unica macchina Burroughs esistente nel 1957 era la B205 (progettata da ElectroData, che Burroughs acquistò), che non aveva alcuna nozione di processi.
Stephen Kitt,

@EJP lì, ora menziono esplicitamente i processi in background (diversi dai processi in background sull'Atlante), è meglio?
Stephen Kitt,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.