Определение файловой системы. Файловая система компьютера. Стандарты, открытые для всех

Одной из компонент ОС является файловая система – основное хранилище системной и пользовательской информации. Все современные ОС работают с одной или несколькими файловыми системами, например, 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б представлена логическая структура жесткого диска, в котором всего два раздела и четыре логических диска.

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

Файловые системы: определение

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

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

Принципы работы файловых систем

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

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

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

Файловые системы работают не без ошибок. Возможны некоторые сбои в организации работы с блоками данных. Но они в большинстве случаев не критичны. Как правило, нет проблем с тем, как исправить файловую систему, устранить ошибки. В ОС Windows для этого, в частности, предусмотрены встроенные программные решения, доступные для любого пользователя. Такие как, например, программа "Проверка диска".

Разновидности

Какие виды файловых систем можно назвать самыми распространенными? Вероятно, в первую очередь те, что используются самой популярной ОС для ПК в мире - Windows. Основные файловые системы Windows - это FAT, FAT32, NTFS и их различные модификации. Наряду с компьютерами популярность обрели смартфоны и планшеты. Большинство из них, если говорить о глобальном рынке и не рассматривать различия в технологических платформах, управляется ОС Android и iOS. Эти ОС задействуют свои алгоритмы работы с данными, отличные от тех, которыми характеризуются файловые системы Windows.

Стандарты, открытые для всех

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

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

Несмотря на то что виды файловых систем представлены в достаточно большом количестве, работают они в целом по очень схожим принципам (общую схему мы изложили выше) и в рамках сходных структурных элементов или объектов. Рассмотрим их. Каковы основные объекты файловой системы?

Один из ключевых - Он являет собой изолированную область данных, в которой могут размещаться файлы. Структура каталогов - иерархическая. Что это значит? Один или несколько каталогов могут размещаться в другом. Который, в свою очередь, входит в состав "вышестоящего". Самым "главным" считается корневой каталог. Если говорить о принципах, на базе которых работает файловая система Windows - 7, 8, XP или же другой версии, - корневым каталогом считается логический диск, обозначаемый буквой - как правило, C, D, E (но можно настроить любую, что есть в английском алфавите). Что касается, к примеру, ОС Linux, то там корневым каталогом выступает магнитный носитель в целом. В этой и других ОС, основанных на ее принципах - к таковым относится Android - логические диски не используются. Можно ли хранить файлы без каталогов? Да. Но это не очень удобно. Собственно, комфорт в пользовании ПК - одна из причин внедрения в файловых системах принципа распределения данных по каталогам. Называться, кстати, они могут по-разному. В Windows каталоги именуются папками, в Linux - в основном так же. Но традиционное, используемое в течение многих лет название каталогов в этой ОС - "директории". Как и в предшествующих Windows и Linux ОС - DOS, Unix.

В среде IT-специалистов нет однозначного мнения касательно того, считать ли файл структурным элементом соответствующей системы. Те, кто полагает, что это не совсем корректно, аргументируют свою точку зрения тем, что система вполне может существовать и без файлов. Пусть это с практической точки зрения и бесполезное явление. Даже если на диске никаких файлов не записано, соответствующая система все равно может присутствовать. Как правило, магнитные носители, продаваемые в магазинах, не содержат каких-либо файлов. Но на них уже присутствует соответствующая система. Согласно другой точке зрения, файлы нужно считать неотъемлемой составляющей систем, которыми они управляются. Почему? А потому, что, как считают эксперты, алгоритмы их задействования адаптированы прежде всего под работу именно с файлами в рамках тех или иных стандартов. Ни для чего другого рассматриваемые системы не предназначены.

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

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

Имена файлов и каталогов в разных системах

Если условиться, что файлы - это все же составные элементы соответствующих им систем, то стоит рассмотреть их базовую структуру. Что можно отметить в первую очередь? Для удобства организации доступа к ним в большинстве современных систем управления данными предусмотрена двухуровневая структура именования файлов. Первый уровень - это название. Второй - расширение. Возьмем для примера музыкальный файл Dance.mp3. Dance - это название. Mp3 - расширение. Первое призвано раскрывать для пользователя суть содержания файла (а для программы быть ориентиром для быстрого доступа). Второе обозначает тип файла. Если он Mp3, то нетрудно догадаться, что речь идет о музыке. Файлы с расширением Doc - это, как правило, документы, Jpg - картинки, Html - веб-страницы.

