Просмотреть иерархическую структуру диска с. Программирование и комп-ры: Файловая структура диска. Поиск и устранение ошибок на диске

6.1 Теоретические сведения

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

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

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

6.2 Цель работы

Знакомство с программой Проводник ОС Windows и приобретение навыков работы по созданию структуры папок и файлов на флоппи-диске.

6.3 Постановка задачи

Для приобретения навыков работы выполните следующие действия:

  1. В окне Проводник на flash E: создайте структуру каталогов, представленную на Рис. 6.1 (скриншоты выполнены в командной строке и в Проводнике).
  2. Найдите файлы, размещенные на жестком диске С: с расширениями .doc, .txt, .bmp , и скопируйте их на flash E: в каталоги INTERNET , FIDONET и EUNET соответственно.
  3. В окне Проводник переименуйте один из файлов каталога INTERNET в Net.doc .
  4. В окне Проводник переместите файл Net.doc в папку MAN .
  5. В окне Проводник скопируйте файл Net.doc в папку FAST и FDDI .
  6. В окне Проводник удалите каталоги MAN и PDN.


Рис.6.1.

6.4 Пошаговое выполнение работы

6.4.1 Включите ПК

Нажмите кнопку Power на системном блоке ПК.

6.4.2 Ознакомьтесь с программой Проводник ОС Windows

6.4.2.1 После полной загрузки ОС Windows, откройте Главное меню и выберите команду Программы, затем в открывшемся подменю выберите команду Стандартные, а в подменю второго уровня щелкните на пиктограмме Проводник. Откроется окно, в левой части которого расположена иерархическая структура папок и дисков из пяти основных разделов: Рабочий стол, Мои документы, Мой компьютер, Сетевое окружение и Корзина.

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

6.4.2.2 В окне Проводник просмотрите иерархическую структуру диска С: .

Иерархическая структура диска:

  • для проникновения в глубь структуру диска С: щелкайте на значках "плюс" в квадратиках, расположенных слева от пиктограмм папок;
  • для сворачивания иерархической структуры диска С: щелкайте на значках "минус" в квадратиках, расположенных слева от пиктограмм папок;
  • для просмотра содержимого папки в иерархической структуре ее необходимо выделить, в правой половине окна будет представлено ее содержимое.

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

Технология выделения группы файлов:

  • для выделения всех файлов в папке или на диске необходимо в строке меню выполнить команду Правка/Выделить все или нажать клавиши Ctrl-A ;
  • для выделения группы смежных файлов необходимо выделить пиктограмму первого файла, нажать и удерживать клавишу Shift , а затем щелкнуть на пиктограмме последнего файла;
  • для выделения группы несмежных файлов надо нажать клавишу Ctrl и удерживая ее щелкать по пиктограммам файлов;
  • для выделения группы, содержащей смежные и несмежные файлы, необходимо применить различные методы выделения групп файлов;

6.4.3 В окне Проводник на диске E: создайте структуру каталогов, представленную на Рис. 6.1

6.4.3.1 Установите чистую флешку (USB flash drive) и в окне Проводник откройте флешку (например, E:).

6.4.3.2 В корневом каталоге диска E: создайте папку NETWORKS , для этого откройте меню Файл, выберите команду Создать и в подменю щелкните на пиктограмме "Папку". Появится новая папка, введите имя NETWORKS и нажмите клавишу Enter.

Аналогичным способом в окне Проводник создайте все остальные папки в соответствии с представленной структурой.

6.4.3.3 На диске C: найдите файлы с расширением .doc и размером не более 50 КБ. Выберите несколько файлов (не менее трех) и скопируйте их на flash E: в папку INTERNET .

Для поиска и копирования файлов выполните следующие действия:

  1. Откройте окно диалога Результаты поиска и найдите указанные файлы. Введите маску для поиска файлов *.doc в текстовое поле "Часть имени файла или имя файла целиком" на панели помощника и установите переключатель в положение Маленький (менее 100 КБ) в разделе "Какой размер файла?" и щелкните на кнопке Найти;
  2. Выделите требуемое количество файлов и поместите их в буфер обмена, командой Правка/Копировать;
  3. Перейдите в окно Проводника, откройте требуемую папку на диске E: и выполните команду вставить.

6.4.3.4 На диске C: найдите файлы с расширением .txt и размером менее 80 КБ. Выберите несколько файлов (не менее пяти) и скопируйте их в папку FIDONET на flash E: .

6.4.3.5 На диске C: найдите файлы с расширением .bmp и размером менее 100 КБ. Выберите несколько файлов (не менее двух) и скопируйте их в папку EUNET на flash E: одним (любым) из способов копирования.

6.4.3.6 На диске E: откройте каталог INTERNET и выберите любой файл, а затем переименуйте его в Net.doc с помощью команды контекстного меню.

6.4.3.7 В окне Проводник переместите файл Net.doc в папку MAN методом перетаскивания мышью.

6.4.3.8 В окне Проводник скопируйте файл Net.doc в каталоги FAST и FDDI с помощью панели инструментов и контекстного меню.

6.4.3.9 В окне Проводник удалите папки MAN и PDN .

6.4.4 Завершение работы

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

| О файлах и файловых структурах

Урок 10
Файлы и файловые структуры

§11. О файлах и файловых структурах

Основные темы параграфа:

Что такое файл;
- имя файла;
- логические диски;
- файловая структура диска;
- путь к файлу; полное имя файла;
- просмотр файловой структуры.

Изучаемые вопросы:

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

Что такое файл

Информация на внешних носителях хранится в виде файлов.

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

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

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

Каталог можно вывести на экран, чтобы узнать, есть ли на данном диске нужный файл.

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

Все необходимые действия над файлами обеспечивает операционная система .

Чтобы найти нужный файл , пользователю должно быть известно:

А) какое имя у файла;
б) где хранится файл.

Имя файла

Вот пример имени файла * :

myprog.pas

* Последующие примеры ориентированы на правила, принятые в операционных системах фирмы Microsoft: MS-DOS и Windows. Также проиллюстрированы приложения ОС Linux.


Слева от точки находится собственно имя файла (myprog ). Следующая за точкой часть имени (pas ) называется расширением файла. Обычно в именах файлов употребляются латинские буквы и цифры. Кроме того, имя файла может и не иметь расширения. В операционной системе Microsoft Windows в именах файлов допускается использование русских букв; максимальная длина имени - 255 символов.

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

Логические диски

На одном компьютере может быть несколько дисководов - устройств работы с дисками. Часто на персональном компьютере встроенный в системный блок жесткий диск большой емкости делят на разделы. Каждый из таких разделов называется логическим диском и ему присваивается однобуквенное имя (после которого ставится двоеточие) С:, D:, Е: и т. д. Имена А: и В: обычно относятся к сменным дискам малого объема - гибким дискам (дискетам). Их тоже можно рассматривать как имена логических дисков, каждый из которых полностью занимает реальный (физический) диск * . Следовательно, А:, В:, С:, D: - это всё имена логических дисков.

* На современных моделях ПК гибкие магнитные диски вышли из употребления.


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

Имя логического диска, содержащего файл, является первой «координатой», определяющей месторасположения файла.

Файловая структура диска

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

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

В операционной системе Windows для обозначения понятия «каталог» используется термин «папка».

Графическое изображение иерархической файловой структуры называется деревом.

На дереве корневой каталог обычно изображается символом \ . На рисунке 2.10 имена каталогов записаны прописными буквами, а файлов - строчными. Здесь в корневом каталоге имеются две папки: IVANOV и PETROV и один файл fin.com. Папка IVANOV содержит в себе две вложенные папки PROGS и DATA. Папка DATA пустая; в папке PROGS имеются три файла и т. д.


Путь к файлу

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

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

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

Если представленная на рис. 2.10 файловая структура хранится на диске С:, то полные имена некоторых входящих в нее файлов в символике операционной системы Microsoft Windows выглядят так :

C:\fin.com
С: \IV ANOV\PROGS\prog 1. pas
С: \PETROV\DATA\task. dat

Просмотр файловой структуры

Операционная система предоставляет пользователю возможность просматривать на экране содержимое каталогов (папок).

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

На рисунке 2.11 показан пример отображения на экране компьютера дерева каталогов в ОС Windows.

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

E:\GAME\GAMES\ARCON\dos4gw.exe

