Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Часть 1 панова.doc
Скачиваний:
6
Добавлен:
17.04.2019
Размер:
3.18 Mб
Скачать

29. Режимы функционирования процессов.

Процессы функционируют в двух режимах – системный и пользовательский.

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

Процессы функционируют в пользовательском режиме, когда выполняется код, заданный пользователем

30. Системная таблица процессов.

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

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

Данные блока управления процессом:

  1. Регистры

  2. Счетчик команд

  3. Указатель стека

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

  5. Приоритет

  6. Параметры планирования

  7. Идентификатор процесса

  8. Родительский процесс

  9. Группа процесса

  10. Время начала процесса

  11. Использованное процессорное время

Чтобы система функционировала должным образом, ядру необходимы все эти данные.

Данные блока управления памятью:

  1. Указатель на текстовый сегмент

  2. Указатель на сегмент данных

  3. Указатель на сегмент стека

Данные блока управления файлами:

  1. Корневой каталог

  2. Рабочий каталог

  3. Идентификатор пользователя

  4. Идентификатор группы

  5. Дескриптор файла, в кот. Находится вся информация о файле

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

Процесс порождается с помощью системных вызовов (fork, CREATEPROCESS). При этом системном вызове происходит проверка на наличие свободной памяти, которая доступна для размещения нового процесса. Если требуемая память доступна, то создается «процесс-потомок» текущего процесса, который представляет собой точную копию вызывающего процесса. При этом в таблице процессов для нового процесса строится соответствующая структура. Новая структура создается также в таблице пользователей, при этом все переменные инициализируются нулями, этому процессу присваивается новый уникальный идентификатор и идентификатор родительского процесса запоминается в блоке управления процессом. В

Существуют 3 события, которые приводят к созданию процессов:

1 – Загрузка системы

2 – Работающий процесс подает системный вызов на создание нового процесса

3 – Запрос пользователя на создание процесса.

Во всех 3 случаях активный процесс посылает системный вызов на создание процесса (в UNIX-системах каждому процессу присваивается идентификатор PIT).

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

  1. Выполнение (занимается процессор)

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

  3. Ожидание (процесс не может быть запущен по внутренним причинам, пока не произойдет какое-либо внешнее событие).

Выполнение и готовность идентичны, т.к. процесс м.б. запущен, но только в случае готовности. Процессор не доступен.

А в состоянии ожидания процесс невозможно запустить без внешнего воздействия.

1 переход = процесс блокируется, ожидая входных данных.

2 переход = планировщик выбирает другой процесс.

3 переход = планировщик выбрал определенный процесс.

4 переход = поступили входные данные.

2 и 3 переходы вызываются планировщиком процессов ОС. В данном случае сами процессы не знают об этих переходах. С точки зрения самих процессов их остается только 2 – выполнение и ожидание.