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

Задачи, которые должна решать файловая система:

  • именование файлов.
  • программный интерфейс для работы пользовательских программ.
  • защита данных от сбоев питания и аппаратных и программных ошибок.
  • хранение параметров файлов.

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

  • Файловые системы для носителей информации с произвольным доступом (для , флеш накопителей): FAT32, HPFS, ext2 и многие другие.
  • Файловые системы для носителей информации с последовательным доступом (магнитные ленты): QIC и др.
  • Файловые системы для оптических дисков: ISO9660, HFS, UDF и др.
  • Виртуальные файловые системы: AEFS и др.
  • Сетевые файловые системы: NFS, SSHFS, CIFS, GmailFS и др.
  • Файловые системы предназначенные исключительно для : YAFFS, exFAT, ExtremeFFS.

Популярные файловые системы:

FAT – файловая система разработанная Биллом Гейтсом и Марком МакДональдом в 70-х годах прошлого века. Благодаря своей простоте используется в флеш-накопителях до сих пор. Существет три версии файловой системы FAT: FAT12, FAT16 и FAT32. Эти версии файловой системы FAT отличаются разрядностью записей (количеством бит, которые отведены под хранение номера кластера). То есть, чем больше разрядность, тем больше объем диска, с которым может работать файловая система FAT. Так, для FAT32 максимальный размер диска составляет 127 гигабайт.

NTFS – файловая система нового поколения от компании Microsoft. Данная файловая система используется для всех операционных систем Microsoft Windows NT. Впервые NTFS вышла в свет в 1993 году, вместе с операционной системой Windows NT 3.1. По сравнению с FAT, файловая система NTFS получила большое количество улучшений. Так, практически исчезло ограничение на максимальный размер файла и диска. Кроме этого появилась поддержка жестких ссылок, шифрования и сжатия.

ext – файловая система, разработанная специально под операционные системы на ядре Linux. Разработка была впервые представлена в 1992 году. Сейчас существует несколько версий данной файловой системы: ext, ext2, ext3, ext3cow и ext4. Файловая система ext4 на данный момент является самой новой и актуальной версией ext, именно эта версия используется большинством современных дистрибутивов Linux.

ВВЕДЕНИЕ

В настоящее время наиболее распространенными являются персональные компьютеры (ПК) на базе процессора Pentium. На большинстве этих ПК устанавливается операционная система (ОС) Windows 95 или Windows 98 (Windows 9x или просто Windows). Windows является фактически стандартом для 32-разрядных персональных компьютеров. К настоящему времени разработано уже несколько версий системы.

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

Отличительными чертами современных операционных систем, в том числе Windows 9x, являются:

Развитый пользовательский интерфейс, то есть средства и методы взаимодействия с пользователем;

Многозадачность – способность обеспечивать выполнение нескольких программ «одновременно»;

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

Устойчивость в работе и защищенность.

Windows 9x является преемницей и результатом слияния двух систем Windows 3.1x и MS-DOS. Разработчикам пришлось принять ряд компромиссов для обеспечения ее совместимости с названными системами:

Windows 9x начинает функционирование в реальном режиме, и лишь затем переходит в защищенный режим;

В основе Windows 9x лежит обновленная MS-DOS;

В Windows 9x имеется достаточное количество 16 – разрядных компонентов (модулей и драйверов устройств).

В основе ОС Windows 9x лежит объектно-ориентированный подход. Объектами являются документы, приложения, папки, файлы, ярлыки, диски и т. д. Открытие объекта –одно из основных понятий в системе. Выполняемые при этом действия зависят от разновидности объекта:

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

- открытие приложения - запуск его в работу;

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

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

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

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


КОМПОНЕНТЫ ФАЙЛОВОЙ СИСТЕМЫ

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

Файл - это поименованная совокупность однородной информации на внешнем носителе (например, на магнитном диске).

В имени файла (ОС Windows 9x) могут использоваться почти все печатаемые символы, но имеется ряд ограничений:

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

Имя файла не может начинаться с точки и ею заканчиваться;

В имени файла нельзя применять следующие символы: /, \, :, ?, ’’, <, >, |, так как они зарезервированы для других целей;

Длина имени файла не должна превышать (в общем случае) 255 символов.

