Сделай Сам Свою Работу на 5

Лабораторная работа №3 Дисковая память ПЭВМ

Цель работы:изучить устройство винчестера, интерфейс связи с ПЭВМ, программные особенности обработки данных, полученных с ПЗУ, работу с FAT таблицами.

Содержание работы:

3.1 Устройство винчестера.

3.2 Методы кодирования и передачи информации.

3.3 Таблица размещения файлов (FAT).

3.4 Некоторые команды программы Debug.

3.5 Задание.

3.6 Контрольные вопросы.

3.7 Содержание отчета.

3.8 Список использованных источников.

3.1 Устройство винчестера

Накопитель содержит один или несколько дисков (platters), т.е. носителей, которые смонтированы на оси-шпинделе, приводимых в движении специальным двигателем (часть привода). Чем выше скорость вращения, тем быстрее считывается информация с диска (при постоянной записи), однако, пластины носителя при больших оборотах могут просто физически разрушиться. В современных моделях винчестеров скорость вращения достигает 5400 (в настоящее время, такие скорости вращения используются, в основном, в ноутбуках), 7200 об/мин, и выше.

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

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

Наиболее важной частью любого накопителя являются головки чтения-записи (read-write head). Как правило, они находятся на специальном позиционере, который напоминает рычаг звукоснимателя на проигрывателе грампластинок (тонарм). Это и есть вращающийся позиционер головок (head actuator). Существуют также и линейные позиционеры, по принципу движения, напоминающие тангенциальные тонармы. В настоящее время известны три типа головок, используемых в винчестерах: монолитные, композитные и тонкопленочные. Монолитные головки чаще всего изготовлены из феррита. Который является достаточно хрупким металлом. Композитные головки меньше и легче, чем монолитные. Обычно это стекло на керамическом основании, здесь, например, используются сплавы, включающие в себя такие материалы, как железо, алюминий и кремний. Керамические головки более прочные и обеспечивают более короткое расстояние до магнитной поверхности носителя, что в свою очередь ведет к увеличению плотности записи. При изготовлении тонкопленочных головок используют метод фотолитографии, хорошо известный в полупроводниковой промышленности. В этом случае слой проводящего материала осаждается на неметаллическом основании. Тонкопленочные головки считаются сейчас наиболее перспективными. В современных винчестерах головки как бы “летят” на расстоянии доли микрона (обычно около 0,13 мкм) от поверхности дисков, не касаясь их. В жестких дисках выпуска 1980 г. это расстояние составляло ещё 1,4 мкм, в перспективных же моделях ожидается его уменьшение до 0,05 мкм. На первых моделях винчестеров позиционер головок перемещался обычно с помощью шагового двигателя. В настоящее время для этой цели используются преимущественно линейные двигатели. Вообще говоря, привод движения головок представляет замкнутую сервосистему, для нормального функционирования которой необходима предварительно записанная сервоинформация. Именно она позволяет позиционеру постоянно знать свое точное местоположение. Для записи сервоинформации система позиционирования может использовать выделенные и/или рабочие поверхности носителя. В зависимости от этого различают выделенные, встроенные и гибридные сервосистемы. Выделенные системы достаточно дороги, однако имеют высокое быстродействие, поскольку практически не тратят времени для получения сервоинформации. Встроенные сервосистемы существенно дешевле и менее критичней к механическим ударам и колебаниям температуры. К тому же они позволяют сохранить на диске больше полезной информации. Тем не менее, такие системы, как правило, медленнее выделенных. Гибридные сервосистемы используют преимущество двух вышеназванных, т.е. большую емкость и высокую скорость.



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

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

