Современные операционные системы. Лекция №1

Содержание

Слайд 2

Современные операционные системы Лекция №1

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

Лекция №1

Слайд 3

Слайд 4

Слайд 5

Слайд 6

Слайд 7

Слайд 8

Слайд 9

Слайд 10

Программное обеспечение Прикладное ПО Системное ПО Служебные программы (утилиты) Операционная система Интерфейс пользователя Ядро операционной системы

Программное обеспечение

Прикладное ПО

Системное ПО

Служебные программы (утилиты)

Операционная система

Интерфейс пользователя

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

Слайд 11

Говард Эйкин

Говард Эйкин

Слайд 12

Слайд 13

Слайд 14

Слайд 15

Слайд 16

Слайд 17

Слайд 18

Архитектура компьютера Интерфейс Устройства ввода Центральный процессор Шина данных Память Интерфейс Устройства вывода

Архитектура компьютера

Интерфейс

Устройства ввода

Центральный процессор

Шина данных

Память

Интерфейс

Устройства вывода

Слайд 19

Контроллер шины ПРОЦЕССОР Регистры АЛУ ПАМЯТЬ ОЗУ I/O I/O I/O Регистр

Контроллер шины

ПРОЦЕССОР

Регистры

АЛУ

ПАМЯТЬ ОЗУ

I/O

I/O

I/O

Регистр шины

ФЛАГИ

ТГ

Контроллер прерываний

Считывание

Выполнение

Запись

Считывание

Выполнение

Запись

СИСТЕМНАЯ ШИНА

Слайд 20

Слайд 21

Основные группы команд Команды пересылки данных Арифметические команды Логические команды Команды

Основные группы команд

Команды пересылки данных

Арифметические команды

Логические команды

Команды переходов

Загрузка (запись) содержимого памяти

во внутренние регистры процессора
Сохранение в памяти содержимого внутренних регистров
Копирование данных из одной области в другую
Запись в устройство ввода/вывода и чтение из устройства ввода/вывода

Арифметика с константой
Команды операций с фиксированной точкой
Команды операций с плавающей точкой
Команды очистки
Команды инкремента и декремента
Команды сравнения

Логическое И, ИЛИ, НЕ
Искл. ИЛИ (сложение по модулю 2)
Логические, арифметические, циклические сдвиги
Установка и очистка флагов регистров состояния процессора

Слайд 22

Что такое операционная система? Операционная система - программная система, которая управляет

Что такое операционная система?

Операционная система - программная система, которая управляет ресурсами компьютера,

а следовательно осуществляет доступ к этим ресурсам, управляет процессами, вводит и реализует различные абстракции, выполняет другие системные функции.

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

Слайд 23

Основные понятия операционной системы Процессы и потоки - программы, что находятся

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

Процессы и потоки - программы, что находятся в

оперативной памяти и обрабатываются процессором. Другими словами - исполнение программы.
Файлы и файловые системы - некоторая структура данных и связи между этими структурами, универсальный системный интерфейс.
Адресное пространство и память - распределение и управление памятью.
Сокеты, протоколы, устройства - интерфейсы взаимодействия.

*Интерфейс — набор правил и средств взаимодействия двух систем. Иными словами способ взаимодействия.

Слайд 24

Функции операционной системы Управление ресурсами и процессами, а также совместное использование

Функции операционной системы

Управление ресурсами и процессами, а также совместное использование вычислительных

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

2. Абстракция оборудования для удобства и переносимости
(то есть реализация единого интерфейса для разного, но схожего по функциям оборудования)

3. Изоляция ошибок приложений друг от друга (и от ядра ОС)

4. Переносимость данных между приложениями (процессами)
Inter Process Communication (IPC) — Механизм межпроцессного взаимодействия
файлы и файловая система

Управление процессами

Управление памятью

Управление устройствами

Реализация многозадачности

Пользовательская оболочка

Слайд 25

App - пользователь ресурсов; Hardware - оборудование; Proc - Процессор; Memory

App - пользователь ресурсов;
Hardware - оборудование;
Proc - Процессор;
Memory - Оперативная память;
I/O

- Устройства ввода/вывода;
Kernel space — адресное пространство ядра ОС, в котором процессы имеют привилегированный доступ к ресурсам компьютера и другим процессам.
User space — адресное пространство, отведённое для пользовательских процессов (приложений), то есть не имеющих привилегированный доступ к ресурсам.
Слайд 26

Ядро ОС (Kernel space) 1) Обрабатывает запросы приложений системные вызовы (программные

Ядро ОС (Kernel space)

1) Обрабатывает запросы приложений
системные вызовы (программные прерывания)
2) Обрабатывает

запросы оборудования
Прерывания
3) Обрабатывает исключительные ситуации
Разного рода ошибки
4) Обеспечивает диспетчеризацию процессов
реализация многопользовательского режима доступа к ресурсам
Слайд 27

Слайд 28

Слайд 29

Запуск Ожидание Запуск Ожидание Запуск Ожидание Запуск Ожидание Ожидание Запуск Ожидание

Запуск

Ожидание

Запуск

Ожидание

Запуск

Ожидание

Запуск

Ожидание

Ожидание

Запуск

Ожидание

Запуск

Ожидание

Ожидание

Запуск

Запуск

Запуск

Запуск

Запуск

Запуск

Ожидание

Слайд 30

Прерывания Аппаратные Программные Таймерные Исключения

Прерывания

Аппаратные

Программные

Таймерные

Исключения

Слайд 31

Как операционная система загружается в компьютер?

Как операционная система загружается в компьютер?

Слайд 32

Системный вызов – программное прерывание, обращение пользовательского процесса к ядру операционной

Системный вызов – программное прерывание, обращение пользовательского процесса к ядру операционной системы

для выполнения какой-либо операции.

Механизм системных вызовов — это интерфейс, который предоставляет ядро ОС (kernel space) пользовательским процессам (user space).

Как приложения взаимодействуют с ОС?

Системные библиотеки (system DLL – Dynamic Link Library, динамически подключаемая библиотека), преобразующие системные вызовы приложений в системные вызовы ядра

Слайд 33

Как оборудование взаимодействует с ОС?

Как оборудование взаимодействует с ОС?

Слайд 34

Сервисы операционной системы Управление процессами (Process scheduler - планировщик) Межпроцессное взаимодействие

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

Управление процессами (Process scheduler - планировщик)

Межпроцессное взаимодействие (IPC -

Inter Process Communication)

Управление памятью (Memory manager)

Файловая система (File system)

Пользовательские оболочки

Слайд 35

Процесс — совокупность инструкций и данных, что находятся в оперативной памяти

Процесс — совокупность инструкций и данных, что находятся в оперативной памяти и

обрабатываются процессором. Другими словами - исполнение программы в целом (не путать с потоком исполнения).

Основные абстракции

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

С внешней стороны, процесс можно описать следующим:
Состояние
- Состояние памяти
- Содержимое регистров процессора
Адресное пространство — у каждого процесса своё.
Состояние исполнения — то, исполняется ли этот процесс на процессоре в данный момент или ожидает чего-либо.
CPU - величина использования процессорного времени.

Слайд 36

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

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

Слайд 37

Состояния исполнения

Состояния исполнения

Слайд 38

Информация о процессе Вся информация о процессе содержится в специальной структуре

Информация о процессе

Вся информация о процессе содержится в специальной структуре данных,

поддерживаемой операционной системой для каждого процесса – PCB (Process Control Block) - Блок управления процессов.

Process ID: идентификатор каждого из процессов в ОС.
State: текущее состояние процесса.
Privileges: разрешения доступа к системным ресурсам.
Pointer: указатель на родительский процесс.
Priority: приоритет процесса и другая информация, которая требуется для планирования процесса.
Program Counter: указатель на адрес следующей команды, которая должна быть выполнена.
CPU registers: регистры процессора, необходимые для состояния исполнения.
Accounting Information: уровень нагрузки на процессор, статистика и другие данные.
I/O Information: список ресурсов, использующих чтение и запись.

Слайд 39

Поток

Поток

Слайд 40

Файл

Файл

Слайд 41

Реализация многозадачности Прерывание таймера когда при запуске, ОС программирует таймер на

Реализация многозадачности
Прерывание таймера
когда при запуске, ОС программирует таймер на то, чтобы

он каждый квант времени передавал управление ОС.
Переключение контекста
сохранение состояния исполнения (регистров) процесса и установка на процессор контекста другого процесса.
План блокировок, при наличии нескольких CPU
Освобождение ресурсов при завершении процесса
Слайд 42

Слайд 43

Слайд 44

Слайд 45