Такие имена называются длинными. Например, Лабораторная работа №1 по дисциплине операционные системы.

Для каждого файла Windows 9x автоматически генерирует короткое имя, которое формируется, исходя из требований ОС MS-DOS, и используется для обеспечения совместимости операционных систем. Оно содержит не более 8 символов. Кроме символов, запрещенных в длинных именах, не допускается использовать символы;, +, [, ], =, «точка», «запятая», «пробел». Короткое имя начинается, как и длинное, далее следует символ ~ и порядковый номер (всего не более 8 символов). При этом запрещенные символы опускаются, строчные буквы перекодируются в прописные. Например, PRIMER~1 может соответствовать длинному имени файла, начинающемуся буквами Primer. Если есть еще такой файл, то его короткое имя будет PRIMER~2.

Запрещенными являются имена, зарезервированные для устройств ввода-вывода: PRN (принтер), CON (консоль, т.е. клавиатура и монитор), NUL (фиктивное устройство), LPT1 –LPT3 (первый – третий параллельный порт), COM1 – COM3 (первый – третий последовательный порт). Символами латинского алфавита A:, B:, C:, D: и т.д. именуются внешние запоминающие устройства.

Если в имени файла присутствует хоть одна точка, то считается, что оно снабжено расширением, в соответствии с характером хранимой информации. Расширением имени файла является последовательность символов, находящаяся после последней заданной в имени точки. Точка рассматривается как разделитель имени и расширения. Задание расширения осуществляет либо сам пользователь, либо программа, порождающая файл. Лучше использовать стандартные 1 – 3х символьные расширения, так как становится понятным тип файла, например:

ВАТ для командных файлов;

DOC для файлов, содержащих различные документы в формате редактора Microsoft Word;

PAS для программ, написанных на языке PASCAL; -

PCX для файлов с иллюстрацией в формате растрового графического редактора Publishers Paintbrush;

ВАК для файлов с предыдущей версией документа (резервные файлы);

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

СОМ для файлов, с готовой к выполнению программой только в среде MS-DOS.

В настоящее время для программ, готовых к выполнению под управлением операционной системы, используют термин приложение (application), например, Windows - приложение

Пример файла: COMMAND.COM, COMMAND - имя файла, СОМ – расширение.

Кроме длинного и короткого имен с каждым файлом связывается ряд свойств. К числу свойств файлов относятся:

Атрибуты файла;

Дата и время его создания;

Дата и время модификации файла;

Дата последнего доступа к файлу (по чтению или записи);

Длина, или размер файла (в байтах).

Атрибуты файла определяют способы его использования и права доступа к нему. В Windows 9x атрибуты играют скорее информационную роль, чем защитную, как в среде MS-DOS. Файлу может быть приписана любая комбинация из перечисленных ниже атрибутов:

Read-Only [R] (Только чтение) - устанавливает защиту файла от записи, файл не может быть удален, перемещен или изменен без специальных мер;

Archive [A] (Архивный) - устанавливает для файла архивный статус, устанавливается автоматически при создании или модификации файла, снимается средствами архивирования или резервирования;

Hidden [H] (Скрытый) – скрытые файлы, если не предпринять специальных мер, в папках не показываются.

System [S] (Системный) – атрибут, которым снабжаются системные файлы.

С каждым файлом в среде Windows 9x связывается пиктограмма, которая соответствует типу файла. Пиктограмма – это маленькая иллюстрация, помогающая быстро идентифицировать объект, с которым она связана.

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

*.ТХТ - все файлы типа ТХТ;

А?.* - все файлы, имена которых начинаются с буквы А и состоят из одной или двух букв.

1.2. Папки (каталоги)

По мере роста задач число файлов на диске сильно возрастает и, даже при умело подобранных именах файлов, становится сложно следить за порядком на диске и ориентироваться в файлах. Группа файлов на одном носителе, объединяемых по какому-либо критерию, может храниться в папке (folders). В MS-DOS использовалось понятие каталог или директорий (directory). Аналогия между папками и каталогами не является полной. Каждый каталог можно считать папкой, но не каждой папке соответствует каталог на диске, а если и соответствует, то он может находиться в совершенно ином месте файловой структуры. Если в папке (каталоге) хранится имя файла, то говорят, что этот файл находится в данном каталоге. Каждая папка в Windows 9x имеет пиктограмму и имя также как и файл (но, как правило, без расширения).

