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

редактировать
Мультипрограммная система
Разработчик Technische Hogeschool Eindhoven / Эдсгер Дейкстра (и др.)
Написано на Electrologica X8 языке ассемблера
Рабочее состояниеСнято с производства
Первоначальный выпуск1968 г.; 52 года назад (1968)
ПлатформыElectrologica X8

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

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

Дизайн

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

  • Уровень 0 отвечал за аспекты мультипрограммирования операционной системы. Он решил, какой процесс был назначен ЦП, и учел процессы, которые были заблокированы на семафорах. Он обрабатывал прерывания и выполнял переключение контекста, когда требовалось изменение процесса. Это самый низкий уровень. Говоря современным языком, это был планировщик ..
  • Уровень 1 занимался распределением памяти процессам. Говоря современным языком, это был пейджер.
  • Уровень 2 имел дело с коммуникацией между операционной системой и консолью.
  • Уровень 3 управлял всеми операциями ввода-вывода между устройствами, подключенными к компьютеру. Это включало буферизацию информации от различных устройств.
  • Уровень 4 состоял из пользовательских программ. Всего было 5 процессов: всего они обрабатывали компиляцию, выполнение и печать пользовательских программ. По завершении они передали управление обратно в очередь расписания , которая была на основе приоритета, отдавая предпочтение недавно запущенным процессам и тем, которые были заблокированы из-за I / O.
  • Уровень 5 был пользователем (как отмечает Дейкстра, «не реализовано нами»).

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

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

См. Также
Ссылки
Последняя правка сделана 2021-06-09 05:52:27
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте