Процессоры Intel в защищенном режиме

Переключение контекста, сегмент состояния задачи. Сегментная организация памяти, дескрипторные таблицы. Защита по привилегиям, уровни привилегий. Селектор сегмента и образование линейного адреса. Функции управления виртуальной памятью в среде Windows.

Рубрика Программирование, компьютеры и кибернетика
Вид дипломная работа
Язык русский
Дата добавления 19.05.2015
Размер файла 949,9 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

unit:

in al, instat

fost al, 4

jnz unit

……

; занесение числа байтов и начального адреса

mov ax, byte_size

out bc_reg, ax

lea ax, buffer

out add_reg, ax

; установить биты направления и разрешения в управляющем байте и ;вывести их в dmacon и intcon

mov al, dmac

or al, 0ah ; (в 1 и 3 биты)

out dmacon, al

mov al, intc

or al, 05

out intcon, al

8. Логический уровень управления I/O. Драйверы

Программируемый I/O на физическом уровне требует программиста высокой квалификации. Для упрощения программирования в ОС введены специальные средства управления вв/в на логическом уровне. Если в программе требуется вв/в в результате прерывания, управление передается монитору вместе с кодом функции, определяющим операции I/O, и параметр, необходимый для выполнения этих операций.

Схема организации I/O на логическом уровне:

Размещено на http://www.allbest.ru/

а) монитор

анализирует код функции и распознает операцию I/O;

диспетчирует код функции SV I/O;

б) SV I/O

определяет участвующие в операции I/O устройства;

инициирует соответствующий драйвер;

осуществляет обмен данными между процессором и буфером;

Замечание: в некоторых ОС, таких как MS-DOS, Windows, функции SV I/O выполняет базовая система I/O - BIOS, основная часть которой составляет драйверы.

в) драйвер - специальная программа управления конкретным устройством, содержит машинные команды для выполнения I/O, поэтому пользователь освобождается от необходимости знать принципы работы устройств. Различают:

резидентные, находящиеся в ПЗУ и формируемые BIOS;

загружаемые, которые разрабатываются по мере появления новых устройств и входят в модуль расширения BIOS.

Структура драйвера

Размещено на http://www.allbest.ru/

Заголовок устройства именует устройство и содержит информацию об остальных частях драйвера, имеет следующий формат:

Размещено на http://www.allbest.ru/

указатель на следующий драйвер ->-1, который заменяется при передаче управления драйвера на адрес следующего драйвера, что дает возможность подключать новые драйверы. Если -1 сохраняется-> конец списка или другой, предназначенный для одного устройства.

атрибуты содержат информацию о типе устройства. Различают 2 типа устройств

символьные, которым приписываются имена и которые предназначены для передачи данных через последовательный интерфейс

RC_232C (V = 9600 Вольт)

CON:, COM1:, COM2:, LPT1: LPT2: KBD:, VIO:, NULL: и т.д., PRN:

Каждое последовательное устройство обслуживает одно логическое устройство. Их можно открывать как файлы, либо создавать каналы.

блочные устройства - устройства произвольного доступа (диски) им не задаются имена, а приписываются символы. Они могут обслуживать одновременно несколько логических устройств.

A:, B:, C:, D:…

В байте атрибут обычно устанавливается 15 бит

Размещено на http://www.allbest.ru/

Заголовок устройства может иметь следующий вид:

next_in dd -1

attribute dw 8000h ; 15 бит->1

dw strategy

dw interrupt

db `prn ` ; имя символьного устройства

Процедура стратегии

Содержит информацию о блоке данных, создаваемой операционной системой, при передаче управления драйверу и именуемой заголовком запроса. Адрес заголовка запроса помещается в ES:BX. Единственное задание этого процесса- сохранить адрес заголовка запроса в локальной переменной. Запросы состоят из 2 секций:

1-ая - заголовок запроса (стандартный для всех драйверов);

2-ая - информация, которая используется затем драйвером.

Заголовок запроса имеет следующий стандартный формат:

Размещено на http://www.allbest.ru/

