Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

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

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

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

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

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

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

Наиболее развитый механизм несмежного распределения блоков файлов ре­ализован в ОС UNIX, в которой размеры файлов могут динамически изменяться в пределах 1 Гбайта. Каждый файл в системе имеет дескриптор, в составе которого хранится список, содержащий 13 номеров блоков на диске и используемый для адресации к тем блокам, которые входят в состав файла. Первые десять элементов списка непосредственно указывают на десять блоков, в которых размещаются дан­ные файла. В одиннадцатом элементе списка указан номер блока, хранящий спи­сок из 128 номеров блоков данных, которые принадлежат файлу (это первый уро­вень косвенной адресации). Двенадцатый элемент ссылается на блок, который со­держит список из 128 номеров блоков первого уровня косвенной адресации (это второй уровень косвенной адресации). С помощью тринадцатого элемента указыва­ется ссылка на блок, содержащий список из 128 номеров блоков второго уровня косвенной адресации.

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

Файл обладает уникальным идентификатором (именем), обеспечивающим до­ступ к файлу. Идентификатор включает в себя собственно имя – буквенно-цифровое обозначение файла, которое может содержать специальные символы (подчеркивание, дефис, восклицательный знак и т.д.), и расширение имени файла (обычно отделяемое от имени файла точкой). Если имена создаваемых файлов пользователь может задавать произвольно, то в использовании расширений следует придержи­ваться традиции, согласно которой расширение указывает на тип файла, характер его содержимого. Например, в ОС MS DOS файлы с расширениями:.com,.ехе,.bat – исполняемые;.bat,.txt,.doc – текстовые;.pas,.bas,.с,.for – тексты программ на известных языках программирования: Паскаль, Бейсик, Си, Форт­ран, соответственно;.dbf – файл базы данных.

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

В различных ОС существуют определенные ограничения на длину имени и рас­ширения имени файла. Так, в MS DOS длина имени файла не должна превышать восьми символов, а расширение – трех. В ОС UNIX ограничения значительно ме­нее жесткие.

Имена директорий, начиная от корневого, образующие путь к файлу, отделя­емые при записи друг от друга косой чертой (\ в DOS, / в UNIX), так же как и обозначение диска, относятся к идентификатору файла. Например, в MS DOS

d:\lang\pascal\work\example.pas

есть файл с именем example и расширением pas, указывающим на то, что это текст программы на Паскале, полный путь к которому: d: – диск D; \lang\pascal\work – это структура вложенных директорий, в самом внутреннем из которых находится необходимый файл example.pas.

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

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

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

Ø владельца (самого себя);

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

Ø всех остальных пользователей системы.

Каждый файл (каталог) имеет три вида разрешения на доступ:

чтение (г – read) – можно просматривать содержимое файла (каталога);

запись (w – write) – можно менять содержимое файла (создавать или удалять файлы в каталоге);

выполнение (х – execute) – можно использовать файл как команду UNIX.

 

<== предыдущая лекция | следующая лекция ==>
Операционные системы | Операционная система MS DOS для IBM-совместимых персональных компьютеров
Поделиться с друзьями:


Дата добавления: 2014-01-07; Просмотров: 371; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.018 сек.