Каталоги, в свою очередь, имеют одноуровневую структуру. У них есть только название, расширения нет. Если говорить о различиях между разными видами систем управления данными, то первое, на что следует обратить внимание - это как раз-таки реализуемые в них принципы именования файлов и каталогов. Касательно ОС Windows специфика следующая. В самой популярной в мире операционной системе файлы могут иметь название на любом языке. Максимальная длина, правда, при этом ограничена. Конкретный ее интервал зависит от используемой системы управления данными. Обычно это значения в пределах 200-260 символов.

Общее правило для всех ОС и соответствующих им систем управления данными - в одном каталоге не могут находиться файлы с одинаковыми наименованиями. В Linux при этом присутствует некая "либерализация" этого правила. В одном каталоге могут быть файлы с одинаковыми буквами, но в разном регистре. Например, Dance.mp3 и DANCE.mp3. В ОС Windows это невозможно. Эти же правила установлены также и в аспекте размещения каталогов внутри других.

Адресация файлов и каталогов

Адресация файлов и каталогов - важнейший элемент соответствующей системы. В ОС Windows ее пользовательский формат может выглядеть так: C:/Documents/Music/ - это доступ к каталогу Music. Если нас интересует какой-то конкретный файл, то адрес может выглядеть так: C:/Documents/Music/Dance.mp3. Почему "пользовательский"? Дело в том, что на уровне программно-аппаратного взаимодействия компонентов компьютера структура доступа к файлам гораздо более сложная. Файловая система определяет местоположение файловых блоков и взаимодействует с ОС по большей части в рамках скрытых от пользователя операций. Однако у пользователя ПК крайне редко возникает необходимость пользоваться иными форматами "адресов". Практически всегда доступ к файлам осуществляется в указанном стандарте.

Сравнение файловых систем для Windows

Мы изучили общие принципы функционирования файловых систем. Рассмотрим теперь особенности самых распространенных их видов. В Windows чаще всего используются такие файловые системы, как FAT, FAT32, NTFS, а также exFAT. Первая в этом ряду считается устаревшей. Она, вместе с тем, долгое время была неким флагманом индустрии, но по мере роста технологичности ПК ее возможности перестали удовлетворять запросам пользователей и потребностям в ресурсах со стороны программного обеспечения.

Призванная заменить FAT файловая система - это FAT32. Как считают многие IT-эксперты, сейчас она самая популярная, если говорить о рынке ПК под управлением Windows. Она чаще всего используется при хранении файлов на жестких дисках и флешках. Также можно отметить, что эта система управления данными достаточно регулярно используется в модулях памяти различных цифровых устройств - телефонах, фотоаппаратах. Основное преимущество FAT32, которое выделяют IT-эксперты, таким образом, Несмотря на то что создана была данная файловая система компанией Microsoft, работать с данными в рамках заложенных в ней алгоритмов могут большинство современных ОС, включая те, что инсталлированы на указанные типы цифровой техники.

Есть у системы FAT32 и ряд недостатков. Прежде всего можно отметить ограничение на размер одного взятого файла - он не может быть больше 4 Гб. Также в системе FAT32 нельзя встроенными средствами Windows задать логический диск, размер которого был бы больше 32 Гб. Но это можно сделать, установив дополнительное специализированное ПО.

Другая популярная система управления файлами, что разработана Microsoft - это NTFS. Как считают некоторые IT-эксперты, по большинству параметров она превосходит FAT32. Но этот тезис справедлив, если речь идет о работе компьютера под управлением Windows. Система NTFS не настолько универсальна, как FAT32. Особенности ее функционирования делают использование данной файловой системы не всегда комфортным, в частности, в мобильных устройствах. Одно из ключевых преимуществ NFTS - надежность. Например, в тех случаях, когда у жесткого диска внезапно отключается питание, вероятность того, что файлы повредятся, сводится к минимуму, благодаря предусмотренным в NTFS алгоритмам дублирования доступа к данным.

