Что такое findslide.org?

FindSlide.org - это сайт презентаций, докладов, шаблонов в формате PowerPoint.


Для правообладателей

Обратная связь

Email: Нажмите что бы посмотреть 

Яндекс.Метрика

Презентация на тему Раздел 2Процессыи потоки

Содержание

Лекция №4Процессы и потоки
Раздел 2  Процессы и потоки Лекция №4Процессы и потоки Функции ОС по управлению процессами и потоками: Процесс - программа, находящаяся в стадии выполнения. Потоки возникли как средство распараллеливания Преимущества использования потоков: Задания и волокна Состояния потоков 1. Поток выбран на выполнение2. Поток ожидает завершения ввода/вывода3. Ввод/вывод завершен Создание процессов Создать процесс означает: Идентификаторы, дескрипторы и контекст Дескриптор процесса содержит такую информацию о процессе, которая Структура сегмента TSS Уничтожение процессов Планирование и диспетчеризация потоков Диспетчеризация    это реализация найденного в результате планирования решения, т.е.: Моменты перепланировки Время, отведенное активной задаче на выполнение, закончилось. Планировщик переводит задачу Лекция № 5Планирование процессов Планирование процессов Алгоритмы планирования, основанные на квантовании Алгоритмы планирования, основанные на приоритетах Смешанный алгоритм планирования Схема назначения приоритета потокам в Windows NTУровни приоритета потоков. Классы приоритетов процессов и приоритеты потоков Win32 Алгоритм планирования LinuxВ операционной системе Linux поддерживаются три класса потоков:1. потоки реального Очередь исполнения и массивы приоритетов в Linux Алгоритмы планирования в ОС пакетной обработки информации 1. Задачи: 4. Трехуровневое планирование3. Наименьшее оставшееся время выполнения Планирование в интерактивных системах     +  простота; 2.Приоритетное планирование 4.Гарантированное планирование Суть алгоритмаНеобходимо отслеживать, сколько процессорного времени затрачено на каждый процесс 5. Лотерейное планированиеОсновная идея состоит в раздаче процессам лотерейных билетов на доступ 6. Справедливое планированиеНекоторые системы перед планированием работы процесса берут в расчет, кто Планирование в системах реального времени Критерий эффективности – способность системы выдерживать заранее Ti   - периодический набор задач Алгоритм Лью - Лейланда    Классический алгоритм для жестких систем Межпроцессное взаимодействиесогласование действий процессов;передача информации от одного процесса другому;контроль над деятельностью процессов. Лекция № 6Синхронизация процессов и потоков Потребность в синхронизации потоков возникает только в мультипрограммной операционной системе и связана Гонки (взаимные состязания)     Состязания (гонки)– ситуация, когда Способы реализации взаимного исключения1. Запрет прерываний2. Блокирующие переменные Семафоры Дейкстры Семафоры – переменные, которые могут принимать целые неотрицательные значения и Решение классической задачи синхронизации «читатели – писатели» с помощью семафоров буферный пул Взаимные блокировки   (тупики, клинчи, дедлоки) Взаимная блокировка – ситуация, когда Условия взаимоблокировки:  Условие взаимного исключения.   Каждый ресурс в данный Моделирование взаимоблокировок процессы A, B, Cресурсы R, S, T     АЗапросить Стратегии при столкновении с взаимными блокировками Обнаружение и устранение взаимоблокировок 1. Обнаружение взаимоблокировки при наличии одного ресурса каждого 2. Обнаружение взаимоблокировки при наличии нескольких ресурсов каждого типаm - число классов А= (2 2 2 0)А= (4 2 2 1) Когда следует искать тупики: Выход из взаимной блокировки Динамическое избежание взаимоблокировок Траектории ресурсов А1 - запрос принтера процессом А, А2 Опасные и безопасные состояния Состояние безопасно, если система не находится в тупике Алгоритм банкира для одного вида ресурсов Алгоритм банкира для несколько видов ресурсов    E=(6342) - существующие  Предотвращение условий, необходимых для взаимоблокировок Системные средства синхронизацииСистемные семафоры;мьютексы;события; Мьютексы (от MUTual Exclusion -взаимоисключения) – объекты ядра позволяют координировать взаимное исключение События используются в качестве сигналов о завершении какой-либо операции. Сигнал 	или виртуальное прерывание является сообщением, 	которое система посылает процессу или один процесс 	посылает другому. Мониторы Хоара Монитор – это пассивный набор разделяемых переменных и повторно входимых Ждущие таймеры Обмен данными между процессами и потоками Каналы Очереди сообщенийпозволяют процессам и потокам обмениваться структурированными сообщениями; являются глобальными средствами коммуникаций Сокеты Разделяемая память
Слайды презентации

