Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
spo.doc
Скачиваний:
19
Добавлен:
09.12.2018
Размер:
432 Кб
Скачать
☆

Вопрос № 15. Связь логического и физического представления данных на мд. Кэширование информации.

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

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

Головка представляет собой относительно небольшое устройство, предназначенное для считывания или записи участка диска, вращающегося под ней. Данные на диске организуются в виде набора концентрических колец, называемых дорожками (traсks). Каждая дорожка имеет ту же ширину, что и головка.

Информация на МД размещается блоками. Каждый такой блок называется сектором. Сектора находятся на концентрических дорожках поверхности диска и их размер – 512 байт.

Несколько секторов могут быть объединены логически в единое целое и составят кластер.

Кластер (Cluster) – это минимальная группа секторов, которую операционная система может выделить для файла. Точное число секторов в кластере зависит от файловой системы, которую Вы используете, и физического размера диска. Чем больше емкость диска, тем больше число кластеров, но может наступить предел по размеру адреса. В этом случае кластер увеличит свой размер. В современных файловых системах стараются уменьшить количество кластеров. Это и хорошо и плохо. В большом кластере может разместится файл большего размера. В этом случае выигрываем время на переключение с дорожки на дорожку, но если файл маленький, то остаток пространства кластера будет потерян.

Для загрузки в ОП ОС с жесткого диска были приняты специальные соглашения о структуре диска.

По адресу [0-0-1] магнитного диска расположена простейшая программа, с помощью которой можно находить и загружать программы ОС и информацию о структуре данных.

Дорожка находится под определенным положением магнитной головки при вращении. НМД может содержать 1 или более дисков. Группы дорожек одного радиуса – это цилиндр. Современные жесткие диски могут иметь несколько десятков тысяч цилиндров, а дискета 1,44 Мб имеет всего 80. Здесь 2 поверхности по 18 секторов:

2 * 80 * 18 * 512 =1 474 560 = 1,44 Мб

Сектор можно сделать и большего размера, но в большинстве современных ОС он выбран 512 байт. Физический адрес сектора определяется при помощи 3х «координат» [c-h-s], где с – номер цилиндра, h – номер рабочей поверхности, s – сектор.

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

Разделы могут быть двух типов – primary (первичный) и extended (расширенный). Максимальное число primary-разделов – 4, причем присутствие 1-го обязательно и extended.

Если первичных разделов несколько, то один из них может быть активным. При включении ПЭВМ именно из активного раздела начинается выполняться программа загрузки ОС. До загрузки ОС система управления файлами не работает, используются абсолютные номера в форме [c-h-s].

По адресу [0-0-1] на винчестере располагается главная загрузочная запись (master boot record, MBR). Эта запись занимает 1 сектор и размещается в памяти с адреса 0:7000. Затем задействуется код, который содержится в MBR и выполняется дальнейшая загрузка.

В MBR находятся три важных элемента:

  • Программа начальной загрузки (она запускается BIOS после ее загрузки в ОП). Она загружает чуть более сложную программу – стартовый сектор ОС – и передает ему управление.

  • Таблица описания разделов диска, которая занимает 64 байта, и находится сигнатура MBR.

  • Сигнатура MBR. Последние два байта MBR – это код АА55h. По ней BIOS проверяет, что чтение 0 и 1 идет нормально и блок информации передан верно, цепи передачи информации в исправном состоянии.

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

При такой схеме запуска компьютера мы всегда будем попадать в одну и ту же ОС. Иногда это плохо. Но разработаны менеджеры загрузки (boot-менеджеры), которые позволяют загрузить нужную ОС. Такие менеджеры входят в состав утилит OS/2 как отдельный раздел, который является активным.

Есть разные менеджеры: System commander (он расположен в разделе FAT) и Boot manager (в составе OS/2).

Установка менеджера загрузки осуществляется программой FDISK. При этом можно указать, какие разделы должны быть загружены. Есть возможность указать ОС по умолчанию.

В начале винчестера находится таблица соответствия кластеров. Каждая запись этой таблицы соответствует кластеру винчестера. Она состоит из двух частей – первая указывает состояние кластера (плохой, свободный, занят файлом, последний в файле), вторая часть содержит адрес – ссылку на следующий кластер. Размер записи таблицы соответствия кластеров зависит разрядности процессора. В 16-и разрядном процессоре на номер кластера отведено 16 бит. Количество кластеров, к которым может адресоваться процессор равно 65536. Если винчестер большой емкости, то и кластер будет содержать большее число секторов. Например, размер кластера в файловой системе Windows – 2000, в зависимости от размера тома, представлен в таблице:

Зависимость размера кластера от размера тома

Размер тома

Количество секторов в кластере

Размер кластера

<= 512 Мбайт

1

512 байт

512 Мбайт – 1 Гбайт

2

1 Кбайт

1 Гбайт – 2 Гбайт

4

2 Кбайт

2 Гбайт – 4 Гбайт

8

4 Кбайт

4 Гбайт – 8 Гбайт

16

8 Кбайт

8 Гбайт – 16 Гбайт

32

16 Кбайт

16 Гбайт – 32 Гбайт

64

32 Кбайт

> 32 Гбайт

128

64 Кбайт

Кэширование

В современных ПК средняя длительность выборки при чтении – 20 мс. Это намного больше выборки из ОП и тем более из КЭШ. После выборки данные читаются большим пакетом (сразу несколько секторов в 512 байт). Скорости при выборке из ОП на 2-3 порядка выше.

Чтобы сгладить такое несоответствие используется буферизация или кэширование данных.

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

КЭШ – некий пул буферов, управляемый системным процессом. Программа считывает запись, но в буфер их считывается сразу много.

При записи данных из программы данные поступят в буфер и попадут на МД при его заполнении или окончании задачи. Эта операция отложенной записи («ленивая запись»). Плохо: при отключении питания – данные буфера пропадают.

Упреждающее чтение: задача просит из файла 1 запись, но считывается сразу блок информации. Этим управляют в ОС соответствующие дисциплины.

Количество буферов, составляющих КЭШ, ограничено и может возникнуть ситуация, когда новые порции данных заменяют данные буферов. Тогда принятая в ОС дисциплина кэширования их заменит. В Windows NT нет возможности управлять объемом или параметрами кэширования, все делает ОС.

В системах Windows 95/98 и следующих такая возможность есть, но ограниченная. Можно указать объем памяти для кэширования и объем порций данных, из которых набирается КЭШ.

В файле SYSTEM.INI в секции [VCAHCE] можно, например, написать:

[VCAHCE]

Minfilecache = 4096;

Maxfilecache = 32768;

Chunksize = 512;

Здесь: минимально под КЭШ выделено 4 Мб, но при необходимости он может возрасти до 32 Мб.

Размер данных, которыми манипулирует менеджер КЭШа, равен сектору.

Кэширование информации значительно повышает производительность вычислительной системы.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]