Основные виды ресурсов

 

1. Одним из важнейших ресурсов является процессорное время. Этот ресурс является разделяемым (делимым) и относится к используемому параллельно (попеременно). Существует множество методов разделения этого ресурса.

2. Вторым видом ресурса вычислительной системы считается память.

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

b) Внешняя память разделяется на два вида ресурсов:

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

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

 

3. Третьим видом ресурсов являются программные модули, которые могут быть разделены между выполняемыми процессами. На рис. 2 представлена классификация программных модулей.

 

a) Однократно используемыми программными модулями (ПМ) называются, модули, которые могут быть правильно выполненными только один раз. Это означает, что в процессе выполнения они могут изменить себя: либо повредить часть кода, либо – исходные данные, от которых зависит код выполнения. По этому, однократно используемые ПМ являются неделимым ресурсом. Обычно их не распределяют как ресурс системы и как правило, используют только на этапе загрузки ОС.

b) Повторно используемые программные модули могут быть нескольких типов: непривилегированными, привилегированными, реентерабельными, повторновходимые.

1.1 Привилегированные программные модули работают в привилегированном режиме, т.е. при отключенной системе прерываний. Таким образом, никакие внешние события не могут нарушить естественный порядок вычислений. Такой модуль выступает как попеременно (параллельно) разделяемый ресурс.

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

1.3 Реентерабельные программные модули – это ПМ, которые допускают повторное многократное свое прерывание во время выполнения и повторный запуск по обращению из других вычислительных процессов. Для этого реентерабельные ПМ должны быть созданы таким образом, чтобы обеспечить сохранение промежуточных вычислений для прерванных вычислений и возврат к ним, когда вычислительный процесс возобновляется с прерванной ранее точки. Это реализуется двумя способами: с помощью статических и динамических методов выделения памяти.

1.4. Повторновходимые программные модули – это модули, которые тоже допускают своё многократное параллельное использование, но, в отличие от реентерабельных, ПМ их выполнение нельзя прерывать. Повторновходимые ПМ состоят из привилегированных секций и повторное обращение к ним возможно только после завершения какой-нибудь из таких секций.

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