Одна из новейших файловых систем от Microsoft - exFAT. Наилучшим образом она адаптирована для флешек. Базовые принципы работы в ней те же, что и в FAT32, но присутствует также и значимая модернизация в некоторых аспектах: например, нет никаких ограничений по размеру единичного файла. Вместе с тем система exFAT, как отмечают многие IT-эксперты, в числе тех, что обладают низкой универсальностью. На компьютерах под управлением ОС, отличных от Windows, работа с файлами при использовании exFAT может быть затруднена. Более того, даже в некоторых версиях самой Windows, таких как XP, данные на дисках, отформатированных по алгоритмам exFAT, могут не читаться. Потребуется установка дополнительного драйвера.

Отметим, что по причине задействования достаточно широкого спектра файловых систем в ОС Windows у пользователя могут возникать периодические сложности в аспекте совместимости различных устройств с компьютером. В ряде случаев, например, требуется установить драйвер файловой системы WPD (Windows Portable Devices - технологии, используемой при работе с переносными устройствами). Иногда его может не оказаться под рукой у пользователя, вследствие чего внешний носитель ОС может не распознать. Файловая система WPD может потребовать дополнительных программных средств адаптации к операционной среде на конкретном компьютере. В ряде случаев пользователь будет вынужден обращаться к IT-специалистам для решения проблемы.

Как определить, какая именно файловая система - exFAT или NTFS, а может быть, FAT32 - оптимальна для использования в конкретных случаях? Рекомендации IT-специалистов в целом следующие. Можно задействовать два основных подхода. Согласно первому следует разграничивать типичные файловые системы жестких дисков, а также те, что лучше адаптированы к флеш-накопителям. FAT и FAT32, как считают многие специалисты, лучше подходят для "флешек", NTFS - для винчестеров (в силу технологических особенностей работы с данными).

В рамках второго подхода значение имеет величина носителя. Если речь идет об использовании сравнительно небольшого объема диска или флешки, отформатировать их можно в системе FAT32. Если диск большего размера, то можно попробовать exFAT. Но только в том случае, если не предполагается использование носителей на других компьютерах, особенно тех, где стоят не самые свежие версии Windows. Если речь идет о больших жестких дисках, в том числе и внешних, то их целесообразно форматировать в NTFS. Примерно таковы критерии, по которым может быть выбрана оптимальная файловая система - exFAT или NTFS, FAT32. То есть использовать какую-либо из них следует, учитывая размер носителя, его тип, а также версию ОС, на котором накопитель преимущественно используется.

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

Другая популярная программно-аппаратная платформа на мировом рынке компьютерной техники - Macintosh от Apple. ПК данной линейки работают под управлением операционной системы Mac OS. Каковы особенности организации работы с файлами в компьютерах Mac? В самых современных ПК от Apple используется файловая система Mac OS Extended. Ранее в компьютерах Mac работа с данными управлялась в соответствии со стандартами HFS.

Главное, что можно отметить в аспекте ее характеристик: на диске, которым управляет файловая система Mac OS Extended, могут размещаться файлы очень большого объема - речь может идти о нескольких миллионах терабайт.

Файловая система в Android-устройствах

Самая популярная ОС для мобильных устройств - виде электронной техники, не уступающей по популярности ПК, - это Android. Каким образом осуществляется управление файлами на девайсах соответствующего типа? Отметим прежде всего, что данная операционная система - фактически "мобильная" адаптация ОС Linux, которая, благодаря открытому программному коду, может быть модифицирована с перспективой использования на самом широком спектре устройств. Поэтому управление файлами в мобильных девайсах под управлением Android осуществляется в целом по тем же принципам, что и в Linux. Некоторые из них мы отметили выше. В частности, управление файлами в Linux осуществляется без деления носителя на логические диски, как это происходит в Windows. Что еще интересного заключает в себе файловая система Android?

Корневым каталогом в Android, как правило, выступает область данных, именуемая /mnt. Соответственно, адрес нужного файла может выглядеть примерно так: /mnt/sd/photo.jpg. Кроме того, есть еще одна особенность системы управления данными, что реализована в данной мобильной ОС. Дело в том, что флеш-память девайса, как правило, классифицирована на несколько разделов, таких как, например, System или Data. При этом, изначально заданный размер каждого из них изменить нельзя. Приблизительную аналогию касательно данного технологического аспекта можно обнаружить, вспомнив, что нельзя (если не использовать специального ПО) менять размер логических дисков в Windows. Он должен быть фиксированным.

