寻找日期和权威参考。预计在 1960 年代某个时候得到答复。
此信息对于编写有影响力的功能请求至关重要。
答案1
第一个支持多个并发执行进程,或者至少模拟多个进程并发执行的系统是阿特拉斯系统六十年代初期在英国曼彻斯特大学发展起来。参考文献是描述该系统的论文,阿特拉斯主管,由 Tom Kilburn、R. Bruce Payne 和 David J. Howarth 撰写,并于 1961 年在 AFIPS 计算机会议上发表:
每当需要访问核心存储中不能立即可用的信息块时,目标程序就会停止(通过 SER)。
[...]
当一个程序暂停时,例如等待磁带传输完成,协调器例程将控制切换到目标程序列表中可以自由进行的下一个程序。
等待数据的进程被挂起并置于后台,直到数据可用。
您可以在 Per Brinch Hansen 的书中找到有关 Atlas 系统和操作系统历史的更多信息操作系统的演变。他的经典操作系统本书转载了相当多的开创性论文,包括上面提到的 Atlas 论文。
如上所述,多道程序设计的概念最初由 Christopher Strachey 在他 1959 年的论文中描述:大型、快速计算机中的分时。
最终被人们记住的分时技术与上面的并不完全相同。分时技术对于习惯现代多用户、多任务系统的人来说可能更熟悉,它是由麻省理工学院的 John McCarthy 于 1959 年发明的;看操作系统的演变供参考。第一个演示分时的系统是 CTSS,于 1961 年底在 IBM 709 上进行,描述于实验性分时系统,由 Fernando Corbato、Marjorie Merwin-Daggett 和 Robert C. Daley 撰写,于 1962 年出版。CTSS 已经有了可能有资格作为后台进程的最早形式的守护进程(在该短语的现代意义上)。
也可以看看上下文切换的历史在复古计算,以及约翰·麦卡锡自己的回忆分时共享的历史。
如果您从 shell 角度引用后台进程,它们会与作业控制在 C shell 中,Jim Kulp 在 1980 年左右实现了它(该功能在4BSD,于 1980 年底发布)。