Файловая структура диска: Файловая структура диска. Виды файлов и их обозначение (стр. 5 из 5)

Содержание

что такое файловая структура диска

8. Чертёжнику был дан для исполнения следующий алгоритм: Повтори 4 paз Сместиться на (−1, −1) Сместиться на (2, 2) Сместиться на (3, −3) Конец Каку … ю команду надо выполнить Чертёжнику, чтобы вернуться в исходную точку, из которой он начал движение?

7. Чертёжнику был дан для исполнения следующий алгоритм: Повтори 2 paз Команда1 Сместиться на (1, 3) Сместиться на (1, −2) Конец Сместиться на (2, 6) … После выполнения этого алгоритма Чертёжник вернулся в исходную точку. Какую команду надо поставить вместо команды Команда1?

Мені здається, що правильна відповідь - 4

6. Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 7. Система команд Кузнечика: Вперед 9 – Кузнечик прыгает вперёд н … а 9 единиц, Назад 4 – Кузнечик прыгает назад на 4 единицы. Какое наименьшее количество раз должна встретиться в программе команда «Назад 4», чтобы Кузнечик оказался в точке 77?

5. Исполнитель КУЗНЕЧИК живёт на числовой оси. Начальное положение КУЗНЕЧИКА – точка 0. Система команд Кузнечика: Вперед 7 – Кузнечик прыгает вперёд н … а 7 единиц, Назад 3 – Кузнечик прыгает назад на 3 единицы. Какое наименьшее количество раз должна встретиться в программе команда «Назад 3», чтобы Кузнечик оказался в точке 29?

4. Черепашке был дан для исполнения следующий алгоритм: Повтори 6 [Вперёд 80 Направо 72]. Какая фигура появится на экране? 1) правильный пятиугольник … 2) правильный треугольник 3) правильный шестиугольник 4) незамкнутая ломаная линия

3. Черепашке был дан для исполнения следующий алгоритм: Повтори 7 [Вперёд 80 Направо 60]. Какая фигура появится на экране? 1) правильный пятиугольник … 2) правильный треугольник 3) правильный шестиугольник 4) незамкнутая ломаная линия

2. У исполнителя Вычислитель две команды, которым присвоены номера: 1. умножь на 3 2. вычти 5 Первая из них увеличивает число на экране в 3 раза, втор … ая уменьшает его на 5. Составьте алгоритм получения из числа 8 числа 36, содержащий не более 5 команд. В ответе запишите только номера команд.

1. У исполнителя Альфа две команды, которым присвоены номера: 1. прибавь 2; 2. раздели на b (b — неизвестное натуральное число; b ≥ 2). Выполняя перву … ю из них, Альфа увеличивает число на экране на 2, а выполняя вторую, делит это число на b. Программа для исполнителя Альфа — это последовательность номеров команд. Известно, что программа 12111 переводит число 47 в число 13. Определите значение b.

помогите пж 3. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S сумму элементов массива, которые делятся … на 5? Вводите ответ без пробелов. S = 0 for k in range(N): if ... : S = S + X[k] Ответ: 4. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S сумму элементов массива, десятичная запись которых заканчивается на 4? Вводите ответ без пробелов. S = 0 for k in range(N): if . .. : S = S + X[k] Ответ: 5. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S количество чётных элементов массива? Вводите ответ без пробелов. S = 0 for k in range(N): if ... : S = S + 1 Ответ: 6. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S количество элементов массива, делящихся на 3? Вводите ответ без пробелов. S = 0 for k in range(N): if ... : S = S + 1 Ответ: 7. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти в переменной S количество элементов массива, десятичная запись которых оканчивается на 6? Вводите ответ без лишних пробелов. S = 0 for k in range(N): if ... : S = S + 1 Ответ: 8. Задан массив X[N]. Какое условие надо поставить вместо многоточия, чтобы найти минимальный элемент массива в переменной M? Вводите ответ без пробелов. M = X[0] for k in range(1,N): if ... : M = X[k] Ответ: 9. Задан массив X[N]. Какой оператор надо поставить вместо многоточия, чтобы найти номер максимального элемента массива в переменной M? Вводите ответ без пробелов.

M = 0 for k in range(1,N): if X[k] > X[M]: ... ответ без пробелов и "mod" язык python

Файловая структура - Основы командной строки

Основы командной строки

Файловая структура *nix-систем серьёзно отличается от структуры в Windows и заслуживает отдельного внимания. Начнём с базовых понятий. Файловая структура представляет собой

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

Кстати, понятие "папка" в *nix-системах не используется, говорят "директория" или "каталог", хотя по существу эти термины означают одно и то же.

В Windows файловая структура представлена не одним, а несколькими деревьями, так как каждая структура находится на своём диске. В *nix-системах — единственное дерево с корнем в /. Все устройства, физические и логические диски находятся внутри этого дерева в виде директорий и файлов.

Информация о любом файле или директории доступна по команде stat (file system status):

# Не обращайте внимание на непонятные для вас данные, об их значении поговорим позже
$ stat . bashrc
  File: '.bashrc'
  Size: 3771        Blocks: 8          IO Block: 4096   regular file
Device: ca01h/51713d    Inode: 259234      Links: 1
Access: (0644/-rw-r--r--)  Uid: ( 1002/kirill.m)   Gid: ( 1002/kirill.m)
Access: 2018-08-27 17:24:11.237498138 +0000
Modify: 2015-08-31 23:27:45.000000000 +0000
Change: 2018-01-22 08:13:27.611966864 +0000
 Birth: -

В Windows мы привыкли, что имя файла может быть набрано в разных регистрах, и это всегда один и тот же файл, то есть имена регистронезависимы. В *nix-системах регистр имеет значение. Файлы index.html, Index.html, INDEX.HTML и index.HTML — это разные файлы. Всегда обращайте внимание на регистр, потому что ошибиться довольно легко.

macOS в этой ситуации идёт по пути Windows и тоже не учитывает регистр

Говорят, что в *nix "всё есть файл". На нижнем уровне так и есть (почти). Директория — это специальный файл, который содержит список файлов. Любое подключаемое устройство становится файлом или директорией, если это накопитель. Такая концепция довольно удобна для разработчиков, потому что печать на принтер и вывод на экран между собой ничем не отличаются — для кода это просто "запись в файл". На пользовательском уровне директория всё же отличается от файла и имеет собственные команды для создания, удаления и модификации.

В *nix-системах есть базовый набор каталогов, который стандартизирован (FHS). За каждым закреплена какая-то особая роль. Например, каталог /etc содержит конфигурацию программ в обычных текстовых файлах (в юниксах нет реестра, вся конфигурация лежит в обычных файлах), а каталог /home содержит домашние директории пользователей системы (исключением является суперпользователь root, его домашний каталог обычно находится по адресу /root). Обязательно пробегитесь по странице https://ru.wikipedia.org/wiki/FHS и посмотрите, что за что отвечает.

Не во все директории можно заходить, не все файлы можно читать или менять, и не все программы можно запускать. В *nix-системах развитая система прав, завязанная на пользователей и группы. О ней мы поговорим отдельно позже. Сейчас достаточно знать, что такие ограничения есть. Их можно увидеть в выводе команды ls -l.

В отличие от Windows, в *nix-системах отсутствует понятие "расширение файла". Точка — полноправная часть имени. Это не значит, что в юниксах невозможно понять тип файла. Это возможно, более того, файлы почти всегда именуются так же, как и в Windows, например

hello.mp3, но важно понимать, что вся эта строчка — имя файла. Нередко встречаются и такие имена: index.html.haml. В *nix также есть скрытые файлы, но, в отличие от Windows, это не свойство файла, а определённое имя файла. Все файлы и директории, начинающиеся с точки, считаются скрытыми. Вывести все файлы, включая скрытые, можно командой ls -a:

$ ls -a
.  ..  .bash_history  .bash_logout  .bashrc  .cache  .profile  .ssh

Обратите внимание на две особые директории, обозначенные "точкой" (. ) и "двумя точками" (..). Точка означает текущую директорию, а две точки — директорию верхнего уровня. Именно благодаря этой схеме работает команда cd .., которая перемещает нас на уровень выше.

Кроме обычных файлов, в *nix существует ряд других:

  • Hard Link — дополнительное имя для уже существующего файла.
  • Symbolic link — символическая ссылка, такой файл похож на ярлык в Windows. Если удалить основной файл, то символическая ссылка начнёт вести в никуда.
  • Socket — специальный файл, через который происходит взаимодействие между разными процессами операционной системы. Программисты постоянно сталкиваются с сокетами в реальной жизни.

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


Остались вопросы? Задайте их в разделе «Обсуждение»

Вам ответят команда поддержки Хекслета или другие студенты.

Ошибки, сложный материал, вопросы >
Нашли опечатку или неточность?

Выделите текст, нажмите ctrl + enter и отправьте его нам. В течение нескольких дней мы исправим ошибку или улучшим формулировку.

Что-то не получается или материал кажется сложным?

Загляните в раздел «Обсуждение»:

  • задайте вопрос. Вы быстрее справитесь с трудностями и прокачаете навык постановки правильных вопросов, что пригодится и в учёбе, и в работе программистом;
  • расскажите о своих впечатлениях. Если курс слишком сложный, подробный отзыв поможет нам сделать его лучше;
  • изучите вопросы других учеников и ответы на них. Это база знаний, которой можно и нужно пользоваться.
Об обучении на Хекслете

2.2. Файловая структура. Основы информатики: Учебник для вузов

Читайте также

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

Файловая подсистема Файловая подсистема обеспечивает унифицированный интерфейс доступа к данным, расположенным на дисковых накопителях, и к периферийным устройствам. Одни и те же функции open(2), read(2), write(2) могут использоваться как при чтении или записи данных на диск, так

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

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

Файловая таблица

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

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

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

Глава 2 Файловая система

Глава 2 Файловая система Все, с чем работает система UNIX, она воспринимает в виде файла. Это не такое уж упрощение, как может показаться на первый взгляд. Когда разрабатывалась первая версия системы, даже прежде, чем ей дали имя, все усилия сосредоточились на создании

1.3.1 Файловая система

1.3.1 Файловая система Файловая система UNIX характеризуется:• иерархической структурой,• согласованной обработкой массивов данных,• возможностью создания и удаления файлов,• динамическим расширением файлов,• защитой информации в файлах,• трактовкой периферийных

3.

1. Файловая система

3.1. Файловая система Прежде чем перейти к настройкам системы, нам нужно познакомиться поближе с файловой системой Linux. О структуре мы уже немного поговорили в разд. 2.3, когда разбивали жесткий диск. В табл. 2.1 были перечислены разделы, которые можно создать в Linux, а это не что

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

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

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

Файловая система Настройки файловой системы являются критически важными для оптимизации скорости работы компьютера. Как правило, если параметры реестра, описывающие работу файловой системы, не оптимизированы, то возможно снижение скорости работы компьютера на 10-70%. Все

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

Файловая система Теперь скажем несколько слов о содержимом файловой системы Windows. Как правило, здесь также есть над чем поработать, особенно если места на жестком диске мало. Автор лишь приведет определенные пути к каталогам и ветви реестра, а вы сами решайте, нужны ли они

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

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

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

Файловая система Для доступа к файловой системе используется следующий вызов: Set имя_объекта = CreateObject("Scripting. FileSystemObject"). Объект поддерживает следующие методы.? BuildPath("путь к каталогу", "название файла") — создает путь на основе указанного пути к каталогу и имени файла. Иными

6.6.2. Файловая система FAT

6.6.2. Файловая система FAT Файловая система FAT используется ОС MS DOS и ОС Windows для упорядочения файлов и управления ими. В основу данной файловой системы положена таблица размещения FAT (File Allocation Table), которая представляет собой структуру данных, создаваемую ОС при

6.6.2.1. Файловая система FAT 16

6.6.2.1. Файловая система FAT 16 Файловая система FAT 16 поддерживается ОС MS DOS, Windows 95, Windows 98, Windows 2000, а также некоторыми версиями ОС UNIX.Цифра 16 в названии файловой системы указывает на число бит (двоичных разрядов), необходимых для хранения информации о номерах кластеров,

6.

6.5. Файловая система UDF

6.6.5. Файловая система UDF Файловая система UDF (Universal Disk Format) разработана в соответствие со стандартом ISO 13346 и используется для размещения информации на CD– и DVD-накопителях, а также для обмена информации между ними. Файловая система UDF позволяет использовать CD и DVD как НЖМД,

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

Файловая система для SSD LinuxFormat, #169 (апрель 2013)За последние лет 10-15 мы неоднократно читали победные реляции об успехах в компьютерной области. Однако настоящим успехом последних лет можно считать только начало широкого распространения SSD-накопителей: впервые за всю историю

Информатика и ИКТ. 8 класс (Семакин)