(Любая) папка может быть зарегистрирована в другой папке. Поэтому файловая структура на дисках является иерархической многоуровневой или древовидной, в корне которой находится главная папка , или корневой каталог (ROOT DIRECTORY) На каждом диске имеется одна такая папка, которая обозначается символом " \ ". Корневой каталог создается при форматировании диска и не может быть ни переименован, ни удален. Следует заметить, что на гибких магнитных дисках папки создавать не принято.

Если одна папка непосредственно содержится в другой, то первая называется дочерней (подкаталог), а вторая – родительской (надкаталог) по отношению к первой папке. В MS-DOS для обозначения родительского каталога используется символ "..".

MS-DOS поддерживает концепцию текущего накопителя и текущих каталогов . Первоначально текущим является накопитель, с которого производилась загрузка системы, и соответственно каталог. Каталог, с которым в настоящий момент работает пользователь, называется текущим. Точно также определяется текущий накопитель. Текущий каталог текущего диска называется рабочим. Windows также поддерживает эту концепцию, но несколько иначе.Например, смена рабочей папки в приложениях происходит неявно – при открытии и сохранении документов.

Пример фрагмента файловой структуры на диске приведен на рис. 1.


Рис. 1

На рис.1 каталог Documents зарегистрирован в каталоге My folder, поэтому говорят, что Documents - подкаталог My folder, а My folder - надкаталог, или родительский каталог, для Documents.

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

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

[диск:][полный_маршрут\]имя.тип.

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

Если в полном имени используются символы, недопустимые для коротких имен (в среде MS-DOS), спецификацию необходимо заключать в кавычки.

Пример полного имени файла: A:\PROGRAM\PASCAL\LAB.PAS.

Например, к файлу DEMO.EXE, находящемуся в подкаталоге PROGRAM, можно обращаться:

DEMO.EXE, если текущим является каталог PROGRAM;

PROGRAM\DEMO.EXE, если текущий каталог корневой;

-..\demo.exe, если текущий каталог PASCAL.

1.3. Ярлыки

Средствами Windows 9x обеспечивается на дисках создание еще одного компонента файловой системы – ярлыков. Ярлык (shortcut) представляет собой файл, содержащий указатель (ссылку) на некоторый объект в дереве ресурсов – другой файл, папку или периферийное устройство. (Файловые структуры всех доступных дисков, а также некоторые устройства ввода – вывода объединяются в дерево ресурсов .) Одному объекту может соответствовать несколько ярлыков, находящихся в разных папках. При удалении ярлыка уничтожается только ссылка на объект, который при этом никак не изменяется. При двойном щелчке на ярлыке документа будет неявно запущено приложение, которое связано с этим документом, а сам документ загружен в него для обработки. Чаще всего ярлыки размещают на рабочем столе, чтобы облегчить доступ к постоянно используемым объектам. Именуется ярлык по тем же правилам, что и файл, но ему приписывается стандартное расширение LNK (от LiNK –связь). Пиктограмма ярлыка совпадает с пиктограммой объекта, для которого ярлык создан, но имеет загнутую стрелку в левом нижнем углу.

Если ярлык создается для приложения MS-DOS или командного файла, то вместо ярлыка формируется файл с расширением PIF. Этот файл в среде Windows 95 может рассматриваться как ярлык специального вида, ссылающийся на исполняемый файл для среды MS-DOS.

1.4. Рабочий стол

После загрузки системы Windows 9x на экране монитора показывается Рабочий стол (Desktop), (как считается) самая большая папка. Рабочий стол и сам является объектом системы, но в отличие от объектов, находящихся на нем, он не может быть перенесен или скопирован ни в один из них. На рабочем столе допускаются размещать любые объекты из дерева ресурсов, обычно на нем находятся только стандартные (системные) папки и ярлыки для тех объектов, доступ к которым осуществляется наиболее часто.

Стандартная (системная) папка – это папка, создаваемая и обслуживаемая самой Windows. Приведем некоторые из стандартных папок, размещенных на рабочем столе:

