Понедельник, 06 Май 2024, 14:02
Uchi.ucoz.ru
Меню сайта
Форма входа

Категории раздела
Учителю физики [224]
Учителю химии [112]
Учителю биологии [744]
Учителю информатики [147]
Учителю математики [110]
Учителю русского языка [250]
Учителю астрономии [437]
Учителю иностранного языка [182]
Учителю истории (открытые уроки) [151]
Учителю обществознания [53]
Учителю истории [354]
Учителю труда [14]
Учителю ОБЖ [2]
Учителю искусствоведения [0]
Изо
Учителю белорусского языка и литературы [1]
Учителю допризывной и медицинской подготовки [0]
Учителю географии [9]
Учителю МХК [1]
Учителю музыки [3]
Учителю физкультуры [15]
Учителю черчения [0]
Новости
Чего не хватает сайту?
500
Статистика
Зарегистрировано на сайте:
Всего: 51635


Онлайн всего: 5
Гостей: 5
Пользователей: 0
Яндекс.Метрика
Рейтинг@Mail.ru

Каталог статей


Главная » Статьи » По предмету » Учителю информатики

Способы доступа и организации файлов. Распределение файлов на диске
Способы доступа и организации файлов
С точки зрения внутренней структуры (логической организации) файл - это совокупность одно-типных записей, каждая из которых информирует о свойствах одного объекта. Записи могут быть фиксированной длины, переменной длины или неопределенной длины. Записи переменной длины в своем составе содержат длину записи, а неопределенной длины – специальный символ конца записи.
При этом каждая запись может иметь идентификатор, представляющий собой ключ, который может быть сложным и состоять из нескольких полей.
Существует три способа доступа к данным, расположенным во внешней памяти:
1. Физически последовательный по порядку размещения записи в файле.
2. Логически последовательный в соответствии с упорядочением по значению ключей. Для выполнения упорядочения создается специальный индексный файл, в соответствии с которым записи представляются для обработки.
3. Прямой - непосредственно по ключу или физическому адресу записи.
Для организации доступа записи должны быть определенным образом расположены и взаимо-связаны во внешней памяти. Есть несколько способов логической организации памяти.
Последовательный
Записи располагаются в физическом порядке и обеспечивают доступ в физической последова-тельности. Таким образом, для обработки записи с номером N+1 необходимо последовательно обра-титься к записям с номером 1, 2,….,N. Это универсальный способ организации файла периферийного устройства. Используется так же для организации входного/выходного потока.
Индексно-последовательный.
Записи располагаются в логической последовательности в соответствии со значением ключей записи. Физически записи располагаются в различных местах файла. Логическая последовательность файла фиксируется в специальной таблице индексов, в которой значение ключей связывается с физи-ческим адресом записи. При такой организации доступ к записям осуществляется логически последо-вательно в порядке возрастания или убывания значения ключа или по значению ключа.
Индексный
Место записи в файле, ее физический адрес, определяется алгоритмом преобразования для клю-ча. Доступ к записям возможен только прямой. Алгоритм преобразования ключа называется хеширо-ванием. Ключ, использующий алгоритм хеширования, преобразуется в номер записи.
Прямой.
Это организация, при которой осуществляется прямой доступ по порядковому номеру записи или по физическому адресу.
Библиотечный
Организация, в которой файл состоит из последовательных подфайлов (разделов), первый из которых является оглавлением и содержит имена и адреса остальных подфайлов. При такой организации осуществляется комбинированныйдоступ: индексный прямой к разделу и последовательный в разделах.
Определить права доступа к файлу - значит определить для каждого пользователя набор опера-ций, которые он может применить к данному файлу. В разных файловых системах может быть опре-делен свой список дифференцируемых операций доступа. Этот список может включать следующие операции:
• создание файла;
• уничтожение файла;
• открытие файла;
• закрытие файла;
• чтение файла;
• запись в файл;
• дополнение файла;
• поиск в файле;
• получение атрибутов файла;
• установление новых значений атрибутов;
• переименование;
• выполнение файла;
• чтение каталога;
• и другие операции с файлами и каталогами.
В самом общем случае права доступа могут быть описаны матрицей прав доступа, в которой столбцы соответствуют всем файлам системы, строки - всем пользователям, а на пересечении строк и столбцов указываются разрешенные операции. В некоторых системах пользователи могут быть раз-делены на отдельные категории. Для всех пользователей одной категории определяются единые права доступа. Например, в системе UNIX все пользователи подразделяются на три категории: владельца файла, членов его группы и всех остальных. Различают два основных подхода к определению прав доступа:
• избирательный доступ, когда для каждого файла и каждого пользователя сам владелец может определить допустимые операции;
• мандатный подход, когда система наделяет пользователя определенными правами по отношению к каждому разделяемому ресурсу (в данном случае файлу) в зависимости от того, к какой группе пользователь отнесен.
Управление внешней памятью
Физически том дисковой памяти - это отдельный носитель внешней памяти, представляющий собой совокупность блоков данных. Блок - это единица физической передачи данных (единица обме-на данных с устройством). Запись - это единица ввода/вывода программы. Блок может содержать не-сколько логических записей, что минимизирует число операций ввода/вывода (рис.1).

