русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Базовая файловая система. System V (s5fs).


Дата добавления: 2013-12-23; просмотров: 4375; Нарушение авторских прав


Структура файловой системы UNIX.

 

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

Каждый жесткий диск состоит из одной или нескольких логических частей, называемых разделами (partitions). В UNIX разделы выступают в качестве независимых устройств, доступ к которым осуществляется как к различным носителям данных. Каждый раздел имеет свою файловую систему. Файловая система s5fs занимает раздел диска и состоит из трёх основных компонентов:

· суперблок. Содержит общую информацию о файловой системе;

· массив индексных дескрипторов (ilist). Содержит метаданные всех файлов файловой системы. Индексный дескриптор содержит статусную информацию о файле и указывает на расположение данных этого файла. Ядро обращается к inode по индексу в массиве ilist. Один inode является корневым (root) inode файловой системы, через него обеспечивается доступ к структуре каталогов и файлов. Размер массива ilist является фиксированным и задается при создании файловой системы. Таким образом, файловая система s5fs имеет ограничения по числу файлов, которые могут в ней храниться, независимо от размера этих файлов;

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

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

F Тип файловой системы (s_type);

F Размер файловой системы в логических блоках, включая сам суперблок, ilist и блоки хранения данных (s_fsize);



F Размер массива индексных дескрипторов (s_isize);

F Число свободных блоков, доступных для размещения (s_tfree);

F Число свободных inode, доступных для размещения (s_tinode);

F Флаги (флаг модификации s_fmod, флаг режима монтирования s_fronly);

F Размер логического блока (512, 1024, 2048);

F Список номеров свободных inode;

F Список адресов свободных блоков.

Индексные дескрипторы.Индексный дескриптор не содержит:

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

F Содержимого файла, которое размещено в блоках хранения данных.

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

Основными полями дискового inode являются следующие:

F Di_mode – тип файла, дополнительные атрибуты выполнения и права доступа;

F Di_nlinks – число ссылок на файл, т.е. количество имён, которые имеет файл в файловой системе;

F Di_uid, di_gid – идентификаторы владельца-пользователя и владельца-группы;

F Di_size – размер файла в байтах;

F Di_atime – время последнего доступа к файлу;

F Di_mtime – время последней модификации;

F Di_ctime – время последней модификации inode кроме полей di_atime, di_mtime;

F Di_addr[13] – массив адресов дисковых блоков хранения данных.

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

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

Для файлов размер которых не превышает 266 Кбайт (10 Кбайт + 256*1024), достаточно простой косвенно адресации. При использовании тройной косвенной адресации можно обеспечить доступ к 16 777 216 блокам (256*256*256).




<== предыдущая лекция | следующая лекция ==>
Типы файлов. | Файловая система FFS.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

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