Когда были изобретены фоновые процессы?

13

Ищу как дату, так и авторитетную ссылку. Ожидаемый ответ где-то в 1960-х.

Эта информация важна для написания эффективного запроса.

supyo
источник
Из любопытства зачем пересматривать ваши ожидания?
Стивен Китт
2
Что вы подразумеваете под фоновыми процессами (это форма многозадачности, специально предназначенная для пользователей интерактивных терминалов)?
RonJohn
2
Эта информация важна для написания эффективного запроса. Я так не думаю.
Карстен С.

Ответы:

29

Первой системой, поддерживающей несколько одновременно выполняющихся процессов или, по крайней мере, имитирующей одновременное выполнение нескольких процессов, была система Atlas, разработанная в Манчестерском университете в Великобритании в начале шестидесятых годов. Ссылка для этого - документ, описывающий систему, руководитель Atlas , написанный Томом Килберном, Р. Брюсом Пейном и Дэвидом Дж. Ховартом и опубликованный в 1961 году на компьютерной конференции AFIPS:

Объектная программа останавливается (с помощью SER) всякий раз, когда требуется доступ к блоку информации, который не сразу доступен в основном хранилище.

[...]

Пока одна программа остановлена, ожидая, например, завершения передачи на магнитную ленту, подпрограмма координатора переключает управление на следующую программу в списке объектных программ, которую можно продолжить.

Процессы, ожидающие данные, приостанавливаются и помещаются в фоновый режим, пока данные не станут доступны.

Вы можете узнать больше о системе Atlas и истории операционных систем в книге Пер Бринча Хансена « Эволюция операционных систем» . Его книга « Классические операционные системы» перепечатывает немало новаторских работ, в том числе атлас, упомянутый выше.

Концепция мультипрограммирования, как описано выше, впервые была описана Кристофером Стрейчи в его статье 1959 года «Разделение времени на больших быстрых компьютерах» .

То, что в конце концов запомнилось как разделение времени, было не таким, как описанное выше; разделение времени, которое может быть более знакомо людям, привыкшим к современным многопользовательским, многозадачным системам, было изобретено в 1959 году Джоном Маккарти из Массачусетского технологического института; см . Эволюцию операционных систем для ссылок. Первой системой, демонстрирующей разделение времени, была CTSS в конце 1961 года на IBM 709, описанная в «Экспериментальной системе разделения времени» , написанной Фернандо Корбато, Марджори Мервин-Даггетт и Робертом С. Дейли, опубликованной в 1962 году. CTSS уже имела демоны, которые могут рассматриваться как самая ранняя форма фоновых процессов (в современном понимании этой фразы).

См. Также «История переключения контекста на ретрокомпьютинг» и собственные воспоминания Джона Маккарти об истории разделения времени .

Если вы имеете в виду фоновые процессы с точки зрения оболочки, они появились вместе с управлением заданиями в оболочке C, где Джим Кульп реализовал это где-то в 1980 году (эта функция была доступна в 4BSD , выпущенной в конце 1980 года).

Стивен Китт
источник
1
Этот ответ касается нескольких процессов, а не фоновых процессов. Мне кажется, что Берроуз делал это в 1957 году.
user207421
@EJP единственной машиной Берроуза, существовавшей в 1957 году, был B205 (разработанный ElectroData, который купил Берроуз), который не имел никакого понятия о процессах.
Стивен Китт
@ EJP, теперь я прямо упоминаю фоновые процессы (кроме фоновых процессов в Атласе), это лучше?
Стивен Китт