Из таблицы можно получить дополнительную информацию о файлах. Например, файл dos4gw.exe имеет размер 254 556 байтов и был создан 31 мая 1994 года в 2 часа 00 минут.

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

Коротко о главном

Файл - это именованная область внешней памяти компьютера.

Все необходимые действия над файлами обеспечивает операционная система .

Имя файла состоит из собственно имени и расширения . Расширение указывает на тип информации в файле (тип файла).

Иерархическая файловая структура - многоуровневая организация файлов на дисках.

Каталог - это поименованный перечень файлов и подкаталогов (вложенных каталогов). Каталог самого верхнего уровня называется корневым. Он не вложен ни в какие каталоги.

Полное имя файла состоит из имени логического диска, пути к файлу на диске и имени файла .

Вопросы и задания

1. Как называется операционная система, используемая в вашем компьютерном классе?

2. Сколько физических дисководов работает на ваших компьютерах? Сколько логических дисков находится на физических дисках и какие имена они имеют в операционной системе?

3. Каким правилам подчиняются имена файлов в вашей ОС?

4. Что такое путь к файлу на диске, полное имя файла?

5. Научитесь (под руководством учителя) просматривать на экране каталоги дисков на ваших компьютерах.

6. Научитесь инициализировать работу программ из программных файлов (типа ехе, соm).

7. Научитесь выполнять основные файловые операции в используемой ОС (копирование, перемещение, удаление, переименование файлов).

Электронное приложение к уроку


Cкачать материалы урока

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

Определение 1

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

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

Рисунок 1.

Имя файла может содержать до $255$ символов, включая расширение. Имя файла может состоять из английских и русских букв, цифр и др. символов.

В именах файлов запрещено использовать знаки:

\ / * ? : “ | .

Расширение некоторых типов файлов:

Рисунок 2.

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

Рисунок 3.

Классификация значков файлов

Рисунок 4.

Определение 2

Файловая структура – совокупность файлов и взаимосвязь между ними.

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

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

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

  • C:, D:, E: и т.д. – жесткие и оптические диски,
  • А:, В: - гибкие диски.

Папкой верхнего уровня для диска является корневая папка, которая в OS Windows обозначается добавлением к имени диска значка «\», например, D:\ - обозначение корневой папки.

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

Рисунок 5.

Каталог - это папка или директория, куда помещают файлы и другие каталоги.

Каталог, который не является подкаталогом ни одного другого каталога , называется корневым . Такой каталог находится на самом верхнем уровне иерархии всех каталогов. В Windows каждый из дисков имеет свой корневой каталог (D:\, C:\, E:).

Каталоги в OS Windows делятся на системные и пользовательские. Пример системных каталогов: «Рабочий стол», «Сетевое окружение», «Корзина», «Панель управления».

Рисунок 6. Системные каталоги OS Windows

Слева направо: системная папка

Корзина, папка Мои документы, ярлык к папке Мои документы

Каталог и папка физически одно и тоже.

Путь к файлу – это его адрес.

Путь к файлу всегда начинается с указанием логического имени диска (D:\, C:\, E:), затем записывается последовательность имен вложенных друг в друга папок, в последней папке содержится нужный файл. Путь к файлу вместе с именем файла называют полным именем файла, например: D:\Мои документы\Литература\Сочинение.doc полное имя файла Сочинение.doc.

Рисунок 7. Дерево каталогов и файлов

Схематично файловую структуру диска представляют в виде дерева.

Рисунок 8. Файловая структура диска Z:

  • Z:\box\box1 – полное имя папки (каталога) box1
  • Z:\box\box.txt – полное имя файла box.txt
  • Z:\box\box2\box3\box1 - полное имя папки (каталога) box1
  • Z:\box\box2\box3\box.txt - полное имя файла box.txt

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

Рис. 19. Иерархия файловых систем:

а – одноуровневая организация; б – дерево; в – сеть

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

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

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

Имена файлов

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

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

Примеры простых имен файлов и каталогов:

приложение к CD 254L на русском языке.doc

installable filesystem manager.doc

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

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

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

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

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

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

Монтирование

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

