Операционные системы ИСиТ. Лекция 1 v.1.

YOUTUBE · 01.12.2025 03:13

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

Введение в курс операционных систем

0:00
  • Обсуждение сложности построения курса операционных систем из-за их complexity.
  • Проблема выбора начала изучения: процессы, память, ядро.
  • План курса: спиральное движение от общих понятий к деталям.

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

2:37
  • Операционная система — базовое системное программное обеспечение, управляющее работой вычислительного узла.
  • Посредник между аппаратным обеспечением, прикладным ПО и пользователями.
  • Важность ОС для работы прикладного ПО.

Роль ОС в распределении ресурсов

4:37
  • Множество приложений используют общие ресурсы: процессор, память, хранилища.
  • Необходимость распределения ресурсов для эффективной работы ПО.
  • Многопользовательские системы требуют разграничения доступа к ресурсам.

Этапы развития операционных систем

7:37
  • Исследователи выделяют четыре или пять этапов развития ОС.
  • Первый этап: архитектура фон Неймана.

Архитектура фон Неймана

9:19
  • Основные компоненты: центральный процессор, оперативная память, устройство ввода-вывода, постоянное запоминающее устройство.
  • Принципы: однородность памяти, адресность, произвольный доступ, программное управление.

Принципы архитектуры фон Неймана

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

Принцип работы программы

12:19
  • Программа начинается с точки входа.
  • На каждом такте выбирается следующая команда для исполнения.
  • Команда может быть точкой ветвления: проверка условия и переход в другую область кода.

Принцип кодирования

13:19
  • Используется двоичное кодирование для кодов команд и данных.
  • Первый этап эволюции операционных систем — программы-диспетчеры.

Повторное использование кода

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

Система управления

18:15
  • Необходимость системы управления для идентификации адресов подпрограмм.
  • Передача параметров подпрограммам.
  • Создание специального программного обеспечения для автоматизации загрузки и линковки.

Оптимизация взаимодействия с устройствами

20:15
  • Увеличение размеров обрабатываемых данных.
  • Ограниченность оперативной памяти и необходимость оптимизации взаимодействия с долговременной памятью.
  • Идея подгрузки данных по мере необходимости и потоковой обработки.

Синхронизация операций

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

Параллельный поток данных

24:00
  • Идея создания параллельного потока для перемещения данных между хранилищем и оперативной памятью.
  • Введение аппаратного контроллера для управления подкачкой и откачкой данных.
  • Проблема прогнозирования времени выполнения операций из-за различий в технологиях хранилищ и оперативной памяти.

Синхронизация работы контроллера

25:57
  • Необходимость синхронизации работы контроллера с центральным процессором.
  • Механизм прерываний для управления передачей данных между контроллером и процессором.
  • Прерывание как сигнал от контроллера к процессору о завершении операции.

Механизм прерываний

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

Спулинг

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

Однопрограммная пакетная обработка

30:57
  • Необходимость структурирования программного обеспечения в пакеты для эффективного выполнения.
  • Пакеты включают программные компоненты и структуры данных.
  • Загрузка и выполнение пакетов последовательно, без остановки.

Очередь пакетов

34:54
  • Использование очереди для управления пакетами в памяти.
  • Возможность вызова любого пакета из очереди после завершения обработки предыдущего.
  • Подчёркивание однопрограммного выполнения пакетов без параллелизма.

Управление очередью пакетов

35:54
  • Пакеты могут иметь разных владельцев и требовать управления очередью.
  • Необходимо вводить приоритизацию для ускорения выполнения некоторых пакетов.
  • Логика выполнения пакетов может зависеть от их характеристик.

Пример из супермаркета

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

Механизмы управления очередью

38:54
  • Управление очередью позволяет повторно использовать идентификаторы и завершать сессии взаимодействия.
  • Эта функция реализуется операционными системами для управления доступом к ресурсам, включая время центрального процесса.

Задачи первого этапа

39:54
  • Повторное использование кода, автоматизация загрузки и линковки.
  • Оптимизация взаимодействия с устройствами ввода-вывода, появление пулинга и прерываний ввода-вывода.

Мультипрограммные операционные системы

40:54
  • Программы имеют разный профиль использования ресурсов, например, векторная и растровая графика.
  • Растровая графика требует быстрой обработки больших объёмов данных, а векторная — быстрых вычислений.
  • Вычислительный узел должен быть универсальным для разных задач.

Параллельная работа программ

42:50
  • Параллельная работа нескольких программ позволяет эффективнее использовать ресурсы.
  • Возникают проблемы с переключением между программами, разделением памяти и правами доступа.
  • Мультипрограммные ОС решают эти проблемы, становясь универсальным интерфейсом между железом, ресурсами, ПО и пользователями.

Введение в мультипрограммные ОС

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