Типы файлов. Иерархическая структура файловой системы
Файловые системы поддерживают несколько функционально различных типов файлов, в число которых, как правило, входят обычные файлы, файлы-каталоги, специальные файлы, именованные конвейеры и отображаемые в память файлы.
Обычные файлы, или просто файлы, содержат информацию произвольного характера, которую заносит в них пользователь или которая образуется в результате работы системных и пользовательских программ. Большинство современных операционных систем (например, UNIX, Windows, OS/2) никак не ограничивает и не контролирует содержимое и структуру обычного файла. Содержание обычного файла определяется приложением, которое с ним работает.
Каталоги -это особый тип файлов, которые содержат системную справочную информацию о наборе файлов, сгруппированных пользователями по какому-либо неформальному признаку (например, в одну группу объединяются файлы, содержащие документы одного договора, или файлы, составляющие один программный пакет). Во многих операционных системах в каталог могут входить файлы любых типов, в том числе другие каталоги, за счет чего образуется древовидная структура, удобная для поиска. Каталоги устанавливают соответствие между именами файлов и их характеристиками, используемыми файловой системой для управления файлами. В число таких характеристик входит, в частности, информация (или указатель на другую структуру, содержащую эти данные) о типе файла и расположении его на диске, правах доступа к файлу и датах его создания и модификации. Во всех остальных отношениях каталоги рассматриваются файловой системой как обычные файлы.
Специальные файлы — это фиктивные файлы, ассоциированные с устройствами ввода-вывода, которые используются для унификации механизма доступа к файлам и внешним устройствам. Специальные файлы позволяют пользователю выполнять операции ввода-вывода посредством обычных команд записи в файл или чтения из файла. Эти команды обрабатываются сначала программами файловой системы, а затем на некотором этапе выполнения запроса преобразуются операционной системой в команды управления соответствующим устройством.
Пользователи обращаются к файлам по символьным именам. Однако способности человеческой памяти ограничивают количество имен объектов, к которым пользователь может обращаться по имени. Иерархическая организация пространства имен позволяет значительно расширить эти границы. Именно поэтому большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня (рис. 6. 1).
Корневой каталог
Main.exe Файлы
Main.exe
а) б) в)
Рис. 6. 1. Иерархия файловых систем
Граф, описывающий иерархию каталогов, может быть деревом или сетью. Каталоги образуют дерево, если файлу разрешено входить только в один каталог (рис. 6. 1, б), и сеть — если файл может входить сразу в несколько каталогов (рис. 6. 1, в). Например, в MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX — сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом или корнем (root).
Частным случаем иерархической структуры является одноуровневая организация, когда все файлы входят в один каталог (рис. 6. 1, а).
Что такое иерархическая файловая система?
Иерархическая файловая система (HFS) используется для организации и организации цифровой информации на компьютере через ряд папок и подпапок. Самая большая единица, которая содержит все данные, обычно называется «корнем», и ее можно визуализировать как верхнюю часть меню или как самую левую запись в пути к файлу. Внутри этого корня содержатся одна или несколько папок, которые также могут содержать дополнительную информацию. В нижней части иерархической файловой системы находятся отдельные единицы информации, к которым можно получить доступ и прочитать с помощью навигации по структуре иерархии.
Термин «Иерархическая файловая система» может использоваться для обозначения определенного формата, который использовался в операционной системе (ОС), разработанной Apple Computers®. Однако он часто используется в общем контексте для обозначения любого типа формата, который использует эту базовую структуру. Цель иерархической файловой системы — организовать информацию таким образом, чтобы она была эффективной для компьютера и достаточно интуитивно понятной для пользователя.
Предыдущие методы размещения часто включали всю информацию в один слой. Это означало, что когда компьютер просматривал или загружал данные, все, что было на нем сохранено, должно было быть включено. Поскольку жесткие диски и другие устройства хранения данных увеличиваются в размерах, это становится все более проблематичным как для компьютера, так и для пользователя. Чтобы противодействовать этому, была разработана иерархическая файловая система, которая организовывала информацию в слои или каталоги, по которым затем можно было бы более эффективно ориентироваться.
Если иерархическая файловая система визуализируется сверху вниз, то самый верхний слой — это корневой каталог, в котором содержатся все остальные данные. Внутри этого обычно находятся многочисленные папки или подкаталоги, которые, в свою очередь, содержат дополнительные подпапки и файлы. В самом низу этого визуального дерева находятся различные фрагменты данных, которые используются компьютером для получения информации. Вся эта структура по сути представляет собой разветвленную сеть папок внутри каталогов.
Структура иерархической файловой системы также может быть задокументирована слева направо для указания «пути к файлу». Это в основном адрес, который показывает, где находятся данные в различных папках и каталогах компьютера. Корень часто указывается слева, поскольку там начинается путь, и каждая папка разделяется прямой или обратной косой чертой, в зависимости от используемой ОС. Путь к файлу может выглядеть так: «root \ folder \ sub-folder \ file_name». Это та же самая структура, что и у древовидной диаграммы, но она представлена слева направо, а не сверху вниз.
ДРУГИЕ ЯЗЫКИ
Файловая система — презентация онлайн
1. Файловая система
Лекция 7ДГТУ
Кафедра М и И.
2018-2019
2. Понятие файла
Информация любого типа хранится в видефайлов.
Файл — это поименованная область на
внешнем носителе, содержащая данные
произвольной длины и воспринимаемая
компьютерной системой как единое целое
Файл может содержать текст или его часть,
компьютерную программу или данные к ней,
графический или звуковой образ
2
3. Формат файла
Когда в мы рассматривалипредставления различных типов
информации (чисел, текстов, графики,
звука), то видели, что по организации
данных эти представления сильно
отличаются друг от друга. Естественно,
что для хранения различных видов
информации, необходимо использовать
по-разному устроенные файлы. Способ
организации данных в файле (структура
файла) называют его форматом.
3
4. Понятие файла.
Для пользователя файл является основным инеделимым элементом хранения данных,
который можно
найти,
изменить,
удалить,
сохранить или переслать на устройство или на другой
компьютер, но только целиком.
С физической точки зрения файл — это всего лишь
последовательность байтов.
Способ использования или отображения этой
последовательности (интерпретация!) определяется
типом файла — текстовый, звуковой, исполняемый
модуль программы и т.п.
4
5. Понятие файловой системы
Часть ОС, работающая с файлами иобеспечивающая хранение данных на дисках и
доступ к ним, называется файловой системой (ФС).
в широком смысле понятие «файловая система»
включает:
совокупность всех файлов на диске,
наборы служебных структур данных, используемых
для управления файлами, такие как, например,
каталоги файлов, таблицы распределения
свободного и занятого пространства на диске,
системные программные средства по управлению
файлами: операции по созданию, уничтожению,
чтению, записи, именованию файлов, установке
атрибутов и уровней доступа, поиску и т.д.
5
6. Файловая система
Представим схему, которую, которая напоминает6
7. Файловая система
Современные файловые системы управляютаналогичными иерархическими древовидными
структурами.
Иерархическая файловая система — это дерево со
вложенными друг в друга каталогами (иначе,
папками), и вложенными в них файлами .
Когда мы хотим обратиться к конкретному файлу, то
должны использовать его полное имя — т.е перед
именем файла последовательно перечислить все
папки, через которые требуется пройти на пути к
файлу, начиная с корневой (root).
7
8. Файловая система
Рассмотрим систему каталогов и файлов,расположенную на диске H:
H:
STUDN
fio.txt
inf.txt
ABC
DEF
myfile.doc
TEXT
text1.txt
text2.doc
text3.inf
В первом случае каждому файлу дается полное имя пути, состоящее из
имен всех каталогов от корневого до того, в котором содержится файл, и
имени самого файла. Например, путь Н: \studn\abc\myfile.docx означает,
что корневой каталог содержит каталог, studn, который, в свою очередь,
содержит подкаталог abc, где находится файл myfile.docx. Полные имена
путей всегда начинаются от корневого каталога и являются уникальными.
8
9. Файловая система
Во многих ОС имя файла может состоять издвух частей, разделенных точкой. Часть
имени файла после точки называется
расширением файла и обычно означает тип
файла.
При двойном щелчке мышью на имени файла
запускается программа, назначенная этому
расширению, с именем файла в качестве
параметра. Например, двойной щелчок
мышью на имени myfile.docx запускает MS
Word, который открывает файл myfile.docx.
9
10. Файловая система Размещение файлов на диске
Любая файловая система предназначена дляхранения информации о физическом размещении
частей файла.
От ФС требуется четкое выполнение следующих
действий:
определение физического расположения файла на
диске
определение наличия свободного места и выделение
С точки зрения операционной системы, весь диск
представляет из себя набор кластеров размером от
512 байт и выше. Кластер- это наименьшее место на
диске, которое может быть выделено для хранения
файла или фрагмента файла.
Рассмотрим 2 вида файловых систем, используемых
ОС Windows:
10
11. Файловая система Размещение файлов на диске
FAT (от англ. File Allocation Table — «таблицаразмещения файлов»).
NTFS (от англ. New Technology File System —
«файловая система новой технологии»).
NTFS заменила использовавшуюся в MS-DOS и
ранних версиях Ms Windows файловую систему FAT.
NTFS использует более компактную форму записи,
что ускоряет поиск файла. Операции с выделением
места проходят быстрее. Ключевое преимущество:
NTFS имеет встроенные возможности
разграничивать доступ к данным для различных
пользователей и групп пользователей (списки
контроля доступа). NTFS использует систему
журналирования для повышения надёжности
файловой системы.
11
Изучение файловых систем в профильном курсе информатики (стр. 5 из 6)
Создание каталога.
Для создания нового каталога имеется команда Md (Make Directory).
Формат команды:
Md [дисковод:] путь
Пример:
Md xxx — создание подкаталога xxx в текущем каталоге;
Уничтожение каталога.
Для удаления (пустого) каталога имеется команда Rd (Remove Directory).
Формат команды:
Rd [дисковод:] путь
Пример:
Rd xxx -удаление подкаталога ххх в текущем каталоге;
С помощью команды rd можно удалить только пустой каталог, т.е. каталог, не содержащий файлов и подкаталогов.
Вывод файла на экран.
Для вывода текстового файла на экран можно использовать команду Type.
Формат команды:
Type имя файла
Пример:
Type paper.doc – вывод на экран файла paper.doc из текущего каталога [14]
2.2. Содержание обучения
Планирование по файловым системам (12 ч.)
Учащиеся должны знать:
· понятие файл
· понятие каталог
· понятие файловая система
· типы файлов
· представление об иерархической структуре файловой системы
· представление об имени файла
· представление об атрибутах файла
· команды MS-DOS
· представление о логической организации файла
· представление о физической организации диска
· представление о физической организации FAT
· представление о физической организации NTFS
· представление о физической организации и адресации файла
Учащиеся должны уметь
· создавать дерево каталогов
· создавать текстовые файлы
· работать с командами MS-DOS
2.3 Разработка уроков
Тема: Логическая организация файловой системы
Урок 1. Цели и задачи файловой системы. Иерархическая структура файловой системы.
Цели:
1) Образовательные: сформировать понятие файл, сформировать понятие «каталог», сформировать понятие файловая система, сформировать представление об иерархической структуре файловой системы
2) Развивающие: развить память, развить внимание, развить речь.
3) Воспитательные: воспитать умение слушать, воспитать аккуратность при работе в тетради, воспитать дисциплинированность.
Ход урока
Файл — это именованная область внешней памяти, в которую можно записывать и из которой можно считывать данные.
Каталог – это особый тип файлов, которые содержат системную справочную информацию о наборе файлов, сгруппированных пользователем по какому-либо неформальному признаку.
Да, есть одно исключение — это электронный диск, когда в оперативной памяти создается структура, имитирующая файловую систему.
Правильно, запишите:
Цели использования файла
· Долговременное и надежное хранение информации. Долговременность достигается за счет использования запоминающих устройств, не зависящих от питания, а высокая надежность определяется средствами защиты доступа к файлам и общей организацией программного кода ОС, при которой сбои аппаратуры чаще всего не разрушают информацию, хранящуюся в файлах.
· Совместное использование информации. Файлы обеспечивают естественный и легкий способ разделения информации между приложениями и пользователями за счет наличия понятного человеку символьного шпени и постоянства хранимой информации и расположения файла. Пользователь должен иметь удобные средства работы с файлами, включая каталоги-справочники, объединяющие файлы в группы, средства поиска файлов по признакам, набор команд для создания, модификации и удаления файлов. Файл может быть создан одним пользователем, а затем использоваться совсем другим пользователем, при этом создатель файла или администратор могут определить права доступа к нему других пользователей.
Эти цели реализуются в ОС файловой системой.
Запишите определение
Файловая система (ФС) — это часть операционной системы, включающая:
· совокупность всех файлов на диске;
· наборы структур данных, используемых для управления файлами, такие, например, как каталоги файлов, дескрипторы файлов, таблицы распределения свободного и занятого пространства на диске;
· комплекс системных программных средств, реализующих различные операции над файлами, такие как создание, уничтожение, чтение, запись, именование и поиск файлов.
Файловая система позволяет программам обходиться набором достаточно простых операций для выполнения действий над некоторым абстрактным объектом, представляющим файл. При этом программистам не нужно иметь дело с деталями действительного расположения данных на диске, буферизацией данных и другими низкоуровневыми проблемами передачи данных с долговременного запоминающего устройства. Все эти функции файловая система берет на себя. Файловая система распределяет дисковую память, поддерживает именование файлов, отображает имена файлов в соответствующие адреса во внешней памяти, обеспечивает доступ к данным, поддерживает разделение, защиту и восстановление файлов.
Запишите вывод
Таким образом, файловая система играет роль промежуточного слоя, экранирующего все сложности физической организации долговременного хранилища данных, и создающего для программ более простую логическую модель этого хранилища, а также предоставляя им набор удобных в использовании команд для манипулирования файлами.
Задачи, решаемые ФС, зависят от способа организации вычислительного процесса в целом. Самый простой тип — это ФС в однопользовательских и однопрограммных ОС, к числу которых относится, например, MS-MS-DOS. Основные функции в такой ФС нацелены на решение следующих задач:
Запишите: Задачи файловой системы
· именование файлов;
· программный интерфейс для приложений;
· отображения логической модели файловой системы на физическую организацию хранилища данных;
· устойчивость файловой системы к сбоям питания, ошибкам аппаратных и программных средств.
Задачи ФС усложняются в операционных однопользовательских мультипрограммных ОС, которые, хотя и предназначены для работы одного пользователя,но дают ему возможность запускать одновременно несколько процессов. Одной из первых ОС этого типа стала OS/2. К перечисленным выше задачам добавляется новая задача совместного доступа к файлу из нескольких процессов. Файл в этом случае является разделяемым ресурсом, а значит, файловая система должна решать весь комплекс проблем, связанных с такими ресурсами.
В многопользовательских системах появляется еще одна задача: защита файлов одного пользователя от несанкционированного доступа другого пользователя.
Запишите, в многопользовательских операционных системах к выше перечисленным задачам добавляются еще две задачи: задача совместного доступа к файлу и защита файлов от несанкционированного доступа.
Запишите подзаголовок
Иерархическая структура файловой системы
Пользователи обращаются к файлам по символьным именам. Однако способ человеческой памяти ограничивают количество имен объектов, к которым пользователь может обращаться по имени. Иерархическая организация пространства имен позволяет значительно расширить эти границы. Именно поэтому большинство файловых систем имеет иерархическую структуру, в которой уровни создаются за счет того, что каталог более низкого уровня может входить в каталог более высокого уровня.Каталоги образуют дерево, если файлу разрешено входить только в один каталог и сеть — если файл может входить сразу в несколько каталогов. Например, в MS-MS-DOS и Windows каталоги образуют древовидную структуру, а в UNIX — сетевую. В древовидной структуре каждый файл является листом. Каталог самого верхнего уровня называется корневым каталогом, или корнем (root).
При такой организации пользователь освобожден от запоминания имен всех файлов, ему достаточно примерно представлять, к какой группе может быть отнесен тот или иной файл, чтобы путем последовательного просмотра каталогов найти его. Иерархическая структура удобна для многопользовательской работы: каждый пользователь со своими файлами локализуется в своем каталоге или поддереве каталогов, и вместе с тем все файлы в системе логически связаны.
Выберите правильный ответ1. Файл — это … a) программа или данные, хранящиеся в долговременной памяти. b) программа или данные, имеющие имя и хранящиеся в оперативной памяти. c) программа или данные, имеющие имя и хранящиеся в долговременной памяти. 2. Путь к файлу … a) начинается с логического имени диска, затем записывается последовательность имён вложенных друг в друга папок, в последней из которых находится нужный файл. b) начинается с последней папки, в которой находится нужный файл, затем записывается логическое имя диска. c) начинается с логического имени диска, затем записывается нужный файл, затем последовательность имён вложенных друг в друга папок. 3. В операционной системе Windows имя файла может иметь длину до … символов. |
Файловые системы — отстой / Хабр
Компьютеры пришли в народ из мира инженеров. А в мире инженеров реализация всегда превалирует над интерфейсом. Вот и с файловой системой так. Несмотря на на колоссальный скачок от перфокарт к EXT3 или NTFS, интерфейс файловой системы остается такимвот таким:
Да-да, те же самые стеллажи (диски) с коробками и ящиками (папки), в которых хранятся перфокарты (файлы). Девушки — это либо Search Companion, либо сам пользователь. Меня волнует вопрос зачем переносить принцип устройства файловой системы в интерфейс работы с ней? Меня папки очень часто ставят в тупик. В какую папку положить рабочий документ, техническое задание, фотографии с работы, с отдыха, с корпоративного выезда на шашлык и т.д. А если подняться на еще уровень выше, то какую ценность как единица информации несет папка? А никакой! Это просто тег, причем тег со связью один-к-одному то есть на одну единицу нормального контента можно назначить только один тег. Проблему однотеговости можно решить двумя способами:
Способ 1
Вкладывать теги друг в друга. Тогда мы получаем унылый беспомощный иерархический рубрикатор.
Способ 2
Использовать ярлыки в других папках. Извините, занятие для извращенцев.
В общем ловить, как говорится, особо нечего.
Удивительно, казалось-бы, после перехода на такую «враждебную к пользователю» операционную систему, как Линукс я осознал насколько легко и просто жить без необходимости раскладывать все по папкам. Музыка и видео у меня скачиваются в одно место, а интерфейсом служит UPnP AV сервер, который сам определяет теги для контента: тегирует исполнителями, альбомами, жанрами, годами и т.д. песни; видео — актерами и режиссерами плюс сериалы — сезонами и сериями. Я даже честно не знаю что и как у меня в этой папке, которая названа media происходит.
Фотографии я сгружаю с фотоаппарата в один контейнер и баш-скрипт раскладывает их по папкам сам, поворачивая, делая превьюшки и добавляя их в веб-интерфейс просмотра.
Программы в Линуксе тоже ставятся так, что я даже не подозреваю о том, что файловая система есть и что она как-то устроена.
Увы, приходится сталкиваться с папками и файлами, когда работаешь с документами, потому что отсутствие механизма тегирования на уровне ФС, лишает меня возможности положить все в одну папку и забыть про ее устройство.
Но, не смотря на то, что теги это круто и я их очень люблю, с ними тоже есть две проблемы:
1. Иногда ты не знаешь как протегировать контент (см. теги этого топика).
2. Я и, наверное, еще много людей очень ленивы, в отличие от sofrus, который загрузил обложки ко всем своим mp3, чтобы назначаить теги всему контенту.
Вот! Вот это как раз и место где есть развернуться инженерной мысли! Подумайте, сколько можно сделать подсистем автоматического тегирования.
Фильмы, музыка — авторы, исполнители, режиссеры, актеры, годы, жанры.
Изображения — дата, время, место съемки, время года, персонажи на фотографиях через систему распознавания лиц.
Про документы писать не хочется, тут все слишком просто.
При таком подходе можно даже получать аггрегацию информации. Например по тегам «Анапа» и «2008» можно моментально получить из текстов и фотографий отчет об отпуске, проведенном в Анапе в 2008 году, а потом убрав «2008» и добавив «Фотографии» + «Лето», можно увидеть ретроспективу ваших отпусков в Анапе. Полет фантазии не ограничен!
Естественно, при системе тегирования навигацией по контенту становится поиск, а основным представлением — его результаты.
Какие-то шаги в этом направлении уже сделаны Windows Desktop Search или Spotlight, но им отчаянно нехватает поддержки со стороны файловой системы.
Тем кому отказ от папок кажется чем-то немыслимым и ужасным, подумайте над тем, что вы, скорее всего пользуетесь поискоориентированной файловой системой каждый день. Это Гугл. 🙂
Файловое дерево
• структура хранения информации на магнитных дисках
• файл (file), папка (folder)
• имя файла, идентификатор файла
• иерархическая файловая система (Hierarchical File System, HFS)
Компьютерные системы создавались и создаются людьми, и многие решения, которые встречаются в компьютерных технологиях, «заимствованы» из обычной жизни.
Что мы делаем, когда наш стол постепенно начинает превращаться в бумажную свалку? Пытаемся навести порядок. Начинаем с простого — создаем для каждого документа титульный лист с названием документа, чтобы отличать один документ от другого, составляем список имеющихся документов, складываем их в аккуратную стопку и помещаем все это в шкаф. Нечто аналогичное существует и на компьютерах.
Документы, хранящиеся на диске компьютера, называются файлами (file). Это могут быть не только текстовые документы, но и картинки, музыкальные произведения, видеоклипы, шрифты, программы и так далее. Таким образом, файл — это некоторая самостоятельная, законченная, поименованная (имеющая название) единица хранения информации на носителях. Понятие «файл» пришло из того времени, когда основным средством ввода информации в компьютер была колода перфокарт — файл перфокарт. Хотя перфокарты практически нигде уже не используются, сам термин «файл» прочно закрепился в компьютерной терминологии.
Итак, организация информации на дисках вначале вполне соответствовала описанному выше сценарию. Для каждого диска создавался простой список имеющихся на нем файлов. При создании очередного файла информация о нем добавлялась в список, при уничтожении файла удалялась из списка. Объемы дисков быстро росли, а вместе с ними росло и количество файлов. Просматривать длинные списки в поисках нужного файла становилось утомительно.
Как быть, когда документов становится слишком много? Обычный путь — отсортировать документы по какому-либо критерию и сложить в папки для бумаг. Для каждой группы документов выделить отдельную папку. Если документов очень много, можно воспользоваться дополнительными внутренними разделителями, например: «счета», «накладные», «факсы», «заявки» и так далее. Все эти папки подписать и положить в шкаф.
То же самое и на компьютерах: документы — это файлы, папки с документами так и называются папки (folders), а шкаф — это весь диск целиком. Способ хранения файлов несколько усложнился: вместо простого списка файлов появились новые структурные единицы — папки, в которых могут находиться как файлы, так и другие папки, в которых, в свою очередь, могут находиться другие файлы и папки.
Многоуровневая организация, при которой каждый новый уровень следует из предыдущего, от высшего к низшему, называется иерархической. Соответственно и файловая система на диске получила название иерархической файловой системы — Hierarchical File System (HFS).
Иерархическая файловая система обеспечивает более удобный способ хранения и возможность быстрого поиска требуемой информации. Иногда о ней говорят как о файловом дереве. Действительно, если все это представить в графическом виде, то получится дерево корнями вверх. От диска, «корня» всей системы, отходят вниз «ветви» — папки первого уровня, от них «ветви» — папки второго уровня и так далее. На «ветвях» всех уровней могут находиться «листья» — файлы. Строго говоря папка — это тоже файл, только содержит в себе не документ или программу, а информацию о других папках и файлах, «находящихся» в этой папке.
Каждый файл имеет свое имя и учетный номер, который называется идентификатором файла. Об идентификаторе мы мало что знаем — это внутренний параметр системы и обрабатывается системными программами, а вот имя файла нам вполне доступно. Во многих случаях мы можем изменять имя файла по своему усмотрению. Но некоторые имена файлов и их местоположение на диске строго предопределены. Изменение имен таких файлов или изменение их местоположения может привести к потере работоспособности системы. Поэтому никогда не переименовывайте и не перемещайте системные файлы.
Путь к файлу
• путь к файлу, разделители фрагментов пути
• полный путь, частичный путь Если требуется указать местоположение конкретного файла в файловой структуре, записывают путь (path) к нему, то есть перечисляют имена всех папок, через которые надо пройти, чтобы добраться до требуемого файла. Имя самого файла указывается в этом списке последним. Имена папок в пути разделяются специальным символом. Файловые системы HFS и HFS+, стандартные для Mac OS, в качестве разделителя используют двоеточие, а в файловой системе UFS, распространенной в UNIXe, разделителем является символ «/» (slash). В иллюстративных материалах по Mac OS X чаще всего встречается «/» — не избежное влияние UNIXa, но истинное значение символа разделителя определяется файловой системой носителя, на котором находится файл, а не операционной системой.
В большинстве случаев путь начинается с «корня» системы — с имени диска. Такой путь называется полным, например: MacOSX/Users/Petrov/Documents/PriceLists.
Иногда достаточно указать только часть полного пути, начиная с некоторого места файловой структуры, например от папки, в которой вы в данный момент находитесь. Такой путь называется частичным, например: /Documents/PriceList.
⇐Диски, файлы, файловая система | Mac OS X | Форматирование дисков⇒
Структура иерархии файлов Linux — GeeksforGeeks
Структура иерархии файлов Linux или Стандарт иерархии файловой системы (FHS) определяет структуру каталогов и содержимое каталогов в Unix-подобных операционных системах. Он поддерживается Linux Foundation.
- В FHS все файлы и каталоги появляются в корневом каталоге /, даже если они хранятся на разных физических или виртуальных устройствах.
- Некоторые из этих каталогов существуют только в определенной системе, если установлены определенные подсистемы, такие как X Window System.
- Большинство этих каталогов существует во всех операционных системах UNIX и обычно используются одинаково; однако приведенные здесь описания используются специально для FHS и не считаются авторитетными для платформ, отличных от Linux.
1. / (Корень): Корневой каталог первичной иерархии и корневой каталог всей иерархии файловой системы.
- Каждый файл и каталог начинается с корневого каталога
- Единственный пользователь root имеет право записи в этот каталог
- / root — это домашний каталог пользователя root, который не совпадает с /
2./ bin: Основные двоичные файлы команд, которые должны быть доступны в однопользовательском режиме; для всех пользователей, например, cat, ls, cp.
- Содержит двоичные исполняемые файлы
- Общие команды Linux, которые необходимо использовать в однопользовательских режимах, находятся в этом каталоге.
- Здесь расположены команды, используемые всеми пользователями системы, например ps, ls, ping, grep, cp
3. / boot: Файлы загрузчика, например ядра, initrd.
- Файлы ядра initrd, vmlinux, grub находятся в / boot
- Пример: initrd.img-2.6.32-24-generic, vmlinuz-2.6.32-24-generic
4 . / dev: Основные файлы устройств, например / dev / null.
- К ним относятся терминальные устройства, USB или любое устройство, подключенное к системе.
- Пример: / dev / tty1, / dev / usbmon0
5./ etc: Системные файлы конфигурации для конкретного хоста.
- Содержит файлы конфигурации, необходимые для всех программ.
- Он также содержит сценарии запуска и завершения работы, используемые для запуска / остановки отдельных программ.
- Пример: /etc/resolv.conf, /etc/logrotate.conf.
6. / home: Домашние каталоги пользователей, содержащие сохраненные файлы, личные настройки и т. Д.
- Домашние каталоги для всех пользователей для хранения своих личных файлов.
- пример: / home / kishlay, / home / kv
7. / lib: Библиотеки, необходимые для двоичных файлов в / bin / и / sbin /.
- Имена файлов библиотеки: ld * или lib * .so. *
- Пример: ld-2.11.1.so, libncurses.so.5.7
8. / media: точек монтирования для съемных носителей, таких как CD-ROM (появилось в FHS-2.3).
- Временный каталог монтирования для съемных устройств.
- Примеры, / media / cdrom для CD-ROM; / media / floppy для дисководов гибких дисков; / media / cdrecorder для записи компакт-дисков
9. / mnt: Временно смонтированные файловые системы.
- Временный каталог монтирования, в который системные администраторы могут монтировать файловые системы.
10. / opt: Дополнительные пакеты прикладного программного обеспечения.
- Содержит дополнительные приложения от отдельных поставщиков.
- Дополнительные приложения следует устанавливать в подкаталог / opt / или / opt /.
11. / sbin: Основные системные двоичные файлы, например, fsck, init, route.
- Как и / bin, / sbin также содержит двоичные исполняемые файлы.
- Команды linux, расположенные в этом каталоге, обычно используются системным администратором для обслуживания системы.
- Пример: iptables, reboot, fdisk, ifconfig, swapon
12. / srv: Данные для конкретного сайта, обслуживаемые этой системой, такие как данные и сценарии для веб-серверов, данные, предоставляемые FTP-серверами , и репозитории для систем контроля версий.
- SRV — сервис.
- Содержит данные, относящиеся к конкретным службам сервера.
- Например, / srv / cvs содержит данные, относящиеся к CVS.
13. / tmp: Временные файлы. Часто не сохраняется между перезагрузками системы и может быть сильно ограничен по размеру.
- Каталог, содержащий временные файлы, созданные системой и пользователями.
- Файлы в этом каталоге удаляются при перезагрузке системы.
14. / usr: Вторичная иерархия для пользовательских данных только для чтения; содержит большинство (многопользовательских) утилит и приложений.
- Содержит двоичные файлы, библиотеки, документацию и исходный код для программ второго уровня.
- / usr / bin содержит двоичные файлы для пользовательских программ. Если вы не можете найти двоичный файл пользователя в / bin, поищите в / usr / bin. Например: at, awk, cc, less, scp
- / usr / sbin содержит двоичные файлы для системных администраторов.Если вы не можете найти системный двоичный файл в / sbin, поищите в / usr / sbin. Например: atd, cron, sshd, useradd, userdel
- / usr / lib содержит библиотеки для / usr / bin и / usr / sbin
- / usr / local содержит пользовательские программы, которые вы устанавливаете из исходного кода. Например, когда вы устанавливаете apache из исходного кода, он находится в / usr / local / apache2
- / usr / src содержит исходные коды ядра Linux, файлы заголовков и документацию.
15./ proc: Виртуальная файловая система, предоставляющая информацию о процессах и ядре в виде файлов. В Linux соответствует монтированию procfs. Обычно автоматически генерируется и заполняется системой на лету.
- Содержит информацию о системном процессе.
- Это псевдофайловая система, содержащая информацию о запущенном процессе. Например: каталог / proc / {pid} содержит информацию о процессе с этим конкретным pid.
- Это виртуальная файловая система с текстовой информацией о системных ресурсах.Например: / proc / uptime
Современные дистрибутивы Linux включают каталог / run в качестве временной файловой системы (tmpfs), в которой хранятся изменчивые данные времени выполнения, следуя FHS версии 3.0. Согласно версии 2.3 FHS, такие данные хранились в / var / run, но в некоторых случаях это было проблемой, поскольку этот каталог не всегда доступен при ранней загрузке. В результате этим программам пришлось прибегнуть к хитрости, например, с использованием / dev /.Каталоги udev, /dev/.mdadm, /dev/.systemd или /dev/.mount, даже если каталог устройства не предназначен для таких данных. Помимо других преимуществ, это упрощает нормальное использование системы с корневой файловой системой. установлен только для чтения. Например, ниже представлены изменения, внесенные Debian в его выпуск Wheezy 2013 года:
- /dev/.*? / запустить / *
- / dev / shm? / запустить / шм
- / дев / шм / *? / run / *
- / etc / * (файлы с возможностью записи)? / запустить / *
- / lib / init / rw? / запустить
- / var / lock? / run / lock
- / var / run? / запустить
- / tmp? / run / tmp
? list = PLqM7alHXFySFc4KtwEZTANgmyJm3NqS_L
Автор статьи Кишлай Верма .Если вам нравится GeeksforGeeks, и вы хотели бы внести свой вклад, вы также можете написать статью на сайте deposit.geeksforgeeks.org или отправить свою статью по электронной почте: [email protected]. Смотрите, как ваша статья появляется на главной странице GeeksforGeek, и помогайте другим гикам.
Пожалуйста, напишите комментарии, если вы обнаружите что-то неправильное, или если вы хотите поделиться дополнительной информацией по теме, обсуждаемой выше.
Иерархическая файловая система — обзор
4.3 История операционных систем
Большинство операционных систем для больших мэйнфреймов являются прямыми потомками систем третьего поколения, таких как Honeywell Multics, IBM VI и VM / 370 и CDC Scope.Эти системы представили важные концепции, такие как разделение времени, мультипрограммирование, виртуальная память, иерархические файловые системы и независимый от устройства ввод / вывод (Denning, 1971, 1976).
В 1960-х годах было построено множество экспериментальных систем с разделением времени для проверки нескольких новых концепций операционных систем. К ним относятся совместимая система разделения времени (CTSS) Массачусетского технологического института, система множественного доступа Кембриджского университета, IBM TSS / 360, а также операционные системы для Атласа Манчестерского университета и RCA Spectra / 70.Самым амбициозным проектом из всех был Multics (Multiplexed Information and Computing Service) для процессора General Electric 645 (Organick, 1972). Multics одновременно тестировала множество новых концепций, таких как процессы, межпроцессное взаимодействие, сегментированная виртуальная память, иерархическая файловая система, независимость от устройств и т. Д. Перенаправление ввода-вывода , языковая оболочка высокого уровня.
Пожалуй, наиболее влиятельной операционной системой в настоящее время является UNIX, полная переработка Multics, первоначально разработанная в AT&T Bell Laboratories для компьютеров DEC PDP.Хотя его размер намного меньше, чем у Multics, UNIX сохраняет большинство полезных характеристик своего предшественника. Здесь также представлена труба. Мощный, но простой командный язык оболочки вместе с большой библиотекой служебных программ делают UNIX чрезвычайно высокопроизводительной системой для профессионалов в области информации. Большая часть UNIX написана на языке высокого уровня C, что позволяет переносить ее на самые разные процессоры от мэйнфреймов до персональных компьютеров (Ritchie and Thompson, 1974; Kernighan and Pike, 1984).
Несмотря на то, что AT&T разработала UNIX, давние положения антимонопольного законодательства не позволяли AT&T продавать продукты на базе UNIX или UNIX. Исходный код был предоставлен университетам в образовательных целях. Эта политика открытия исходного кода оказала положительное влияние на компьютерную индустрию. Это позволило новым производителям оборудования, таким как SUN, Apollo и Silicon Graphics, сосредоточиться на проектировании оборудования, не вкладывая огромных капиталов в разработку операционных систем. С другой стороны, производители использовали для добавления собственных улучшений и функций, чтобы отличать их от других вариантов UNIX.Таким образом, быстро появляются новые версии UNIX, что приводит к сложной и запутанной истории. Две наиболее влиятельные версии, созданные в середине 1980-х, — это AT&T System V и 4.xBSD (Berkeley UNIX) факультета компьютерных наук Калифорнийского университета в Беркли. Многие знакомые функции UNIX появились в академических кругах. Berkeley UNIX был источником реализации TCP / IP, сокетов и многих распространенных утилит UNIX.
Хотя совместимость оставалась проблемой для многих версий, UNIX продолжал процветать, потому что это была единственная операционная система, основанная на относительно открытых стандартах, не контролируемая одним поставщиком, которая могла использоваться в качестве альтернативы мэйнфреймам.
POSIX — первая серьезная попытка примирить две разновидности UNIX, спонсируемая Советом по стандартам IEEE, весьма уважаемым нейтральным органом. Комитет POSIX разработал серию стандартов, известных как 1003.n-yyyy, , где 1003 — это проект IEEE POSIX, n обозначает документ, а yyyy — год выполнения стандарта или последнего изменения. Он определяет набор библиотечных процедур, которые должна предоставлять каждая совместимая система UNIX.Фактически, под зонтиком POSIX существует более 20 стандартов и проектов документов. 1003.1–1990 описывает интерфейсы к службам операционной системы на уровне исходного кода. Он описывает синтаксис (на языке C) и поведение, а не реализацию интерфейса операционной системой. 1003.2–1992 описывает программируемую оболочку и связанные с ней утилиты (Walli, 1995).
В 1980-х годах для персональных компьютеров было разработано большое семейство операционных систем, включая MS-DOS, PC-DOS, Apple-DOS, CP / M.Когерент, Xenix и MINIX. Все эти системы имели ограниченные функции, изначально они были разработаны для 8- и 16-битных микропроцессорных микросхем с малой памятью. Скорости процессора и памяти персональных компьютеров теперь достаточно для поддержки полноценных операционных систем, таких как Linux, FreeBSD и Solaris от SUN (Torvalds, 1999; Bowman et al. , 1999).
С появлением в начале 1980-х годов мультипроцессоров и компьютерных сетей операционные системы начали управлять ресурсами нескольких компьютеров одновременно.Двумя ранними примерами являются операционные системы StarOS и Medusa для машины CM * (произносится «CM star»), мультикомпьютера, состоящего из нескольких десятков отдельных компьютеров, связанных специальной сетью (Jones et al. ., 1979; Ousterhout et al. ., 1980). Установленные операционные системы для одной машины, такие как UNIX и DEC’S VMS, эволюционировали, чтобы приспособиться к компьютерным сетям. Такие операционные системы обычно поддерживают стандарты доступа к файлам на удаленных серверах с любого компьютера в сети.Сетевая файловая система SUN (NFS) была одной из первых широко доступных файловых систем на основе UNIX, которая предоставляла единое пространство имен файлов поверх сети серверов и рабочих станций (Sandberg et al. , 1985). Система Andrew Carnegie-Mellon обеспечивает основанную на UNIX сетевую файловую систему, охватывающую более 5000 компьютеров по всему университетскому городку; он позволяет пользователям получать доступ к файлам, не зная их местоположения, и повышает производительность за счет кэширования целых файлов на отдельных узлах сети (Howard et al ., 1988).
В дополнение к распределенной файловой системе идеальная распределенная операционная система должна давать своим пользователям иллюзию единственного синергетического компьютера с коллективными вычислительными возможностями, извлеченными из набора разнородных компьютерных систем. Операционная система Mach, также разработанная в Университете Карнеги-Меллона, представляет собой типичную распределенную операционную систему. Он обрабатывает множество операций распределенной системы, включая единое пространство имен файлов, виртуальную общую вычислительную память и многопроцессорность; он также совместим с UNIX (Accetta et al ., 1986; Рашид и др. ., 1988). Другой пример — система Amoeba, разработанная командой Vrije Universiteit под руководством Эндрю Таненбаума (Tanenbaum, 1992).
При использовании компьютеров с массовым параллелизмом и тысячами процессоров возникают новые проблемы. Операционные системы для этих машин должны поддерживать чрезвычайно быструю синхронизацию и обмен данными между тысячами процессов. К каждому процессору могут быть подключены свои собственные устройства, и, следовательно, операционная система должна управлять тысячами каналов ввода / вывода одновременно.Концепции виртуальной памяти и разделения времени должны быть расширены, чтобы обеспечить массовый параллелизм. Возможно, самая важная проблема состоит в том, что среда программирования должна позволять писать параллельные программы с небольшими усилиями, превышающими то, что требуется для последовательных (Denning and Tichy, 1990).
По мере того, как возрастает потребность пользователей в мобильности, возрастает потребность пользователя носить с собой легкий портативный персональный компьютер и иметь возможность доступа к информации в Интернете.Аппаратные ресурсы, пропускная способность связи и сетевые возможности, доступные для этого типа персонального компьютера, чрезвычайно ограничены, поэтому доступные в настоящее время операционные системы, работающие на таких машинах, не смогут достичь наилучшей производительности. Разработка новой технологии для этой мобильной вычислительной среды становится новым вызовом для исследования операционных систем.
Стиль современного интерфейса прямого управления в значительной степени произошел от прототипа, разработанного в Исследовательском центре Xerox в Пало-Альто (PARC) в 1970-х годах.Zerox Star, доступная в 1981 году, была первой коммерческой компьютерной системой, оснащенной графическим интерфейсом пользователя. После нескольких неудачных случаев Macintosh от Apple, представленный в 1984 году, имел большой коммерческий успех. Он доминировал на рынке персональных компьютеров с графическим интерфейсом на протяжении всех 1980-х годов (Press, 1990). Начиная с Windows версии 1, версии 2 и версии 3, Microsoft продолжала пытаться отвести пользователей DOS от интерфейса командной строки к интерфейсу с графическим интерфейсом пользователя и, наконец, достигла своего доминирующего положения на рынке ПК с графическим интерфейсом после представления Windows 95 в 1995 году.Windows 98 была представлена в 1998 году, а Windows 2000 была представлена в 2000 году, как следует из их названия.
Что касается UNIX, система X Window, разработанная в Массачусетском технологическом институте, получила довольно широкую популярность. Вместо того, чтобы предписывать определенный стиль пользовательского интерфейса, X предоставляет примитивы для поддержки нескольких политик и стилей, так что не существует заводского стандарта для какого-либо конкретного стиля интерфейса. Система на основе X определяется сетевым протоколом, так что приложение может использовать окна на любом дисплее в сети независимым от устройств и прозрачным для сети способом (Scheifler and Gettys, 1986)
StorNext Scalable File System | Quantum
Патент № | Категория / Название |
---|---|
Обмен метаданными | |
81 | Уменьшение обмена сообщениями в системе клиент-сервер |
8554909 | Уменьшение обмена сообщениями в системе клиент-сервер |
9456041 | Способ и устройство для сокращения обмена сообщениями в системе клиент-сервер путем выборочного перехода в режим состояния |
9342568 | Уменьшение объема связи контроллера метаданных |
Кэш сжатых метаданных | |
9176887 | Кэш метаданных блочного буфера сжатого второго уровня |
Интеллектуальная буферизация | |
8977590 | Интерфейсный интеллект для мониторинга внутреннего состояния |
Журнал метаданных | |
90 | Журнал многопоточной передачи сообщений |
9483356 | Резервирование эвристического журнала |
Метаданные файловой системы включают имена файлов, местоположения, временные метки, разрешения, флаги и другие атрибуты.Это отличается от метаданных контента — таких вещей, как исполнитель, номер дорожки и битрейт. StorNext управляет метаданными файловой системы, оставляя управление метаданными контента внешним приложениям. Операции с метаданными должны быть быстрыми и эффективными, чтобы не снижать производительность файловой системы. Для этого StorNext хранит метаданные отдельно от файловых данных и даже может передавать метаданные по отдельной сети от данных. Запатентованный сжатый кэш метаданных L2 гарантирует, что все или большая часть метаданных будет считываться из ОЗУ, а запатентованная система буферизации ускоряет запись метаданных.Многие дополнительные патенты охватывают достижения в области обмена метаданными и ведения журналов файловой системы. Специальная запатентованная пространственная база данных используется для архивирования всех изменений метаданных, устраняя необходимость сканирования для обнаружения изменений в файловой системе.
|
|
Глава 6 Файловые системы 6.1 Файлы 6.2 Каталоги
Презентация на тему: «Глава 6 Файловые системы 6.1 Файлы 6.2 Каталоги» — стенограмма презентации:
ins [data-ad-slot = «4502451947»] {display: none! important;}} @media (max-width: 800px) {# place_14> ins: not ([data-ad-slot = «4502451947»]) {display: none! important;}} @media (max-width: 800px) {# place_14 {width: 250px;}} @media (max-width: 500 пикселей) {# place_14 {width: 120px;}} ]]> 1 Глава 6 Файловые системы 6.1 Файлы 6.2 Каталоги
6.3 Реализация файловой системы 6.4 Примеры файловых систем
2 Файлы Требования к долгосрочному хранению информации:
Должны хранить большие объемы данных Сохраняемая информация должна пережить завершение процесса, использующего ее. Несколько процессов должны иметь возможность одновременного доступа к информации Решение: Хранить информацию на диске или другом внешнем носителе в единицах так называемые файлы.Файловая система — это часть операционной системы, которая управляет файлами.
3 Файлы Именование файлов — имя файла. Расширение файла Структура файла
неструктурированная последовательность байтов. Последовательность записей MS-DOS / UNIX CP / M B-дерево.
4 Типичные расширения файлов.
Именование файлов Типичные расширения файлов.
5 Структура файла Три вида файлов, дерево последовательности записей байтовой последовательности
6 Файлы Типы файлов Обычные файлы содержат информацию о пользователе в кодировке ASCII или двоичном формате. Каталоги — это системные файлы для поддержания структуры файловой системы. Специальные символьные файлы используются для моделирования устройств последовательного ввода-вывода, таких как терминалы, принтеры и сети.Блочные специальные файлы используются для моделирования дисков. Исполняемый файл UNIX имеет магический номер, идентифицирующий файл как исполняемый файл.
7 Типы файлов (а) Исполняемый файл (б) Архив
8 Доступ к файлам Последовательный доступ Произвольный доступ
Прочитать все байты / записи с самого начала не может, можно было перемотать назад или выполнить резервное копирование удобно, когда носитель был магнитной лентой Произвольный доступ байты / записи читались в любом порядке, необходимом для систем баз данных Два метода используются для указав, с чего начать чтение.прочитать и затем переместить маркер файла переместить маркер файла (поиск), затем прочитать
9 Возможные атрибуты файла
Операционные системы связывают дополнительную информацию с каждым файлом, называемую атрибутами файла. Возможные атрибуты файла
10 Операции с файлом Создать Добавить Удалить Поиск Открыть Получить атрибуты Закрыть
Чтение Запись Добавить Поиск Получить атрибуты Установить атрибуты Переименовать
11 Пример программы, использующей вызовы файловой системы
12 Пример программы, использующей вызовы файловой системы
13 Файлы с отображением в память (Ex11.c)
Для облегчения доступа к файлам в системе предусмотрены системные вызовы для отображения файлов в адресное пространство запущенного процесса и удаления (отмены отображения) файлов из адресного пространства. Файловые службы в качестве резервного хранилища для процесса, и когда процесс завершается, все отображенные измененные страницы записываются обратно в свои файлы. Преимущество: устранение необходимости ввода-вывода. Недостаток: трудно узнать размер выходного файла. В случае всех нулей 10 0 ?? или 100 нулей ?? Отображенный файл, измененный одним процессом, по-разному читается другим.Два процесса должны видеть согласованные представления файла. файл может быть слишком большим, чтобы уместиться.
14 Файлы с отображением в память (a) Сегментированный процесс перед отображением файлов в его адресное пространство (b) Процесс после отображения существующего файла abc в один сегмент, создавая новый сегмент для xyz
15 Каталоги В файловых системах есть каталоги или папки для отслеживания файлов.Одноуровневый каталог имеет один каталог (корень), содержащий все файлы. Двухуровневый каталог имеет корневой каталог и пользовательские каталоги. Иерархический каталог имеет корневой каталог и произвольное количество подкаталогов. Для указания имен файлов в дереве каталогов используются два разных метода: Абсолютное имя пути состоит из пути от корневого каталога к файлу. Относительное имя пути состоит из пути из текущего каталога (рабочего каталога).
16
Каталоги — одноуровневая система каталогов
содержит 4 файла, принадлежащих 3 разным людям: A, B и C.
17 Двухуровневая система каталогов
Буквы указывают владельцев каталогов и файлов
18 Иерархическая система каталогов
Иерархическая система каталогов
19
Каталоги Имя пути должно быть записано:
Winodws \ usr \ ast \ mailbox UNIX / usr / ast / mailbox MULTICS> usr> ast> mailbox Точка и точка точка — это две особые записи в файловой системе.Точка (.) Относится к текущему каталогу. Точка (..) указывает на его родителя.
20 Имена путей Дерево каталогов UNIX
21 год Операции с каталогом Readdir Создать Переименовать Удалить ссылку Opendir Отменить связь
Closedir
22 Реализация файловой системы
Структура файловой системы: MRB (Master Boot Record) используется для загрузки компьютера.В таблице разделов указаны начальный и конечный адреса каждого раздела. Разделы: первый блок, загрузочный блок, активного раздела считывается программой MRB при загрузке системы. Суперблок содержит все ключевые параметры файловой системы. Информация о бесплатных блоках i-узлов рассказывает все о файле. Корневой каталог Каталоги и файлы
23 Реализация файловой системы
Возможная структура файловой системы
24 Реализация файловой системы
Реализация файлового хранилища отслеживает, какие блоки диска идут с какими файлами.Непрерывное размещение — храните каждый файл как непрерывный блок данных. Преимущество: простота реализации Превосходная производительность чтения. Недостаток: фрагментация диска. При создании файла необходимо знать максимальный размер файла. Пример: CD-ROM, DVD и оптические носители с однократной записью. Распределение связанного списка — сохранить связанный список дисковых блоков.
25 Реализация файлов (a) Непрерывное выделение дискового пространства для 7 файлов
(b) Состояние диска после удаления файлов D и E
26 год Сохранение файла в виде связанного списка дисковых блоков
Реализация файлов Сохранение файла в виде связанного списка дисковых блоков
27 Реализация файловой системы
Распределение связных списков с использованием индекса — взять слово указателя таблицы из каждого блока и поместить их в индексную таблицу, FAT (Таблица размещения файлов) в памяти.Недостаток — вся таблица должна находиться в памяти все время, когда I-узел (index-node) перечисляет атрибуты и адреса дисков блоков файла.
28 год Распределение связанного списка с использованием таблицы размещения файлов в ОЗУ
Реализация распределения файлов в связном списке с использованием таблицы размещения файлов в ОЗУ
29 Реализация файлов Пример i-узла
30 Каталоги реализации
При открытии файла файловая система использует имя пути для поиска записи каталога.Каталог предоставляет информацию, необходимую для поиска дисковых блоков. дисковый адрес всего файла (смежные блоки) номер первого блока (связанный список) номер i-узла (i-node) Где хранить атрибуты? В каталоге или на i-узле?
31 год Реализация каталогов
(a) Простой каталог — адреса дисков фиксированного размера записей MS-DOS / Windows и атрибуты в записи каталога (b) Каталог, в котором каждая запись просто ссылается на i-узел — UNIX
32 Каталоги реализации
Обработка длинных имен файлов в каталоге: Имена фиксированной длины (пустое пространство) In-line (при удалении файла появляется пробел переменного размера.) Куча (Управление кучей требует дополнительных усилий.) Как искать файлы в каждом каталоге? Таблица линейного хеширования. Кэширование результатов поиска.
33 Реализация каталогов
Два способа обработки длинных имен файлов в каталоге (a) В строке (b) В куче
34 Общие файлы Общий файл используется для того, чтобы файл мог отображаться в нескольких каталогах.Связь между каталогом и общим файлом называется ссылкой. Файловая система — это направленный ациклический граф (DAG). Проблема: если каталоги содержат адрес диска, копия адреса диска должна быть сделана в каталоге B. Что, если A или B добавят файл, новые блоки появятся только в одном каталоге.
35 год Общие файлы Решение:
Не перечислять адреса дисковых блоков в каталогах, а в небольшой структуре данных.(используйте i-node) (жесткая ссылка) Создайте новый файл типа link, который содержит путь к файлу, с которым он связан символическая ссылка
36 Файловая система, содержащая общий файл
Общие файлы Файловая система, содержащая общий файл
37 Общие файлы ln file1 file2
Проблема с жесткой ссылкой — когда нужно удалять i-node? Предположим, A: rm file2 может установить count = 1 и оставить неизменным i-узел.когда count = 0, удалить файл и i-узел. Приведенная выше проблема не возникает в символической ссылке, потому что только каталог владельца имеет указатель на i-узел. Проблема заключается в дополнительных накладных расходах на пути перемещения. Другая проблема заключается в том, что несколько копий файла могут быть скопированы при выгрузке файлов на диск (tar). не спускаться по пути с символическими ссылками.
38 Общие файлы (а) Ситуация до связывания
(б) После создания ссылки (в) После того, как первоначальный владелец удаляет файл
39 Управление дисковым пространством Стратегии для хранения n-байтового файла:
Выделить n последовательных байтов дискового пространства — сегмент Выделить количество [n / k] блоков размером k байтов каждый — проблема с подкачкой — если файл растет, он должен быть перемещается на диск, это дорогостоящая операция и вызывает внешнюю фрагментацию.Решение. Все файловые системы разбивают файлы на блоки фиксированного размера, которые не должны быть смежными.
40 Размер блока При увеличении размера блока уменьшается использование дискового пространства (снижение эффективности использования пространства и внутренняя фрагментация). При уменьшении размера блока скорость передачи данных уменьшается (уменьшается эффективность по времени). Обычный размер k = 512 байт, 1 КБ (UNIX) или 2 КБ
41 год Управление дисковым пространством Размер блока Темная линия (левая шкала) показывает скорость передачи данных на диске Пунктирная линия (правая шкала) показывает эффективность использования дискового пространства Все файлы 2 КБ
42 Размер блока Пример: диск с 131072 байтами на дорожку.
время вращения = 8,33 мс, среднее время поиска = 10 мс. время чтения блока из k байтов = / 2 + (k / 131072) * 8,33 = k / * 8,33 Если k = 1 КБ = 1024 байта = / * 8,33 = = мс Эффективность дискового пространства =% блока, используемого данными . Наблюдение: Предположим, что все файлы имеют размер 1 кбайт, в среднем 1/2 последнего блока пуста.
43 год Отслеживание свободных блоков
Используйте связанный список дисковых блоков: каждый блок содержит столько номеров свободных блоков, сколько может поместиться.С блоком 1 КБ и 32-битным номером блока на диске 1024 * 8/32 = 256 номеров блоков на диске 255 свободных блоков (и) 1 указатель следующего блока. Использовать битовую карту: для диска с (n) блоками требуется битовая карта с (n) битами. Свободные блоки представлены единицей. Выделенные блоки представлены нулем. На диске размером 16 ГБ есть КБ и требуется 224 бита 2048 блоков. Использование связанного списка = 224 / 255 = блоки. Однако эти блоки могут быть освобождены по мере заполнения диска. Битовая карта обычно лучше, если ее можно полностью хранить в памяти.
44 год Управление дисковым пространством (a) Сохранение свободного списка в связанном списке
(b) Битовая карта
45 Управление дисковым пространством (a) Практически полный блок указателей на свободные блоки диска в ОЗУ — три блока указателей на диске (b) Результат освобождения файла из трех блоков (c) Альтернативная стратегия (разделение полного блока указателей) для обработка 3 свободных блоков — заштрихованные записи указывают на свободные блоки на диске
46 Квоты для отслеживания использования диска каждым пользователем
Квоты на управление дисковым пространством для отслеживания использования диска каждым пользователем
47 Надежность файловой системы
Потеря файловой системы может быть катастрофической.Методы защиты файловой системы: Резервное копирование сбойных блоков Аппаратное решение — выделите сектор в «список сбойных блоков» при запуске контроллера диска, считывается список сбойных блоков и выбирается запасной блок для замены каждого сбойного блока. записывается в список плохих блоков. Программное решение — пользователь или файловая система тщательно создают файл, содержащий все плохие блоки.
48 Надежность файловой системы
Резервные копии созданы для того, чтобы справиться: восстановление после аварии или глупости.Рекомендации по резервному копированию Вся или часть файловой системы Инкрементные дампы: дамп только файлов, которые изменились Сжатие Резервное копирование активной файловой системы Безопасность
49 Надежность файловой системы
Для записи с диска на ленту можно использовать две стратегии: Физический дамп: начинается с блока 0 до последнего. Преимущества: простой и быстрый Недостатки: резервное копирование всего. Логический дамп: запускается в одном или нескольких указанных каталогах и рекурсивно выгружает все файлы и каталоги, которые были изменены с некоторой заданной базовой даты.
50 Надежность файловой системы
Файл, который не изменился Файловая система, подлежащая выгрузке, квадраты — это каталоги, круги — это файлы, заштрихованные элементы, измененные с момента последнего дампа, каждый каталог и файл, помеченные номером i-узла
51 Надежность файловой системы
Битовые карты, используемые алгоритмом логического дампа (после 4 фаз дамп завершается.) Все измененные файлы и все каталоги помечаются. Снимите отметку со всех каталогов, в которых нет измененных файлов. Выгрузите все каталоги, отмеченные для выгрузки. Выгрузите отмеченные файлы.
52 Согласованность файловой системы
Служебная программа, называемая программой проверки файловой системы (fsck в UNIX или scandisk в Windows), может использоваться для проверки целостности файловой системы. Могут быть выполнены два типа проверок согласованности: (а) блоки (б) файлы (каталог)
53 Согласованность файловой системы
Согласованность блоков: Создайте две таблицы со счетчиком на блок, изначально установленным на 0 Счетчики в первой таблице отслеживают, сколько раз каждый блок присутствует в файле.Счетчики второй таблицы записывают количество раз в свободном списке. Затем программа считывает все i-узлы и использует i-узлы для построения списка всех блоков, используемых в файлах (увеличивая счетчик файлов по мере того, как каждый блок читать). Проверьте свободный список или битовую карту, чтобы найти все блоки, которые не используются (увеличивайте счетчик свободного списка для каждого блока в свободном списке).
54 Надежность файловой системы
Состояния файловой системы (а) непротиворечивый (б) отсутствующий блок — добавить его в список свободных (в) повторяющийся блок в свободном списке — перестроить свободный список (г) повторяющийся блок данных — скопировать блок в свободный блок
55 Согласованность файловой системы
Для проверки каталогов — ведите список счетчиков для каждого файла, начиная с корневого каталога, рекурсивно проверяйте каждый каталог.Для каждого файла увеличьте счетчик использования этого файла (i-узла). Сравните вычисленное значение с количеством ссылок, хранящимся в каждом i-узле. Количество ссылок i-узла> вычисленное значение = количество записей каталога. Даже если все файлы удалены, количество ссылок i-узла> 0. Таким образом, i-узел не будет удален. Решение: установить число ссылок i-узла = вычисленное значение Число ссылок i-узла <вычисленное значение i-узел может быть освобожден, даже если на него указывает другой каталог, каталог будет указывать на неиспользуемый i-узел решение: установить i-узел количество ссылок = вычисленное значение Защита пользователя - rm *.о
56 Производительность файловой системы
Кэш блоков или буферный кеш — это совокупность блоков, которые логически принадлежат диску, но хранятся в памяти для повышения производительности. Все предыдущие алгоритмы замены подкачки могут использоваться для определения того, какой блок должен быть записан, когда требуется новый блок и кэш заполнен. Модифицированная схема LRU: Вряд ли в ближайшее время блок снова понадобится? Нет => перейти на передний план Блок необходим для согласованности файловой системы e.грамм. i-узлы и т. д.? Да => пиши немедленно
57 год Производительность файловой системы
Периодически следует записывать все блоки данных (например, запись работает весь день). UNIX — синхронизация системного вызова немедленно принудительно выгружает измененные блоки на диск. Ориентирован на жесткий диск. например обновление запускается в фоновом режиме во время синхронизации каждые 30 секунд MS-DOS — кэш со сквозной записью => все измененные блоки записываются немедленно.Ориентированный на дискету. например записывать блок размером 1К по одному символу за раз UNIX собирать затем вместе MS-DOS 1 за раз
58 Производительность файловой системы
Структуры данных блочного кэша
59 Производительность файловой системы
Для чтения блока требуется один доступ для i-узла и один для блока.Экономьте время доступа к i-узлу. (a) I-узлы, расположенные в начале диска (b) Диск, разделенный на группы цилиндров, каждая со своими блоками и i-узлами
60 Файловые системы с логической структурой
Чем быстрее ЦП, тем больше объем памяти кэша диска также может быть больше, увеличение количества запросов чтения может поступать из кеша, таким образом, большинство обращений к диску будут записываться Стратегия LFS структурирует весь диск, поскольку в журнале все записи изначально буферизованы в памяти периодически записывайте их в конце журнала диска при открытии файла, найдите i-узел по карте i-узла, затем найдите блоки
61 Примеры файловых систем CD-ROM Файловые системы
Запись каталога ISO 9660
62 Структура памяти файловой системы CP / M в CP / M
63 Формат записи каталога CP / M
Файловая система CP / M Формат записи каталога CP / M
64 Запись каталога MS-DOS
Файловая система MS-DOS Запись каталога MS-DOS
65 Файловая система MS-DOS Максимальный раздел для блоков разного размера
Пустые поля представляют запрещенные комбинации
66 Файловая система Windows 98
байтов Расширенная запись каталога MOS-DOS, используемая в Windows 98
67 Файловая система Windows 98
Bytes Checksum Запись (часть) длинного имени файла в Windows 98
68 Файловая система Windows 98
Пример того, как длинное имя сохраняется в Windows 98
69 Запись каталога UNIX V7
Файловая система UNIX V7 Запись каталога UNIX V7
70 Файловая система UNIX V7 A i-узел UNIX
71 Шаги поиска / usr / ast / mbox
Файловая система UNIX V7 Шаги поиска / usr / ast / mbox
Структура каталогов Linux (иерархия файловой системы), объясненная с примерами
Вы новичок в Linux? Если это так, я бы посоветовал вам сначала понять структуру каталогов Linux (иерархию файловой системы).Не паникуйте / не пугайтесь, увидев изображение ниже (Иерархия файловой системы). Возникает путаница по поводу / bin
, / sbin
, / usr / bin
и / usr / sbin
, не волнуйтесь, мы здесь, чтобы научить вас, как ребенка.
Стандарт иерархии файловой системы (FHS) определяет структуру файловых систем в Unix / Linux, как и операционные системы.
В Linux все является файлом, мы можем изменить что угодно, когда это необходимо, но убедитесь, что вы должны знать, что делаете.Если вы не знаете, что делаете и что-то сделали, не зная ничего, что потенциально может повредить вашу систему. Так что постарайтесь изучить основы, чтобы избежать подобных проблем в производственной среде.
/
: Корневой каталог — Корневой каталог первичной иерархии и корневой каталог всей иерархии файловой системы, которая содержит все другие каталоги и файлы. Обратите внимание, что /
и / корень
отличается.
/ bin
: Основные пользовательские двоичные файлы — Содержит основные пользовательские двоичные файлы, где все пользователи выполняют наиболее часто используемые основные команды, такие как ps, ls, ping, grep, cp и cat
/ boot
: статические загрузочные файлы — содержит файлы, относящиеся к загрузчику, которые необходимы для запуска системы, такие как Kernel initrd (начальный образ RAM-диска), vmlinuz (виртуальная память LINUx gZip — сжатый исполняемый файл ядра Linux) и grub (загрузчик Grand Unified).Обратите внимание, это vmlinuz
, а не vmlinux
vmlinuz — виртуальная память LINUX, несжатый исполняемый файл ядра Linux
/ dev
: Файлы устройств — содержат все файлы устройств для различных аппаратных устройств в системе, включая жесткие диски, RAM, CPU, tty, cdrom и т. Д. Это не обычные файлы.
/ etc
: Файлы конфигурации — содержат файлы глобальной конфигурации системы, которые влияют на поведение системы для всех пользователей, когда вы изменяете что-либо в ней.Также есть сценарий службы приложений, например (запуск, остановка, включение, выключение и состояние).
/ home
: домашние каталоги пользователей — домашние каталоги пользователей, в которых пользователи могут сохранять свои персональные файлы.
/ lib
: Основные общие библиотеки — Содержит важные динамические библиотеки и модули ядра, поддерживающие двоичные файлы, находящиеся в каталогах / bin и / sbin.
/ утерян + обнаружен
: Восстановленные файлы — Если файловая система дает сбой (это происходит по многим причинам, сбой питания, приложения не закрываются должным образом и т. Д.).) поврежденные файлы будут помещены в этот каталог. Проверка файловой системы будет выполнена при следующей загрузке.
/ media
: Removable Media — Временный каталог монтирования для внешних съемных носителей / устройств (дискеты, компакт-диски, DVD).
/ mnt
: Временные точки монтирования — Временный каталог монтирования, в котором мы можем временно монтировать файловые системы.
/ opt
: Дополнительные пакеты — opt означает необязательные, сторонние приложения могут быть установлены в каталоге / opt, который недоступен в официальном репозитории или проприетарном программном обеспечении.
/ proc
: файлы ядра и процессов — виртуальная файловая система, которая содержит информацию о запущенном процессе (/ proc / (pid), ядре и системных ресурсах (/ proc / uptime & / proc / vmstat).
/ root
: корневой домашний каталог — это домашний каталог суперпользователя, который не совпадает с /.
/ запустить
: Файлы состояния приложения — это tmpfs (временная файловая система), доступная в начале процесса загрузки, более поздние файлы обрезаются в начале процесса загрузки.
/ sbin
: Двоичные файлы системного администрирования — / sbin
также содержит двоичный исполняемый файл, аналогичный / bin, но для выполнения команд требуется привилегия суперпользователя, которая используется для обслуживания системы.
/ selinux
: Виртуальная файловая система SELinux — Linux с повышенной безопасностью (SELinux) — это модуль безопасности ядра Linux, который обеспечивает механизм для поддержки политик безопасности контроля доступа, применимых для систем на основе RPM, таких как (RHEL, CentOS, Fedora, Oracle Linux, Scentific Linux и openSUSE).
/ srv
: Сервисные данные — SRV означает сервис, содержат каталоги данных различных сервисов, предоставляемых системой, таких как HTTP (/ srv / www /) или FTP (/ srv / ftp /)
/ sys
: виртуальная файловая система или псевдофайловая система (sysfs) — Современные дистрибутивы Linux включают каталог / sys, начиная с ядер 2.6.X. Он предоставляет набор виртуальных файлов, экспортируя информацию о различных подсистемах ядра, аппаратных устройствах и связанных драйверах устройств из модели устройства ядра в пространство пользователя.
/ tmp
: временный каталог — / tmp
означает временные (временные файлы) — приложения хранят временные файлы в каталоге / tmp, когда он запущен / требуется. Что будет автоматически удалено при следующей перезагрузке.
/ usr
: Пользовательские двоичные файлы — Содержит двоичные файлы, библиотеки, документацию и исходный код для программ второго уровня (данные пользователя только для чтения). Командные двоичные файлы (/ usr / bin), системные двоичные файлы (/ usr / sbin), библиотеки (/ usr / lib) для двоичных файлов.исходный код (/ usr / src), документы (/ usr / share / doc).
/ var
: Переменная — var означает переменную, она содержит файлы кеша приложения (/ var / cache), менеджер пакетов и файлы базы данных (/ var / lib), файл блокировки (/ var / lock), различные журналы (/ var / log), почтовые ящики пользователей (/ var / mail), очереди печати и очередь исходящей почты (/ var / spool)
Наслаждайтесь…)
динамических неиерархических файловых систем @ SSRC
Современные системы высокопроизводительных вычислений (HEC) должны управлять петабайтами (или эксабайтами) данных, хранящихся в миллиардах файлов, однако современные методы именования файлов и управления ими были разработаны 40 лет назад для коллекций из тысяч файлов.Поэтому пользователи HEC вынуждены адаптировать свое использование, чтобы соответствовать устаревшей модели файловой системы и интерфейсу, непригодным для эксафлопсных систем. У нас была возможность встретиться с учеными из нескольких национальных лабораторий. Мы поговорили с ними о науке, которой они занимаются, и о том, как они используют суперкомпьютеры.
Из этих обсуждений мы извлекли несколько уроков: 1) Иерархические пространства имен стали скорее помехой, чем помощью; 2) В настоящее время ученым легче и быстрее управлять своими собственными метаданными, чем пытаться искать данные, которые они сохранили; 3) Хотя найти некоторые данные может быть легко, найти правильные или хорошие данные — нет.Из этих наблюдений мы можем видеть, что простое изменение существующих высокопроизводительных файловых систем и необходимое хранилище дополнительных семантических метаданных было бы прискорбно недостаточным.
Мы предлагаем разработать радикально другую структуру файловой системы, которая решает эти проблемы напрямую, и которая будет использовать источник (запись данных и процессов, которые способствовали его созданию), содержимое файла и богатые семантические метаданные, чтобы предоставить масштабируемый файл с возможностью поиска. пространство имен.Такое пространство имен позволит отслеживать данные по мере их продвижения в научном рабочем процессе. Это позволяет ученым лучше находить и использовать нужные им данные, используя как контент, так и историю данных для идентификации и управления хранимой информацией. Мы используем знакомую метафору, основанную на поиске, чтобы предоставить начальный простой в использовании интерфейс, который позволяет пользователям находить нужные им файлы и оценивать подлинность и качество этих файлов. Для реализации этого видения требуются успехи в исследованиях в области проектирования и реализации динамических, неиерархических файловых систем, крупномасштабного управления метаданными, эффективного масштабируемого индексирования и автоматического определения происхождения.
Мы предлагаем динамическую неиерархическую файловую систему, которая включает автоматически собираемые источники информации в дополнение к традиционным метаданным. Источник информационного потока автоматически создает и отслеживает отношения между файлами, позволяя связать файл визуализации с входной колодой, использованной для его создания, а также с выполненными вычислениями. Это динамическое и автоматическое добавление отношений не только позволит пользователю получить персонализированное представление связанных данных, но также потенциально позволит пользователю устанавливать соединения, которые он / она в противном случае не мог бы видеть.
Мы изучаем преимущества, которые можно получить за счет расширения функциональных возможностей, предоставляемых индексами файловой системы, предоставляя функции, обычно недоступные в текущих файловых системах и поисковых индексах. В настоящее время мы работаем над созданием единого пространства поиска по традиционным метаданным, метаданным на основе контента и происхождению, которое поможет находить соответствующие файлы независимо от того, где они хранятся. Мы изучили научные метаданные из различных дисциплин, чтобы лучше понять их свойства.Большинство исследований метаданных сосредоточено на метаданных POSIX, которые являются однородными, низкоразмерными, преимущественно числовыми и не имеют пропущенных значений. Однако мы обнаружили, что научные метаданные неоднородны, многомерны, представляют собой смесь числовых, текстовых и категориальных и очень редки (даже в пределах одной дисциплины и типа объекта). Мы используем данные этого исследования, чтобы сделать выбор при разработке нового типа индекса научных данных по запросу.
Кроме того, поиск должен обеспечивать безопасность файлов, однако сделать это эффективно непросто.Наши методы позволяют использовать информацию о безопасности во время секционирования индекса и встраивать в каждую секцию. Это позволяет нам удалять разделы с неправильными разрешениями из области поиска, повышая производительность и потенциально изменяя порядок возвращаемых результатов.
Метаданные файловой системы следует рассматривать как вспомогательное средство для управления данными и доступа к ним, а не как жесткую и ограниченную структуру, которой должен соответствовать пользователь. С этой целью мы предлагаем улучшить управление метаданными, чтобы обеспечить бесперебойную поддержку основанного на поиске динамического интерфейса для файлов.Поиск в файловой системе обеспечивает чистую и мощную абстракцию от файловой системы. Часто проще указать, что нужно, с помощью метаданных файла и расширенных атрибутов, чем указывать, где это найти. Доступные для поиска метаданные позволяют пользователям и администраторам задавать сложные специальные вопросы о свойствах сохраняемых файлов, помогая им находить, управлять и анализировать свои данные.
Интернет-пользователи знакомы с проблемой «информационной перегрузки» в ответ на поисковый запрос; мы уменьшим эту проблему в нашей системе, добавив ранжирование по важности и облегчив поиск, который ограничен локальным регионом графа происхождения и взаимосвязи.Эта комбинация информации о файловых отношениях и метаданных для каждого файла может значительно улучшить качество поиска, поэтому мы рассмотрим подходы, которые позволяют запросам включать эту информацию.
Для ранжирования мы изучаем анализ собственных векторов на графе происхождения, аналогичный PageRank в Google. Как и в случае с веб-графом, происхождение позволяет нам исследовать, какие файлы, по мнению ученых, полезны и из которых стоит извлечь. Однако наивное применение PageRank к графику происхождения просто приводит к тому, что часто используемые корни (такие как gcc) считаются наиболее важными.Вместо этого, изменяя функцию перехода PageRank, мы можем отдавать предпочтение более новым, менее распространенным, но все же часто используемым файлам.
По мере того, как мы увеличиваем объем хранимой информации и к которой нам необходим доступ, оптимизация вычислительной системы становится все более важной. Такая система должна быть достаточно быстрой, чтобы реагировать на запросы пользователя, сохраняя при этом равновесие между экономией энергии и использованием системы в полной мере. Это должно быть выполнено без заметного снижения надежности и безопасности системы.
Мы разрабатываем инструменты, которые помогут создать сбалансированную, надежную и безопасную систему любого масштаба.