Jump to. .. Jump to...Новостной форумСлепой метод печатиПРОЕКТЫ учениковПлакат по ТБВведениеПрезентацияПрочитайУ-2.Ответь на вопросыУ-2.ТренируемсяУ-2.Задание к уроку 2ПовторениеПрезентацияПрочитайУ-3.Ответь на вопросыПрочитайПрезентацияУ-4.Задание к уроку 4ПрезентацияПрочитайУ-5.Задание к уроку 5ПрезентацияПрочитайУ-6.Задание к уроку 6ПрезентацияПрочитайУ-7.Задание к уроку 7ПрезентацияЗадание к уроку 8У-8.Кроссворд "Глобальная компьютерная сеть Интернет"Тестирование по теме "Информация и информационные процессы"Ответы на Тестирование по теме "Информация и информационные процессы"У-9.Тест по теме "ИнтернетУ-9.Самостоятельная работа "Информационные процессы"2.1ПрочитайУ-10.Тест по теме "Устройства ввода и вывода информации"У-10.Практическая работа "Устройство компьютера"2.2Задание к уроку 11У-11.Практическая работа "Основные характеристики персонального компьютера!2.3ПрочитайЗадание к уроку 12У-12.Практическая работа по теме"Программное обеспечение"У-13.Ответьте на вопросы к уроку 12-13У-13. Самостоятельная работа по теме"Программное обеспечение"У-13.Тренажер по теме" Программное обеспечение У-13.Результаты самостоятельной работы2.4Задание к уроку 14Практическая работа "Типы файлов"У-14.Задание №2 к уроку№14 Файлы и файловые структурыПрочитайУ-15.Задание№1У-15.Практическая работа "Графический интерфейс"У-15. Ответ вне сайтаТестирование по теме «Компьютер как универсальное устройство для работы с информацией»У-16 Тест №2У-16.Тест 1 уровень ( 1 полугодие) Т№1-№16ПрочитайУ-17 Проверь себя!ПрезентацияДля любознательных "Делаем перепланировку в комнате!3.2Области применения компьютерной графики.текст 3-2Задание 1 к уроку 18Задание 2 к уроку 18У-18. Задание №3 Вне сайта3.3Графический редакторВозможности графического редактораСреда графического редактора PaintРежим рисованияРисование линийРисование геометрических фигурРабота с рисункомРабота с фрагментами изображенияРедактирование ТекстаЗадание 1 к уроку 19Задание 2 к уроку 19Проверь свои знания по теме "Обработка графической информации"У-20 Тест по теме "Графический редактор"Проект "Аквариум"Проект "Мультяшки"мастер класс в PaintСоздание геометрических узоровТекстовый редакторВвод и редактированиеРедактирование ТекстаОрфографическая проверкаНабор и редактирование текстаУ- 21. Практическая работаУ-22 "Тест "Текстовый редактор"ШрифтыФорматирование абзацевТаблицаВставка картинкиГотовые шаблоныУ-23 Задание "Проверь себя"Тренажер "Многоуровневые списки"Тренажер "Типы диаграмм"Тренажер "Основные элементы интерфейса электронной таблицы"Прочитай4.5У- 26 Задание распознавание текста4.6текст 4-6рефератВведениеНачало эпохи ЭВМПервое поколение ЭВМВторое поколение ЭВМТретье поколение ЭВМЧетвёртое поколение ЭВМЗаключениеИтоговое задание по теме "Обработка текстовой информации" У- 28. Индивидуальный проект "Счего начинается Родина"У-29 - Тренажер на обобщение и систематизацию занийУ-29 - Терминологический диктантУ-29 Создание 3Д книгиТехнологии мультимедиаДемонстрационная непрерывная презентацияДемонстрационная интерактивная презентацияАналоговое и цифровое представление звукаЭффект движенияПокадровая анимацияАнимация спрайтамитекст 5-2У-31.Тест по теме "Мультимедиа"У- 31- Индивидуальный проект " История одного портрета"Алгоритм создания презентации "Персональный компьютер""У-32. Задание №1Оставь свой отзывТермины " Алгоритмика"Алгоритмика .Составь схемуСвойства алгоритма. ВыбериАлгоритмика. Конструкции

Опорный конспект для студентов по теме: Файл. Файловая структура диска

Тема: Файл. Файловая структура диска

I. Задание 1. Ответьте на следующие вопросы.

  1. Для чего предназначен персональный компьютер?

  2. Перечислите основные блоки персонального компьютера?

  3. Какой принцип лежит в основе построения современных персональных компьютеров?

  4. Для чего предназначен системный блок персонального компьютера? Перечислите основные компоненты системного блока.

  5. Для чего предназначен процессор? Назовите основные характеристики процессора.

  6. Какую функцию выполняет память? Перечислите виды памяти.

  7. В чем отличие оперативной памяти от постоянной памяти компьютера?

  8. Для чего предназначена внешняя память?

  9. Какие устройства являются носителями информации в компьютере?

  10. Для чего предназначены накопители информации? Какие накопители используются в современных персональных компьютерах?

  11. Какую функцию обеспечивают устройства ввода информации?

  12. Какую функцию обеспечивают устройства вывода информации?

Задание 2. Закончите предложения.

1. Основными компонентами персонального компьютера являются _________

______________________________________________________________________________________________________________________________________

2. В системный блок входят __________________________________________

___________________________________________________________________

___________________________________________________________________

3. Память для временного хранения информации в настоящий момент времени называется _________________________________________________

4. Устройство для обработки информации и управления всеми устройствами компьютера называется ______________________________________________

5. Память для постоянного (долговременного) хранения информации называется _________________________________________________________

6. «Мозгом» компьютера называют ___________________________________

7. Принтер, модем, монитор относят к устройствам ______________________ информации.

8. Дискета предназначена для ________________________________________

___________________________________________________________________

II. Задание 3. Запишите определение и характеристики файла.

ФАЙЛ - _______________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________­­­­­­­­­­­­­­­­­­­­­­­­­­­­­__________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________________

Характеристики файла:

1. _____________________________________________________

2. _____________________________________________________
3. _____________________________________________________

Задание 4. Прочитайте предложенный текст и заполните ниже приведенную таблицу.

Имя файла в операционной системе MS DOS состоит из двух частей (собственного имени и расширения), раз­деляемых при записи точкой. Первая часть содержит от 1 до 8 сим­волов, вторая — не более трёх (может вообще отсутствовать). Часть имени файла, стоящую после точки, называют расширением имени. В имени файла разрешается использо­вать латинские буквы и цифры (русские буквы недопустимы). Все буквы авто­матически преобразуются к верхнему регистру. Использовать в имени файла пробелы, знаки препинания и специальные сим­волы не разрешается.

Расширение имени файла принято ис­пользовать в качестве признака формата записи данных.

Имя файла в операционной системе Windows не может превосходить 255 символов. В имени файла можно использовать символы национальных алфавитов, в том числе русского, и символы верх­него и нижнего регистров. Разрешается использовать в имени файла пробелы, точки, иные знаки пре­пинания и математические символы,
кроме следующих девяти: \ | ? / * « :

Расширением имени считается после­довательность символов, находящая­ся за последней точкой в имени файла.
Расширение имени может содержать более трех символов.

Признаки

MS DOS

Windows

Имя состоит из…

Количество символов в имени

Допустимые имена символов

Расширение содержит

Имя и расширение отделяется

Расширение имени ___________________________

__________________________________________________________________________________________

Задание 5. Запишите определение каталога.

КАТАЛОГ -_____________________________________________
____________________________________________________________________________________________________________________________________________________________________________________________________________________________

MS DOS Windows

КАТАЛОГ


Заполните следующую таблицу

Задание 6. Закончите предложения:

Диск – это __________________ информации

К дискам относятся ______________________________________

______________________________________________________________________________________________________________

На дисках содержится ____________________________________

______________________________________________________________________________________________________________

Задание 7. Проанализируйте данную схему и ответьте на следующие вопросы.

  1. Что может входить в каталоги?

  2. Где сгруппированы все файлы и каталоги?

  3. Что является основными элементами данной структуры?

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

Схема 1. Файловая структура диска.

Корневой

каталог или Диск


Каталог 1

Каталог 2

Каталог 3

Файлы


Каталог 1.1


Каталог 1.2

Каталог 1.2.1

Каталог 1.3

Файл 1.2.1

Файл 1.1

Файл 1.2.2

Файл 1.2

Файл 1.2.3


Справочная информация

III.

Задание 8. Выберите из предложенного списка правильные имена файлов.

Pre2.txt

Pre 2.txt

Pre2.txtx

Pre2 txt

Pre2.bmp.

Pre2.tx

1232.bmp

Infornat.exe

Informatica.exe

Информат.ехе

Фраза.doc

Roma.tx.t

Задание 9. Выберите из предложенного списка правильные имена каталогов.

ПИСЬМО

WINWORD

LETTER.txt

LETTER

Письмо.txt

1C

Мои документы

С:

А;

Задание 10. Запишите имена файлов.

    1. Файл FORT с расширением SYS;

__________________________________

    1. имя файла TEXT, расширение BAS;

__________________________________

    1. текстовый файл c именем DOCUM;

__________________________________

    1. графический файл с именем 11Т;

__________________________________

Задание 11. Придумайте

А) имя текстового файла, в котором будет содержаться информация о вашем доме.

_______________________________________________________

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

_______________________________________________________

Задание 12. Дана древовидная структура.

CHI mm1.txt

Vv.exe

С: \

DOC LETTERS ttt.com 11T

EXE CNI dderut.exe

Rew.com

Rex2.exe

Paper.doc

Com1

Запишите полное имя (маршрут запуска) файлов

vv. exe,

ttt.com,

com1,

rex2.exe,

dderut.exe

Задание 13. На диске A: имеются два каталога: GAMES и SCHOOL. В каталоге GAMES находится три подкаталога: DOOM, ROBOT, LINES. В каталоге SCHOOL находится два подкаталога: RUSS и ENGLISH. Изобразите дерево каталогов.

Задание 14. На диске С: имеются два каталога: DOOM и GROUP. В каталоге DOOM находится три подкаталога: WINTER. В каталоге GROUP находится три подкаталога: 22PV и 23PV. Изобразите дерево каталогов.

Задание 15. Выберите правильные ответы из предложенных.

  1. Файл - это:

а) единица измерения информации;

б) программа в оперативной памяти;

в) текст, распечатанный на принтере;

г) программа или данные на диске.

  1. Чтобы из двух файлов с одинаковыми именами, выбрать тот, в котором хранится более новая информация, требуется знать

а) размеры этих файлов;

б) расширения этих файлов;

в) даты и время создания этих файлов.

  1. Файл kat.txt находится на диске С: в каталоге TEXT, в подкаталоге KLASS; его полное имя

а) TEXT\KLASS;

б) C:\TEXT\KLASS\kat.txt;

в) С:\KLASS\kat.txt;

г) C:\KLASS\TEXT\kat.txt.

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

а) exe;

б) com;

в) txt;

г) bat.

  1. Выберите правильное имя файла:

а) ce exe;

б) ce. exe;

в) ce.exet;

г) cexet;

д) школа.

  1. Выберите правильное имя каталога:

а) ШКОЛА;

б) UCHEB;

в) VFR.TXT;

г) BACKSPASE;

д) A:

  1. Выберите файл, в котором хранится текст:

а) се.ехе;

б) се.txt;

в) cte.bmp.

  1. Выберите файл, в котором хранится рисунок:

а) се.ехе;

б) се.txt;

в) cte.bmp.

Файлы и файловая структура доклад, проект

Текст слайда:

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

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

Каковы основные правила именования файлов в операционной системе, установленной на компьютерах в вашем классе?

Назовите имена известных вам программ, открывающих файлы со следующими расширениями: txt, doc, bmp, rtf, arj.

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

Что такое каталог?

Какой каталог называют корневым?

Как могут быть организованы файлы во внешней памяти?

Как называется графическое изображение иерархической файловой структуры?

Что такое путь к файлу на диске?

Что такое полное имя файла?

Перечислите основные операции, совершаемые с файлами.

Файл Пушкин.doc хранится на жёстком диске в каталоге ПОЭЗИЯ, который является подкаталогом каталога ЛИТЕРАТУРА. В таблице приведены фрагменты полного имени файла:

Восстановите полное имя файла и закодируйте его буквами (запишите последовательность букв без пробелов и запятых).

Саша работал с каталогом:
D:\УРОКИ\ИНФОРМАТИКА\ПРАКТИЧЕСКИЕ РАБОТЫ.
Он поднялся на два уровня вверх, затем спустился в подкаталог АЛГЕБРА и создал в нём файл Квур.txt. Каково полное имя файла, который создал Саша?

Пользователь работал с каталогом:
D:\ДОКУМЕНТЫ\ФОТО\2011\ВЕСНА.
Сначала он поднялся на три уровня вверх, потом спустился в каталог ЭКЗАМЕН и после этого спустился в каталог ИНФОРМАТИКА. Укажите полный путь для того каталога, в котором оказался пользователь.
D:\ДОКУМЕНТЫ\ФОТО\ИНФОРМАТИКА
D:\ДОКУМЕНТЫ\ИНФОРМАТИКА\ЭКЗАМЕН
D:\ДОКУМЕНТЫ\ЭКЗАМЕН\ИНФОРМАТИКА
D:\ДОКУМЕНТЫ\ФОТО\2011\ВЕСНА\ЭКЗАМЕН\ИНФОРМАТИКА

Из перечня имён выберите (отметьте галочкой) те, которые удовлетворяют маске ?l*ck.*t?

Из перечня имён выберите (отметьте галочкой) те, которые НЕ удовлетворяют маске ?l*ck*.*?:

