Функциональные компоненты операционных систем

YOUTUBE · 29.11.2025 03:03

Ключевые темы и таймкоды

Функциональные компоненты операционных систем

0:00
  • Операционная система состоит из различных модулей, исполняемых файлов, библиотек и т.д.
  • Структурированный подход облегчает разработку и поиск ошибок.

Подсистема управления процессами и потоками

1:14
  • Процесс - программа в операционной системе, исполняемый код в оперативной памяти.
  • Поток - динамическая часть процесса, набор команд, исполняемых на процессоре.
  • Подсистема управления процессами и потоками: создание процессов и потоков, хранение информации, планирование, синхронизация, взаимодействие процессов и потоков, переключение контекста процессов.

Устранение взаимоблокировок процессов и потоков

12:44
  • Взаимоблокировка - ситуация, когда два процесса удерживают ресурсы и не могут продолжать работу.
  • Борьба с взаимоблокировками - отдельная тема для обсуждения.

Подсистема управления памятью

13:42
  • Подсистема управления памятью отвечает за учет свободных и занятых участков памяти, размещение задач в памяти, выделение памяти для новых процессов и потоков, освобождение памяти при завершении процессов и потоков, защиту адресных пространств процессов и потоков, и поддержку виртуальной памяти.

Виртуальная память

18:24
  • Виртуальная память - это часть памяти, которая физически отсутствует, но временно хранится на жестком диске.
  • Виртуальная память позволяет программисту использовать больше памяти, чем физически доступно.
  • Виртуальная память организована в виде страничной памяти, где вся виртуальная память разбивается на виртуальные страницы, а физическая память развивается на физические страницы.

Сегментная память

22:51
  • Сегментная память - это независимые адресные пространства, которые могут иметь разный размер и изменяться независимо друг от друга.
  • Операционная система облегчает жизнь программиста, позволяя процессам иметь несколько сегментов, которые растут и сокращаются независимо друг от друга.

Подсистема ввода-вывода

24:09
  • Подсистема ввода-вывода обеспечивает взаимодействие с внешними устройствами, такими как клавиатура, мышь и принтер.
  • Драйверы устройств предоставляют стандартные программные интерфейсы для работы с различными типами устройств.

Классификация устройств

31:14
  • Устройства могут быть классифицированы по типу: символьные (клавиатура, мышь) и блочные (жесткий диск, флешка).
  • Операционная система должна предоставлять стандартные функции для работы с устройствами каждого типа.

Поддержка стандартных устройств

32:58
  • Стандартные устройства, такие как клавиатура и мышь, имеют свои драйверы, которые реализуют минимальный функционал.
  • Драйверы для других устройств, таких как мониторы и сетевые карты, также включены в операционную систему.

Файловые системы и их функции

33:52
  • Файловые системы обеспечивают поддержку стандартных устройств, таких как клавиатура и мышь, для работы с операционной системой.
  • Файловые системы поддерживают различные типы файлов, включая файлы произвольного доступа и последовательного доступа, структурированные и неструктурированные файлы.

Иерархическая организация файлов и каталогов

39:47
  • Файловые системы могут быть многоуровневыми, с корневым каталогом и вложенными каталогами для каждого пользователя.
  • Файловые системы также поддерживают символьные имена файлов и каталогов, которые могут быть разными в зависимости от файловой системы.

Хранение атрибутов файлов

45:37
  • Файловые системы определяют набор поддерживаемых атрибутов файлов, таких как права доступа, и как они хранятся.
  • Набор атрибутов может быть разным в разных файловых системах, и их поддержка также может варьироваться.

Файловые системы

46:34
  • Файловые системы поддерживают непротиворечивость, исправляют ошибки и ускоряют доступ к информации.
  • Журналирование и кэширование используются для ускорения доступа к файлам.

Интерфейс прикладного программирования (API)

53:37
  • API - набор функций, предоставляемых операционной системой для программиста.
  • Обращение к внешним устройствам реализовано через системные вызовы и API.

Программная совместимость и стандарты

57:09
  • Проблема совместимости операционных систем и программ.
  • Операционная система может поддерживать несколько программных сред, например, Windows поддерживает DOS и POSIX.
  • Программы, соответствующие стандарту POSIX, могут запускаться на любой юникс-подобной операционной системе.

Пользовательский интерфейс

59:59
  • Пользовательский интерфейс - это интерфейс, который видит пользователь при работе с операционной системой.
  • Существуют два вида интерфейсов: текстовый и графический.

Графические интерфейсы

1:01:43
  • Оконный интерфейс (Windows, Linux) и активите интерфейс (смартфоны).
  • В Linux основной интерфейс - командный, графический интерфейс устанавливается дополнительно.

Сетевая подсистема

1:06:01
  • Сетевая подсистема включает стек коммуникационных протоколов, поддержку сетевых файловых систем и примитивов сетевого взаимодействия.
  • Служба каталогов - сложная сетевая структура для удобного администрирования ресурсов в сети.

Идентификация и аутентификация

1:10:24
  • В операционных системах есть четыре основных аспекта безопасности: идентификация, аутентификация, разделение доступа и устойчивость.
  • Идентификация - это процесс, когда пользователь заявляет о своей личности системе, обычно на основе логина и пароля.
  • Аутентификация - это подтверждение того, что пользователь действительно является тем, за кого себя выдает.
  • Разделение доступа - это разделение прав между пользователями с разными уровнями привилегий.
  • Устойчивость - это способность системы восстанавливаться после сбоев.

Журналы аудита и резервные копии

1:15:39
  • Журналы аудита - это записи важных событий в системе, которые могут помочь в анализе безопасности и расследовании атак.
  • Резервные копии - это создание образов состояния операционной системы для восстановления после сбоев.
  • Важно уметь правильно пользоваться этими инструментами для обеспечения безопасности.