logo search
ОТВЕТЫ НА ГОСы (все ответы)

2. Понятие вычислительного процесса и ресурса, классификация ресурсов, основные виды ресурсов. (спо)

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

Ресурсы – неделимые и делимые, делимые – используемые одновременно и попеременно.

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

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

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

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

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

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

5) Еще одним видом ресурсов являются программные модули. Рассмотрим системные программные модули, т.к. именно они могут рассматриваться как программные ресурсы. Программные модули могут быть однократно и многократно или повторно используемыми. Однократно используемыми называют такие программные модули, которые могут быть правильно выполнены только один раз. Это означает, что в процессе выполнения они могут испортить себя: либо повреждается часть кода, либо - исходные данные, от которых зависит ход вычислений. Однократно используемые программные модули являются неделимым ресурсом. Обычно их не распределяют как ресурс системы, они используются только на этапе загрузки ОС. При этом собственно двоичные файлы, которые хранятся на системном диске и в которых записаны эти модули, не портятся, и могут быть повторно использованы при следующем запуске ОС.

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

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

Непривилегированные программные модули – это обычные программные модули, которые могут быть прерваны во время работы. В общем случае их нельзя считать разделяемыми, потому что если после прерывания выполнения такого модуля, исполняемого в рамках одного вычислительного процесса, запустить его еще раз по требованию другого вычислительного процесса, то промежуточные результаты для прерванных вычислений могут быть потеряны.В противоположность этому, реентерабельные программные модули допускают повторное многократное прерывания своего исполнения и повторный их запуск из других задач. Для этого реентерабельные программные модули должны быть созданы таким образом, чтобы было обеспечено сохранение промежуточных вычислений для прерываемых вычислений и возврат к ним, когда вычислительный процесс возобновляется с прерванной ранее точки. Это может быть реализовано двумя способами: с помощью статических и динамических методов выделения памяти под сохраняемые значения. Кроме реентерабельных программных модулей существуют еще повторно входимые. Это программные модули, которые допускают многократное параллельное использование, но в отличие от реентерабельных их нельзя прерывать. 6) Информационные ресурсы, т.е. данные. Они могут существовать как в виде переменных, находящихся в оперативной памяти, так и в виде файлов. Если процессы используют данные только для чтения, то такие информационные ресурсы можно разделять. Если же процессы могут изменять информационные ресурсы, то необходимо специальным образом организовывать работу с такими данными