Основы UNIX

Определение операционной системы

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

Ресурсы, которыми управляет ОС

  • Процессорное время
  • Оперативная память
  • Устройства ввода/вывода
  • Сетевые интерфейсы
  • Программы и данные

Ресурсы делятся на выгружаемые (можно отнять у процесса, например процессорное время) и невыгружаемые (нельзя отнять, например принтер во время печати).

Функции ОС

  • Распределение и перераспределение оперативной памяти
  • Управление устройствами ввода/вывода
  • Управление процессами и потоками
  • Распределение внешней памяти
  • Обработка прерываний
  • Учёт и контроль
  • Предоставление интерфейса для доступа к ресурсам
  • Предоставление инструментов для разработки ПО
Функции 1–6 предоставляет ядро ОС.

Основные характеристики UNIX-подобных ОС

Характеристика Описание
Разделение времени Многозадачность на основе принципов разделения времени
Унификация ресурсов Все ресурсы (файлы, устройства, потоки) представлены как файлы
Ориентация на сеть Изначально разрабатывалась с поддержкой распределённых вычислений
Мобильность Легко адаптируется для разных аппаратных платформ
Инструментальность Богатый набор встроенных утилит

Проблемы UNIX-подобных систем

  • Отсутствие реального времени — программы не могут выполняться с жёсткими временными ограничениями нативно.
  • Снижение эффективности при одновременной обработке большого числа однотипных задач.
  • Слабая устойчивость к аппаратным сбоям — частично решается механизмами отказоустойчивости.

Структура Linux

Ядро

Ядро управляет всеми основными функциями системы и отвечает за взаимодействие аппаратных и программных компонентов.

Программы в оперативной памяти

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

Состояния операционной системы

Состояние Описание
Система Выполняются системные вызовы или обработка прерываний
Процесс Выполняются команды пользовательского процесса
Ожидание ОС ожидает появления готовых к выполнению процессов

Состояния процесса

У каждого процесса может быть одно из трёх состояний:

  • Выполняется — процессор выделен процессу прямо сейчас.
  • Готов — процесс ждёт, когда система предоставит ему процессор.
  • Блокирован — процесс ждёт завершения ввода/вывода или наступления события.
Квант времени в UNIX — 100 мс (параметр можно изменить). Чем меньше номер процесса, тем выше его приоритет.

Принципы современных ОС

  • Единообразное именование устройств — все устройства имеют единообразные имена.
  • Многослойность — архитектура разбита на изолированные функциональные модули.
  • Независимость устройств — устройства функционируют независимо друг от друга.
  • Стандартизированное взаимодействие — взаимодействие между устройствами и системой стандартизировано.

Дисциплины линий передачи данных

Режим Описание Пример
Симплекс Передача только в одном направлении Радиовещание
Полудуплекс В обоих направлениях, но не одновременно Рация
Дуплекс Одновременно в обоих направлениях Телефон, Ethernet
← Назад к списку тем