Similar presentations:
Лекция 3 Процессы и потоки
1. Тема: Процессы и потоки
ТЕМА: ПРОЦЕССЫ И ПОТОКИЦЕЛЬ УРОКА
ИЗУЧИТЬ ПОНЯТИЯ «ПРОЦЕСС» И «ПОТОК»,
АЛГОРИТМЫ ПЛАНИРОВАНЯ И ДИСПЕТЧЕРИЗАЦИИ
План
1.
Планирование процессов и потоков
2.
Понятия процесс и поток
3.
Создание процессов и потоков
4.
Планирование и диспетчеризация потоков
5.
Состояния потока
2. 1. Планирование процессов и потоков
1. ПЛАНИРОВАНИЕ ПРОЦЕССОВ И ПОТОКОВОдной из основных подсистем
мультипрограммной ОС, является подсистема
управления процессами и потоками, которая :
занимается их созданием и уничтожением,
поддерживает взаимодействие между ними,
распределяет процессорное время между
несколькими одновременно существующими
в системе процессами и потоками.
3.
Подсистема управления процессами ипотоками ответственна за обеспечение
процессов необходимыми ресурсами.
ОС поддерживает в памяти специальные
информационные структуры, в которые
записывает, какие ресурсы выделены
каждому процессу.
Она может назначить процессу ресурсы в
единоличное пользование или в совместное
пользование с другими процессами.
4.
Некоторые из ресурсов выделяются процессупри его создании, а некоторые —
динамически по запросам во время
выполнения.
Ресурсы могут быть приписаны процессу на все
время его жизни или только на определенный
период.
5.
При выполнении своих функций подсистемауправления процессами взаимодействует с
другими подсистемами ОС, ответственными за
управление ресурсами:
подсистема управления памятью,
подсистема ввода-вывода,
файловая система.
6.
Каждый раз, когда процесс завершается, ОСпредпринимает шаги, чтобы «зачистить
следы» его пребывания в системе.
Подсистема управления процессами
закрывает все файлы, с которыми работал
процесс,
освобождает области оперативной памяти,
отведенные под коды, данные и системные
информационные структуры процесса.
7. 2. Понятия процесс и поток
2. ПОНЯТИЯ ПРОЦЕСС И ПОТОКЧтобы поддерживать мультипрограммирование,
ОС должна определить для себя те внутренние
единицы работы, между которыми будет
разделяться процессор и другие ресурсы
компьютера.
8.
В настоящее время в большинствеоперационных систем определены два типа
единиц работы:
процесс
поток
Более крупная единица работы, обычно
носящая название процесса, или задачи,
требует для своего выполнения нескольких
более мелких работ, для обозначения
которых используют термины «поток», или
«нить».
9.
Процесс рассматривается операционнойсистемой как заявка на потребление всех
видов ресурсов, кроме одного —
процессорного времени.
Этот важнейший ресурс распределяется
операционной системой между другими
единицами работы — потоками, которые
представляют собой последовательности
(потоки выполнения) команд.
10. 3. Создание процессов и потоков
3. СОЗДАНИЕ ПРОЦЕССОВ И ПОТОКОВСоздать процесс – означает создать описатель
процесса (информационная структура),
содержащий все сведения о процессе,
необходимые операционной системе для
управления им. В число таких сведений могут
входить:
идентификатор процесса
данные о расположении в памяти
степень привилегированности процесса
и т.п.
11. Создание процесса
СОЗДАНИЕ ПРОЦЕССАСоздание процесса включает загрузку кодов и
данных исполняемой программы данного
процесса с диска в оперативную память.
Для этого ОС должна обнаружить
местоположение такой программы на диске,
перераспределить оперативную память и
выделить память исполняемой программе
нового процесса.
Затем необходимо считать программу в в
выделенные для неё участки памяти.
12. Создание потока
СОЗДАНИЕ ПОТОКАПри создании потока ОС создает специальную
информационную структуру – описатель
потока, который содержит:
идентификатор потока
данные о правах доступа
данные о приоритете
данные о состоянии потока
и др.
13.
При управлении процессами ОС используетдва типа информационных структур:
дескриптор процесса
контекст процесса
14. дескриптор
ДЕСКРИПТОРДескриптор процесса содержит информацию о
процессе, которая необходима ядру в
течение всего жизненного цикла процесса .
Дескрипторы отдельных процессов объединены
в таблицу процессов, на основании которой
ОС осуществляет планирование процессов.
15. контекст
КОНТЕКСТКонтекст процесса содержит информацию,
необходимую для возобновления выполнения
процесса с прерванного места:
содержимое процессора,
информация обо всех открытых данным
процессом файлах,
незавершенных операциях ввода-вывода
и другие данные, характеризующие состояние
вычислительной среды в момент прерывания.
Контекст доступен только программам ядра.
16. 4. Планирование и диспетчеризация потоков
4. ПЛАНИРОВАНИЕ И ДИСПЕТЧЕРИЗАЦИЯПОТОКОВ
На протяжении существования процесса
выполнение его потоков может быть
многократно прервано и продолжено.
Переход от выполнения одного потока к другому
осуществляется в результате планирования и
диспетчеризации.
Работа по определению того, в какой момент
необходимо прервать выполнение текущего
активного потока и какому потоку предоставить
возможность выполняться, называется
планированием
17.
Планирование потоков включает в себярешение двух задач:
определение момента времени для смены
текущего активного потока
выбор для выполнения потока из очереди
готовых потоков
18. Динамическое планирование
ДИНАМИЧЕСКОЕ ПЛАНИРОВАНИЕВ большинстве ОС планирование
осуществляется динамически, т.е. решения
принимаются во время работы системы на
основе анализа текущей ситуации.
ОС работает в условиях неопределенности –
потоки появляются в случайные моменты
времени и также непредсказуемо
завершаются.
19. статическое планирование
СТАТИЧЕСКОЕ ПЛАНИРОВАНИЕДругой тип планирования – статический –
может быть использован в
специализированных системах, в которых
весь набор одновременно выполняемых
задач определён заранее.
Результатом работы планировщика является
таблица, называемая расписанием, в которой
указывается какому потоку, когда и на какое
время должен быть предоставлен процессор.
20. Диспетчеризация
ДИСПЕТЧЕРИЗАЦИЯДиспетчеризация заключается в реализации
найденного в результате планирования
решения, то есть в переключении
процессора с одного потока на другой.
Прежде чем прервать выполнение потока, ОС
запоминает его контекст, для того чтобы
использовать эту информацию для
последующего возобновления выполнения
данного потока.
21.
Диспетчеризация сводится к следующему:сохранение контекста текущего потока,
который требуется сменить
загрузка контекста нового протока,
выбранного в результате планирования
запуск нового потока на выполнение
22. 5. Состояния потока
5. СОСТОЯНИЯ ПОТОКАВ мультипрограммной ОС поток может
находиться в одном из трёх состояний:
выполнение
ожидание
готовность
23. Выполнение
ВЫПОЛНЕНИЕВыполнение – активное состояние, во время
которого поток обладает всеми
необходимыми ресурсами и
непосредственно выполняется процессором
24. ожидание
ОЖИДАНИЕОжидание – пассивное состояние потока,
находясь в котором поток заблокирован по
своим внутренним причинам (ждет
наступления некоторого события, завершения
операции ввода-вывода, освобождения какоголибо ресурса)
25. готовность
ГОТОВНОСТЬГотовность – пассивное состояние потока, но в
этом случае поток заблокирован в связи с
внешними по отношению к нему
обстоятельствами (имеет все требуемые
ресурсы, готов выполняться, но процессор
занят выполнением другого потока).
26. Состояния потока
СОСТОЯНИЯ ПОТОКАПоток завершен
или ошибка
выполнение
Поток выбран
на выполнение
Поток ожидает
наступления события
Поток вытеснен
готовность
Событие
произошло
Созданный
поток
ожидание
software