stringtranslate.com

Мультипрограммная система

Система мультипрограммирования THE или ОС THE была компьютерной операционной системой , разработанной командой под руководством Эдсгера В. Дейкстры , описанной в монографиях в 1965-66 годах [1] и опубликованной в 1968 году. [2] Дейкстра никогда не давал названия системе; «THE» — это просто аббревиатура от «Technische Hogeschool Eindhoven», тогдашнего названия (на голландском языке ) Эйндховенского технологического университета в Нидерландах . Система THE была в первую очередь пакетной системой [3] , которая поддерживала многозадачность ; она не была разработана как многопользовательская операционная система. Она была очень похожа на SDS 940 , но «набор процессов в системе THE был статическим». [3]

Система THE, по-видимому, представила первые формы программно-ориентированной страничной виртуальной памяти ( Electrologica X8 не поддерживала аппаратное управление памятью ), [3] освобождая программы от необходимости использовать физические ячейки в памяти барабана . Это было сделано с помощью модифицированного компилятора ALGOL (единственного языка программирования, поддерживаемого системой Дейкстры) для «автоматической генерации вызовов системных процедур , которые гарантировали, что запрошенная информация находится в памяти, при необходимости выполняя подкачку ». [3] Странично-ориентированная виртуальная память также использовалась для буферизации данных устройств ввода-вывода (I/O), а также для значительной части кода операционной системы и почти всего компилятора ALGOL 60. В этой системе семафоры впервые использовались в качестве программной конструкции.

Дизайн

Конструкция мультипрограммной системы THE примечательна использованием многоуровневой структуры , в которой «более высокие» уровни зависят только от «более низких» уровней:

Ограничение, что более высокие уровни могут зависеть только от более низких уровней, было введено проектировщиками для того, чтобы сделать рассуждения о системе (используя квазиформальные методы ) более послушными, а также для облегчения сборки и тестирования системы пошагово. Уровни были реализованы в порядке, сначала уровень 0, с тщательным тестированием абстракций, предоставляемых каждым уровнем по очереди. Это разделение ядра на уровни было похоже в некотором роде на более позднюю модель сегментации кольца Multics . Несколько последующих операционных систем использовали уровни в некоторой степени, включая Windows NT и macOS , хотя обычно с меньшим количеством уровней.

Код системы был написан на языке ассемблера для голландского компьютера Electrologica X8 . Этот компьютер имел размер слова 27 бит, 48 килослов основной памяти , [3] 512 килослов барабанной памяти , обеспечивающей резервное хранилище для алгоритма кэширования LRU , считывателей бумажной ленты, перфораторов бумажной ленты, плоттеров и принтеров.

Смотрите также

Ссылки

  1. ^ Дейкстра, Эдсгер В. Структура мультипрограммной системы «THE» (EWD-196) (PDF) . Архив Э. В. Дейкстры. Центр американской истории, Техасский университет в Остине .(транскрипция) (14 июня 1965 г.)
  2. ^ Дейкстра, Э. В. (1968), «Структура мультипрограммной системы „THE“», Communications of the ACM , 11 (5): 341–346, doi : 10.1145/363095.363143 , S2CID  2021311
  3. ^ abcde Зильбершатц, Абрахам; Петерсон, Джеймс Л. (май 1988 г.), "13: Историческая перспектива", Концепции операционных систем , стр. 512