
- •Лекция 3. Основные подсистемы ОС: подсистема управления процессами и потоками
- •Основные функции подсистемы управления процессами
- •Определение процесса
- •Процессы в системе UNIX
- •Описание процесса в
- •Описание процесса в системе UNIX (продолжение)
- •Получение списка процессов: ps
- •Потоки
- •Планирование потоков (процессов) состоит в решении задач:
- •При планировании потоков учитываются
- •Диспетчеризация
- •Диспетчеризация процессов (потоков)
- •Состояния потока (процесса)
- •Диаграмма смены состояний потоков
- •Алгоритмы планирования выполнения потоков
- •Алгоритмы планирования, основанные на квантовании
- •Иллюстрация квантового механизма планирования
- •Алгоритмы планирования, основанные на приоритетах
- •Назначение приоритетов
- •Разновидности приоритетов
- •Схема назначения приоритетов в
- •Приоритеты в системе
- •Окно Диспетчера задач
- •Основные подсистемы ОС: подсистема управления памятью
- •Иерархия типов памяти
- •Регистры процессора
- •Основная память
- •Чтение / запись в ОЗУ
- •Функции подсистемы управления основной памятью
- •Организация основной памяти
- •Стратегии управления памятью
- •Типы адресов
- •Типы адресов
- •Организация памяти
- •Распределение памяти фиксированными разделами
- •Достоинства и недостатки работы
- •Распределение памяти динамическими разделами
- •Функции подсистемы при работе с динамическими разделами
- •Достоинства и недостатки работы
- •Понятие виртуальной памяти
- •Основные задачи, решаемые подсистемой виртуальной памяти
- •2 подхода к виртуализации памяти
- •Достоинства и недостатки свопинга
- •Реализации виртуальной памяти
- •Виртуальное адресное пространство процесса 1
- •Страничный файл (файл подкачки)
- •Виртуальная страница (определение)
- •Таблица страниц
- •Алгоритм работы виртуальной памяти
- •Алгоритм работы виртуальной памяти (продолжение)
- •Виртуальный и физический адреса
- •Базисные свойства страничной виртуальной памяти
- •Виртуальный адрес
- •Определение оптимального размера страницы
Лекция 3. Основные подсистемы ОС: подсистема управления процессами и потоками
Основные функции подсистемы управления процессами
•создание и уничтожение процессов (т.е. структур данных, связанных с процессами)
•поддержание очередей заявок процессов на ресурсы
•защита ресурсов, выделенных данному процессу, от остальных процессов организовывать совместное использование ресурсов
•обеспечивать прерывание и возобновление некоторого процесса
•функции синхронизации процессов, позволяющие процессу приостанавливать свое выполнение до наступления какого-либо события в системе
•предоставить средства межпроцессного взаимодействия
2
Определение процесса
•Процесс – задача в стадии выполнения в системе.
•Процесс – заявка на потребление всех видов ресурсов (в системах, где определено понятие «поток», кроме одного ресурса - процессорного времени).
3

Процессы в системе UNIX
Системные |
|
Процессы – |
|
Прикладные |
(запускаются |
|
демоны |
|
процессы |
ядром, не имеют |
|
(выполняются в |
|
(процессы, |
файлов, |
|
фоновом режиме, |
|
порожденные в |
содержащих код |
|
большую часть |
|
пользовательском |
процесса) |
|
времени находятся |
|
сеансе работы) |
|
|
в состоянии |
|
|
|
|
|
||
|
|
ожидания запроса |
|
|
|
|
на выполнение |
|
|
|
|
услуги другим |
|
|
|
|
процессом) |
|
|
4
Описание процесса в
системе UNIX
•PID - уникальный идентификационный номер - подобно номеру паспорта, фактическое значение PID большой роли не играет.
•РРID - идентификатор своего родительского процесса
– в UNIX новый процесс создается путем клонирования одного из уже существующих процессов, после чего текст клона заменяется текстом программы, которую должен выполнять процесс.
•UID – это идентификационный номер пользователя, создавшего данный процесс.
•EUID – это «эффективный» UID процесса. Существует возможность задать процессу более широкие права, чем права пользователя, запустившего процесс. Он действует от имени владельца выполняемого файла (чаще всего пользователя root).
5
Описание процесса в системе UNIX (продолжение)
•GID – это идентификационный номер группы данного процесса.
•EGID -это «эффективный» GID процесса - связан с GID так же, как ЕUID с UID.
•Приоритет - от приоритета процесса зависит, какую часть времени центрального процессора он получит. Выбирая процесс для выполнения, ядро находит процесс с самым высоким «внутренним приоритетом».
•Значение nice - это число показывает степень «уступчивости» процесса.
•Терминальная линия (TTY) - Терминал или псевдотерминал, связанный с процессом. С этим терминалом по умолчанию связаны стандартные потоки: входной, выходной и поток сообщений об ошибках. Потоки (программные каналы) являются стандартным средством межпроцессного взаимодействия в ОС UNIX.
6

Получение списка процессов: ps
7
Потоки
•Поток (thread) – средство распараллеливания вычислений внутри процесса.
•Создание потоков требует от ОС меньше накладных расходов, чем процессов.
•Мультипрограммирование на уровне потоков более эффективно (распараллеливание).
•Использование потоков приводит к
созданию более структурированных и |
|
понятных программ. |
8 |
|
Планирование потоков (процессов) состоит в решении задач:
•определение момента времени для смены текущего активного потока (процесса)
•выбор для выполнения потока (процесса) из очереди готовых потоков (процессов)
9
При планировании потоков учитываются
•приоритет потоков
•время их ожидания в очереди
•накопленное время выполнения
•интенсивность обращений к вводу- выводу
•другие факторы
10