Cтраница 4
Как упоминалось в § 1.4, ассемблер и системная макробиблиотека должны быть совместимы. SML К сожалению, формат библиотечных файлов версии 2 таков, что они не могут быть прочитаны третьей версией ассемблера, и поэтому, чтобы использовать системные макро, мы должны либо писать собственные последовательности вызовов для мониторных программ ЕМТ, либо применять вторую версию ассемблера. [46]
Обеспечение мониторных программ состоит в том, что предусматривается возможность передачи управления программе, осуществляющей определенные управляющие функции ( мони-торной программе, или, сокращенно, монитору), при достижении в выполняемой программе некоторых выделенных точек. Такими точками являются команды ОБРАЩЕНИЕ К МОНИТОРУ, вставленные в программу. Выполнение команды ОБРАЩЕНИЕ К МОНИТОРУ вызывает программное прерывание для обращения к монитору при условии, что для класса монитора, заданного в команде, прерывание разрешено. Во время прерывания класс и код монитора записываются в память и в дальнейшем используются мониторной программой. [47]
Повышение эффективности использования памяти и процессора достигается использованием мультипрограммирования. Выделяют два режима мультипрограммирования. Данный режим легко реализуется, однако возможно простаивание разделов при низкой интенсивности потока заявок. Второй распределяет память по мере поступления заявок. В данном случае наиболее полно использован ресурс память, но сложность мониторной программы управления потоком заявок требует много процессорного времени на управление. [48]
Если программа предназначена для выполнения управляемого по прерываниям вывода, то разумно на протяжении всего вывода оставлять адрес подпрогра. Может показаться, что, поскольку прерывания запрещены, когда нет данных для вывода, никакого вреда не будет, если также поступать даже в присутствии монитора. Посмотрим, однако, что случится, если нажать клавишу терминала. Одна из ее частей посылает эхо вводимой литеры на устройство вывода. Теперь уже механизм вывода по прерываниям использует монитор. Поэтому введенная литера заносится в такую ячейку, из которой ее может взять мониторная программа обработки прерываний печати, и разрешает прерывания от печатающего устройства. Теперь ЦП через ячейку 64 осуществляет переход по установленному пользователем адресу, который указывает на его программу обработки прерываний. В результате выполняется программа пользователя. Но любые изменения содержимого регистров, внесенные мониторной программой обработки прерываний от клавиатуры, могут неблагоприятно сказаться на работе программы пользователя. Как правило, мониторные подпрограммы перед выходом восстанавливают содержимое регистров ( кроме RO), но программа, о которой шла речь, была прервана прежде, чем получила возможность сделать это. Когда программа пользователя будет завершена, командой RTI управление будет передано на следующий адрес мониторной программы обработки прерываний от клавиатуры Результат совершенно непредсказуем. [49]
Отдельные модули библиотек компонентов дистрибутивной системы, требующиеся для создания библиотек генерируемой системы, не нуждаются в дополнительной обработке АССЕМБЛЕРОМ и редактором связей. Такие модули копируются в библиотеки создаваемые ОС с помощью системной программы IEBCOPY. В процессе генерации используются также системные программы IEHPROGM, IEHIOSUP, которые заканчивают формирование новой ОС. ОС, полученную в результате генерации, необходимо всесторонне проверить, прежде чем приступать к решению практических задач. Проверка работоспособности начинается непосредственно с выполнения процедуры загрузки системы в ОП. Если процедура загрузки прошла успешно, то можно переходить к проверке программных компонентов ОС. Эти примеры представляют собой задания, полностью оформленные для выполнения. С помощью этих контрольных примеров определяется работоспособность трансляторов, включенных в ОС ЕС, обслуживающих программ, программы сортировки, системной мониторной программы. [50]
В функции центрального компьютера как средства анализа ЭКГ входят: прием данных, запомненных монитором после сигнала тревоги, их обработка, визуализация. Кроме того, компьютер должен обеспечивать возможность изменять такие показатели, как пределы повышения или понижения частоты сердечных сокращений и время суток. Когда пациент вызывает центральный компьютер, сестра кардиологического отделения помещает телефонную трубку в модем и включает программу связи. По ней монитору дается команда возврата ка -: ретки и пересылки зарегистрированных данных ЭКГ и параметров монитора. Когда прием всех данных закончится, в центральном компьютере производится восстановление ЭКГ и - ее воспроизведение на графическом терминале. Если данные не верны, то монитору дается ко-манда их повторной посылки. Оператор может изменить пределы обнаружения или время суток. В случае изменения этих параметров монитор подает обратный сигнал для подтверждения правильности принятых данных. Если посланные и принятые данные не соответствуют друг другу, то процесс повторяется по шрограмме; в противном случае запускается мониторная программа и сеанс связи прекращается. [51]