Interested Article - THE (операционная система)
- 2021-02-13
- 2
THE (сокр. от нидерл. Technische Hogeschool Eindhoven ) — компьютерная операционная система , разработанная командой под руководством Эдсгера В. Дейкстры , описанная в монографиях в 1965—1966 годах и опубликованная в 1968 году. Система была в основном пакетной системой , которая поддерживала многозадачность ; она не была разработана как . Это было похоже на ( ), но «набор процессов в системе был статическим».
Система представила первые формы программной выгружаемой виртуальной памяти , так как Electrologica X8 ( ) не поддерживала , освобождая программистов от необходимости использовать фактические физические местоположения в памяти на магнитном барабане . Это было сделано с помощью модифицированного компилятора (единственный язык программирования, поддерживаемый системой Дейкстры), чтобы автоматически генерировать вызовы системных подпрограмм, которые убедились, что запрошенная информация находится в памяти, при необходимости меняя местами. Выгружаемая виртуальная память также использовалась для буферизации данных устройств ввода-вывода и значительной части кода операционной системы, а также почти всего компилятора ALGOL 60 . В самой этой системе семафоры впервые использовались в качестве программной конструкции.
Конструкция
Конструкция операционной системы важна для её использования уровневой структуры, в которой «высшие» уровни зависят только от «нижних» уровней:
- Уровень 0 — отвечал за многопрограммные аспекты операционной системы. Он решал, какой процесс будет выделен центральному процессору (CPU) , и учитывал процессы, которые были заблокированы на семафоре. Также он мог прервать или переключить фон, когда требовалось изменение процесса. В современном мире это называется планировщик .
- Уровень 1 — был связан с выделением памяти процессам.
- Уровень 2 — отвечал за связь между операционной системой и консолью.
- Уровень 3 — управлял всеми вводами — выводами между устройствами, подключенными к компьютеру. Это включало и буферизацию информации с различных устройств.
- Уровень 4 — состоял из пользовательских программ. Было 5 процессов: в общей сложности они выполняли сборку , выполнение и вывод пользовательских программ. По завершении они передавали управление обратно в очередь расписания, которая была основана на приоритете, в пользу недавно запущенных процессов.
- Уровень 5 — был пользователем (как отмечает Дейкстра, «не реализован нами»).
Ограничение, что более высокие уровни могут зависеть только от более низких уровней, было наложено проектировщиками, чтобы сделать рассуждения о системе более простыми (легко доступными), а также облегчить построение и тестирование системы постепенно. Уровни были реализованы по порядку, сначала Уровень 0, с тщательным тестированием абстракций, предоставляемых каждым уровнем по очереди. Это разделение ядра на слои было в некотором роде похоже на модель ОС Multics . Несколько последующих операционных систем в некоторой степени использовали уровни, включая Windows NT и macOS , хотя и с меньшим количеством уровней.
Код системы был написан на ассемблере для голландского компьютера Electrologica X8. Этот компьютер имел размер 27 битов, 32 000 слов , памяти сердечника , 512 000 слов памяти барабана, обеспечивая резервное хранилище для алгоритма кэширования .
Примечания
- . Дата обращения: 5 апреля 2019. 4 апреля 2019 года.
- . Дата обращения: 5 апреля 2019. 19 мая 2018 года.
Ссылки
- 2021-02-13
- 2