Еще одна интересная особенность организации работы с файлами в Android - соответствующая операционная система, как правило, записывает новые данные в конкретную область диска - Data. Работа, к примеру, с разделом System при этом не осуществляется. Поэтому, когда пользователь задействует функцию сброса программных настроек смартфона или планшета до уровня "заводских", то на практике это означает, что те файлы, что записаны в область Data, попросту стираются. Раздел System же, как правило, остается неизменным. Более того, какие-либо корректировки содержимого в System пользователь, не обладая специализированным ПО, осуществлять не может. Процедура, связанная с обновлением системной области носителя в Android-устройстве, называется перепрошивкой. Это не форматирование, хотя обе операции часто осуществляются одновременно. Как правило, перепрошивка применяется с целью установки на мобильное устройство более новой версии ОС Android.

Таким образом, ключевые принципы, на базе которых работает файловая система Android - отсутствие логических дисков, а также жесткое разграничение доступа к системным и пользовательским данным. Нельзя сказать, что данный подход принципиально отличается от того, что реализован в Windows, однако, как считают многие IT-эксперты, в ОС от Microsoft для пользователей присутствует несколько большая свобода в работе с файлами. Впрочем, как полагают некоторые специалисты, это нельзя считать однозначным преимуществом Windows. "Либеральный" режим в аспекте управления файлами задействуют, конечно же, не только пользователи, но и компьютерные вирусы, к которым Windows очень восприимчива (в отличие от Linux и ее "мобильной" реализации в виде Android). В этом, как считают эксперты, заключается одна из причин того, что вирусов для Android-устройств столь немного - чисто с технологической точки зрения они не могут в полной мере функционировать в операционной среде, работающей по принципам строгого контроля доступа к файлам.

Рано или поздно начинающий пользователь компьютера сталкивается с таким понятием, как файловая система (ФС). Как правило, впервые знакомство с данным термином происходит при форматировании носителя информации: логические диски и подключаемые носители (флешки, карты памяти, внешний жесткий диск).

Перед форматированием операционная система Windows предлагает выбрать вид файловой системы на носителе, размер кластера, способ форматирования (быстрое или полное). Давайте разберемся, что же такое файловая система и для чего она нужна?

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

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

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

Основные функции файловой системы

Основными функциями файловой системы являются:

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

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

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

Виды файловых систем

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

  1. FAT32
  2. ISO9660

Последние две системы предназначены для работы с компакт дисками. Файловые системы Ext3 и Ext4 работают с операционными системами на основе Linux. NFS Plus – это ФС для операционных систем OS X, используемых в компьютерах фирмы Apple.

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

Сейчас FAT32 активно вытесняется более продвинутой системой NTFS по причине ее большей надежности к сохранности и защите данных. К тому же последние версии ОС Windows просто не дадут себя установить, если раздел жесткого диска будет отформатирован в FAT32. Программа установки потребует отформатировать раздел в NTFS.

Файловая система NTFS поддерживает работу с дисками объемом в сотни терабайт и размером одного файла до 16 терабайт.

Файловая система FAT32 поддерживает диски до 8 терабайт и размер одного файла до 4Гб. Чаще всего данную ФС используют на флешках и картах памяти. Именно в FAT32 форматируют внешние накопители на заводе.

Однако ограничение на размер файла в 4Гб на сегодня уже является большим минусом, т.к. в связи с распространением высококачественного видео, размер файла с фильмом будет превышать это ограничение и его будет невозможно записать на носитель.

Поделиться.

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

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

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

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

Программа, управляющая конкретной моделью внешнего устройства и учитывающая все его особенности, обычно называется драйвером этого устройства (от английского drive - управлять, вести). Драйвер может управлять единственной моделью устройства, например модемом U-1496E компании ZyXEL, или же группой устройств определенного типа, например любыми Hayes-совместимыми модемами. Для пользователя очень важно, чтобы операционная система включала как можно больше разнообразных драйверов, так как это гарантирует возможность подключения к компьютеру большого числа внешних устройств различных производителей. От наличия подходящих драйверов во многом зависит успех операционной системы на рынке (например, отсутствие многих необходимых драйверов внешних устройств было одной из причин низкой популярности OS/2).



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

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

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

