ФЭНДОМ


Существует немалое количество определений операционной системы, но все они имеют определённые недостатки. Возьмём, например, определение с сайта Wikipedia:

Операцио́нная систе́ма (OC)


Базовый комплекс компьютерных программ, обеспечивающий управление аппаратными средствами компьютера, работу с файлами, ввод и вывод данных, а также выполнение прикладных программ.

Wikipedia

Это определение не отражает того факта, что ОС обеспечивает взаимодействие пользователя с компьютером, и в частности, запуск прикладных программ по команде человека. Не нашло явного отражения и то обстоятельство, что ОС не только управляет работой аппаратуры, но ещё и разделяет ресурсы между программами и самой системой, причём выполняет свою работу комплексно, стараясь удовлетворить множеству зачастую противоречивых требований одновременно. В результате, несмотря на кажущуюся очевидность и простоту выполняемых операционной системой функций, даже простейшие ОС вроде MS DOS являются весьма сложными программными комплексами. Кроме того, в большинстве современных систем бывает сложно провести границу между собственно операционной системой и вспомогательными программами, обеспечивающими её обслуживание и упрощающими работу.

Для разработчика, вероятно, будет лучше дать более развёрнутое определение операционной системы как программного комплекса, включающего:

  • ядро, являющееся важнейшим компонентом ОС, предоставляющее прочим компонентам системы и прикладным программам набор системных сервисов и напрямую управляющее аппаратными функциями вычислительной системы (в частности, обеспечивающее для прочих компонентов и программ выполнение операций ввода-вывода);
  • модули-резиденты — постоянно находящиеся в памяти ЭВМ программы, выполняющие функции взаимодействия с периферией, обслуживания запросов и т. д.
  • оболочку, которая обеспечивает работу пользователя с вычислительной системой;
  • программы обслуживания, или утилиты, выполняющие вспомогательные функции по управлению работой и обслуживанию операционной системы (редактирование файлов настройки, проверку дисков и т.д.).

Здесь следует сделать два замечания. Во-первых, термин ядро в данном случае определяет набор выполняемых этим компонентом функций, а не его устройство и архитектуру. С архитектурной точки зрения ядро может быть и классическим монолитным ядром, и микроядром вместе с системными процессами, выполняющими в микроядерной системе те функции, которые в случае монолитной ОС входят непосредственно в состав монолитного ядра. То же самое относится и к оболочке, и к программам обслуживания: это могут быть и простые инструменты командной строки, и сложные графические программы, а может и вообще не быть.

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

В большинстве случаев, говоря о разработке ОС, имеется в виду реализация функций, входящих в состав ядра из приведённого выше определения.

Обнаружено использование расширения AdBlock.


Викия — это свободный ресурс, который существует и развивается за счёт рекламы. Для блокирующих рекламу пользователей мы предоставляем модифицированную версию сайта.

Викия не будет доступна для последующих модификаций. Если вы желаете продолжать работать со страницей, то, пожалуйста, отключите расширение для блокировки рекламы.