Укажите, какое из указанных ниже имён файлов удовлетворяют маске ?ese*ie.?t*
seseie.ttx
esenie.ttx
eseie.xt
sesenie.txt

Ошибка «Структура диска повреждена. Чтение невозможно» как следствие повреждения MFT заголовков разделов

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

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

MFT, или иначе Master File Table (главная файловая таблица), представляет собой особую служебную область на диске, отведенную под хранение базы, в которую автоматически записываются сведения о файлах и каталогах, начиная от их имен и атрибутов и заканчивая порядком размещения на диске. По умолчанию при создании логического тома под MFT автоматически резервировалось 12,5% общей емкости раздела (MFT-зона), по крайней мере, раньше было именно так, хотя в зависимости от конфигурации некоторых параметров резервируемый процент может быть и иным. MFT является настолько важной частью файловой системы, что его повреждение приведет к невозможности чтения файла, группы файлов или даже всего раздела, ведь операционная система попросту не будет знать, к какому сектору обращаться.

Типичной ошибкой, указывающей на повреждение MFT на уровне заголовка раздела, является сообщение «Структура диска повреждена. Чтение невозможно».

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

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

Где именно располагается MFT файлов

Поскольку информация о структуре NTFS скудна и порой противоречива, ответ на этот вопрос всё же лучше искать у профессионалов, например, что такое номер записи MFT и почему один номер записи ведет в один сектор, а другой — в другой? Что же касается MFT заголовков логических разделов, то обнаружить их не так уже и сложно. Найти сектор MFT может популярная программа для восстановления данных R-Studio.

Если выделить в ней том, в разделе правой колонке «Информация NTFS» у вас будет две строки «MFT Позиция» и «MFT Зеркальная Позиция», одна из которых является оригиналом, а другая точной ее копией.

Справа в строках будут указаны номера секторов, в данном примере номером сектора «MFT Позиции» является 6291456, а номером «MFT Зеркальной Позиции»16.

Для этих целей также можно использовать специализированную утилиту FomsoftDataRecovery, выбрав в меню «Просмотр логических структур» -> «№ Записи MFT».

Затем в открывшемся окошке нужно будет указать букву тома и нажать «OK».

Результат аналогичный — номер логического сектора MFT для нашего тома тот же, что и в R-Studio6291456, к тому же FomsoftDataRecovery показала еще максимальную границу MFT — сектор, если, конечно, мы всё правильно поняли, так как пока не углублялись в изучение функционала этого инструмента.

Зная же номер сектора, можно легко перейти в область MFT, воспользовавшись шестнадцатеричным редактором, например, встроенным в Acronis Disk Director 12.

Выбираем опцию «Редактировать том», в открывшемся окошке редактора жмем стрелку «Перейти к сектору».

И нажимаем «OK».

Вас тут же перекинет к сектору MFT.

Который вы можете просмотреть и забекапить в файл без расширения, выбрав на панели инструментов опцию «Записать в файл».

Не забудьте только указать размер файла, вполне должно хватить и 512 байт.

Аналогичным образом выполняется восстановление.

Сначала в шестнадцатеричном редакторе нужно перейти в перезаписываемый сектор, нажать на панели инструментов «Прочитать из файла».

Указать путь к резервной копии сектора, согласиться на перезапись.

И сохранить изменения.

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

А если содержимое раздела не представляет для вас ценности, вы можете отформатировать том, пересоздав файловую систему вместе с MFT.

Что такое файловая система? Типы компьютерных файловых систем и принцип их работы - объяснение на примерах

Сложно объяснить, что такое файловая система одним предложением.

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

Что такое файловая система?

Начнем с простого определения:

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

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

И вы можете в конечном итоге спросить себя, ЧТО ТАКОЕ ФАЙЛОВАЯ СИСТЕМА? 🤯

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

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

Зачем вообще нам нужна файловая система, спросите вы?

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

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

Представьте себе комнату, в которой повсюду разбросаны груды бумаг.

Запоминающее устройство без файловой системы будет в такой же ситуации - и будет бесполезным электронным устройством.

Однако файловая система меняет все:

Однако файловая система - это не только функция бухгалтерского учета.

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

Все начинается с разбиения на разделы

Устройства хранения должны быть разбиты на разделы и отформатированы как перед первым использованием.

А что такое разметка?

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

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

Запоминающее устройство должно иметь как минимум один или несколько разделов, если необходимо.

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

Windows и Mac OS также имеют похожую компоновку, хотя они не используют выделенный раздел подкачки. Вместо этого они управляют свопингом в разделе, на котором установлена ​​операционная система.

Так почему мы должны разбивать устройства хранения на несколько разделов?

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

Это похоже на то, как мы разделяем наше рабочее пространство, чтобы отделить (и изолировать) конференц-залы, конференц-залы и команды.

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

Утилиты восстановления и диагностики также находятся в выделенных разделах.

Например, чтобы загрузить MacBook в режиме восстановления, вам нужно удерживать Command + R , как только вы перезагрузите (или включите) свой MacBook.

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

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

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

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

Например, техническая команда оценила бы более тихое место.

Некоторые операционные системы, например Windows, присваивают разделам букву диска (A, B, C или D). Например, первичный раздел в Windows (на котором установлена ​​Windows) называется C : или диск C.

В Unix-подобных операционных системах, однако, разделы отображаются как обычные каталоги в корневом каталоге - мы рассмотрим это позже.

Угадайте, что? Мы делаем здесь обходной путь ↩️

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

Готовы?

Поехали! 🏊‍♂️

Схемы разбиения, системные прошивки и загрузка

При разбиении устройства хранения на разделы у нас есть два метода разбиения на разделы:

  • Схема основной загрузочной записи (MBR)
  • Таблица разделов GUID (GPT Схема

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

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

Подождите, а какая системная прошивка? вы можете спросить.

Вот объяснение:

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

Прошивка существует в компьютерах, периферийных устройствах (клавиатурах, мышах и принтерах) или даже в электронных бытовых приборах.

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

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

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

  • Базовый ввод / вывод (BIOS)
  • Unified Extensible Firmware Interface (UEFI)
Микропрограммы

- на основе BIOS или UEFI - находятся на энергонезависимая память, например флэш-ПЗУ, подключенная к материнской плате.

BIOS Томас Брессон, лицензия CC BY 2.0

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

Задача прошивки (среди прочего) - загрузить компьютер, запустить операционную систему и передать ей управление всей системой.

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

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

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

Схема разделения MBR является частью спецификаций BIOS и используется микропрограммами на основе BIOS.

На дисках с разделами MBR первый сектор устройства хранения содержит важные данные для загрузки системы.

Этот сектор называется MBR.

MBR содержит следующую информацию:

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

Микропрограммы на основе BIOS с дисками с разделами на MBR загружают систему иначе, чем микропрограммы на основе UEFI.

Вот как это работает:

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

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

Код загрузчика в MBR занимает от 434 до 446 байтов MBR (из 512b).64 байта также выделяются таблице разделов максимум для четырех разделов.

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

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

Загрузчик первого этапа инициирует следующие этапы процесса загрузки.

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

Загрузчик, такой как GRUB 2, использует промежуток MBR для хранения другого этапа своей функциональности. GRUB называет это загрузчиком stage 1.5 , который содержит драйвер файловой системы.

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

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

Это когда логотип операционной системы исчезает ...

Вот схема устройства хранения с разделами MBR:

Если мы увеличим MBR, его содержимое будет выглядеть так:

Хотя MBR очень проста и широко поддерживается, у него есть некоторые ограничения.

Структура данных

MBR ограничивает количество разделов четырьмя первичными разделами .

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

Расширенный раздел можно разделить на несколько логических разделов .

При создании раздела вы можете выбрать между основным и расширенным.

После того, как это будет решено, мы столкнемся со вторым ограничением.

Максимальный размер каждого раздела 2 ТиБ.

И подождите, это еще не все!

Содержимое сектора MBR не имеет резервной копии 😱, что означает, что если MBR будет поврежден по неожиданной причине, у нас будет бесполезное запоминающее устройство.

Схема разделения GPT более сложна, чем MBR, и не имеет ограничений MBR.

Например, у вас может быть столько разделов, сколько позволяет ваша операционная система.

И каждый раздел может быть размером с самое большое запоминающее устройство, доступное на рынке - на самом деле, намного больше.

GPT постепенно заменяет MBR, хотя MBR по-прежнему широко поддерживается как на старых, так и на новых ПК.

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

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

Многие аппаратные средства и операционные системы теперь поддерживают UEFI и используют схему GPT для разделения устройств хранения.

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

Этот сектор называется Защитная MBR. (это место, где загрузчик первого уровня будет находиться на диске с разделами MBR)

После этого первого сектора сохраняются структуры данных GPT, включая заголовок GPT и записи раздела .

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

Схема устройства хранения с разделами GPT выглядит следующим образом:

Схема таблицы разделов GUID Автор Kbolino, Лицензия под CC BY-SA 2.5

В GPT все службы загрузки (загрузчики, менеджеры загрузки, pre-os среды и оболочки) находятся в специальном разделе под названием EFI System Partition (ESP) , который может использовать прошивка UEFI.

ESP даже имеет собственную файловую систему, которая представляет собой конкретную версию FAT . В Linux ESP находится по пути / sys / firmware / efi .

Если этот путь не может быть найден в вашей системе, возможно, ваша микропрограмма является микропрограммой на основе BIOS.

Для проверки вы можете попробовать изменить каталог на точку монтирования ESP, например:

  cd / sys / firmware / efi  

Прошивка на основе UEFI предполагает, что устройство хранения разделено с помощью GPT, и ищет ESP в таблице разделов GPT.

После того, как раздел EFI найден, он ищет настроенный загрузчик, который обычно представляет собой файл, заканчивающийся на .efi .

Прошивка на основе UEFI получает конфигурацию загрузки из NVRAM (которая является энергонезависимой RAM). NVRAM содержит параметры загрузки, а также пути к загрузчикам операционной системы.

Микропрограммы

UEFI также могут выполнять загрузку BIOS (для загрузки системы с MBR-диска) при соответствующей настройке.

Вы можете использовать команду parted в Linux, чтобы узнать, какая схема разделения используется для устройства хранения.

  sudo parted -l  

И результат будет примерно таким:

  Модель: Virtio Block Device (virtblk)
Диск / dev / vda: 172 ГБ
Размер сектора (логический / физический): 512Б / 512Б
Таблица разделов: gpt
Флаги диска:

Номер Начало Конец Размер Имя файловой системы Флаги
14 1049 КБ 5243 КБ 4194 КБ bios_grub
15 5243 КБ 116 МБ 111 МБ fat32 msftdata
 1116 МБ 172 ГБ 172 ГБ ext4

  

Исходя из вышеприведенных выходных данных, ID устройства хранения - / dev / vda с емкостью 172 ГБ.

Устройство хранения разделено на разделы на основе GPT и состоит из трех разделов. Второй и третий разделы отформатированы на основе файловых систем FAT32 и EXT4 соответственно.

Наличие раздела BIOS GRUB подразумевает, что микропрограмма является микропрограммой на основе BIOS.

Давайте подтвердим, что с помощью команды dmidecode , например:

  sudo dmidecode -t 0  

И результат будет:

  # dmidecode 3.2
Получение данных SMBIOS из sysfs.SMBIOS 2.4 присутствует.

...  

✅ Подтверждено!

Когда разбиение будет выполнено, разделы должны быть отформатированы.

Большинство операционных систем позволяют форматировать раздел на основе набора файловых систем.

Например, если вы форматируете раздел в Windows, вы можете выбрать между файловыми системами FAT32 , NTFS и exFAT .

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

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

Возьмем для примера файловую систему NTFS.

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

Хорошо, хватит о разметке и загрузке. Вернемся к файловым системам.

Как это началось, как это происходит

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

Каждая операционная система использует определенную файловую систему для управления файлами.

Раньше Microsoft использовала FAT (FAT12, FAT16 и FAT32) в семействе MS-DOS и Windows 9x .

Начиная с Windows NT 3.1 , Microsoft разработала New Technology File System (NTFS) , которая имела много преимуществ по сравнению с FAT32, таких как поддержка файлов большего размера, более длинные имена файлов, шифрование данных, управление доступом, ведение журнала и многое другое. .

NTFS с тех пор является файловой системой по умолчанию в семействе Windows NT (2000, XP, Vista, 7, 10 и т. Д.).

NTFS не подходит для сред, отличных от Windows.

Например, вы можете читать только содержимое устройства хранения в формате NTFS (например, флэш-памяти) в Mac OS, но вы не сможете ничего записать на него - если вы не установите драйвер NTFS с написать в поддержку.

Расширенная таблица размещения файлов (exFAT) - это облегченная версия NTFS, созданная Microsoft в 2006 году.

exFAT был разработан для съемных устройств большой емкости, таких как внешние жесткие диски, USB-накопители и карты памяти.

exFAT - файловая система по умолчанию, используемая картами SDXC .

В отличие от NTFS, exFAT имеет поддержку чтения и записи в средах, отличных от Windows, включая Mac OS, что делает его лучшей кроссплатформенной файловой системой для съемных запоминающих устройств большой емкости.

Итак, если у вас есть съемный диск, который вы хотите использовать в Windows, Mac и Linux, вам необходимо отформатировать его в exFAT.

Apple также разрабатывала и использовала различные файловые системы на протяжении многих лет, в том числе
Hierarchical File System (HFS) , HFS + , а недавно и Apple File System (APFS) .

Как и NTFS, APFS является журналируемой файловой системой и используется с момента запуска OS X High Sierra в 2017 году.

Семейство файловых систем Extended File System (ext) было специально создано для Ядро Linux - ядро ​​операционной системы Linux.

Первая версия ext была выпущена в 1991 году, но вскоре после этого была заменена второй расширенной файловой системой ( ext2) в 1993 году.

В 2000-х годах третья расширенная файловая система ( ext3) и четвертая расширенная файловая система (ext4) были разработаны для Linux с возможностью ведения журнала.

ext4 теперь является файловой системой по умолчанию во многих дистрибутивах Linux, включая Debian и Ubuntu.

Вы можете использовать команду findmnt в Linux для вывода списка разделов в формате ext4:

  findmnt -lo source, target, fstype, used -t ext4  

Результат будет примерно таким:

  SOURCE ЦЕЛЬ FSTYPE ИСПОЛЬЗУЕТСЯ
/ dev / vda1 / ext4 3.6G  

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

Анатомия файловой системы в операционной системе состоит из трех уровней:

  • Физическая файловая система
  • Виртуальная файловая система
  • Логическая файловая система.

Эти уровни могут быть реализованы как независимые или тесно связанные абстракции.

Когда люди говорят о файловых системах, они имеют в виду один из этих уровней.

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

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

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

Следующий уровень - это виртуальная файловая система, или VFS .

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

Означает ли это, что операционная система может использовать несколько файловых систем одновременно?

Ответ - да!

Файловая система съемных носителей обычно отличается от файловой системы компьютера.

Например, в Windows (которая использует NTFS в качестве основной файловой системы) флэш-память могла быть отформатирована в exFAT или FAT32.

При этом операционная система должна обеспечивать унифицированный интерфейс - согласованное представление - между программами (обозревателями файлов и другими приложениями, работающими с файлами) и различными смонтированными файловыми системами (такими как NTFS, APFS, EXT4, FAT32, exFAT и UDF).

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

Этот удобный уровень между пользователем (вами) и базовыми файловыми системами обеспечивается VFS.

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

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

Вместо этого он использует драйвер файловой системы для соблюдения правил VFS.

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

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

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

Да, мы говорим о логической файловой системе.

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

С другой стороны, VFS обеспечивает мост между логическим уровнем (с которым взаимодействуют программы) и набором физических файловых систем.

Высокоуровневая архитектура слоев файловой системы

Что означает монтировать файловую систему?

В Unix-подобных системах VFS назначает идентификатор устройства (например, dev / disk1s1 ) каждому разделу или съемному устройству хранения.

Затем он создает дерево виртуальных каталогов и помещает содержимое каждого устройства в это дерево каталогов как отдельные каталоги.

Действие по назначению каталога устройству хранения (в корневом дереве каталогов) называется монтированием , а назначенный каталог называется точкой монтирования .

При этом в Unix-подобной операционной системе все разделы и съемные запоминающие устройства выглядят так, как если бы они были каталогами в корневом каталоге.

Например, в Linux точкой подключения съемного устройства (например, карты памяти) по умолчанию является / media (относительно корневого каталога), если не указано иное.

Тем не менее, как только флеш-память подключена к системе и, следовательно, автоматически смонтирует в точке подключения по умолчанию (в данном случае / media ), ее содержимое будет доступно в каталоге / media .

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

В Linux это делается так:

  mount / dev / disk1s1 / media / usb  

В приведенной выше команде первым параметром является идентификатор устройства ( / dev / disk1s1 ), а вторым параметром. ( / media / usb ) - точка монтирования.

Обратите внимание, что точка монтирования уже должна существовать как каталог.

Если это не так, сначала необходимо создать его:

  mkdir -p / media / usb
mount / dev / disk1s1 / media / usb  

Метаданные файла - это структура данных, которая содержит данные о файле , например:

  • Размер файла
  • Метки времени, такие как дата создания, дата последнего доступа и дата изменения
  • Владелец файла
  • Режим файла (кто и что может делать с файлом)
  • Какие блоки в разделе выделены файлу
  • и многое другое

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

В Unix-подобных системах метаданные имеют форму специальных структур данных, называемых inode .

Inodes идентифицируются уникальным номером, который называется номером inode .

Inode связаны с файлами в структуре данных, которая называется таблицами inode .

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

В inode ext4 адрес выделенных блоков сохраняется как набор структур данных, называемых экстентами (внутри inode).

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

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

Это отличается от системы указателей ext3, которая указывает на отдельные блоки данных через косвенные указатели.

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

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

Имея номер inode, файловая система выбирает соответствующий inode с устройства хранения.

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

Вы можете использовать команду df с параметром -i в Linux, чтобы увидеть inodes (общее, используемое и свободное) в ваших разделах:

  df -i  

Результат будет выглядеть следующим образом :

  udev 4116100 378 4115722 1% / dev
tmpfs 4118422 528 4117894 1% / запуск
/ dev / vda1 6451200 175101 6276099 3% /  

Как видите, раздел / dev / vda1 имеет общее количество 6451200, из которых 3% были использованы (175101 inodes).

Кроме того, чтобы увидеть inodes, связанные с файлами в каталоге, вы можете использовать команду ls с параметрами -il .

  ls -li  

И результат будет:

  1303834 -rw-r - r-- 1 root www-data 2502 8 июля 2019 г. wp-links-opml.php
1303835 -rw-r - r-- 1 root www-data 3306 8 июля 2019 г. wp-load.php
1303836 -rw-r - r-- 1 root www-data 39551 8 июля 2019 г. wp-login.php
1303837 -rw-r - r-- 1 root www-data 8403 8 июля 2019 г. wp-mail.php
1303838 -rw-r - r-- 1 root www-data 18962 8 июля 2019 г. wp-settings.php  

Первый столбец - это номер inode, связанный с каждым файлом.

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

Маловероятно, что в персональной ОС Linux закончатся inodes. Однако корпоративные службы, которые работают с большим количеством файлов (например, почтовые серверы), должны грамотно управлять своей квотой inode.

Однако в NTFS метаданные хранятся по-другому.

NTFS хранит информацию о файлах в специальной структуре данных, называемой Master File Table (MFT) .

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

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

Например, когда вы щелкаете правой кнопкой мыши файл в Mac OS и выбираете «Получить информацию» (Свойства в Windows), появляется окно с информацией о файле.Эта информация извлекается из метаданных соответствующего файла.

Управление пространством

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

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

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

Блоки представляют собой абстракцию физических секторов и состоят из нескольких секторов.

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

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

Самым основным устройством хранения в разделах, отформатированных в ext4, является блок.

Однако смежные блоки сгруппированы в группы блоков для упрощения управления.

Структура группы блоков в разделе ext4.

Каждая группа блоков имеет свои собственные структуры данных и блоки данных.

Вот структуры данных, которые может содержать группа блоков:

  • Суперблок: репозиторий метаданных, который содержит метаданные обо всей файловой системе, такие как общее количество блоков в файловой системе, общее количество блоков в блоке группы, индексы и многое другое. Однако не все группы блоков содержат суперблок. Определенное количество групп блоков хранит копию супер в качестве резервной.
  • Дескрипторы группы: Дескрипторы групп также содержат бухгалтерскую информацию для каждой группы блоков.
  • Битовая карта индексных дескрипторов: Каждая группа блоков имеет свою собственную квоту индексных дескрипторов для хранения файлов. Битовая карта блока - это структура данных, используемая для идентификации используемых и неиспользуемых индексных дескрипторов в группе блоков. 1 обозначает используемые, а 0 обозначает неиспользуемые объекты inode.
  • Block Bitmap: структура данных, используемая для идентификации используемых и неиспользуемых блоков данных в группе блоков. 1 обозначает используемые, а 0 обозначает неиспользуемые блоки данных.
  • Inode Table: структура данных, которая определяет отношения файлов и их inodes. Количество inodes, хранящихся в этой области, зависит от размера блока, используемого файловой системой.
  • Блоки данных: Это зона в группе блоков, где хранится содержимое файла.

Файловые системы Ext4 даже пошли еще дальше (по сравнению с ext3) и организуют группы блоков в большую группу, называемую группами гибких блоков .

Каждая группа гибких блоков содержит группы блоков номеров.

Структуры данных каждой группы блоков, включая битовую карту блока, битовую карту индексного дескриптора и таблицу индексного дескриптора, объединяются и сохраняются в первой группе блоков внутри соответствующей группы гибких блоков.

Объединение всех структур данных в одну группу блоков (первую) освобождает больше смежных блоков данных в других группах блоков в каждой группе гибких блоков.

Макет первой группы блоков выглядит следующим образом:

Макет первого блока в группе блоков ext4 flex

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

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

Размер и размер на диске

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

Размер и размер на диске

Почему размер и размер на диске немного отличаются? Вы можете спросить.

Вот объяснение:

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

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

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

Таким образом, «размер» - это, по сути, фактический размер файла, а «размер на диске» - это пространство, которое он занимал, даже если он не использует все это.

Вы можете использовать команду du в Linux, чтобы убедиться в этом сами.

  du -b "some-file.txt"
  

Результат будет примерно таким:

  623 icon-link.svg  

И чтобы проверить размер на диске:

  du -B 1 "icon-link.svg"  

Что будет результат:

  4096 icon-link.svg  

Исходя из вывода, выделенный блок составляет около 4 КБ, а фактический размер файла составляет 623 байта.

Что такое фрагментация диска?

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

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

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

Пример фрагментированного и нефрагментированного файла

Давайте проясним это на примере.

Представьте, что у вас есть документ Word с именем myfile.docx .

myfile.docx изначально хранится в нескольких смежных блоках на диске, скажем, LBA250 , LBA251 и LBA252 - кстати, это название является гипотетическим.

Теперь, если вы добавите больше содержимого в myfile.docx и сохраните его, он должен будет занять больше блоков на носителе.

Поскольку myfile.docx в настоящее время хранится на LBA250 , LBA251 и LBA252 , новый контент предпочтительно должен находиться в пределах LBA253 и так далее - в зависимости от того, сколько места требуется.

Однако, если LBA253 уже занят другим файлом (возможно, это первый блок другого файла), оставшееся содержимое myfile.docx должно быть сохранено в разных блоках где-то еще на дисках, например, LBA312 и LBA313 .

myfile.docx фрагментирован 💔.

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

Также применяется к сохранению файла обратно на диск.

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

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

Стоит ли нам заботиться о фрагментации в наши дни?

Короткий ответ: больше нет!

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

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

Количество предварительно выделенных блоков определяется в поле длины экстента файла его объекта inode.

Кроме того, Ext4 использует метод распределения, называемый отложенным распределением .

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

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

Представьте, что небольшой файл находится между большими файлами. Теперь, если небольшой файл будет удален, между двумя файлами останется небольшое пространство.

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

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

Отложенное распределение активно снижает фрагментацию и увеличивает производительность.

Каталоги

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

В NTFS и Ext4 каталоги и файлы обрабатываются одинаково. При этом каталоги - это просто файлы, у которых есть собственный индексный дескриптор (в Ext4) или запись MFT (в NTFS).

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

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

Эти записи называются записями каталога. Записи каталога содержат имена файлов, сопоставленные с их записью inode / MFT.

Помимо записей каталога, существуют еще две записи: . , указывающий на сам каталог, и .. , указывающий на его родительский каталог.

В Linux вы можете использовать ls в каталоге, чтобы увидеть записи каталога с соответствующими номерами inode:

  ls -lai  

И результат будет примерно таким:

  63756 drwxr- xr-x 14 root root 4096 1 дек 17:24.
     2 drwxr-xr-x 19 root root 4096 1 дек 17:06..
 81132 drwxr-xr-x 2 root root 4096 18 февраля 06:25 резервные копии
 81020 drwxr-xr-x 14 root root 4096 2 декабря 07:01 кеш
 81146 drwxrwxrwt 2 root root 4096 16 октября 21:43 сбой
 80913 drwxr-xr-x 46 root root 4096 1 дек 22:14 lib
 
 ...  

Правила для имен файлов

Некоторые файловые системы накладывают ограничения на имена файлов.

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

Например, в файловой системе NTFS MyFile и myfile относятся к одному и тому же файлу, тогда как в EXT4 они указывают на разные файлы.

Почему это важно? вы можете спросить.

Представьте, что вы создаете веб-страницу на своем компьютере с Windows. Веб-страница содержит логотип вашего бренда в формате PNG, например:

  

    
         Продукты - Ваш веб-сайт 
    
    
        
        
        
    
  

Даже если фактическое имя файла - Logo.png (обратите внимание на заглавную L ), вы по-прежнему можете видеть изображение, когда открываете веб-страницу в веб-браузере.

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

Почему?

Потому что в Linux (файловая система EXT4) logo.png и Logo.png указывают на два разных файла.

Правила размера файла

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

Старая файловая система, такая как FAT32 (используется MS-DOS +7.1, семейством Windows 9x и флэш-памятью), не может хранить файлы размером более 4 ГБ, в то время как ее преемница NTFS допускает размер файлов до 16 EB (1000 ТБ).

Как и NTFS, exFAT допускает размер файла 16 ЭБ, что делает его идеальным выбором для хранения больших объектов данных, таких как видеофайлы.

Практически нет ограничений на размер файла в файловых системах exFAT и NTFS.

Linux EXT4 и Apple APFS поддерживают файлы размером до 16 TiB и 8 EiB соответственно.

File Explorer

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

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

Тем не менее, операционные системы сразу же предоставляют удобные утилиты управления файлами для повседневного управления файлами. Например, File Explorer в Windows, Finder в Mac OS и Nautilus в Ubuntu являются примерами файловых проводников.

Эти утилиты используют внутренний API логической файловой системы.

Помимо этих инструментов с графическим интерфейсом, операционные системы также предоставляют API файловой системы через интерфейсы командной строки, такие как командная строка в Windows и терминал в Mac и Linux.

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

Управление доступом к файлам

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

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

Данные, касающиеся прав пользователей и прав собственности на файлы, хранятся в структуре данных, называемой списком контроля доступа (ACL) в Windows или записями контроля доступа (ACE) в Unix-подобных операционных системах (Linux и Mac OS).

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

Например, владелец файла (в Linux или Mac) может сделать файл общедоступным, например:

  chmod 777 myfile.txt  

777 означает, что каждый может выполнять любую операцию (читать , напишите, выполните) на myfile.txt .

Поддержание целостности данных

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

После сохранения файла ваша программа текстового процессора отправляет запрос на «запись» в API файловой системы (логическая файловая система).

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

Но что, если система выйдет из строя, когда старая версия файла заменяется новой?

Что ж, в старых файловых системах (например, FAT32 или ext2) данные были бы повреждены, потому что они были частично записаны на диск.

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

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

Основная цель - отслеживать изменения, которые еще не были зафиксированы в файловой системе физически.

Журнал - это специальное место на диске, где каждая попытка записи сначала сохраняется как транзакция .

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

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

Тем не менее, новый контент (который был записан) все еще может быть утерян, но существующие данные останутся нетронутыми.

Современные файловые системы, такие как NTFS, APFS и EXT4 (даже EXT3), используют ведение журнала, чтобы избежать повреждения данных в случае сбоя системы.

Файловые системы баз данных

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

Чтобы получить доступ к файлу, вы переходите в соответствующий каталог, и он у вас есть.

  компакт-диск / музыка / кантри / разбойник  

Однако в файловой системе базы данных нет концепции путей и каталогов.

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

Например, файлы MP3 могут быть перечислены по исполнителю, жанру, году выпуска и альбому - одновременно!

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

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

Приложение iTunes в Mac OS является хорошим примером файловой системы базы данных.

Подведение итогов

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

И снова - можем ли мы описать, что такое файловая система и как она работает, одним предложением?

Давайте закончим этот пост кратким описанием, которое я использовал в начале:

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

Если вы считаете, что чего-то не хватает или я ошибся, сообщите об этом в комментариях ниже.

Между прочим, если вам нравится более подробный контент, посетите мой веб-сайт skillupp.tech и подпишитесь на меня в Twitter, потому что это каналы, которые я использую, чтобы делиться своими повседневными находками.

Спасибо за чтение и приятного обучения!

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

| Что такое файловая система

Файловая система - это процесс управления тем, как и где данные на диске хранения, который также называется управлением файлами или FS.Это компонент логического диска, который сжимает файлы, разделенные на группы, известные как каталоги. Это абстрактно для человека-пользователя и связано с компьютером; следовательно, он управляет внутренними операциями диска. Файлы и дополнительные каталоги могут находиться в каталогах. Хотя в Windows существуют различные файловые системы, NTFS является наиболее распространенной в наше время. Было бы невозможно, чтобы файл с таким же именем существовал, а также невозможно было бы удалить установленные программы и восстановить определенные файлы без управления файлами, а также файлы не имели бы организации без файловой структуры.Файловая система позволяет вам просматривать файл в текущем каталоге, поскольку файлы часто управляются в иерархии.

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

На запоминающем устройстве файлы хранятся в секторах, в которых данные хранятся в группах секторов, называемых блоками. Размер и расположение файлов определяется файловой системой, а также помогает распознать, какие секторы готовы к использованию. Помимо Windows, существуют другие операционные системы, содержащие файловую систему FAT и NTFS. Но в продуктах Apple (например, iOS и macOS) используется HFS +, поскольку операционная система подходит для многих различных файловых систем.

Иногда для обозначения разделов используется термин «файловая система».Например, фраза «на жестком диске доступны две файловые системы» не означает, что диск разделен между двумя файловыми системами, NTFS и FAT. Но это означает, что есть два отдельных раздела, которые используют один и тот же физический диск.

Для работы большинству приложений, с которыми вы контактируете, требуется файловая система; следовательно, в каждом разделе должен быть один. Кроме того, если программа создана для использования в macOS, вы не сможете использовать эту программу в Windows, поскольку программы зависят от файловой системы.

Примеры файловых систем

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

FAT: FAT - это тип файловой системы, разработанной для жестких дисков. Он обозначает таблицу размещения файлов и был впервые представлен в 1977 году, который используется для 12 или 16 бит для каждого доступа кластера к таблице размещения файлов (FAT). На жестких дисках и других компьютерных системах он помогает управлять файлами в операционных системах Microsoft. В таких устройствах, как цифровые фотоаппараты, флэш-память и другие портативные устройства, он также часто используется для хранения информации о файлах.Это также помогает продлить срок службы жесткого диска, поскольку сводит к минимуму износ жесткого диска. Сегодня FAT не используется более поздними версиями Microsoft Windows, такими как Windows XP, Vista, 7 и 10, поскольку они используют NTFS. FAT8, FAT12, FAT32, FAT16 - это разные типы FAT (для таблицы размещения файлов).

GFS: GFS - это файловая система, которая расшифровывается как Global File System. Он позволяет нескольким компьютерам работать как единая машина, которая впервые была разработана в Университете Миннесоты.Но сейчас его поддерживает Red Hat. Когда физическое расстояние между двумя или более компьютерами велико и они не могут отправлять файлы напрямую друг другу, файловая система GFS позволяет им напрямую совместно использовать группу файлов. Компьютер может организовать свой ввод-вывод для сохранения файловых систем с помощью глобальной файловой системы.

HFS: HFS (Иерархическая файловая система) - это файловая система, которая используется на компьютере Macintosh для создания каталога во время форматирования жесткого диска.Как правило, его основная функция заключается в организации или хранении файлов на жестком диске Macintosh. Apple не может поддерживать запись или форматирование дисков HFS с момента появления на рынке OS X. Кроме того, диски в формате HFS не распознаются компьютерами с Windows, поскольку HFS - это формат Macintosh. Жесткие диски Windows форматируются с помощью файловых систем WIN32 или NTFS.

NTFS: NTFS - это файловая система, которая обозначает файловую систему NT и хранит и извлекает файлы в операционной системе Windows NT и других версиях Windows, таких как Windows 2000, Windows XP, Windows 7 и Windows 10.Иногда ее называют файловой системой новой технологии. По сравнению с файловой системой FAT и HPFS, она предоставляет лучшие методы восстановления файлов и защиты данных, а также предлагает ряд улучшений с точки зрения расширяемости, безопасности и производительности.

UDF: UDF - это файловая система, расшифровывается как Universal Disk Format и впервые использованная OSTA (Ассоциация технологий оптического хранения) в 1995 году для обеспечения согласованности данных, записанных на несколько оптических носителей.Он используется с CD-ROM и DVD-ROM и поддерживается всеми операционными системами. Теперь он используется в процессе записи CD-R и CD-RW, что называется пакетной записью.

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

Файловая система содержит два или три уровня. Иногда эти слои работают вместе, а иногда явно разделены. Для файловых операций API (интерфейс прикладных программ) предоставляется логической файловой системой, такой как OPEN, CLOSE, READ и т. Д., Поскольку она отвечает за взаимодействие с пользовательским приложением.Кроме того, для обработки запрошенная операция пересылается на уровень, расположенный ниже нее. Кроме того, для различных одновременных экземпляров физических файловых систем второй дополнительный уровень позволяет поддерживать виртуальную файловую систему. И каждый параллельный экземпляр называется реализацией файловой системы.

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

Типы файловых систем

Существуют различные типы файловых систем, а именно:

1. Дисковые файловые системы

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

2. Файловые системы Flash

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

3. Ленточные файловые системы

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

4. Файловые системы баз данных

Файловая система на основе базы данных - еще один метод управления файлами. Файлы распознаются по их характеристикам (например, по типу файла, автору, теме и т. Д.), А не по иерархическому структурированному управлению.

5.Транзакционные файловые системы

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

6. Сетевые файловые системы

Сетевая файловая система предлагает доступ к файлам на сервере. На удаленных компьютерах, подключенных к сети, с помощью локальных интерфейсов программы могут прозрачно создавать, управлять и получать доступ к иерархическим файлам и каталогам. Клиенты, подобные файловой системе, для FTP и WebDAV, а также AFS, протоколы SMB, NFS - все это примеры сетевых файловых систем.

7. Общие дисковые файловые системы

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

8. Минимальная файловая система

В 1970-х годах для некоторых первоначальных пользователей микрокомпьютеров дисковые и цифровые ленточные устройства были очень дорогими. Было разработано несколько более дешевых базовых систем хранения данных, использующих обычную аудиокассету. На кассетном магнитофоне пользователь был проинформирован о нажатии кнопки «ЗАПИСЬ», когда система требовала записи данных. И, чтобы уведомить систему, нажмите «ВОЗВРАТ» на клавиатуре. Кроме того, на кассетном магнитофоне пользователю нужно было нажимать кнопку «PLAY», когда системе требовалось считывать данные.

9. Плоские файловые системы

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


Основы работы с жесткими дисками

- NTFS.com

Жесткий диск - это запечатанный блок, содержащий несколько пластин в стопке.Жесткие диски можно устанавливать в горизонтальном или вертикальном положении. В этом описании жесткий диск установлен горизонтально.

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

Создание следов

На жестком диске данные хранятся в виде тонких концентрических полос. Головка привода, находясь в одном положении, может считывать или записывать круговое кольцо или полосу, называемую дорожкой.На 3,5-дюймовом жестком диске может быть больше тысячи дорожек. Разделы внутри каждой дорожки называются секторами. Сектор - это наименьшая физическая единица хранения на диске, и его размер почти всегда составляет 512 байт (0,5 КБ).

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

Детали жесткого диска

Структура старых жестких дисков (то есть до Windows 95) будет относиться к обозначению цилиндр / головка / сектор. Цилиндр образуется, когда все приводные головки находятся в одном и том же положении на диске.

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

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

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

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

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

Секторы и кластеры

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

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

Оптимальный метод сохранения файла на диске - это непрерывная последовательность, то есть все данные в потоке хранятся непрерывно в одной строке. Поскольку размер многих файлов превышает 512 байт, файловая система должна выделить секторы для хранения данных файла.3). Единственное нечетное число a секторов, из которого может состоять кластер, - 1. Это не может быть 5 секторов или четное число, которое не является показателем 2. Это не будет 10 секторов, но может быть 8 или 16 секторов.

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

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

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

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

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

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

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

