Операционная система
XalionСовременные компьютеры состоят из трёх связанных слоёв:
микроархитектура ↔ ISA ↔ операционная система.
Про архитектуру, она же железо, и ISA мы уже написали пятнадцать статей.
Без понимания связи железа и ISA будет трудно понять работу ОС.
Статья про архитектуру и тракт данных.
Обобщающая статья про ISA.
Для программистов ОС — поток команд ISA и команд ОС, они интерпретируются микропрограммой в ПЗУ.
Микропрограмма определяет тип команды и выполняет. Она находится в ПЗУ вместе с BIOS. ОС запускается после успешной проверки BIOS.
О микросхеме ПЗУ и BIOS мы писали в статье о материнской плате.
Для пользователя ОС — видимый и невидимый интерфейс для работы за компьютером. Иконки, курсоры, анимации, шрифты и скрытые за ними механизмы — пользовательский интерфейс.
Пользовательскую часть называют UI — User Interface.
ОС состоит из команд ISA и системных вызовов.
Системные вызовы — вызовы функций ядра ОС. Они занимаются операциями ввода-вывода в файлы и из файлов, чтением и записью данных на устройства ввода-вывода и управлением процессами в ОС.
Системные вызовы складываются в набор команд.
Такой набор называется API — Application Programming Interface.
Пока мы работаем со статьей в текстовом редакторе, он использует API операционной системы для работы с текстом в файле.
Команды ISA выполняются напрямую микропрограммой.
Системные вызовы обрабатывает ядро ОС с помощью команд ISA.
Операционки настраиваются под конкретные задачи, но основа любой ОС состоит из пяти пунктов.
- Ядро. Запускает все действия, организует работу других программ и работу устройств и контролирует обращения программ к устройствам компьютера.
- Командный модуль. Принимает запросы от пользователя и исполняет их.
- Набор драйверов. Они помогают ОС работать с внутренними и внешними устройствами ПК.
- Сервисные утилиты. Утилиты проверяют устройства и состояние ПК, или работают как дополнение к основному софту.
Встроенный антивирус — сервисная утилита. - Оболочка — графический интерфейс или shell.
Графический интерфейс — иконки, окна, анимации и шрифты.
Shell — интерпретатор текстовых команд в команды ОС, все действия прописываются в терминал.
Для конкретных задач существуют конкретные ОС с особенным функционалом, но ниже написаны девять основных функций любой ОС.
- Выполняет команды программ c помощью системных вызовов.
- Загружает программы в оперативную память и запускает по желанию пользователя.
- Поддерживает графический интерфейс.
- Разграничивает доступ программ к ресурсам компьютера.
- Даёт нескольким пользователям работать на одном компьютере.
- Организует работу нескольких программ одновременно.
- Управляет основной и внешней памятью.
- Управляет процессами программ.
- Управляет внешними устройствами.