Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Дескриптор процесса в ОС UNIX. Контекст процесса. (5-2)




Структура процесса

Состояние системы

Структура процесса ОС UNIX. Состояние системы и виды взаимодействия в ОС UNIX. (25-2)

В каждый момент времени процессор компьютера может находиться в одном из трех состояний:

· Система – если выполняется команда ядра ОС.

· Процесс [1]– если выполняется команда пользовательского процесса.

· Ожидание – если в системе нет процессов, готовых к выполнению.

Переход «Система» -> «Процесс» осуществляется, когда запускается пользовательский процесс.

Переход «Процесс» -> «Система» может быть вызван одной из следующих причин:

· Прерывание по таймеру.

· Прерывание от устройств ввода/вывода.

· Обработка системного вызова.

Переход «Процесс» -> «Ожидание» когда нет потоков, готовых к выполнению.

Переход «Ожидание» -> «Процесс» при запуске программы.

Переход «Ожидание» -> «Система» НЕВОЗМОЖЕН!!

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

Для готовых к выполнению процессов активизируется процесс, имеющий наивысший приоритет.

Прерывание от устройств ввода/вывода возникает в момент окончания обмена информацией между ОП и периферийным устройством, т.е. когда устройство сообщает системе о завершении операции ввода/вывода.

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

Часто объем основной памяти не позволяет разместить в ней все имеющиеся процессы, часть располагается на внешней памяти в области свопинга.

Структуру процесса в момент нахождения его в ОП можно представить следующим образом:

1. Контекст процесса – таблица, в которой храниться системная информация о процессе, при его нахождении в ОП.

2. Процедурный сегмент – машинные команды и константы.

3. Сегмент данных – проинициализированные данные, которые могут изменяться в процессе работы.

4. Динамический сегмент – выделяется при загрузке исполняемого файла в ОП и содержит данные, не инициализируемые при компиляции.

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

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

Доступ к контексту процесса имеет только ядро ОС. Область контекста не относиться к адресному пространству процесса, однако контекст подвергается свопингу совместно с процедурным сегментом и сегментом данных.

В целом контекст процесса – структура данных, включающая

· Машинные регистры.

· Состояние системного вызова – информация о текущем системном вызове, включающая параметры и результат.

· Таблица пользовательских дескрипторов файлов – вся информация о файлах, открытых в данном процессе.

· Учетная информация – указатель на таблицу, учитывающую процессорное время, использованное процессом.

· Стек ядра – фиксированный стек для работы процесса в режиме ядра.

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

В таблице процессов содержатся дескрипторы процессов.

Дескриптор процесса в ОС UNIX содержит следующую информацию:

· Идентификатор (PID).

· Состояние.

· Идентификатор родительского процесса (PPID).

· Идентификатор пользователя (UID).

· Идентификатор группы (GID).

· События, ожидаемые процессом (если есть).

· Время до истечения интервала будильника.

· Маска сигналов, указывающая, какие сигналы [2]игнорируются, какие перехватываются и какие заблокированы.

· Приоритеты (3 поля).

· Временной интервал, в течение которого процессу было выделено время ЦП.

· Указатели на процедурный сегмент, сегмент данных и динамический сегмент (если используется страничная организация памяти, то указатели на соответствующие этим сегментам таблицы страниц).

· Указатель внешней памяти (указатели как найти процесс во внешней памяти, если его нет в ОП).




Поделиться с друзьями:


Дата добавления: 2014-01-20; Просмотров: 1387; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.007 сек.