Скачать презентацию ТЕМА 1 4 ПРОЦЕССЫ И ПОТОКИ ЦЕЛЬ УРОКА Скачать презентацию ТЕМА 1 4 ПРОЦЕССЫ И ПОТОКИ ЦЕЛЬ УРОКА

1_4_Процессы и потоки.ppt

  • Количество слайдов: 27

ТЕМА 1. 4. ПРОЦЕССЫ И ПОТОКИ ЦЕЛЬ УРОКА ИЗУЧИТЬ ПОНЯТИЯ «ПРОЦЕСС» И «ПОТОК» , ТЕМА 1. 4. ПРОЦЕССЫ И ПОТОКИ ЦЕЛЬ УРОКА ИЗУЧИТЬ ПОНЯТИЯ «ПРОЦЕСС» И «ПОТОК» , АЛГОРИТМЫ ПЛАНИРОВАНЯ И ДИСПЕТЧЕРИЗАЦИИ План 1. Планирование процессов и потоков 2. Понятия процесс и поток 3. Создание процессов и потоков 4. Планирование и диспетчеризация потоков 5. Состояния потока

1. ПЛАНИРОВАНИЕ ПРОЦЕССОВ И ПОТОКОВ Одной из основных подсистем мультипрограммной ОС, является подсистема управления 1. ПЛАНИРОВАНИЕ ПРОЦЕССОВ И ПОТОКОВ Одной из основных подсистем мультипрограммной ОС, является подсистема управления процессами и потоками, которая : занимается их созданием и уничтожением, поддерживает взаимодействие между ними, распределяет процессорное время между несколькими одновременно существующими в системе процессами и потоками.

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

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

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

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

2. ПОНЯТИЯ ПРОЦЕСС И ПОТОК Чтобы поддерживать мультипрограммирование, ОС должна определить для себя те 2. ПОНЯТИЯ ПРОЦЕСС И ПОТОК Чтобы поддерживать мультипрограммирование, ОС должна определить для себя те внутренние единицы работы, между которыми будет разделяться процессор и другие ресурсы компьютера.

В настоящее время в большинстве операционных систем определены два типа единиц работы: процесс поток В настоящее время в большинстве операционных систем определены два типа единиц работы: процесс поток Более крупная единица работы, обычно носящая название процесса, или задачи, требует для своего выполнения нескольких более мелких работ, для обозначения которых используют термины «поток» , или «нить» .

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

3. СОЗДАНИЕ ПРОЦЕССОВ И ПОТОКОВ Создать процесс – означает создать описатель процесса (информационная структура), 3. СОЗДАНИЕ ПРОЦЕССОВ И ПОТОКОВ Создать процесс – означает создать описатель процесса (информационная структура), содержащий все сведения о процессе, необходимые операционной системе для управления им. В число таких сведений могут входить: идентификатор процесса данные о расположении в памяти степень привилегированности процесса и т. п.

СОЗДАНИЕ ПРОЦЕССА Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с СОЗДАНИЕ ПРОЦЕССА Создание процесса включает загрузку кодов и данных исполняемой программы данного процесса с диска в оперативную память. Для этого ОС должна обнаружить местоположение такой программы на диске, перераспределить оперативную память и выделить память исполняемой программе нового процесса. Затем необходимо считать программу в в выделенные для неё участки памяти.

СОЗДАНИЕ ПОТОКА При создании потока ОС создает специальную информационную структуру – описатель потока, который СОЗДАНИЕ ПОТОКА При создании потока ОС создает специальную информационную структуру – описатель потока, который содержит: идентификатор потока данные о правах доступа данные о приоритете данные о состоянии потока и др.

При управлении процессами ОС использует два типа информационных структур: дескриптор процесса контекст процесса При управлении процессами ОС использует два типа информационных структур: дескриптор процесса контекст процесса

ДЕСКРИПТОР Дескриптор процесса содержит информацию о процессе, которая необходима ядру в течение всего жизненного ДЕСКРИПТОР Дескриптор процесса содержит информацию о процессе, которая необходима ядру в течение всего жизненного цикла процесса. Дескрипторы отдельных процессов объединены в таблицу процессов, на основании которой ОС осуществляет планирование процессов.

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

