Cтраница 1
Способ защиты памяти по ключам отличается простотой перехода к исполнению новой программы. Поскольку блоки памяти распределяются между программами заранее, то переход к исполнению новой программы сводится только к смене ключа программы. Передача ключей программ в устройства ввода-вывода обеспечивает эффективную защиту памяти при вводе-выводе информации, что позволяет устройствам функционировать независимо от состояния обслуживаемой ими программы. [1]
![]() |
Организация защиты памяти по граничным адресам. [2] |
Способ защиты памяти по граничным адресам имеет следующий недостаток: необходимо, чтобы для размещения программы выделялся сплошной участок памяти. [3]
Реализация способа защиты памяти предполагает разделение основной памяти на блоки, каждому из которых ставится в соответствие некоторый ключ защиты памяти. Каждой действующей программе ставится в соответствие ключ защиты, который имеет ту же длину, что и ключ защиты памяти. Если эти ключи совпадают или ключ защиты памяти равен нулю, та использование данного блока памяти разрешается. В противном случае использование памяти запрещено и вырабатывается сигнал прерывания программы. В ключе защиты памяти часто предусматривается бит защиты памяти при выборке. Если этот бит равен нулю, то защита действует только при записи в память. Если же бит защиты при выборке равен единице, защита действует при операции выборки так же, как и при записи. [4]
Существенной характеристикой является способ защиты памяти, точнее, защиты отдельных программ, находящихся в ЗУ вычислительной системы. Иногда защита реализуется программно, однако обычно используются базовые и предельные регистры с программными ключами или специальными управляющими битами, добавляемыми к каждому слову в ЗУ с целью предотвращения его перезаписи. [5]
Наиболее часто используются два способа защиты памяти. [6]
Второй уровень - это архитектура ЭВМ, или виртуальная, математическая машина, представленная своей системой команд, способом организации внутренней и внешней памяти, способом адресации, способом защиты памяти и организацией прерываний. [7]
При каждом обращении к ЗУ все адреса сравниваются с заданными граничными адресами. Выход адреса в команде за указанные пределы приводит к прерыванию выполнения данной программы или к останову машины. Однако этот способ защиты памяти может быть применен лишь тогда, когда вся информация, относящаяся к данной программе, записана в ЗУ в виде единого массива. [8]
Средства защиты памяти обеспечивают проверку адреса при каждом обращении к памяти. Поскольку эта операция является массовой, то применяемые в системе средства защиты памяти должны обеспечивать контроль адресов за малый промежуток времени, при котором сохранялось бы высокое быстродействие системы. К тому же способ защиты памяти должен быть экономичным в смысле времени, необходимого для переориентации системы защиты в случае переключения системы на выполнение другой программы, использующей новую область памяти. Наиболее часто средства защиты памяти включаются только при записи данных в ОЗУ, поскольку искажение данных связано с записью, и при выборке данных адрес не контролируется. Такая тактика позволяет снизить затраты времени, возникающие в системе при контроле адресов. С точки зрения пользователя неправильная адресация как при записи, так и при выборке данных представляется одинаково важной, поскольку свидетельствует о наличии ошибок в программе. Поскольку ошибки в адресации эффективно выявляются системой защиты памяти, то в некоторых системах контролируются любые обращения к памяти. Распространение контроля на выборку данных снижает быстродействие системы, но при этом сокращаются затраты времени на отладку программ. [9]
Другим способом защиты памяти является пометка отдельных участков памяти специальными признаками, разрешающими запись в них новой информации. Вся память разбивается на / участков длиной в 21 ячеек. Каждому участку соответствует один триггер / - разрядного регистра. В этот регистр при выполнении любой из программ записывается определенный код, обновляемый при переходе к другой программе. Выполняемой программе доступны для записи только те участки памяти, которые отмечены признаками. Попытка записи в неотмеченный участок памяти приводит к прерыванию программы или к останову машины. Этот способ защиты памяти требует меньших аппаратурных затрат по сравнению с предыдущим способом и является более быстродействующим. Однако число слов в заданном массиве редко бывает кратным величине 2, что может приводить к нерациональному использованию некоторого объема памяти. [10]