Проектирование реляционных баз данных. Ковалев А.В - 73 стр.

UptoLike

75
стов с существу ющими системами, зависит от многих факторов. Самый главный из них - архи-
тектура процессора, на котором работает новая ОС. Если процессор, на который переносится
ОС, использует тот же набор команд (возможно с некоторыми добавлениями) и тот же диапазон
адресов, тогда двоичная совместимость может быть достигнута достаточно просто.
Гораздо сложнее достичь двоичной совместимости между процессорами, основанными
на разных архитектурах. Для того, чтобы один компьютер выполнял программы другого (на-
пример, DOS-программу на Mac), этот компьютер должен работать с машинными командами,
которые ему изначально непонятны. Например, процессор типа 680x0 на Mac должен испол-
нять двоичный код, предназначенный для процессора 80x86 в PC. Процессор 80x86 имеет свои
собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680x0 не
понимает двоичный код 80x86, поэтому он должен выбрать каждую команду, декодировать ее,
чтобы определить, для чего она предназначена, а затем выполнить эквивалентную подпрограм-
му, написанную для 680x0. Так как к тому же у 680x0 нет в точности таких же регистров, фла-
гов и внутреннего арифметико-логического устройства, как в 80x86, он должен имитировать все
эти элементы с использованием своих регистров или памяти. И он должен тщательно воспроиз-
водить результаты каждой команды, что требует специально написанных подпрограмм для
680x0, гарантирующих, что состояние эмулируемых регистров и флагов после выполнения ка-
ждой команды будет в точности таким же, как и на реальном 80x86.
Это простая, но очень медленная работа, так как микрокод внутри процессора 80x86 ис-
полняется на значительно более быстродействующем уровне, чем эмулирующие его внешние
команды 680x0. За время выполнения одной команды 80x86 на 680x0, реальный 80x86 может
выполнить десятки команд. Следовательно, если процессор, производящий эмуляцию, не на-
столько быстр, чтобы компенсировать все потери при эмуляции, то программы, исполняющие-
ся под эмуляцией, будут очень медленными.
Выходом в таких случаях является использование так называемых прикладных сред.
Учитывая, что основную часть программы, как правило, составляют вызовы библиотечных
функций, прикладная среда имитирует библиотечные функции целиком, используя заранее на-
писанную библиотеку функций аналогичного назначения, а остальные команды эмулирует каж-
дую по отдельности.
Соответствие стандартам POSIX также является средством обеспечения совместимости
программных и пользовательских интерфейсов. Во второй половине 80-х правительственные
агентства США начали разрабатывать POSIX как стандарты на поставляемое оборудование при
заключении правительственных контрактов в компьютерной области. POSIX - это "интерфейс
переносимой ОС, базирующейся на UNIX". POSIX - собрание международных стандартов ин-
терфейсов ОС в стиле UNIX. Использование стандарта POSIX (IEEE стандарт 1003.1 - 1988)
позволяет создавать программы стиле UNIX, которые могут легко переноситься из одной сис-
темы в другую.
4.6.5. Безопасность
В дополнение к стандарту POSIX правительство США также определило требования
компьютерной безопасности для приложений, используемых правительством. Многие из этих
требований являются желаемыми свойствами для любой многопользовательской системы. Пра-
вила безопасности определяют такие свойства, как защита ресурсов одного пользователя от
других и установление квот по ресурсам для предотвращения захвата одним пользователем всех
системных ресурсов ( таких как память).
Обеспечение защиты информации от несанкционированного доступа является обяза-
тельной функцией сетевых операционных систем. В большинстве популярных систем гаранти-
руется степень безопасности данных, соответствующая уровню С2 в системе стандартов США.
Основы стандартов в области безопасности были заложены "Критериями оценки надеж-
стов с существующими системами, зависит от многих факторов. Самый главный из них - архи-
тектура процессора, на котором работает новая ОС. Если процессор, на который переносится
ОС, использует тот же набор команд (возможно с некоторыми добавлениями) и тот же диапазон
адресов, тогда двоичная совместимость может быть достигнута достаточно просто.
       Гораздо сложнее достичь двоичной совместимости между процессорами, основанными
на разных архитектурах. Для того, чтобы один компьютер выполнял программы другого (на-
пример, DOS-программу на Mac), этот компьютер должен работать с машинными командами,
которые ему изначально непонятны. Например, процессор типа 680x0 на Mac должен испол-
нять двоичный код, предназначенный для процессора 80x86 в PC. Процессор 80x86 имеет свои
собственные дешифратор команд, регистры и внутреннюю архитектуру. Процессор 680x0 не
понимает двоичный код 80x86, поэтому он должен выбрать каждую команду, декодировать ее,
чтобы определить, для чего она предназначена, а затем выполнить эквивалентную подпрограм-
му, написанную для 680x0. Так как к тому же у 680x0 нет в точности таких же регистров, фла-
гов и внутреннего арифметико-логического устройства, как в 80x86, он должен имитировать все
эти элементы с использованием своих регистров или памяти. И он должен тщательно воспроиз-
водить результаты каждой команды, что требует специально написанных подпрограмм для
680x0, гарантирующих, что состояние эмулируемых регистров и флагов после выполнения ка-
ждой команды будет в точности таким же, как и на реальном 80x86.
       Это простая, но очень медленная работа, так как микрокод внутри процессора 80x86 ис-
полняется на значительно более быстродействующем уровне, чем эмулирующие его внешние
команды 680x0. За время выполнения одной команды 80x86 на 680x0, реальный 80x86 может
выполнить десятки команд. Следовательно, если процессор, производящий эмуляцию, не на-
столько быстр, чтобы компенсировать все потери при эмуляции, то программы, исполняющие-
ся под эмуляцией, будут очень медленными.
       Выходом в таких случаях является использование так называемых прикладных сред.
Учитывая, что основную часть программы, как правило, составляют вызовы библиотечных
функций, прикладная среда имитирует библиотечные функции целиком, используя заранее на-
писанную библиотеку функций аналогичного назначения, а остальные команды эмулирует каж-
дую по отдельности.
       Соответствие стандартам POSIX также является средством обеспечения совместимости
программных и пользовательских интерфейсов. Во второй половине 80-х правительственные
агентства США начали разрабатывать POSIX как стандарты на поставляемое оборудование при
заключении правительственных контрактов в компьютерной области. POSIX - это "интерфейс
переносимой ОС, базирующейся на UNIX". POSIX - собрание международных стандартов ин-
терфейсов ОС в стиле UNIX. Использование стандарта POSIX (IEEE стандарт 1003.1 - 1988)
позволяет создавать программы стиле UNIX, которые могут легко переноситься из одной сис-
темы в другую.

      4.6.5. Безопасность

       В дополнение к стандарту POSIX правительство США также определило требования
компьютерной безопасности для приложений, используемых правительством. Многие из этих
требований являются желаемыми свойствами для любой многопользовательской системы. Пра-
вила безопасности определяют такие свойства, как защита ресурсов одного пользователя от
других и установление квот по ресурсам для предотвращения захвата одним пользователем всех
системных ресурсов ( таких как память).
       Обеспечение защиты информации от несанкционированного доступа является обяза-
тельной функцией сетевых операционных систем. В большинстве популярных систем гаранти-
руется степень безопасности данных, соответствующая уровню С2 в системе стандартов США.
       Основы стандартов в области безопасности были заложены "Критериями оценки надеж-

                                               75