Как известно, для установки дисковых накопителей в системном блоке любого персонального компьютера предусмотрены специальные отсеки – drive bays. Габаритные размеры современных винчестеров характеризуется так называемым форм-фактором. Как правило, форм-фактор указывает горизонтальный и вертикальный размеры винчестера. Горизонтальный размер жесткого диска может быть определен одним из следующих размеров: 1,8; 2,5; 3,5; или 5,25 дюйма (действительный размер корпуса винчестера, разумеется, чуть больше). Вертикальный размер характеризуется обычно такими параметрами, как Full Height (FH), Half-Height (HH), Third-Height (или Low-Profile, LP). Винчестеры “полной высоты” имеют вертикальный размер более 3,25 дюйма (82,5мм), “половинной высоты” - 1,63 дюйма и “низкопрофильные” - около 1 дюйма. Необходимо помнить, что для установки накопителя, имеющего меньший форм-фактор, чем монтажный отсек в системном блоке, придется использовать специальные крепления.

3.2 Методы кодирования и передачи информации

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

Однако так как двусторонние дискеты и фиксированные диски имеют больше одной поверхности, то для определений местоположения байта данных пользуются трехмерными координатами. Понятие дорожка заменяют понятием цилиндр — группа дорожек в одной и той же позиции магнитной головки на всех дисках (пластинах) в одном дисководе определяется разрешающей способностью позиционера магнитных головок и вертикальной плотностью носителя, которая измеряется числом дорожек на дюйм (track per inch - TPI).

3.3 Таблица размещения файлов (FAT)

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

Информационная структура всех типов дисков для РС АТ одинакова и определяется базовой операционной системой DOS. С точки зрения операционной системы элементарной единицей размещения данных на диске является кластер.Он представляет собой группу секторов, с точностью до которой происходит размещение файлов на диске. В РС АТ: для гибкого диска один кластер - это два сектора (обычно 1 Кб), для жесткого диска - четыре и более (>2 Kб). Точное значение размера кластера указывается в самом первом секторе диска - загрузочном секторе - Boot sector.

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

Производительность диска определяется четырьмя основными физическими параметрами:

1. временем доступа (мс).

2. размером цилиндра (секторов).

3. скоростью передачи данных (Кбайт/с).

4. средним временем ожидания (мс).

Время доступа — то время, которое требуется для перевода головок чтения-записи на нужные дорожки (цилиндры). Скорость передачи данных (скорость, с которой они выдаются с диска) зависит от скорости вращения диска, плотности записи и секторного интерливинга. (Расслоение). Фактор интерливинга, равный 4 означает, что имеются три сектора, разделяющие смежные сектора. Следование секторов под головкой будет следующим: сектор 1, сектор X, сектор Y, сектор Z, сектор 2 и т.д.). При коэффициенте интерливинга, равного 6, у РС ХТ скорость передачи снижается с 5 Мбит/с до 0.83 Мбит/с.

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

 

 

Таблица 3.1 - Структура секторов Floppy-диска:

Сектора Содержание
Загрузочный. Содержит блок параметров BIOS (BPB)
1-9 1-я копия FAT
10-18 2-я копия FAT
19-32 Корневой каталог
33 - Область данных

Таблица 3.2 - Структура записи

Название Тип данных Единица измерения
Размер сектора Word Байт
Размер кластера Byte Секторов
Число секторов перед FAT Word Секторов
Количество копий FAT Byte Ед.
Размер корневого каталога Word Записей (по 32 байта каждая)
Всего секторов на диске Word Секторов
Media Byte Дескриптор – описатель = F0
Размер FAT Word Секторов

Эти данные начинаются с 12 байта загрузочного сектора, т.е. смещение от начала сектора = 11.

Таблица 3.3 - Биты байта атрибутов

№ бита Значение характеристики файла
Только для чтения (Read Only)
Скрытый (Hidden)
Системный (System)
Метка тома
Каталог
Архивный (Archive)
6,7 Зарезервированы

Например, если байт атрибутов = 11010001 = $C1, то файл:

- только для чтения;

- не системный;

- не метка тома;

- не каталог;

- архивный.

Структура записей каталога, хранящих информацию о файлах, каталогах, метках тома и т.п.