Слайд 2 Лекция №4
Процессы и потоки

Лекция №4Процессы и потоки

Слайд 3 Функции ОС по управлению процессами и потоками:

Функции ОС по управлению процессами и потоками:

Слайд 4 Процесс - программа, находящаяся в стадии выполнения.

Потоки

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

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

рассматривается как заявка на потребление всех видов ресурсов, кроме одного – процессорного времени.

Процессорное время выделяется потокам.
В простейшем случае процесс состоит из одного потока.

Слайд 6 Преимущества использования потоков:

Преимущества использования потоков:

Слайд 7 Задания и волокна

Задания и волокна

Слайд 8 Состояния потоков

Состояния потоков

Слайд 9
1. Поток выбран на выполнение
2. Поток ожидает завершения

1. Поток выбран на выполнение2. Поток ожидает завершения ввода/вывода3. Ввод/вывод

ввода/вывода
3. Ввод/вывод завершен (событие произошло)
4. Поток вытеснен планировщиком

Граф состояний

потока

Слайд 10 Создание процессов

Создание процессов

Слайд 11 Создать процесс означает:

Создать процесс означает:

Слайд 12 Идентификаторы, дескрипторы и контекст
Дескриптор процесса содержит такую информацию

Идентификаторы, дескрипторы и контекст Дескриптор процесса содержит такую информацию о процессе,

о процессе, которая необходима ядру в течение всего жизненного

цикла процесса независимо от того, находится он в активном или пассивном состоянии. В дескрипторе прямо или косвенно содержится информация о состоянии процесса, о расположении образа процесса в оперативной памяти и на диске, о значении отдельных составляющих приоритета, глобальном приоритете, об идентификаторе пользователя, создавшего процесс, о родственных процессах и некоторая др. информация.
Контекст процесса содержит менее оперативную, но более объемную часть информации о процессе, необходимую для возобновления выполнения процесса с прерванного места: содержимое регистров процессора, коды ошибок выполняемых процессором системных вызовов, таблица открытых файлов, информация о незавершенных операциях ввода/вывода и др.


Слайд 13 Структура сегмента TSS

Структура сегмента TSS

Слайд 14 Уничтожение процессов

Уничтожение процессов

Слайд 15 Планирование и диспетчеризация потоков

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

Слайд 17 Диспетчеризация
это реализация найденного в

Диспетчеризация  это реализация найденного в результате планирования решения, т.е.:

результате планирования решения, т.е.:






Слайд 18 Моменты перепланировки
Время, отведенное активной задаче на выполнение, закончилось.

Моменты перепланировки Время, отведенное активной задаче на выполнение, закончилось. Планировщик переводит

Планировщик переводит задачу в состояние готовности и выполняет перепланирование.

Активная

задача выполнила системный вызов, связанный с запросом на ввод/вывод или на доступ к ресурсу, который в настоящий момент занят. Планировщик переводит задачу в состояние ожидания и выполняет перепланирование.

Активная задача выполнила системный вызов, связанный с освобождением ресурса. Если есть задача, ожидающая это событие, то она переводится из состояния ожидания в состояние готовность.

Завершение периферийным устройством операции ввода/вывода переводит соответствующую задачу в очередь готовых и выполняется планирование.

Внутреннее прерывание сигнализирует об ошибке, которая произошла в результате выполнения активной задачи. Планировщик снимает задачу и выполняет перепланирование.




Слайд 19 Лекция № 5
Планирование процессов

Лекция № 5Планирование процессов

Слайд 20 Планирование процессов

Планирование процессов

Слайд 21 Алгоритмы планирования, основанные на квантовании

Алгоритмы планирования, основанные на квантовании

Слайд 22 Алгоритмы планирования, основанные на приоритетах

Алгоритмы планирования, основанные на приоритетах

Слайд 24 Смешанный алгоритм планирования

Смешанный алгоритм планирования

Слайд 25 Схема назначения приоритета потокам в Windows NT
Уровни приоритета

Схема назначения приоритета потокам в Windows NTУровни приоритета потоков.

потоков.


Слайд 26 Классы приоритетов процессов и приоритеты потоков Win32

Классы приоритетов процессов и приоритеты потоков Win32

Слайд 28 Алгоритм планирования Linux
В операционной системе Linux поддерживаются три

Алгоритм планирования LinuxВ операционной системе Linux поддерживаются три класса потоков:1. потоки

класса потоков:
1. потоки реального времени, обслуживаемые по алгоритму FIFO;
2.

потоки реального времени, обслуживаемые в порядке циклической очереди;
3. потоки разделения времени.
Linux различает 140 уровней приоритета.
Потоки реального времени имеют приоритеты от 0 до 99, причем 0 – самый высокий приоритет.
Обычному потоку ставится в соответствие уровень приоритета от 100 до 139.
Каждому уровню приоритета обычных потоков соответствует свое значение длительности кванта времени.
Linux связывает с каждым потоком значение nice, которое определяет статический приоритет каждого потока. По умолчанию он равен 0, но его можно изменить при помощи системного вызова nice(value), где value меняется от -20 до +19.

Слайд 29 Очередь исполнения и массивы приоритетов в Linux

Очередь исполнения и массивы приоритетов в Linux

Слайд 30 Алгоритмы планирования в ОС пакетной обработки информации
1. "Первый

Алгоритмы планирования в ОС пакетной обработки информации 1.

пришел - первым обслужен" (FIFO)
+ Достоинства:
простота;
справедливость.
2. "Кратчайшая задача –

первая»
 



Минимизирует среднее оборотное время выполнения задачи.
Оборотное время – время, прошедшее от момента запуска всего пакета на выполнение до получения результата задачи.


Слайд 31



Задачи:

Задачи:        A

A

B C D
Время выполнения: 8 мин. 4 мин. 4 мин. 4 мин.



Слайд 33
4. Трехуровневое планирование
3. Наименьшее оставшееся время выполнения

4. Трехуровневое планирование3. Наименьшее оставшееся время выполнения

Слайд 34 Планирование в интерактивных системах

+

Планирование в интерактивных системах   + простота;

простота;
справедливость.
-

- слишком малый квант времени приводит к частому переключению процессов и снижению производительности;

- слишком большой квант может привести к увеличению времени ответа на интерактивный запрос.

1. Циклическое планирование (квантование)


Слайд 35 2.Приоритетное планирование

2.Приоритетное планирование

Слайд 36 4.Гарантированное планирование
Суть алгоритма
Необходимо отслеживать, сколько процессорного времени затрачено

4.Гарантированное планирование Суть алгоритмаНеобходимо отслеживать, сколько процессорного времени затрачено на каждый

на каждый процесс с момента его создания. Затем вычисляют

отношение времени, фактически полученного процессом к количеству времени, на которое он имел право.
На выполнение выбирается процесс с наименьшим отношением, который будет работать до тех пор, пока его соотношение не превысит соотношение его ближайшего конкурента.

3. Самый короткий процесс - следующий


Слайд 37 5. Лотерейное планирование
Основная идея состоит в раздаче процессам

5. Лотерейное планированиеОсновная идея состоит в раздаче процессам лотерейных билетов на

лотерейных билетов на доступ к различным системным ресурсам, в

том числе и к процессорному времени. Когда планировщику нужно принимать решение, в случайном порядке выбирается лотерейный билет, и ресурс отдается процессу, обладающему этим билетом. Применительно к планированию процессорного времени система может проводить лотерейный розыгрыш 50 раз в секунду, и каждый победитель будет получать в качестве приза 20 мс процессорного времени.

Слайд 38 6. Справедливое планирование
Некоторые системы перед планированием работы процесса

6. Справедливое планированиеНекоторые системы перед планированием работы процесса берут в расчет,

берут в расчет, кто является его владельцем. В этой

модели каждому пользователю распределяется некоторая доля процессорного времени и планировщик выбирает процессы, соблюдая это распределение. Таким образом, если каждому из двух пользователей было обещано по 50% процессорного времени, то они его получат, независимо от количества имеющихся у них процессов.

Слайд 39 Планирование в системах реального времени
Критерий эффективности – способность

Планирование в системах реального времени Критерий эффективности – способность системы выдерживать

системы выдерживать заранее заданные интервалы времени между запуском программы

и получением результата (реактивность системы).

