Реентерабельная программа - Большая Энциклопедия Нефти и Газа, статья, страница 2
В развитом обществе "слуга народа" семантически равен "властелину народа". Законы Мерфи (еще...)

Реентерабельная программа

Cтраница 2


Программы, которые сохраняют первоначальный вид в любой момент времени в процессе выполнения, называются реентерабельными. Сложность реализации реентерабельных программ искупается сокращением времени на повторную загрузку модуля в основную память и тем, что нет необходимости повторно загружать в память одну и ту же программу, требуемую различными задачами. Многие модули управляющей программы оформлены как реентерабельные. Реентерабельные программы правильно выполняются и в том случае, если ключ защиты ее памяти не совпадает с ключом защиты памяти задачи, для которой она выполняется. Объясняется это тем, что реентерабельная программа не изменяет своих адресов.  [16]

Регистровый запрос аналогичен элементарному, только адрес выделенного участка памяти будет помещен в регистр. Это позволяет выделять память посредством регистрового запроса реентерабельным программам, не привязанным к определенным участкам памяти. Реентерабельные программы могут получать основную память только по регистровому запросу.  [17]

Пусть модуль очереди разработан таким образом, что элементы извлекаются из очереди путем сдвига всех элементов в буфере памяти, как предполагалось в упр. Каким образом такая организация очереди влияет на работу реентерабельных программ, функционирующих так, как указано в сноске к разд.  [18]

Предусматриваются три формы макрокоманды LINEDIT: стандартная, описательная и исполнительная. Использование стандартной формы макрокоманды в программе не всегда обеспечивает получение реентерабельной программы. Для получения реентерабельной программы следует использовать описательную форму вместе с исполнительной формой макрокоманды. Стандартная и исполнительная формы обеспечивают выполнение макрокоманды, а описательная форма обеспечивает лишь резервирование области памяти для списка параметров.  [19]

20 Реентерабельные программы. [20]

Реентерабельностью называют свойство программы, позволяющее нескольким задачам одновременно пользоваться одной ее копией, размещенной в памяти. От обычной программы реентерабельная отличается тем, что очередная задача может воспользоваться ею, не ожидая завершения работы программы в другой задаче, иначе говоря, в одной и той же реентерабельной программе могут находиться несколько задач в разной степени завершенности. На рис. 4.7 демонстрируется использование реентерабельной программы.  [21]

Регистровый запрос аналогичен элементарному, только адрес выделенного участка памяти будет помещен в регистр. Это позволяет выделять память посредством регистрового запроса реентерабельным программам, не привязанным к определенным участкам памяти. Реентерабельные программы могут получать основную память только по регистровому запросу.  [22]

В аспекте программирования процесс в имитационной модели является программой, оперирующей с множеством наборов данных таким образом, что обработка одного набора в общем случае производится за несколько этапов, отделенных друг от друга этапами обработки других наборов данных того же класса. Программы такого типа, называемые реентерабельными, достаточно специфичны для вычислительной практики. Примером реентерабельных программ могут служить трансляторы с алгоритмических языков в многоабонентских системах, обеспечивающие псевдопараллельную трансляцию нескольких программ. В оперативной памяти ЭВМ при этом хранится единственная копия транслятора, обрабатывающая поступающие с терминалов тексты. При любой приостановке трансляции, например в случае обнаружения синтаксической ошибки, сообщение о которой должно быть выведено, трансляция данного текста приостанавливается и осуществляется переход на трансляцию другого текста. По завершении вывода прерванная трансляция продолжается с точки приостановки.  [23]

Предусматриваются три формы макрокоманды LINEDIT: стандартная, описательная и исполнительная. Использование стандартной формы макрокоманды в программе не всегда обеспечивает получение реентерабельной программы. Для получения реентерабельной программы следует использовать описательную форму вместе с исполнительной формой макрокоманды. Стандартная и исполнительная формы обеспечивают выполнение макрокоманды, а описательная форма обеспечивает лишь резервирование области памяти для списка параметров.  [24]

Физически в оперативной памяти выделяется один непрерывный участок ( район) для нижнего сегмента, сегмента программы и данных. RTS и программа в памяти могут быть разделены. RTS представляет собой реентерабельную программу, одна копия которой одновременно используется несколькими разными программами. Для свободного сегмента физическая память не выделяется.  [25]

26 Реентерабельные программы. [26]

Реентерабельностью называют свойство программы, позволяющее нескольким задачам одновременно пользоваться одной ее копией, размещенной в памяти. От обычной программы реентерабельная отличается тем, что очередная задача может воспользоваться ею, не ожидая завершения работы программы в другой задаче, иначе говоря, в одной и той же реентерабельной программе могут находиться несколько задач в разной степени завершенности. На рис. 4.7 демонстрируется использование реентерабельной программы.  [27]

Выше были рассмотрены макрокоманды READ и WRITE в так называемой стандартной форме. Кроме нее для этих макрокоманд в ОС ЕС предусмотрены еще две формы: описательная и исполнительная, которые используются совместно и выполняют те же функции, что и стандартная форма. Макрокоманды в описательной и исполнительной формах обычно применяются для создания реентерабельных программ, а также в режиме обновления наборов данных, но могут использоваться и в других случаях организации обмена данными.  [28]

Когда системные ресурсы делятся между несколькими программами, то каждая программа должна быть защищена от случайного или предумышленного воздействия со стороны другого задания. Например, каналы ввода-вывода - это ресурсы, которые могут совместно использоваться несколькими заданиями. Другими разделяемыми ресурсами, вопросы управления которыми будут обсуждаться в этой главе несколько позже, являются основная память, время центрального процессора, реентерабельные программы и устройства прямого доступа. Обычный механизм защиты, который сочетает в себе как аппаратные, так и программные средства, предотвращает злоупотребление разделяемыми ресурсами. Вычислительные машины, спроектированные для мультипрограммирования, работают в двух режимах. В непривилегированном режиме некоторые команды, такие, как команды запуска или остановки устройства ввода-вывода, или изменения режима работы системы, являются запрещенными. Все программы пользователей, а также обрабатывающие программы, поставляемые фирмами-изготовителями, выполняются в непривилегированном режиме. В привилегированном режиме, когда допустимыми являются все правильные машинные команды, может выполняться только управляющая программа операционной системы. Таким образом; программа пользователя не может непосредственно сама инициировать операцию ввода-вывода, а должна предоставить управляющей программе всю информацию, необходимую для выполнения данной операции. Эта информация обычно собирается в слове команды канала ( Channel Command Word - CCW), которое указывает тип операции, количество байтов, которые должны быть переданы, адрес, с которого начинается область основной памяти, участвующая в передаче данных, а также указывает, о каких типах сбоев при выполнении операции необходимо сигнализировать и является ли данное слово последним в некой цепочке слов CCW. Содержимое слов CCW формируется, непривилегированной программой. Когда требуется выполнить операцию ввода-вывода, такая программа передает супервизору адрес первого CCW. Правильность каждого запроса на ввод-вывод данных проверяется супервизором ввода-вывода, который ыполняет соответствующие действия. Аналогично, о завершении операции ввода-вывода сначала сигнализируется супервизору. Тот-же самый механизм защищает систему от ошибочных действий пользовательских программ, например, таких, как деление на нуль или попытка записать или прочитать из защищенной области основной памяти.  [29]

Программы, которые сохраняют первоначальный вид в любой момент времени в процессе выполнения, называются реентерабельными. Сложность реализации реентерабельных программ искупается сокращением времени на повторную загрузку модуля в основную память и тем, что нет необходимости повторно загружать в память одну и ту же программу, требуемую различными задачами. Многие модули управляющей программы оформлены как реентерабельные. Реентерабельные программы правильно выполняются и в том случае, если ключ защиты ее памяти не совпадает с ключом защиты памяти задачи, для которой она выполняется. Объясняется это тем, что реентерабельная программа не изменяет своих адресов.  [30]



Страницы:      1    2    3