Поможем написать учебную работу
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.
Операционным системам приходится работать с различными потоками данных, разными аппаратными и периферийными устройствами компьютера. Организовать упорядоченное управление всеми этими объектами позволяет файловая система.
Функции файловой системы:
- создает для пользователей некоторое виртуальное представление внешних запоминающих устройств ЭВМ, позволяя работать с ними не на низком уровне команд управления физическими устройствами (например, обращаться к диску с учетом особенностей его адресации), а на высоком уровне наборов и структур данных;
- скрывает от пользователя картину реального расположения информации во внешней памяти;
- обеспечивает независимость программ от особенностей конкретной конфигурации ЭВМ;
- обеспечивает стандартные реакции на ошибки, возникающие при обмене данными;
- предоставляет пользователю средства для считывания и записи информации, не затрагивающие конкретные вопросы программирования работы канала по пересылке данных, по управлению внешними устройствами и т.д.
Понятие файла
Базовым элементом файловой системы является файл - определенный участок диска, занятый информацией, имеющей собственное имя.
Файл обладает уникальным идентификатором (именем), обеспечивающим доступ к файлу. Идентификатор включает в себя собственно имя - буквенно-цифровое обозначение файла, которое может содержать специальные символы (_ $ # & @ ! % ( ) { } ^ ~ `. и т.д.), и расширение имени файла (обычно отделяемое от имени файла точкой). Если имена создаваемых файлов пользователь может задавать произвольно, то в использовании расширений следует придерживаться традиции, согласно которой расширение указывает на тип файла, характер его содержимого. Например, в операционной системе Windows файлы с расширениями:
Расширение имени файла является необязательным.
С файлами можно проводить различные операции, например, поиск, копирование, перемещение или удаление. Операции с группой файлов можно выполнить, пользуясь шаблоном при создании группы.
Шаблон имени файла это специальная форма, в которой в полях имени и типа файла используются символы “*” и “?”.
Символ “*” означает любое количество любых допустимых символов. Одна звездочка может быть использована для обозначения любого имени или типа файла.
Символ “?” означает наличие или отсутствие одного допустимого символа. Несколько “?” может быть использовано для обозначения нескольких символов в имени или типе файлов.
Понятие каталога
Важен учетный механизм, при помощи которого файловая система может обслуживать десятки и сотни файлов.
Общим приемом является сведение учетной информации о расположении файлов на диске в одно место - его каталог (директория).
Каталог представляет собой список элементов, каждый из которых описывает характеристики конкретного файла (имя, сведения о размере файлов, времени их последнего обновления, атрибуты (свойства) файлов и т.д.), используемые для организации доступа к этому файлу - имя файла, его тип, местоположение на диске и длину файла. Каждый каталог рассматривается как файл, имеет собственное имя. Существуют разные способы размещения файлов (каталогов) на диске. Способ размещения файлов на диске называют файловой структурой.
Виды файловых структур:
Одноуровневая - линейная последовательность имен файлов, используется для дисков с небольшим количеством файлов;
Многоуровневая - иерархическая (древовидная) структура. При такой структуре каталог верхнего уровня содержит вложенные каталоги 1уровня, которые могут содержать папки 2 уровня и т.д.
Почти все современные файловые системы имеют структуру каталогов в виде дерева. Такая структура позволяет пользователю создавать произвольное количество каталогов и подкаталогов.
При такой организации файловой системы требуется некоторый способ указания файла. Используют два метода:
- каждому файлу дается абсолютное имя пути, состоящее из имен всех каталогов от корневого до того, в котором содержится файл, и имени самого файла.
- относительное имя пути. Пользователь может назначить один из каталогов текущим. В этом случае все имена путей, не начинающиеся с символа разделителя, считаются относительными и отсчитываются относительно текущего каталога (если текущий путь, например \1\2, тогда к файлу с абсолютным путем \1\2\3.txt можно обратиться просто 3.txt).
Корневой каталог. На каждом устройстве имеется один главный, или корневой, каталог. В нем регистрируются файлы и подкаталоги (каталоги 1-го уровня). В каталогах 1-го уровня регистрируются файлы и каталоги 2-го уровня и т.д. Получается иерархическая древообразная структура каталогов на диске.
Подкаталоги и надкатологи. Все каталоги (кроме корневого) на самом деле являются файлами специального вида. Каждый каталог имеет имя, и он может быть зарегистрирован в другом каталоге. Если каталог Х зарегистрирован в каталоге Y, то говорят, что Х - подкатолог Y, а Y надкаталог или родительский каталог для Х.
Имена каталогов. Требования к именам каталогов те же, что к именам файлов. Как правило, расширение имени для каталогов не используется.
Текущий каталог. Каталог, в котором в настоящий момент работает пользователь, называется текущим.
Понятие форматирование диска
Перед началом использования любого дискового накопителя его необходимо отформатировать.
Форматирование это процесс записи на диск специальной управляющей информации, определяющей точки начала и конца отдельных секторов диска.
Информация на любой магнитный диск записывается вдоль концентрических кругов дорожек. Дорожки нумеруются последовательно от самой дальней от центра (нулевая) до ближайшей. Их число зависит от типа диска Дорожки на всех сторонах диска, расположенные на окружностях с одинаковым радиусом, объединены под общим названием цилиндр.
Дорожки, в свою очередь делятся на секторы минимальный объем информации, который может быть обработан операционной системой (стандартная длина сектора 512 байт). Между секторами имеются межсекторные промежутки. На каждом диске все дорожки включают одинаковое число секторов, которое зависит от типа диска. Например, при емкости диска в 360 кБ, количестве сторон 2, количество дорожек 40, количество секторов 9, размер сектора 512 байт.
Каждый сектор имеет свой собственный адрес, который размещается в его заголовке. Например, на диске емкостью 360 Кб всего 720 секторов, которые пронумерованы от 0 до 719.
Количество дорожек, секторов и размер сектора зависят от типов устройства и носителя, а также от способа его форматирования.
Понятие кластера
После форматирования на диск будет служебная информация, разделяющая всю его поверхность на секторы. Однако наименьшая единица, которую файловая система может выделять для файлов и каталогов, обычно состоит из нескольких секторов и называется кластер.
Поэтому можно утверждать, что любой диск состоит из кластеров, каждый из которых, в свою очередь, состоит из одного или нескольких секторов.
Схема взаимодействия ФС с жестким диском
От файловой системы требуется четкое выполнение следующих действий:
Скорость выполнения этих операций напрямую зависит от самой ФС. Разные ФС используют различные механизмы для реализации указанных задач и имеют свои преимущества и недостатки.
Примеры файловых систем, поддерживаемые Windows:
FAT 16 (File Allocation Table таблица расположения файлов)
Поддерживается всеми ОС Microsoft для обеспечения совместимости.
Основой файловой системы FAT является таблица размещения файлов, которая помещена в самом начале тома. На случай повреждения на диске хранятся две копии этой таблицы. Кроме того, таблица размещения файлов и корневой каталог должны храниться в определенном месте на диске (для правильного определения места расположения файлов загрузки).
Диск, отформатированный в файловой системе FAT, делится на кластеры, размер которых зависит от размера тома (от 512 б до 64 Кб). Одновременно с созданием файла в каталоге создается запись и устанавливается номер первого кластера, содержащего данные. Такая запись в таблице размещения файлов сигнализирует о том, что это последний кластер файла, или указывает на следующий кластер. Число в названии ФС указывает на число бит, необходимых для хранения информации о номерах кластеров, используемых файлов. Для FAT16 возможно использование 2^16 адресов кластеров.
Каталог FAT не имеет определенной структуры, и файлы записываются в первом обнаруженном свободном месте на диске. Кроме того, файловая система FAT поддерживает только четыре файловых атрибута: «Системный», «Скрытый», «Только чтение» и «Архивный».
В файловой системе FAT использован традиционный формат имен, имена файлов должны состоять из символов ASCII. Имя файла или каталога должно состоять не более чем из 8 символов, затем следует разделитель «.» (точка) и расширение длиной до 3 символов. Первым символом имени должна быть буква или цифра.
Максимальный размер поддерживаемого тома или раздела HDD не превышает 4095 Мбайт.
Корневой каталог отличается от других тем, что он располагается в определенном месте и имеет фиксированное число вхождений (если число фиксированных вхождений для корневого каталога равно 512 и создано 100 подкаталогов, то в корневом каталоге можно создать не более 412 файлов).
Не рекомендуется использовать эту ФС на томах больше 512 Мб, так как для небольших файлов дисковое пространство будет использоваться крайне неэффективно: файл размером 1 байт будет занимать 16, 32 или 64 Кб.
FAT32
Для работы с большими дисками была разработана новая файловая система FAT32. FAT32 поддерживает тома до 127 Гб.
Microsoft впервые представляет файловую систему FAT32 в операционной системе Windows 95 OSR2. В этой ФС, как следует из названия, разрядность указателя на кластер увеличивается до 32 бит, что значительно увеличивает количество поддерживаемых кластеров, и, следовательно, позволяет уменьшить их размер, а чем меньше кластер, тем Диск становится реже фрагментированным. Но при этом увеличивается количество записей в FAT таблице и соответственно тем дольше будет происходить считывание информации о расположении файла при доступе к нему. Компромиссный размер минимального кластера для FAT32 был выбран 4 Кб.
Для FAT16 c 2-Гб диском требовался кластер размером 32 Кб, для FAT32 кластер размером 4 Кб подходит для дисков с объемом от 512 Мб до 8 Гб.
В Windows XP/2000 максимальный размер раздела, который можно отформатировать с помощью FAT32, равен 32 Гбайт, не смотря на теоретический предел в 4 Тбайт.
Максимальное число вхождений в корневой каталог для FAT32 65535.
NTFS
Начиная с Windows2000 данная файловая система входит в состав ОС Microsoft. Она обеспечивает средства защиты информации, контроль над доступом и ряд других функций.
Как и при использовании FAT, основной информационной единицей в данной ФС является кластер. При формировании файловой системы NTFS программа форматирования создает файл Master File Table (MTF) и другие области для хранения метаданных. Метаданные используются для реализации файловой структуры.
MFT зона:
- первые 16 записей для самой NTFS;
- загрузочный сектор, в котором записываются местоположения файлов метаданных. Если первая запись MFT читает вторую запись для нахождения копии первой. Полная копия загрузочного сектора расположена в конце тома.
- копия первых четырех записей;
- информация о томе (метка и номер версии);
- таблица имен атрибутов и описания;
- корневой каталог и др.;
- остальные строки MFT содержат записи для каждого файла и каталога, расположенных на данном томе.
Обычно один файл использует одну запись в MFT, но если у файла большой набор атрибутов, то для хранения информации о нм могут потребоваться дополнительные записи. В этом случае первая запись о файле. Называется базовой, хранит место положение других записей.
В настоящее время практически все компьютеры используют многозадачные операционные системы (ОС) с богатым графическим интерфейсом. На персональных компьютерах IBM PC наиболее распространенными являются операционные системы семейства Windows. По некоторым оценкам они установлены на 80% всех компьютеров в мире. Семейство ОС Windows разрабатывается фирмой Микрософт начиная 1985 года и в настоящее время включает большое количество операционных систем начиная от Windows 3.1, Windows 3.11, Windows 95, 2000, NT, XP и заканчивая Windows 7. Большим достоинством этих операционных систем является их преемственность. Основные принципы разработки программ одни и те же во всех ОС этого семейства.
Операционная система Windows монопольно владеет всеми ресурсами компьютера дисплеем, клавиатурой, устройством “мышь” и т.д. Только она узнает о том, что пользователь выполняет некоторые действия с устройствами (начал двигаться манипулятор типа “мышь”, была нажата кнопка на клавиатуре, пришел пакет сообщения по локальной сети и т.п.) и посылает команды устройствам на выполнение некоторых работ. Программы, работающие в среде ОС Windows (рисунок ), с внешними устройствами непосредственной связи не имеют. Каждая программа живет как бы в своей отдельной квартире и связи с внешним миром не имеет. Для того, чтобы программы могли общаться с пользователем компьютера, используется специальная система, как бы почтовая связь. Программа обменивается с ОС специальными сообщениями message. Для организации этой связи, и для того чтобы выводить сообщения программы пользователю, каждой программе выделяется почтовый ящик (очередь сообщений) и прямоугольный участок экрана окно (window). Когда ОС узнает, что пользователь выполнил какие-то действия с внешними устройствами компьютера, например, нажал клавишу клавиатуры, то она смотрит, с каким окном пользователь работает (какое окно активно), и отправляет сообщение о действии пользователя той программе, которой этой окно выделено. Программа в обычном состоянии ничего не делает, а просто ждет сообщений от ОС.
Вызовы функций API Внешние устройства
. . . . . . . . . . . . .
Вызовы функций API |
Рисунок - Логика обмена сообщениями в среде ОС Windows |
Когда приходит сообщение, про которое программа «знает», как его обработать, то она выполняет некоторые действия, например, просит ОС нарисовать или вывести текст в выделенном программе окне. Если программе приходит сообщение «неизвестного», с точки зрения обработки, вида, то она просто возвращает его ОС. Когда приходит сообщение “Закончить работу”, то программа свою работу завершает.
Таким образом, логику работы программы можно описать следующим образом:
Операционная система помогает пользователю управлять компьютером (запускать нужные программы), она полностью владеет всеми ресурсами компьютера и первая узнает о том, что произошло в компьютере. ОС все события с компьютером оформляет в виде сообщения и рассылает их по почтовым ящикам программ очередям сообщений. Каждая программа весь компьютер не видит. Она видит и следит только за своим почтовым ящиком.
ОС
Windows
Дисплей
Клавиатура
ышь
Принтер
Программа 1
Программа N
Очередь
сообщений
Очередь
сообщений