Операционные системы: понятие, функции и виды
Включили компьютер - и сразу «рабочий стол», папки, браузер. Кажется, так и должно быть. На деле между железом и вашей программой сидит посредник. Без него процессор не знает, откуда читать диск, а редактор текста не умеет сам делить память с мессенджером.
Операционная система (ОС) - комплекс программ, который управляет ресурсами компьютера (процессор, память, диски, устройства ввода-вывода) и даёт приложениям удобный способ этими ресурсами пользоваться.
Коротко: ОС прячет «голые» детали железа за понятными действиями вроде «открыть файл» или «вывести на экран». Пользователь видит интерфейс. Программист видит системные вызовы и API. Железо видит потоки команд и прерывания.
Зачем нужна операционная система
Без ОС каждой программе пришлось бы самой уметь работать с конкретной моделью диска, видеокарты, клавиатуры. Сменил накопитель - переписывай полприложения. ОС берёт это на себя.
Вторая задача - порядок, когда программ много. Кто прямо сейчас занимает процессор? Кому хватит оперативной памяти? Кто пишет на диск, чтобы файлы не перемешались? Планировщик, менеджер памяти и файловая система как раз про это.
Третья - безопасность и разграничение. Учётные записи, права на папки, изоляция процессов. Не идеально и не всегда, но база именно здесь.
Основные функции ОС
- Управление процессами - запуск, остановка, переключение задач, приоритеты.
- Управление памятью - выделение ОЗУ, виртуальная память, защита областей разных программ.
- Управление данными и файлами - каталоги, права доступа, чтение и запись.
- Управление устройствами - драйверы, очереди запросов к диску, принтеру, сети.
- Интерфейс с пользователем - командная строка или графическая оболочка.
- Сетевые службы - стек протоколов, доступ в локальную сеть и интернет (в современных ОС это почти стандарт).
В учебнике список могут чуть иначе нарезать, смысл тот же: ресурсы, данные, устройства, человек за монитором.
Ядро, оболочка, драйверы
Ядро (kernel) - центральная часть ОС. Работает в привилегированном режиме, распределяет процессорное время и память, обрабатывает прерывания.
Оболочка (shell) - слой, через который пользователь или скрипт отдаёт команды: командная строка (bash, PowerShell) или GUI.
Драйвер - программа, которая «переводит» запросы ОС на язык конкретного устройства.
Путаница «Windows = только окошки» здесь как раз лечится. Окошки - оболочка. Под ними ядро, службы, драйверы. Можно поставить другую оболочку, ядро останется тем же. На Linux это видно особенно явно: одно ядро, десятки рабочих столов.
Классификация операционных систем
По числу задач и пользователей
- Однозадачные - в каждый момент реально выполняется одна пользовательская задача (исторический пример: ранние системы для микрокомпьютеров).
- Многозадачные - несколько процессов делят процессор за счёт переключения (сегодня норма).
- Однопользовательские / многопользовательские - есть ли одновременная работа разных учёток с разделением прав.
На домашнем ноутбуке Windows формально многозадачная и умеет несколько пользователей, даже если за компьютером обычно сидит один человек.
По назначению
- Десктопные - Windows, macOS, дистрибутивы Linux для ПК.
- Серверные - Windows Server, дистрибутивы Linux под серверы: упор на стабильность, сеть, службы без «красивого стола».
- Мобильные - Android, iOS.
- Встроенные (embedded) и ОС реального времени (RTOS) - в роутерах, станках, автомобильной электронике, где важны предсказуемые сроки реакции.
По способу построения ядра (кратко)
В вузе иногда спрашивают монолитное ядро (много кода в привилегированном режиме, классический Linux) и микроядро (в ядре минимум, остальное - отдельные сервисы). На практике граница размыта: есть гибридные схемы. Для школьного курса достаточно понимать идею: где проходит граница «самое привилегированное ядро / всё остальное».
Файловая система и процессы
ОС показывает диск как дерево каталогов и файлов, хотя на пластинах или ячейках SSD лежат блоки. Файловая система (NTFS, ext4, APFS и др.) задаёт, как хранить имена, размеры, права, куда писать данные.
Процесс - запущенный экземпляр программы с собственной памятью и ресурсами. Один и тот же браузер можно открыть дважды: будет два процесса (или больше, у современных браузеров своя сложная схема). Поток - лёгкая единица выполнения внутри процесса.
Когда программа «зависла», диспетчер задач как раз показывает процессы. Снять задачу = попросить ОС завершить процесс и забрать ресурсы.
Популярные семейства ОС
Windows - доминирует на домашних и офисных ПК. Закрытая коммерческая модель, привычный GUI, огромный зоопарк прикладных программ и игр.
Семейство Unix/Linux - macOS стоит на Darwin (Unix-корни), Linux открыт и дробится на дистрибутивы (Ubuntu, Debian, Fedora…). Серверы, разработка, суперкомпьютеры, Android (ядро Linux + своя надстройка Google).
Мобильные Android и iOS заточены под сенсор, энергосбережение, магазин приложений и песочницу прав.
В контрольной редко требуют «лучший». Чаще просят назвать признаки, функции или привести примеры разных классов.
Загрузка системы (упрощённо)
- Включается питание, отрабатывает прошивка (BIOS/UEFI): проверка железа, поиск загрузочного устройства.
- С диска читается загрузчик.
- Загрузчик поднимает ядро ОС.
- Ядро инициализирует драйверы и службы.
- Стартует оболочка: экран входа, рабочий стол или консоль.
Если компьютер «не доходит до рабочего стола», поломка может сидеть на любом из этих этажей: диск, загрузчик, ядро, драйвер видео, профиль пользователя. Диагностика начинается с вопроса: на каком шаге всё остановилось?
ОС и остальное ПО
Операционная система - часть системного программного обеспечения. Рядом стоят утилиты, драйверы (часто в комплекте с ОС), системы программирования. Браузер, Word, игры - уже прикладное ПО: они опираются на сервисы ОС и сами железом почти не управляют.
Про общую классификацию программ см. статью про программное обеспечение. Про служебные мелкие программы - в материале про утилиты.
Частые ошибки в ответах
- Путают ОС и прикладную программу («Word - операционная система»).
- Считают, что ОС = только графический интерфейс.
- Пишут «Android на Linux» без уточнения: ядро Linux, надстройка другая.
- Смешивают файл и процесс: файл лежит на диске, процесс выполняется в памяти.
- Забывают про драйверы, когда объясняют, почему «принтер не видится» при живой ОС.
Ещё один шаблонный провал: перечислить пять логотипов вместо функций. Преподавателю обычно важнее «что делает», чем «что установлено у меня дома».
Краткая шпаргалка
- ОС управляет ресурсами и даёт среду для приложений.
- Ядро + оболочка + драйверы - базовая тройка.
- Смотрите признаки: задачи, пользователи, назначение (ПК, сервер, мобильная, встроенная).
- Файл на диске ≠ процесс в памяти.
- ОС - системное ПО; браузер и редакторы - прикладное.
Разобрали зачем ОС нужна, из чего состоит и как её классифицируют. Для закрепления сравните диспетчер задач Windows и монитор системы в Linux: одни и те же идеи (процессы, память, нагрузка CPU), разная оболочка.