Папка Мой компьютер (My computer) – является образом компьютера и позволяет получить доступ к его ресурсам. Получив доступ к некоторому объекту, можно выполнить с ним требуемые операции или изменить его свойства;

Папка Корзина (Recycle Bin). В эту папку попадают удаляемые файлы и ярлыки, чтобы имелась возможность их при необходимости восстановить. Размер корзины регулируется.

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

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

1. Что такое файл, имя и расширение файла, шаблон?

2. Какие файлы называются исполняемыми?

3. Что такое папка (каталог), подкаталог, корневой и родительский каталог?

4. Какие папки являются стандартными?

5. Дать определение спецификации, или полного имени файла.

6. Что такое ярлык?


КОМАНДЫ MS-DOS

Запуск команд производится из командной строки после получения приглашения к работе или из командного файла. Приглашение выдается, когда ОС готова к работе.

Формат команд MS-DOS:

команда [параметры] .

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

Существуют два типа команд MS-DOS: встроенные (внутренние) и загружаемые (внешние). Встроенные команды - простейшие, наиболее часто употребляемые, являющиеся составной частью командного процессора сommand.com и в каталоге не отображаются. (Например, DIR, COPY, DEL и другие.) К загружаемым командам относятся остальные команды, постоянно хранящиеся в файлах на диске (например, FORMAT).Прежде чем запустить на выполнение эти команды, необходимо убедиться в их наличии на диске. Рассмотрим некоторые команды MS-DOS.

3.1 Для смены текущего дисковода надо набрать имя дисковода, который должен стать текущим, затем символ ":" .

Например,

команда осуществляет переход с диска A: на диск С:.

3.2 Изменение текущего каталога

CD (CHDIR) [дисковод:] путь

Например,

CD PROGRAM - переход в подкаталог PROGRAM;

CD.. - переход в родительский каталог.

3.3 Вывод файла на экран.

TYPE [дисковод:][маршрут\]имя.тип.

Например,

TYPE \PROGRAM\PASCAL\lab.txt ;

TYPE AUTOEXEC.BAT .

2.4 Удаление файла или группы файлов

DEL [дисковод:][маршрут\]имя.тип.

В этой команде допускается использование шаблона.

Например,

DEL*.* - удаление всех файлов текущего каталога.

2.5 Просмотр каталога

DIR [дисковод:][маршрут\][имя.тип] .

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

2.6 Создание подкаталога

MD (MKDIR) [дисковод:] путь

2.7 Удаление подкаталога

RD (RMDIR) [дисковод:] путь

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

2.8 Переименование файлов

REN[диск:][ маршрут\]старое_имя новое_имя.

Эта команда позволяет изменить имя соответствующего файла без изменения его содержимого. Команда допускает использование шаблона.

2.9 Очистка экрана

2.10 Вывод версии операционной системы

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

2.11 Установка текущего времени

TIME [чч:mm:cc:дд]

Этой командой устанавливается текущее время при загрузке MS-DOS или в любой другой момент работы на машине. При запуске команды без параметров выдается текущее время и запрашивается новое, нажав на клавишу , можно согласиться с текущим временем.

2.12 Установка текущей даты

DATE [мм:дд:гг]

Команда устанавливает текущую дату аналогично команде TIME по установлению текущего времени.

2.13 Просмотр дерева подкаталогов

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

2.14 Копирование отдельных файлов

Команда COPY позволяет копировать файлы с диска на диск, осуществлять обмен данными между периферийными устройствами и объединять данные в процессе копирования.

COPY [диск:][маршрут\]исф[диск:][ маршрут \][инф] ,

где исф - имя старого файла с расширением, инф - имя нового файла с расширением. Ключ /V позволяет производить копирование с проверкой правильности копирования. В этой команде допускается использование шаблона.

При использовании команды COPY для обмена информацией между периферийными устройствами вместо имен файлов подставляют в команду специальные имена CON, PRN, NIL и др., которые имеют следующие значения:

CON - консоль: клавиатура для ввода данных, видеодисплей для вывода результатов и контроля диалога;

PRN -основной принтер, связанный с вашей системой;

NUL -псевдоустройство (несуществующее) для тестирования программ.

