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

Скорость воздуха вблизи диска выше из-за вязкости и трения воздуха о диск.

Головка из-за своей формы приобретает некоторые аэродинамические

39

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

С другой стороны пружина прижимает головку к диску.

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

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

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

Привод головок

Подошли к пределу плотности записи для материала. Как еще повысить плотность?

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

Сначала для привода головок использовался шаговый двигатель.

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

на зуб. Поэтому этот шаговый двигатель - линейный.

Есть еще круговой.

Применяется для гибких дисков. Зуб нельзя сделать меньше определенного размера.

Тогда: асинхронный двигатель с обратной связью.

Несколько дисков, последний слой покрытия называется “серво”. На эту серво-поверхность записывается аналоговый сигнал. Серво-головка только читает.

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

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

Связные ПУ (Устройства связи)

Служат для передачи информации между компьютерами.

ВЗУ - аналоговые.

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

Классификация связных ПУ.

По способу кодирования:

- Амплитудные

- Частотные

По способу формирования сигнала:

- Модулированные

- Немодулированные

По механизму синхронизации:

- Синхронные

- Асинхронные

По средам передачи информации (все носят электромагнитную природу):

- Проводные линии связи

- Оптические

- Радио

Проводные - передача по металлическому проводу

39

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

Медный провод - наименьшее удельное сопротивление.

При увеличении длины растет сопротивление провода и, следовательно, падает уровень сигнала. Как сделать, чтобы не было зависимости от длины?

Надо использовать “Токовую Петлю”.

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

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

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

Активное сопротивление влияет на амплитуду сигнала. А индуктивность и паразитная емкость проводов влияют на фазу сигнала - намного хуже.

Чем выше частота сигнала, тем больше его искажают по фазе индуктивность и емкость - будут завалены фронты у меандра.

По Фурье: можно разложить любой периодический сигнал на сумму синусоид, а затем собрать обратно.

Оптоволокно

Еще луч имеет толщину, и даже у лазера луч немного конический.

Происходит искажение длин - вот и сдвиг по фазе. Еще и вибрация вызывает жуткие помехи. Так что проблем не меньше, чем при передаче по проводу, только природа другая.

Радио

У радиосигнала поглощение пропорционально квадрату расстояния, а не линейно, как у провода.

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

Мертвая зона: при мощности, свыше определенной, приемник “слепнет”. Если мы излучаем 10 Вт, а придет сигнал 0.2 Вт, мы его не поймем.

Выход - разделение частотных диапазонов. Еще - применение направленных

антенн (излучают не по сфере, а пучком). Тогда возможно координатное разделение. Если этого нет - остается только временное разделение.

Спутниковая связь

Тут два варианта - спутники с высокой орбитой и спутники с низкой орбитой.

Наши используют спутники с высокой орбитой. Общение только через спутник-посредник.

А американцы используют низкие орбиты

Недостатки:

1. Сложный центр управления спутниками

2. Спутники задевают верхние слои атмосферы, постепенно снижаются, затем падают на Землю. Живут один-два года.

Зато такие спутники дешевые и легкие.

Подсистемы ввода/вывода

Файловые устройства

Цель любой программы - обработка данных, т.е. надо грамотно построить структуры данных и написать алгоритмы их обработки.

Структуры данных, которыми оперирует язык:

- Array[] A

- String B

- Struct C

Можем прочитать откуда-то эти структуры:

read( #канала, A, B, C )

Отсюда исходят следующие действия:

read( #канала, Address, Len )

О длинах структур данных и куда их помещать знает только компилятор, следовательно, он и вычисляет Address и Len.

Файл может быть последовательного или произвольного доступа. В файле последовательного доступа есть так называемая текущая позиция.

Чтобы выполнить операции доступа к файлу, нужна начальная инициализация:

#канала = open( имя_файла, тип_доступа )

При открытии файла происходит следующее:

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

- формируется структура FCB (File Control Block)

- файловый процессор заполняет ее поля.

RMS (Record Management System)

По-русски - Система Управления Записями (СУЗ).

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

RMS рассматривает любой файл как набор кластеров. Каждый кластер на уровне файла называется VBN (Virtual Block Number).

При закрытии файла ( close ) все буфера сбрасываются на диск. По команде Flush все буфера просто сбрасываются на диск без закрытия файла.

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

Конкретное блочное устройство рассматривается как плоский массив блоков фиксированного размера.

Для символьных устройств нет буферов, но есть FCB, где содержатся параметры устройства.

При запросе ОС должна проверить указатели на корректность, т.е. указатель должен быть в области user'а и под ним должна быть отображена физическая память. Еще надо проверить, весь ли буфер попал в отображенную память.

Пока идет обработка на уровне ядра, передиспетчеризация процессов запрещена. Нужно где-то сохранять параметры ввода/вывода, для этих целей у ОС есть pool (кусок памяти для размещения динамических данных ОС).

Запросы ввода/вывода оформляются как IORP (Input/Output Request Packet). Поскольку к моменту выполнения запроса произойдет передиспетчеризация, то необходимо отобразить буфера ввода/вывода в ядро. Для этого производится двойное преобразование адреса:

1. Преобразование линейного адреса буфера процесса в физический адрес.

2. Отобразить в область ОС полученную область физической памяти.

Еще нужно запретить перемещение физических страниц памяти.

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

Для выбора драйвера используется база данных внешних устройств, сложность которой определяется:

- сложностью ОС

- сложностью конфигурации железа.

Драйвер - программа, которая делает ОС независимую от железа.

Внешнее устройство - разделяемый ресурс, доступ к которому осуществляет драйвер.

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

База данных ввода/вывода

1. Устройства, которые отображаются в прикладные программы, называются Device.

2. Устройства, которые не отображаются в прикладные программы, называются Bus.

3. Потоковые драйверы/фильтры.

База данных - списки блоков управления CB (Control Block), которые отражают физическую структуру системы.

BCB

Bus Control Block

DCB

Device Control Block

UCB

Unit Control Block

ICB

Interrupt Control Block

SCB

Synchronization Control Block ?

IORP можно передать самому драйверу или поместить в очередь, прицепленную к DCB.

Преобразование ALBA FA KLBA может быть невозможно, т.к. страницы могут быть не выделены.

Стратегии организации последовательности IORP:

- возлагается на ОС

- драйвер сам решает, куда вставить IORP.

Если у драйвера очередь не пуста, то остается надеяться на обслуживание драйвером.

Вернуть управление программе, только если запрос был успешно обслужен (если запрос синхронный). Номер флага, который ожидает программа, помещается в IORP. Как только запрос выполняется - флаг сбрасывается и возобновляется программа, ожидавшая на этом флаге.

RPC

Remote Procedure Call

LPC

Local Procedure Call

APC

Asynchronous Procedure Call

DPC

отложенный

Страницы: 1, 2, 3, 4, 5, 6



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.