Вычислительный процесс является одним из основных, при рассмотрении ОС.
Последовательные процессы(задача) – выполнение отдельной программы с её данными на последовательном процессе.
Процесс(задача) - программа, находящаяся в режиме выполнения.
Процесс рассматривается в 2-х аспектах:
• носитель данных
• выполняет операции, связанные с их обработкой
Процессами могут быть: редактирование какого-либо текста, трансляция исходной программы, её компоновка, исполнение.
С каждым процессом связывается его адресное пространство, из которого/в который он может читать/писать данные.
Адресное пространство содержит:
• саму программу
• данные к программе
• стек программы
С каждым процессом связывается набор регистров, например:
• счетчика команд (в процессоре) - регистр в котором содержится адрес следующей, стоящей в очереди на выполнение команды. После того как команда выбрана из памяти, счетчик команд корректируется и указатель переходит к следующей команде.
•указатель стека
Во многих операционных системах вся информация о каждом процессе, дополнительная к содержимому его собственного адресного пространства, хранится в таблице процессов операционной системы.
Управление процессом
Управление памятью
Управление файлами
Регистры
Счетчик команд
Указатель стека
Состояние процесса
Приоритет
Параметры планирования
Идентификатор процесса
Родительский процесс
Группа процесса
Время начала процесса
Использованное процессорное время
Указатель на текстовый сегмент
Указатель на сегмент данных
Указатель на сегмент стека
Корневой каталог
Рабочий каталог
Дескрипторы файла
Идентификатор пользователя
Идентификатор группы
В многозадачной системе реальный процессор переключается с процесса на процесс, но для упрощения модели рассматривается набор процессов, идущих параллельно (псевдопараллельно).
Рассмотрим схему с четырьмя работающими программами.
В каждый момент времени активен только один процесс
С права представлены параллельно работающие процессы, каждый со своим счетчиком команд.
Разумеется, на самом деле существует только один физический счетчик команд, в который загружается логический счетчик команд текущего процесса.
Когда время, отведенное текущему процессу, заканчивается, физический счетчик команд сохраняется в памяти, в логическом счетчике команд процесса.