Команда COPY позволяет объединить несколько файлов в один знаком "+". При таком объединении (конкатенации) исходные файлы не меняются, а в новый файл будут записаны текущее время и дата.

1) COPY PASCAL\*.PAS B: ,

происходит копирование всех файлов с типом PAS из подкаталога PASCAL на диск В:

2) COPY FILE.EXT PRN ,

вывод файла FILE.EXT на печать.

3) COPY CON FILE.EXT ,

ввод данных с клавиатуры в файл FILE.EXT, при этом конец файла порождает комбинация клавиш (создание файла в MS-DOS).

4) COPY FILE1.EXT+FILE2.EXT+FILE3.EXT BOOK.EXT ,

объединение нескольких файлов в один BOOK.EXT.

2.15 Защита файлов от записи

ATTRIB [+R ¦ -R] [+A ¦-A] [ диск:][маршрут\]имя_файла.

R - устанавливает защиту файла от записи;

R - отменяет защиту файла от записи;

A - устанавливает для файла архивный статус;

A - отменяет для файла архивный статус;

ATTRIB +R FILE.EXT - нельзя записывать информацию в этот файл;

ATTRIB FILE.EXT -делается запрос о возможности записи данных в FILE.EXT. Ответ операционной системы:

R_A:\FILE.EXT , т.е. файл недоступен для записи.

2.16. Переадресация данных:

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

TYPE FILE.TXT > PRN

ECHO Завтра собрание группы > PRN

>> - выходные данные также перенаправляются, но если файл уже существует, то данные добавляются к старым данным.

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

PROGRAM < FILE.TXT

Замечание: Программа, результаты выполнения которой мы хотим переадресовать, должна использовать стандартные функции ввода/вывода.

2.17. Организация конвейеров.

Можно выстроить команды или программы в цепочку так, что вывод на экран первой из них будет использован как ввод с клавиатуры для следующей A1|A2|A3.

ECHO Y | DEL *.* >NUL – автоматически ответит Y (Да) на запрос «Вы уверены…» при удалении всех элементов каталога.

Происходит по (конвейеру) | передача данных из одной программы в другую. Гораздо эффективнее использование | (конвейера) с командами фильтрами и переадресации.

2.18.Фильтры FIND, MORE, SORT.

а) Поиск указанных данных в дисковом файле (номер телефона, адрес, любая фраза):

FIND “фраза” [путь\] имя файла,

где /C – счётчик обнаружения, т.е. сколько раз обнаружена фраза, а сами строки не выводятся;

/N – выводится ещё и номер строки (кроме самой строки);

/V – выводятся все строки, не содержащие данную фразу.

FIND “группа” FILE.TXT – выводится строка из файла, содержащая слово “группа”.

DIR | FIND /V “COM” – выводятся на экран все файлы, кроме файлов с расширением COM.

FIND “car” AB.DAT, B.DAT, C.DAT – расходы на автомобиль.

б) Постраничный вывод на экран

MORE < FILE.TXT

TYPE FILE.EXT | MORE

в) Сортировка данных.

SORT (по умолчанию сортировка по 1 символу по алфавиту в порядке возрастания),

где /R - сортировка по убыванию;

/+n – начиная с колонки n, в строке будет происходить сортировка.

ввод информации с клавиатуры, Ù Z – признак конца вводимой информации.

Это желательно записать в файл, т.е. SORT < CON > FILE.TXT.

DIR | SORT – отсортированы элементы каталога по именам файлов (каталогов).

DIR | SORT /+10 > FILE.EXT -

список файлов будет упорядочен по расширениям (WINDOWS 9X).

©2015-2019 сайт
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-08-20

Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, FAT (File Allocation Table), NTFS (NT File System), HPFS (High Performance File System), NFS (Network File System), AFS (Andrew File System), Internet File System.

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

В широком смысле понятие "файловая система" включает:

Совокупность всех файлов на диске;

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

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

Файловая система используется обычно как при загрузке ОС после включения компьютера, так и в процессе работы. Файловая система выполняет следующие основные функции:

Определяет возможные способы организации файлов и файловой структуры на носителе;

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

Отслеживает свободное пространство на носителе.

