Распределение ресурсов ЭВМ между процессами 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Распределение ресурсов ЭВМ между процессами



Понятие ресурса в контексте ОС подразумевает сам объект (запас), а не показатель надежности объекта. Для него характерны два определения:

Определение 1. Всякий используемый потребителем объект (независимо от формы его существования) является ресурсом.

Из анализа свойств ресурса можно сделать следующие выводы:

· ресурсы бывают исчерпаемые и неисчерпаемые;

· исчерпаемость ресурсов может вызывать конфликты среди потребителей ресурсов;

· значит, ресурсы надо распределять между потребителями по правилам, устраивающим всех.

Поэтому распределение ресурсов – важнейшая функция ОС.

Можно уточнить смысл ресурса применительно к компьютеру, который содержит функциональные элементы: процессор, ОП, внешнюю память, принтеры. Все это ресурсы, ценные для развития процессов. Степень детализации ресурса может варьироваться от целого компьютера до 1 разряда его машинного слова.

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

Определение 2. Ресурс – средство ВС, которое может быть выделено процессу на определенный интервал времени.

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

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

Часто процесс определяется как программа в стадии выполнения. Но если программа – статический объект, представляющий файл с кодами и данными, то процесс – динамический объект ОС, возникающий в системе после того, как пользователь или ОС решает запустить программу на выполнение, то есть создать новую единицу вычислительной работы.

Итак, после запуска программы создается соответствующий ей процесс, которому выделяются ресурсы ЭВМ. Каждый процесс получает адресное пространство в ОЗУ, содержащее стек, регистры, счетчик команд и другие необходимые элементы. Также ресурсами являются время процессора и доступ к устройствам ввода-вывода.

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

1 - создание – подготовка условий для исполнения процессором;

2 - выполение – непосредственное исполнение процессором;

3 - ожидание по причине занятости какого-либо требуемого ресурса;

4 - готовность – процесс не исполняется, но все необходимые для выполнения процесса, кроме времени процессора, предоставлены;

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

Состав допустимых состояний и переходов можно проиллюстрировать графом существования процесса (ГСП) (рис.3).

                                

Рис.3.Граф существования процесса.

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

Специальная программа планировщик, являющаяся частью ОС, распределяет ресурсы ЭВМ между процессами. Таким образом, процессы конкурируют за ресурсы. Каждый процесс имеет приоритет, в соответствии с которым он получает ресурсы ЭВМ. Наибольший приоритет имеют компоненты ОС, наименьший – программы пользователя. Приоритет процесса зависит также от частоты запроса процессом ресурсов. Чем более требователен процесс к ресурсам, тем он имеет более высокий приоритет.

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

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

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



Поделиться:


Последнее изменение этой страницы: 2021-01-08; просмотров: 208; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.21.93.44 (0.005 с.)