Задачи ОС по управлению файлами и устройствами

Подсистема ввода-вывода (Input-Output Subsystem) мультипрограммной ОС при обмене данными с внешними устройствами компьютера должна решать ряд общих задач, из которых наиболее важными являются следующие:

Организация параллельной работы устройств ввода-вывода и процессора;

Согласование скоростей обмена и кэширование данных;

Разделение устройств и данных между процессами;

Обеспечение удобного логического интерфейса между устройствами и остальной частью системы;

Поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера;

Поддержка нескольких файловых систем;

Поддержка синхронных и асинхронных операций ввода-вывода.

Одной из основных задач операционной системы является предоставление удобств пользователю при работе с данными, хранящимися на дисках. Для этого ОС подменяет физическую структуру хранящихся данных некоторой удобной для пользователя логической моделью. Логическая модель файловой системы материализуется в виде дерева каталогов , выводимого на экран такими утилитами, как Norton Commander или Windows Explorer, в символьных составных именах файлов, в командах работы с файлами. Базовым элементом этой модели является файл , который так же, как и файловая система в целом, может характеризоваться как логической, так и физической структурой.

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

Основные цели использования файла:

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

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

Файловая система (ФС) - это часть операционной системы, включающая:

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

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

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

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

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

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

Именование файлов;

Программный интерфейс для приложений;

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

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

Задачи ФС усложняются в операционных однопользовательских мультипрограммных ОС, которые, хотя и предназначены для работы одного пользователя, но дают ему возможность запускать одновременно несколько процессов. Одной из первых ОС этого типа стала OS/2. К перечисленным выше задачам добавляется новая задача совместного доступа к файлу из нескольких процессов. Файл в этом случае является разделяемым ресурсом, а значит, файловая система должна решать весь комплекс проблем, связанных с такими ресурсами. В частности, в ФС должны быть предусмотрены средства блокировки файла и его частей, предотвращения гонок, исключение тупиков, согласование копий и т. п.

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

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

Обычные файлы , или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает. Например, текстовый редактор создает текстовые файлы, состоящие из строк символов, представленных в каком-либо коде. Это могут быть документы, исходные тексты программ и т. п. Текстовые файлы можно прочитать на экране и распечатать на принтере. Двоичные файлы не используют коды символов, они часто имеют сложную внутреннюю структуру, например исполняемый код программы или архивный файл. Все операционные системы должны уметь распознавать хотя бы один тип файлов - их собственные исполняемые файлы.

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

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

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

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

Рисунок 2.16. Иерархия файловых систем (а – одноуровневая структура, б – древовидная структура, в – сетевая структура)

Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог (рисунок 2.16, б), и сеть - если файл может входить сразу в несколько каталогов (рисунок 2.16, в). Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX - сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом , или корнем (root).

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

Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рисунок 2.16, а).

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

Простое, или короткое, символьное имя идентифицирует файл в пределах одного каталога. Простые имена присваивают файлам пользователи и программисты, при этом они должны учитывать ограничения ОС как на номенклатуру символов, так и на длину имени. До сравнительно недавнего времени эти границы были весьма узкими. Так, в популярной файловой системе FAT длина имен ограничивались схемой 8.3 (8 символов - собственно имя, 3 символа - расширение имени), а в файловой системе s5, поддерживаемой многими версиями ОС UNIX, простое символьное имя не могло содержать более 14 символов. Однако пользователю гораздо удобнее работать с длинными именами, поскольку они позволяют дать файлам легко запоминающиеся названия, ясно говорящие о том, что содержится в этом файле. Поэтому современные файловые системы, а также усовершенствованные варианты уже существовавших файловых систем, как правило, поддерживают длинные простые символьные имена файлов. Например, в файловых сиетемах NTFS и FAT32, входящих в состав операционной системы Windows NT, имя файла может содержать до 255 символов.

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