Когда прикладная программа обращается к файлу, она не имеет никакого представления о том, каким образом расположена информация в конкретном файле, так же, как и на каком физическом типе носителя (CD, жестком диске или блоке флэш-памяти) он записан. Все, что знает программа – это имя файла, его размер и атрибуты. Эти данные она получает от драйвера файловой системы. Именно файловая система устанавливает, где и как будет записан файл на физическом носителе (например, жёстком диске).

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


3.1.5 Логическая структура диска

Для того чтобы компьютер мог хранить, читать и записывать информацию жесткий диск предварительно должен быть размечен. На нем с помощью соответствующих программ создаются разделы – это и называется "разбить жесткий диск". Без этой разметки на жесткий диск не удастся установить операционную систему (хотя Windows XP и 2000 могут устанавливаться на неразбитый диск, но они такую разметку проводят сами в процессе установки).

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

Кроме того, существуют и другие причины разбиения диска на разделы, например:

Возможность использования под управлением MS DOS дисков с емкостью большей, чем
32 Мб;

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

Реорганизация и выгрузка диска маленького размера проще и быстрее, чем большого;

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

Операция подготовки диска к работе называется форматированием , или инициализацией . Всё доступное дисковое пространства разбивается на стороны, дорожки и сектора, причем дорожки и стороны нумеруются с нуля, а сектора – с единицы. Совокупность дорожек, находящихся на одинаковом удалении от оси диска или пакета дисков, называется цилиндром. Таким образом физический адрес сектора определяется следующими координатами: номер дорожки (цилиндра – С), номер стороны диска (головки – H), номера сектора – R, т.е. CHR.

В самом первом секторе жесткого диска (C=0, H=0, R=1) содержится главная загрузочная запись Master Boot Record . Эта запись занимает не весь сектор, а только его начальную часть. Главная загрузочная запись является программой – внесистемным загрузчиком.

В конце первого сектора жесткого диска располагается таблица разделов диска – Partition Table . Эта таблица содержит четыре строки, описывающих максимально четыре раздела. Каждая строка в таблице описывает один раздел:

1) активный раздел или нет;

2) номер сектора, соответствующего началу раздела;

3) номер сектора, соответствующего концу раздела;

4) размер раздела в секторах;

5) код операционной системы, т.е. какой ОС принадлежит данный раздел.

Раздел называется активным, если он содержит программу загрузки операционной системы. Первым байтом в элементе раздела идет флаг активности раздела (0 – не активен, 128 (80H) – активен). Он служит для определения, является ли раздел системным (загрузочным), и для необходимости производить загрузку операционной системы с него при старте компьютера. Активным может быть только один раздел. Небольшие программы, называемые менеджерами загрузки (Boot Manager), могут располагаться в первых секторах диска. Они интерактивно запрашивают пользователя, с какого раздела производить загрузку и соответственно корректируют флаги активности разделов. Поскольку в Partition Table четыре строки, то на диске может быть до четырех различных ОС, следовательно, диск может содержать несколько первичных разделов, принадлежащих разным операционным системам.

Пример логической структуры жесткого диска, состоящего из трех разделов, два из которых принадлежат DOS, а один принадлежит UNIX, приведен на рисунке 3.2а.

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

На практике диск разбивается чаще всего на два раздела. Размеры разделов, объявление их активными или нет, устанавливаются пользователем в процессе подготовки жесткого диска к работе. Делается это с помощью специальных программ. В DOS эта программа называется FDISK, в версиях Windows-XX – Diskadministrator.

В DOS первичный раздел – Primary Partition , это тот раздел, который содержит загрузчик операционной системы и саму ОС. Таким образом, первичный раздел является активным разделом, используется как логический диск с именем C:.

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

Расширенный раздел Extended Partition может разбиваться на несколько логических дисков с именами от D: до Z:.

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

Структуры данных

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

· Общее. В теории информатики определены следующие три основных типа структур данных – линейная, табличная, иерархическая. Пример книга: последовательность листов – линейная структура. Части, разделы, главы, параграфы – иерархия. Оглавление – таблица – связывает – иерархическую с линейной. У структурированных данных появляется новый атрибут - Адрес.

