Разделы презентаций


Процессы и потоки. Планирование и синхронизация

Содержание

Концепция процессов и потоковПод процессом понимают последовательность операций при выполнении программы (задачи) или ее части в совокупности с используемыми данными. В общем случае процесс и программа представляют собой разные понятия. Программа

Слайды и текст этой презентации

Слайд 1Процессы и потоки. Планирование и синхронизация
1. Концепция процессов и потоков
2.

Создание и завершение процессов
3. Иерархия процессов
4. Состояния процесса
5. Обработка прерываний

Процессы и потоки. Планирование и синхронизация1. Концепция процессов и потоков2. Создание и завершение процессов3. Иерархия процессов4. Состояния

Слайд 2Концепция процессов и потоков
Под процессом понимают последовательность операций при выполнении

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


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

Слайд 3Для того чтобы процессы не могли вмешаться в распределение ресурсов,

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

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

Слайд 4Многопоточностью (multithreading) называется способность операционной системы поддерживать в рамках одного

процесса выполнение нескольких потоков.
Традиционный подход, при котором каждый процесс

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

Многопоточностью (multithreading) называется способность операционной системы поддерживать в рамках одного процесса выполнение нескольких потоков. Традиционный подход, при

Слайд 5Многопоточная (многонитевая) обработка повышает эффективность работы системы по сравнению с

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

одного процесса, может быть выполнена быстрее за счет псевдопараллель-ного (или параллельного в мультипроцес-сорной системе) выполнения ее отдельных частей.
Многопоточная (многонитевая) обработка повышает эффективность работы системы по сравнению с многозадачной (многопроцессной) обработкой.Задача, оформленная в виде нескольких

Слайд 6Несколько потоков (нитей) могут существовать в рамках одного и того

же процесса и совместно использовать ресурсы.
Потоки (нити) иногда называют облегченными

процессами или мини-процессами.
Несколько потоков (нитей) могут существовать в рамках одного и того же процесса и совместно использовать ресурсы.Потоки (нити)

Слайд 7Подобно традиционным процессам (состоящим из одной нити), нити могут находится

в одном из следующих состояний: ВЫПОЛНЕНИЕ, ОЖИДАНИЕ и ГОТОВНОСТЬ.
Пока

одна нить заблокирована, другая нить того же процесса может выполняться.
Подобно традиционным процессам (состоящим из одной нити), нити могут находится в одном из следующих состояний: ВЫПОЛНЕНИЕ, ОЖИДАНИЕ

Слайд 8Нити имеют собственные:
программный счетчик,
стек,
регистры,
нити-потомки,
состояние.
Нити

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

информацию.
Нити имеют собственные: программный счетчик, стек, регистры, нити-потомки, состояние. Нити разделяют: адресное пространство, глобальные переменные, открытые файлы,

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

когда для него операционной системой будет создан процесс. Создать процесс

- это значит:
создать информационные структуры, описывающие данный процесс, то есть его дескриптор и контекст;
включить дескриптор нового процесса в очередь готовых процессов;
загрузить кодовый сегмент процесса в оперативную память или в область свопинга.
2. Создание и завершение процессовПрограммный код только тогда начнет выполняться, когда для него операционной системой будет создан

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

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

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

Слайд 11Операционной системе для планирования процессов требуется дополнительная информация:
идентификатор процесса,


состояние процесса,
данные о степени привилегированности процесса,
место нахождения кодового

сегмента и другая информация.
Такую информацию называют дескриптором процесса.
Операционной системе для планирования процессов требуется дополнительная информация: идентификатор процесса, состояние процесса, данные о степени привилегированности процесса,

Слайд 12Процедура завершения процесса:
Процесс удаляется из всех очередей планирования, т.е. ОС

больше не планирует выделение каких-либо ресурсов процессу.
Сбор статистики о потреблённых

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

Слайд 13Причины завершения процесса:
Обычный выход
Выход по исключению или ошибке
Недостаточный объем памяти
Превышение

лимита отведённого программе времени
Выход за пределы отведённой области памяти
Неверная команда

(данные интерпретируются как команды)
Ошибка защиты
Завершение родительского процесса
Ошибка ввода/вывода
Вмешательство оператора
Причины завершения процесса:Обычный выходВыход по исключению или ошибкеНедостаточный объем памятиПревышение лимита отведённого программе времениВыход за пределы отведённой

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

реального времени.
По генеалогическому признаку различают
порождающие
порожденные процессы.

3. Иерархия процессовПо временным характеристикам различают интерактивные процессы пакетные процессыпроцессы реального времени. По генеалогическому признаку различают порождающиепорожденные

