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

Автор работы: Пользователь скрыл имя, 18 Марта 2013 в 17:09, курсовая работа

Описание работы

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

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

Теоретическая часть
Введение …………………………………………………………………..
1.1. Понятие файлов. Имена и типы файлов ………………………..
Понятие файловой системы …………………………………….
1.3. Современные архитектуры файловых систем………………….
1.4. Файловая система FAT……………………………………………
1.5. Файловая система NTFS………………………………………….
1.6. Файловые системы Linux…………………………………………..
1.7. EXT 2 (The Second Extended File System)…………………………
1.8. EXT 3 ………………………………………………………………
2. Практическая часть

Файлы: 1 файл

курсовая работа 2.docx

— 55.23 Кб (Скачать файл)

 

 

 

1.3. Современные архитектуры файловых систем

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

Новая файловая система имеет  многоуровневую структуру, на верхнем  уровне которой располагается так  называемый переключатель файловых систем (в Windows 95, например, такой переключатель называется устанавливаемым диспетчером файловой системы - installable filesystem manager, IFS). Он обеспечивает интерфейс между запросами приложения и конкретной файловой системой, к которой обращается это приложение. Переключатель файловых систем преобразует запросы в формат, воспринимаемый следующим уровнем - уровнем файловых систем.

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

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

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

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

 

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

Большинство существующих на сегодняшний день файловых систем построены  на основе таблицы размещения файлов (File Allocation Table - FAT), которая содержит дорожки данных в каждом кластере на диске. Существует несколько типов файловой системы FAT - FAT 12, FAT 16 и FAT 32. Они отличаются количеством цифр, используемых в таблице размещения файлов. Другими словами, в FAT 32 используется 32-разрядное число для хранения дорожки данных в каждом кластере, в FAT 16 - 16-разрядное число и т.д. В настоящее время существуют следующие типы файловой системы FAT: 

FAT 12, используемая в разделах  емкостью не более 16 Мбайт (например, дискета); 

FAT 16, используемая в разделах емкостью от 16 Мбайт до 2 Гбайт; 

FAT 32, используемая (необязательно) в разделах емкостью от 512 Мбайт до 2 Тбайт.

Файловые системы FAT 12 и FAT 16 изначально применяются в DOS и Windows и поддерживаются практически всеми известными на сегодняшний день операционными системами. Большинство персональных компьютеров поставляется с жесткими дисками, на которых установлена одна из файловых систем FAT.

Файловая система FAT 32 поддерживается операционной системой Windows 95 и более поздними версиями, а также Windows 2000.

Для обеспечения пользовательским приложениям доступа к файлам независимо от типа используемого диска  в операционной системе предусмотрено  несколько структур. Эти структуры  поддерживаются системами Windows и представлены ниже в порядке расположения на диске: 

 · загрузочные секторы главного и дополнительного разделов; 

· загрузочный сектор логического диска; 

· таблицы размещения файлов (FAT); 

· корневой каталог; 

· область данных; 

· цилиндр для выполнения диагностических операций чтения/записи.

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

Загрузочный сектор главного раздела (или главная загрузочная запись (Master Boot Record - MBR)) является первым сектором на жестком диске (цилиндр 0, головка 0, сектор 1) и состоит из двух элементов.

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

Главный загрузочный код. Небольшая программа, которая выполняется  системой BIOS. Основная функция этого  кода - передача управления в раздел, который обозначен как активный (или загрузочный).

Загрузочный сектор - это первый сектор на любом логическом диске DOS. Например, на дискете или на диске Zip это самый первый физический сектор, так как дискету нельзя разбить на разделы и она имеет только один логический диск. На жестком диске загрузочный сектор (секторы) располагается в начале каждого раздела, не являющегося дополнительным, или в начале любой области диска, распознаваемой как логический диск DOS.

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

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

Загрузочный код - программа, которая начинает процесс загрузки операционной системы. Для DOS и Windows 9x/Me это файл Io.sys.

Загрузочный сектор дискеты загружается ROM BIOS, а при загрузке системы с жесткого диска MBR передает управление загрузочному сектору активного раздела. В обоих случаях загрузочный сектор логического диска получает управление. Он выполняет некоторые проверки и затем пытается прочитать с диска первый системный файл (в DOS/Windows это файл Io.sys). Загрузочный сектор не виден, так как находится вне области хранения файлов логического диска. 

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

. Имя файла и расширение - восемь символов имени и три символа расширения; точка между именем и расширением файла подразумевается, но не включается в эту запись. 

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

. Время и дата создания файла или его модификации.  

. Размер файла в байтах.

. Ссылка на начальный кластер - номер кластера, с которого начинается файл.

Информация о расположении файла ,т.е. расположении оставшихся кластеров, содержится в FAT.

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

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

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

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

Область данных диска - это область, следующая за загрузочным сектором, таблицами размещения файлов и корневым каталогом на любом логическом диске. Эта область контролируется с помощью FAT и корневого каталога и делится на ячейки размещения, называемые кластерами. В этих кластерах и располагаются сохраняемые на диске файлы.

 

 

 

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

По сравнению с FAT или FAT32, NTFS предоставляет пользователю целое  сочетание достоинств: эффективность, надежность и совместимость. Файловая система NTFS применяется в операционной системе Windows NT/2000/XP.

Как и любая другая система, NTFS делит все полезное место на кластеры - блоки данных, используемые единовременно. NTFS поддерживает почти  любые размеры кластеров - от 512 байт до 64 Кбайт, неким стандартом же считается  кластер размером 4 Кбайт.

При установке NTFS, диск разделяется  на две неравные части: первая отводиться под MFT (Master File Table - общая таблица файлов), называется MFT - зоной и занимает порядка 12% от общего размера диска, вторую часть занимают собственно ваши данные. Есть еще и третья зона, но о ней позже. MFT лежит в начале диска, каждая запись в MFT соответствует какому-либо файлу и занимает около 1 Kb. По своей сути это каталог всех файлов находящихся на диске. Надо заметить, что любой элемент данных в NTFS рассматривается как файл, даже MFT.

MFT-зона всегда держится  пустой - это делается для того, чтобы самый главный, служебный  файл (MFT) не фрагментировался при  своем росте. Остальные 88% диска  представляют собой обычное пространство  для хранения файлов (Приложение 7).

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

Первые 16 файлов (метафайлы) в MFT - зоне являются особой кастой. В  них содержится служебная информация, они имеют фиксированное положение и они недоступны даже операционной системе. Кстати, первым из этих 16 является сам MFT - файл. Существует копия первых трех записей.

Третья зона, в свою очередь, делит диск пополам. Это сделано  для надежности, в случае утери  информации в MFT - файле, всегда можно  восстановить информацию, а там уже  дело техники, как говориться. Все  остальные файлы в MFT - зоне могут  располагаться произвольно. Надо заметить, что в MFT - зоне теоретически кроме  служебных файлов ничего не находиться. Но бывают случаи, когда места на той части диска, что отведена для пользователя не остается и тогда MFT - зона уменьшается. Соответственно появляется место во второй половине диска для записи данных. Когда  же в этой зоне освобождается достаточное  количество свободного места, MFT - зона опять расширяется. И вот тут то появляется проблема. В MFT - зону попадают обычные файлы и она начинает фрагментироваться. Но вернемся к метафайлам. Каждый из них отвечает за какую-либо область работы. Начинаются они с символа имени $.

Информация о работе Файлы и файловая система