Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Ввод/вывод и файловая система.
Основные задачи подсистемы ввода/ вывода в мультипрограммной ОС: - организация параллельной работ устройств ввода/вывода и процессора. - согласование скоростей обмена данными и кэширование данные. - разделение устройств и данных между процессами. - обеспечение удобного логического интерфейса между устройствами ввода/вывода и остальной частью системы. - поддержка широкого спектра драйверов с возможностью простого включения в систему нового драйвера. - динамическая загрузка и выгрузка драйвера. - поддержка синхронных и асинхронных операций ввода/вывода. Подсистема ввода/вывода имеет ярко выраженную многослойную структуру, которая помогает объединить большое количество драйверов в систему с общим интерфейсом. Драйверы делятся на низкоуровневые (и непосредственно управляющие работой контроллера внешних устройств) и высокоуровневые (обеспечивают логический интерфейс между устройствами) Например: драйвер файловых систем. Для координации работы драйвера в подсистеме ввода/вывода может выделится особый модуль – менеджер ввода/вывода. Аппаратные драйверы делятся на: блок-ориентированные (обеспечивают доступ к устройствам) и байт-ориентированные (управление устройствами, образуют побайтный, а не адресный обмен). Файловая система – представляет собой комплекс системных программных средств. Под ФС понимают также набор всех файлов и служебных структур данных, хранящихся на внешнем устройстве. Кроме обычных файлов ОС поддерживает такие типы файлов, как каталоги, символы, ссылки, именованные каналы и специальные файлы. Специальный файл является универсальной моделью устройства ввода/вывода, представляет ее для остальной части ОС и прикладных процессов в виде неструктурированного набора байтов, то есть в виде файла. Современные ФС имеют иерархичную структуру упрощенную, именование файлов и их поиск. Физическая организация ФС подразумевает способы размещения и адресации отдельных частей, а также способы организации, описывающие размещение файлов и их атрибуты. Для синхронизации совместно работающих процессов, пытающихся использовать один и тот же файл одновременно в ФС, реализуется механизм блокировки и отдельной записи в файл.
Механизм контроля доступа к файлу позволяет администратору многопользовательской ОС, задавать отдельным пользователям и группам пользовательский набор операций, который им разрешено выполнять над отдельными или группами файлов, объединенных в каталог. Права доступа к файлу могут присваиваться явно, а могут наследовать у родительского каталога, это сокращает количество рутинных операций и упрощает логику доступа. Управление файлами Unix.
Ядро системы Unix рассматривает файлы, как потоки (последовательности). Любая внутренняя логическая структура связана с конкретными приложениями. Unix же работает с физической структурой файла. Различают 4 типа файлов в Unix: - обычные файлы; - каталоги – содержат списки имен файлов и указателей на индексные узлы. Каталоги имеют иерархическую структуру и представляют собой обычный файл, имеющий особые привилегии защиты от записи, так что запись может произвести только ОС все остальные только чтение; - специальные (используются для доступа к периферийным устройствам, каждое устройство связано с определенным файлом); - именованные каналы.
Индексные узлы. Именование всеми типами файлов осуществляется посредством индексных узлов. Узел является управляющей структурой содержащей ключевую индивидуальную необходимую ОС для работы с определенным файлом. Информация содержащаяся на индексном узле ОС Unix.
Размещение файлов.
Размещение файлов происходит поблочно, динамически по мере необходимости отсюда следует блоки файлов на диске не обязательно образуют непрерывную область для отслеживания фалов используется индексный метод, при этом часть индекса храниться в индексной дескрипторе (inode). Узел включает в себя 39 байт адресной информации, организованной как 13 трехбайтных адресов (указателей). Первые 10 адресов указывают на первые 10 блоков данных. Если файл больше 10 блоков (больше 5-ти Кбайт), то используется 1,2 или 3 уровня косвенности. 11 адрес узла указывает на блок на диске (блок 1-го уровня косвенности) содержащий следующую часть индекса этот блок содержит указатели на последние блоки файла. Если файл содержит еще большее число блоков, то 12-й адрес узла укажет на 2-ой уровень косвенности. Этот блок содержит список адресов дополнительного уровня косвенности на следующие блоки. Если файл содержит еще больше блоков, то 13-й адрес – на третий уровень косвенности.
Емкость файлов в ОС Unix.
- такая схема имеет фиксированный относительно небольшой размер, отсюда следует может длительное время содержаться в ОЗУ. - доступ к небольшим фалам осуществляется с малым уровнем косвенности или вовсе без него, что сокращает время запроса и доступа к диску. - теоретически максимальные размеры файла достаточно велики для удовлетворения всех программ. inode адреса блоков данных блоки данных
… адреса блоков с адресами блоков данных рис 11. Схема адресации блоков в Unix. Рис.12. Структура индексного узла
Данную схему используют файловые системы Unix (а также файловые системы HPFS, NTFS и др.). Такой подход позволяет при фиксированном, относительно небольшом размере индексного узла поддерживать работу с файлами, размер которых может меняться от нескольких байтов до нескольких гигабайтов. Существенно, что для маленьких файлов используется только прямая адресация, обеспечивающая максимальную производительность. Размер блока Размер логического блока играет важную роль. В некоторых системах (Unix) он может быть задан при форматировании диска. Небольшой размер блока будет приводить к тому, что каждый файл будет содержать много блоков. Чтение блока осуществляется с задержками на поиск и вращение, таким образом, файл из многих блоков будет читаться медленно. Большие блоки обеспечивают более высокую скорость обмена с диском, но из-за внутренней фрагментации (каждый файл занимает целое число блоков, и в среднем половина последнего блока пропадает) снижается процент полезного дискового пространства. Для систем со страничной организацией памяти характерна сходная проблема с размером страницы. Проведенные исследования показали, что большинство файлов имеют небольшой размер. Например, в Unix приблизительно 85% файлов имеют размер менее 8 Кбайт и 48% - менее 1 Кбайта.
Можно также учесть, что в системах с виртуальной памятью желательно, чтобы единицей пересылки диск-память была страница (наиболее распространенный размер страниц памяти - 4 Кбайта). Отсюда обычный компромиссный выбор блока размером 512 байт, 1 Кбайт, 2 Кбайт, 4 Кбайт. Файловая система ОС Unix.
В классической ОС Unix файловая система расположена на диске таким образом.
inodes Суперблок Блоки данных Загрузочный блок Рис.13. Физическая организация файловой системы ufs.
В блоке 1 храниться так называемый суперблок, который содержит критическую информацию о размещении ФС (файловая система), включая количество inode-ов, количество дисковых блоков, а так же начала списка свободных блоков. При уничтожении суперблока ФС окажется не читаемой.После суперблока располагается inode-ы, а за ними блоки данных. Каталог традиционной ФС Unix представляет собой не сортированный набор 16-ти байтовых записей 2 байта->Ne inode, 14-> имя файла. При открытии файлов в рабочем каталоге ОС считывает его (каталог), ищет имя нужного файла в нем и, если имя найдено, то считывает Ne inode, а затем считывает данные inode из области inode –ов в ОП (специализирует таблицу индексных узлов, которые хранятся в структуре данных ядра). В начале раздела находится суперблок, содержащий общее описание файловой системы, например: · тип файловой системы; · размер файловой системы в блоках; · размер массива индексных узлов; · размер логического блока. Описанные структуры данных создаются на диске в результате его форматирования (например, утилитами format, makefs и др.). Их наличие позволяет обращаться к данным на диске как к файловой системе, а не как к обычной последовательности блоков. В файловых системах современных ОС для повышения устойчивости поддерживается несколько копий суперблока. В некоторых версиях Unix суперблок включал также и структуры данных, управляющие распределением дискового пространства, в результате чего суперблок непрерывно подвергался модификации, что снижало надежность файловой системы в целом. Выделение структур данных, описывающих дисковое пространство, в отдельную часть является более правильным решением. Массив индексных узлов (ilist) содержит список индексов, соответствующих файлам данной файловой системы. Размер массива индексных узлов определяется администратором при установке системы. Максимальное число файлов, которые могут быть созданы в файловой системе, определяется числом доступных индексных узлов.
В блоках данных хранятся реальные данные файлов. Размер логического блока данных может задаваться при форматировании файловой системы. Заполнение диска содержательной информацией предполагает использование блоков хранения данных для файлов директорий и обычных файлов и имеет следствием модификацию массива индексных узлов и данных, описывающих пространство диска. Отдельно взятый блок данных может принадлежать одному и только одному файлу в файловой системе. Директории в ОС Unix Структура директории проста. Каждая запись содержит имя файла и номер его индексного узла. Вся остальная информация о файле (тип, размер, время модификации, владелец и т. д. и номера дисковых блоков) находится в индексном узле. В более поздних версиях Unix форма записи претерпела ряд изменений, например, имя файла описывается структурой. Однако суть осталась прежней.
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2017-02-07; просмотров: 326; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 13.59.130.130 (0.023 с.) |