Первое решение состоит в том, что на каждом из устройств размещается автономная файловая система, т. е. файлы, находящиеся на этом устройстве, описываются деревом каталогов, никак не связанным с деревьями каталогов на других устройствах. В таком случае для однозначной идентификации файла пользователь наряду с составным символьным именем файла должен указывать идентификатор логического устройства. Примером такого автономного существования файловых систем является операционная система MS-DOS, в которой полное имя файла включает буквенный идентификатор логического диска. Так, при обращении к файлу, расположенному на диске А, пользователь должен указать имя этого диска: A:\privat\letter\uni\let1.doc.

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

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

Файловая система, расположенная на системном диске, назначается корневой. Для связи иерархий файлов в корневой файловой системе выбирается некоторый существующий каталог, в данном примере – каталог man. После выполнения монтирования выбранный каталог man становится корневым каталогом второй файловой системы. Через этот каталог монтируемая файловая система подсоединяется как поддерево к общему дереву (рис. 21).

Рис. 20. Две файловые системы до монтирования

Рис. 21. Общая файловая система после монтирования

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

Атрибуты файлов

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

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

 владелец файла;

 создатель файла;

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

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

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

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

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

 признак “только для чтения”;

 признак “скрытый файл”;

 признак “системный файл”;

 признак “архивный файл”;

 признак “двоичный/символьный”;

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

 признак блокировки;

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

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

 длина ключа.

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

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

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

Рис. 22. Структура каталогов:

а – структура записи каталога MS-DOS (32 байта); б – структура записи каталога ОС UNIX

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

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

Статьи к прочтению:

Hierarchical Clustering | Stanford University

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

Последняя часть этого сектора содержит таблицу разделов - 4-элементную таблицу с 16-байтовыми элементами. Этой таблицей манипулирует программа FDISK (или эквивалентная утилита в иной операционной системе).

Во время загрузки ROM-BIOS загружает главную корневую запись и передает управление на ее код. Этот код считывает таблицу разделов, чтобы определить раздел, помеченный как активный. Затем в память считывается корректный корневой сектор и выполняется.

Таблица 1. Структура главной корневой записи и таблицы разделов

Таблица 2. Структура описателя раздела

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

Таблица 3. Коды разделов операционных систем Microsoft

Код Вид раздела Размер Тип FAT ОС
01h Основной 0-15 Мбайт FAT12 MS-DOS 2.0
04h Основной 16-32 Мбайт FAT16 MS-DOS 3.0
05h Расширенный 0-2 Гбайт - MS-DOS 3.3
06h Основной 32 Мбайт-2 Гбайт FAT16 MS-DOS 4.0
0Bh Основной 512 Мбайт-2 Гбайт FAT32 OSR2
0Ch Расширенный 512 Мбайт-2 Тбайт FAT32 OSR2
0Eh Основной 32 Мбайт-2 Гбайт FAT16 Windows 95
0Fh Расширенный 0-2 Гбайт - Windows 95

За операционными системами других фирм зарезервированы следующие коды:

  • 02h - раздел CP/M;
  • 03h - раздел Xenix;
  • 07h - раздел OS/2 (файловая система HPFS).

