Что означает управлять файловой системой какие методы управления файловой системой существуют
Доброго времени суток уважаемый пользователь, в этой статье речь пойдет о такой теме, как файлы. А именно мы рассмотрим: Управление файлами, типы файлов, файловая структура, атрибуты файла.
Типы файлов
Обычные файлы: содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Содержание обычного файла определяется приложением, которое с ним работает.
Обычные файлы могут быть двух типов:
Каталоги – это, с одной стороны, группа файлов, объединенных пользователем исходя из некоторых соображений (например, файлы, содержащие программы игр, или файлы, составляющие один программный пакет), а с другой стороны – это особый тип файлов, которые содержат системную справочную информацию о наборе файлов, сгруппированных пользователями по какому-либо неформальному признаку (тип файла, расположение его на диске, права доступа, дата создания и модификация).
Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода/вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам. Специальные файлы позволяют пользователю осуществлять операции ввода/вывода посредством обычных команд записи с файлов или чтения из файлов. Эти команды обрабатываются сначала программами ФС, а затем на некотором этапе выполнения запроса преобразуются ОС в команды управления соответствующим устройством (PRN, LPT1 – для порта принтера (символьные имена, для ОС – это файлы), CON – для клавиатуры).
Пример. Copy con text1 (работа с клавиатурой).
Управление файлами
Файл – именованная область внешней памяти, предназначенная для считывания и записи данных.
Файлы хранятся в памяти, не зависящей от энергопитания. Исключением является электронный диск, когда в ОП создается структура, имитирующая файловую систему.
Файловая система (ФС) — это компонент ОС, обеспечивающий организацию создания, хранения и доступа к именованным наборам данных — файлам.
Файловая система включает:Файловая система включает:
- Совокупность всех фалов на диске.
- Наборы структур данных, используемых для управления файлами (каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске).
- Комплекс системных программных средств, реализующих различные операции над файлами: создание, уничтожение, чтение, запись, именование, поиск.
Задачи, решаемые ФС, зависят от способа организации вычислительного процесса в целом. Самый простой тип – это ФС в однопользовательских и однопрограммных ОС. Основные функции в такой ФС нацелены на решение следующих задач:
- Именование файлов.
- Программный интерфейс для приложений.
- Отображения логической модели ФС на физическую организацию хранилища данных.
- Устойчивость ФС к сбоям питания, ошибкам аппаратных и программных средств.
Задачи ФС усложняются в однопользовательских многозадачных ОС, которые предназначены для работы одного пользователя, но дают возможность запускать одновременно несколько процессов. К перечисленным выше задачам добавляется новая задача — совместный доступ к файлу из нескольких процессов.
Файл в этом случае является разделяемым ресурсом, а значит ФС должна решать весь комплекс проблем, связанных с такими ресурсами. В частности: должны быть предусмотрены средства блокировки файла и его частей, согласование копий, предотвращение гонок, исключение тупиков. В многопользовательских системах появляется еще одна задача: Защита файлов одного пользователя от несанкционированного доступа другого пользователя.
Еще более сложными становятся функции ФС, которая работает в составе сетевой ОС ей необходимо организовать защиту файлов одного пользователя от несанкционированного доступа другого пользователя.
Основное назначение файловой системы и соответствующей ей системы управления файлами– организация удобного управления файлами, организованными как файлы: вместо низкоуровневого доступа к данным с указанием конкретных физических адресов нужной нам записи, используется логический доступ с указанием имени файла и записи в нем.
Термины «файловая система» и «система управления файлами» необходимо различать: файловая система определяет, прежде всего, принципы доступа к данным, организованным как файлы. А термин «система управления файлами» следует употреблять по отношению к конкретной реализации файловой системы, т.е. это комплекс программных модулей, обеспечивающих работу с файлами в конкретной ОС.
Пример
Файловая система FAT (file allocation table) имеет множество реализаций как система управления файлами
- Система, разработанная для первых ПК называлась просто FAT (сейчас ее называют просто FAT-12) . Ее разрабатывали для работы с дискетами, и некоторое время она использовалась для работы с жесткими дисками.
- Потом ее усовершенствовали для работы с жесткими дисками большего объема, и эта новая реализация получила название FAT–16. это название используется и по отношению к СУФ самой MS-DOS.
- Реализация СУФ для OS/2 называется super-FAT (основное отличие – возможность поддерживать для каждого файла расширенные атрибуты).
- Есть версия СУФ и для Windows 9x/NT и т.д. (FAT-32).
Файловая система
Одной из основных задач ОС является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью, которая реализуется в виде дерева каталогов, выводимого на экран такими утилитами, как Norton Commander, Far Manager или Windows Explorer. Базовым элементом этой модели является файл, который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.
Файловая структура
Файловая структура – вся совокупность файлов на диске и взаимосвязей между ними (порядок хранения файлов на диске).
Виды файловых структур:
- простая, или одноуровневая: каталог представляет собой линейную последовательность файлов.
- иерархическая или многоуровневая: каталог сам может входить в состав другого каталога и содержать внутри себя множество файлов и подкаталогов. Иерархическая структура может быть двух видов: «Дерево» и «Сеть». Каталоги образуют «Дерево», если файлу разрешено входить только в один каталог (ОС MS-DOS, Windows) и «Сеть» – если файл может входить сразу в несколько каталогов (UNIX).
- Файловая структура может быть представлена в виде графа, описывающего иерархию каталогов и файлов:
Типы имен файлов
Файлы идентифицируются именами. Пользователи дают файлам символьные имена, при этом учитываются ограничения ОС как на используемые символы, так и на длину имени. В ранних файловых системах эти границы были весьма узкими. Так в популярной файловой системе FATдлина имен ограничивается известной схемой 8.3 (8 символов — собственно имя, 3 символа — расширение имени), а в ОС UNIX System V имя не может содержать более 14 символов.
Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлу действительно мнемоническое название, по которому даже через достаточно большой промежуток времени можно будет вспомнить, что содержит этот файл. Поэтому современные файловые системы, как правило, поддерживают длинные символьные имена файлов.
Например, Windows NT в своей файловой системе NTFS устанавливает, что имя файла может содержать до 255 символов, не считая завершающего нулевого символа.
При переходе к длинным именам возникает проблема совместимости с ранее созданными приложениями, использующими короткие имена. Чтобы приложения могли обращаться к файлам в соответствии с принятыми ранее соглашениями, файловая система должна уметь предоставлять эквивалентные короткие имена (псевдонимы) файлам, имеющим длинные имена. Таким образом, одной из важных задач становится проблема генерации соответствующих коротких имен.
Символьные имена могут быть трех типов: простые, составные и относительные:
- Простое имя идентифицирует файл в пределах одного каталога, присваивается файлам с учетом номенклатуры символа и длины имени.
- Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла, имени диска, имени файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем.
- Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». В каждый момент времени один из каталогов является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла.
В древовидной файловой структуре между файлом и его полным именем имеется взаимно однозначное соответствие – «один файл — одно полное имя». В сетевой файловой структуре файл может входить в несколько каталогов, а значит может иметь несколько полных имен; здесь справедливо соответствие – «один файл — много полных имен».
Для файла 2.doc определить все три типа имени, при условии, что текущим каталогом является каталог 2008_год.
- Простое имя: 2.doc
- Полное имя: C:\2008_год\Документы\2.doc
- Относительное имя: Документы\2.doc
Атрибуты файлов
Важной характеристикой файла являются атрибуты. Атрибуты – это информация, описывающая свойства файлов. Примеры возможных атрибутов файлов:
- Признак «только для чтения» (Read-Only);
- Признак «скрытый файл» (Hidden);
- Признак «системный файл» (System);
- Признак «архивный файл» (Archive);
- Тип файла (обычный файл, каталог, специальный файл);
- Владелец файла;
- Создатель файла;
- Пароль для доступа к файлу;
- Информация о разрешенных операциях доступа к файлу;
- Время создания, последнего доступа и последнего изменения;
- Текущий размер файла;
- Максимальный размер файла;
- Признак «временный (удалить после завершения процесса)»;
- Признак блокировки.
В файловых системах разного типа для характеристики файлов могут использоваться разные наборы атрибутов (например, в однопользовательской ОС в наборе атрибутов будут отсутствовать характеристики, имеющие отношение к пользователю и защите (создатель файла, пароль для доступа к файлу и т.д.).
Пользователь может получать доступ к атрибутам, используя средства, предоставленные для этих целей файловой системой. Обычно разрешается читать значения любых атрибутов, а изменять – только некоторые, например можно изменить права доступа к файлу, но нельзя изменить дату создания или текущий размер файла.
Права доступа к файлу
Определить права доступа к файлу — значит определить для каждого пользователя набор операций, которые он может применить к данному файлу. В разных файловых системах может быть определен свой список дифференцируемых операций доступа. Этот список может включать следующие операции:
- создание файла.
- уничтожение файла.
- запись в файл.
- открытие файла.
- закрытие файла.
- чтение из файла.
- дополнение файла.
- поиск в файле.
- получение атрибутов файла.
- установление новых значений атрибутов.
- переименование.
- выполнение файла.
- чтение каталога и др.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки — всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции:
В некоторых системах пользователи могут быть разделены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа, например в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных.
Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, 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б представлена логическая структура жесткого диска, в котором всего два раздела и четыре логических диска.
![]() | ![]() |
а | б |
Рисунок 3.2 – Логическая структура диска: а – с тремя разделами; б – с двумя разделами и четырьмя логическими дисками |
3.1.6 Файловая структура диска
Рассмотрим подробнее файловую структуру логического диска, созданного в расширенном разделе на жестком диске. В начале логического диска располагается сектор, в котором находится загрузочная запись, а в конце сектора – таблица логических дисков. Фактически эта таблица является расширением Partition Table, имеет тот же формат, но содержит всего две строки, два элемента. Первый элемент указывает на первый сектор первого логического диска, второй указывает на следующую таблицу логических дисков. В таблице логических дисков последнего логического диска, устанавливается код, означающий окончание списка.
Диски одного компьютера могут хранить огромное количество файлов, и для обеспечения возможности обращения к ним пришлось бы вести и составлять громоздкие каталоги, в которых бы для каждого файла были указаны занимаемые им сектора. Однако операционная система освобождает пользователя от необходимости вести эти каталоги и делает это сама, автоматически.
С этой целью
(рис.1) |
1) стартовый сектор;
2) таблица размещения файлов FAT- File Allocation Table;
3) корневой каталог – Root Directory;
4) пространство данных.
Размер этих областей зависит от размера логического диска, но общая структура и порядок расположения не меняется.
Стартовый сектор (загрузочная записьBoot Record)
Это своего рода визитная карточка любого диска. Он содержит необходимые ОС сведения для работы с диском. Под него выделяется первый сектор диска на дорожке 00 поверхности 0. Этот сектор содержит короткую программу блока начальной загрузки ОС, независимо от того системный диск или нет. Кроме того в загрузочной записи находятся параметры, описывающие характеристики логического диска:
· размер секторов диска в байтах;
· количество копий FAT (обычно 2);
· количество элементов в корневом каталоге;
· количество секторов на диске;
· указатель типа магнитного носителя информации;
· количество секторов, занимаемых FAT;
· количество секторов на дорожку;
· размер кластера и т.д.
Конец загрузочной записи заканчивается двухбайтовой подписью 55АА.
Таблица размещения файлов FAT
Таблица размещения файлов является важнейшей файловой структурой диска. В процессе работы содержимое области данных постоянно меняется: добавляются новые файлы, изменяется их содержимое, файлы удаляются, перемещаются и т.п. Выполнение этих операций требует наличия специального механизма, позволяющего распределять дисковое пространство между файлами и обеспечивать доступ к ним. Таким механизмом распределения дискового пространства и доступа к файлам и является таблица размещения файлов.
По содержимому FAT можно определить физическое расположение на диске всех файлов и каталогов. ОС разбивает всю область диска на участки одинакового размера, называемые кластерами. Размер кластера зависит от емкости диска, но всегда кратен размеру сектора. Несмотря на то, что минимальной порцией информации, передаваемой контроллером диска в процессе записи или чтения файла, является сектор, ОС выделяет место на диске целыми кластерами, если кластер больше сектора, то он занимает последовательные сектора.
Файл на диске, как правило, не занимает последовательную цепочку кластеров. Если дисковое пространство позволяет, то файл записывается в смежные кластеры, если нет – то в разные. В первом случае файл называется непрерывным, в последнем случае – фрагментированным. Если размер файла не кратен размеру кластера, то последний кластер лишь частично заполняется данными. Минимальный размер файла, даже если данные его занимают один байт, составляет целый кластер.
Для того чтобы определить физическое расположение файлов на диске, следует указать все входящие в него кластеры, причем в том порядке, в котором записывалась в кластеры содержимое файла.
FAT представляет собой таблицу, в которой число элементов, совпадает с числом кластеров на диске. Если на диске какой-то кластер свободен, то в FAT соответствующий ему элемент содержит код 000. Если файл на диске занимает несколько кластеров, то с помощью FAT эти кластеры связываются в цепочку. Например, файлу выделены кластеры №7, №8, №10, №14, №17, №11, №12. Элемент FAT №7 хранит номер следующего кластера, выделенного файлу, т.е. №8. Элемент №8 хранит 10 и т.д., пока не будет достигнут последний кластер, выделенный файлу. В этом последнем кластере записан специальный код FFF – признак конца файла.
FFF | FF7 |
FF7 |
Рисунок 3.3 – Фрагмент таблицы размещения файлов
Запись в каталоге, соответствующая данному файлу, содержит номер первого кластера (точка входа), выделенного файлу, в нашем примере это №7.
Кластеры, приходящиеся на испорченные участки диска, помечаются в FAT специальным кодом FF7 и исключаются из свободной области. Когда файл удаляют, то все записи в FAT, соответствующие его цепочки кластеров маркируются как свободные, однако данные файла из кластеров не удаляются до тех пор, пока в эти кластеры не будут записаны новые данные.
Операционная система MS DOS поддерживает 16-битовый формат FAT, а ОС Windows – 32-битовый. Это означает, что для записи адреса элемента таблицы необходимо 16 или 32 бита, соответственно. Отсюда следует, что при 16-битовом формате можно пронумеровать 2 16 =65536 кластеров. В связи с этим ограничением операционные системы не позволяют работать с жесткими дисками размером более 2 Гбайт.
Таблица 3.1 иллюстрирует, какой максимальный размер дискового пространства может обслуживать FAT16 и FAT32.
Таблица 3.1 – Максимальный объём памяти диска при использовании FAT16 и FAT32
Размер диска | Размер кластера для 16-битовой FAT | Размер кластера для 32-битовой FAT |
256-511 Мб | 8 Кб | Не поддерживается |
512-1024 Мб | 16 Кб | 4 Кб |
1024 Мб-2Гб | 32 Кб | 4 Кб |
2 Гб-8 Гб | Не поддерживается | 4 Кб |
8 Гб-16 Гб | 8 Кб | |
16 Гб-32 Гб | 16 Кб | |
Более 32 Гб | 32 Кб |
К очень негативным явлениям относится фрагментация файлов. По мере удаления старой информации в пространстве данных будут появляться кластеры, помеченные в FAT, как свободные. Вновь образованные файлы заполняют эти кластеры, что приводит к их фрагментации. Чем сильнее фрагментирован файл, тем больше времени уходит на его чтение или запись. Поскольку каждый файл, независимо от своего размера занимает целое число кластеров на диске, и целое число записей в FAT, то последний кластер используется не полностью. Недоступная часть кластера, недоступна и для других кластеров. Чем больше размер кластера, тем больше напрасный расход места на диске.
Более совершенная файловая система – FAT32 с 32-разрядными полями в таблицах размещения файлов, например, в ОС Windows 98/2000, позволяет уменьшать размер кластеров, что сокращает потери дисковой памяти и позволяет работать с жесткими дисками любого объёма. Ряд файловых систем, например, HPFS, WinFAT, сетевая Novell Netware, имеют механизмы дописывания остатков блоков различных файлов в частично заполненные кластеры. Этим обеспечивается более рациональное использование пространства внешней памяти.
В организации FAT могут возникать определенные дефекты. Ряд утилит позволяет диагностировать как логические ошибки в файловой системе, так и физические дефекты на поверхности диска.
К объектам, которые образуют файловую систему, относятся: папки, файлы, документы, ярлыки.
Папка — это контейнер, который может содержать другие папки, программы (файлы), документы, ярлыки. Папки делятся на системные («Мой компьютер», «Рабочий стол», «Диск А:» и т. п.) и пользовательские. Для системных папок установлена четкая иерархия. Высшую ступень занимает папка «Рабочий стол». Далее идут папки «Мой компьютер» и «Корзина». На третьей ступени — папки логических дисков, "Панель управления" и «Принтеры». Папки логических дисков являются вершиной для пользовательских папок.
Имя папки может быть составлено из русских и латинских букв (малые и большие), цифр, знаков подчеркивания и других, кроме точки. Количество символов в имени — до 256.
Файл — любой массив информации, сохраненный на диске и имеющий собственное имя. Файлом может быть программа, текстовый документ, любой набор данных.
Документ — файл, созданный пользователем и содержащий текст, графику, электронную таблицу и т. п.
Имя файла или документа состоит из двух частей: собственно имени и расширения, отделяемого символом точки. Собственно имя может содержать от 1 до 256 символов, расширение — как правило, от 0 до 3. Документ, создаваемый пользователем в окне приложения, при сохранении получает соответствующее расширение.
Ярлык — ссылка на объект. Ярлык не является самостоятельным объектом и представляет собой файл размером 1 Кб с расширением .lnk или .pif.
Управление файловой системой — это выполнение операций копирования, перемещения, удаления и т. п. над объектами файловой системы. Управление происходит в окне папки. Роль приложения, обрабатывающего папку, играют «Мой компьютер» и «Проводник».
«Мой компьютер» — специальная папка, значок которой расположен на Рабочем столе. «Проводник» — обычное приложение, ярлык которого входит в папку «Программы» и которое запускается с помощью Пуск/Главное меню/Программы(или через контекстное меню кнопки Пуск).
Основными методами работы являются:
- копирование и перемещение объектов с помощью буфера обмена;
- копирование и перемещение методом Drag and Drop (переместить и оставить). Выполняется с помощью манипулятора «мышь».
Работа в ОС Windows строится на основе двух принципов:
1. Принцип Рабочего стола.Термин используется для обозначения всего того, что находится на экране. Внешний вид не только напоминает письменный стол, на котором расположены все необходимые для работы предметы, но и основные приемы работы с объектами аналогичны приемам работы за письменным столом.
2. Работа в системе строится на основе документо-ориентированного принципа. Этот принцип, в свою очередь, базируется на двух основных положениях:
- документ — это файл, созданный пользователем и содержащий текст, графику, таблицу, звук, видеоинформацию;
- документ является первичным по отношению к приложению, в котором он был создан или может быть использован.
ПРОГРАММНЫЕ СРЕДСТВА СОЗДАНИЯ И ОБРАБОТКИ ТЕКСТОВЫХ ЭЛЕКТРОННЫХ ДОКУМЕНТОВ
Программы работы с текстом: классификация и функции.
Данный вид программ представляет собой наиболее развитую в плане реализуемых функций и многочисленную по количеству созданных пакетов часть прикладного программного обеспечения и включает следующие классы:
§ программы оптического распознавания символов. Выделяют два вида таких систем: OCR (Optical Character Recognition) и ICR (Intelligent Character Recognition). Основное назначение — автоматизация процесса ввода в компьютер типографских, машинописных и даже рукописных текстов. Пакеты данного класса содержат разнообразные средства, облегчающие работу пользователя и повышающие вероятность правильного распознавания. Используются, как правило, совместно со сканерами. Например, одной из дополнительных функций, которые учитываются при выборе системы автоматизации делопроизводства, является распознавание текстов отсканированных документов. А перенос информации с бумажного бланка на компьютерный — одна из актуальных задач в области делопроизводства.
К OCR-системам относятся: ABBYY FineReader, CuneiForm, OmniPage Professional. Технология работы таких пакетов заключается в следующем: в процессе анализа на изображении выделяются блоки (текст, таблица, рисунок); блоки подразделяются на более мелкие объекты (строки, слова, символы), которые затем обрабатываются и распознаются; на основе распознанных символов создается аналог исходного документа.
К ICR-системам относятся: ABBYY FormReader, система потокового ввода данных и обработки документов ABBYY FlexiCapture, Kadmos. Основное назначение пакетов этого вида — обработка форм. Формой называется документ, который имеет фиксированную структуру и предназначен для сбора определенной информации (бланки, анкеты, налоговые декларации и т.п.). На изображении выделяются смысловые области специальные объекты, которые затем подвергаются обработке. Система не строит исходный документ, а извлекает информацию из областей и передает на хранение;
§ системы автоматизированного перевода текстов и словари. К ним относятся, например PROMT, Pragma, ПАРС;
§ программы создания электронных публикаций и книг: NeoBook Professional Multimedia, eBook Maestro, BookDesigner. В виде электронных публикаций (книг) оформляют руководства пользователя, справочники, каталоги и литературу информационного, образовательного и рекламного характера. Программы представляют публикацию в разнообразных форматах: .html, .pdf, .exe;
§ программное обеспечение для создания, редактирования и печати текстовых документов и электронных форм. Удобство и эффективность применения ПК для подготовки текстов привело к созданию большого количества программ. В зависимости от того, какие функции они выполняют, их можно подразделить на текстовые редакторы, текстовые процессоры, настольные издательские системы, а также программы для создания и работы с динамическими бизнес-формами.
Основная функциятекстовых редакторов — возможность свободного создания и редактирования текста. Программы данного типа реализуют основной стандарт редактирования, который предусматривает: набор алфавитно-цифровой информации, перемещение по тексту, удаление и вставку символов, удаление и вставку строк. К текстовым редакторам относятся: редакторы, встроенные в системы программирования или системы управления базами данных, MS Editor, Multi-Edit.
Основная функциятекстовых процессоров — оформление и форматирование текста. Текстовые процессоры реализуют следующий набора операций: форматирование символов и абзацев, оформление страниц (номер страницы, сноски, колонтитулы), оформление документа (содержание, указатели), работа с таблицами, проверка правописания, работа с графическими объектами. Признанными лидерами в данном виде являются MS Word, WordPerfect, AmiPro.
Настольные издательские системы — программы, предназначенные для профессиональной издательской деятельности и позволяющие осуществлять электронную верстку широкого спектра основных типов документов. Предусмотренные в пакетах этого вида средства позволяют: использовать всевозможные шрифты и полиграфические изображения, осуществлять редактирование текста на уровне лучших текстовых процессоров, обрабатывать графические изображения, обеспечивать вывод документа высокого качества, работать в сетях на различных платформах. Наилучшими пакетами в данном виде являются: CorelVentura, PageMaker, Adobe FrameMaker, MS Publisher.
Программы для создания и работы с динамическими бизнес-формами кроме создания собственно электронной формы документа оптимизируют процесс сбора и использования сведений в организации. Пакеты данного вида предоставляют возможность создавать, просматривать и редактировать документы, поддерживающие некоторую заданную пользователем схему. Например, MS InfoPath — приложение, используемое для разработки форм ввода данных на основе языка разметки XML (eXtensible Markup Language).
Управление файловой системой – одна из наиболее традиционных функций ОС Файловая система – это часть операционной системы, назначение которой состоит в том, чтобы организовать эффективную работу с данными, хранящимися во внешней памяти, и обеспечить пользователю удобный интерфейс при работе с такими данными. Помимо собственно файлов и структур данных, используемых для управления файлами (каталоги, дескрипторы файлов, различные таблицы распределения внешней памяти), понятие «файловая система» включает и программные средства, реализующие различные операции над файлами.
Управление файловой системой опирается:
· на подсистему управления вводом–выводом;
· использование специальных аппаратных средств;
· специальные информационные структуры.
Файл — это совокупность данных, доступ к которым осуществляется по имени. Файл, таким образом, противопоставляется другим объектам, доступ к которым осуществляется по их адресу в памяти. Понятие файла может быть обращено на любой источник или потребитель информации в машине. Например, в качестве файла для программы могут выступать принтер, дисплей, клавиатура и др. Здесь мы имеем дело со свойством ОС подменять реальную аппаратуру удобными для пользователей и программистов абстракциями.
Совокупность каталогов и системных структур данных, отслеживающих размещение файлов на диске и свободное дисковое пространство, называется файловой системой. Современные ОС часто позволяют размещать на одном физическом диске несколько файловых систем. Обычно разбиение диска на части производится на уровне драйвера диска, поэтому общее название частей — логические диски. Главная задача файловой системы – скрыть особенности ввода–вывода и дать программисту простую абстрактную модель хранения и доступа к данным, независимым от устройств.
Назовем основные функции файловой системы:
· идентификация файлов – связывание имени файла с выделенным ему пространством внешней памяти;
· распределение внешней памяти между файлами. Для работы с конкретным файлом пользователю не требуется иметь информацию о местоположении этого файла на внешнем носителе информации. Например, для того чтобы загрузить документ в редактор с жесткого диска, нам не нужно знать, на какой стороне, какого магнитного диска, на каком цилиндре и в каком секторе находится данный документ;
· обеспечение надежности и отказоустойчивости. Стоимость информации может во много раз превышать стоимость компьютера;
· обеспечение защиты от несанкционированного доступа;
· обеспечение совместного доступа к файлам, так чтобы пользователю не приходилось прилагать специальных усилий по обеспечению синхронизации доступа;
· обеспечение высокой производительности.
Назначение файловых систем определяет состав их программных частей, которые должны иметь следующие компоненты:
· средства взаимодействия с процессами пользователей, обеспечивающие прием и интерпретацию запросов от пользователей на обработку файлов и сообщающие им в удобной форме о результатах этой обработки;
· средства, реализующие методы доступа к внутренним составным элементам файла и файлу в целом. Эти средства осуществляют связь между физическим и логическим уровнями управления данными;
· средства, обеспечивающие распределение внешней памяти для хранения файлов и ее освобождение при уничтожении файлов;
· средства учета расположения файлов в целом и их составных частей.
Операции над файлами. Операционные системы, библиотеки языков программирования и системы разработки программ предоставляют различные наборы операций для работы с файлами. В стандарте POSIX определены следующие файловые операции:
1. open(char * fname, int flags, mode_t mode)
Эта операция открывает файл, устанавливая соединение между программой и файлом. При этом программа получает дескриптор файла — целое число, идентифицирующее данное соединение. Все остальные операции (чтения, записи, позиционирования) используют этот индекс для ссылки на файл. Параметр char * fname задает имя файла, int flags — это битовая маска, определяющая режим открытия файла. Файл может быть открыт только для чтения, только для записи и для чтения и записи; кроме того, можно открывать существующий файл, а можно пытаться создать новый файл нулевой длины. Необязательный третий параметр mode используется только при создании файла и задает его атрибуты.
2. lseek(int handle, off_t offset., int whence)
Эта операция перемещает указатель чтения/записи в файле. Параметр offset задает количество байтов, на которое нужно сместить указатель, а параметр whence — начало отсчета смещения. Предполагается, что смещение можно отсчитывать от начала файла (SEEK_SET), от его конца (SEEK_END) и от текущего положения указателя (SEEK_CUR). Операция возвращает положение указателя, отсчитываемое от начала файла.
3. read(int handle, char * where, size__t howjnuch)
Операция чтения из файла. Указатель where задает буфер, куда нужно поместить прочитанные данные; третий параметр указывает, сколько данных надо считать. Система считывает требуемое число байтов из файла, начиная с указателя чтения/записи в этом файле, и перемещает указатель к концу считанной последовательности. Если файл кончился раньше, считывается столько данных, сколько оставалось до его конца. Операция возвращает количество считанных байтов. Если файл открывался только для записи, вызов read возвратит ошибку.
4. write(int handle, char * what, size__t how_much)
Операция записи в файл. Указатель what задает начало буфера данных, третий параметр указывает, сколько данных надо записать. Система записывает требуемое число байтов в файл, начиная с указателя чтения/записи в этом файле, заменяя хранившиеся в этом месте данные, и перемещает указатель к концу записанного блока. Если файл кончился раньше, его длина увеличивается. Операция возвращает количество записанных байтов. Если файл открывался только для чтения, вызов write возвратит ошибку.
5. close (int handle)
Эта операция закрывает файл, разрывая соединение между программой и файлом.
Набор файловых системных вызовов в ОС MS–DOS фактически был скопирован с вызовов Unix, послуживших основой для стандарта POSIX. В свою очередь и Windows NT/2000/XP унаследовали принципы работы с файлами непосредственно от MS–DOS.
Стандарт POSIX предлагает и другие дополнительные операции для работы с файлами, в частности отображение всего или части файла в виртуальное адресное пространство процесса.
Отображение (проецирование) файла в память. Отображение (проецирование) файла в память (File mapping) – это соединение содержания файла с частью виртуального адресного пространства процесса. Система создает объект «проекция файла» (file mapping object), чтобы обслужить эту ассоциацию. Представление данных файла (file view) – это часть виртуального адресного пространства, которое процесс использует, чтобы получить доступ к содержанию файла. Процессы читают и записывают в представление данных файла, используя указатели точно так же, как при работе с динамически распределенной памятью.
Отображение файла в память обеспечивает несколько преимуществ:
· возможность работы с файлами большего размера;
· при работе с большими файлами память не выделяется, а резервируется, и при обращении к ней происходит подгрузка данных из файла, что обеспечивает более быстрый и более легкий доступ к содержимому;
· файл, отображаемый в память, может совместно использоваться между двумя или несколькими процессами.
Отображение файла в память дает возможность процессу получить доступ к файлу более легко и быстро, используя указатель на представление данных файла. Использование указателя улучшает эффективность, потому что файл постоянно находится на диске, но представление данных файла – в памяти. Отображение файла в память дает возможность процессу использовать и произвольный ввод, и вывод данных, и последовательный ввод–вывод. Когда процесс нуждается в данных от части файла, а не в тех, что находится в текущем представлении данных, он может отменить отображение текущего представления данных файла, а затем создать новое представление данных файла. В том случае, если с отображенным файлом будут работать несколько процессов, одно из приложений создает файл, спроецированный в память, а остальные открывают эту проекцию.
Управление атрибутами файлов. Кроме имени и расширения имени файла, операционная система хранит для каждого файла дату его создания (изменения) и атрибуты файла. Атрибуты – это дополнительные параметры, определяющие свойства файлов. Операционная система позволяет их контролировать и изменять. Состояние атрибутов учитывается при проведении автоматических операций с файлами. Существует четыре основных атрибута: только для чтения (Read Only), скрытый (Hidden), системный (System), архивный (Archive).
Атрибут «только для чтения» ограничивает возможности работы с файлом. Его установка означает, что файл не предназначен для внесения изменений. Атрибут «скрытый» указывает, что данный файл не следует 129
отображать на экране при проведении файловых операций. Это мера защиты против случайного повреждения файла. Атрибут «системный» используется для файлов, связанных с функционированием операционной системы. Его отличительная особенность в том, что средствами операционной системы его изменить нельзя. Как правило, большинство файлов, имеющих установленный атрибут «системный», имеют также установленный атрибут «скрытый». Атрибут «архивный» в прошлом использовался для работы программ резервного копирования. Предполагалось, что любая программа, изменяющая файл, должна автоматически устанавливать этот атрибут, а средство резервного копирования должно его сбрасывать. Таким образом, очередному резервному копированию подлежали только те файлы, у которых этот атрибут был установлен. Современные программы резервного копирования используют другие средства для установления факта изменения файла, и данный атрибут во внимание не принимается, а его изменение вручную средствами операционной системы не имеет практического значения.
Структура файловой системы и хранения данных на внешних носителях определяет удобство работы пользователя, скорость доступа к файлам и т.д. Каталоги – важные элементы иерархической структуры, необходимые для обеспечения удобного доступа к файлам, если файлов на носителе слишком много. Файлы объединяются в каталоги по любому общему признаку, заданному их создателем (по типу, времени создания, имени владельца и др.). Каталоги низких уровней вкладываются в каталоги более высоких и являются для них вложенными. Верхним уровнем вложенности иерархической структуры является корневой каталог диска. В иерархической структуре данных адрес объекта задается маршрутом (путем доступа), ведущим от вершины структуры к объекту. При записи пути доступа к файлу, проходящего через систему вложенных каталогов, все промежуточные каталоги разделяются между собой определенным символом.
Операции над каталогами. Как и в случае с файлами, система обязана обеспечить пользователя набором операций, необходимых для работы с каталогами, реализованных через системные вызовы. Несмотря на то, что каталоги – это файлы, логика работы с ними отличается от логики работы с обычными файлами и определяется природой этих объектов, предназначенных для поддержки структуры файлового архива. Операции над каталогами являются прерогативой ОС, то есть пользователь не может, например, выполнить запись в каталог, начиная с текущей позиции. Совокупность системных вызовов для управления каталогами зависит от особенностей конкретной ОС.
Навигация по файловой системе. Удобство навигации, то есть перехода от файла к файлу или от папки к папке, часто воспринимают как удобство работы с операционной системой. В операционных системах, имеющих терминальный интерфейс, навигация осуществляется путем ввода команд перехода с диска на диск или из каталога в каталог. Из–за неудобства такой навигации широкое применение нашли специальные программы, называемые файловыми оболочками.
Для удобства работы пользователю с данными операционная система подменяет физическую структуру хранящихся данных некоторой логической моделью, которая материализуется в виде дерева каталогов, отображаемого на мониторе специальными утилитами типа Windows Explorer или Norton Commander. Базовым элементом этой модели является файл.
Следует напомнить, чтофайл – это именованный набор байт, расположенный в области внешней памяти, в которую можно записывать и из которой можно считывать данные.
Для управления данными на диске создаются файловые системы, которые определяют способ организации данных на диске или на каком-нибудь ином носителе.
Специальное системное программное обеспечение, реализующее работу с файлами по принятым спецификациям файловой системы, часто называют системой управления файлами. Именно система управления файлами в ОС отвечает за создание, уничтожение, организацию, чтение, запись, модификацию и перемещение файловой информации, а также за управление доступом к файлам. Система управления файлами не существует сама по себе – она разрабатывается для работы с конкретной операционной системой.
Таким образом, термин файловая система определяет, прежде всего, принципы доступа к данным, организованным в файлы.
Этот же термин используют и по отношению к конкретным файлам, расположенным на том или ином носителе данных.
Термин система управления файлами следует употреблять по отношению к конкретной реализации файловой системы, то есть – это комплекс программных модулей, обеспечивающих работу с файлами в конкретной операционной системе.
Файловые системы поддерживают несколько функционально различных типов файлов: обычные файлы, файлы-каталоги, специальные файлы и другие.
Обычные файлы или просто файлы, содержат данные произвольного характера, которые заносит в них пользователь или которые образуются в результате работы системных и пользовательских программ.
Файлы-каталоги, в дальнейшем просто каталоги, содержат информацию о данных, организованных в виде файлов. Другими словами, в каталоге должны содержаться дескрипторы файлов.
Специальные файлы – это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам (применяются в операционных системах UNIX).
Операционная система при работе с диском использует собственную единицу дискового пространства, называемую кластером (cluster).
Логическое объединение дисковых секторов в кластеры происходит при создании файловой системы с целью уменьшения возможной фрагментации файлов и ускорения доступа к ним.
Разметку диска под конкретный тип файловой системы выполняют процедуры высокоуровневого, или логического, форматирования. При высокоуровневом форматировании определяется размер кластера и на диск записывается информация, необходимая для работы файловой системы, в том числе:
· информация о доступном и неиспользуемом пространстве;
· о границах областей, отведенных под файлы и каталоги;
· информация о поврежденных областях.
Кроме того, на диск записывается загрузчик ОС – небольшая программа, которая начинает процесс инициализации операционной системы после включения питания или рестарта компьютера.
На каждом разделе диска и логическом диске может создаваться только одна файловая система. При этом на разных логических дисках одного физического диска могут располагаться файловые системы разного типа.
Все разделы одного физического диска после низкоуровневого форматирования имеют одинаковый размер блока, записываемого в один сегмент, и, как правило, равного 512 байт. Однако в результате высокоуровневого форматирования в разных разделах одного и того же диска могут быть установлены файловые системы, в которых кластеры имеют разные размеры.
Современные файловые системы
В настоящее время существует большое количество файловых систем, но наибольшее распространение в персональных компьютерах получили FAT и NTFS благодаря их применению в семействе операционных систем Windows.
Файловая система FAT
Структура логического раздела (логического диска), отформатированного под файловую систему FAT (File Allocation Table – таблица размещения файлов), представлена на рис. 2.9.
Рис. 2.9. Структура файловой системы FAT на логическом диске
Структура логического диска состоит из следующих областей:
· загрузочный сектор содержит программу начальной загрузки ОС; вид этой программы зависит от типа ОС, которая будет загружаться с этого раздела;
· основная копия FATсодержит информацию о размещении файлов и каталогов по кластерам на диске в области данных;
· резервная копия FAT;
· корневой каталог занимает фиксированную область размером в 32 сектора (16 Кбайт), что позволяет хранить 512 записей о файлах и каталогах, так как каждая запись каталога состоит из 32 байт;
· область данныхизмеряется в кластерах ипредназначена для размещения всех файлов и всех каталогов, кроме корневого каталога.
В таблице FAT количество индексных указателей соответствует количеству кластеров в области данных, а номер индексного указателя равен номеру соответствующего кластера.
Индексный указатель имеет ограниченный размер (в частности: 12 бит в FAT12, 16 бит в FAT16 и 32 бит в FAT32) и может принимать значения, представленные для FAT16 в табл. 2.2.
Читайте также: