Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ОС_Ответы на экзамен по ОС.doc
Скачиваний:
1
Добавлен:
01.03.2025
Размер:
636.93 Кб
Скачать
  1. Управлением памятью. Кэш.

Кэш-память, или просто кэш (cache), это способ совместного функционирова­ния двух типов запоминающих устройств, отличающихся временем доступа и стоимостью хранения данных, который за счет динамического копирования в «быстрое» ЗУ наиболее часто используемой информации из «медленного» ЗУ позволяет, с одной стороны, уменьшить среднее время доступа к данным, а с дру­гой стороны, экономить более дорогую быстродействующую память.

Содержимое кэш-памяти представляет собой совокупность записей обо всех загруженных в нее элементах данных из основной памяти. Каждая запись об элементе данных включает в себя:

- значение элемента данных;

- адрес, который этот элемент данных имеет в основной памяти;

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

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

- если данные обнаруживаются в кэш-памяти, то есть произошло кэш-попада­ние (cache-hit), они считываются из нее и результат передается источнику за­проса;

- если нужные данные отсутствуют в кэш-памяти, то есть произошел кэш-про­мах (cache-miss), они считываются из основной памяти, передаются источни­ку запроса и одновременно с этим копируются в кэш-память.

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

При случайном отображении элемент оперативной памяти может быть разме­щен в произвольном месте кэш-памяти. Для того чтобы в дальнейшем можно было найти нужные данные в кэше, они помещаются туда вместе со своим ад­ресом оперативной памяти.

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

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

  1. Управление вводом-выводом. Физическая организация устройств ввода-вывода. Организация программного обеспечения ввода-вывода.

Все устройства ввода-вывода делятся на два типа:

1) Блок-ориентированные устройства. Хранят информацию в блоках фиксированного размера от 512 байт до 32 Кб.

Пример – внешний диск.

Важное отличие – любой блок может быть прочитан или записан вне зависимости от других блоков.

2) Байт-ориентированные устройства (символьные).

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

Устройство состоит из двух компонент: устройства и контроллера.

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

Контроллер часто использует прерывания для сообщения процессору, что его регистры готовы к чтению или записи.

Прерывание – электронный сигнал с входа контроллера прерывания.

Те контроллеры, которые мы устанавливаем дополнительно, можно привязать к прерыванию с помощью перемычек или функций БИОСа. Каждое прерывание связывается с вектором прерываний – это указатель на программу обработки прерываний.

Принцип работы с контроллером:

ОС выполняет операции ввода-вывода, записывая команды в регистре контроллера. Когда команда принята, процессор оставляет контроллер и занимается другой работой. При завершении обработки команды, контроллер образует прерывание для того, чтобы передать управление ОС, которая проверит результат операций.

Прямой доступ к памяти:

Многие контроллеры поддерживают прямой доступ DMA – Direct Memory Access.

Не во всех компьютерах используется DMA.

Недостатки:

- время на перекачку;

- подорожание стоимости ПК.

Организация ПО ввода-вывода.

Принцип организации:

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

2) Независимость от устройства.

3) Единообразное именование однотипных устройств.

4) Обработка ошибок. Ошибки должны обрабатываться как можно ближе к месту возникновения.

5) Использование синхронных и асинхронных операций.

Для обеспечения всех этих принципов целесообразно разделить ПО на 4 слоя:

1) Обработка прерываний.

2) Драйверы устройств.

3) Независимый от устройств слой ОС.

4)Пользовательский слой ОС.