Процесс- это программа которая находиться в режиме выполнения с каждым процессом связывается адресное пространство.
Поток- это взаимодействие процессов для его выполнения а так же поток служит для выполнения каких-либо команд.
Одной из основных подсистем любой современной мультипрограммной ОС, непосредственно влияющей на функционирование компьютера, является подсистема управления процессами и потоками. Основные функции этой подсистемы:
-создание процессов и потоков;
-обеспечение процессов и потоков необходимыми ресурсами;
-изоляция процессов;
-планирование выполнения процессов и потоков (вообще, следует говорить и о планировании заданий);
-диспетчеризация потоков;
-организация межпроцессного взаимодействия;
-синхронизация процессов и потоков;
-завершение и уничтожение процессов и потоков.
К созданию процесса приводят пять основных событий:
1. инициализация ОС (загрузка);
2. выполнение запроса работающего процесса на создание процесса;
3. запрос пользователя на создание процесса, например, при входе в систему в интерактивном режиме;
|
|
4. инициирование пакетного задания;
5. создание операционной системой процесса, необходимого для работы каких-либо служб.
Планирование заданий, процессов и потоков
Основная цель планирования вычислительного процесса заключается в распределении времени процессора (нескольких процессоров) между выполняющимися заданиями пользователей таким образом, чтобы удовлетворять требованиям, предъявляемым пользователями к вычислительной системе. Такими требованиями могут быть, пропускная способность, время отклика, загрузка процессора.
Вид планирования | Выполняемые функции |
Долгосрочное | Решение о добавлении задания (процесса) в пул выполняемых в системе |
Среднесрочное | Решение о добавлении процесса к числу процессов, полностью или частично размещенных в основной памяти |
Краткосрочное | Решение о том, какой из доступных процессов (потоков) будет выполняться процессором |
Планирование ввода-вывода | Решение о том, какой из запросов процессов (потоков) на операцию ввода-вывода будет выполняться свободным устройством ввода-вывода |
Модели процессов и потоков.
Информация | Описание |
Данные пользователя | Изменяемая часть пользовательского адресного пространства (данные программы, пользовательский стек, модифицируемый код) |
Пользовательская программа | Программа, которую необходимо выполнить |
Системный стек | Один или несколько системных стеков для хранения параметров и адресов вызова процедур и системных служб |
Управляющий блок процесса | Данные, необходимые операционной системе для управления процессом |