[unix] 백그라운드 프로세스는 언제 발명 되었습니까?

날짜와 권위있는 참조를 모두 찾으십시오. 1960 년대 언젠가 예상되는 대답.

이 정보는 영향력있는 기능 요청을 작성하는 데 필수적입니다.



답변

여러 개의 동시 실행 프로세스를 지원하거나 최소한 여러 프로세스의 동시 실행을 시뮬레이션하는 첫 번째 시스템은 60 년대 초 영국 맨체스터 대학에서 개발 된 Atlas 시스템 이었습니다 . 이에 대한 참조는 Tom Kilburn, R. Bruce Payne 및 David J. Howarth가 작성하고 AFIPS 컴퓨터 컨퍼런스에서 1961 년에 출판 한 The Atlas 감독자 시스템을 설명하는 논문입니다 .

코어 저장소에서 즉시 사용할 수없는 정보 블록에 대한 액세스가 필요할 때마다 SER ‘s에 의해 오브젝트 프로그램이 정지됩니다.

[…]

예를 들어 자기 테이프 전송이 완료되기를 기다리는 한 프로그램이 정지되는 동안 코디네이터 루틴은 개체 프로그램 목록에서 다음 프로그램으로 제어를 전환하여 자유롭게 진행할 수 있습니다.

데이터를 기다리는 프로세스는 데이터가 사용 가능할 때까지 일시 중단되고 백그라운드에 배치됩니다.

Per Brinch Hansen의 운영 체제의 진화 에서 Atlas 시스템과 운영 체제의 역사에 대해 자세히 알아볼 수 있습니다 . 그의 Classic Operating Systems 책은 위에서 언급 한 Atlas 논문을 포함하여, 몇 가지 선구적인 논문을 재 인쇄합니다.

위에서 설명한대로 멀티 프로그래밍의 개념은 Christopher Strachey가 1959 년 논문 ‘ 대형 고속 컴퓨터에서의 시간 공유’에서 처음 설명했습니다 .

시분할로 기억 된 것은 위와 같지 않았습니다. 현대의 다중 사용자, 멀티 태스킹 시스템에 익숙한 사람들에게 친숙 할 수있는 시간 공유는 1959 년 MIT의 John McCarthy에 의해 발명되었습니다. 참고 로 운영 체제의 진화 를 참조하십시오. 시간 공유를 시연하는 첫 번째 시스템은 1961 년 말 IBM 709에서 CTSS 였으며, 1962 년에 출판 된 Fernando Corbato, Marjorie Merwin-Daggett 및 Robert C. Daley가 작성한 실험 시간 공유 시스템에 설명 되어 있습니다. CTSS는 이미 가장 초기 형태의 백그라운드 프로세스로 인정 될 수있는 데몬 (현대의 의미에서).

참조 컨텍스트 스위치의 역사Retrocomputing , 존 맥카시의 자신의 시간 공유의 역사에 회고록을 .

쉘 관점에서 백그라운드 프로세스를 언급하는 경우 Jim Kulp가 1980 년경에 구현 한 C 쉘의 작업 제어 와 함께 나타납니다 (이 기능은 1980 년 후반에 릴리스 된 4BSD ).


답변