Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Первая попытка




Логическая организация файла и физическое расположение

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

Записи могут быть фиксированной длины или переменной длины. Записи могут быть расположены в файле последовательно (последовательная организация). Это выполняемые файлы - EXE, COM, DLL, а также многие файлы с данными - BMP, TXT, DOC, XLS и т.п.

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

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

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

Давайте подумаем, как можно было бы располагать файлы на диске. Диск выглядит как некоторое количество кусочков, на каждом из которых можно записать один бит информации. Но битами не принято оперировать. Практически всегда счет идет на байты (1 байт = 8 бит). Но даже байт – слишком маленькая часть, обычно диск делится на некоторое количество кластеров. Позже мы рассмотрим реальную логическую структуру диска, а пока считаем, что кластеры пронумерованы, не вдаваясь в размышления о размере кластера.

Итак, как можно было бы располагать файлы на диске? Первое, что приходит в голову – файлы располагаются последовательно, в начале каждого есть заголовок с именем файла (чтобы его идентифицировать) и его размером (чтобы найти конец, а, следовательно, – заголовок следующего). Такая простая организация плоха тем, что время доступа к нужному файлу равно примерно половине времени чтения всего диска! Кроме того, неясно, как быть с изменением размеров файла, уничтожением файлов. Оставлять пустое место при уменьшении файла? А при увеличении, куда помещать файл?

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

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

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




Поделиться с друзьями:


Дата добавления: 2014-12-07; Просмотров: 381; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




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