код операции или тип функции, содержит номер типа функции, который может принимать значение о 0 до 24, такие как функция инициализации, которая служит для загрузки драйвера и вызывается только 1 раз при его загрузке, функция проверки диска, построении блока параметров BIOS, запись, чтение, проверка состояния записи и чтения, открытие или закрытие устройства.

статус или слово состояния, заполняется программой прерываний. Программа стратегий имеет следующий вид:

keep_es dw ?

keep_bx dw ?

strategy:

mov cs:keep_es, es

mov cs:keep_bx, bx

ret

Программа прерываний

Вызывается сразу же после программы стратегий. Состоит из 2 частей:

1 - сохраняет содержимое регистров;

2 - осуществляет вызов процедуры выполнения операции.

При выполнении программы прерываний выполняется следующая последовательность действий:

Сохраняется содержимое регистров.

Восстанавливается содержимое регистров ES:BX для определения адреса заголовка запроса

Mov ax, cs:keep_es

Mov es, ax

Mov bx, cs:keep_bx

Осуществляется чтение кода функции из заголовка запроса

Mov al, es:[bx]+2 ; смещение

Осуществляется передача управления процедуре, выполняющей функцию, которая указана в 3-ем поле заголовка запроса.

После выполнения процедуры заполняется поле статуса в заголовке запроса

Or es:word_ptr[bx]+3, xxxxh

Если выполнение процедуры завершается успешно, то устанавливается в 1 8-ой бит, при аварийном завершении в 1 устанавливается 15 бит, при этом в биты с 0 по 7 заносится код ошибки.

осуществляется передача процесса через BIOS и монитор.

Управление файлами

Функции программы управления являются промежуточным звеном между процессом и SV I/O.

Размещено на http://www.allbest.ru/

2. Процесс выдает с помощью имен файлов, ключей и прочее, логический запрос, например, прочитать следующую запись.

Программа управления файлами (ПУФ) реализует метод доступа (сочетание доступа со способом организации - метод доступа), транслируя логический запрос в физический и передавая управления SV I/O.

ПУФ реализует ряд базовых функций, основными из которых являются такие как открытые и закрытие файла, запись, чтение, создание/уничтожение и т.д.

а) открытие файла

цель функции открытия файла сообщить системе о намерении использовать файл с определенными функциями доступа, создание буфера вв/в для хранения блоков данных.

основными параметрами при открытии файла являются:

имя файла;

способ доступа (запись, чтение, выполнение);

способ организации (последовательный, прямой, индексно- прямой, библиотечный и т.д.);

длина записи, блока, размер буферов.

при открытии файла выполняется следующие основные действия:

подготовка к пересылке данных, для этого система управления файлами должна иметь информацию о местонахождении файла, если файл находится в каталоге, то происходит обращение к каталогу, в противном случае, выдается сообщение;

копирование учетной информации из каталога и дескрипторов в некоторую структуру данных, расположенную в основной памяти, что ускоряет работу при неоднократном обращении к файлу;

создание буферов вв/в;

загрузка системных программ, реализующих метод доступа.

б) закрытие файла

цель - запретить последующий доступ к файлу, разорвать логическую связь между файлом и процессом;

при закрытии освобождается область памяти, выделенная под буфер вв/в и под системные программы.

в) операции чтения или записи. Различают 2 способа ЗП/ЧТ:

синхронный, возможен для файлов, имеющих последовательную структуру. При выдаче запроса на вв/в, процесс принудительно переводится файловой системой в состояние ожидания, до тех пор, пока не закончится обмен данными между процессом и файлом.

асинхронный, при котором после выдачи процессом запроса на вв/в, файловая система передает управление процессу, выдавшему запрос. Этот способ - одно из основных преимуществ Win32.

г) создание - выделить имя и, в случае необходимости, файловое пространство.

Для преобразования логического запроса в физический, необходимо иметь информацию о структуре данных и их местоположении, которую ПУФ получает из каталога и дескрипторов.

а) каталог устанавливает соответствие между логическим именем файла и его физическим расположением. Основное требование к каталогу - фиксация месторасположения каталога (элемента каталога);