4. ПЛАНИРОВАНИЕ И ДИСПЕТЧЕРИЗАЦИЯ ПОТОКОВ На протяжении существования процесса выполнение его потоков может быть 4. ПЛАНИРОВАНИЕ И ДИСПЕТЧЕРИЗАЦИЯ ПОТОКОВ На протяжении существования процесса выполнение его потоков может быть многократно прервано и продолжено. Переход от выполнения одного потока к другому осуществляется в результате планирования и диспетчеризации. Работа по определению того, в какой момент необходимо прервать выполнение текущего активного потока и какому потоку предоставить возможность выполняться, называется планированием

Планирование потоков включает в себя решение двух задач: определение момента времени для смены текущего Планирование потоков включает в себя решение двух задач: определение момента времени для смены текущего активного потока выбор для выполнения потока из очереди готовых потоков

ДИНАМИЧЕСКОЕ ПЛАНИРОВАНИЕ В большинстве ОС планирование осуществляется динамически, т. е. решения принимаются во время ДИНАМИЧЕСКОЕ ПЛАНИРОВАНИЕ В большинстве ОС планирование осуществляется динамически, т. е. решения принимаются во время работы системы на основе анализа текущей ситуации. ОС работает в условиях неопределенности – потоки появляются в случайные моменты времени и также непредсказуемо завершаются.

СТАТИЧЕСКОЕ ПЛАНИРОВАНИЕ Другой тип планирования – статический – может быть использован в специализированных системах, СТАТИЧЕСКОЕ ПЛАНИРОВАНИЕ Другой тип планирования – статический – может быть использован в специализированных системах, в которых весь набор одновременно выполняемых задач определён заранее. Результатом работы планировщика является таблица, называемая расписанием, в которой указывается какому потоку, когда и на какое время должен быть предоставлен процессор.

ДИСПЕТЧЕРИЗАЦИЯ Диспетчеризация заключается в реализации найденного в результате планирования решения, то есть в переключении ДИСПЕТЧЕРИЗАЦИЯ Диспетчеризация заключается в реализации найденного в результате планирования решения, то есть в переключении процессора с одного потока на другой. Прежде чем прервать выполнение потока, ОС запоминает его контекст, для того чтобы использовать эту информацию для последующего возобновления выполнения данного потока.

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

5. СОСТОЯНИЯ ПОТОКА В мультипрограммной ОС поток может находиться в одном из трёх состояний: 5. СОСТОЯНИЯ ПОТОКА В мультипрограммной ОС поток может находиться в одном из трёх состояний: выполнение ожидание готовность

ВЫПОЛНЕНИЕ Выполнение – активное состояние, во время которого поток обладает всеми необходимыми ресурсами и ВЫПОЛНЕНИЕ Выполнение – активное состояние, во время которого поток обладает всеми необходимыми ресурсами и непосредственно выполняется процессором

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

ГОТОВНОСТЬ Готовность – пассивное состояние потока, но в этом случае поток заблокирован в связи ГОТОВНОСТЬ Готовность – пассивное состояние потока, но в этом случае поток заблокирован в связи с внешними по отношению к нему обстоятельствами (имеет все требуемые ресурсы, готов выполняться, но процессор занят выполнением другого потока).

СОСТОЯНИЯ ПОТОКА Поток завершен или ошибка выполнение Поток выбран на выполнение Поток ожидает наступления СОСТОЯНИЯ ПОТОКА Поток завершен или ошибка выполнение Поток выбран на выполнение Поток ожидает наступления события Поток вытеснен готовность Событие произошло Созданный поток ожидание

ДОМАШНЕЕ ЗАДАНИЕ прочитать Таненбаум. Современные операционные системы. стр. 150 – 209. Глава 2. Процессы ДОМАШНЕЕ ЗАДАНИЕ прочитать Таненбаум. Современные операционные системы. стр. 150 – 209. Глава 2. Процессы и потоки составить конспект по теме «Обзор механизмов взаимодействия процессов»