КАТЕГОРИИ: Архитектура-(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; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |