КАТЕГОРИИ: Архитектура-(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) |
Вторая попытка
Пытаемся решить проблему с изменением размеров файлов, удалением файлов. Можно организовать дело так, что файлу будет выделяться место «кусочками», а эти «кусочки» будут связываться в единый список для каждого файла. Минимальная дисковая память, выделяемая операционной системой файлу, называется кластером. Итак, наш кусочек – кластер. Какого размера кластер? Об этом еще позже. Пока скажем только то, что размер кластера = 2^n (два в степени n байт). На рисунке изображена часть диска. В верхней части стоят номера кластеров диска (просто подписи для удобства, ясно, что на диске никаких номеров нет!). Ниже – собственно диск. Пусть сначала потребовалось разместить на диске файл А размером 1,7 кластера. ОС выделяет два кластера, заносит запись в каталог, содержащую имя файла и номер первого кластера. Куда теперь записать номер кластера, в котором файл продолжается? Можно выделить часть первого кластера для этого. Итак, в первый кластер занесется ссылка на продолжение файла, то есть на кластер 2, и начало данных файла, а во втором кластере на месте ссылки будет записан признак конца файла. Диск
Пусть позже потребовалось выделить место для файла B размером менее 1 кластера. По тем же правилам занесется запись в каталог (В 3), а на месте ссылки будет поставлен признак конца файла. Далее потребовалось выделить кластер для файла С (все аналогично). Диск
Теперь – самое интересное: сначала файл В, а затем файл А потребовалось расширить. Для файла В ОС нашла свободное место в 5 кластере, этот кластер отдается файлу В, а ссылка в кластере 3 переписывается с «конец файла» на 5. В 5 кластере, очевидно, ставится на месте ссылки «конец файла». В каталоге ничего не изменяется. Аналогично выделяется фрагмент, длиной два кластера, для файла А. Картина получится следующая: Диск
Таким образом, второй способ физической организации - размещение в виде связанного списка блоков дисковой памяти. При таком способе в начале каждого кластера содержится указатель на следующий кластер. В этом случае адрес файла также может быть задан одним числом - номером первого кластер. В отличие от предыдущего способа, каждый блок может быть присоединен в цепочку какого-либо файла, следовательно, нет потерь дискового пространства, но есть фрагментация, Файл может изменяться во время своего существования, наращивая число блоков или освобождая их. Недостатком является сложность реализации доступа к произвольно заданному месту файла: для того, чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков. Кроме того, при этом способе количество данных файла, содержащихся в одном блоке, не равно степени двойки (одно слово израсходовано на номер следующего блока), а многие программы читают данные блоками, размер которых равен степени двойки. В связи с указанными недостатками эта полученная нами схема практически не применяется.
Заметим, что в приведенном примере неверно то, что каталог изображен в виде отдельной структуры. Напомним, что каталог – это тоже файл, следовательно, он тоже должен занимать место на диске. А где тогда записана информация о файле – каталоге? Проблемы нет для подкаталогов, так как информация о них содержится в родительском каталоге, а вот как быть с корневым? Интересно, что в FAT16 корневой каталог не является обычным файлом, он всегда расположен в начале диска и размер его фиксирован. Но уже в FAT32 придумали, как разрешить изменять размер корневого каталога, хотя он по-прежнему располагается в начале диска.
Дата добавления: 2014-12-07; Просмотров: 531; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |