СДЕЛАЙТЕ СВОИ УРОКИ ЕЩЁ ЭФФЕКТИВНЕЕ, А ЖИЗНЬ СВОБОДНЕЕ

Благодаря готовым учебным материалам для работы в классе и дистанционно

Скидки до 50 % на комплекты
только до

Готовые ключевые этапы урока всегда будут у вас под рукой

Организационный момент

Проверка знаний

Объяснение материала

Закрепление изученного

Итоги урока

Процессы и потоки

Категория: Информатика

Нажмите, чтобы узнать подробности

Презентация на тему "Процессы и потоки" (дисциплина "Операционные системы и среды")

Просмотр содержимого документа
«Процессы и потоки»

Лекция 3 Процессы и потоки 1

Лекция 3

Процессы и потоки

1

Функции ОС по управлению процессами и потоками ►  планирование процессов; ► создание и уничтожение процессов; ► обеспечение процессов ресурсами; ► реализация обмена данными между процессами; ► синхронизация процессов и потоков. Планирование процессов - распределение процессорного времени между несколькими одновременно выполняющимися в системе процессами 1

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

процессами и потоками

► планирование процессов;

► создание и уничтожение процессов;

► обеспечение процессов ресурсами;

► реализация обмена данными между процессами;

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

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

1

Процессы и потоки В настоящее время в большинстве операционных систем определены два типа выполнения задач: ►  процессы (они требуют для своего выполнения более мелкие задачи - потоки); ►  потоки (более мелкие задачи). Потоки возникают как средство параллельного вычисления в рамках одного процесса. 1

Процессы и потоки

В настоящее время в большинстве операционных систем определены два типа выполнения задач:

► процессы (они требуют для своего выполнения более мелкие задачи - потоки);

► потоки (более мелкие задачи).

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

1

Процессы Процесс  – это программа, находящаяся в стадии выполнения. Процесс запрашивает и содержит все данные и ресурсы , кроме процессорного времени. Процессорное время выделяется потокам. В простейшем случае процесс состоит из 1 потока. Во многих ОС информация о каждом процессе хранится в таблице процессов ОС. 1

Процессы

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

Процесс запрашивает и содержит все данные и ресурсы , кроме процессорного времени.

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

Во многих ОС информация о каждом процессе хранится в таблице процессов ОС.

1

Состав процесса Каждый процесс обладает своим адресным пространством. Адресное пространство – это области памяти, с которыми может работать процесс. У каждого процесса есть адресное пространство. Поэтому для обмена данными между двумя процессами им нужно обращаться к ОС. 1

Состав процесса

Каждый процесс обладает своим адресным пространством.

Адресное пространство – это области памяти, с которыми может работать процесс.

У каждого процесса есть адресное пространство.

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

1

Состав процесса ► область команд (содержит инструкции, предназначенные для выполнения процессором); ► область данных (содержит данные, она доступна для изменений); ► область стека (содержит информацию для ОС, используется для переключения между процессами, сохранения и восстановления состояния процесса). У каждого процесса есть адресное пространство. 1

Состав процесса

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

область данных (содержит данные, она доступна для изменений);

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

У каждого процесса есть адресное пространство.

1

Таблица процессов Таблица процессов  (process table) – это структура данных, в которой хранятся указатели на все процессы системы. Идентификационный номер процесса (PID) – это числовое значение, уникальным образом идентифицирующее процесс. 1

Таблица процессов

Таблица процессов (process table) – это структура данных, в которой хранятся указатели на все процессы системы.

Идентификационный номер процесса (PID) – это числовое значение, уникальным образом идентифицирующее процесс.

1

Блоки управления процессами (дескрипторы процессов) Блок управления процессом (PCB или дескриптор процесса) – это структура данных, содержащая информацию о процессе (состояние, адресное пространство и т.д.). PCB 1 Состояние Приоритет Адресное пространство … Process table PID 1 PCB 2 … n Состояние адресное пространства Программный счетчик – это указатель на следующую инструкцию процесса, которая должна быть выполнена процессором. Приоритет процесса Указатель на открытые файлы Указатель на родительский процесс Указатель на дочерние процессы и т.д. PCB 2 Состояние Приоритет Адресное пространство …

Блоки управления процессами (дескрипторы процессов)

Блок управления процессом (PCB или дескриптор процесса) – это структура данных, содержащая информацию о процессе (состояние, адресное пространство и т.д.).

PCB 1

Состояние

Приоритет

Адресное пространство

Process table

PID

1

PCB

2

n

Состояние

адресное пространства

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

Приоритет процесса

Указатель на открытые файлы

Указатель на родительский процесс

Указатель на дочерние процессы

и т.д.

PCB 2

Состояние

Приоритет

Адресное пространство

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

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

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

Квант – это промежуток времени, в течение которого процессор остается выделенным одному процессу.

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

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

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

Прерывание – это принудительная передача управления от выполняемого процесса к ОС с запоминанием состояния процесса.

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

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

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

► новый (процесс только что создан);

► готовый (процесс ожидает освобождения центрального процессора);

► ожидающий (процесс ожидает завершения некоторого события);

► выполняемый (команды программы выполняются в центральном процессоре);

► завершенный (процесс завершил свою работу).

Состояния процесса Завершенный Новый прерывание допущен выход Готовый Выполняемый диспетчеризация Ожидание ввода-вывода или наступления события Завершение ввода-вывода или наступление события Ожидающий 12

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

Завершенный

Новый

прерывание

допущен

выход

Готовый

Выполняемый

диспетчеризация

Ожидание ввода-вывода или наступления события

Завершение ввода-вывода или наступление события

Ожидающий

12

Классификация процессов по временным характеристикам ► интерактивные процессы (время их выполнения зависит от времени допустимой реакции компьютера на запросы пользователя); ► пакетные процессы (запускаются один за другим); ► процессы реального времени (должен быть закончен до наступления конкретного момента времени). 12

Классификация процессов по временным характеристикам

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

пакетные процессы (запускаются один за другим);

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

12

Классификация процессов по генеалогическому признаку ► порождающие процессы (родительские) ; ► порожденные процессы (дочерние) . A B C D В любой ОС по требованию существующего или существовавшего процесса проводится работа по порождению процессов. При этом один и тот же процесс может быть и порождающим и порожденным одновременно. G F E H 14

Классификация процессов по генеалогическому признаку

порождающие процессы (родительские) ;

порожденные процессы (дочерние) .

A

B

C

D

В любой ОС по требованию существующего или существовавшего процесса проводится работа по порождению процессов.

При этом один и тот же процесс может быть и порождающим и порожденным одновременно.

G

F

E

H

14

Классификация процессов по результативности Трасса — это порядок и длительность пребывания процесса в допустимых состояниях на интервале существования. Все они имеют одинаковый конечный результат, НО: ► эквивалентные (могут реализовываться по разным программам и имеют разные трассы); ► тождественные (реализуются по одной и той же программе, но имеют разные трассы); ► равные (реализуются по одной программе и имеют одинаковые трассы). 14

Классификация процессов

по результативности

Трасса — это порядок и длительность пребывания процесса в допустимых состояниях на интервале существования.

Все они имеют одинаковый конечный результат, НО:

эквивалентные (могут реализовываться по разным программам и имеют разные трассы);

тождественные (реализуются по одной и той же программе, но имеют разные трассы);

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

14

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

Классификация процессов

по времени развития

последовательные (интервалы двух процессов не пересекаются во времени);

параллельные (на рассматриваемом интервале времени существуют одновременно два процесса);

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

14

Определите виды процессов Процесс 2  Процесс 1 t Процесс 2  Процесс 1 t Параллельные Комбинированные Последовательные Процесс 1 Процесс 2  t 14

Определите виды процессов

Процесс 2

Процесс 1

t

Процесс 2

Процесс 1

t

Параллельные

Комбинированные

Последовательные

Процесс 1

Процесс 2

t

14

Классификация процессов по месту развития ► внутренние (реализуются на центральном процессоре); ► внешние (развитие происходит под контролем или управлением ОС, например, процессы ввода-вывода). 14

Классификация процессов

по месту развития

внутренние (реализуются на центральном процессоре);

внешние (развитие происходит под контролем или управлением ОС, например, процессы ввода-вывода).

14

Классификация процессов по принадлежности к ОС ► системные (исполняется программа из состава ядра операционной системы); ►  пользовательские (исполняется прикладная программа). 14

Классификация процессов

по принадлежности к ОС

системные (исполняется программа из состава ядра операционной системы);

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

14

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

Классификация процессов

по связности

взаимосвязанные , которые имеют какую-то связь (пространственно-временную, информационную и т.д.):

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

взаимодействующие (имеют информационные связи и разделяют общие данные);

конкурирующие (делят одни ресурсы); ► изолированные – слабо связанные.

14

Отношения между процессами ► предшествования  (один всегда находится в активном состоянии раньше, чем другой); ► приоритетности  (процесс может стать активным, если в состоянии готовности нет процессов с более высоким приоритетом, процессор свободен или на нем реализуется процесс с меньшим приоритетом); ► взаимного исключения (в процессе используется общий ресурс, и процессы не могут развиваться одновременно: если один из них использует критический ресурс, то другой находится в состоянии ожидания). 14

Отношения между процессами

предшествования (один всегда находится в активном состоянии раньше, чем другой);

приоритетности (процесс может стать активным, если в состоянии готовности нет процессов с более высоким приоритетом, процессор свободен или на нем реализуется процесс с меньшим приоритетом);

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

14

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

Потоки

Каждый процесс имеет минимум один поток.

Поток — это последовательность команд, работающих в рамках некоторого процесса.

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

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

14

Потоки Процессорное время выделяется потокам.  Многопоточность — это способность ОС поддерживать в рамках одного процесса выполнение нескольких потоков. 14

Потоки

Процессорное время выделяется потокам.

Многопоточность — это способность ОС поддерживать в рамках одного процесса выполнение нескольких потоков.

14

Потоки При создании процесса ОС создает для него как минимум 1 поток выполнения, при этом создается специальная структура – описатель потока (информация о его приоритете, правах доступа и состоянии и тд.). Созданный поток находится в приостановленном состоянии и становится в очередь на выполнение в соответствии с определенными правилами системы. 14

Потоки

При создании процесса ОС создает для него как минимум 1 поток выполнения, при этом создается специальная структура – описатель потока (информация о его приоритете, правах доступа и состоянии и тд.).

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

14

Преимущества использования потоков ►  поток можно создать и завершить быстрее, чем процесс; ► поток требует меньше ресурсов; ► потоки одного процесса могут взаимодействовать друг с другом не обращаясь к ОС, а используя общую память; ► повышается производительность программы. 14

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

► поток можно создать и завершить быстрее, чем процесс;

► поток требует меньше ресурсов;

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

► повышается производительность программы.

14

Реализация потоков Уровни реализации потоков: ► пользовательский уровень , то есть потоки, управляемые приложениями; ► уровень ядра , то есть потоки, управляемые ядром операционной системы. Потоки ядра обычно медленнее, чем потоки пользователей. 14

Реализация потоков

Уровни реализации потоков:

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

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

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

14

Состояния потоков ►  выполнение — активное состояние, во время которого поток обладает всеми необходимыми ресурсами и непосредственно выполняется процессором; ►  готовность — пассивное состояние, находясь в котором поток заблокирован по внешним причинам (например, процессор занят другим потоком); ► ожидание — пассивное состояние, находясь в котором поток заблокирован по своим внутренним причинам. 14

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

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

готовность — пассивное состояние, находясь в котором поток заблокирован по внешним причинам (например, процессор занят другим потоком);

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

14

Увеличить картинку 14

Увеличить картинку

14


Скачать

Рекомендуем курсы ПК и ППК для учителей

Вебинар для учителей

Свидетельство об участии БЕСПЛАТНО!