Слайд 41
Ti -

Ti  - периодический набор задач  pi -

периодический набор задач
pi - периоды

di - предельные сроки
сi - требования к времени выполнения
μ – коэффициент использования процессора

μi = сi / pi
Необходимое условие существования расписания:

μ =∑ сi / pi ≤ k,
где k - количество доступных процессоров.

Слайд 42 Алгоритм Лью - Лейланда
Классический

Алгоритм Лью - Лейланда  Классический алгоритм для жестких систем реального

алгоритм для жестких систем реального времени с одним процессором.
Алгоритм

основан на следующих предположениях:
Запросы на выполнение всех задач набора, имеющих жесткие ограничения на время реакции, являются периодическими.
Все задачи независимы.
Срок выполнения задачи равен ее периоду.
Максимальное время выполнения каждой задачи сi известно и постоянно.
Время переключения контекста можно игнорировать.
Максимальный суммарный коэффициент загрузки процессора ∑ сi / pi ≤ n(21/n -1), где n – число задач.
Суть алгоритма: задача с самым коротким периодом получает наивысший приоритет, задача с наибольшим периодом получает наименьший приоритет.

Слайд 43 Межпроцессное взаимодействие
согласование действий процессов;
передача информации от одного процесса

Межпроцессное взаимодействиесогласование действий процессов;передача информации от одного процесса другому;контроль над деятельностью процессов.

другому;
контроль над деятельностью процессов.


Слайд 44 Лекция № 6
Синхронизация процессов и потоков

Лекция № 6Синхронизация процессов и потоков

Слайд 45 Потребность в синхронизации потоков возникает только в мультипрограммной

Потребность в синхронизации потоков возникает только в мультипрограммной операционной системе и

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

информационных ресурсов вычислительной системы.


Слайд 46 Гонки (взаимные состязания)
Состязания (гонки)–

Гонки (взаимные состязания)   Состязания (гонки)– ситуация, когда два

ситуация, когда два или более потока обрабатывают разделяемые данные

и конечный результат зависит от соотношения скоростей потоков.

Слайд 47 Способы реализации взаимного исключения
1. Запрет прерываний
2. Блокирующие переменные

Способы реализации взаимного исключения1. Запрет прерываний2. Блокирующие переменные

Слайд 49 Семафоры Дейкстры
Семафоры – переменные, которые могут принимать целые

Семафоры Дейкстры Семафоры – переменные, которые могут принимать целые неотрицательные значения

неотрицательные значения и используются для синхронизации вычислительных процессов.
Для

работы с семафорами определены два примитива:
V(S): S=S+1 единым действием;
P(S): S=S-1 , если возможно; если это невозможно, то поток, вызвавший P(S) переводится в состояние ожидания.

Слайд 50 Решение классической задачи синхронизации «читатели – писатели» с

Решение классической задачи синхронизации «читатели – писатели» с помощью семафоров буферный

помощью семафоров
буферный пул состоит из N буферов.
e - число

пустых буферов и f - число заполненных буферов


Слайд 51 Взаимные блокировки (тупики, клинчи, дедлоки)
Взаимная блокировка –

Взаимные блокировки  (тупики, клинчи, дедлоки) Взаимная блокировка – ситуация, когда

ситуация, когда несколько процессов борются за ресурсы, и ни

один из них не может завершить начатую работу.

Слайд 53 Условия взаимоблокировки:
Условие взаимного исключения.
Каждый

Условия взаимоблокировки: Условие взаимного исключения.  Каждый ресурс в данный момент

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

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


Слайд 54 Моделирование взаимоблокировок

Моделирование взаимоблокировок

Слайд 55 процессы A, B, C


ресурсы R, S, T

процессы A, B, Cресурсы R, S, T   АЗапросить RЗапросить

А
Запросить R
Запросить S
Освободить R
Освободить S

B
Запросить S
Запросить T
Освободить S
Освободить T

C
Запросить T
Запросить R
Освободить T
Освободить R


Слайд 57 Стратегии при столкновении с взаимными блокировками

Стратегии при столкновении с взаимными блокировками

Слайд 58 Обнаружение и устранение взаимоблокировок 1. Обнаружение взаимоблокировки при наличии

Обнаружение и устранение взаимоблокировок 1. Обнаружение взаимоблокировки при наличии одного ресурса

одного ресурса каждого типа
Для каждого узла N в графе