Каталог состоит из записей. Каждая запись описывает файл и содержит 32 байта. При просмотре этой записи программой Debug она занимает 2 строки. Каждый байт записи имеет определенное значение. Первые 8 байт содержат имя файла, следующие 3 — расширение. Далее, т.е. 12-й по порядку — байт атрибут. Затем — 10 резервных байт. Далее 2 байта, т.е. число типа Word — время обновления файла, далее еще 2 байта (тоже число типа Word) — дата обновления файла.

Далее — байты, в которых записан номер кластера — это 27-й и 28-й байты записи каталога, относящиеся к данному файлу или каталогу. 2 байта образуют элемент данных типа Word, поэтому старший байт числа — 28-й, а младший — 27-й. Например, файл Utils.pas начинается в кластере № 87С = 2172. Размер файла записан в последних 4 байтах. При этом младшее слово стоит слева и младший байт — тоже слева. Поэтому размер файла Utils.pas составляет $00000FE7 = 4071 байт.

1293:00A0 55 54 49 4C 53 20 20 20-50 41 53 20 00 88 2B 97 UTILS PAS..+.

1293:00B0 5B 2C 72 2C 00 00 77 8E-54 29 7C 08 E7 0F 00 00 [,r,..w.T)|…..

>debug

Просмотрим начало таблицы FAT12 ( на дискете ). Так как это FAT12, то элемент таблицы занимает 3 шестнадцатиричные цифры. 0-й и 1-й элементы таблицы не используются, так что читать ее нужно начиная с номера 2. Приходится читать группами по 3 байта. В каждой группе записано 2 шестнадцатиричных числа.

Схема расшифровки – на рисунке ниже:

03 40 00 = 003 004

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

3.4 Некоторые команды программы Debug

Обозначения дисководов: 0 = А, 1 = В, 2 = С и т. д.

Сектор – логический номер сектора.

Пример работы с отладчиком MS DOS Debug (все числа - шестнадцатиричные):

> Debug - запуск программы “Debug”

-L 0 0 0 20 - загружаю в память (смещение = 0 ) c диска “0” (т.е. А: )

начиная с сектора № “0” “20” ( т.е. 32 == $20 ) секторов

-D 0 FF - вывожу на экран из памяти ( смещение = “0” ) 255 байт

( $FF = 255 )

3.5 Задание

1. Изучить физическое устройство ЗУ.

2. Просмотреть на экране 1-ю и 2-ю копии FAT (можно первые 64 байта) и доказать что они одинаковы. (Ознакомьтесь вначале со структурой диска ) Для примера : просмотр 2-го и 11-го секторов дискеты:

-L 0 0 2 1 { загружаю 2-й сектор (один ) }

-D 0 3f { вывожу на экран первые 64 байта (смещение от 0 до 63, 3F=63 ) }

0CA7:0000 15 57 81 15 59 A1 15 FF-CF 15 5D E1 15 5F 01 16 .W..Y.....].._..

0CA7:0010 61 21 16 63 41 16 65 61-16 67 81 16 69 A1 16 6B a!.cA.ea.g..i..k

0CA7:0020 C1 16 6D E1 16 6F 01 17-71 21 17 73 41 17 75 61 ..m..o..q!.sA.ua

0CA7:0030 17 77 81 17 79 A1 17 7B-C1 17 7D E1 17 7F 01 18 .w..y..{..}.....

Здесь каждая строка содержит 16 чисел (байт) в шестнадцатиричной форме. Строка разделена на две половины по 8 чисел. В правой части эти же 16 чисел показаны в символьной форме ( если таковая существует). То есть символ W кодируется как 57 (шестнадцатиричное) или 87 десятичное.

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

-L 0 0 B 1 { загружаю 11-й сектор (один ) B шестнадцатиричное = 11 }

-D 0 3f { вывожу на экран первые 64 байта (смещение от 0 до 63) }

0CA7:0000 15 57 81 15 59 A1 15 FF-CF 15 5D E1 15 5F 01 16 .W..Y.....].._..

0CA7:0010 61 21 16 63 41 16 65 61-16 67 81 16 69 A1 16 6B a!.cA.ea.g..i..k

0CA7:0020 C1 16 6D E1 16 6F 01 17-71 21 17 73 41 17 75 61 ..m..o..q!.sA.ua

