- •Классификация эвм, краткие характеристики суперЭвм, мейнфреймов и мини-эвм
- •Настольная вычислительная система.
- •Классификация процессоров.
- •Регистровая модель процессора x86.
- •Режимы работы процессора 80386.
- •1.Реальный режим
- •2. Защищенный режим
- •Процессор х86: непосредственная и регистровая адресация.
- •Процессор х86: прямая адресация и прямая со сдвигом.
- •Процессор х86: косвенная адресация и косвенная со сдвигом.
- •Процессор х86: регистровая адресация и регистровая с масштабированием.
- •Адресация с масштабированием
- •Размещение в памяти многомерных статических массивов и доступ к их элементам.
- •Размещение в памяти многомерных динамических массивов и доступ к их элементам.
- •Формирование исполнительного адреса из трех и четырех составляющих.
- •Процессор х86: инструкции копирования данных.
- •Процессор х86: инструкции ввода-вывода.
- •Представление целых чисел: прямой код, дополнительный код, bsd.
- •Процессор х86: инструкции сложения, сложения с переносом и сложение чисел в формате bcd.
- •Процессор х86: инструкции вычитания, вычитания с заемом и вычитание чисел в формате bcd.
- •Процессор х86: инструкции умножения.
- •Процессор х86: инструкция деления и операции расширения знакового бита.
- •Процессор х86: поразрядные логические инструкции, использование масок.
- •Процессор х86: инструкции сдвига. Умножение и деление на константы.
- •Процессор х86: инструкции цикла. Ожидание готовности пу с тайм-аутом.
- •Процессор х86: безусловный переход и виды меток.
- •Процессор х86: вызов процедуры; рамка стека функции в с.
- •Процессор х86: инструкции условного перехода.
- •Процессор х86: строковый примитив копирования данных.
- •Процессор х86: строковые примитивы сравнения данных, сканирования данных и заполнения данных.
- •Сегменты реального и защищенного режима. Глобальная и локальная таблицы дескрипторов.
- •Селектор сегмента. Механизм получения линейного адреса в защищенном режиме процессора x86.
- •Механизм преобразования линейного адреса в физический в процессоре x86.
- •Преимущества виртуального отображения страниц и адресное пространство процесса.
- •Формат дескриптора сегмента в процессорах x86. Прикладные сегменты.
- •Формат вентиля вызова и исключения. Область применения вентилей вызова.
- •Основные исключения защиты; обработка исключения отсутствие страницы в памяти.
- •Уровни привилегий и кольца защиты защищенного режима.
- •Аппаратная поддержка многозадачности, формат сегмента состояния задачи - tss.
- •Карта ввода/вывода. Прямой доступ к портам ввода/вывода в Windows и Linux.
- •Методы управления пу
- •Использование буферов при проведении обменов
- •Принципы, заложенные в подсистему управления вводом-выводом в ос unix
- •Система управления данными (файловая система)
- •Логическая организация файлов
- •1. Последовательная организация.
- •2. Библиотечная организация.
- •Физическая организация файлов
- •1. Распределение при помощи цепочек блоков.
- •2. Распределение при помощи цепочек индексов
- •Дескриптор файла (дф)
- •Матрица управления доступом (МтУд)
- •Управление доступом в зависимости от класса пользователей
- •Копирование и восстановление информации
- •Свопинг и пейджинг
- •2. Стратегии подкачки страниц
- •3. Стратегии размещения
Формат вентиля вызова и исключения. Область применения вентилей вызова.
Для переходов с изменением уровня привилегий используются вентили (Gate), называемые также шлюзами. Для каждого способа косвенной межсегментной передачи управления имеются соответствующие вентили. Их использование позволяет процессору автоматически осуществлять контроль защиты. Вентили вызова (Call Gates) используются для вызова процедур со сменой уровня привилегий. Вентили задач (Task Gates) используются для переключения задач. Вентили прерываний (Interrupt Gates) и ловушек (Trap Gates) определяют процедуры обслуживания прерываний.
Вентили вызова позволяют автоматически копировать заданное число слов из старого стека в новый. Вентили прерываний отличаются от вентилей ловушек только тем, что они запрещают прерывания (сбрасывают флаг IF), а вентили ловушек – нет. Для каждого типа вентилей используются соответствующие дескрипторы вентилей (Gate Descriptors). Формат дескрипторов вентилей приведен на рисунке 1.7.
В байте управления доступом у этих дескрипторов бит Р определяет действительность (Р = 1) или недействительность (Р = 0) содержимого сегмента. Поле DPL задает уровень привилегий. Поле type_seg определяет тип вентиля:
o 4 – вентиль вызова 80286 (Call Gate),
o 5 – вентиль задачи 80286 (Task Gate),
o 6 – вентиль прерывания 80286 (Interrupt Gate),
o 7 – вентиль ловушки 80286 (Trap Gate),
o C – вентиль вызова 386+ (Call Gate),
o D – вентиль задачи 386+ (Task Gate),
o E – вентиль прерывания 386+ (Interrupt Gate), 20
o F – вентиль ловушки 386+ (Trap Gate)
Поле Word Count используется только в вентилях вызова и определяет количество слов из стека вызывающего процесса, автоматически копируемых в стек вызываемой процедуры. Для сегментов
80286 слова 16-битные, для 386+ – 32-битные. Поле Destination Selector для вентилей вызова, прерываний и
ловушек задает селектор целевого сегмента кода, а для вентиля задачи – селектор целевого TSS.
Поле Destination Segment задает смещение (адрес) точки входа в целевом сегменте.
При использовании вентилей может возникнуть исключение #GP, которое означает, что селектор указывает на некорректный тип дескриптора. При попытке использования недействительного вентиля (Р = 0) возникает исключение #NP (см. раздел 1.4).
Основные исключения защиты; обработка исключения отсутствие страницы в памяти.
При попытке обращения к не присутствующей в оперативной памяти странице процессор вырабатывает исключение (page fault exception). Исключение приводит к передаче управления по заранее определённому операционной системой адресу. Вызывается программа обработчик исключения. Обработчик загружает страницу в оперативную память по какому либо физическому адресу и корректирует запись в таблице страниц. После этого обработчик возвращает управление и операция, которая привела к исключению, повторяется. Операционная система также отвечает за выгрузку страниц на диск для освобождения памяти. При этом каждый раз выбирается страница, обращение к которой производилось наиболее давно. Схема загрузки страниц по запросу приводится на рисунке 6.