Структуры данных

на дисковых накопителях

Предыдущая глава

Следующая глава
Chapter Home
Storage Networking Primer Home

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

  • Дорожки, секторы и цилиндры
  • Разделы диска
  • Адресация логических блоков
  • Геометрия дисководов и зонно-битовая запись

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

Цилиндры - это система одинаковых дорожек на нескольких пластинах внутри привода. Несколько рычагов привода движутся синхронно, одновременно располагая головки в одном и том же относительном положении на всех пластинах.

Полная система цилиндров, гусениц и секторов показана на Рисунке 4-3.

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

.

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

Разделы диска создаются как непрерывный набор дорожек и цилиндров. Визуально вы можете вообразить перегородки, похожие на концентрические кольца мишени для стрельбы из лука, с замененным «яблочком» шпинделем дискового двигателя.Перегородки устанавливаются от внешнего края пластин к центру. Например, если на диске три раздела, пронумерованные 0, 1 и 2, раздел 0 будет снаружи, а раздел 2 будет ближе всего к центру.

Рисунок 4-3 Цилиндры, дорожки и секторы в дисководе

Логическая адресация блоков
Хотя внутренняя система цилиндров, дорожек и секторов интересна, она также больше не используется системами и подсистемами, использующими дисковые накопители.Адреса цилиндров, дорожек и секторов были заменены методом, называемым адресацией логических блоков (LBA), который значительно упрощает работу с дисками, представляя единое плоское адресное пространство. Адресация логических блоков в значительной степени способствует гибкости сетей хранения, позволяя более легко интегрировать множество различных типов дисков в большую гетерогенную среду хранения.

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

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

Геометрия дисковых накопителей и зонированная битовая запись
При работе с дисковыми накопителями невозможно избежать радиальной геометрии. Одним из наиболее интересных аспектов этой радиальной геометрии является то, что количество записываемого материала на дорожке увеличивается по мере удаления от центра диска. Дорожки дисковода можно представить как кольца носителей, окружность которых определяется математическим выражением 2pr, где r - радиус дорожки. Количество записываемого материала на дорожке определяется радиальной длиной.Это означает, что самые внешние дорожки могут содержать больше данных, чем внутренние дорожки. Фактически, они могут содержать намного больше данных, чем внутри дорожек.

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

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

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

