Cтраница 3
Суть идеи, о которой шла речь выше, по-видимому, напрямую связана с широко распространенной точкой зрения, согласно которой считается, что система может осознавать нечто, если в ней уже имеется модель этого объекта, и, соответственно, что она становится самосознающей, когда она в самой себе содержит модель самой себя. Но если компьютерная программа содержит ( скажем, в качестве подпрограммы) текст другой компьютерной программы, то первая при этом не может осознавать вторую, также как и не может приводить к самосознанию обращение программы к себе самой. Несмотря на подобные часто встречающиеся заявления, фундаментальные понятия самосознания и способности к осознанию в этих рассуждениях едва ли затрагиваются. [31]
С представлением операционной системы в виде иерархической структуры связаны две очень важные идеи. Первая из них состоит в том, что программам, относящимся к более высоким уровням, следует предоставить возможность пользоваться услугами программ, относящихся только к более низким уровням, а вторая - - в том, что при переходе к более низким уровням соответствующие функции должны выполняться все быстрее и быстрее. Обращение программы высокого уровня к функциям низких уровней не должно вызывать существенных задержек в ее работе. [32]
Средства виртуальной памяти в современных вычислительных системах используются для того, чтобы сделать кажущийся объем основной памяти ЭВМ больше, чем он есть на самом деле. Иллюзия увеличения объема основной памяти обеспечивается путем разбиения содержимого памяти на страницы и размещения страниц на внешнем запоминающем устройстве. При обращении программы к странице, отсутствующей в данный момент времени в основной памяти, работа программы временно прерывается, а отсутствующая страница с большой скоростью считывается в основную память. После того как программа модифицирует данные в этой странице, страница возвращается на внешнее запоминающее устройство. Операционная система удовлетворяет потребности программ, используя определенные алгоритмы для перемещения страниц из внешнего запоминающего устройства в основную память и наоборот. Она изымает блоки памяти у одной программы и передает их другой, что внешне похоже на операции с фиктивными чеками. [33]
Конкретное распределение простейших функций по компонентам явилось следствием сложившегося в начале 60 - х годов у разработчиков операционной системы OS / 360 представления о требованиях пользователей. В другой идеологии программирования выделение трех указанных выше функций системы могло сохраниться, но могло также оказаться абсолютно бессмысленным. Рассмотрим, например, последовательность стандартных действий, выполняемых при необходимости обращения программы к некоторому набору данных. [34]
Оперативная память ( V-память) предназначена для хранения значений, непосредственно обрабатываемых в процессе выполнения программы. В программе точно указываются количество, размеры и названия слов, отводимых в F-памяти. Эти указания задаются специальными описаниями ( см. раздел 9.2), в которых могут содержаться1 также сведения о частоте обращения программы к описываемым словам, что позволяет более эффективно отображать У-память в тех машинах, в которых оперативная память состоит из блоков, имеющих различную скорость выборки. [35]
Буферизация команд и данных в УУ ( и в более общем плане - в процессорах) МВС создает по меньшей мере три полезных эффекта. Во-первых, как показано в § 2.4, буферизация заявок к оперативной памяти ( ОП) в УУ является структурным средством повышения пропускной способности внутрисистемного интерфейса МВС; буфера источников ( БИ) выступали здесь как элемент сопряжения этого интерфейса с УУ. Во-вторых, буферная память традиционно используется в ЭВМ и, в частности, в МВС для сглаживания различий между быстродействием ОП и скоростью выполнения операций в устройствах обработки ( к тому же изменяющейся на операциях различных типов); с этой целью в высокопроизводительных ЭВМ и МВС широко используется буферная память для опережающего чтения команд, для подготовки порций данных, к которым предполагается обращение выполняемой программы. Аналогичные функции - сглаживание различий во времени выполнения операций - выполняют вспомогательные буфера или регистры, устанавливаемые на входах и / или выходах взаимосвязанных функциональных блоков УУ. [36]
Устройство защиты памяти необходимо ЦВМ при работе в мультипрограммном режиме, когда из-за ошибки в выполняемой программе или неисправности аппаратуры может быть искажена информация в ЗУ. Защита памяти может быть выполнена по граничным адресам или ключам. Смысл защиты памяти по граничным адресам состоит в том, что канадой программе в ЗУ отводится определенная строго фиксированная разрешенная область. При каждом обращении программы к ЗУ специальная схема контролирует исполнительный адрес ЗУ. Если ячейка, к которой обращается программа, находится вне разрешенной зоны, то обращение не производится, а ЦВМ аппаратным путем настраивается на выполнение - диспетчерской программы. [37]
Устройство защиты памяти необходимо ЦВМ при работе в мультипрограммном режиме, когда из-за ошибки в выполняемой программе или неисправности аппаратуры может быть искажена информация в запоминающих устройствах. Защита памяти может быть выполнена по граничным адресам или ключам. Смысл защиты памяти по граничным адресам состоит в том, что каждой программе в ЗУ отводится определенная строго фиксированная разрешенная область. При каждом обращении программы к ЗУ специальная схема контролирует исполнительный адрес ЗУ. Если ячейка, к которой обращается программа, находится вне разрешенной зоны, то обращение не производится, а ЦВМ аппаратным путем настраивается на выполнение диспетчерской программы. [38]
Для выполнения расчетов по программам, которые могут содержать ошибки, допущенные при программировании, ЭВМ должна иметь средства защиты памяти. Средства защиты памяти обеспечивают защиту информации, относящейся к программе, от помех, которые возникают при работе других программ, выполняемых в мультипрограммном режиме. Помехи возникают, когда одна программа из-за ошибок в программировании записывает информацию в ячейки памяти, выделенные другой программе. Средства защиты памяти исключают возможность обращения программы к областям основной памяти, принадлежащим другим программам. За счет этого обработка программ в мультипрограммном режиме с точки зрения получаемых результатов протекает так же, как и в однопрограммном режиме. [39]
На начальном этапе работы с базой данных пользователь может пожелать добавить новые поля и, возможно, удалить некоторые старые. По этой причине вначале следует применить простую СУБД; приемы, освоенные при первых попытках, будут очень ценны впоследствии. Кроме того, важно начинать с простых в обращении программ. [40]
Структура памяти, описанная выше, представляет эффективный механизм для реализации большинства распространенных средств отладки. Ссылка на слово, ловушка которого запрещает свободное чтение, вызовет выполнение заранее определенной программы, передачу ей адреса данных, имени модуля и номера ( или смещения) команды, в которой выполнена эта ссылка, и отметки времени. Модификация слова с ловушкой, запрещающей запись, вызовет такие же действия, и, кроме того, этой программе будут переданы старое и новое значения компоненты данные. Если установлен запрет исполнять конкретную команду, то при попытке выполнить ее программе передаются имя модуля, номер команды и время. Этот простой механизм предоставляет возможность устанавливать точки вклинивания при выполнении определенных команд и выборке или изменении определенного слова памяти, трассировать или регистрировать поток выполнения программы и обращения программы к данным. [41]