Составители:
файлом можно работать монопольно, а можно и совместно с другими задачами. Если в
системе имеется некоторая совокупность ресурсов, то управлять их использованием
можно на основе определенной стратегии. Стратегия подразумевает четкую формули-
ровку целей, следуя которым можно добиться эффективного распределения ресурсов.
При организации управления ресурсами всегда требуется принять решение о том,
что в данной ситуации выгоднее: быстро обслуживать отдельные наиболее важные за-
просы, предоставлять всем процессам равные возможности, либо обслуживать макси-
мально возможное количество процессов и наиболее полно использовать ресурсы.
Рассмотрим кратко основные виды ресурсов вычислительной системы и способы
их разделения (рис. 1). Прежде всего, одним из важнейших ресурсов является сам про-
цессор, точнее - процессорное время. Обычно процессорное время делится поперемен-
но (видимость параллельности).
Вторым видом ресурсов вычислительной системы можно считать память.
Оперативная память может быть разделена и одновременным способом и поперемен-
но (в зависимости от размера свободной памяти). Когда говорят о внешней памяти (на-
пример, память на магнитных дисках), то собственно память и доступ к ней считаются
разными видами ресурса. Каждый из этих ресурсов может предоставляться независимо
от другого. Но для полной работы с внешней памятью необходимо иметь оба этих ре-
сурса. Собственно внешняя память может разделяться одновременно, а доступ к ней -
попеременно.
Если говорить о внешних устройствах, то они, как правило, могут разделяться
параллельно, если используются механизмы прямого доступа. Если же устройство ра-
ботает с последовательным доступом, то оно не может считаться разделяемым ресурсом.
Очень важным видом ресурсов являются программные модули. Прежде всего,
следует рассматривать системные программные модули, поскольку именно они обычно
и рассматриваются как программные ресурсы и могут быть распределены между выпол-
няющимися процессами.
Программные модули могут быть однократно и многократно (или повторно) ис-
пользуемыми. Однократно используемыми называют такие программные модули, кото-
рые могут быть правильно выполнены только один раз. Это означает, что в процессе
своего выполнения они могут испортить себя: либо повреждается часть кода, либо - ис-
ходные данные, от которых зависит ход вычислений. Очевидно, что однократно ис-
пользуемые программные модули являются неделимым ресурсом. Более того, их обыч-
но вообще не распределяют как ресурс системы. Системные однократно используемые
программные модули, как правило, используются только на этапе загрузки ОС. При
этом следует иметь в виду тот очевидный факт, что собственно двоичные файлы, кото-
рые обычно хранятся на системном диске и в которых и записаны эти модули, не пор-
тятся, а потому могут быть повторно использованы при следующем запуске ОС.
Повторно используемые программные модули, в свою очередь, могут быть не-
привилегированными, привилегированными и реентерабельными.
Привилегированные программные модули работают в так называемом привилеги-
рованном режиме, то есть при отключенной системе прерываний, так, что никакие
внешние события не могут нарушить естественный порядок вычислений. В результате
программный модуль выполняется до своего конца, после чего он может быть вновь вы-
зван на исполнение из другой задачи (другого вычислительного процесса). Таким обра-
зом, такой модуль будет выступать как попеременно разделяемый ресурс. Структура
привилегированных программных модулей изображена на рис. 4 [2]. Здесь в первой сек-
ции программного модуля выключается система прерываний. В последней секции, на-
против, эта система включается.
Непривилегированные программные модули - это обычные программные модули,
которые могут быть прерваны во время своей работы. Следовательно, в общем случае их
11
файлом можно работать монопольно, а можно и совместно с другими задачами. Если в системе имеется некоторая совокупность ресурсов, то управлять их использованием можно на основе определенной стратегии. Стратегия подразумевает четкую формули- ровку целей, следуя которым можно добиться эффективного распределения ресурсов. При организации управления ресурсами всегда требуется принять решение о том, что в данной ситуации выгоднее: быстро обслуживать отдельные наиболее важные за- просы, предоставлять всем процессам равные возможности, либо обслуживать макси- мально возможное количество процессов и наиболее полно использовать ресурсы. Рассмотрим кратко основные виды ресурсов вычислительной системы и способы их разделения (рис. 1). Прежде всего, одним из важнейших ресурсов является сам про- цессор, точнее - процессорное время. Обычно процессорное время делится поперемен- но (видимость параллельности). Вторым видом ресурсов вычислительной системы можно считать память. Оперативная память может быть разделена и одновременным способом и поперемен- но (в зависимости от размера свободной памяти). Когда говорят о внешней памяти (на- пример, память на магнитных дисках), то собственно память и доступ к ней считаются разными видами ресурса. Каждый из этих ресурсов может предоставляться независимо от другого. Но для полной работы с внешней памятью необходимо иметь оба этих ре- сурса. Собственно внешняя память может разделяться одновременно, а доступ к ней - попеременно. Если говорить о внешних устройствах, то они, как правило, могут разделяться параллельно, если используются механизмы прямого доступа. Если же устройство ра- ботает с последовательным доступом, то оно не может считаться разделяемым ресурсом. Очень важным видом ресурсов являются программные модули. Прежде всего, следует рассматривать системные программные модули, поскольку именно они обычно и рассматриваются как программные ресурсы и могут быть распределены между выпол- няющимися процессами. Программные модули могут быть однократно и многократно (или повторно) ис- пользуемыми. Однократно используемыми называют такие программные модули, кото- рые могут быть правильно выполнены только один раз. Это означает, что в процессе своего выполнения они могут испортить себя: либо повреждается часть кода, либо - ис- ходные данные, от которых зависит ход вычислений. Очевидно, что однократно ис- пользуемые программные модули являются неделимым ресурсом. Более того, их обыч- но вообще не распределяют как ресурс системы. Системные однократно используемые программные модули, как правило, используются только на этапе загрузки ОС. При этом следует иметь в виду тот очевидный факт, что собственно двоичные файлы, кото- рые обычно хранятся на системном диске и в которых и записаны эти модули, не пор- тятся, а потому могут быть повторно использованы при следующем запуске ОС. Повторно используемые программные модули, в свою очередь, могут быть не- привилегированными, привилегированными и реентерабельными. Привилегированные программные модули работают в так называемом привилеги- рованном режиме, то есть при отключенной системе прерываний, так, что никакие внешние события не могут нарушить естественный порядок вычислений. В результате программный модуль выполняется до своего конца, после чего он может быть вновь вы- зван на исполнение из другой задачи (другого вычислительного процесса). Таким обра- зом, такой модуль будет выступать как попеременно разделяемый ресурс. Структура привилегированных программных модулей изображена на рис. 4 [2]. Здесь в первой сек- ции программного модуля выключается система прерываний. В последней секции, на- против, эта система включается. Непривилегированные программные модули - это обычные программные модули, которые могут быть прерваны во время своей работы. Следовательно, в общем случае их 11
Страницы
- « первая
- ‹ предыдущая
- …
- 7
- 8
- 9
- 10
- 11
- …
- следующая ›
- последняя »