Материал: 6261

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

141

Рисунок 5.2 — Главное окно работы с пользователями ОС

Завершив выполнение всех заданий и оформление отчета:

•провести архивирование и сохранение рабочей области upk;

•выключить компьютер и завершить выполнение лабораторной работы №5.

 

142

 

6 Тема 6. Теоретическая часть

Учебный материал, изложенный в этой части пособия, последовательно раскрывает

понятие процесса, которое уже было дано раньше в предыдущих темах.

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

первой теме (подраздел 1.7), и повторно обратиться к рисунку 1.10, который

повторно представлен на рисунком 6.1 и наглядно отражает взаимодействие этих

концепций.

 

 

 

Среда исполнения ОС

 

 

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

 

 

Дочерний процесс

 

Файловая система

Читать

Пользователь

Писать

 

 

 

Запускать

 

Обычный файл

 

Владелец

Специальный файл

 

Группа

 

 

Другие

Рисунок 6.1 - Базовые концепции пользовательского режима ОС

В предыдущих двух темах (см. разделы 4 и 5), мы подробно изучили концепции файла и пользователя, а также закрепили этот материал на практике выполнения соотвествующих лабораторных работ. Здесь мы завершим начатое ранее, разобрав все подробности концепции процесса применительно к функционированию ОС.

6.1 Подсистема управления процессами

Вспомним определение процесса, данное ранее в подразделе 1.7.

Процесс — это элементарный управляемый объект ОС, имеющий целочисленный идентификатор PID - Process Identification, обеспечивающий функциональное преобразование файлов (данных) с правами, которые определяются объектами пользо-

143

ватель.

Значения PID начинаются с 1 (обычно - это процесс init) — главный родительский процесс, и увеличиваются по мере порождения дочерних процессов. Новому процессу присваивается номер на 1 больше, чем максимальный номер существующего или существовавшего с момента запуска ОС процесса.

Чтобы определить место концепции процесса в архитектуре ПО ОС, обратимся к рисунку, который также был рассмотрен в первой теме (подраздел 1.5, рисунок 1.5), и повторно представлен на рисунке 6.2.

Рисунок 6.2 - Классическая архитектура ПО ОС UNIX

144

Хорошо видно, что:

•все процессы находятся в среде пользователя (функционируют в пользовательском режиме);

•ядро ОС имеет подсистему управления процессами, которая функционирует в защищенном (привелигированном) режиме процессора.

Сдругой стороны, в самой подсистеме управления процессами выделяются три подсистемы:

•взаимодействие процессов;

•планировщик;

•распределение памяти.

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

•процесс воздействует на подсистему управления процессами напрямую, че-

рез API ядра ОС посредством системных вызовов, или косвенно, через подсистему управления файлами;

•подсистема управления процессами воздействует на процессы посредст-

вом трех выделенных механизмов: взаимодействия процессов, планировщика и средств распределения памяти.

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

6.2 Главный родительский процесс init

Понятие процесс является третьей базовой концепцией ОС, которая опирается на концепции файла и пользователя:

•процесс создается клонированием из родительского процесса, получая от яд-

ра ОС целочисленный номер, уникально идетифицирующий его для целей управления им;

•процесс наследует все права пользователя от родителя, включая все доступные на момент создания ресурсы родителя;

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

нирования или посылает сигналы, частично интерпретируемые самим процессом, частично - ядром ОС;

•процессу разрешается модифицировать себя, открывая новые ресурсы и зак-

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

•процессу разрешается создавать дочерние процессы, тем самым, выполнять

функции родительского процесса.

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

145

Мультипрограммный режим работы ОС предполагает, что ядро ОС организует

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

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

Другой аспект концепции процесса, - понятие мультизадачного режима работы

ОС.

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

Для реализации такого режима были введены понятия легковесных процессов

(thin), которые теперь называют: потоки выполнения, нити или треды (threads).

Таким образом, хотя понятия мультипрограммного и мультизадачного режимов работы ОС - во многом похожи, между ними имеется существенное различие:

•мультипрограммый режим - средство распараллеливания работы процессов;

•мультизадачный режим — средство объединения процессов по их приклад-

ному назначению.

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

•главный процесс задачи создает клон (дочерний процесс) и завершает свою работу, не дожидаясь завершения работы дочернего процесса;

•клон продолжает функционировать, становясь дочерним процессом главного родительского процесса с номером PID=1;

•клон, при необходимости, порождает свои дочерние процессы, становясь главным процессом прикладного назначения (задачи).

Замечание

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

Зомби — процесс, прекративший свое целевое функционирование, но в силу своего некорректного взаимодействия с породившим его и завершившимся родительским процессом:

•перешел под управление главного родительского процесса с PID=1;

•находится под управлением ядра ОС, поскольку его PID не удален из систе-

мы.

Главный родительский процесс — процесс init:

•первый созданный ядром ОС и последний в работе системы;

•являющийся родителем для всех остальных процессов.

Источник: https://studfile.net/preview/16438529/