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

UptoLike

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

нельзя считать разделяемыми, потому, что если после прерывания его запустить еще раз
по требованию другого вычислительного процесса, то промежуточные результаты для
прерванных вычислений могут быть потеряны. В противоположность этому, реентера-
бельные программные модули допускают повторное многократное прерывание своего
исполнения и повторный их запуск по обращению из других задач. Для этого реентера-
бельные программные модули должны быть созданы таким образом, чтобы было обес-
печено сохранение промежуточных вычислений для прерываемых вычислений и возврат
к ним, когда вычислительный процесс возобновляется с прерванной ранее точки (рис.5)
[2].
Рис. 4. Структура привилегированного программного модуля
Рис. 5. Структура реентерабельного программного модуля
Основная идея построения и работы реентерабельного программного модуля,
структура которого представлена на рис.5, заключается в том, что в первой (головной)
своей части с помощью обращения из системной привилегированной секции осуществ-
ляется запрос на получение в системной области памяти блока ячеек, необходимого для
размещения всех текущих (промежуточных) данных. При этом на вершину стека поме-
щается указатель на начало области данных и ее объем. Все текущие переменные про-
граммного модуля в этом случае располагаются в системной области памяти. Поскольку
в конце привилегированной секции система прерываний включается, то во время работы
центральной (основной) части реентерабельного модуля возможно ее прерывание. Если
12
нельзя считать разделяемыми, потому, что если после прерывания его запустить еще раз
по требованию другого вычислительного процесса, то промежуточные результаты для
прерванных вычислений могут быть потеряны. В противоположность этому, реентера-
бельные программные модули допускают повторное многократное прерывание своего
исполнения и повторный их запуск по обращению из других задач. Для этого реентера-
бельные программные модули должны быть созданы таким образом, чтобы было обес-
печено сохранение промежуточных вычислений для прерываемых вычислений и возврат
к ним, когда вычислительный процесс возобновляется с прерванной ранее точки (рис.5)
[2].




                    Рис. 4. Структура привилегированного программного модуля




                     Рис. 5. Структура реентерабельного программного модуля

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

                                           12