Таблица 4-1 Зоны дисковода

Зона

Кол-во дорожек

секторов на каждом пути

Скорость передачи мультимедиа в Мбит / с

0

1700

2140

1000

1

3845

2105

990

2

4535

2050

965

3

4365

2000

940

4

7430

1945

915

5

7775

1835

860

6

5140

1780

835

7

6435

1700

800

8

8985

1620

760

9

11 965

1460

685

10

12,225

1295

610

11

592O

1190

560

12

4320

1135

530

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

  • Средняя наработка на отказ
  • Скорость вращения и задержка
  • Среднее время поиска
  • Скорость передачи мультимедиа
  • Устойчивая скорость передачи

Среднее время наработки на отказ
Среднее время наработки на отказ (MTBF) указывает ожидаемую надежность дисководов.Характеристики MTBF рассчитываются с использованием четко определенных статистических методов, а тесты проводятся на большом количестве дисков в течение относительно короткого периода времени. Результаты экстраполируются и выражаются в виде очень большого количества часов, обычно в диапазоне от 500 000 до 1,25 миллиона часов. Эти цифры невероятно высоки для отдельных дисководов - 1,25 миллиона часов - это примерно 135 лет.

Спецификации

MTBF помогают определить, как часто будут происходить отказы дисков при их большом количестве в среде.Используя спецификацию наработки на отказ в 1,25 миллиона часов (135 лет), если у вас 135 дисков, вы можете ожидать, что они будут выходить из строя один раз в год. В сетевой среде хранения данных с большим количеством дисков - например, более 1000 дисков - легко увидеть, что запасные диски должны быть доступны, потому что почти наверняка возникнут сбои дисков, которые необходимо будет устранить. Это также подчеркивает важность использования методов резервирования дисковых устройств, таких как зеркалирование или RAID.

Скорость и задержка
Один из наиболее распространенных способов описания возможностей любого дискового накопителя - указать его скорость вращения в об / мин.Чем быстрее вращается диск, тем быстрее данные могут быть записаны на диск и прочитаны с него. Различия в производительности могут быть огромными. При прочих равных условиях дисковый накопитель со скоростью вращения 15 000 об / мин может выполнять более чем в два раза больше работы, чем диск со скоростью вращения 7200 об / мин. Если 50 или более дисков используются системой обработки транзакций, легко понять, почему кто-то захочет использовать более высокоскоростные диски.

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

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

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

Таблица 4 2 показывает задержку вращения для нескольких распространенных скоростей вращения.

Таблица 4-2 Обратная связь между скоростью вращения и задержкой вращения в дисковых накопителях

Скорость вращения

Задержка вращения (в мс)

5400

5.6

7200

4,2

10000

3,0

12000

2,5

15000

2,0

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

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

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

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

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

Предыдущая глава

Следующая Глава
Chapter Home
Storage Networking Primer Home

структур данных на диске

структур данных на диске

Далее: Структуры данных в Up: Управление файлами Предыдущая: Недвижимость

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

Загрузочный блок

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

Группа цилиндров

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

Суперблок

Суперблок содержит параметры логического диска, такие как

общий размер логического диска

размеры блока и фрагмента

номер inode корневого каталога

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

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

Блок цилиндров

Блок цилиндров содержит параметры группы цилиндров, такой как:

битовая карта для свободных блоков и фрагментов,

битовая карта свободных индексных дескрипторов

статистика последних достижений в стратегиях распределения

Таким образом, блок цилиндров берет на себя часть ответственности. справочник Xinu.

Inodes

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

идентификаторы пользователей и групп объекта

время последней модификации и доступа

количество псевдонимов

тип объекта (простой файл, каталог, косвенный файл, сокет или устройство)

пятнадцать указатели на данные в файле, как описано ниже.

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

Следующие три указателя блока данных в индексном узле указывают на косвенные блоки . Первый из них - это одиночный непрямой блок ; это, он указывает на блок, который содержит адреса блоков данных. Далее идет блок двойного непрямого действия , который содержит адреса отдельных косвенных блоков. В третий - тройной непрямой блок ; он содержит указатели на двойные косвенные блоки.Поддерживается минимальный размер блока 4096 байт, поэтому файлы размером менее 2 байт можно адресовать без тройного косвенного обращения. (если b - минимальный размер блока, то b / 4 * b / 4 * b = 2,

адрес блока составляет 4 байта). Файлы большего размера не могут существовать, поскольку указатели на файлы имеют размер 4 байта.

Блоки данных

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

Логические диски в Unix могут быть организованы иерархически, в том смысле, что корневой каталог одного логического диска может быть подкаталогом каталога на другом диске. Таким образом, имя пути "/ u2 / joe / foo" может охватывать два диска, один диск содержит «/», а другой - дерево с корнем «u2».В этой ситуации перевод более сложен. Когда встречается "u2", система обнаруживает, через бит в индексном дескрипторе для "u2" (индексный дескриптор хранится в "/"), что другой логический диск установлен на этом узле . Затем система обращается к монтажной таблице , чтобы найти номер устройства новый диск и внутренняя копия его суперблока. Доступ к суперблоку осуществляется для поиска индексного дескриптора корневого каталога диска, и этот индекс используется для «u2».



Далее: Структуры данных в Up: Управление файлами Предыдущая: Недвижимость


Прасун Деван
Ср 16 октября 16:00:57 EDT 1996
Структура файла

: общие сведения о путях


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

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

Как организовать папку ученика для этого класса

Первый, создайте в папке HSStudent папку под названием "mysite" для размещения все файлы, которые вы создаете для этого класса.

Внутри папку "mysite", создайте отдельные папки с именем:

ВАЖНО: Для Интернета НЕ ИСПОЛЬЗУЙТЕ ПРОБЕЛЫ в именах файлов или имена папок.Возьмите за привычку давать папкам имена и файлы без пробелов. Вы можете использовать подчеркивание или рывок, чтобы разбить слово.

Внутри папка вашего "проекта", сделайте папку для каждого задания. Имя эти папки:

Помните: НИКОГДА не называйте папку или файл с пробелами

Почему Файловая структура важна для понимания связывания

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

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

