Фигурнов В. Э. Ф49 ibm pc для пользователя. Изд. 7-е, перераб и доп

Вид материалаКнига
Подобный материал:
1   ...   61   62   63   64   65   66   67   68   ...   87

дисков, дискет и магнитооптических дисков) не являются необходимыми Ч программы

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

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

ми, каталогами и логическими дисками, а не с секторами, дорожками, командами кон-

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


Х при разбиении или переразбиении жесткого диска на логические диски;


Х при установке параметров жесткого диска в энергонезависимой памяти (CMOS)

при ее повреждении или установке нового диска;


Х для восстановления информации на диске, на котором была повреждены области,

хранящие данные о логической структуре диска;


Х а также в некоторых других случаях.


Поверхности диска Каждый диск имеет одну или несколько кольцеобразных магнитных поверхностей

(также называемых сторонами диска), на которых может записываться информация.

На дискете таких поверхностей может быть одна или две, а на жестком диске

(винчестере) Ч и больше, так как жесткий диск обычно состоит из нескольких дисков

с магнитным покрытием (в просторечии Ч блинов), насаженных на одну общую ось

(шпиндель). При наружном осмотре жесткого диска его поверхности увидеть нельзя,

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


Магнитное покрытие На поверхность дискет наносится тонкий металлический слой окиси железа (это назы-

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


Приложение 3. Устройство дисков и файловая система


Вращение дисков


1 оловки чтения-

записи


Дорожки и ципиндры


Сектора диска


Параметры дисков


мую на него путем намагничивания. На поверхности жестких дисков металлическое

покрытие обычно наносится путем напыления паров металла (кобальта) в вакууме.


При чтении и записи диск вращается в дисководе относительно своей оси, для этого в

дисководе имеется свой двигатель. Дискеты вращаются только при выполнении опера-

ций чтения-записи, по завершении этих операций двигатель дисковода отключается.

Жесткий диск вращается постоянно, пока на него подается электропитание. Обычная

скорость вращения жестких дисков Чот 60 до 120 оборотов в секунду (3600-7200

оборотов в минуту), а дискет Ч 6 оборотов в секунду. Более высокая скорость враще-

ния жестких дисков и перемещения их головок чтения-записи (см. ниже), а также го-

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

тельно большее быстродействие жестких дисков по сравнению с дискетами.


Для каждой магнитной поверхности (стороны диска) в дисководе имеется своя головка

чтения-записи, которая может перемещаться вдоль радиуса диска с помощью специ-

ального двигателя по командам контроллера диска. В дисководах дискет головки чте-

ния-записи постоянно соприкасаются с поверхностью дискеты, а у жестких дисков

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

миллиметра Ч от поверхности жесткого диска.


Чтение и запись на диск производятся только при определенных фиксированных поло-

жениях головки чтения-записи, и поэтому информация на диске располагается в коль-

цевых путях на магнитных поверхностях диска, называемых дорожками. Совокупность

дорожек, расположенных на одинаковом расстоянии от оси диска, называется цилин-

дром.. На каждой магнитной поверхности дискеты, как правило, имеется 40 или 80

дорожек (иначе говоря, дискета имеет 40 или 80 цилиндров). Количество цилиндров на

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

каждую дорожку не разрушалась информация на соседних дорожках. Расстояние меж-

ду дорожками может быть 0,05 мм и менее.


Информация на каждой дорожке диска записывается в блоках фиксированной длины

(как правило, 512 байт), которые называются секторами или физическими записями.

При операциях ввода-вывода сектор считывается или записывается целиком. Как пра-

вило, на каждой дорожке содержится одинаковое количество секторов, независимо от

того, далеко или близко от оси диска она находится.


Таким образом, расположение каждой физической записи (сектора) на диске одно-

значно определяется тремя числами: номерами поверхности диска, цилиндра и сектора

на дорожке. Обычно поверхности и цилиндры нумеруются с нуля (нулевой цилиндр Ч

внешний), а сектора на дорожке Ч с единицы.


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

обращения к секторам диска номера цилиндра, поверхности (головки чтения-записи) и сек-

тора на дорожке являются условностью Ч расположенная на диске электроника преобра-

зует эти номера в фактические координаты данных на диске. Например, жесткий диск с 8

поверхностями и 10000 цилиндрами может представляться программам как диск с 255 по-

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

его характеристики совсем другие, 1акая перекодировка адресов позволяет, например, рас-

полагать на внешних дорожках диска (находящихся дальше от оси вращения диска), оольше

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

формации. Кроме того, перекодировка адресов позволяет скрывать от пользователя наличие

дефектных участков на поверхности диска Ч после разметки диска на заводе-изготовителе

программы перекодировки на диске настраиваются так, чтобы они "обходили" дефектные

участки поверхности диска.


Для дискет число поверхностей, дорожек на поверхности и секторов на дорожке раз-

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

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


Число


Размер дискеты Ьмкость дискеты Число секторов Число сторон Число дорожек

5.25" 1,2 Мбайт 15 2 80

5.25' 360 Кбайт 9 2 40

3.5' 1,4 Мбайт 18 2 80

3.5" 720 Кбайт 9 2 80

А для жестких дисков параметры могут быть самыми разными. Эти параметры для

наиболее распространенных дисков (с интерфейсами MFM, IDE и EIDE) хранятся в

энергонезависимой памяти компьютера (CMOS) и устанавливаются программами на-

стройки компьютера (Setup), вызываемыми при начальной загрузке компьютеров. По-

этому небесполезно записать в записную книжку параметры имеющихся в компьютере


Приложение 3. Устройство дисков и файловая система


дисков (их

вреждении

Еще лучше

49), Ч она

кого диска,


посмотреть можно с помощью той же программы Setup), так как при по-