Рисунок 1. Коэффициент блокирования 7
Физически файл - это совокупность выделенных блоков памяти (область внешней памяти). Су-ществует два вида организации накопителей на магнитном диске:
1.Трековый, в котором весь диск подразделяется на треки (дорожки) фиксированной длины, на которых размещаются блоки переменного размера. Адресом блока является тройка:
• номер цилиндра;
• номер трека;
• номер блока.
Единицей выделения памяти является трек или цилиндр. Цилиндр представляет собой область памяти, образованную всеми дорожками, доступными на магнитных поверхностях без перемещения магнитных головок.
2.Секторный, в котором диск разбивается на блоки фиксированного размера, обычно кратного 256 байтам. Адресом блока является его порядковый номер на носителе.
Работа с дисковой памятью включает в себя 4 основные процедуры:
1. Инициализация тома (форматирование).
2. Выделение и освобождение памяти файлу.
3. Уплотнение внешней памяти (дефрагментация).
4. Копирование, восстановление томов для обеспечения целостности.
Инициализация тома состоит из:
• форматирования диска на дорожки (сектора);
• определения сбойных участков диска;
• присвоения метки тому;
• создания оглавления тома;
• записи ОС, если это необходимо.
Способы распределения памяти на диске
Выделение и освобождение места для файлов на томе аналогично стратегии размещения ОП.
1. Непрерывное распределение памяти, когда файлу выделяется непрерывный участок па-мяти. Для задания адреса файла в этом случае достаточно указать только номер началь-ного блока. Достоинство этого метода - простота. Очевидный недостаток - проблема расширения файла и фрагментация. Уплотнение или дефрагментация используется для восстановления памяти.
2. Секторное или блочное распределение, когда файлу выделяется логически связанные блоки, физически размещенные в любом месте. При таком способе в начале каждого блока содержится указатель на следующий блок. В этом случае адрес файла также мо-жет быть задан одним числом - номером первого блока. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла и, следо-вательно, фрагментация отсутствует. Файл может изменяться во время своего сущест-вования, наращивая число блоков. Недостатком является сложность реализации досту-па к произвольно заданному месту файла: для того чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков.
Популярным способом, используемым, например, в файловой системе FAT операционной сис-темы MS-DOS, является использование связанного списка индексов. С каждым блоком (кластером) связывается некоторый элемент - индекс. Индексы располагаются в отдельной области диска (в MS-DOS это таблица FAT). Если некоторый блок распределен файлу, то индекс этого блока содержит номер следующего блока данного файла. При этом для каждого файла в каталоге имеется поле, в котором отмечается номер начального индекса для кластера, входящего в файл. Последний индекс содержит специальный маркер конца файла. Такая физическая организация сохраняет все достоинства предыдущего способа и снимает отмеченный недостаток: для доступа к произвольному месту файла достаточно прочитать только блок индексов, отсчитать нужное количество блоков файла по цепочке и определить номер нужного блока.
В заключение рассмотрим задание физического расположения файла путем простого перечисле-ния номеров блоков, занимаемых этим файлом. ОС UNIX использует вариант данного способа, по-зволяющий обеспечить фиксированную длину адреса независимо от размера файла. Для хранения адреса файла выделено 13 полей. Если размер файла меньше или равен 10 блокам, то номера этих блоков непосредственно перечислены в первых десяти полях адреса. Если размер файла больше 10 блоков, то следующее, 11-е поле содержит адрес блока, в котором могут быть расположены еще 128 номеров следующих блоков файла. Если файл больше, чем 10+128 блоков, то используется 12-е поле, в котором находится номер блока, содержащего 128 номеров блоков, которые содержат по 128 номеров блоков данного файла. И, наконец, если файл больше 10+128+128(128, то используется последнее, 13-е поле для тройной косвенной адресации, что позволяет задать адрес файла, имеющего размер максимум: 10+ 128 + 128(128 + 128(128(128.
В некоторых файловых системах запросы к внешним устройствам, в которых адресация осуще-ствляется блоками (диски, ленты), перехватываются промежуточным программным слоем-подсистемой буферизации. Подсистема буферизации представляет собой буферный пул, распола-гающийся в оперативной памяти, и комплекс программ, управляющих этим пулом и позволяющий выполнять опережающее считывание блоков файла при последовательном доступе. Каждый буфер пула имеет размер, равный одному блоку. При поступлении запроса на чтение некоторого блока под-система буферизации просматривает свой буферный пул и, если находит требуемый блок, то копиру-ет его в буфер запрашивающего процесса. Операция ввода-вывода считается выполненной, хотя фи-зического обмена с устройством не происходило. Очевиден выигрыш во времени доступа к файлу. Если же нужный блок в буферном пуле отсутствует, то он считывается с устройства и одновременно с передачей запрашивающему процессу копируется в один из буферов подсистемы буферизации. При отсутствии свободного буфера на диск вытесняется наименее используемая информация. Таким образом, подсистема буферизации работает по принципу кэш-памяти. Кроме того, буферизация позволяет одновременно обрабатывать программой текущий блок и читать/писать в другие буфера следующий блок.
Категория: Учителю информатики | Добавил: Wrecker (29 Июл 2012)
Просмотров: 1091 | Рейтинг: 1.0/ 7 Оштрафовать | Жаловаться на материал
Похожие материалы
Всего комментариев: 0

Для блога (HTML)


Для форума (BB-Code)


Прямая ссылка

Профиль
Понедельник
06 Май 2024
14:02


Вы из группы: Гости
Вы уже дней на сайте
У вас: непрочитанных сообщений
Добавить статью
Прочитать сообщения
Регистрация
Вход
Улучшенный поиск
Поиск по сайту Поиск по всему интернету
Наши партнеры
Интересное
Популярное статьи
Портфолио ученика начальной школы
УХОД ЗА ВОЛОСАМИ ОЧЕНЬ ПРОСТ — ХОЧУ Я ЭТИМ ПОДЕЛИТ...
Диктанты 2 класс
Детство Л.Н. Толстого
Библиографический обзор литературы о музыке
Авторская программа элективного курса "Практи...
Контрольная работа по теме «Углеводороды»
Поиск
Главная страница
Используются технологии uCoz