· Линейные структуры (списки, вектора). Обычные списки. Адрес каждого элемента однозначно определяется его номером. Если все элементы списка имеют равную длину – вектора данных.

· Табличные структуры (таблицы, матрицы). Отличие таблицы от списка – каждый элемент – определяется адресом, состоящим не из одного, а нескольких параметров. Самый распространенный пример – матрица - адрес – два параметра – номер строки и номер столбца. Многомерные таблицы.

· Иерархические структуры. Используются для представления нерегулярных данных. Адрес – определяется маршрутом – от вершины дерева. Файловая система – компьютера. (Маршрут может превысить – величину данных, дихотомия – всегда два разветвления – влево и вправо).

· Упорядочение структур данных. Основной способ – сортировка . ! При добавлении нового элемента в упорядоченную структуру – возможно изменения адреса у существующих . Для иерархических структур – индексация – каждому элементу уникальный номер – который далее используется в сортировке и поиске.

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

Файл - это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные . Три параметра:

Последовательность произвольного числа байтов,

Уникальное собственное имя (фактически – адрес).

Данные одного типа – тип файла.

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

Первая, в современном понимании, развитая файловая система была разработана фирмой IBM для ее серии 360 (1965-1966 годы). Но в нынешних системах она практически не применяется. Использовала списочные структуры данных (ЕС- том, раздел, файл) .

Большинство из Вас знакомо с файловыми системами современных ОС. Это прежде всего MS DOS, Windows, а некоторые с построением файловой системы для различных вариантов UNIX.

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



· Именование файлов. Все современные файловые системы поддерживают многоуровневое именование файлов за счет поддержания во внешней памяти дополнительных файлов со специальной структурой - каталогов . Каждый каталог содержит имена каталогов и/или файлов, содержащихся в данном каталоге. Таким образом, полное имя файла состоит из списка имен каталогов плюс имя файла в каталоге , непосредственно содержащем данный файл. Разница между способами именования файлов в разных файловых системах состоит в том, с чего начинается эта цепочка имен. (Unix, DOS-Windows)

· Защита файлов . Системы управления файлами должны обеспечивать авторизацию доступа к файлам . В общем виде подход состоит в том, что по отношению к каждому зарегистрированному пользователю данной вычислительной системы для каждого существующего файла указываются действия, которые разрешены или запрещены данному пользователю. Существовали попытки реализовать этот подход в полном объеме. Но это вызывало слишком большие накладные расходы как по хранению избыточной информации, так и по использованию этой информации для контроля правомочности доступа. Поэтому в большинстве современных систем управления файлами применяется подход к защите файлов, впервые реализованный в ОС UNIX (1974). В этой системе каждому зарегистрированному пользователю соответствует пара целочисленных идентификаторов: идентификатор группы, к которой относится этот пользователь, и его собственный идентификатор в группе. Соответственно, при каждом файле хранится полный идентификатор пользователя, который создал этот файл, и отмечается, какие действия с файлом может производить он сам, какие действия с файлом доступны для других пользователей той же группы, и что могут делать с файлом пользователи других групп. Эта информация очень компактна, при проверке требуется небольшое количество действий, и этот способ контроля доступа удовлетворителен в большинстве случаев.

· Режим многопользовательского доступа. Если операционная система поддерживает многопользовательский режим вполне реальна ситуация, когда два или более пользователей одновременно пытаются работать с одним и тем же файлом. Если все эти пользователи собираются только читать файл, ничего страшного не произойдет. Но если хотя бы один из них будет изменять файл, для корректной работы этой группы требуется взаимная синхронизация. Исторически в файловых системах применялся следующий подход. В операции открытия файла (первой и обязательной операции, с которой должен начинаться сеанс работы с файлом) помимо прочих параметров указывался режим работы (чтение или изменение). + имеется специальные процедуры синхронизации действий пользователей. Нельзя по записям!

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

Все программы и данные хранятся в долговременной (внешней) памяти компьютера в виде файлов.

Файл - это определенное количество информации (программа или данные), имеющее имя и хранящееся в долговременной (внешней) памяти.

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

В различных операционных системах существуют различные форматы имен файлов. В операционной системе MS-DOS собственно имя файла должно содержать не более 8 букв латинского алфавита, цифр и некоторых специальных знаков, а расширение состоит из трех латинских букв, например: proba.txt

В операционной системе Windows имя файла может иметь длину до 255 символов, причем можно использовать русский алфавит, например: Единицы измерения информации.doc


Файловая система. На каждом носителе информации (гибком, жестком или лазерном диске) может храниться большое количество файлов. Порядок хранения файлов на диске определяется используемой файловой системой.

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

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

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

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

Например, в корневом каталоге могут находиться два вложенных каталога 1-го уровня (Каталог_1, Каталог_2) и один файл (Файл_1). В свою очередь, в каталоге 1-го уровня (Каталог_1) находятся два вложенных каталога второго уровня (Каталог_1.1 и Каталог_1.2) и один файл (Файл_1.1) - рис. 4.21.

Файловая система - это система хранения файлов и организации каталогов.

Рассмотрим иерархическую файловую систему на конкретном примере. Каждый диск имеет логическое имя (А:, В: - гибкие диски, С:, D:, Е: и так далее - жесткие и лазерные диски).

Пусть в корневом каталоге диска С: имеются два каталога 1-го уровня (GAMES, TEXT), а в каталоге GAMES один каталог 2-го уровня (CHESS). При этом в каталоге TEXT имеется файл proba.txt, а в каталоге CHESS - файл chess.exe (рис. 4.22).

Путь к файлу. Как найти имеющиеся файлы (chess.exe, proba.txt) в данной иерархической файловой системе? Для этого необходимо указать путь к файлу. В путь к файлу входят записываемые через разделитель "\" логическое имя диска и последовательность имен вложенных друг в друга каталогов, в последнем из которых содержится нужный файл. Пути к вышеперечисленным файлам можно записать следующим образом:

Путь к файлу вместе с именем файла называют иногда полным именем файла .

Пример полного имени файла:

С \GAMES\CHESS\chess.exe

Представление файловой системы с помощью графического интерфейса. Иерархическая файловая система MS-DOS, содержащая каталоги и файлы, представлена в операционной системе Windows с помощью графического интерфейса в форме иерархической системы папок и документов. Папка в Windows является аналогом каталога MS-DOS

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

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

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

Папка Сетевое окружение содержит папки всех компьютеров, подключенных в данный момент к локальной сети.

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

3. Для окончательного удаления файлов необходимо ввести команду [Файл-Очистить корзину].

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

  • копирование (копия файла помещается в другой каталог);
  • перемещение (сам файл перемещается в другой каталог);
  • удаление (запись о файле удаляется из каталога);
  • переименование (изменяется имя файла).

Графический интерфейс Windows позволяет проводить операции над файлами с помощью мыши с использованием метода Drag&Drop (перетащи и оставь). Существуют также специализированные приложения для работы с файлами, так называемые файловые менеджеры : Norton Commander, Windows Commander, Проводник и др.

В некоторых случаях возникает необходимость работать с интерфейсом командной строки. В Windows предусмотрен режим работы с интерфейсом командной строки MS-DOS.

Интерфейс командной строки

1. Ввести команду [Программы-Сеанс MS-DOS]. Появится окно приложения Сеанс MS-DOS .

В ответ на приглашение системы можно вводить команды MS-DOS с клавиатуры, в том числе:

  • команды работы с файлами (copy, del, rename и др.);
  • команды работы с каталогами (dir, mkdir, chdir и др.);
  • команды работы с дисками (format, defrag и др.).

2. Существуют десятки команд MS-DOS, при этом каждая команда имеет свой формат и параметры, запомнить которые достаточно трудно. Для того чтобы получить справочную информацию по команде, необходимо после имени команды ввести ключ /?.

Например, для получения справки по команде format в ответ на приглашение системы необходимо ввести: С:\WINDOWS>format/?


Вопросы для размышления

1. Какой элемент является вершиной иерархии в файловой системе MS-DOS? В графическом интерфейсе Windows?

Практические задания

4.11. Осуществить копирование файлов с использованием интерфейса командной строки и файлового менеджера.

4.12. Ознакомиться с объемом дисков вашего компьютера, а также объемами занятого и свободного пространства.

4.13. Ознакомиться с форматом команды dir. Просмотреть корневой каталог диска С.