информации в CMOS эти параметры необходимо ввести снова в CMOS.

создать "спасательную" дискету с помощью программы Rescue (см. гл. 35 и

содержит не только копию содержимого CMOS, но и копии областей жест-

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


П3.2. Разбиение жесткого диска на логические диски


Разделы и

логические диски


Таблица разбиения

жесткого диска


Поддержка

нескольких

логических дисков


Структура

первичного раздела


Структура

расширенного

раздела


При разработке первого компьютера типа IBM PC с жестким диском Ч IBM PC XT, Ч

фирма IBM предусмотрела возможность использования нескольких операционных сис-

тем, размещаемых на одном жестком диске. Для этого первый сектор каждого жестко-

го диска содержит так называемую главную загрузочную запись (master boot record),

содержащую таблицу разбиения жесткого диска (partition table), а также небольшую

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

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


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

{разделов). Для каждого раздела в таблице указывается расположение начала и конца

этого раздела и число секторов в разделе. У одного из разделов устанавливается при-

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

рационная система. Чтобы загрузить другую операционную систему, надо установить

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


Для того, чтобы разные операционные системы и выполняемые под их управлением

программы не повреждали данные в "чужих" разделах, операционные системы должны

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

отдельные диски (поэтому их стали называть логическими дисками). Пользователи и

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

ком, а с его частью. А если операционная система могла работать с несколькими логи-

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

тают не с несколькими физическими дисками, а с частями одного диска. Каждому дос-

тупному логическому диску присваивается обозначение, как правило, это С:, D: и т.д.


Хотя возможность использования нескольких логических дисков, по-видимому, была

предназначена пользователям не DOS, а других операционных систем, эти возможно-

сти стали необходимы и пользователям DOS Ч прежде всего потому, что MS DOS (до

версии 4.0) поддерживала логические диски емкостью лишь до 32 Мбайт, а производи-

тели научились выпускать диски большей емкости. Сначала средства поддержки не-

скольких логических дисков поддерживались с помощью драйверов независимых раз-

работчиков, а в версии MS DOS 3.3 они были включены в DOS.


При включении поддержки логических в MS DOS логические диски не стали одно-

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

четыре, а логических дисков может потребоваться и больше. Поэтому в DOS была

включена поддержка использования лишь двух разделов диска Ч первичного раздела

и расширенного раздела. В первичном разделе может находиться только один логиче-

ский диск, но зато с него может загружаться операционная система (например, DOS).

Расширенный раздел может содержать несколько логических дисков, но с него нельзя

загрузить ОС. Windows 3.1 и Windows 95 используют ту же схему разделения диска на

логические диски. Windows NT, OS/2 и другие ОС обладают более широкими воз-

можностями, хотя поддерживают и все возможности DOS.


Первичный раздел жесткого диска целиком отводится под один логический диск. В

первом (загрузочном) секторе этого логического диска содержится небольшая про-

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

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

FAT (которая используется в DOS, Windows и Windows 95), описана ниже.


Вторичный раздел жесткого диска имеет структуру, похожую на структуру жесткого

диска в целом. Первый сектор расширенного раздела содержит так называемую вто-

ричную таблицу разбиения жесткого диска (secondary partition table), которая имеет

такую же структуру, как и главная таблица разбиения жесткого диска. Только в секто-

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

сектора активного раздела. Кроме того, во вторичной таблице разбиения жесткого дис-

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


Приложение 3. Устройство дисков и файловая система


Пр01 i'l.iMMhl ЛП'-


;"з:^1-1 'II';? л^'("Х


устанавливается признак активного (загрузочного) Ч ведь с расширенного раздела ОС

загружаться не может. Первый из этих разделов ("первичный") описывает логический

диск, а второй, если он присутствует ("расширенный"), Ч остаток диска, также

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

ется как бы матрешкой, содержащей логический диск и другую матрешку

(расширенный раздел). Вложенность этих "матрешек", то есть количество логических

дисков на жестком диске, ограничивается лишь тем, что DOS поддерживает не более

26 имен дисков (А:ЧZ:), причем имена А: и В: зарезервированы для дискет.


Для разбиения жесткого диска на разделы и логические диски в операционной системе

DOS имеется программа FDisk (см. главу 38). Эту же программу можно использовать

также для просмотра информации о разделении жесткого диска на логические диски.

Пользователи Windows 3.1 и Windows 95 тоже должны использовать для разбиения

жесткого диска на разделы и логические диски программу FDisk. Windows NT и OS/2

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

обработанные программой FDisk.


ПЗ. 3. Файловые системы


-п(.) Э10 'акок


Опрелеление


Р^спрос J раненные

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


Файловая система

FA7


Как мы узнали, информация на дисках записывается в секторах фиксированной длины,

и каждый сектор и расположение каждой физической записи (сектора) на диске одно-

значно определяется тремя числами: номерами поверхности диска, цилиндра и сектора

на дорожке. И контроллер диска работает с диском именно в этих терминах. А пользо-

ватель желает использовать не сектора, цилиндры и поверхности, а файлы и каталоги.

Поэтому кто-то (операционная система или другая программа) должен при операциях с

файлами и каталогами на дисках перевести это в понятные контроллеру действия: чте-

ние и запись определенных секторов диска. А для этого необходимо установить прави-

ла, по которым выполняется этот перевод, то есть, прежде всего, определить, как

должна храниться и организовываться информация на дисках. Набор этих правил и

называется файловой системой.


Файловая система Ч это набор соглашений, определяющих организацию данных на

носителях информации. Наличие этих соглашений позволяет операционной системе,

другим программам и пользователям работать с файлами и каталогами, а не просто с

участками (секторами) дисков. Файловая система определяет:


Х как хранятся файлы и каталоги на диске;


Х какие сведения хранятся о файлах и каталогах;


Х как можно узнать, какие участки диска свободны, а какие Ч нет;


Х формат каталогов и другой служебной информации на диске.


Для использования дисков, записанных (размеченных) с помощью некоторой файловой

системы, операционная система или специальная программа должна поддерживать эту

файловую систему.


Замечание Часть операционной системы, реализующая обработку операций с файлами и

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

ее называют файловой подсистемой ОС.


Поскольку на IBM PC-совместимых компьютерах информация хранится в основном на

дисках, то применяемые на них файловые системы определяют организацию данных

именно на дисках (точнее, на логических дисках). Мы рассмотрим четыре файловые

системы Ч FAT, VFAT (усовершенствованная версия FAT), HPFS и NTFS.


Файловая система, наиболее распространенная на IBM PC-совместимых компьютерах,

была введена еще в начале 80-х годов в MS DOS 1.0 и 2.0. Эта файловая система дос-

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

Обычно эта файловая система называется FAT, так как самой важной структурой дан-

ных в ней является таблица размещения файлов на диске, по-английски Ч file alloca-

tion table, сокращенно FAT. Эта таблица содержит информацию о том, какие участки

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


В файловой системе FAT имена файлов и каталогов должны состоять не более чем из 8

символов, плюс три символа в расширении имени. Каталоги представляют собой ли-

нейные списки элементов, каждый из которых может описывать файл или подкаталог,

либо соответствовать удаленному файлу. В элементе каталога содержится номер пер-


Приложение 3. Устройство дисков и файловая система


Недостатки FAT


Сисгемз V<-A Т -

усорершенствование

FAT


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

NTFS и HPFS


Подцержка файловых

систем


вого кластера файла или подкаталога, а номера остальных кластеров можно узнать по

таблице размещения файлов.


Файловая система FAT поддерживает имена файлов и каталогов лишь из 8 символов,

плюс три символа в расширении имени. Она приводит к значительным потерям (до

20%) дискового пространства из-за больших размеров кластеров на дисках высокой

емкости. Это связано с тем, что в конце последнего кластера файла остается свободное

место, в среднем равное половине кластера. А на больших дисках размер кластера в

FAT может достигать 32 Кбайт. Таким образом, на диске емкостью 2 Гбайта с 20000

файлов потери составят 320 Мбайт, то есть около 16%. Наконец, файловая система

FAT малопроизводительна, особенно для больших дисков, не приспособлена к многоза-

дачной работе (все операции требуют обращений к таблице размещения файлов, а по-

тому до завершения одной операции нельзя начинать другую) и т.д.


Поэтому для операционных систем OS/2 и Windows NT были разработаны более со-

временные файловые системы Ч HPFS (для OS/2) и NTFS (для Windows NT).


При разработке Windows 95 фирма Microsoft решила не вводить новую файловую сис-

тему, а залатать имеющуюся файловую систему FAT, позволив присваивать файлам и

каталогам длинные имена. И эта цель была достигнута, правда, довольно искусствен-

ным способом. Было обнаружено, что практически все прикладные программы игнори-

руют элементы каталогов с совокупностью атрибутов "метка диска", "скрытый",

"системный" и "только для чтения". И было решено записывать рядом с обычными

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

эти элементы нужную информацию Ч длинное имя файла, время последнего обраще-

ния к файлу и т.д. А в обычный элемент каталога записывать короткое имя в формате

"8+3", автоматически сгенерированное по длинному имени, и другую положенную

информацию. Этим достигается совместимость с программами, рассчитанными на DOS

или Windows 3.1, Ч они могут обращаться к файлу по короткому имени. Такая усо-

вершенствованная файловая система называется VFAT.


Принятый в Windows 95 подход хорош тем, что позволяет использовать старые диски с

файловой системой FAT Ч на них просто начинают записываться длинные имена. Но

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

вой системы дисков, "сжатия" дисков, резервного копирования и т.д., Ч могут привес-

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

мы FAT присущи и VFAT (а некоторые из них даже усугублены из-за того, что катало-

ги должны содержать множество элементов, описывающих длинные имена).


При разработке операционных систем OS/2H Windows NT были созданы новые фай-

ловые системы Ч HPFS и NTFS соответственно. Обе они были ориентированы на дис-

ки большого объема, содержащие множество файлов, в них приняты существенные

меры по обеспечению эффективности хранения данных и контроля доступа к ним. Обе

файловые системы поддерживают длинные имена файлов. На логических дисках емко-

стью 1-2 Гбайта файловые системы HPFS и NTFS позволяют хранить в среднем на

10-15% больше информации, чем FAT. А доступ к файлам в них осуществляется за-

метно быстрее, особенно в многозадачной среде. Так, для реализации каталогов в них

используются не линейные списки, как в файловой системе FAT, а В-деревья, в ре-

зультате, скажем, поиск файла в каталоге с 1000 файлами требует просмотра в сред-

нем не 500 элементов каталога, как в FAT, а лишь 10Ч1 1.


Разработчики HPFS старались достичь максимального быстродействия за счет изо-

щренной организации хранения данных на дисках (это нашло отражение и в названии