Что такое операционная система?
Операционная система (ОС) представляет собой программное обеспечение, которое управляет оборудованием компьютера и запускает все остальные программы: распределяет между ними процессор, память и хранилище и даёт им файлы, сеть, ввод и вывод. Windows, macOS, Linux, Android и iOS являются операционными системами.
Обновлено 24 сентября 2026 г.
Нажми клавишу, пока открыт текстовый редактор. Клавиатура отправляет электрический сигнал, и его считывает драйвер внутри операционной системы. Операционная система определяет, какое окно сейчас впереди, передаёт нажатие этой программе, и редактор рисует букву. Сам редактор с клавиатурой вообще не общается. Сохранение файла, воспроизведение звука и загрузка веб-страницы устроены так же: программы просят, а операционная система выполняет работу с оборудованием.
Что делает операционная система
У операционной системы несколько задач, и каждая программа на компьютере зависит от всех них:
- Запуск программ (управление процессами). На ноутбуке с 8 ядрами процессора может работать несколько сотен программ и фоновых служб. Планировщик ОС даёт каждой короткие отрезки времени на ядре и переключается много раз в секунду, поэтому кажется, что все они работают одновременно.
- Управление памятью. Каждая программа получает собственное закрытое адресное пространство. Когда программа читает память, которая ей не принадлежит, ОС её останавливает; в C это знаменитая ошибка сегментации.
- Хранение файлов. ОС превращает диск, который хранит только пронумерованные блоки байтов, в папки и файлы с именами: хрестоматийный пример абстракции. Этот формат называется файловой системой: NTFS в Windows, APFS в macOS, ext4 в большинстве систем Linux.
- Работа с оборудованием. Драйверы служат переводчиками между ОС и каждым устройством: видеокартой, чипом Wi-Fi, принтером, веб-камерой.
- Сеть. ОС реализует TCP/IP, поэтому программа может открыть соединение с сервером, ничего не зная о сетевой карте.
- Безопасность и пользователи. Учётные записи, пароли и права доступа к файлам определяют, кто что может читать или менять.
- Пользовательский интерфейс. Рабочий стол, окна и панель задач или текстовая оболочка вроде Bash или PowerShell.
Ядро и системные вызовы
Сердцем операционной системы является ядро. Оно работает с полным контролем над оборудованием, а обычные программы работают в ограниченном режиме и не могут обращаться к устройствам напрямую. Когда программе что-то нужно, она делает системный вызов: запрос к ядру вроде «открой этот файл», «отправь эти байты» или «запусти новый процесс».
Обычно ты не видишь системных вызовов, потому что язык их оборачивает. open() и print() в Python в итоге обращаются к ядру. Модуль os позволяет делать такие вызовы почти напрямую:
Идентификатор процесса и число ядер зависят от компьютера; последняя строка всегда выводит File size: 23 bytes. os.open возвращает файловый дескриптор, небольшое число, по которому ядро отслеживает открытый файл, а os.write отправляет в него 23 байта. В C те же запросы выглядят почти так же, потому что эти функции являются тонкими обёртками над системными вызовами:
int fd = open("note.txt", O_WRONLY | O_CREAT | O_TRUNC, 0644);
write(fd, "saved by a system call\n", 23);
close(fd);
В Linux можно посмотреть все системные вызовы программы командой strace python3 script.py.
Примеры и виды операционных систем
| Операционная система | Где работает | Ядро |
|---|---|---|
| Windows 11 | Большинство настольных ПК и ноутбуков | Windows NT |
| macOS | Компьютеры Apple Mac | XNU (Darwin) |
| Linux (Ubuntu, Fedora, Debian и другие) | Большинство серверов и облачных машин, часть настольных компьютеров | Linux |
| Android | Большинство смартфонов в мире | Linux |
| iOS | iPhone | XNU (Darwin) |
| ChromeOS | Хромбуки | Linux |
Кроме этих систем общего назначения есть операционные системы реального времени вроде FreeRTOS и Zephyr, которые работают на микроконтроллерах в бытовой технике, датчиках и промышленных машинах и гарантируют ответ за фиксированное время. Многие небольшие устройства работают на встраиваемых системах, созданных для одной задачи.
Таблица показывает, что одно ядро может работать в очень разных продуктах. Android и ChromeOS используют ядро Linux со своим программным обеспечением поверх, а iOS делит ядро с macOS.
Почему операционная система важна в программировании
Скомпилированная программа собирается для одной операционной системы. Файл .exe из Windows не запустится нативно в Linux, даже на том же компьютере, потому что отличаются формат файла и системные вызовы. Поэтому на страницах загрузки предлагают отдельные версии, и поэтому существуют среды выполнения вроде JVM, Node.js и CPython: их собирают по одному разу для каждой операционной системы, чтобы твоему коду этого делать не пришлось. Смотри среда выполнения.
Мелкие различия всё равно просачиваются. Запусти этот код и сравни с другом на другой системе:
В Linux и macOS он выводит:
Path separator: '/'
Line ending: '\n'
projects/notes/todo.txt
В Windows разделитель равен '\\' (одна обратная косая черта), конец строки равен '\r\n', а путь становится projects\notes\todo.txt. Именно os.path.join (или pathlib) вместо ручного / позволяет скрипту работать во всех трёх системах.
Распространённые заблуждения
- «Linux является операционной системой». Строго говоря, Linux является ядром. Дистрибутив Linux вроде Ubuntu добавляет оболочку, системные утилиты, менеджер пакетов и обычно рабочий стол, и получается полная операционная система. В обычной речи и то и другое называют Linux.
- «BIOS является частью операционной системы». Прошивка BIOS или UEFI находится на материнской плате. Она проверяет оборудование, затем загружает операционную систему с диска, и на этом её основная работа закончена.
- «Рабочий стол и есть операционная система». Рабочий стол является одной из программ поверх ядра. Серверы обычно работают вообще без рабочего стола, и управляют ими только через текстовую оболочку.
- «Приложения общаются с оборудованием». Обычным программам это запрещено. Каждое чтение файла, каждый сетевой пакет и каждый пиксель на экране проходят через операционную систему, поэтому упавшее приложение обычно не тянет за собой весь компьютер.
Что изучить дальше
Операционная система является нижним слоем; среда выполнения находится между ней и твоим кодом. Защита памяти порождает ошибку сегментации, а на странице байт объясняется единица, в которой ОС измеряет файлы и память. Чтобы управлять операционной системой из текстовой оболочки, попробуй курс по терминалу.
Часто задаваемые вопросы
Может ли компьютер работать без операционной системы?
Какие 5 операционных систем самые распространённые?
Какие бывают основные виды операционных систем?
Как узнать, какая у меня операционная система?
winver. На Mac открой меню Apple и выбери «Об этом Mac». В Linux выполни в терминале cat /etc/os-release, а uname -r покажет версию ядра.