Операционные системы. Учебное пособие. Марапулец Ю.В. - 44 стр.

UptoLike

Составители: 

ГЛАВА 2. ОРГАНИЗАЦИЯ МНОГОЗАДАЧНОСТИ В СОВРЕМЕННЫХ ОС
§ 2.1. Общие принципы организации многозадачности
2.1.1. Основные понятия и определения
Как было указано выше понятие процесса было введено для реализации идей мно-
гозадачности. Необходимо различать системные управляющие процессы, представ-
ляющие работу супервизора операционной системы и занимающиеся распределением и
управлением ресурсов, от всех других. Для системных управляющих процессов в боль-
шинстве операционных систем ресурсы распределяются изначально и однозначно. Эти
процессы управляют ресурсами системы, поэтому обычно их не принято называть зада-
чами. Термин же задача обычно употребляют только по отношению к процессам поль-
зователей. Но это справедливо не для всех ОС. Например, в так называемых «микро-
ядерных» ОС (в качестве примера можно привести ОС реального времени QNX)
большинство управляющих программных модулей самой системы и даже драйверы
имеют статус высокоприоритетных процессов, для выполнения которых необходимо
выделить соответствующие ресурсы. Аналогично и в UNIX-системах выполнение сис-
темных программных модулей тоже имеет статус системных процессов, которые полу-
чают ресурсы для своего исполнения.
Если обобщать и рассматривать не только обычные ОС общего назначения, но и,
например, ОС реального времени, то можно сказать, что процесс может находиться в
активном и пассивном состоянии. В активном состоянии процесс может участвовать
в конкуренции за использование ресурсов вычислительной системы, а в пассивном - он
только известен системе, но в конкуренции не участвует (хотя его существование в сис-
теме и сопряжено с предоставлением ему оперативной и/или внешней памяти).
В свою очередь, активный процесс может быть в одном из следующих состояний
[2, 5]:
выполнения - все затребованные процессом ресурсы выделены. В этом состоянии в
каждый момент времени может находиться только один процесс, если речь идет об
однопроцессорной вычислительной системе;
готовности к выполнению - ресурсы могут быть предоставлены, тогда процесс пе-
рейдет в состояние выполнения;
блокирования или ожидания - затребованные ресурсы не могут быть предоставле-
ны, или не завершена операция ввода/вывода.
В большинстве операционных систем последнее состояние, в свою очередь, под-
разделяется на множество состояний ожидания, соответствующих определенному виду
ресурса, из-за отсутствия которого процесс переходит в заблокированное состояние.
В обычных ОС, как правило, процесс появляется при запуске какой-нибудь про-
граммы. Система создает для нового процесса соответствующий дескриптор (описа-
тель) процесса, и он начинает выполняться. Поэтому пассивного состояния в обычных
ОС не существует. В ОС реального времени (ОСРВ) ситуация иная. Обычно при проек-
тировании системы реального времени уже заранее известен состав программ, которые
должны будут выполняться. Известны и многие их параметры, которые необходимо
учитывать при распределении ресурсов (например, объем памяти, приоритет, средняя
длительность выполнения, открываемые файлы, используемые устройства и т. п.). По-
этому для них заранее заводят дескрипторы задач с тем, чтобы впоследствии не тратить
драгоценное время на организацию дескриптора и поиск для него необходимых ресур-
сов. Таким образом, в ОСРВ многие процессы (задачи) могут находиться в состоянии
бездействия, что показано на рис.2.1 пунктиром [2].
46
     ГЛАВА 2. ОРГАНИЗАЦИЯ МНОГОЗАДАЧНОСТИ В СОВРЕМЕННЫХ ОС

     § 2.1. Общие принципы организации многозадачности

     2.1.1. Основные понятия и определения

       Как было указано выше понятие процесса было введено для реализации идей мно-
гозадачности. Необходимо различать системные управляющие процессы, представ-
ляющие работу супервизора операционной системы и занимающиеся распределением и
управлением ресурсов, от всех других. Для системных управляющих процессов в боль-
шинстве операционных систем ресурсы распределяются изначально и однозначно. Эти
процессы управляют ресурсами системы, поэтому обычно их не принято называть зада-
чами. Термин же задача обычно употребляют только по отношению к процессам поль-
зователей. Но это справедливо не для всех ОС. Например, в так называемых «микро-
ядерных» ОС (в качестве примера можно привести ОС реального времени QNX)
большинство управляющих программных модулей самой системы и даже драйверы
имеют статус высокоприоритетных процессов, для выполнения которых необходимо
выделить соответствующие ресурсы. Аналогично и в UNIX-системах выполнение сис-
темных программных модулей тоже имеет статус системных процессов, которые полу-
чают ресурсы для своего исполнения.
       Если обобщать и рассматривать не только обычные ОС общего назначения, но и,
например, ОС реального времени, то можно сказать, что процесс может находиться в
активном и пассивном состоянии. В активном состоянии процесс может участвовать
в конкуренции за использование ресурсов вычислительной системы, а в пассивном - он
только известен системе, но в конкуренции не участвует (хотя его существование в сис-
теме и сопряжено с предоставлением ему оперативной и/или внешней памяти).
       В свою очередь, активный процесс может быть в одном из следующих состояний
[2, 5]:
• выполнения - все затребованные процессом ресурсы выделены. В этом состоянии в
     каждый момент времени может находиться только один процесс, если речь идет об
     однопроцессорной вычислительной системе;
• готовности к выполнению - ресурсы могут быть предоставлены, тогда процесс пе-
     рейдет в состояние выполнения;
• блокирования или ожидания - затребованные ресурсы не могут быть предоставле-
     ны, или не завершена операция ввода/вывода.
       В большинстве операционных систем последнее состояние, в свою очередь, под-
разделяется на множество состояний ожидания, соответствующих определенному виду
ресурса, из-за отсутствия которого процесс переходит в заблокированное состояние.
       В обычных ОС, как правило, процесс появляется при запуске какой-нибудь про-
граммы. Система создает для нового процесса соответствующий дескриптор (описа-
тель) процесса, и он начинает выполняться. Поэтому пассивного состояния в обычных
ОС не существует. В ОС реального времени (ОСРВ) ситуация иная. Обычно при проек-
тировании системы реального времени уже заранее известен состав программ, которые
должны будут выполняться. Известны и многие их параметры, которые необходимо
учитывать при распределении ресурсов (например, объем памяти, приоритет, средняя
длительность выполнения, открываемые файлы, используемые устройства и т. п.). По-
этому для них заранее заводят дескрипторы задач с тем, чтобы впоследствии не тратить
драгоценное время на организацию дескриптора и поиск для него необходимых ресур-
сов. Таким образом, в ОСРВ многие процессы (задачи) могут находиться в состоянии
бездействия, что показано на рис.2.1 пунктиром [2].



                                         46