Cтраница 2
Средства защиты памяти должны обеспечивать защиту содержимого основной памяти от разрушения, неправильного использования его в результате ошибочной или несанкционированной записи, а также выборки информации во время выполнения программы. При этом осуществляется защита от одной недопустимой записи или от недопустимой записи и от недопустимой выборки одновременно. Защита только от недопустимой выборки не предусмотрена. [16]
Каждая операционная система и каждая разновидность управляющей программы распечатывают содержимое основной памяти не совсем так, как это делается в другой операционной системе или в той же операционной системе другим вариантом управляющей программы. Поэтому в этой книге невозможно ис черпывающе описать процесс истолкования дампа основной памяти и нахождения по нему ошибок в проблемной программе. Чтобы распознать признаки конкретных ошибок, программисту следует обратиться к пособиям по соответствующей операционной системе. В настоящей главе программист не получит такой детальной информации, но она может помочь ему при анализе полей данных, содержащихся в той части распечатки дампа основной памяти, которая относится к проблемной программе. [17]
Процессор оборудован средствами защиты памяти, дающими возможность защищать содержимое основной памяти от неправильного использования. Для целей защиты основная память разделена на блоки по 2048 байт. С каждым блоком связан 5-разрядный ключ памяти, который при каждом обращении к основной памяти сравнивается с ключом защиты, характеризующим выполняемую программу. Один разряд ключа памяти отражает режим работы средств защиты: защита по записи или защита по чтению и записи. [18]
Дамп аварийного завершения состоит из управляющей информации: и копни содержимого основной памяти, используемой при выполнении задания. Дамп получается как результат выполнения системной макрокоманды ABEND, которая автоматически выдается обрабатывающей или управляющей программой при аварийном окончании шага задания. Для обеспечения этого дампа программист должен записать в шаге задания оператор DD, определяющий набор данных для дампа. Оператор должен иметь одно из двух стандартных имен: SYSABEND или SYSUDUMP. Если указано первое из этих имен, дамп будет включать в полном объеме управляющую информацию и содержимое основной памяти. [19]
Средства защиты памяти в сочетании с динамическим преобразованием адресов дают возможность защищать содержимое основной памяти от разрушения или неправильного использования, если программа производит ошибочную или несанкционированную запись в память или выборку. Это позволяет удовлетворить запросы пользователя по обеспечению секретности и одновременно решать задачи, предъявляющие различные требования в этом отношении. [20]
Начальная загрузка программ ( IPL) позволяет начать обработку в тех случаях, когда содержимое основной памяти или PSW не подходит для работы. [21]
Если оба эти условия выполняются и при этом зарегистрировано событие, состоящее в изменении содержимого основной памяти, вычеркнуть запись об этом событии, если текущий адрес операнда, в который засылается результат операции, принадлежит области памяти, выделенной для наблюдения, и значение счетчика для этого операнда не равно нулю. [22]
![]() |
Структура задания на выполнение программы. [23] |
Если при выполнении программы обнаружится ошибка, то ее выполнение должно быть прекращено без распечатки содержимого основной памяти Решение. [24]
Если задается оператор SYSABEND, для каждой аварийно завершаемой подзадачи, кроме управляющих блоков и содержимого основной памяти шага задания, выводится содержимое ядра супервизора. [25]
Дамп, получаемый при аварийном завершении шага задания в результате выполнения системной макрокоманды ( в ЕС ЭВМ - ABEND) и содержащий управляющую информацию и копии содержимого основной памяти. [26]
В основной памяти ЭВМ одновременно могут находиться и выполняться несколько программ. Содержимое основной памяти, отведенной для одной программы, защищают от разрушения или использования другой программой в результате ошибочного или несанкционированного обращения специальные средства защиты памяти. Имеются два режима защиты памяти: защита только от записи данных в память и одновременная защита как от записи, так и от выборки данных из памяти. [27]
При прекращении могут измениться только те поля, которые должны быть изменены этой операцией и которые не вызывают особого случая доступа. Поэтому, когда команда должна изменить содержимое только основной памяти и каждый байт поля результатов вызывает особый случай доступа, производится подавление команды. Термин поле результатов в этом смысле включает признак результата и регистры ( если они есть), которые должны быть изменены командой. [28]
По прерыванию от программного сбоя СУПЕРВИЗОР передает управление подпрограмме обработки сбоев программы пользователя, если ее наличие и имя сообщено СУПЕРВИЗОРУ. В противном случае СУПЕРВИЗОР прекращает выполнение задания, выдавая по требованию программиста на SYSL ST содержимое основной памяти раздела, IB котором решается задача. [29]
![]() |
Фрагмент содержимого основной памяти. [30] |