Лекция 9. Файловая система хранения, поиска и обработки информации
Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.
Файл— это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.
Имя файла.Имя файла состоит из двух частей, разделенных точкой: собственно имя файла и расширение, определяющее его тип (программа, данные и так далее). Собственно имя файлу дает пользователь, а тип файла обычно задается программой автоматически при его создании.
Таблица 1. Типы файлов и расширений
Тип файла | Расширения |
Программы | exe, com |
Текстовые файлы | txt, doc |
Графические файлы | bmp, д1Т,рдидр |
Звуковые файлы | wav, mid |
Видеофайлы | avi |
Программы на языках программирования | bas, pas и др |
Файловая система.На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемой файловой системой.
Каждый диск разбивается на две области: область хранения файлов и каталог. Каталог содержит имя файла и указание на начало его размещения на диске.
Для дисков с небольшим количеством файлов (до нескольких десятков) может использоваться одноуровневая файловая система, когда каталог (оглавление диска) представляет собой линейную последовательность имен файлов. Такой каталог можно сравнить с оглавлением детской книжки, которое содержит только названия отдельных рассказов.
Таблица 2.Одноуровневый каталог
Имя файла | Номер начального сектора |
Файл_1 | |
Файл_2 | |
……. | |
Файл_112 |
Если на диске хранятся сотни и тысячи файлов, то для удобства поиска используется многоуровневая иерархическая файловая система, которая имеет древовидную структуру.
Начальный, корневой каталог содержит вложенные каталоги 1-го уровня, в свою очередь, каждый из последних может содержать вложенные каталоги 2-го уровня и так далее. Необходимо отметить, что в каталогах всех уровней могут храниться и файлы.
Файловая система— это система хранения файлов и организации каталогов.
Путь к файлу.Путь к файлу вместе с именем файла называют иногда полным именем файла.
Операции над файлами.В процессе работы на компьютере наиболее часто над файлами производятся следующие операции:
• копирование (копия файла помещается в другой каталог);
• перемещение (сам файл перемещается в другой каталог);
• удаление (запись о файле удаляется из каталога);
• переименование (изменяется имя файла).
Форматирование дисков.Для того чтобы на диске можно было хранить информацию, диск должен быть отформатирован, то есть должна быть создана физическая и логическая структура диска.
Формирование физической структуры диска состоит в создании на диске концентрических дорожек, которые, в свою очередь, делятся на секторы. Для этого в процессе форматирования магнитная головка дисковода расставляет в определенных местах диска метки дорожек и секторов.
После форматирования гибкого диска 3,5″ его параметры будут следующими:
• информационная емкость сектора — 512 байтов;
• количество секторов на дорожке — 18;
• дорожек на одной стороне — 80;
Логическая структура гибких дисков. Логическая структура магнитного диска представляет собой совокупность секторов (емкостью 512 байтов), каждый из которых имеет свой порядковый номер (например, 100). Сектора нумеруются в линейной последовательности от первого сектора нулевой дорожки до последнего сектора последней дорожки.
На гибком диске минимальным адресуемым элементом является сектор.
При записи файла на диск будет занято всегда целое количество секторов, соответственно минимальный размер файла — это размер одного сектора, а максимальный соответствует общему количеству секторов на диске.
Файл записывается в произвольные свободные сектора, которые могут находиться на различных дорожках. Например, Файл_1 объемом 2 Кбайта может занимать сектора 34, 35 и 47, 48, а Файл_2 объемом 1 Кбайт — сектора 36 и 49.
Таблица 3. Логическая структура гибкого диска формата 3,5″ (2-я сторона)
№ дорожки | № сектора |
…………………. |
Для того чтобы можно было найти файл по его имени, на диске имеется каталог, представляющий собой базу данных.
Запись о файле содержит имя файла, адрес первого сектора, с которого начинается файл, объем файла, а также дату и время его создания.
Таблица 4. Структура записей в каталоге
Имя файла | Адрес первого сектора | Объем файла, Кбайт | Дата создания | Время создания |
Файл 1 | 14 01 99 | 14 29 | ||
Файл 2 | 14 01 99 | 14 45 |
Полная информация о секторах, которые занимают файлы, содержится в таблице размещения файлов (FAT — File Allocation Table). Количество ячеек FAT соответствует количеству секторов на диске, а значениями ячеек являются цепочки размещения файлов, то есть последовательности адресов секторов, в которых хранятся файлы.
Цепочка размещения для файла Файл_1 выглядит следующим образом: в начальном 34-м секторе хранится адрес 35, в 35-м секторе хранится адрес 47, в 47-м — 48, в 48-м — знак конца файла (К).
Для размещения каталога — базы данных и таблицы FAT на гибком диске отводятся секторы со 2 по 33. Первый сектор отводится для размещения загрузочной записи операционной системы. Сами файлы могут быть записаны, начиная с 34 сектора.
Виды форматирования. Существуют два различных вида форматирования дисков: полное и быстрое форматирование. Полное форматирование включает в себя как физическое форматирование (проверку качества магнитного покрытия дискеты и ее разметку на дорожки и секторы), так и логическое форматирование (создание каталога и таблицы размещения файлов). После полного форматирования вся хранившаяся на диске информация будет уничтожена.
Быстрое форматирование производит лишь очистку корневого каталога и таблицы размещения файлов. Информация, то есть сами файлы, сохраняется и в принципе возможно восстановление файловой системы.
Информационная емкость гибких дисков. Рассмотрим различие между емкостью неформатированного гибкого магнитного диска, его информационной емкостью после форматирования и информационной емкостью, доступной для записи данных.
Заявленная емкость неформатированного гибкого магнитного диска формата 3,5″ составляет 1,44 Мбайт.
Рассчитаем общую информационную емкость отформатированного гибкого диска:
Количество секторов: N = 18 х 80 х 2 = 2880.
512 байт х N = 1 474 560 байт = 1 440 Кбайт -= 1,40625 Мбайт.
Однако для записи данных доступно только 2847 секторов, то есть информационная емкость, доступная для записи данных, составляет:
512 байт х 2847 = 1 457 664 байт = 1423,5 Кбайт = 1,39 Мбайт.
Логическая структура жестких дисков. Логическая структура жестких дисков несколько отличается от логической структуры гибких дисков. Минимальным адресуемым элементом жесткого диска является кластер, который может включать в себя несколько секторов. Размер кластера зависит от типа используемой таблицы FAT и от емкости жесткого диска.
На жестком диске минимальным адресуемым элементом является кластер, который содержит не сколько секторов.
Таблица FAT16 может адресовать 2 16 — 65 536 кластеров. Для дисков большой емкости размер кластера оказывается слишком большим, так как информационная емкость жестких дисков может достигать 150 Гбайт.
Например, для диска объемом 40 Гбайт размер кластера будет равен:
40 Гбайт/65536 = 655 360 байт = 640 Кбайт.
Файлу всегда выделяется целое число кластеров. При размещении на жестком диске большого количества небольших по размеру файлов они будут занимать кластеры лишь частично, что приведет к большим потерям свободного дискового пространства.
Эта проблема частично решается с помощью использования таблицы FAT32, в которой объем кластера принят равным 8 секторам или 4 килобайтам для диска любого объема.
В целях более надежного сохранения информации о размещении файлов на диске хранятся две идентичные копии таблицы FAT.
Преобразование FAT16 в FAT32 можно осуществить с помощью служебной программы Преобразование диска в FAT32, которая входит в состав Windows.
Мы рассмотрели файловую систему, имеющую название FAT, однако в последнее время все большую популярность приобретает файловая система NTFS (New Technology File System — файловая система операционных систем семейства Windows NT), которая, в частности, используется в Windows NT и Windows ХР.
Максимальный размер раздела NTFS в данный момент ограничен лишь размерами «жестких» дисков. Как и любая другая система, NTFS делит все полезное место на кластеры — блоки данных, используемые единовременно. NTFS поддерживает почти любые размеры кластеров — от 512 байт до 64 Кбайт, неким стандартом же считается кластер размером 4 Кбайт. Диск NTFS условно делится на две части. Первые 12 % диска отводятся под так называемую зону MFT (Master File Table). Это БД, представляющая собой общую файловую таблицу, строки которой соответствуют файлам тома NTFS, а столбцы — атрибутам файлов. Запись каких-либо других данных в эту область невозможна. Остальные 88 % диска является обычным пространством для хранения файлов.
Зона MFT поделена на записи фиксированного размера (обычно 1 Кбайт), и каждая запись соответствует какому-либо файлу (в общем смысле этого слова). Первые 16 файлов носят служебный характер и недоступны ОС — они называются метафайлами, причем самый первый метафайл — сам MFT. Эти первые 16 элементов MFT — единственная часть диска, имеющая фиксированное положение. Интересно, что вторая копия первых трех записей для надежности — они очень важны — хранится ровно посередине диска. Остальной MFT-файл может располагаться, как и любой другой файл, в произвольных местах диска — восстановить его положение можно с помощью его самого, «зацепившись» за самую основу первый элемент MFT.
Дефрагментация дисков.Замедление скорости обмена данными может происходить в результате фрагментации файлов. Фрагментация файлов (фрагменты файлов хранятся в различных, удаленных друг от друга кластерах) возрастает с течением времени, в процессе удаления одних файлов и записи других.
Так как на диске могут храниться сотни и тысячи файлов в сотнях тысяч кластеров, то фрагментированность файлов будет существенно замедлять доступ к ним (магнитным головкам придется постоянно перемещаться с дорожки на дорожку) и в конечном итоге приводить к преждевременному износу жесткого диска. Рекомендуется периодически проводить дефрагментацию диска, в процессе которой файлы записываются в кластеры, последовательно идущие друг за другом.
Любая информация на дисках компьютера хранится в виде
Дорогие читатели! Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Редакция сайта iXBT.com обращается к вам с просьбой отключить блокировку рекламы на нашем сайте.
Дело в том, что деньги, которые мы получаем от показа рекламных баннеров, позволяют нам писать статьи и новости, проводить тестирования, разрабатывать методики, закупать специализированное оборудование и поддерживать в рабочем состоянии серверы, чтобы форум и другие проекты работали быстро и без сбоев.
Мы никогда не размещали навязчивую рекламу и не просили вас кликать по баннерам. Вашей посильной помощью сайту может быть отсутствие блокировки рекламы.
CD/DVD диск
Оптические диски предназначенные для хранения информации. 700 Мегабайт можно хранить на CD диске и до 4,7 гигабайт на DVD диске. Чтение и запись с этих дисков производится специальными приводами CD/DVD-ROM.
Что такое локальный диск или память компьютера
Итак, в прошлом уроке мы разобрались как быстро определить вес любого файла или папки и научились анализировать вместимость своего компьютера. Теперь необходимо понять откуда вообще берется память компьютера и сколько ее может быть.
Если немного вспомнить, то читая урок по строению ПК мы уже встречались с деталью, которая позволяет хранить данные на компьютере, называется данная деталь – жесткий диск.
Но тогда появляется справедливый вопрос, причем тут название урока, что такое локальный диск? Не ругайтесь друзья, я ничего не перепутал, за память в компьютере действительно отвечает жесткий диск, но это все лишь деталь, один из компонентов, который выводится на экран в виде удобных нам разделов. А вот каждый раздел – это и есть локальная область.
То есть у нас есть жесткий диск, его визуально делят на части и каждую его часть называют – локальным диском. Обычно жесткий диск разделяют на две основных части. Первая часть – это Локальный диск С, где хранится операционная система и все программы, игры и сохранения от различных проектов. Но есть и вторая часть, которую почти всегда называют Локальным диском D, где пользователь хранит основную часть информации. Именно на него скидывают фильмы, галереи из фотографий и альбомы с музыкой.
Согласитесь удобнее, когда в компьютере все на своем месте, а не лежит в одной куче?
Итак, локальный диск – это виртуальный раздел жесткого диска. Иногда можно услышать название – логический том.
Сразу, не отходя от темы, запоминаем, при сложении всех Локальных дисков вместе, мы получим общий размер памяти компьютера. То есть допустим, Локальный диск С составляет 100 Гб, а Локальный диск D, 200 Гб, чтобы посчитать общий объем памяти компьютера достаточно сложить их вместе, получается 100+200= 300 Гб. Таким образом мы можем сказать, что общий объем памяти моего компьютера составляет 300 Гигабайт.
Если вы по какой-то причине до сих пор не знаете, что значат гигабайты, то прочитайте урок: Как определить размер файла или папки.
Теперь давайте разберемся, где же можно посмотреть объем этих локальных дисков? Для этого нам необходимо зайти в «Мой компьютер» и увидеть примерно такую картинку, где вы сразу увидите все свои локальные диски:
Теперь необходимо узнать объем каждого диска, для этого конечно можно присмотреться к картинкам локальных дисков и заметить цифры под ними, где первая цифра показывает свободный объем диска, вторая весь объем диска.
Но не стоит на это рассчитывать, не всегда эти картинки отображаются именно так и следовательно не всегда можно узнать объем таким способом. Для надежного просмотра следует навести курсор мышки на интересующий вас локальный диск и нажать правую кнопку мышки, в выпадающем меню выбрать строку «свойства» с помощью уже левой кнопки мышки.
Если вы все еще не подружились с управлением мышки, то прочтите урок: «Как изменить файл или папку», там я рассказывал о правильном использовании возможностей компьютерной мышки.
И вот теперь перед вами откроется окно с вполне надежной и актуальной информацией по вашему локальному диску, а точнее его памяти. Посмотрите внимательно на картинку ниже, я выделил для вас три главных строки, где в первой можно посмотреть сколько места на локальном диске уже занято, во второй строке указан объем свободной памяти и в третьей можно увидеть общий объем диска.
Надеюсь вы все запомнили и информация была вам понятной, если вы что-то не поняли, то не стесняйтесь, в конце статьи есть кнопка «задать вопрос», где вы можете уточнить не понятную вам информацию написав мне краткое письмо, а я как только его получу, сразу постараюсь ответить.
Организация структур на HDD для хранения информации в виде файлов.
В современных накопителях на жестких магнитных дисках значительная часть поверхности диска является служебной, эта зона скрыта и недоступна для пользователя. В этой части диска расположена служебная информация и резервная область для замены дефектных участков поверхности. Пользователь имеет доступ только к рабочей области диска, объем которой указан в технических характеристиках диска. Доступ в служебную зону возможен только в специальном технологическом режиме, который активизируется с помощью подачи специальной команды. В этом режиме возможно использование специального технологического набора команд (команды записи-чтения секторов служебной зоны, чтение карты расположения модулей и таблиц в служебной зоне, чтение таблицы зонного распределения, команды перевода из LBA в CHS и обратно, команда запуска форматирования низкого уровня, команды записи-чтения перезаписываемого ПЗУ и др.).
Использование специального технологического режима работы накопителя (аналогично тому, как это делается самими производителями HDD) делает в этом режиме работы доступными операции, которые обычно выполняются на фирме-изготовителе: восстановление формата нижнего уровня (Low-Level Format); восстановление служебной информации, хранящейся на служебных дорожках накопителя (Resident Mikrocode); восстановление или изменение параметров в паспорте диска (Identify Drv); замена дефектных секторов и дорожек на резервные или их исключение из работы накопителя (Assigne, Realocation, Skipping Defects); реконфигурация HDD путем исключения из работы неисправных областей магнитных поверхностей или отключение неисправных магнитных головок.
С точки зрения пользователя, любой диск можно представить как совокупность доступных ему блоков данных, которые он может использовать для хранения данных, для считывания или записи информации. Каждый блок данных имеет свой уникальный адрес, определяемый способом CHS (цилиндр, поверхность, сектор) или LBA (адрес логического блока). Блок данных может быть записан и считан (только целиком) независимо от других.
Но для большинства прикладных программ интерес представляет не обращение к отдельным блокам, а возможность обращения к файлам, которые могут занимать произвольное, причем, возможно, и не целое количество блоков данных. На дисках информация хранится в виде файлов. Для облегчения обращения к файлам и упорядочения использования пространства секторов диска в состав любой операционной системы входит файловая система, тесно связанная с логической структурой диска. Логическая структура и системная информация файловых систем тоже формируются на магнитной поверхности путем фиксации двоичных единиц и нолей в блоках данных секторов диска. Образованные, таким способом, на диске структуры служебных двоичных данных, позволяют адресовать и находить блоки данных и файлы на поверхности диска.
1. Служебный формат. Современные методы записи и методы кодирования позволяют надежно записывать и считывать двоичную информацию на дорожках дисков, но чтобы на дорожках появились адресуемые блоки данных, которые можно использовать для хранения, записи и считывания информации, необходимо произвести физическую разметку диска записью на все дорожки диска служебного формата. Служебный формат дорожки записывается контроллером диска при получении от процессора, выполняющего программу форматирования, команды «Форматирование дорожки». Получив из накопителя импульс «Индекс», означающий начало дорожки, контроллер выдает в тракт записи накопителя данные, являющиеся служебным форматом дорожки.
Команда «Форматирование дорожки» доступна лишь для контроллеров старых дисков, которые не используют зонной записи, при совпадении внешней геометрии с реальной. На современных дисках низкоуровневое форматирование выполняют лишь в специальном технологическом режиме. Для этого, например, могут использоваться нестандартные команды, причем для разрешения их использования могут присутствовать специальные джамперы на устройстве. Общение с винчестером в технологическом режиме может производиться и через специальный последовательный интерфейс, в качестве которого иногда используется стандартный RS-232C, что позволяет вести диалог с винчестером, например, через СОМ-порт и эмулятор терминала на персональном компьютере. В случае, когда технологические команды доступны через обычный интерфейс, производители накопителя обычно предлагают собственные утилиты низкоуровневого форматирования и обслуживания дисков (низкоуровневое форматирование не затрагивает сервоинформацию, которая записывается на поверхности лишь в заводских условиях). Низкоуровневые утилиты предназначены для конкретных моделей или семейств устройств конкретных производителей, Использование их с «чужими» дисками, как правило, блокируется (или выдается предупреждение). Обход этой блокировки обычно ведет к отказу винчестера.
В стандартном CHS-режиме осуществляется единственный пересчет секторов внутри самого жесткого диска. В таких накопителях все цилиндры содержат одинаковое количество данных, несмотря на то что длина окружности у внешних цилиндре может быть вдвое больше, чем у внутренних. В результате теряется пространство внешних дорожек, так как оно используется крайне неэффективно.
Реальная геометрия дисков с зонной записью полностью скрыта от «внешнего мира». Данные о количестве цилиндров, головок и секторов, указанные в паспортах жестких дисков, — это чисто логические параметры. Эти данные предназначены для ввода в качестве значений соответствующих параметров в BIOS и не имеют никакого отношения к физическим параметрам диска (поэтому мы не должны удивляться, когда в логических параметрах диска видим 256 головок, 1024 цилиндра и 64 сектора). При зонной записи цилиндры разбиваются на группы, которые называются зонами, причем по мере продвижения к внешнему краю диска дорожки разбиваются на все большее число секторов. Во всех цилиндрах, относящихся к одной зоне, количество секторов на дорожках одинаковое. Возможное количество зон зависит от типа накопителя; в большинстве устройств их бывает 10 и более. Еще одно свойство зонной записи состоит в том, что скорость обмена данными с накопителем может изменяться и зависит от зоны, в которой в конкретный момент располагаются головки. Происходит это потому, что секторов во внешних зонах больше, а угловая скорость вращения диска постоянна (т.е. линейная скорость перемещения секторов относительно головки при считывании и записи данных на внешних дорожках оказывается выше, чем на внутренних).
В режиме логической адресации блоков (LBA) все секторы нумеруются подряд, без разделения по трем категориям (цилиндр, головка и сектор). Сквозная нумерация начинается с сектора (CHS 0,0,1), которому присваивается логический адрес 0, и заканчивается последним физическим сектором диска.
Служебный формат разбивает дорожку на секторы, а служебный формат внутри сектора выделяет в каждом секторе блок данных (например 512 байт). После записи служебного формата на всех дорожках диска, контроллер диска и сам диск готовы к выполнению команд, задающих чтение или запись в блоки данных секторов диска. Служебный формат дорожки дисков пишется контроллером диска и нужен только контроллеру диска. Выполняя заданные процессором операции чтения или записи, контроллер диска, получив из накопителя импульс «Индекс» (начало дорожки), начинает воспринимать информацию, поступающую из тракта чтения накопителя как служебный формат дорожки. Проверяя и расшифровывая служебный формат дорожки, контроллер определяет местоположение головки на дорожке, находит, таким образом, на дорожке нужный сектор, а по служебному формату сектора находит в секторе блок данных, выполняет чтение информации из блока данных, или запись информации в блок данных, а также контроль достоверности считанных данных.
2. Разбиение на разделы. Высокоуровневое форматирование. Программа высокоуровневого форматирования записывает в блоки данных ряда начальных секторов HDD специальную служебную информацию, которая разбивает диск на разделы (логических области). Жесткий диск готовится к работе за три этапа:
— низкоуровневое форматирование диска (получили массив адресуемых блоков);
— разбиение диска на разделы (разбили массив адресуемых блоков на разделы);
— высокоуровневое форматирование каждого раздела для работы с соответствующей файловой системой (создали внутри разделов служебные структуры позволяющие сохранять информацию в разделе в виде файлов и считывать ее из радела в ОЗУ) .
Существуют два основных варианта разбиения диска на разделы:
— cтруктура служебной информации HDD (до 2 Тбайт) на основе MBR (PT — таблица разделов);
— cтруктура служебной информации HDD (до 9,4 зетабайт) на основе GPT (MBR, заголовок GPT, массив разделов GPT).
Существуют два основных варианта организации хранения информации файлов в разделах диска:
— с использоанием FAT ((таблица размещения файлов), разделы FAT32, FAT16, FAT12 и др.;
— с использоанием таблицы MFT (файл $MFT), разделы NTFS.
Принципы организации хранения файлов в разделах FAT32/16/12.
1) FAT (таблица размещения файлов) состоит из элементов (12/16/32 разряда) в которых хранится информация о порциях файла (кластерах). Каждому элементу таблицы FAT (начиная со второго) соответствует кластер в области данных с таким же номером.
2) Номер начального кластера файла указывается в каталожной строке, определяющей файл. Этот номер является и ссылкой на элемент таблицы FAT, который содержит номер следующего кластера файла, и является ссылкой на элемент таблицы FAT, который содержит номер следующего кластера файла и т. д.
3) Кластер — это непрерывная последовательность секторов (фиксированного размера). Это адресуемая «порция» файла.
4) Код в элементе таблицы FAT может еще определять свободный кластер, дефектный кластер и признак конца файла (прочитанный перед этим кластер — последний кластер файла).
5) Файл в разделе FAT — это последовательность кластеров, указанных с помощью строки каталога (номер начального кластера файла) и элементов таблицы FAT (остальные кластеры файла).
Принципы организации хранения файлов в разделах NTFS.
1. Раздел NTFS состоит из кластеров, они пронумерованы от 0 (кластер — это непрерывная последовательность секторов заданного фиксированного размера).
2. В разделе NTFS все хранится в виде файлов (каталоги, программы, данные . ). Системная нформация для работы файловой системы — хранится в виде метафайлов (системных файлов), имена их начинаются со знака $ и они недоступны пользователю с помощью обычных средств операционной системы.
3. Файл в разделе NTFS состоит из экстентов (экстент — это непрерывная последовательность кластеров различного размера. Размер экстента задается номером начального кластера и количеством кластеров в экстенте).
4. Основой для организации хранения информации в виде файлов является метафайл $MFT. Файл $MFT состоит из записей фиксированного размера (обычно 1 Кбайт), и каждая запись определяет соответствующий ей файл (либо маленький файл находится внутри записи в Атрибуте 80, либо файл состоит из экстентов, которые определяются последовательностью блоков VCN в Атрибуте 80).
5. Блок VCN содержит номер начального кластера экстента и количество кластеров в экстенте.
6. Нужную запись файла $MFT находят через каталог по имени файла. Номер записи находится в шести начальных байтах каталожного блока (имя файла находится в конце каталожного блока и занимает различное количество байтов).