Итоги
Итоги
Основные концепции операционных систем
Операционная система представляет собой фундаментальный программный слой, обеспечивающий управление аппаратными ресурсами вычислительного устройства и предоставляющий среду для выполнения прикладных программ. Без операционной системы аппаратное обеспечение остаётся нефункциональным набором компонентов, неспособным интерпретировать пользовательские команды или запускать приложения.
Ключевые функции операционной системы включают управление центральным процессором через планировщик задач, распределение оперативной памяти между процессами с применением виртуальной памяти и страничной адресации, организацию долговременного хранения данных через файловые системы, обеспечение взаимодействия с периферийными устройствами посредством драйверов, реализацию механизмов безопасности и контроля доступа, а также предоставление пользовательского интерфейса в графическом или текстовом формате.
Архитектура операционной системы строится вокруг ядра — центрального компонента, выполняющегося в привилегированном режиме процессора. Ядро реализует базовые абстракции: процессы и потоки как единицы выполнения, виртуальное адресное пространство для изоляции приложений, системные вызовы как интерфейс между пользовательским и привилегированным режимами. Современные операционные системы используют три основные модели организации ядра: монолитную (все компоненты в едином адресном пространстве, пример — Linux), микроядерную (минимальное ядро с вынесением сервисов в пользовательский режим, пример — QNX, KasperskyOS) и гибридную (комбинация подходов, пример — Windows NT, XNU в macOS и iOS).
Классификация операционных систем
Современный ландшафт операционных систем включает несколько основных семейств, каждое со своей историей, архитектурой и областью применения.
Семейство Windows от Microsoft основывается на гибридном ядре Windows NT. Система характеризуется широкой совместимостью с прикладным программным обеспечением, развитой экосистемой игр и офисных приложений, а также интеграцией с корпоративными сервисами через Active Directory. Windows существует в десктопных версиях (Home, Pro, Enterprise), серверных редакциях и специализированных вариантах для консолей Xbox и IoT-устройств.
Семейство Unix и его производные представляют собой исторически важную ветвь операционных систем. Оригинальный Unix от AT&T Bell Labs заложил основы современных концепций: иерархическую файловую систему, концепцию «всё есть файл», процессы с порождением через fork/exec. Современные коммерческие реализации включают Solaris (Oracle), AIX (IBM) и HP-UX. Свободные реализации семейства BSD — FreeBSD, OpenBSD, NetBSD — отличаются высокой стабильностью, продвинутыми сетевыми стеками и использованием в специализированных решениях (например, TrueNAS основан на FreeBSD).
Linux представляет собой ядро с открытым исходным кодом, созданное Линусом Торвальдсом в 1991 году. В сочетании с утилитами проекта GNU и другими компонентами формирует полноценные операционные системы — дистрибутивы. Дистрибутивы классифицируются по пакетным менеджерам (Debian/Ubuntu с APT и форматом deb, Red Hat/Fedora с DNF и форматом rpm, Arch с Pacman), целевой аудитории (новички — Ubuntu, Linux Mint; серверы — RHEL, Debian; разработчики — Arch, Fedora) и философии (стабильность — Debian Stable, новизна — Fedora, минимализм — Alpine Linux). Linux доминирует в серверной инфраструктуре, облачных вычислениях, встраиваемых системах и мобильной платформе Android.
Экосистема Apple использует гибридное ядро XNU (X is Not Unix), объединяющее микроядро Mach с компонентами FreeBSD и фреймворком I/O Kit для драйверов. Это ядро лежит в основе всех операционных систем компании: macOS для компьютеров, iOS и iPadOS для мобильных устройств, watchOS для часов, tvOS для приставок. Системы отличаются высокой степенью интеграции с аппаратной платформой Apple, строгой моделью безопасности (песочницы приложений, обязательная подписка кода, System Integrity Protection) и закрытой экосистемой распространения программ через App Store.
Мобильные операционные системы представлены преимущественно Android и iOS/iPadOS. Android основан на модифицированном ядре Linux с добавлением Hardware Abstraction Layer, среды выполнения ART (Android Runtime) и фреймворка приложений. Система распространяется в виде открытого проекта AOSP (Android Open Source Project), но большинство устройств включают проприетарные компоненты Google Mobile Services. Производители создают собственные оболочки поверх Android: Samsung One UI, Xiaomi MIUI, OnePlus OxygenOS. iOS/iPadOS использует ту же архитектуру XNU, что и macOS, но с интерфейсом на базе UIKit/SwiftUI и строгой изоляцией приложений через песочницы.
Специализированные операционные системы решают узкие задачи. KasperskyOS от Лаборатории Касперского построена на микроядре с мандатным управлением доступом для критически важных систем. QNX и VxWorks применяются в автомобильной промышленности и промышленной автоматизации благодаря детерминированному поведению в реальном времени. Российские разработки включают РОСА МОБАЙЛ и Aurora OS для импортозамещения в мобильном сегменте.
Файловые системы и хранение данных
Файловая система определяет способ организации, хранения и доступа к данным на энергонезависимых носителях. Каждая операционная система поддерживает несколько файловых систем, оптимизированных под разные сценарии использования.
NTFS (New Technology File System) является основной файловой системой для современных версий Windows. Она поддерживает журналирование для защиты от повреждения данных при сбоях питания, контроль доступа через ACL (Access Control Lists), шифрование EFS (Encrypting File System), сжатие файлов, жёсткие и символические ссылки, а также квоты дискового пространства. Максимальный размер файла в NTFS составляет 16 экзабайт минус 1 килобайт.
FAT32 представляет собой устаревшую, но широко совместимую файловую систему. Её ключевое ограничение — максимальный размер файла в 4 гигабайта, что делает её непригодной для современных задач вроде хранения видео высокого разрешения. Преимущество FAT32 — поддержка практически всеми устройствами, включая игровые консоли, медиаплееры и автомобильные системы.
exFAT разработана как преемник FAT32 с устранением ограничения на размер файла. Эта файловая система оптимизирована для флеш-накопителей и внешних дисков, обеспечивая совместимость между Windows, macOS и многими другими платформами без ограничений FAT32.
ext4 (Fourth Extended Filesystem) является стандартной файловой системой для большинства дистрибутивов Linux. Она поддерживает журналирование, отложенное выделение блоков для снижения фрагментации, быстрые проверки файловой системы, а также расширенные атрибуты и ACL. Максимальный размер тома составляет 1 эксабайт, файла — 16 терабайт.
APFS (Apple File System) разработана Apple для оптимизации работы с твердотельными накопителями. Система поддерживает клонирование файлов без дублирования данных, моментальные снимки (snapshots), встроенное шифрование, а также оптимизирована для работы с большими объёмами мелких файлов. APFS является основной файловой системой для современных версий macOS, iOS, iPadOS и tvOS.
ZFS (Zettabyte File System), изначально разработанная для Solaris, представляет собой продвинутую файловую систему с объединёнными возможностями файловой системы и менеджера томов. Ключевые особенности включают сквозную проверку целостности данных через контрольные суммы, копирование при записи (copy-on-write), мгновенные снимки и клонирование, встроенное сжатие и дедупликацию. FreeBSD и некоторые дистрибутивы Linux предоставляют поддержку ZFS.
Управление процессами и памятью
Операционная система реализует многозадачность через управление процессами и потоками. Процесс представляет собой изолированную среду выполнения программы с собственным виртуальным адресным пространством, дескрипторами открытых файлов и другими ресурсами. Поток является лёгковесной единицей выполнения внутри процесса, разделяющей с ним адресное пространство, но обладающей собственным стеком и контекстом выполнения.
Планировщик задач операционной системы распределяет процессорное время между готовыми к выполнению потоками. Современные планировщики используют приоритеты, учитывают историю использования процессора (для интерактивных приложений), поддерживают балансировку нагрузки между ядрами в многопроцессорных системах. В ядре Linux используется Completely Fair Scheduler (CFS), в Windows — приоритетный планировщик с динамической коррекцией приоритетов.
Управление памятью строится на концепции виртуальной памяти. Каждый процесс работает с собственным линейным адресным пространством, независимо от физического расположения данных в оперативной памяти. Трансляция виртуальных адресов в физические осуществляется через многоуровневые таблицы страниц с аппаратной поддержкой блока управления трансляцией (TLB). Механизм подкачки (paging) позволяет перемещать неактивные страницы памяти на диск, освобождая оперативную память для активных задач. Современные операционные системы реализуют защиту памяти через разделение прав доступа к страницам (чтение, запись, выполнение), изоляцию адресных пространств процессов и технологии вроде ASLR (Address Space Layout Randomization) для защиты от эксплойтов.
Безопасность и изоляция
Безопасность операционной системы строится на многоуровневой модели защиты. На аппаратном уровне используются режимы привилегий процессора (режим ядра и пользовательский режим), механизмы защиты памяти (NX bit для предотвращения выполнения кода из области данных), а также современные расширения вроде технологий защиты указателей на процессорах ARM64.
На уровне ядра реализуются механизмы мандатного контроля доступа (MAC), такие как SELinux и AppArmor в Linux, которые накладывают строгие политики даже на процессы с правами суперпользователя. Изоляция приложений достигается через песочницы (sandboxing), ограничивающие доступ приложения к файловой системе, сети и другим ресурсам. В мобильных операционных системах (iOS, Android) песочница является обязательным элементом архитектуры безопасности.
Контроль целостности системы обеспечивается через механизмы безопасной загрузки (Secure Boot в UEFI), верификацию цифровых подписей драйверов и системных компонентов, а также постоянный мониторинг критических структур ядра. Современные операционные системы включают подсистемы аудита для регистрации событий безопасности и анализа инцидентов.