- •1.Способи адресації
- •3.Пряма адресація пам'яті. .
- •6. Сторінкова пам'ять.
- •7.Сегмента адресація.
- •8. Опосередкована адресація з масштабуванням
- •9.Адресація по базі з сувом.
- •10.Адресація по базі з індексуванням
- •11. Адресація по базі з індексуванням та масштабуванням
- •12.Вирівнювання даних та коду.
- •13. Регістри загального призначення
- •14. Сегментні регістри.
- •15.Індексні регістри.
- •16. Спеціальні регістри
- •17. Флаги ознак.
- •18. Регистры управления (Control Registers)
- •19.20. Стек, регітсри стека.
- •22. Флаг нуля zf
- •23. Флаг знака sf
- •25. Флаг четности.
- •26. Флаг полупереносу.
- •27. Флаг трассировки.
- •28. Флаг напрямку.
- •29. Флаг переривание.
- •35. Арифметические команды
- •36. Команди блочної обробки даних
- •37. Команды ввода и вывода
- •38. Команды управления флагами
- •39. Команда пересылки данных: возможности и ограничения
- •40. Команди керування
- •41. Стек математичного співпроцесора
- •42.Команди пересилки співпроцесора
- •43. Арифметические команды сопроцессора
- •46. Різновиди чисел
- •47. Способи округлення
- •48.Трансцендентні команди
- •49. Команди завантаження констант співпроцесора
- •50. Порівняння чисел з плаваючою комою
- •51. Структура жёсткого диска
- •58. Структура каталогов Linux
- •59. Структура ufs
- •60. Суперблок. Ufs
- •61. Индексный дескриптор ufs
- •62. Основні механізми передачі параметрів
- •63. Основні місця передачі параметрів
- •64. Вкладені обчислення
- •65. Різновиди комбінацій сегментів
- •66. Порядок завантаження сегментів, директиви
- •67. Оптимізація обчислень
- •68. Математична оптимізація
- •69. Алгоритмічна оптимізація
- •70 .Низькорівнева оптимізація
- •71. Основні методи алгоритмічної оптимізації
- •72. Основні рекомендації низького рівня
- •74. Особенности архитектуры процессоров Pentium Pro и Pentium II
- •76. Конвеєр fpu
- •77. Принципи роботи кешу
- •79. Регистры управления (Control Registers)
- •80. Індексні регістри дескрипторів
- •81. Віртуалізація пам’яті
- •82. Переривання, маскування та обробка.
- •84. Кеш з зворотнім записом
- •85. Кеш з відкладеним записом
- •86. Наскрізний кеш
- •87. Кеш читання
- •88. Повністю асоціативний кеш
- •91. Структура кешу
- •92. Теги, призначення
- •93. Конвеєри mmx та sse
61. Индексный дескриптор ufs
Индексные дескрипторы содержат следующие данные:
1. Идентификация владельца файла.
2. Тип файла: каталог, специальный файл.
3. Права доступа к файлам.
4. Временные характеристики: время последней модификации, последнего обращения, модификация индексированных дескрипторов.
5. Число ссылок на данный индексированный дескриптор.
6. Адрес файла.
7. Размер файла в байтах.
Каждый индексированный дескриптор имеет уникальный номер, который одновременно является уникальным идентификатором файла. Индексные дескрипторы расположены в области строго в соответствии со своими номерами, и система ведет список свободных индексных дескрипторов. Если файл создается, то ему выделяется какой-то номер из числа свободных индексных дескрипторов. Если файл уничтожается, то уникальный номер возвращается в список свободных. Т.е. изначально определено, сколько может существовать индексных дескрипторов, система ведет учет и записывает, какие из них свободны, а какие заняты. Нас интересует адресация блоков файла. Для хранения информации о блоках, в которых расположен файл (известно, что имя файла отделено от его характеристик) у нас выделяется 15 полей.
Если файл меньше или равен 12 блокам, то адреса блоков находится в этих полях. В каждом поле адрес одного блока. Размер блока определяется размером самого тома и формируется при форматировании. Если же этот файл больше 12 блоков - то адреса первых 12 блоков располагаются в этих 12 полях. В 13 поле располагается адрес блока, в котором содержатся адреса блоков, а их количество зависит от размера этого блока, в которых содержатся данные самого файла. Это простая косвенная адресация. Количество блоков, в которых располагается файл, зависит от размера блока, на который разбит наш дескриптор. Если размер файла велик так, что не помещается в эти блоки, то тогда мы обращаемся к 14 полю, в котором находится адрес блока, в котором находятся адреса других блоков, а в каждом из этих блоков находятся информация о блоках, в которых расположены данные нашего файла. Это двойная косвенная адресация. Если файл по прежнему велик, тогда используются 15 блоки. В них находится адрес блока, в котором содержатся номера блоков, в этих блоках в свою очередь содержаться номера блоков, в них также содержаться номера блоков, а в них уже данные нашего файла. Это тройная косвенная адресация. В этом случае количество блоков может достигать 1012 блоков. Существуют различные типы файлов, в том числе и каталоги. В каждом каталоге существует информация о файлах, и каждая запись в каталоге состоит из двух полей: имя и номер индексного дескриптора. В этой файловой системе первым индексным дескриптором является индексный дескриптор корневого каталога. Ограничение по длине файла не более 14 символов.
Индексные дескрипторы нумеруются в индексном файле, начиная с нуля. Для системных нужд зарезервированы два индексных дескриптора с номерами 0 и 1. Индексный дескриптор с номером 0 используется для спецификации дефектных блоков внешней памяти. Индексный дескриптор номер 1 выделен для корневого каталога файловой системы. Остальные индексные дескрипторы, с номерами больше 1, специального назначения не имеют и используются для спецификации каталогов, обычных или специальных файлов файловой системы.
Логическую организацию индексного дескриптора файла в терминах системы программирования С отражает структура struct dinode. Ее поля содержат следующую информацию:
di_mode |
- |
тип и код защиты файла; |
di_nlink |
- |
число альтернативных имен файла, равное числу ссылок на данный индексный дескриптор из каталогов файловой системы; |
di_uid, di_gid |
- |
идентификаторы владельца и группы владельца файла, соответственно, устанавливаются по реальным идентификаторам владельца и группы владельца процесса, который создает данный файл; |
di_size |
- |
размер файла в байтах; |
di_ctime |
- |
дата создания файла; |
di_atime, di_mtime |
- |
даты последнего обращения и последней модификации файла, соответственно; |
di_addr[40] |
- |
адресация блоков файла в области данных. |