Определение операционной системы
Операционная система (ОС) - это комплекс программ, который:
- Управляет аппаратными ресурсами компьютера (процессор, память, устройства ввода/вывода)
- Предоставляет интерфейс между пользователем/приложениями и железом
- Обеспечивает безопасность и изоляцию процессов
- Организует работу с файлами и данными
Ключевые функции ОС:
- Мультиплексирование ресурсов (разделение CPU, памяти между процессами)
- Абстракция оборудования (драйверы устройств)
- Защита и безопасность (разграничение прав доступа)
- Обеспечение отказоустойчивости (обработка ошибок)
Классификация ОС по назначению
1. Универсальные
Примеры: Windows, Linux, macOS
Характеристики:
- Поддержка широкого спектра приложений
- Многозадачность и многопользовательский режим
- Развитые UI подсистемы
// Пример системного вызова в Linux (создание процесса)
pid_t pid = fork();
if (pid == 0) {
// Дочерний процесс
execl("/bin/ls", "ls", "-l", NULL);
}
2. Системы реального времени
Примеры: QNX, VxWorks, FreeRTOS
Характеристики:
- Гарантированное время отклика
- Детерминированное поведение
- Приоритетная обработка критических событий
Типы:
- Жесткие (Hard RTOS) - недопустимы задержки (медицина, авионика)
- Мягкие (Soft RTOS) - временные задержки допустимы (мультимедиа)
3. Встраиваемые системы
Примеры: Embedded Linux, Windows IoT Core
Характеристики:
- Оптимизация под конкретное железо
- Минимальный footprint (размер образа)
- Работа без жесткого диска (загрузка из ПЗУ)
// Типичный код для embedded-устройства (регистры GPIO)
#define GPIO_BASE 0x40020000
volatile uint32_t* gpio = (uint32_t*)GPIO_BASE;
*gpio |= (1 << 3); // Установка 3-го бита
4. Серверные ОС
Примеры: Windows Server, RHEL, Ubuntu Server
Характеристики:
- Оптимизация под высокие нагрузки
- Поддержка кластеризации
- Расширенные сетевые возможности
- Отказоустойчивость (hot-swap компонентов)
5. Мобильные ОС
Примеры: Android, iOS
Особенности:
- Энергоэффективность
- Тач-интерфейсы
- Sandboxing приложений
- Датчики и сенсоры
6. Специализированные ОС
- Суперкомпьютерные (например, CNK на IBM Blue Gene)
- Банковские (спец. защита транзакций)
- Автомобильные (AUTOSAR, QNX для бортовых компьютеров)
Эволюция архитектур ОС
- Монолитные (Linux, Windows) - все компоненты в одном адресном пространстве
- Микроядерные (QNX, MINIX) - минимальное ядро, остальное в user-space
- Гибридные (Windows NT, macOS) - компромиссный подход
Резюмируем
-
ОС - это посредник между железом и софтом, обеспечивающий:
- Эффективное использование ресурсов
- Удобство программирования (через API)
- Безопасность и стабильность
-
Основные типы ОС по назначению:
- Универсальные (для ПК/ноутбуков)
- Серверные (для ЦОД)
- Встраиваемые (для IoT)
- RTOS (для критичных систем)
- Мобильные (для смартфонов)
Выбор ОС определяется требованиями к:
- Времени отклика (real-time vs general-purpose)
- Надежности (TCO и uptime)
- Экосистеме (доступное ПО и драйверы)