Слайд 15По результативности различают
эквивалентные (могут реализовываться как на одном, так

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

есть они имеют разные трассы)
тождественные (реализуются по одному и тому же алгоритму, но имеют разные трассы)
равные процессы (реализуются по одной программе и имеют одинаковые трассы)
По результативности различают эквивалентные (могут реализовываться как на одном, так и на многих процессорах по одному или

Слайд 16По времени развития процессы делятся на
последовательные
параллельные
комбинированные (для последних есть

точки, в которых существуют оба процесса, и точки, в которых

существует только один процесс).
По времени развития процессы делятся на последовательныепараллельныекомбинированные (для последних есть точки, в которых существуют оба процесса, и

Слайд 17По месту развития процессы делятся на
внутренние (реализуются на центральном

процессоре)
внешние (реализуются на внешних процессорах).
По принадлежности к операционной системе процессы

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

Слайд 18По связности различают процессы:
взаимосвязанные – имеющие какую-то связь (пространственно-временную, управляющую,

информационную);
изолированные – слабо связанные;
информационно-независимые – использующие совместные ресурсы, но имеющие

собственные информационные базы;
взаимодействующие – имеющие информационные связи и разделяющие общие структуры данных;
взаимосвязанные по ресурсам;
конкурирующие.
По связности различают процессы:взаимосвязанные – имеющие какую-то связь (пространственно-временную, управляющую, информационную);изолированные – слабо связанные;информационно-независимые – использующие совместные

Слайд 194. Состояния процесса
В многозадачной (многопроцессной) системе процесс может находиться в

одном из трех основных состояний:
Выполнение
Ожидание
Готовность

ВЫПОЛНЕНИЕ - активное состояние процесса, во

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


4. Состояния процессаВ многозадачной (многопроцессной) системе процесс может находиться в одном из трех основных состояний:ВыполнениеОжиданиеГотовностьВЫПОЛНЕНИЕ - активное

Слайд 20ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может

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

например, завершения операции ввода-вывода, получения сообщения от другого процесса, освобождения какого-либо необходимого ему ресурса;

ОЖИДАНИЕ - пассивное состояние процесса, процесс заблокирован, он не может выполняться по своим внутренним причинам, он ждет

Слайд 21ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае

процесс заблокирован в связи с внешними по отношению к нему

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

ГОТОВНОСТЬ - также пассивное состояние процесса, но в этом случае процесс заблокирован в связи с внешними по

Слайд 22В ходе жизненного цикла каждый процесс переходит из одного состояния

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

данной операционной системе.
В состоянии ВЫПОЛНЕНИЕ в однопроцессорной системе может находиться только один процесс, а в каждом из состояний ОЖИДАНИЕ и ГОТОВНОСТЬ - несколько процессов, эти процессы образуют очереди соответственно ожидающих и готовых процессов.
В ходе жизненного цикла каждый процесс переходит из одного состояния в другое в соответствии с алгоритмом планирования

Слайд 23Граф состояний процесса в многозадачной среде

Граф состояний процесса в многозадачной среде

Слайд 245. Обработка прерываний
Прерывание (interrupt) — сигнал, сообщающий процессору о наступлении какого-либо

события.
При этом выполнение текущей последовательности команд приостанавливается и управление

передаётся обработчику прерывания.
Обработчик прерывания реагирует на событие и обслуживает его, после чего возвращает управление в прерванный код.
5. Обработка прерыванийПрерывание (interrupt) — сигнал, сообщающий процессору о наступлении какого-либо события. При этом выполнение текущей последовательности команд

Слайд 25Обработка простого прерывания

Обработка простого прерывания

Слайд 26В зависимости от источника возникновения сигнала прерывания делятся на:
внешние (аппаратные)

— события, которые исходят от внешних источников (например, периферийных устройств)

и могут произойти в любой произвольный момент. Возникновение в системе такого прерывания трактуется как запрос на прерывание (Interrupt request, IRQ);
внутренние — события в самом процессоре как результат нарушения каких-то условий при исполнении машинного кода: деление на ноль, переполнение стека или недопустимый код операции;
программные (частный случай внутреннего прерывания, исключения) — инициируются исполнением специальной инструкции в коде программы.
В зависимости от источника возникновения сигнала прерывания делятся на:внешние (аппаратные) — события, которые исходят от внешних источников

Слайд 27Использование прерываний при работе с медленными внешними устройствами позволяют совместить

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

повышает общую производительность системы.
Использование прерываний при работе с медленными внешними устройствами позволяют совместить ввод/вывод с обработкой данных в центральном процессоре

Слайд 28С каждым прерыванием связывают число, называемое номером прерывания (номер вектора

прерывания).
Для того чтобы связать адрес обработчика прерывания с номером прерывания,

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

Слайд 31На современных ПК обработчики основных аппаратных и программных прерываний находятся

в BIOS.
Современная операционная система, во время своей загрузки, может

заменить эти обработчики своими.

На современных ПК обработчики основных аппаратных и программных прерываний находятся в BIOS. Современная операционная система, во время

Слайд 32IRQ0 - IRQ15 (31) - это аппаратные прерывания

IRQ0 - IRQ15 (31) - это аппаратные прерывания

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

Если не удалось найти и скачать доклад-презентацию, Вы можете заказать его на нашем сайте. Мы постараемся найти нужный Вам материал и отправим по электронной почте. Не стесняйтесь обращаться к нам, если у вас возникли вопросы или пожелания:

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

Что такое TheSlide.ru?

Это сайт презентации, докладов, проектов в PowerPoint. Здесь удобно  хранить и делиться своими презентациями с другими пользователями.


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

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