выполняются следующие 5 шагов

Слайд 59 2. Обнаружение взаимоблокировки при наличии нескольких ресурсов каждого

2. Обнаружение взаимоблокировки при наличии нескольких ресурсов каждого типаm - число

типа
m - число классов ресурсов
n - количество процессов,

P1… Pn
E = (Е1, Е2, Е3 , …, Еm ) - вектор существующих ресурсов, где
Ei - количество ресурсов класса i,
A = (A1, A2, A3 , …, Am ) - вектор доступных ресурсов,
Ai - количество доступных ресурсов класса i,
С - матрица текущего распределения R - матрица запросов









Слайд 60 А= (2 2 2 0)

А= (4 2 2

А= (2 2 2 0)А= (4 2 2 1)

1)


Слайд 61 Когда следует искать тупики:

Когда следует искать тупики:

Слайд 62 Выход из взаимной блокировки

Выход из взаимной блокировки

Слайд 63 Динамическое избежание взаимоблокировок Траектории ресурсов
А1 - запрос принтера процессом

Динамическое избежание взаимоблокировок Траектории ресурсов А1 - запрос принтера процессом А,

А,
А2 - запрос плоттера процессом А,
А3 - освобождение

принтера процессом А,
А4 - освобождение плоттера процессом А

В1 - запрос плоттера процессом В,
В2 - запрос принтера процессом В,
В3 - освобождение плоттера процессом В,
В4 - освобождение принтера процессом В.


Слайд 64 Опасные и безопасные состояния
Состояние безопасно, если система не

Опасные и безопасные состояния Состояние безопасно, если система не находится в

находится в тупике и существует некоторый порядок планирования, при

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

В безопасном состоянии система может гарантировать, что все процессы закончат свою работу, в небезопасном состоянии такой гарантии дать нельзя.


Слайд 65 Алгоритм банкира для одного вида ресурсов

Алгоритм банкира для одного вида ресурсов

Слайд 66 Алгоритм банкира для несколько видов ресурсов

Алгоритм банкира для несколько видов ресурсов  E=(6342) - существующие ресурсы,

E=(6342) - существующие ресурсы,
P=(5322) -

занятые ресурсы,
A=(1020) - доступные ресурсы


Слайд 67  Предотвращение условий, необходимых для взаимоблокировок

 Предотвращение условий, необходимых для взаимоблокировок

Слайд 68 Системные средства синхронизации
Системные семафоры;
мьютексы;
события;

Системные средства синхронизацииСистемные семафоры;мьютексы;события;

объекты
таймеры; ядра
файлы, процессы, потоки…

Слайд 69 Мьютексы (от MUTual Exclusion -взаимоисключения) – объекты ядра

Мьютексы (от MUTual Exclusion -взаимоисключения) – объекты ядра позволяют координировать взаимное

позволяют координировать взаимное исключение доступа к разделяемому ресурсу.
Системные семафоры

- принцип действия мьютексов, но в них заложена возможность подсчета ресурсов, что позволяет заранее определенному числу потоков одновременно войти в синхронизуемый участок кода.


Слайд 70 События используются в качестве сигналов о завершении какой-либо

События используются в качестве сигналов о завершении какой-либо операции.

операции.


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

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

посылает процессу или один процесс посылает другому.


Слайд 72 Мониторы Хоара
Монитор – это пассивный набор разделяемых переменных

Мониторы Хоара Монитор – это пассивный набор разделяемых переменных и повторно

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

пользуются в режиме разделения, причем в каждый момент времени им может пользоваться только один процесс.


Слайд 73 Ждущие таймеры

Ждущие таймеры

Слайд 74 Обмен данными между процессами и потоками

Обмен данными между процессами и потоками

Слайд 75 Каналы

Каналы

Слайд 76 Очереди сообщений

позволяют процессам и потокам обмениваться структурированными сообщениями;

Очереди сообщенийпозволяют процессам и потокам обмениваться структурированными сообщениями; являются глобальными средствами

являются глобальными средствами коммуникаций для процессов, так как каждая

очередь в пределах ОС имеет уникальное имя.


Почтовые ящики

Почтовые ящики обеспечивают только однонаправленные соединения.


Слайд 77 Сокеты

Сокеты

  • Имя файла: razdel-2protsessyi-potoki.pptx
  • Количество просмотров: 91
  • Количество скачиваний: 0