Полное имя представляет собой цепочку простых символьных имен всех каталогов, через которые проходит путь от корня до данного файла. Таким образом, полное имя является составным, в котором простые имена отделены друг от друга принятым в ОС разделителем. Часто в качестве разделителя используется прямой или обратный слеш, при этом принято не указывать имя корневого каталога. На рисунке 2.16, б два файла имеют простое имя main.exe, однако их составные имена /depart/main.ехе и /user/anna/main.exe различаются.

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

Файл может быть идентифицирован также относительным именем. Относительное имя файла определяется через понятие «текущий каталог». Для каждого пользователя в каждый момент времени один из каталогов файловой системы является текущим, причем этот каталог выбирается самим пользователем по команде ОС. Файловая система фиксирует имя текущего каталога, чтобы затем использовать его как дополнение к относительным именам для образования полного имени файла. При использовании относительных имен пользователь идентифицирует файл цепочкой имен каталогов, через которые проходит маршрут от текущего каталога до данного файла. Например, если текущим каталогом является каталог /user, то относительное имя файла /user/anna/main.exe выглядит следующим образом: anna/ main.exe.

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

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

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

Тип файла (обычный файл, каталог, специальный файл и т. п.);

Владелец файла;

Создатель файла;

Пароль для доступа к файлу;

Информация о разрешенных операциях доступа к файлу;

Времена создания, последнего доступа и последнего изменения;

Текущий размер файла;

Максимальный размер файла;

Признак «только для чтения»;

Признак «скрытый файл»;

Признак «системный файл»;

Признак «архивный файл»;

Признак «двоичный/символьный»;

Признак «временный» (удалить после завершения процесса);

Признак блокировки;

Длина записи в файле;

Указатель на ключевое поле в записи;

Длина ключа.

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

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

Значения атрибутов файлов могут непосредственно содержаться в каталогах, как это сделано в файловой системе MS-DOS (рисунок 2.17, а). На рисунке представлена структура записи в каталоге, содержащая простое символьное имя и атрибуты файла. Здесь буквами обозначены признаки файла: R - только для чтения, А - архивный, Н - скрытый, S - системный.

Рисунок 2.17. Структура каталогов: а - структура записи каталога MS-DOS (32 байта), б - структура записи каталога ОС UNIX

Другим вариантом является размещение атрибутов в специальных таблицах, когда в каталогах содержатся только ссылки на эти таблицы. Такой подход реализован, например, в файловой системе ufs ОС UNIX. В этой файловой системе структура каталога очень простая. Запись о каждом файле содержит короткое символьное имя файла и указатель на индексный дескриптор файла, так называется в ufs таблица, в которой сосредоточены значения атрибутов файла (рисунок 2.17, б).

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

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

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

На каждой стороне каждой пластины размечены тонкие концентрические кольца - дорожки (traks), на которых хранятся данные. Количество дорожек зависит от типа диска. Нумерация дорожек начинается с 0 от внешнего края к центру диска. Когда диск вращается, элемент, называемый головкой, считывает двоичные данные с магнитной дорожки или записывает их на магнитную дорожку.

Рисунок 2.18. Схема устройства жесткого диска

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

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

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

Рисунок 2.19. Считывание избыточных данных при обмене с диском

Операционная система при работе с диском использует, как правило, собственную единицу дискового пространства, называемую кластером (cluster). При создании файла место на диске ему выделяется кластерами. Например, если файл имеет размер 2560 байт, а размер кластера в файловой системе определен в 1024 байта, то файлу будет выделено на диске 3 кластера.

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

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

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

Прежде чем форматировать диск под определенную файловую систему, он может быть разбит на разделы. Раздел - это непрерывная часть физического диска, которую операционная система представляет пользователю как логическое устройство (используются также названия логический диск и логический раздел). Логическое устройство функционирует так, как если бы это был отдельный физический диск. Именно с логическими устройствами работает пользователь, обращаясь к ним по символьным именам, используя, например, обозначения А, В, С, SYS и т. п. Операционные системы разного типа используют единое для всех них представление о разделах, но создают на его основе логические устройства, специфические для каждого типа ОС. Так же как файловая система, с которой работает одна ОС, в общем случае не может интерпретироваться ОС другого типа, логические устройства не могут быть использованы операционными системами разного типа. На каждом логическом устройстве может создаваться только одна файловая система .

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

