Адресное пространство. Подсистемы ввода-вывода

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

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

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

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

Решение - в контексте задачи создается буфер IOSB (Input Output Status Block), в который драйвер помещает результаты выполнения операции. Это же происходит и при блокирующий запросах, но все это делается неявно.

Итак, для выполнения операции нужно следующее:

1. Запрос (код операции, параметры)

2. Координаты запроса (FCB, #LBN, длина)

3. Адрес буфера

4. IOSB

5. Объект синхронизации.

Буферизованный и небуферизованный обмен

IORP - структура для хранения параметров запроса ввода-вывода. ОС копирует в этот пакет параметры из запроса QIO, которые хранятся в системе. Т.е. параметры в системном пуле и не […..]. Этими параметрами можно пользоваться. Если параметры типа указатель, то они имеют смысл только в контексте задачи. Если на процессоре наша задача, то в CR3 нужное страничное преобразование. Если на CR3 адрес ТСП другого приложения, то указатель будет неправильным. Поэтому драйвер не сможет выполнить обмен с буфером. Надо драйверу передать корректный указатель. Указатель должен существовать в контексте драйвера. Нужно получить новый логический адрес - в контексте драйвера. Нужно выяснить физический адрес буфера, полностью преобразовать его в логический адрес в контексте драйвера.

У драйвера контекст является контекстом, который совпадает с физической памятью. Т.е. там физический адрес совпадает с линейным. И этот адрес кладем в IORP. Поэтому нужно запретить перемещение и выгрузку - зафиксировать страницу. Также нужно запретить свопинг задач (выгрузка задачи полностью на диск).

Если таких задач много (зафиксировавшихся), то система начинает тормозить, и, в конце концов, падает.

Поэтому обмен между драйвером и буфером нужно делать через специальную область памяти - неперемещаемую.

Буферизованный обмен - это обмен через специальную область памяти - неперемещаемую. На самом деле при таком обмене существуют 2 буфера - один в неперемещаемой области памяти, второй в области приложения.

Запись: ОС заводит системный буфер, копирует туда буфер задачи, драйвер читает из буфера.

Чтение: ОС заводит буфер, драйвер пишет туда, ОС копирует из системного буфера в буфер приложения.

Это позволяет не ограничивать функции задачи.

Проблемы здесь в размерах. Например, по кластерам 128кБ на кластер.

Буферизованный обмен - для медленных, с небольшими буферами [устройств].

Небуферизованный - для быстрых и с большими буферами.

Запланированный ввод/вывод

Ничего нет.

Настройка ОС

На примере MS-DOS (система с начальной настройкой)

PnP - аппаратный интерфейс, служащий для динамической конфигурации и реконфигурации системы.

Этот механизм предполагает:

1. сигнализацию о вставлении/удалении устройства

2. идентификацию устройств.

PnP не может осуществлять динамическую реконфигурацию самой ОС, а только внешних устройств.

Драйверы

Драйверы надо писать если:

- данный ресурс будет разделяемым

- данным устройством можно управлять только из контекста ядра.

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

Синхронные запросы: полученные с их помощью данные потерять нельзя. Такими устройствами можно управлять из прикладной задачи (это обычно специализированные устройства). Драйвер писать неэффективно.

Драйверы устройств, не поддерживающих прерывания

Если устройство не генерирует прерывание, то точка входа драйвера по прерыванию цепляется к таймеру (для опроса) - polling.

Если READY = 1, то операция, запрошенная у ВУ завершена. Этот бит постоянно опрашивается (программно).

Если работаем в ВУ на прикладном уровне, то придется самим опрашивать регистры ВУ. В серьезных ОС прерывания на прикладном уровне недопустимы.

Файлы и файловые системы

Файловая система - это набор правил хранения и обработки информации.

Файловый процессор - программа, которая выполняет эти правила.

В правилах есть постоянные и переменные параметры. Переменные параметры должны быть определены в метке тома. Ее положение - жестко заданная константа в любой ФС. Том - накопитель ФС.

Задачи ФС:

1. Оптимально разместить данные на носителе

2. Найти потом эти данные.

Необходимо присвоить каждому набору данных имя и дать возможность:

1. автору определить это имя

2. по имени найти набор данных

Сегментная ФС (на примере RT-11)

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

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

Файловые системы с глобальным индексом (FAT) решают проблему непрерывного хранения файлов. Теперь они могут располагаться кусками по всему носителю. Вся область хранения файлов разбивается на кластеры. Для нахождения файла, по-прежнему нужно знать только два числа - номер начального кластера и длину файла. Последовательность кластеров описывается списком - таблицей размещения файлов (FAT), которая состоит из записей, содержащих только номер следующего кластера (и записи соответственно). Каждый кластер соответствует определенной записи в таблице и наоборот. Если в записи 0, то значит кластер - свободен, если -1 - последний в цепочке.

Размер записи определяется количеством кластеров, так, чтобы можно было описать кластер с наибольшим номером.

UFS

Вместо индексного файла теперь индексные узлы - inode, размером в один сектор. Место выделяется блоками, их описание хранится в индексном файле. Метка тома теперь называется Суперблок. Создается связанный список свободных блоков. Нельзя сделать undelete, т.к. список портится.

S5FS

Введены множественные битовые карты.

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

FFS (Fast File System) - файловая система BSD

Выделение логическими блоками. Идеологически - почти HPFS.

Индекс файла строится следующим образом:

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

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

С появлением сетей, единицей учета становится уже группа файлов, а не один файл.

NTFS

Нельзя ставить на диски меньше 100 МБ. Эффективно работает с дисками в несколько ГБ.

Вся информация, в т.ч. и для файлового процессора, становится файлом. Пропадает служебная информация.

MFT2 - копия MFT сразу после форматирования.

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

В одном индексе может описываться не один файл, а набор файлов. Файлы называются потоками - name : stream, где name - имя набора, stream - имя файла в наборе.

Например, все файлы БД можно поместить в один набор.

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

Access Control List (Список Управления Доступом) теперь можно хранить в индексе. Это массив ACEntry - структуры, которая описывает пользователя и группу и их права доступа.

Если произойдет сбой при изменении MFT, то все упадет.

NTFS - транзакционная файловая система. Любые операции по изменению ФС рассматриваются как транзакции.

log - файл журнала транзакций (всегда > 5 МБ). Это кольцевой буфер. Запись закрывается в момент закрытия транзакции. Если произошел сбой, то находятся все незакрытые записи и производится обратный откат.

В NTFS все - атрибуты, и файлы тоже.

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

Операция монтирования файлового устройства

Как выяснить, какая ФС находится на данном диске? Механизмов для этого нет.

Чтобы ОС могла определять тип ФС можно загрузить в ОС набор ФП и пытаться определить тип ФС. Но все это выполняется вручную или в полуавтоматическом режиме.

Монтирование - связывание ФП с диском (то же самое, что и открытие файла).

А в сетях?

На локальных машинах может стоять локальная ФС, которая при экспортировании преобразуется в виртуальную.

Сетевые файловые системы

Локальная ФС - ФС, находящаяся на то же компьютере, что и ФП.

Структура локальных файловых систем.

Модуль кэша ввода/вывода кэширует в первую очередь информацию каталогов, части индексных файлов и другую информацию ФП. Драйвер ФС имеет признак - локальная это ФС или удаленная.

Структура сетевых файловых систем.

Используются протоколы SAMBA (для локальных сетей) и ICFS (расширение SAMBA, поддерживающее маршрутизацию через Internet).

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

1. сделать сверхбольшие объемы дисков

2. подключать к локальной ФС удаленные ФС.

ASM - Application Storage Manager

Реализуется локальная, но виртуальная ФС (похожа на виртуальную память).

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

NFS - Network File System

К каждому компьютеру подключается несколько дисков. Все это рассматривается как единая ФС.

NFS позволяет в любой каталог ФС локальной машины подключать любой фрагмент любой удаленной ФС.

Путь запроса O A B A O

Недостатки:

1. много передач между компьютерами

2. можно не найти файл, если администратор компьютера A перетащит подключение B в другой каталог.

NAS - Network Attached Storage

Хранилище, подключенное к сети.

Добавляется сервер ФС, на котором хранится структура всей сети и все локальные каталоги. Любой запрос на чтение/запись сначала направляется на сервер, а потом перенаправляется туда, где действительно находятся данные.

Путь запроса O B O

Недостаток: сложно реализовать сервер ФС.

SAN - Storage Area Network

Fibre Channel - интерфейс, позволяющий подключать больше устройств, чем SCSI.

Идея:

Эта штука создает впечатление, что работа происходит с локальным SCSI устройством.

Fibre Channel использует оптоволоконные кабели, но это очень дорого.

Преимущества:

1. Скорость (около 1 Гб/с)

2. Поддержка SCSI.

iSCSI

Это протокол, поддерживающий SCSI интерфейс, но работающий с TCP/IP.


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

  • Изучение подсистемы ввода-вывода и файловой системы ОС семейства Windows NT. Анализ особенностей работы приложения TotalCommander и его взаимодействия с файловой системой и подсистемой ввода-вывода. Взаимодействие TotalCommander с сетевыми адаптерами.

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

  • Отличительные особенности микроконтроллеров AVR семейства Mega. Характеристики процессора, подсистемы ввода-вывода. Архитектура ядра и организация памяти. Регистры общего назначения. Алгоритмы моделирования команд. Реализация модели внешнего устройства.

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

  • Использование программой функции ввода-вывода данных для реализации дружественного интерфейса с пользователем. Функции консоли и особенности их применения для обеспечения аккуратного ввода информации и упорядоченного вывода. Обзор стандартных функций.

    лабораторная работа [40,4 K], добавлен 06.07.2009

  • Основные составляющие системного блока. Назначение материнской платы. Базовая система ввода-вывода – Bios. Понятие периферийного устройства. Запоминающие устройства и их виды. Открытая архитектура в устройстве ПК. Устройства для ввода и вывода данных.

    реферат [478,5 K], добавлен 18.12.2009

  • Общее устройство микропроцессора. Структура 64-битной подсистемы памяти. Селекция портов ввода/вывода. Особенности интерфейса микропроцессорных систем. Проектирование подсистемы памяти на базе Itanium 2. Расчёт информативности и необходимых объёмов.

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

  • Классификация периферийных устройств ввода и вывода данных для обмена информацией между компьютером и внешним миром. Системы распознавания магнитных знаков, символов. Принцип работы мониторов и принтеров. Вид манипуляторов для управления курсором.

    реферат [272,7 K], добавлен 01.04.2014

  • Периферийные устройства ввода-вывода информации, перспективы их развития. Мышь, джойстик, тачпад, клавиатура, web-камеры, сканер, мониторы и принтеры. Устройства бесконтактного ввода. Сенсорный экран, "интеллектуальная" среда. Стереодисплеи и 3D принтеры.

    курсовая работа [4,8 M], добавлен 06.11.2013

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