
- •1. История развития архитектуры эвм
- •Нулевое поколение (1492 – 1945)
- •Первое поколение (1937-1953)
- •Второе поколение (1954 - 1962)
- •Третье поколение (1963-1972)
- •Четвертое поколение (1972-1984)
- •Пятое поколение (1984-1990)
- •Шестое поколение (1990-)
- •2.Процессор. Структурная схема процессора.Понятие о микропрограммном управлении.
- •Алгоритмы выполнения микроопераций.Микропрограммы.
- •Обратная структурная таблица
- •Управляющие автоматы с программируемой логикой.
- •1.Конвейеризация (конвейер операций).
- •2. Процессоры с risc – архитектурой.
- •3. Организация кэш-памяти.
- •3.1. Техническая идея кэш-памяти.
- •3.2. Архитектура кэш-памяти.
- •3.2.1. Кэш память с прямым отображением.
- •3.2.2. Полностью ассоциативная кэш память.
- •3.2.3. Частично ассоциативная кэш память.
- •3.3 Алгоритм замещения строк в кэш памяти.
- •3.4 Методы записи в кэш память.
- •Размещение байт и слов в памяти.
- •1. Концепции и компоненты защищенного режима.
- •2. Информационная основа работы механизма защиты.
- •3. Уровни привилегий
- •4.3 Защита программ.
- •Системы ввода/вывода
- •Адресное пространство системы ввода/вывода
- •Внешние устройства
- •Модули ввода/вывода
- •Методы управления вводом/выводом
1. Концепции и компоненты защищенного режима.
Защищенный режим работы в МП INTEL предусматривает аппаратную поддержку различных вариантов защиты информации от помех. Предусмотренные возможности и глубина защиты определяются используемыми операционными системами.
Необходимость в защите информации появилась при переходе на многопрограммный режим работы. ЭВМ, допускающие многопрограммный режим работы, должны обеспечивать следующие требования:
1. Независимость подготовки пользовательских программ и их защита от
взаимных помех;
2. Защиту программ операционной системы от помех при сбоях в программах
пользователей;
Защиту программ операционной системы верхнего уровня от помех при сбоях в программах операционной системы нижнего уровня;
Защиту программ от отрицательных последствий при программных сбоях;
Защиту целостности системы.
Рассмотрим как обеспечиваются перечисленные требования в МП INTEL.
Независимость подготовки пользовательских программ и их защита от взаимных помех.
При разработке своей программы пользователь не должен учитывать взаимное расположение своей и других программ в оперативной памяти и может рассчитывать на любое место в памяти. Микропроцессор при этом предусматривает возможность локализации негативных последствий программных ошибок в пределах адресных пространств соответствующих программ. Это решается механизмом управления виртуальной памяти. Виртуальная память предусматривает гибкое программное распределение ресурсов памяти, динамическую переадресацию и разделение адресных пространств совместно выполняемых программ.
Виртуальная память допускает многопрограммное выполнение прикладных программ, но при этом программы изолируются друг от друга таким образом, что ошибки в одной из них не влияют на корректное выполнение других программ. Когда программа осуществляет некорректное обращение к памяти, механизм виртуальной памяти блокирует обращение и сообщает ОС о попытке нарушения защиты. В МП INTEL реализованы два уровня виртуальной памяти - верхний и нижний. Верхний уровень реализован механизмом трансляции сегментов, а нижний уровень – механизмом трансляции страниц.
На уровне трансляции сегментов разделение адресных пространств пользовательских программ осуществляется при помощи локальных таблиц дескрипторов (LDT) сегментов. Доступ к сегментам осуществляется только через таблицы дескрипторов. Загрузка сегмента в память (оперативную или внешнюю) производится в любую ее свободную область. При этом в дескрипторе сегмента фиксируется базовый (начальный) адрес сегмента. Таким образом, таблица дескрипторов определяет не только общий объем адресного пространства программы, но и конкретное размещение сегментов программы в физической памяти за счет указания базовых адресов и размеров сегментов. Это является основой разделения адресных пространств программ пользователей, поскольку у каждой пользовательской программы есть своя локальная таблица дескрипторов (LDT), недоступная программам других пользователей. Эта таблица определяет доступ к физическим адресам соответствующих сегментов. Следовательно, пользовательские программы могут видеть только свое адресное пространство.
Многопользовательские режимы должны не только разделять программы пользователей. В некоторых случаях требуется совместная работа нескольких пользовательских программ. Для этого требуется не локальная , а разделяемая память. Разделяемая между несколькими программами память легко организуется при помещении дескрипторов соответствующих сегментов в общую глобальную таблицу дескрипторов (GDT) или дублированием дескрипторов разделяемых сегментов в локальных таблицах дескрипторов (LDT).
На уровне трансляции страниц разделение адресных пространств пользователей проводится при разделении таблиц страниц. Каждая программа использует свою таблицу страниц, которая определяет доступ только к своим страницам.
Таким образом, используя механизм виртуальной памяти удается эффективно разделить программы так, что они не влияют друг на друга и взаимно защищены друг от друга.
Защита программ операционной системы от помех при сбоях в программах пользователей.
Операционная система служит не только для организации определенного режима работы ЭВМ и обеспечения «дружелюбного» экранного интерфейса . Одной из важнейших функций ОС является предоставление сервисных процедур пользовательским программам. Поэтому нельзя полностью изолировать программы пользователей от операционной системы и глобальная таблица дескрипторов (GDT), определяющая сегменты ОС, должна быть доступна пользовательским программам, естественно не во вред защите программ самой ОС. Для разрешения это проблемы используется механизм зашиты по режимам работы или уровням привилегий PL (PL от английских слов – Privilege Level). Этот механизм разрешает программам пользователей доступ только к определенным программам ОС и обеспечивает достаточно корректное использование этих программ.
Практически во всех компьютерах для целей защиты предусматривается как минимум два режима работы – системный режим, называемый также режимом супервизор ( от англ. Supervisor) , и пользовательский режим или user. Основное различие между ними состоит в том, что программам, работающим в режиме супервизора, доступны все ресурсы системы, у программ, работающих в пользовательском режиме, возможности доступа к ресурсам системы ограничены.
Защита программ ОС верхнего уровня от помех при сбоях в программах ОС нижнего уровня.
Такая защита программ необходима потому, что обычно ОС имеют иерархическую структуру. Ошибки на разных уровнях этой структуры имеют различные по тяжести последствия в виде возможных нарушений в работе системы. Поэтому защита от помех на разных уровнях иерархии программ операционной системы должна быть разной. По этой причине увеличивают количество уровней привилегий PL. В МП INTEL имеется аппаратная поддержка четырех уровней привилегий. В некоторых случаях используется не четыре, а меньшее число уровней привилегий. Например, в страничном преобразовании адреса используется более простой двухуровневый механизм защиты типа пользователь/супервизор.
Защита программ от отрицательных последствий при программных сбоях.
Наиболее опасными здесь являются ошибки в использовании адресов данных и переходов. Нередко эти сбои приводят к фатальным последствиям, таким как порча массивов данных и программ. Механизм защиты программ в этом случае опирается на описание различных системных объектов с помощью дескрипторов. Дескриптор является поисковым образом объекта, определяющим функциональные свойства объекта с учетом определенных требований информационной безопасности. Дескриптор определяет не только место расположение объекта в памяти, но и его тип, степень защиты и права доступа. На основе информации дескриптора механизм защиты осуществляет блокировку обращений к «неверному» пространству памяти и сообщает ОС о возникновении этой ситуации.
Защита целостности функционирования вычислительной системы.
Вычислительные системы проектируются под конкретные режимы работы, определяемые ОС. Четкое выполнение административных функций по поддержке заданных режимов входит в понятие целостности вычислительной системы (ВС). Обеспечение целостности функционирования ВС реализуется механизмами разделения адресного пространства и защиты по уровням привилегий PL. Поэтому механизм защиты процессора INTEL можно подразделить на две части: схемы управления памятью и защита по привилегиям.
Схемы управления памятью включают механизм управления виртуальной памятью и контроль обращений к объектам памяти, что позволяет обнаруживать большинство программных ошибок, например, формирование неверных адресов, выход индекса за пределы массива и т.п.
Защита по привилегиям фиксирует более тонкие ошибки и попытки нарушить целостность функционирования системы.
Информационной основой механизма зашиты является дескриптор. Дескриптор содержит ссылку на расположение объекта в памяти и описание его свойств (мандатная часть). В поле прав доступа мандатной части содержится основная информация, используемая механизмом защиты. Объектом для дескриптора может служить сегмент данных или программный сегмент, а также точка входа в программный сегмент (шлюз).
Защита по привилегиям производится при каждой активизации сегмента. Это либо выборка дескриптора сегмента из таблицы дескрипторов при смене сегмента данных, либо выборка дескриптора программного сегмента или шлюза при выполнении межсегментных программных переходов. При этом проверяется корректность обращений к данным и межсегментных передач управления.