Quando os processos em segundo plano foram inventados?

13

Procurando uma data e uma referência autorizada. Resposta esperada em algum momento da década de 1960.

Essas informações são essenciais para escrever uma solicitação de recurso impactante.

supyo
fonte
Por curiosidade, por que revisar sua expectativa?
Stephen Kitt
2
O que você quer dizer com processos em segundo plano (que é uma forma de multitarefa especificamente limitada a usuários de terminais interativos)?
19418 RonJohn
2
Essas informações são essenciais para escrever uma solicitação de recurso impactante. Acho que não.
Carsten S

Respostas:

29

O primeiro sistema a oferecer suporte a vários processos de execução simultânea, ou pelo menos para simular a execução simultânea de múltiplos processos, foi o sistema Atlas desenvolvido na Universidade de Manchester, no Reino Unido, no início dos anos sessenta. A referência para isso é o artigo que descreve o sistema, o supervisor do Atlas , escrito por Tom Kilburn, R. Bruce Payne e David J. Howarth, e publicado em 1961 na AFIPS Computer Conference:

Um programa de objeto é interrompido (por SERs) sempre que é necessário acesso a um bloco de informações que não estão disponíveis imediatamente no repositório principal.

[...]

Enquanto um programa é interrompido, aguardando a conclusão de uma transferência de fita magnética, por exemplo, a rotina do coordenador alterna o controle para o próximo programa na lista de programas de objetos que está livre para prosseguir.

Os processos que aguardam dados são suspensos e colocados em segundo plano até que os dados estejam disponíveis.

Você pode descobrir mais sobre o sistema Atlas e a história dos sistemas operacionais em A evolução dos sistemas operacionais, de Per Brinch Hansen . Delelivro Classic Operating Systems reimprime vários artigos pioneiros, incluindo o artigo Atlas mencionado acima.

O conceito de multiprogramação, como descrito acima, foi descrito pela primeira vez por Christopher Strachey em seu artigo de 1959, Compartilhamento de tempo em computadores grandes e rápidos .

O que acabou sendo lembrado como compartilhamento de tempo não foi exatamente o mesmo que acima; o compartilhamento de tempo, que pode ser mais familiar para as pessoas acostumadas aos modernos sistemas multiusuário e multitarefa, foi inventado em 1959 por John McCarthy no MIT; consulte A evolução dos sistemas operacionais para obter referências. O primeiro sistema demonstrando o compartilhamento de tempo foi o CTSS, no final de 1961, em um IBM 709, descrito em Um sistema experimental de compartilhamento de tempo , escrito por Fernando Corbato, Marjorie Merwin-Daggett e Robert C. Daley, publicado em 1962. O CTSS já tinha daemons que podem se qualificar como a forma mais antiga de processos em segundo plano (no sentido moderno dessa frase).

Veja também A história da alternância de contexto em Retrocomputação e as Reminiscências de John McCarthy sobre a história do compartilhamento de tempo .

Se você está se referindo aos processos em segundo plano da perspectiva do shell, eles apareceram junto com o controle de tarefas no shell C, onde Jim Kulp o implementou por volta de 1980 (o recurso estava disponível no 4BSD , lançado no final de 1980).

Stephen Kitt
fonte
1
Esta resposta é sobre vários processos, não processos em segundo plano. Parece-me que Burroughs estava fazendo isso em 1957. #
user207421 18/18/18
A @EJP, a única máquina Burroughs existente em 1957, foi o B205 (projetado pela ElectroData, que Burroughs comprou), que não tinha noção de processos.
Stephen Kitt
@EJP lá, agora mencionei explicitamente os processos em segundo plano (além dos processos em segundo plano no Atlas), isso é melhor?
Stephen Kitt