Общие сведения о процессах и потоках.
Вопросы:
Цели занятия:
Вспомним…
Вычислительный процесс (или задача) – это выполнение отдельной программы с ее данными на последовательном процессоре.
Модель процесса
Создание процесса
Основные этапы создания процесса
Создание процесса (системный вызов)
Инициализация операционной системы
Реализация процессов (таблица процессов)
Завершение процесса
Вычислительный процесс (или задача) – это выполнение отдельной программы с ее данными на последовательном процессоре.
Кванты
Алгоритм, основанный на квантовании
Алгоритмы планирования, основанные на квантовании
Планирование процессов и потоков в операционной системе решает следующие задачи:
Круговорот вопросов
1.94M
Category: programmingprogramming

9deed1dcef354269afdf28af3f29f63c

1. Общие сведения о процессах и потоках.

2. Вопросы:

Что называют ядром ОС?
называют её основную часть, которая
как раз и обеспечивает запуск всех
действий, организует работу других
программ и работу компонентов
компьютерной системы.
Какие модули ОС называют транзитными?
оформленные в виде утилит, системных
обрабатывающих программ и библиотек,
загружаемые в оперативную память только
на время выполнения своих функций,
Для чего служит микроядро?
основой модульных и переносимых расширений.
Аппаратная поддержка как минимум двух режимов работы:
- пользовательский;
- привилегированный (режим ядра, режим супервизора).

3. Цели занятия:

Обучающие:
-сформировать знания учебного материала по теме
Модель процесса. Создание процесса. Завершение
процесса.
Развивающие:
- развитие внимания и понимания;
- развитие умения анализировать.
Воспитывающие:
- развитие интереса к изучаемой дисциплине;
- развитие уважение друг к другу и умения слышать.

4. Вспомним…

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

5. Вычислительный процесс (или задача) – это выполнение отдельной программы с ее данными на последовательном процессоре.

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

6.

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

7.

Ресурсы системы
Память
Устройства
Файлы
Процессы
Управляющие
таблицы ОС
Таблицы памяти
Образ
процесса
Процесс 1
Таблицы ввода-вывода
Таблицы файлов
Первичные таблицы
процессов
Процессор
Процесс 1
Процесс 2
Процесс 3
Процесс N
Процесс N

8.

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

9. Модель процесса

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

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

В универсальных системах определенные способы
создания и прекращения процессов по мере
необходимости.
Способы создания процессов:
1. Инициализация системы
2. Выполнение работающим процессом системного
запроса на создание процесса
3. Запрос пользователя на создание процесса
4. Инициализация пакетного задания
10

11.

12. Основные этапы создания процесса

13. Создание процесса (системный вызов)

Новый процесс формируется на основании
системного запроса от текущего процесса.
В роли текущего процесса может выступать:
• Процесс, запущенный пользователем;
• Системный процесс;
• Процесс, инициализированный клавиатурой или
мышью;
• Процесс, управляющий пакетами.
13

14. Инициализация операционной системы

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

15. Реализация процессов (таблица процессов)

15

16. Завершение процесса

1.Обычный выход (преднамеренно);
2.Выход по ошибке (преднамеренно);
3.Выход по неисправимой ошибке (непреднамеренно);
4.Уничтожение другим процессом (непреднамеренно).
После окончания работы процесс генерирует
системный запрос на завершение работы. В UNIX этот
системный запрос – exit, а в Windows – ExitProcess.
Программы, рассчитанные на работу с экраном,
также поддерживают преднамеренное завершение
работы
16

17.

Состояние процесса.
Реализация процесса.

18. Вычислительный процесс (или задача) – это выполнение отдельной программы с ее данными на последовательном процессоре.

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

19.

Информация по состоянию и управлению
процессом
Состояние процесса, определяющее его готовность к выполнению (выполняющийся,
готовый к выполнению, ожидающий события, приостановленный);
Данные о приоритете (текущий, по умолчанию, максимально возможный);
Информация о событиях – идентификация события, наступление которого позволит
продолжить выполнение процесса;
Указатели, позволяющие определить расположение образа процесса в оперативной
памяти и на диске;
Указатели на другие процессы (находящиеся в очереди на выполнение);
Флаги,сигналы и сообщения, имеющие отношение к обмену информацией между двумя
независимыми процессами;
Данные о привилегиях, определяющие прав доступа к определенной области памяти или
возможности выполнять определенные виды команд, использовать системные утилиты и
службы;
Указатели на ресурсы, которыми управляет процесс;
Сведения по использованию ресурсов и процессора;
Информация, связанная с планированием.

20.

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

21.

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

22.

Типичный граф состояния потока
Поток завершен
или ошибка
ВЫПОЛНЕНИЕ
Поток выбран
на
выполнение
Поток вытеснен
(исчерпал квант)
ГОТОВНОСТЬ
ОЖИДАНИЕ
Ввод-вывод
завершен (событие
произошло)
Вновь
созданный
поток
Поток ожидает
завершения вводавывода или другого
события

23.

Алгоритмы планирования потоков
1. Невытесняющие (non-preemptive)
планирование распределяется между ОС и прикладными
программами;
необходимость частых передач управлений ОС, в противном
случае возможна монополизация процессора приложением;
зависания приложений могут привести к краху системы
2. Вытесняющие (preemptive)
функции планирования сосредоточены в ОС;
планирование на основе квантования процессорного времени;
планирование на основе приоритетов потоков: статических,
динамических, абсолютных, относительных, смешанных;

24. Кванты

Время отведенное на
обработку потоков

25. Алгоритм, основанный на квантовании

• Процесс, который исчерпал свой квант переводится в
состояние ГОТОВНОСТЬ и ожидает, когда ему будет
предоставлен новый квант процессорного времени,
• на выполнение в соответствии с определенным правилом
выбирается новый процесс из очереди готовых.
• Таким образом, ни один процесс не занимает процессор
надолго, поэтому квантование широко используется в
системах разделения времени
25

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

• В основе многих вытесняющих алгоритмов планирования
лежит концепция квантования. В соответствии с этой
концепцией каждому потоку поочередно для выполнения
предоставляется ограниченный непрерывный период
процессорного времени — квант. Смена активного потока
происходит, если:
поток завершился и покинул систему;
произошла ошибка;
поток перешел в состояние ожидания;
исчерпан квант процессорного времени, отведенный
данному потоку.

27.

28. Планирование процессов и потоков в операционной системе решает следующие задачи:

Справедливость — предоставление каждому процессу доли процессорного
времени.
Контроль над выполнением принятой политики.
Баланс — поддержание занятости всех частей системы.
Пропускная способность — количество задач в час.
Оборотное время — минимизация времени на ожидание обслуживания и
обработку задач.
Использование процесса — постоянное использование процессора.
Время отклика — быстрая реакция на запросы.
Соразмерность — выполнение ожиданий пользователя.
Окончание работы к сроку — предотвращение потери данных.
Предсказуемость — предотвращение деградации качества в мультимедийных
системах.

29. Круговорот вопросов

• 1. Какие состояния проходит процесс за
время своей жизни?
• 2. Какая команда создает новый процесс?
• 3. Какие параметры характеризуют процесс
в операционной системе?
English     Русский Rules