В. Столлингс - Операционные системы (1114679), страница 44
Текст из файла (страница 44)
В этой структуре данных инфор' |ита на следующие категории. Состояние. Состояние выполнения процесса (выполняющийся, го выполнению, приостановленный, остановленный, зомби), Информация по планированию. Информация, которая нужна опер системе 1Лпцх для планирования процессов. Процесс может быть об выполняющимся в реальном времени; кроме того, он обладает некотор оритетом. Процессы, выполняющиеся в реальном времени, планир обычных процессов. в каждой из категорий можно использовать относ 1 ';"уф приоритеты. Счетчик ведет отсчет времени, отведенного процессу. Идентификаторы.
Каждый процесс обладает своим собственным идеИ, катором, а также идентификаторами пользователя и группы. Идеи тор группы используется для того, чтобы назначить группе польз права доступа к ресурсам. ф",'Ь Обмен информацией между процессами. В операционной системе пользуется такой же механизм межпроцессного взаимодействия, как и':,: Рационной системе БХ1Х ВЪ'В4, описанной в главе б, *'Взаимоблоки зголодание*'. Связи. Каждый процесс содержит в себе связи с параллельными ему цессами, с родственными ему процессами (с которыми он имеет об дительский процесс) и связи со всеми своими дочерними процессами-"" "' Время и таймеры. Сюда входит время создания процесса, а также к.; ство процессорного времени, затраченного на данный процесс.
С про. также могут быть связаны интервальные таймеры 1один или нес Интервальный таймер задается в процессе с помощью системного после истечения периода таймера процессу отправляется соответствующий сигнал. Таймер может быть создан для одноразового или периодического использования.
Файловая система. Содержит в себе указатели на все файлы, открытые данным процессом. Виртуальная память. Определяет отведенную данному процессу виртуаль- ную память. Контекст, зависящий от процессора. Информация по регистрам и стеку, составляющая контекст данного процесса, На рис. 4.18 показаны состояния выполнения процесса. Выполняющийся.
Это состояние отвечает на самом деле двум состояниям: текущий процесс либо выполняется, либо готов к выполнению. е Прерываемый. Это состояние блокировки, в котором процесс ожидает наступления события, например, завершения операции ввода-вывода, освобождения ресурса или сигнала от другого процесса. е Непрерываемый. Это состояние блокировки другого рода. Его отличие от предыдущего состоит в том, что в непрерываемом состоянии процесс непосредственно ожидает выполнения какого-то аппаратного условия, поэтому он не воспринимает никаких сигналов.
е Остановленный. Процесс был остановлен и может быть продолжен только при соответствующем воздействии другого процесса. Например, процесс, который находится в состоянии отладки, может перейти в состояние остановки. ° Зомби. Процесс был прекращен, но по какой-то причине его структура остается в таблице процессов. ПОТОКИ В ЫаиХ В операционной системе 1.1ппх новый процесс создается путем копирования атрибутов текущего процесса. Новый процесс может быть клоиирован (с1опей); при этом такие ресурсы, как файлы, обработчики сигналов и виртуальная память, используются совместно. Если два процесса пользуются одной и той же виртуальной памятью, они функционируют как потоки в рамках одного и того же процесса. Однако для потоков структуры данных отдельно не задаются. Таким о им образом, в операционной системе 1.1пих потоки и процессы не различаются.
а 4 Потоки, симметричная мультипроцессорная обработка... 239 'ф~ отовый,",~ь' ~ Планирование ,ээ Событие Сигнал или сабытие Облегченный процесс Поток Поток на пользовательском уровне Поток на уровне ядра Процесс Симметричная многопроцессорная обработка Контрольные вопросы Рис. 4.18. Модель процессов и пототтов т.тих Часть 2. П, 4.7. РЕЗЮМЕ,' БЛЮЗОВЫЕ'".'.ТЕРМ И КОН'Ц',ОЛЩЬЫ,:::,В~ЯРДО В некоторых операционных системах различатотся понятия процесса т4;,.
ка; первый из них имеет отношение к владению ресурсами, а второй — к ' нению программы. Такой подход может привести к повышению эффекти', программы и удобен при составлении кода. В многопоточной системе в рам ного процесса есть возможность задавать несколько потоков. Для этого м пользовать либо потоки на пользовательском уровне, либо потоки на уров Потоки на пользовательском уровне остаются невидимыми для операцио темы, они создаются и управляются библиотекой потоков, которая вып пользовательском пространстве процесса.
Потоки на пользовательском очень эффективны, так как при их переключении не нужно переключать Работы процессора. Однако в одном процессе в каждый момент времени, выттолняться только один поток на пользовательском уровне. Если один т ток будет заблокирован, это приведет к блокированию всего процесса. По уровне ядра — это потоки, которые управляются ядром.
Благодаря тому. кие потоки распознаются ядром, в многопроцессорной системе могут пар выполняться несколько потоков одного и того же процесса„а блокирование. не приводит к блокированию всего процесса. Однако для переключения по уровне ядра нужно переклточать режим работы процессора. С . Р мног Роцессорн бработка — эт ой мет д орган зации аткогопроцессорной сттстемы, при котором каждый процесс или поток (в том числ „,опесс ядра) может выполняться на любом процессоре. В связи с использованием симметричной многопроцессорной архитектуры, обеспечивающей при равных уело „ях более высокую производительность по сравнению с однопроцессорной системой, „озппкактт новые аспекты архитектуры операционных систем. В последние годы болыпой интерес вызывает разработка операционных систеб. с микроядром.
В чистом виде операционная система с микроядром основана нв ечень маленьком микроядре, которое работает в режиме ядра и выполняет .отько самые важные и существенные функции операционной системы. Другие е функции реализованы тзк, что они выполняются в пользовательском режиме, ттрпменял мтткроядро только для важнейших сервисов. Дизайн с использованием микроядра способствует гибкой и модульной реализации; однако при этом встаттопросы пропзводи'тельности.
4.1. В табл. 3.5 перечислены типичные элементы, встречающиеся в управляющем блоке процесса операционной системы, в которой не используются потоки. Какие из них следует отнести к управляющему блоку потока, а какие — - к управляющему блоку процесса в многопоточной системе7 4.2. Перечислите причины, по которым переключение потоков обходится детлевле, чем переключение процессов. 4.3. Н .3 Назовите две различные и потенциально независимые характеристики, содержащиеся в понятии процесса. 4.4. П Прттведите четыре общих примера использования потоков в однопользовательской многопроцессорной системе.
45 . Какие ресурсы обычно совместно используются всеми потоками процесса7 46. Пе е Перечислите три преимущества потоков на пользовательском уровне над по гп тми на уровне ядра П пиве т иведите два недостатка потоков на пользовательском уровне по сравненпю г тютоками на уровне ядра. 4.3, ашетт., - - ". е краткое описание различных архитектур, приведенных на рис. 4.8. 49. Пе еречислите основные особенности архитектуры операционной системы вля многопроцессорной машины.
4.у ' О. Приве ите Р -дите примеры сервисов и функций, встречающихся в типичной мог олитн гной операционной системе, которые в операционной системе с микРоядром могли бы быть реализованы в виде внешних подсистем. 4- Потоки, симметричная мулътипроиессооная обттаботкя.. 2~Й1 4.6. 11. Назовите семь потенциальных преимуществ архитектуры операционн темы с микроядром по сравнению с монолитной операционной системой.: . 12. О ъясн . Об ните в чем заключаются потенциальные недостатки операц системы с микроядром, связанные с ее производительностью. 1З. Назовите три функции. которые, скорее всего, будут включены операционную систему с самым малым микроядром.
14. Назовите основную форму обмена информацией между процессами в рационной системе с микроядром. .8. РЕКОМЕНДУЕМАЯ ~~РАТУРА В [1.ЕЪЛ96] и [К1.Е196] представлены обзоры концепций потока и е стратегий программирования. В первом издании больше внимания у зсанию концепций, а во втором — программированию, но и в том и в юа изложена достаточно хорошо. В [РНАМ96] представлены средства гоками в операционной системе %'1пс)оюа ИТ, которые, по сути, ид ответствующим средствам операционной системы Ж[пс]о~Уз 20 2000.
В [МБКН96] приводится обсуждение вопросов, связанных с архи ерационных систем для многопроцессорных машин. В [СНАР97] сод ть статей, в которых идет речь о современных направлениях развития оцессорных операционных систем. Интересное обсуждение принципов'., «туры микроядра можно найти в [11ЕР95] и [1.1ЕР96]; во втором имание Фокусируется на вопросах производительности. НАР97 С?~ар1п Я., МассаЬе А., ес1в. МиЫргосевзог Орега?1щ Яувтепм:« Им Рочгег. — Ярес1а1 1ввие оХ ГЕЕЕ Сопсиптпсу, Арг11- 1ипе 1997. Л.Е196 К1еипап Я., ЯЬаЬ Р., Ята)Ыегв В.