Файловая система включает в себя пра­вила образования имен файлов и способов обращения к ним, систему оглавления файлов и структуру хранения файлов на дисках.

Файл имеет имя и атрибуты (архивный, "только для чтения", скрытый, системный), характеризуется размером в байтах, датой и временем создания или последне­го изменения.

Имя файла состоит из двух частей: собственно имени и расшире­ния (типа). Тип может отсут­ствовать. Имя отделяется от типа символом точки. В ОС Windows файлам можно присваивать имена длиной до 255 символов. Тип указывает вид и назначение файла, некоторые из них являются стандартными, например:

· .СОМ и.ЕХЕ - исполняемые файлы;

· .ВАТ - командный пакетный файл;

· .ТХТ - текстовый файл произвольного типа;

· .MDB - файл базы данных Access;

· .XLS - электронная таблица Excel;

· .DOC - текстовый файл редактора Microsoft Word;

· .ZIP - упакованный файл архиваторов Winzip/PkZip.

Применение стандартных расширений позволяет не указывать их при выполнении системных программ и пакетов прикладных программ, при этом используется принцип умолчания.

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

На каждом физическом или логическом диске существует корневой (головной) каталог, который нельзя создать, удалить или переименовать средствами пользователя. Он обозначается символом ‘\’ (в некоторых операционных системах можно использовать также ‘/’). В головном каталоге могут быть зарегистрированы другие каталоги и файлы. Вложенные каталоги могут, в свою очередь, включать каталоги более низкого уровня. Такая структура называется иерархической системой или деревом каталогов, в котором главный каталог образует корень дерева, а остальные каталоги подобны ветвям.

Объеди­нение файлов в каталоги не означает, что они каким-либо образом сгруппированы в одном месте на диске. Более того, один и тот же файл может быть «разбросан» (фрагментирован) по всему диску. Файлы с совпадающими именами могут находиться в нескольких катало­гах диска, но несколько одноименных файлов в одном каталоге находиться не могут.

Для того чтобы ОС могла обратиться к файлу, необходимо ука­зать:

· путь по дереву каталогов;

· полное имя файла.

Эта информация указывается в спецификации файла, которая имеет следующий формат:

[диск:][путь]имя файла[.тип]

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

Если диск не указан, то используется текущий диск. Текущий диск - это диск, с которым в настоящий момент работает опера­ционная система.

Путь -последовательность папок, которые необходимо пройти к искомому файлу. Имена в пути записываются в по­рядке уменьшения их старшинства и разделяются символом «\». Ката­лог, в который входит текущий каталог, называется родительским.

Довольно часто возникает необходимость обработать одной командой сразу несколько файлов. Например, удалить все файлы резервных копий, имеющие расширение BAK, или переписать несколько файлов-документов с именами doc1.txt, doc2.txt и т. д. В этих случаях используют специальные символы-маски , позволяющие описать одним именем группу файлов. Масок всего две:

· символ * в имени или расширении файла заменяет любое допустимое количество любых символов;

· символ? в имени или расширении файла заменяет любой символ или отсутствие символа.

Нашим примерам будут соответствовать маски *.bak (все файлы с расширением bak) и doc?.txt (все файлы с расширением txt и именем из 4 символов, начинающимся с doc).

Вопросы по теме, выносимые на зачет:

1. Определение ОС. Основные концепции ОС Windows (многозадачность, графический интерфейс пользователя, внедрение и связывание данных).

2. Графический интерфейс пользователя, его основные компоненты (окна, средства диалога, стандартное управление окнами и средствами диалога).

3. Работа с клавиатурой и «мышью» в Windows. Стандартные комбинации клавиш и операции с «мышью».

4. Работа с файлами и папками в Windows - основные операции и возможности. Программы «Мой компьютер» и «Проводник».

5. Поиск информации в Windows.

6. Создание ярлыков приложений и документов.

7. Панель управления и ее основные компоненты.

8. Обработка сбоев в Windows.

9. Настройка DOS-приложений под Windows.



Понравилась статья? Поделиться с друзьями: