Cтраница 3
Регистры в свою очередь могут содержать фактические данные или адреса только тех данных, которые имеют отношение к запрашивающей программе. Абсолютная программа должна знать формат передаваемых данных, чтобы иметь возможность обращаться к отдельным элементам области переданных данных. [31]
Хотя с функциональной точки зрения абсолютные программы имеют больший объем и меньшее быстродействие, чем единая для всех копия, их использование позволяет сократить общий объем памяти, используемый прикладными программами. Абсолютные программы могут сократить также общее время обработки, так как благодаря им уменьшается частота обмена программами или страницами. [32]
Третьим решением проблемы многократного использования программ является применение абсолютной программы ( reentrant program, pure code), закодированной таким образом, что она не может самомодифицироваться, а участки, закрепленные за ней в главной памяти, не могут изменяться во время ее выполнения. Благодаря использованию абсолютных программ операционная система и аппаратные средства могут прерывать стандартную подпрограмму в процессе ее выполнения ( при обработке какого-либо сообщения), чтобы обеспечить обработку сообщения с более высоким приоритетом. Впоследствии обработка первоначального сообщения может быть продолжена в той точке, в которой она была прервана. [33]
![]() |
Блок-схема алгоритма анализа значения флажка Данные готовы в регистре состояния входного порта канала последовательной передачи данных. [34] |
Абсолютная программа представляет собой программу, местоположение которой в памяти постоянно. На рис. 13.9, а представлена абсолютная программа, а на рис. 13.9, б-относительная, или перемещаемая, программа. [35]
Файлы, для которых необходимо разрабатывать процедуры-защиты и восстановления, отнюдь не ограничиваются базами данных, хранящимися в ЗУ с прямым доступом. Они включают очереди сообщений, приоритетные очереди программ, списки указателей абсолютных программ, таблицы преобразования кодов, программные файлы объектных кодов, файлы системного учета и составления счетов. Ни один из перечисленных выше файлов не является информационным файлом в обычном смысле. Некоторые из этих файлов могут храниться в памяти центрального процессора, другие - в буферной памяти машины, ( intelligent front end), а третьи - в обычных ЗУ с прямым доступом, использование которых для хранения файлов характерно. [36]
Файлы, для которых необходимо разрабатывать процедуры защиты и восстановления, отнюдь не ограничиваются базами данных, хранящимися в ЗУ с прямым доступом. Они включают очереди сообщений, приоритетные очереди программ, списки указателей абсолютных программ, таблицы преобразования кодов, программные файлы объектных кодов, файлы системного учета и составления счетов. Ни один из перечисленных выше файлов не является информационным файлом в обычном смысле. Некоторые из этих файлов могут храниться в памяти центрального процессора, другие - в буферной памяти машины ( intelligent front end), а третьи - в обычных ЗУ с прямым доступом, использование которых для хранения файлов характерно. [37]
Программы, составленные в таком виде, называются программами в машинном коде ( или абсолютными программами) - только такие программы машина и способна выполнять непосредственно. [38]
Абсолютные программы на языке компилятора не следует использовать при обработке больших по объему системных модулей, так как они выполняются с меньшей скоростью, чем программы на языке ассемблера. В случае же небольших программ, когда скорость выполнения менее важна, чем простота программирования или же быстрота приведения системы в действие, применение абсолютных программ на языке компилятора может быть оправдано. [39]
Прибор PW 1270 обеспечивается аналитическими программами трех типов, причем соответствующая программа выбирается заранее до того, как анализируется партия образцов. Эти программы носят название абсолютная, контрольная и относительная. Абсолютная программа накапливает отсчеты за фиксированное время для каждого элемента, тогда как контрольная измеряет время, затраченное на накопление заранее заданного числа отсчетов в каждом контролируемом канале. В обоих режимах спектрометр может принимать одновременно до пяти неизвестных образцов; в то время как измеряется один образец, другой вводится или удаляется через шлюз. В относительной программе образец измеряется в течение времени, предварительно затраченного на измерение стандарта, с тем чтобы накопить фиксированное число импульсов для одного и того же элемента. Следовательно, в течение некоторого времени спектрометр может обрабатывать лишь один образец, так как другие позиции заняты стандартами. Одновременно может быть введено до трех стандартов. Данные каждого канала могут быть представлены в виде таблицы, отпечатанной на печатающем устройстве ЭВМ, или введены в процессор или внешнюю ЭВМ для последующей обработки. [40]
Третья проблема - сохранение и восстановление информации, необходимой для продолжения обработки прерванного сообщения - решается несколько труднее. Большинство операционных систем при обработке прерывания запоминает текущее состояние ЭВМ и текущий адрес команды. Программист, составляющий абсолютную программу, должен, кроме того, обеспечить запоминание указателя адреса я всех промежуточных и конечных результатов, полученных до прерывания. Если программа пишется для мини - ЭВМ, в которой нет операционной системы, то и здесь необходимо предусматривать запоминание текущего адреса команды. [41]
Третья проблема - сохранение и восстановление информации, необходимой для продолжения обработки прерванного сообщения - решается несколько труднее. Большинство операционных систем при обработке прерывания запоминает текущее состояние ЭВМ и текущий адрес команды. Программист, составляющий абсолютную программу, должен, кроме того, обеспечить запоминание указателя адреса и всех промежуточных в конечных результатов, полученных до прерывания. Если программа пишется для мини - ЭВМ, в которой нет операционной системы, то и здесь необходимо предусматривать запоминание текущего адреса команды. [42]
Многократно используемой называют программу, к которой могут обращаться несколько других программ, находящихся в главной памяти. Другими словами, если в главной памяти одновременно находятся три рабочие программы, то все они могут использовать одну и ту же стандартную подпрограмму. Многократное использование обеспечивается следующими тремя способами: 1) применением нескольких копий стандартной подпрограммы, 2) возможностью последовательного использования общей для всех программы и 3) использованием абсолютной программы. [43]
В библиотеке абсолютных модулей могут храниться программы двух типов - абсолютные и самоперемещающиеся. Абсолютными называются программы, которые могут быть загружены для выполнения только в ту область основной памяти, для которой они были отредактированы РЕДАКТОРОМ. Самоперемещающимися являются программы, которые можно загрузить для выполнения в требуемую область основной памяти даже в том случае, если они были отредактированы для другой области. Самоперемещающиеся программы могут быть загружены в любой из разделов - фоновый или переднего плана. Абсолютная программа может быть загружена лишь в тот раздел, для которого она отредактирована. В том случае, когда требуется выполнить ее в другом разделе, то процесс редактирования нужно повторить заново с указанием нужного раздела. [44]
В первую очередь это системные и личные библиотеки, в которых могут храниться программы, полученные на разных стадиях их обработки. Библиотека исходных программ и макроопределений избавляет программиста от необходимости ежедневно вводить огромные колоды перфокарт. В программе, хранящейся в библиотеке, можно проводить любые правки - заменять или удалять отдельные операторы или группы операторов, добавлять новые. Объектные и загрузочные модули также могут храниться в библиотеках, и это позволяет компоновать из них как из кирпичиков сложные программные комплексы. В ДОС ЕС имеется возможность хранить в библиотеках даже абсолютные программы. В результате запуск такой задачи на счет происходит без предварительного редактирования, занимающего на больших программах до нескольких минут машинного времени. [45]