Замечания:

  1. Номера цилиндра и сектора занимают 10 и 6 бит соответственно:
    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0
    c c c c c c c c c c s s s s s s

    Они упорядочены так, что, когда вы загружаете CX 16-битовым значением, оно готово для вызова прерывания INT 13h для чтения нужной порции диска. Таким образом, после чтения Главной записи загрузки в область памяти sect_buf , код CMP byte ptr sect_buf, 80h

    проверит, активен ли первый раздел, а код

    MOV CX, sect_buf

    загрузит CX для вызова INT 13h для чтения корневого сектора раздела № 1.

  2. Значение "относительного сектора" по смещению 08h в каждом разделе эквивалентно головке, сектору и цилиндру начального адреса раздела. Относительный сектор 0 совпадает с цилиндром 0, головкой 0, сектором 1. Относительный номер сектора прирастает сначала по каждому сектору на головке, затем по каждой головке и наконец по каждому цилиндру.

    Применима формула:

    Отн_сек = (#Цил * сек_на_цил * головок) + (#Гол * сек_на_цил) + (#Сек -1)

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

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

Структура корневого сектора

Таблица 4. Формат корневого сектора дискеты или раздела жесткого диска

00h 3 JMP xx xx NEAR-переход на код загрузки
03h 8 "I" "B" "M" "4" "." "0" OEM-имя компании и версия системы
0Bh 2 SectSiz число байтов в секторе (всегда 512) начало BPB
0Dh 1 ClustSiz число секторов в кластере
0Eh 2 ResSecs число резервных секторов (секторов перед FAT #1)
10h 1 FatCnt число таблиц FAT
11h 2 RootSiz число 32-байтовых элементов корневого каталога (для FAT32 - 0)
13h 2 TotSecs общее число секторов на носителе (раздел DOS)
15h 1 Media тип носителя информации (то же, что 1-й байт FAT)
16h 2 FatSize число секторов в одной FAT конец BPB
18h 2 TrkSecs число секторов на дорожке
1Ah 2 HeadCnt число головок
1Ch 4 HidnSec число скрытых секторов (исп. в схемах разделения)
20h 4 TotSecs всего секторов, если размер >32 Мб
24h 1 128 физич.номер диска
25h 1 резерв
26h 1 29h признак расшир.структуры
27h 4 ID тома(серийный номер)
2Bh Bh метка (NO NAME)
36h 8 ID файловой системы (FAT12)
3Eh начало кода и данных загрузки

Замечания:

  1. Типы носителей информации:
    • F0h - гибкий диск, 2 стороны, 18 секторов на дорожке;
    • F8h - жесткий диск;
    • F9h - гибкий диск, 2 стороны, 15 секторов на дорожке;
    • FCh - гибкий диск, 1 стороны, 9 секторов на дорожке;
    • FDh - гибкий диск, 2 стороны, 9 секторов на дорожке;
    • FEh - гибкий диск, 1 сторона, 8 секторов на дорожке;
    • FFh - гибкий диск, 2 стороны, 8 секторов на дорожке.
  2. Используйте абсолютное чтение INT 25h (DX=0) для чтения этого сектора. ИЛИ:
    • гибкие диски: корневой сектор = BIOS INT 13h головка 0, дорожка 0, сектор 1;
    • жесткие: читайте Таблицу_разделов для получения BIOS головки/дорожки/сектора.
  3. BPB (BIOS Parameter Block) - подмножество данных, содержащихся в корневом_секторе. Запрос к драйверу "Построить BPB" требует, чтобы драйвер заполнил блок, отмеченный выше. Длина BPB = 13 байт

Таблица параметров дискеты

Эта 10-байтовая структура известна также как "Disk Base Table". Она находится по адресу вектора прерывания INT 1Eh (4-байтовый адрес в 0:0078). Эта таблица задает некоторые важные переменные для устройств дискет. Ее инициализирует ROM-BIOS, а DOS модифицирует, чтобы улучшить производительность дискет.

Таблица 5. Формат таблицы параметров дискеты

Смещение Длина Содержимое
00h 1 Первый байт спецификации:
биты 0-3 - время загрузки головок;
биты 4-7 - длительность шага головок
01h 1 Второй байт спецификации:
бит 0 - флаг режима ПДП;
биты 1-7 - время загрузки головок
02h 1 Задержка перед отключением мотора (в "тиках" ситемных часов)
03h 1 Размер сектора (байт): 0 - 128, 1 - 256, 2 - 512, 3 - 1024
04h 1 Число секторов на дорожке
05h 1 Длина межсекторного промежутка для операций чтения/записи
06h 1 Длина области данных
07h 1 Длина межсекторного промежутка для операции форматирования
08h 1 Символ-заполнитель для форматирования (обычно 0F6h, т.е. "Ў")
09h 1 Время установки головок (в миллисекундах)
0Ah 1 Время запуска мотора (в 1/8 с)

Таблица параметров жесткого диска

Эта 16-байтовая структура находится по адресу вектора прерывания INT 41h (4-байтовый адрес в 0:0104). Параметры для второго жесткого диска (если он есть) находятся по адресу вектора INT 46h . Эти таблицы задают некоторые важные переменные для операций с твердыми дисками.

Таблица 6. Формат таблицы жесткого диска

Смещение Длина Содержимое
00h 2 Число цилиндров
02h 1 Число головок
03h 2 Не используется (всегда 0)
05h 2 Номер начального цилиндра предкомпенсации
07h 1 Максимальная длина блока коррекции ошибок ECC
08h 1 Байт контроля:
биты 0-2 - не используются (всегда 0);
бит 3 - установлен, если число головок больше 8;
бит 4 - не используется (всегда 0);
бит 5 - установлен, если изготовитель разместил карту дефектов на цилиндре с номером "максимальный рабочий цилиндр + 1";
бит 6 - запрет повторного контроля ECC;
бит 7 - запрет контроля ECC
09h 1 Не используется (всегда 0)
0Ah 1 Не используется (всегда 0)
0Bh 1 Не используется (всегда 0)
0Ch 2 Номер цилиндра зоны парковки
0Eh 1 Число секторов на дорожке
0Fh 1 Резерв

Таблица распределения файлов (FAT)

Размер файла может изменяться со временем. Если допустить хранение файла только в смежных секторах, то при увеличении размера файла ОС должна полностью переписать его в другую подходящего объема (свободную) область диска. Чтобы упростить и ускорить выполнение операции добавления новых данных в файл, в современных ОС применяются таблицы распределения файлов (File Allocation Table, сокращенно FAT), которые позволяют хранить файл в виде нескольких несмежных участков.

При использовании FAT область данных логического диска разделена на участки одинакового размера - кластеры . Кластер может состоять из одного или нескольких последовательно расположенных на диске секторов. Число секторов в кластере должно быть кратным 2 N и может принимать значения от 1 до 64 (размер кластера зависит от типа используемой FAT и объема логического диска).

Каждому кластеру поставлен в соответствие собственный элемент таблицы FAT. Первые два элемента FAT являются резервными - если на диске имеется K кластеров данных, то число элементов FAT будет равно K+2 . Тип FAT определяется значением K:

  1. если K <4085 - используется FAT12;
  2. если 4084> K <65525 - используется FAT16;
  3. если 65524> K - используется FAT32.

Название типов FAT происходят от размера элемента. Так элемент FAT12 имеет размер 12 бит, FAT16 - 16 бит, FAT32 - 32 бита. Следует учитывать, что в FAT32 четыре старших двоичных разряда зарезервированы и игнорируются в процессе работы ОС (то есть значащими являются только семь младших шестнадцатеричных разрядов элемента).

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

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

Эта диаграмма иллюстрирует основные концепции FAT. Из нее видно, что:

  1. MYFILE.TXT занимает 10 кластеров. Первый кластер - это кластер 08, последний кластер - 1Bh. Цепочка кластеров - 08h, 09h, 0Ah, 0Bh, 15h, 16h, 17h, 19h, 1Ah, 1Bh. Каждый элемент указывает на следующий элемент цепочки, а последний элемент содержит специальный код (см. табл. 7).
  2. Кластер 18h помечен как дефектный и не входит в цепочку распределения.
  3. Кластеры 06h, 07h, 0Ch-14h и 1Ch-1Fh пусты и доступны для распределения.
  4. Еще одна цепочка начинается с кластера 02h и кончается кластером 05h. Чтобы узнать имя файла, нужно отыскать элемент оглавления с начальным номером кластера 02h.

Таблица 7. Значения элементов FAT

FAT обычно начинается с логического сектора 1 в разделе DOS (т.е. ее можно прочитать по INT 25h с DX=1). В общем случае сначала надо прочитать корневой_сектор (DX=0) и взять смещение 0Eh . Там указано, сколько корневых и резервных секторов стоят перед FAT. Используйте затем это число (обычно 1) как содержимое DX , чтобы прочитать FAT через INT 25h .

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

Замечание:

  • По общему заблуждению считается, что 16-битовая FAT не позволяет DOS работать с дисками, большими 32 мегабайт. На самом деле, ограничивает то, что INT 25h/26h неспособно работать с СЕКТОРАМИ, номера которых больше 65535. Поскольку размер сектора обычно 512 байт, или половина килобайта, то это диктует 32-мегабайтовый лимит. С другой стороны, ничто не запрещает вам иметь секторы большего размера, так что теоретически DOS может работать с любыми дисками.
  1. Умножьте номер кластера на 3.
  2. Если номер элемента четный, выполните операцию AND над считанным словом и маской 0FFFh. Если номер элемента нечетный, сдвиньте значение вправо на 4 бита. В результате получите искомое значение элемента FAT.

Теперь рассмотрим порядок действий при записи элемента в FAT12.

  1. Умножьте номер кластера на 3.
  2. Разделите результат на 2 (длина элемента - 1.5 (3/2) байт).
  3. Прочитайте из FAT 16-разрядное слово, используя в качестве адреса результат предыдущей операции.
  4. Если номер элемента четный, выполните операцию AND над считанным словом и маской 0F000h, а затем операцию OR над полученным результатом и значением записываемого элемента. Если номер элемента нечетный, выполните операцию AND над считанным словом и маской 0F000h, а затем сдвиньте значение влево на 4 бита и выполните операцию OR с результатом предыдущей операции.
  5. Запишите полученное 16-разрядное слово обратно в FAT.

Замечание:

  • 12-битовый элемент может пересекать границы двух секторов, так что будьте внимательны, если считываете по одному сектору FAT.
    16-битовые элементы проще - каждый элемент содержит 16-битовое смещение (от начала FAT) следующего элемента в цепочке.
    32-битовые элементы - каждый элемент содержит 32-битовое смещение следующего элемента в цепочке.

В программах, написанных на ассемблере, для выполнения умножения на 3 вместо команды MUL часто применяется алгоритм "сдвиг и сложение": исхродное число копируется, над копией числа выполняется сдвиг влево на один разряд (умножение на 2), а затем оба числа складываются (x + 2x = 3x). Вместо команды DIV используется сдвиг вправо на один разряд.

Элемент FAT содержит номер кластера, но при работе с дисками на низком уровне адресуемой единицей данных является сектор, а не кластер.

Дискета (или раздел твердого диска) структурирована следующим образом:

  1. корневой и резервные секторы;
  2. FAT #1;
  3. FAT #2;
  4. корневой каталог (не существует в FAT32);
  5. область данных.

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

Чтобы получить номер начального сектора кластера из номера кластера ClustNum (считанный из соответствующего поля в элементе каталога или в цепи FAT), вы можете использовать недокументированную функцию ОС 32h или прочитать корневой сектор и применить следующие формулы:

корневых_секторов = (RootSiz * 32) / 512 начало_данных = ResSecs + (FatSize * FatCnt) + корневых_секторов нач_сектор = начало_данных + ((ClustNum - 2) * ClustSiz) ,

где значения переменных: RootSiz , ResSecs , FatSize , FatCnt , ClustSiz извлекаются из корневого сектора или из BPB .

Установите DX=нач_сектор перед операцией чтения INT 25h или записи INT 26h .

Каталоги файлов

Каталог файлов представляет собой массив 32-байтных элементов - описателей файлов. С точки зрения операционной системы все каталоги (кроме корневого каталога в системах FAT12 и FAT16) выглядят как файлы и могут содержать произвольное количество записей.

Корневой каталог (Root Directory) - это главный каталог диска, с которого начинается дерево подкаталогов. Для корневого каталога в FAT12 и FAT16 в системной области логического диска выделено специальное место фиксированного размера (16 Кбайт), рассчитанное на хранение 512 элементов. В системе FAT32 корневой каталог является файлом произвольного размера.

Таблица 8. Структура элемента каталога

Смещение Длина Содержимое
00h 11 Короткое имя файла
0Bh 1 Атрибуты файла
0Сh 1 *Зарезервировано под Windows NT (должно содержать 0)
0Dh 1 *Поле, уточняющее время создания файла (в десятках миллисекунд).
Значение поля может находиться в пределах от 0 до 199
0Eh 2 *Время создания файла
10h 2 *Дата создания файла
12h 2 *Дата последного обращения к файлу для записи или считывания данных
14h 2 *Старшее слово номера первого кластера файла
16h 2 Время выполнения последней операции записи в файл
18h 2 Дата выполнения последней операции записи в файл
1Ah 2 Младшее слово номера первого кластера файла
1Ch 4 Размер файла в байтах (32-разрядное число)

Знак "*" означает, что поле обрабатывается только в файловой системе FAT32. В системах FAT12 и FAT16 поле считается зарезервированным и содержит значение 0.

Короткое имя файла состоит из двух полей: 8-байтного поля, содержащего собственно имя файла, и 3-байтного поля, содержащего расширение. Если введенное пользователем имя файла короче восьми символов, то оно дополняется пробелами (код пробела - 20h), если введенное расширение короче трех символов, то оно также дополняется пробелами.

Некоторые функции DOS требуют в качестве параметра байт атрибутов файла. Разряды байта атрибутов устанавливаются в 1 в том случае, если у файла имеется соответствующее свойство:

  • бит 0 - только для чтения;
  • бит 1 - скрытый;
  • бит 2 - системный;
  • бит 3 - идентификатор тома;
  • бит 4 - каталог;
  • бит 5 - архивирован;
  • биты 6 и 7 - резерв (установлены в 0).

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

15 9 8 5 4 0

При создании файлов отсчет дат ведется от начала эпохи MS-DOS, т.е. от 01.01.1980. Биты 9-15 содержат номер года минус 1980 (допустимо значение от 0 до 127).

Длинные имена файлов

Начиная с Windows 95 файлу можно присвоить (в дополнение к короткому имени) так называемое длинное имя. Для хранения длинного имени используются пустые элементы каталога, смежные с основным элементом - описателем файла. Наличие единиц в разрядах 0-3 байта атрибутов является признаком того, что свободный элемент каталога используется для хранения участка длинного имени файла (для описателей файлов и каталогов такое сочетание невозможно). Короткое и длинное имена файла являются уникальными, т.е. не должны встречаться дважды в одном каталоге.

Длинное имя записывается не ASCII-символами, а в формате Unicode, где каждому национальному алфавиту соответствует набор кодов. Расплатой за универсальность Unicode является снижение плотности хранения информации - каждый символ занимает два байта (16-разрядное слово). В пустые элементы каталога длинное имя записывается в разрезанном на кусочки виде (см. табл.9).

Таблица 9. Структура элемента каталога, хранящего фрагмент длинного имени файла

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

Все каталоги, за исключением корневого, содержат в двух первых элементах вместо описателей файлов специальные ссылки. В элементе № 0 размещается указатель на сам каталог, а в поле имени находится одна точка ("."). В элементе № 1 размещается указатель на родительский каталог, а в поле имени находятся две точки (".."). Если ссылка на таблицу FAT у элемента № 1 имеет нулевое значение, то текущий каталог находится в корневом каталоге.

Блок информации диска формируется НЕДОКУМЕНТИРОВАННОЙ функцией DOS 32h .

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

Таблица 10. Схема блока информации диска

Смещение Длина Содержимое
00h 1 Номер диска (0=A, 1=B и т.д.)
01h 1 Номер субустройства из заголовка устройства (один драйвер может управлять несколькими дисками)
02h 2 Размер сектора в байтах
04h 1 Число секторов на кластер -1 (максим. сектор в кластере)
05h 1 Сдвиг кластера в сектор (кластер = 2№ секторов) (секторов на кластер в степенях двойки: 2 для 4, 3 для 8)
06h 2 Число резервных секторов (корневые, начало корневого огл.) (N первого сектора FAT)
08h 1 Число таблиц FAT
09h 2 Макс. число элементов в корневом оглавлении
0Bh 2 Номер сектора для кластера №2 (1-й кластер данных)
0Dh 2 Всего кластеров +2 (наивысший номер кластера)
0Fh 1 Число секторов, занимаемое одной FAT
10h 2 Номер сектора начала корневого оглавления
12h 4 Адрес заголовка_устройства
16h 1 Байт дескриптора_носителя
17h 1 Флаг доступа: 0, если был доступ к устройству
18h 4 Адрес следующего блока информации диска
(0FFFFh, если блок - последний)

Битовые флаги режима открытия:

  1. 0-2: Права доступа процесса в сети
    000 - чтение; 001 - запись; 010 - чтение и запись.
  2. 4-6: Режим разделения:
    000 - режим совместимости
    001 = монопольный захват файла
    010 = отвергать запись
    011 = отвергать чтение
    100 = ничего не отвергать
  3. 7: Наследование:
    1 - файл приватный для этого процесса 0 - наследуется порожденными процессами

Если байт атрибутов файла индицирует только чтение, он перекрывает эти флаги.

Биты прав доступа в сети и режима разделения имеют эффект только в том случае, когда установлена программа SHARE.