б) дескриптор содержит дополнительную информацию о файлах (длину записи, ее формат). Определяется при просмотре каталога - файловые информационные таблицы.

Расположение информации на диске, т.е. физическая структура файла, чаще всего отличается от его логической упорядоченности. Для преобразования логической структуры в физическую необходимо узнать о распределении внешней памяти и некоторую связующую информацию, располагающуюся в дескрипторе. К алгоритмам распределения внешней памяти предъявляются такие требования, как:

рациональное использование внешней памяти;

легкость доступа. На практике, распределение внешней памяти осуществляется точно также как в основной памяти, отличие заключается в следующем: при связывании свободных участков в список, указатели на свободные участки помещаются в таблицу. Это ускоряет поиск свободных участков;

в оперативной памяти, при связывании свободных участков, указатели на свободные участки входят в состав самих свободных участков, т.е. каждый свободный участок имеет ссылку на следующий. Такой подход не преемлен для внешней памяти, т.к. поиск i-го свободного участка требовал бы прохождения i-1 -го участка.

в алгоритмах распределения внешней памяти все пространство разбивается на блоки различной фиксированной длины -64, 128, 256, 512, 1024 б. Каждому блоку присваивается номер.

выделение памяти под файл осуществляется следующими 2-мя способами:

в виде последовательности смежных блоков. Достоинство: простота в реализации. Недостатки:

если при работе с файлом вводятся изменения, то этот файл необходимо переписать в другое место. Это связано с тем, что каждый блок ограничен соседними блоками.

явление фрагментации, поэтому необходимо периодически проводить уплотнения информации на диске.

Произвольным образом расположенные свободные блоки. Достоинство: снимается необходимость расширения файла. Недостатки: усложняется алгоритм выделения и поиска информации, что влечет к увеличению времени поиска информации.

Особенности физической организации файлов и каталогов

Под дорожками понимается концентрические окружности, на которых находятся данные. Они нумеруются с нулевой, самой близкой к периферии (краю) диска.

Цилиндр - объединение дорожек с одним и тем же номером, расположенных на различных поверхностях диска. Каждая дорожка длится на секторы. Сектор- -512 б для DOS. Кластер - минимальная единица памяти, выделенная под файл (кратен 2^n). Формат информации (на дорожке) универсален: как для жестких, так и для гибких дисков дорожка делится на секторы, каждый сектор состоит из 2 частей - служебного поля и поля данных. Служебное поле представляет собой идентификатор сектора, который уникален для каждого сектора диска. Поиск и обнаружение сектора осуществляется с помощью идентификатора.

Табличное представление диска:

Размещено на http://www.allbest.ru/

Самый первый сектор диска содержит главную корневую запись, которая загружается в память под управлением BIOS и выполняет загрузку ОС. Последняя часть этого сектора содержит таблицу разделов: 4-элементные таблицы с 16-байтными элементами.

Таблица разделов:

Смещение

Длина

Содержимое

+0

1beh

Код загрузки

+1beh

10h

Эл-т раздела №1

+1ceh

10h

… №2

+1deh

10h

… №3

+1eeh

10h

… №4

+1feh

2

55 | AA

Размещено на http://www.allbest.ru/

Блок параметров BIOS

Блок параметров BOIS представляет из себя подмножества данных, содержащихся в загрузочном секторе. Длина его составляет 13 байт:

смещение

длина

содержимое

+0

2

Байт на сектор

+2

1

Секторов на кластер

+3

2

Корневых и резервных секторов. Max число 32 б элементов корневого оглавления

+5

1

+6

2

Число таблиц FAT

+8

2

Общее число секторов на носителе

+0ah

1

Дескриптор носителя

+0bh

2

Число секторов в FAT

Дескриптор носителя - первый байт таблицы FAT.

FAT состоит из 16 битных элементов. Чтобы прочитать любой из элементов FAT, следуя по цепочке FAT, сначала следует считать память всего FAT и получить из оглавления начальный номер кластера. 1-ый байт FAT называется дескриптором носителя, остальная часть FAT состоит из 16-битных элементов, каждый из которых представляет собой один кластер и может содержать одно из следующих значений:

