Перейти к основному содержимому

2.01. Операционная система

Разработчику Архитектору Инженеру

Что такое ОС?

Операционная система – самая главная программа, которая управляет всеми процессами в компьютере, обеспечивая работу оборудования, запуск приложений и взаимодействие пользователя с техникой. Без ОС компьютер – просто набор «железа», которое не понимает команд. Именно операционная система, словно душа, «оживляет» компьютер, превращая его в полезный инструмент.

ОС выполняет ключевые задачи:

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

Как работает ОС?

ОС – посредник между пользователем, программами и железом, и состоит из следующих компонентов:

  • Ядро (Kernel) – сердце ОС, отвечает за базовые операции: управление памятью, процессами, драйверами;
  • Драйверы – программы для работы с устройствами (видеокарта, принтер, сетевая карта);
  • Интерфейс – позволяет пользователю взаимодействовать с системой, к примеру, вся возможность работать через графический интерфейс в Windows. Интерфейс может быть графическим (GUI – Graphic User Interface) и командным (Command Line Interface).
  • Системные службы – фоновые процессы (обновления, резервное копирование, сетевое соединение);
  • Системные утилиты – программы, которые позволяют выполнять базовые операции и обслуживать систему (форматирование диска, диспетчер задач, терминалы, архиваторы, антивирусы);
  • Файловая система – система связи с носителями информации, использующая API для доступа к файлам (NTFS, FAT32, ext4).

Службы – фоновые программы, которые работают без участия пользователя. Например, сетевые службы DHCP, DNS, службы печати для управления принтерами, или планировщик задач для автозапуска программ.

Файловая система определяет способ хранения данных на диске:

  • FAT32 — старая, поддерживается везде, но не работает с файлами >4 ГБ.
  • NTFS (Windows) — поддерживает шифрование, большие файлы, права доступа.
  • ext4 (Linux) — журналируемая, устойчивая к сбоям.
  • APFS (macOS) — оптимизирована для SSD, быстрая работа с файлами.
  • exFAT — для флешек и внешних дисков (поддержка больших файлов).

ОС контролирует процессы, при помощи встроенных менеджеров. Можно выделить четыре основных вида:

  • Менеджер процессов распределяет ресурсы CPU и RAM между программами;
  • Планировщик задач решает, какая программа будет выполняться в определенный момент;
  • Менеджер памяти следит, чтобы приложения не «съели» всю оперативную память;
  • Диспетчер устройств управляет подключенным оборудованием.

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

image.png

Архитектура процессоров бывает нескольких видов:

  1. x86 – старая архитектура с разрядностью в 32 бита. Поддерживает меньше ОЗУ (до 4 ГБ), медленная, и встречается на старых моделях процессоров вроде Intel Pentium или AMD Athlon.
  2. x64 – современная версия x86, с разрядностью в 64 бита, сейчас используется почти на каждом ПК, сервере или ноутбуке, где процессоры линейки Intel Core i3/i5/i7/i9 или AMD Ryzen.
  3. ARM64 – более энергоэффективная архитектура с разрядностью в 64 бита, но используется на смартфонах, планшетах, Apple M1/M2, и на некоторых серверах.

Важно: программы собираются под определённую архитектуру, и не все поддерживают совместимость с разными версиями, к примеру, некоторые новые программы не запустятся на x86 без «танцев с бубном».


Возможности ОС

Операционная система — это базовый программный уровень, управляющий аппаратными ресурсами компьютера и предоставляющий интерфейсы для взаимодействия с ними. Она служит мостом между пользователем или приложением и «железом», обеспечивая структурированный доступ к вычислительным мощностям. Мы уже вкратце упомянули некоторые задачи ОС.

Но что же можно делать при помощи ОС?

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