Лекции по "Криптология "
Курс лекций, 11 Декабря 2011, автор: пользователь скрыл имя
Краткое описание
Рассмотренные в предыдущем разделе физические механизмы взаимодействия устройств ввода-вывода с вычислительной системой позволяют понять, почему разнообразные внешние устройства легко могут быть добавлены в существующие компьютеры. Все, что необходимо сделать пользователю при подключении нового устройства - это отобразить порты устройства в соответствующее адресное пространство, определить какой номер будет соответствовать прерыванию, генерируемому устройством, и, если нужно, закрепить за устройством некоторый канал DMA.
Оглавление
Лекция 16. Структура системы ввода-вывода. Функции базовой подсистемы ввода-вывода. 1
Логические принципы организации ввода-вывода 1
Структура системы ввода-вывода 1
Функции базовой подсистемы ввода-вывода 4
Буферизация и кэширование 5
Spooling и захват устройств. 6
Обработка прерываний и ошибок 6
Планирование запросов 7
Лекция 15. Система управления вводом-выводом. Физические принципы организации ввода-вывода. Общие сведения об архитектуре компьютера. Структура контроллера устройства. Опрос устройств и прерывания. 8
Физические принципы организации ввода-вывода 8
Общие сведения об архитектуре компьютера 8
Структура контроллера устройства 10
Опрос устройств и прерывания. Исключительные ситуации и системные вызовы 11
Для внешних прерываний характерны следующие особенности: 13
Прямой доступ к памяти (Direct Memory Access – DMA) 14
Лекция 14. Загрузка программ. Абсолютная загрузка. Относительная загрузка. Позиционно-независимый код. Загрузка ОС. Сборка программ. 15
Загрузка программ 15
Абсолютная загрузка 15
Абсолютная загрузка используется, например, в системе UNIX на 32-разрядных машинах. 16
Относительная загрузка 16
Позиционно-независимый код 17
Загрузка ОС 17
Пример: Загрузка системы MS-DOS. 20
Сборка программ 21
Объектный модуль 21
Библиотеки объектных модулей 22
Варианты построения загрузчиков 23
Лекция 13. Кэширование данных. Иерархия запоминающих устройств. Кэш память. Принцип действия кэш-памяти. Проблемы согласования данных. Проблемы отображения основной памяти в кэш. 25
Иерархия запоминающих устройств 25
Кэш-память 25
Принцип действия кэш-памяти 26
Проблема согласования данных 28
Способы отображения основной памяти на кэш 28
Схемы выполнения запросов в системах с кэш-памятью 29
Файлы: 1 файл
модОС.docx
— 97.55 Кб (Скачать) В большинстве
современных компьютеров
Когда мы
с вами рассматривали
Не все
внешние устройства являются
одинаково важными с точки
зрения вычислительной системы
(“все животные равны, но
Механизм
обработки прерываний, по которому
процессор прекращает
Для внешних прерываний характерны следующие особенности:
- Внешнее прерывание обнаруживается процессором между выполнением команд (или между итерациями в случае выполнения цепочечных команд).
- Процессор при переходе на обработку прерывания сохраняет часть своего состояния перед выполнением следующей команды.
- Прерывания происходят асинхронно с работой процессора и непредсказуемо, программист ни коим образом не может предугадать, в каком именно месте работы программы произойдет прерывание.
- Исключительные ситуации возникают во время выполнения процессором команды. К их числу относятся ситуации переполнения, деления на ноль, обращения к отсутствующей странице памяти и т.д. Для исключительных ситуаций характерно следующее:
- Исключительные ситуации обнаруживаются процессором во время выполнения команд.
- Процессор при переходе на выполнение исключительной ситуации сохраняет часть своего состояния перед выполнением текущей команды.
- Исключительные ситуации возникают синхронно с работой процессора, но непредсказуемо для программиста, если только тот специально не заставил процессор делить некоторое число на ноль.
- Программные прерывания возникают после выполнения специальных команд, как правило, для выполнения привилегированных действий внутри системных вызовов. Программные прерывания имеют следующие свойства:
- Программное прерывание происходит в результате выполнения специальной команды.
- Процессор при выполнении программного прерывания сохраняет свое состояние перед выполнением следующей команды.
- Программные прерывания, естественно, возникают синхронно с работой процессора и абсолютно предсказуемы программистом.
Надо честно сказать, что похожие механизмы обработки внешних прерываний, исключительных ситуаций и программных прерываний лежат целиком на совести разработчиков процессоров. Существуют вычислительные системы, где все эти три ситуации обрабатываются по-разному.
Прямой доступ к памяти (Direct Memory Access – DMA)
Использование механизма прерываний позволяет разумно загружать процессор в то время, когда устройство ввода-вывода занимается своей работой. Однако запись или чтение большого количества информации из адресного пространства ввода-вывода (например, с диска) приводят к большому количеству операций ввода-вывода, которые должен совершать процессор. Для разгрузки процессора от операций последовательного вывода данных из оперативной памяти или последовательного ввода в нее был предложен механизм прямого доступа внешних устройств к памяти – ПДП или Direct Memory Access – DMA. Давайте кратко рассмотрим, как работает этот механизм.
Для того
чтобы какое-либо устройство
При прямом
доступе к памяти процессор
и контроллер DMA по очереди управляют
локальной магистралью. Это,
При подключении
к системе нового устройства,
которое умеет использовать
Лекция 14. Загрузка программ. Абсолютная загрузка. Относительная загрузка. Позиционно-независимый код. Загрузка ОС. Сборка программ.
Загрузка программ
В данном разделе мы рассмотрим - каким же образом программы попадают в оперативную память для их дальнейшего исполнения. Прежде всего, забегая несколько вперед, отметим, что существуют два типа адресов памяти. Адреса первого типа называются виртуальными, или логическими. Это то число, которое вы увидите, если, скажем, распечатаете значение указателя. Говоря точнее, это тот адрес, который видит ваша программа, номер ячейки памяти в ее собственном адресном пространстве. У многих машин эти адресные пространства для разных программ различны.
Адреса другого
типа называются физическими.
Это тот адрес, который
Вообще говоря,
эти два адреса могут не
иметь между собой ничего
Для начала попробуем рассмотреть загрузку программы в виртуальную память. Для простоты мы будем считать, что эта виртуальная память представляет собой непрерывное адресное пространство. Кроме того, будем считать, что программа была заранее собрана в некий единый самодостаточный объект, называемый загрузочным или загружаемым модулем. В ряде операционных систем программа собирается в момент загрузки из большого числа отдельных модулей, содержащих ссылки друг на друга, о чем будет сказано ниже.
Абсолютная загрузка
Первый, самый простой, вариант состоит в том, что мы всегда будем загружать программу с одного и того же адреса. Это возможно в следующих случаях:
- система может предоставить каждой программе свое адресное пространство
- система может исполнять в каждый момент только одну программу
Подобный программный модуль называется абсолютным загрузочным модулем или абсолютной программой. Он представляет собой копию содержимого виртуального адресного пространства программы в момент ее запуска. Точнее, наоборот, начальное содержимое адресного пространства формируется путем простого копирования модуля в память.
Абсолютная загрузка используется, например, в системе UNIX на 32-разрядных машинах.
Загружаемый файл при этом начинается с заголовка, который содержит:
- "магическое число" - признак того, что это именно загружаемый модуль, а не что-то дpугое
- число TEXT_SIZE - длину области кода программы (TEXT)
- DATA_SIZE - длину области инициализированных данных программы (DATA)
- BSS_SIZE - длину области неинициализированных данных программы (BSS)
- стартовый адрес программы
За заголовком
следует содержимое областей TEXT и DATA.
Затем может следовать
При загрузке
система выделяет программе