0CA7:0030 17 77 81 17 79 A1 17 7B-C1 17 7D E1 17 7F 01 18 .w..y..{..}.....

Видим, что 11-й и 2-й сектора идентичны. Можно проверить и другие пары ( 1 – 10, 3 – 12 и т д).

3. Подготовить дискету, на которой в каталоге ( например “OP” ) находился бы текстовый файл (например “File1” ) размером не менее 2 Кб и не более 5 Кб

a В характеристиках дискеты найти № сектора, в котором начинается корневой каталог дискеты. то сектор № 19, т.к. корневой каталог Floppy – диска начинается с этого сектора (табл. 4.2).

b Прочесть этот сектор, с целью отыскать там каталог “OP” ( номер кластера, с которого начинается этот каталог ).

Записать номер кластера ( например – N1 ) , с которого начинается каталог “OP”. Если каталог “OP” не найден, посмотрите в следующих секторах, содержащих корневой каталог. ( Корневой каталог дискеты занимает сектора №№19 – 32 причем подряд ) Читаем корневой каталог, его первые 128 байт (1/4 сектора):

-L 0 0 13 E {то есть загружаем все 14 секторов корневого каталога}

-D 0

0B35:0000 31 31 20 20 20 20 20 20-20 20 20 10 00 B1 7B 95 11 ...{.

0B35:0010 3D 30 3D 30 00 00 7C 95-3D 30 02 00 00 00 00 00 =0=0..|.=0......

0B35:0020 32 32 20 20 20 20 20 20-20 20 20 10 00 31 80 95 22 ..1..

0B35:0030 3D 30 3D 30 00 00 81 95-3D 30 03 00 00 00 00 00 =0=0....=0......

0B35:0040 E5 56 50 5F 55 50 7E 31-45 58 45 20 00 88 45 4D .VP_UP~1EXE ..EM

0B35:0050 31 30 39 30 00 00 B2 4C-31 30 02 00 C0 5C 15 00 1090...L10...\..

0B35:0060 E5 41 00 64 00 72 00 69-00 61 00 0F 00 8B 6E 00 .A.d.r.i.a....n.

0B35:0070 6F 00 5F 00 43 00 65 00-6C 00 00 00 65 00 6E 00 o._.C.e.l...e.n. В правой колонке видим, что здесь папки OP нет. Смотрим следующие 128 байт, пока не найдем OP или пока не закончатся сектора корневого каталога, т е 14х4 = 56 просмотров. Следующие просмотры производим командой D без параметров – не более 55 раз. Вот результат пятого просмотра (если дискета недавно форматирована, то просмотров нужно меньше)

-d

0B35:0280 E5 41 00 71 00 75 00 61-00 5F 00 0F 00 E0 52 00 .A.q.u.a._....R.

0B35:0290 65 00 61 00 6C 00 5F 00-4E 00 00 00 65 00 77 00 e.a.l._.N...e.w.

0B35:02A0 E5 51 55 41 5F 52 7E 31-52 41 52 20 00 C3 DA 7B .QUA_R~1RAR ...{

0B35:02B0 3B 30 3B 30 00 00 E2 75-3A 30 02 00 C0 5C 15 00 ;0;0...u:0...\..

0B35:02C0 4B 31 20 20 20 20 20 20-20 20 20 10 00 2E 25 93 OP ...%.

0B35:02D0 3E 2E 3E 2E 00 00 26 93-3E 2E 5C 01 00 00 00 00 >.>...&.>.\.....

0B35:02E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:02F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

то есть найдена запись, описывающая каталог (папку) OP. Эта запись занимает 32 байта и содержимое её расшифровывается выше.

В данном примере –OP начинается в кластере № 15С

Номер сектора= 15С + 1F = 17B (все числа шестнадцатиричные )

с Читая сектора, начинающиеся с № 17B, найти запись – описание файла “File1.txt”:

-L 0 0 17B 4 – заданное количество секторов, например 4

-D

00B35:0000 2E 20 20 20 20 20 20 20-20 20 20 10 00 57 29 93 . ..W).

0B35:0010 3E 2E 3E 2E 00 00 2A 93-3E 2E 5D 01 00 00 00 00 >.>...*.>.].....

0B35:0020 2E 2E 20 20 20 20 20 20-20 20 20 10 00 57 29 93 .. ..W).

0B35:0030 3E 2E 3E 2E 00 00 2A 93-3E 2E 5C 01 00 00 00 00 >.>...*.>.\.....

0B35:0040 E5 4D 00 75 00 6C 00 74-00 49 00 0F 00 28 6E 00 .M.u.l.t.I...(n.

0B35:0050 73 00 74 00 2E 00 70 00-61 00 00 00 73 00 00 00 s.t...p.a...s...

0B35:0060 E5 55 4C 54 49 4E 53 54-50 41 53 20 00 29 44 93 .ULTINSTPAS .)D.

0B35:0070 3E 2E 3E 2E 00 00 01 AE-39 27 5E 01 1E 0E 00 00 >.>.....9'^..... - в первой порции данных файла нет, просматриваем дальше и находим:

-d

0B35:0080 46 31 20 20 20 20 20 20-54 58 54 20 10 29 44 93 File1 TXT .)D.

0B35:0090 3E 2E 3E 2E 00 00 01 AE-39 27 5E 01 1E 0E 00 00 >.>.....9'^.....

0B35:00A0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:00B0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:00C0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:00D0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:00E0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

0B35:00F0 00 00 00 00 00 00 00 00-00 00 00 00 00 00 00 00 ................

Видим, что файл File1.txt начинается в кластере № 15Е => № сектора = 15Е + 1F = 17D..и имеет размер = E1E = 3614 байт = 7,06 сектора ( 1 сектор = 512 байт ), поэтому нужно прочесть 8 секторов.

d Прочесть содержимое файла File1.txt. Если файл расположен в соседних кластерах (секторах), то прочесть его несложно – нужно начать с сектора 17D и прочесть 8 секторов. В примере :

-L 0 0 17D 8

-D

00B35:0000 75 6E 69 74 20 4D 75 6C-74 49 6E 73 74 3B 0D 0A unit MultInst;..

0B35:0010 0D 0A 69 6E 74 65 72 66-61 63 65 0D 0A 0D 0A 63 ..interface....c

0B35:0020 6F 6E 73 74 0D 0A 20 20-4D 49 5F 51 55 45 52 59 onst.. MI_QUERY

0B35:0030 57 49 4E 44 4F 57 48 41-4E 44 4C 45 20 20 20 3D WINDOWHANDLE =

0B35:0040 20 31 3B 0D 0A 20 20 4D-49 5F 52 45 53 50 4F 4E 1;.. MI_RESPON

0B35:0050 44 57 49 4E 44 4F 57 48-41 4E 44 4C 45 20 3D 20 DWINDOWHANDLE =

0B35:0060 32 3B 0D 0A 0D 0A 20 20-4D 49 5F 45 52 52 4F 52 2;.... MI_ERROR

0B35:0070 5F 4E 4F 4E 45 20 20 20-20 20 20 20 20 20 20 3D _NONE =

- это начало файла.

4. Прочесть байт атрибутов заданного файла и расшифровать.

3.6 Контрольные вопросы

1. Устройство винчестера;

2. Методы кодирования и передачи информации;

3. Таблица размещения файлов (FAT);

4. Некоторые команды программы Debug;

5. Расшифровка таблицы FAT.

3.7 Содержание отчета

1. Название, цель, содержание работы.

2. Задание

3. Результаты выполнения работы.

4. Письменные ответы на контрольные вопросы.

5. Выводы по работе.

3.8 Список использованных источников

1. Андрей Остроух, Сергей Алексахин, Сергей Аппаратные средства персонального компьютера - издательство "Форум Инфра-М", 2010 г. - 352 стр.



©2015- 2019 stydopedia.ru Все материалы защищены законодательством РФ.