000h - доступный кластер

fff0h - fff7h - зарезервированный кластер (уже содержит информацию, относящуюся какому-то файлу)

fff7h - плохой (bad)

fff8h - ffffh -конец цепочки распределения

0002h - ffefh - номер кластера, следующего элемента в цепочке

Получив начальный номер кластера для файла из элемента оглавления, можно обратиться к реальному сектору диска, для этого надо преобразовать номер кластера в номер сектора. Корневой каталог состоит из элементов, описывающих данные, которые хранятся в области данных диска, включая файлы подкаталогов (подоглавлений). Элемент корневого оглавления содержит имя файла, атрибут файла, время создания или обновления, дату создания или обновления.

Под атрибутом файла понимается 1 байт битовых флажков, связанных с каждым файлом и находящийся в элементе оглавления файла.

Формат времени создания/обновления

Дата создания/обновления

Под годом понимается количество лет, происшедших с 1980 года.

Размещено на Allbest.ru


Подобные документы

  • Распределение виртуальной памяти. Страничная и сегментная организации виртуальной памяти. Сегментно-страничная организация виртуальной памяти. Преобразование виртуального адреса в физический. Упрощение адресации памяти клиентским программным обеспечением.

    курсовая работа [440,7 K], добавлен 04.03.2014

  • Архитектура компьютеров и возможности операционной системы по управлению памятью. Суть концепции виртуальной памяти. Аппаратно-независимые и аппаратно-зависимые средства управления виртуальной памятью. Сегментно-страничная организации виртуальной памяти.

    презентация [355,2 K], добавлен 27.12.2010

  • Как осуществляется трансляция адресов при страничной организации. Что такое компактировка и как с ее помощью избавиться от внешней фрагментации. Что такое регистр таблицы страниц, сегментация. Методы распределения памяти в виде отдельных сегментов.

    контрольная работа [236,2 K], добавлен 23.12.2016

  • Элементы процессора, аппаратный уровень. Устройство управления, микропрограммный автомат. Процессор Intel 8086, сегментная организация памяти. Команды, главные особенности их кодирования. Результат дизассемблирования программы отладчиком TurboDebugger.

    лекция [1,1 M], добавлен 14.12.2013

  • Организация памяти компьютера и простые схемы управления ею. Принципы связывания адресов. Динамическое распределение и свопинг. Сегментная и сегментно-страничная организация памяти. Выталкивание редко используемой страницы. Описание работы с программой.

    курсовая работа [3,1 M], добавлен 19.01.2016

  • Функциональная схема микропроцессора Intel 8086 (i8086). Формирование физического адреса памяти, выборка команд из памяти и запись их в очередь команд. Система команд процессора. Суть защищенного режима, переход из защищенного режима в реальный режим.

    практическая работа [93,3 K], добавлен 24.03.2013

  • История развития корпорации Intel, ее финансовые показатели и планы на будущее. Основные программные продукты: C++ Compiler for Linux и for Windows, Visual Fortran Compiler for Windows, VTune Performance Analyzer. Защита информации Intel Anti-Theft.

    реферат [20,6 K], добавлен 02.04.2010

  • Характеристика процессоров линейки Intel. Знакомство с особенностями микропроцессора, предназначенного для настольных систем с поддержкой симметричной многопроцессорности. Pentium Pro как процессор Intel шестого поколения, совместимый с архитектурой x86.

    реферат [57,6 K], добавлен 25.07.2013

  • Проектирование ОС Windows 2000, ее архитектура. Процессы и потоки. Уровни запросов на прерывания. Менеджер объектов. Распределение виртуальной памяти. Трансляция виртуальных адресов в физические. Локальный вызов процедуры. Структура сообщения LPC.

    презентация [1,5 M], добавлен 24.01.2014

  • Последовательность загрузки значений регистров базовых адресов и регистров прав доступа для системного режима. Методы и средства защиты памяти, преобразования логического адреса в физический, реализованных в УУП процессора. Режим работы процессора.

    лабораторная работа [1,5 M], добавлен 23.07.2012

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.