Здесь мы внутри личной папки.Скажите, что вы хотите связать ваш файл resume.htm в файл с именем links.htm. Если оба этих HTML-файла, resume.htm и links.htm являются в той же папке (в данном случае "личная" папка, то ссылка будет выглядеть так:

Ссылки

Помните, чтобы сделать абсолютную ссылку, вы должны указать полный путь к файлу в Интернете, начиная с http (например, http: // www.coventrypublicschools.org/chs ), но чтобы сделать ОТНОСИТЕЛЬНУЮ ссылку в своей файловой структуре, ВАМ НЕ НУЖЕН http или буква диска.

Все, что имеет значение для родственников ссылка в вашей файловой структуре - это указания от одного файл в другой файл. Подумайте об этом так: файл с код ссылки в нем спрашивает: Где этот другой файл В ОТНОШЕНИИ куда я?

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

Дайте направления: содержание страница (default.htm на иллюстрации выше) спрашивает: «Как мне возобновить работу с того места, где я нахожусь? »

Если мы добавим этот код в default.htm оглавление файла ссылка будет работать?

Резюме

Почему или почему нет? Посмотрите файл default.htm в окне выше. Теперь прочтите HTML в ссылке и сделайте вид что вы браузер, и попробуйте следовать инструкциям. Ссылка говорит нам: ищите в той же папке, что и вы в и вы найдете файл resume.htm. Но если мы посмотрим, по умолчанию файл resume.htm не находится в папке www.htm больше. Теперь он принадлежит к "личному" папку, и если мы щелкнем внутри личной папки, мы затем смотрим файл resume.htm

Итак, чтобы сделать нашу ссылку с страницу содержания в файл резюме, мы должны исправить направления: сначала загляните в папку под названием Personal, и ТОГДА вы найдете файл под названием «резюме».htm

Ссылка теперь будет выглядеть так:

Резюме

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

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

Что если файл, на который я ссылаюсь, находится на один уровень выше, чем я являюсь?

Что, если бы мы хотели ответить взаимностью? ссылку и сделайте ссылку с нашей страницы resume.htm назад на страницу содержания. Как мы дадим направление на страницу содержания из resume.htm?

Чтобы указать направление со страницы резюме на страницу содержания у нас есть сказать:

Перейти на один каталог вверх, вне того, в котором мы сейчас находимся (это личное папка) и в каталог www, который находится на один каталог выше.Если мы нажмем кнопку ВВЕРХ в браузере, мы будем в каталоге www, где находится таблица default.htm страницы содержания есть.

Как нам сказать ссылку посмотреть в каталоге над ним?

ср сделайте это, используя ../ перед имя файла

(точка-точка-косая черта) ../ указывает "подняться на один уровень папки". Так что по ссылке с resume.htm в таблицу контекста default.htm, мы должны сказать поднимитесь на один уровень папки и затем посмотрите. Код будет:

Таблица страницы содержания

../ это используется для обозначения "на один каталог вверх"

А что насчет этого:

Если мы забыли использовать ../ перед именем файла и вместо этого поместил этот код в страница resume.htm, будет ли работать ссылка?

Таблица страницы содержания

Куда ведет эта ссылка нас?

Можете ли вы иметь больше, чем один файл с именем default.htm?

Думай об этом так: В файле со ссылкой написано:

"Я знаю, где я.Где ты по отношению ко мне? Ты рядом со мной в та же папка? Или мне нужно заглянуть в другую папку прежде чем я увижу тебя? »

Назад на связь с якорь тег

Прыжок ссылки вниз

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

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

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

Большинство этих файловых систем - это менеджеров ресурсов как описано в этой книге. Каждая файловая система принимает часть пространства путей (называемого точкой монтирования ) и предоставляет сервисы файловой системы через стандартный POSIX API ( открыто () , закрыть () , читать () , написать () , lseek () и т. Д.). Файловая система менеджеры ресурсов берут на себя точку монтирования и управляют структура каталогов под ним. Они также проверяют личность компоненты пути для разрешений и доступа авторизации.

Эта реализация означает, что:

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

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

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

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

Если путь представляет каталог, диспетчер процессов запрашивает все файловые системы, которые могут разрешить путь для список файлов в этом каталоге, когда readdir () называется.Если путь не является каталогом, то первый файловая система, которая разрешает путь к файлу.

Для получения дополнительной информации о разрешении имени пути см. Раздел «Путь управление »в главе о диспетчере процессов в это руководство.

Множество доступных файловых систем можно разделить на следующие классы:

Изображение
Специальная файловая система, которая представляет модули в имидж и всегда присутствует. Обратите внимание, что процесс procnto автоматически предоставляет изображение файловая система и файловая система RAM.
Блок
Традиционные файловые системы, работающие на блочных устройствах как жесткие диски и приводы компакт-дисков. Это включает Файловая система Power-Safe, QNX 4, DOS, и файловые системы CD-ROM.
Вспышка
Неблочные файловые системы, специально разработанные для характеристики устройств флэш-памяти. Для NOR устройства, используйте файловую систему FFS3; для NAND используйте ETFS.
Сеть
Файловые системы, обеспечивающие сетевой файловый доступ к файловые системы на удаленных хост-компьютерах.Сюда входит NFS и файловые системы CIFS (SMB).
Виртуальный
QNX Neutrino предоставляет виртуальную файловую систему Inflator, менеджер ресурсов, который находится перед другими файловыми системами и распаковывает файлы, которые были ранее сжаты (с использованием сдувать полезность).

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

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

Различные файловые системы распределены следующим образом:



Уровни файловой системы QNX Neutrino.

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

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

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

Большинство разделяемых библиотек файловой системы работают поверх Блочный модуль ввода / вывода (io-blk.so). Этот модуль также действует в качестве менеджера ресурсов и экспортирует специальный блочный файл для каждое физическое устройство. Для системы с двумя жесткими дисками файлы по умолчанию будут:

/ dev / hd0
Первый жесткий диск
/ dev / hd1
Второй жесткий диск

Эти файлы представляют каждый необработанный диск и могут быть доступны используя все обычные файловые примитивы POSIX ( открыто () , закрыть () , читать () , написать () , lseek () , и т.п.). Хотя Модуль io-blk может поддерживать 64-битное смещение на seek, интерфейс драйвера 32-битный, что позволяет получить доступ к 2-терабайтные диски.

Встроенный RAM-диск

Модуль io-blk поддерживает внутренний RAM-диск. устройство, которое можно создать с помощью параметра командной строки ( блк рамдиск = размер ). Поскольку эта оперативная память disk является внутренним по отношению к модулю io-blk (скорее чем создается и поддерживается дополнительным драйвером устройства такой как devb-ram), производительность значительно лучше, чем у специального драйвера RAM-диска.

Путем включения RAM-диска непосредственно в слой io-blk, параллели памяти данных устройства основной кэш, поэтому операции ввода-вывода на этом устройстве могут обходить буферный кеш, устраняя копию памяти, но все еще сохранение согласованности. Сравните это с уровнем водителя реализация (например, devb-ram), где прозрачное представление ОЗУ как блочного устройства включает дополнительная память копирует и дублирует данные в буфере кеш. Вызовы между DLL также исключены. Кроме того, есть преимущества с точки зрения занимаемой площади для установки системы, у которых есть жесткий диск, а также требуется RAM-диск - нужен только один драйвер.

Перегородки

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

/ dev / hd0
Первый жесткий диск
/ dev / hd0t6
Раздел DOS на первом жестком диске
/ dev / hd0t79
Раздел QNX на первом жестком диске
/ dev / hd1
Второй жесткий диск
/ dev / hd1t79
Раздел QNX на втором жестком диске

В следующем списке показаны некоторые типичные назначенные разделы типы:

Тип Файловая система
1 DOS (12-битная FAT)
4 DOS (16-битная FAT; разделы <32M)
5 Расширенный раздел DOS (перечислен, но не представлен)
6 ДОС 4.0 (16-битная FAT; разделы ≥32M)
7 OS / 2 HPFS
7 Предыдущая версия QNX 2 (до 1988 г.)
7 Windows NT
8 QNX 1.x и 2.x («qny»)
9 QNX 1.x и 2.x («qnz»)
11 DOS 32-битная FAT; перегородки до 2047G
12 То же, что и тип 11, но использует расширения адреса логического блока Int 13h
14 То же, что и тип 6, но использует расширения адреса логического блока Int 13h
15 То же, что и тип 5, но с использованием расширений Int 13h адреса логического блока
77 Раздел QNX POSIX (дополнительный)
78 Раздел QNX POSIX (дополнительный)
79 Раздел QNX POSIX
99 UNIX
131 Linux (Ext2)
175 Apple Macintosh HFS или HFS Plus
177 Раздел POSIX QNX Power-Safe (дополнительный)
178 QNX Power-Safe POSIX раздел (дополнительный)
179 QNX Power-Safe POSIX раздел

Буферный кэш

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

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

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

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

POSIX определяет набор служб, которые файловая система должна предоставлять. Однако не все файловые системы способны предоставлять все эти услуги:

Файловая система Дата доступа Дата изменения Дата изменения статуса Длина имени файла a Разрешения Справочники Жесткие ссылки Мягкие ссылки Декомпрессия при чтении
Изображение Нет Нет Нет 255 Да Нет Нет Нет
Оперативная память Да Да Да 255 Да Нет Нет Нет
ЭТФС Да Да Да 91 Да Да Нет Да
QNX 4 Да Да Да 48 б Да Да Да Да
Power-Safe Да Да Да 510 Да Да Да Да
ДОС Есть c Да Нет 8.3 д Нет Да Нет Нет
NTFS Да Да Нет 255 Нет Да Нет Нет Есть
CD-ROM Есть e Есть e Есть e 207 f Есть e Да Нет Есть e
UDF Да Да Да 254 Да Да Нет Нет
HFS Да Да Да 255 г Да Да Нет Нет
FFS3 Нет Да Да 255 Да Да Нет Да Есть
NFS Да Да Да - ч Есть ч Да Есть ч Есть ч
CIFS Нет Да Нет - ч Есть ч Да Нет Нет
Ext2 Да Да Да 255 Да Да Да Да

а Наше внутреннее представление для имен файлов - UTF-8, в котором используется переменное количество байтов на символ.Вместо этого во многих дисковых форматах используется UCS2, который представляет собой фиксированное число (2 байта). Таким образом, ограничение на длину символов может быть в 1, 2 или 3 раза больше числа в байтов, поскольку мы конвертируем из дискового представления в представление ОС. Длины файловых систем QNX 4, Power-Safe и EXT2 указаны в байтах; для NTFS, HFS, UDF, CD / Joliet и DOS / VFAT используются символы.

b 505, если включен .longfilenames; в противном случае 48.

c VFAT или FAT32 (например, Windows 95).

d Длина имени файла из 255 символов, используемая VFAT или FAT32 (например,грамм. Windows 95).

e С надставками Rock Ridge.

f 103 символа с расширениями Joliet; 255 с удлинителями Rock Ridge.

г 31 на HFS.

h Ограничено удаленной файловой системой.

Каждый образ системы QNX Neutrino предоставляет простой только для чтения файловая система, которая представляет набор файлов встроен в образ ОС.

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

Каждая система QNX также предоставляет простая «файловая система» на основе RAM, которая позволяет читать / писать файлы, которые будут помещены в / dev / shmem.


Обратите внимание, что / dev / shmem на самом деле не файловая система. Это окно с именами разделяемой памяти, в которых есть или . характеристики, подобные файловой системе.

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

Файловая система поставляется бесплатно с procnto и не требует настройки. Вы можете просто создавать файлы в / dev / shmem и увеличьте их до любого размера (в зависимости от ресурсов оперативной памяти).

Хотя сама файловая система RAM не поддерживает жесткие или мягкие ссылки или каталоги, вы можете создать ссылку на них, используя ссылки на менеджера процессов. Например, вы можете создать ссылку на Каталог на основе RAM / tmp:

ln -sP / dev / shmem / tmp 

Указывает procnto создать диспетчер процессов. ссылка на / dev / shmem, известная как «/ Tmp.”Прикладные программы могут затем откройте файлы в / tmp, как если бы это был нормальная файловая система.


Чтобы минимизировать размер кода файловой системы RAM внутри диспетчера процессов эта файловая система, в частности не включает функции «большой файловой системы», такие как как блокировка файлов и создание каталогов.

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

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

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

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

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

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



ETFS - это файловая система, полностью состоящая из транзакций.

Каждая транзакция состоит из заголовка, за которым следуют данные. В заголовок содержит следующее:

FID
Уникальный идентификатор файла, определяющий, к какому файлу принадлежит транзакция.
Смещение
Смещение части данных в файле.
Размер
Размер части данных.
Последовательность
Монотонно увеличивающееся число (для упорядочивания по времени).
CRC
Проверки целостности данных (для NAND, NOR, SRAM).
ECC
Исправление ошибок (для NAND).
Другое
Зарезервировано для будущего расширения.

Хотя лучше всего подходит для устройств NAND, ETFS также поддерживает другие типы встроенных носителей информации с помощью драйвера классы следующим образом:

Класс CRC ECC Выравнивание износа
Стереть
Выравнивание износа
читать
Размер кластера
NAND 512 + 16 Есть Есть Есть Есть
NAND 2048 + 64 Есть Есть Есть Есть
RAM
SRAM Есть
НОР Есть Есть

Хотя ETFS может поддерживать флэш-память NOR, мы рекомендуем вместо этого файловая система FFS3 (devf- *), которая предназначена явно для флеш-устройств NOR.

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

  • динамическое выравнивание износа
  • статическое выравнивание износа
  • Обнаружение ошибки CRC
  • Исправление ошибок ECC
  • читать мониторинг деградации с автоматическим обновлением
  • откат транзакции
  • атомарных файловых операций
  • автоматическая дефрагментация файлов.

Динамическое выравнивание износа

Флэш-память позволяет ограниченное количество циклов стирания на вспышка блока до того, как блок выйдет из строя. Это число может быть всего 100000. ETFS отслеживает количество стирания на каждом блокировать. При выборе блока для использования ETFS пытается равномерно распределите циклы стирания по устройству, значительно увеличивая свою жизнь. Разница может быть очень большой: от сценарии использования отказа в течение нескольких дней без выравнивание износа до более чем 40 лет с выравниванием износа.

Статическое выравнивание износа

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

ETFS замечает эти недоработанные статические блоки и силы их в службу, скопировав их данные в перегруженный блокировать.Это решает две проблемы: заблокировать отдых, так как теперь он содержит статические данные, и он помещает недостаточно проработанный статический блок в динамический пул блоков.

Обнаружение ошибки CRC

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

Исправление ошибок ECC

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

ETFS отметит слабый блок для обновления операция, которая копирует данные в новый блок флэш-памяти и стирает слабый блок.Стирание перезаряжает флеш-блок.

Чтение данных мониторинга ухудшения с автоматическим обновлением

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

ETFS решает эту проблему, отслеживая чтение и отмечая блоки для обновите до того, как будет достигнут предел чтения 100 000.

Откат транзакции

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

Атомарные файловые операции

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

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

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

Файловая система QNX 4 (fs-qnx4.so) - это высокопроизводительная файловая система, которая разделяет та же структура на диске, что и в QNX 4 RTOS.

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

  • файловая система POSIX на основе экстентов
  • надежность: вся конфиденциальная информация файловой системы записывается на диск
  • «подписей» на диске и специальной ключевой информации, позволяющей быстрое восстановление данных в случае повреждения диска
  • 505-символьные имена файлов
  • многопоточная конструкция
  • приоритет, управляемый клиентом
  • тот же формат диска, что и файловая система в QNX 4

С момента выхода 6.2.1, ограничение имени файла 48 символов увеличился до 505 символов благодаря обратной совместимости расширение. Тот же формат на диске сохраняется, но новый системы будут видеть более длинное имя, старые - усеченное 48-символьное имя.

Для получения дополнительной информации см. «Файловая система QNX 4» в главе Работа с файловыми системами QNX Neutrino Руководство пользователя .

Файловая система Power-Safe, поддерживаемая fs-qnx6.so общий объект, представляет собой надежную файловую систему на диске, выдерживающую мощность сбои без потери или повреждения данных.Он был разработан и предназначен для традиционных вращающихся жестких дисков. СМИ.

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

Чтобы решить проблемы, связанные с существующими дисковыми файловыми системами, файловая система Power-Safe никогда не перезаписывает данные в реальном времени; он выполняет все обновления, используя копирование при записи (COW), собирая новое представление файловая система в неиспользуемых блоках на диске.Новый взгляд на файловую систему становится «живым» только тогда, когда все обновления благополучно записываются на диск. Все - это COW: и метаданные, и пользовательские данные защищены.

Чтобы увидеть, как это работает, давайте рассмотрим, как хранятся данные. Файловая система Power-Safe разделена на логические блоки, размер, который вы можете указать при использовании mkqnx6fs для форматирования файловой системы. Каждый индексный дескриптор включает 16 указателей на блоки. Если файл меньше 16 блоков, индексный дескриптор указывает на блоки данных. напрямую.Если файл больше, эти 16 блоков становятся указателями на другие блоки, и так далее.

Конечные указатели блоков на реальные данные находятся в листьях и все на одном уровне. В некоторых других файловых системах, таких как EXT2, файл всегда имеет некоторые прямые блоки, некоторые косвенные и некоторые двойные косвенные, поэтому вы переходите к разные уровни, чтобы попасть в разные части файла. В файловой системе Power-Safe все пользовательские данные для файла находятся в тот же уровень.

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

Это имеет несколько последствий для файловой системы COW:

  • Растровое изображение и индексные дескрипторы обрабатываются так же, как и пользовательские файлы.
  • Любой блок файловой системы можно переместить, поэтому нет никаких фиксированные местоположения, например, для корневого блока или растрового изображения в файловая система QNX 4
  • Файловая система должна быть полностью самодостаточной.

Суперблок - это глобальный корневой блок, содержащий индексы. для системного растрового изображения и файлов inodes. Файловая система Power-Safe поддерживает два суперблока :

  • стабильный суперблок, отражающий исходную версию всех блоков
  • рабочий суперблок, отражающий измененные данные

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

Снимок представляет собой последовательное представление файловой системы (просто совершенный суперблок). Чтобы сделать снимок, файловая система:

  1. Блокирует файловую систему, чтобы убедиться, что она стабильна. государственный; вся активность клиентов приостановлена, и не должно быть активных операции.
  2. Записывает все скопированные блоки на диск.Порядок не важен (как для файловой системы QNX 4), так что его можно оптимизировать.
  3. Принудительно синхронизирует данные с диском, включая сброс всех аппаратный кэш трека.
  4. Создает суперблок, записывая новое местоположение растрового изображения. и inodes, увеличивая его порядковый номер и вычисляя CRC.
  5. Записывает суперблок на диск.
  6. Переключает между рабочим и подтвержденным представлениями. Старые версии скопированных блоков освобождаются и становятся доступными. для использования.

Чтобы смонтировать диск при запуске, файловая система просто считывает суперблоки с диска, проверяет их CRC, а затем выбирает тот с более высоким порядковым номером. Нет необходимости запускать chkfsys или воспроизводить журнал транзакций. Время, необходимое для монтирования файловой системы, - это время, необходимое для чтения файла пара блоков.


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

Метод COW имеет ряд недостатков:

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

Однако:

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

Производительность файловой системы зависит от объема буферного кеша. доступны и от частоты снимков.Моментальные снимки создаются периодически (каждые 10 секунд или как указано в снимок вариант для fs-qnx6.so), а также при вызове sync () для всей файловой системы или fsync () для одного файла.


Синхронизация происходит на уровне файловой системы, а не на уровне отдельных файлов, так что fsync () - потенциально дорогостоящая операция; файловая система Power-Safe игнорирует флаг O_SYNC.

Вы также можете отключить снимки, если выполняете длительную операцию, а промежуточные состояния вам не нужны.Например, предположим, что вы копируете очень большой файл в Файловая система Power-Safe. Утилита cp на самом деле представляет собой просто последовательность основных операций:

  • открыть (O_CREAT | O_TRUNC), чтобы сделать файл
  • набор из операций записи () для копирования данных
  • a close () , chmod () и chown () для копирования метаданных

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

Каждый снимок представляет собой действительное представление файловой системы на определенный момент времени. (я.е. если вы скопировали 50 МБ, размер составляет 50 МБ, и все данные размером до 50 МБ также правильно копируются и имеется в наличии). В случае сбоя питания файловая система восстанавливается до последней версии. снимок. Но файловая система не понимает, что последовательность open () , write () и close () операций это действительно одна операция более высокого уровня, ср. Если вам нужна семантика более высокого уровня, отключите снимки вокруг cp, и тогда средних снимков не будет, и если произойдет сбой питания, файл будет либо полный, или его нет совсем.

Для получения информации об использовании этой файловой системы см. «Файловая система Power-Safe» в главе Работа с файловыми системами QNX Neutrino Руководство пользователя .

Файловая система DOS, fs-dos.so, обеспечивает прозрачный доступ к Диски DOS, поэтому вы можете обращаться с файловыми системами DOS, как если бы они были POSIX файловые системы. Эта прозрачность позволяет процессам работать с файлами DOS. без каких-либо специальных знаний или работы с их стороны.

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

Если в DOS нет эквивалента функции POSIX, fs-dos.so либо вернет ошибку, либо разумный дефолт. Например, попытка создать link () приведет к соответствующему номер ошибки возвращаются.С другой стороны, если есть попытка прочитать время POSIX в файле, fs-dos.so обработает любой из неподдерживаемых раз такое же, как и при последней записи.

Поддержка версии DOS

Программа fs-dos.so поддерживает как дискеты, так и разделы жесткого диска от DOS версии 2.1 до Windows 98 с длинные имена файлов.

Текстовые файлы DOS

DOS завершает каждую строку текстового файла двумя символами (CR / LF), в то время как системы POSIX (и большинство других) завершают работу каждой строка с одним символом (LF).Z) в виде файла терминатор. Этот символ также передается без изменений.

Отображение имени файла из QNX в DOS

В DOS имя файла не может содержать ни один из следующих символов:

 / \ []: * | + =; ,? 

Попытка создать файл, содержащий один из этих недопустимые символы вернут ошибку. DOS (формат 8.3) также ожидает, что все алфавитные символы будут в верхнем регистре, поэтому fs-dos.so отображает эти символы в верхний регистр, когда создание имени файла на диске.Но он сопоставляет имя файла с нижний регистр по умолчанию при возврате имени файла в QNX Neutrino приложение, чтобы пользователи и программы QNX Neutrino всегда могли видеть и введите строчные буквы (с помощью параметра sfn = sfn_mode ).

Обработка имен файлов

Вы можете указать, как вы хотите, чтобы fs-dos.so обрабатывал длинные имена файлов (через параметр lfn = lfn_mode ):

  • Игнорировать их - отображать / создавать только имена файлов формата 8.3.
  • Показать их - если имена файлов длиннее 8.3 или если используется смешанный регистр.
  • Всегда создавайте короткие и длинные имена файлов.

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

Международные имена файлов

Файловая система DOS поддерживает «кодовые страницы» DOS. (международные наборы символов) для имен файлов локали. короткий 8.3 имена хранятся с использованием определенного набора символов (обычно наиболее распространенные расширенные символы для локали кодируются в 8-битном диапазоне символов).Все обычные Кодовые страницы Америки, а также Западной и Восточной Европы (437, 850, 852, 866, 1250, 1251, 1252) поддерживаются. если ты производить программное обеспечение, которое должно иметь доступ к различным DOS / Windows жесткие диски или работать в странах, не являющихся английскими (США), это функция предлагает важную переносимость - имена файлов будут быть созданы как с именем Unicode, так и с именем локали и являются доступно через любое имя.


Файловая система DOS поддерживает международный текст в именах файлов. Только.Не предпринимается никаких попыток узнать о содержании данных, единственное исключение «ярлык» Windows (.LNK) файлы, которые будут проанализированы и переведены в символические ссылки, если вы указали это вариант ( lnk = lnk_mode ).

Этикетки для томов DOS

DOS использует концепцию метки тома, которая является актуальной. запись каталога в корне файловой системы DOS. К различать метку тома и фактический каталог DOS, fs-dos.so сообщает метку тома в соответствии с тем, как вы указали ее vollabel вариант.Вы можете выбрать:

  • Игнорировать метку тома.
  • Отобразить метку тома как файл со специальным именем.
  • Отобразить метку тома как файл со специальным именем и знаком равенства (=) в качестве первого символа имени тома (по умолчанию).

Сопоставление разрешений DOS-QNX

DOS не поддерживает все биты разрешений, указанные в POSIX. Он имеет бит READ_ONLY вместо отдельных READ и ЗАПИСАТЬ биты; у него нет бита EXECUTE. Когда файл DOS создается бит DOS READ_ONLY, если все Биты POSIX WRITE отключены.При доступе к файлу DOS Бит POSIX READ всегда предполагается, что установлен для пользователя, группы, и другие.

Поскольку вы не можете выполнить файл без EXECUTE разрешение, у fs-dos.so есть опция ( exe = exec_mode ), который позволяет указать как обрабатывать бит POSIX EXECUTE для исполняемых файлов.

Владение файлом

Хотя файловая структура DOS не поддерживает идентификаторы пользователей и идентификаторы групп, fs-dos.so (по умолчанию) не возвращает код ошибки при попытке их изменить.Ошибка не возвращается, потому что ряд утилит пытаются выполнить это и сбой могут привести к непредвиденным ошибкам. В выбранный подход: «вы можете изменить что угодно на что угодно. поскольку он все равно не записывается на диск ».

Параметры posix = позволяют установить более строгий POSIX проверяет и включает эмуляцию POSIX. Например, в POSIX режиме, ошибка EINVAL помечается для пытается выполнить любое из следующих действий:

  • Установите для идентификатора пользователя или группы значение, отличное от по умолчанию (корень).
  • Удалить разрешение r (чтение).
  • Установить разрешение s (установить идентификатор при выполнении).

Если вы установите опцию posix для эмуляции (по умолчанию) или строгий, вы получаете следующие преимущества:

  • The. и .. записи каталога создается в корневом каталоге.
  • Рассчитан размер каталога.
  • Количество ссылок в каталоге рассчитывается на основе его подкаталоги.

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

В fs-cd.so менеджер внедряет ISO 9660 стандарт, а также ряд расширений, в том числе Rock Ridge (RRIP), Joliet (Microsoft) и мультисессионный (Kodak Фото CD, улучшенный звук).

Драйверы файловой системы FFS3 реализуют POSIX-подобную файловая система на устройствах флэш-памяти NOR. Драйверы автономные исполняемые файлы, содержащие как флеш-память код файловой системы и код флеш-устройства.Есть версии драйвера файловой системы FFS3 для разных аппаратное обеспечение встроенных систем, а также карты памяти PCMCIA.

Соглашение об именах драйверов devf- система , где система описывает встроенную систему. Например, devf-800fads драйвер для 800FADS PowerPC оценочная комиссия.

Чтобы узнать, какие флеш-устройства мы поддерживаем в настоящее время, пожалуйста, обратитесь к следующим источникам:

  • каталоги плат и mtd-flash под bsp_working_dir / src / hardware / flash
  • Документы по ОС QNX Neutrino (devf- * записи в Справочник коммунальных предприятий )
  • веб-сайт QNX Software Systems (www.qnx.com)

Вместе с готовыми драйверами файловой системы флэш-памяти, включая «общий» драйвер (devf-generic), мы предоставляем библиотеки и исходный код, которые вам понадобятся для создания пользовательских драйверы файловой системы flash для различных встроенных систем. Для информацию о том, как это сделать, см. Настройка файловой системы Flash в книге Building Embedded Systems .

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

Каждый сокет можно разделить на один или несколько разделов. Два поддерживаются типы разделов: raw-разделы и flash разделы файловой системы.

Сырые разделы

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

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

Разделы файловой системы

Раздел файловой системы флэш-памяти содержит POSIX-подобный файловая система flash, которая использует собственный формат QNX для хранить данные файловой системы на флеш-устройствах.Этот формат не совместим ни с Microsoft FFS2, ни с PCMCIA Спецификация FTL.

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

точек крепления

Когда вы запускаете драйвер файловой системы флэш-памяти, он по умолчанию монтирует любые разделы, найденные в сокете. Примечание что вы можете указать точку монтирования, используя mkefs или же flashctl (например, / flash).

Точка крепления Описание
/ дев / фс X гнездо для необработанной точки крепления X
/ dev / fs X p Y гнездо для необработанной точки монтирования X раздел Y
/ fs X p Y файловая система точка монтирования сокет X раздел Y
/ fs X p Y /.cmp файловая система сжатая точка монтирования сокет X раздел Y

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

POSIX

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

  • Вы не можете создавать жесткие ссылки.
  • Время доступа не поддерживается (но изменение файла время и время смены атрибута указаны).

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

Восстановление фона

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

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

Устранение неисправности

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

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

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

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

Компрессия / декомпрессия

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

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

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

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

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

Ошибки Flash

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

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

Порядок байтов

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

Файловая система поддерживает все стандартные POSIX такие утилиты, как ls, mkdir, rm, ln, mv и ср. Также есть несколько утилит QNX Neutrino для управление вспышкой:

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

Файловая система поддерживает все стандартные функции ввода-вывода POSIX, такие как как открытый () , закрыть () , читать () , и написать () . Поддерживаются специальные функции, такие как стирание. с помощью devctl () функция.

Сетевая файловая система (NFS) позволяет клиентской рабочей станции выполнять прозрачный доступ к файлам по сети. Это позволяет клиентской рабочей станции работать с файлами, которые находятся на сервере, в различных операционных системы.Вызовы доступа к клиентским файлам преобразуются в запросы протокола NFS, и отправляются на сервер по сети. Сервер получает запрос, выполняет фактическую операцию файловой системы и отправляет ответ обратно к клиенту.

Сетевая файловая система работает без сохранения состояния за счет используя удаленные вызовы процедур (RPC) и TCP / IP для своих транспорт. Следовательно, чтобы использовать fs-nfs2 или же фс-нфс3, ты будешь также необходимо запустить клиент TCP / IP для Neutrino.

Любые ограничения POSIX в файловой системе удаленного сервера будут быть переданным клиенту.Например, длина имена файлов могут отличаться на разных серверах и в разных операционных системы. NFS (версии 2 и 3) ограничивает имена файлов 255 символами; mountd (версии 1 и 3) ограничивает имена путей до 1024 символы.


Хотя NFS (версия 2) старше POSIX, она была предназначен для эмуляции семантики файловой системы UNIX и может быть относительно близким к POSIX. Если возможно, вы должны использовать fs-nfs3 вместо fs-nfs2.

Общая файловая система Интернета (CIFS), ранее известная как SMB, позволяет клиентская рабочая станция для прозрачного доступа к файлам по сети в систему Windows 98 или NT или в систему UNIX, на которой работает SMB сервер.Вызовы доступа к клиентским файлам преобразуются в запросы протокола CIFS. и отправляются на сервер по сети. Сервер получает запрос, выполняет фактическую операцию файловой системы и отправляет ответ обратно к клиенту.


Протокол CIFS не пытается соответствовать POSIX.

В fs-cifs менеджер использует TCP / IP для своего транспорта. Следовательно, чтобы использовать fs-cifs (SMBfsys в QNX 4) вам также потребуется запустить клиент TCP / IP для Нейтрино.

Файловая система Ext2 (fs-ext2.so) обеспечивает прозрачный доступ к разделам диска Linux. Этот реализация поддерживает стандартный набор найденных функций в Ext2 версии 0 и 1.

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

Если файловая система Ext2 не размонтирована должным образом, файловая система чекер обычно отвечает за уборку в следующий раз файловая система смонтирована.Хотя Модуль fs-ext2.so позволяет быстро test, он автоматически монтирует файловую систему как доступную только для чтения, если он обнаруживает любые существенные проблемы (которые необходимо исправить с помощью средства проверки файловой системы).

Файловая система Universal Disk Format (UDF) обеспечивает доступ к записываемые носители, такие как CD, CD-R, CD-RW и DVD. Он используется для DVD-видео, но также может использоваться для резервного копирования на компакт-диск и так далее. Для получения дополнительной информации см. http://osta.org/specs/index.htm.

Файловая система UDF поддерживается fs-udf.так общий объект.


В нашей реализации файловые системы UDF доступны только для чтения.

Apple Macintosh HFS (иерархическая файловая система) и HFS Plus файловые системы в системах Apple Macintosh.

В fs-mac.so общий объект обеспечивает доступ только для чтения к дискам HFS и HFS Plus на Система QNX Neutrino. Различают следующие варианты: HFS, HFS Plus, HFS Plus в оболочке HFS, HFSX и гибрид HFS / ISO-9660.Он также распознает HFSJ (HFS Plus с журналом), но только когда журнал чистый, а не когда он грязный из-за нечистого отключения.

Файловая система NT используется в Microsoft Windows NT и более поздних версиях. В fs-nt.so общий объект обеспечивает доступ только для чтения к дискам NTFS на Система QNX Neutrino.

QNX Neutrino предоставляет виртуальную файловую систему Inflator , которая это менеджер ресурсов, который сидит перед другими файловые системы и раздувает файлы, которые ранее были удалены (с помощью сдувать полезность).

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

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

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

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *