Студопедия

КАТЕГОРИИ:


Архитектура-(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, и начало данных файла, а во втором кластере на месте ссылки будет записан признак конца файла.

Диск

1   2     3   4   5   6   7   8   9  
  A # A                            

 

Каталог  
А  
   
   
     

 

Пусть позже потребовалось выделить место для файла B размером менее 1 кластера. По тем же правилам занесется запись в каталог (В 3), а на месте ссылки будет поставлен признак конца файла. Далее потребовалось выделить кластер для файла С (все аналогично).

Диск

1   2     3   4   5   6   7   8   9  
  A # A # B # C                    

 

Каталог  
А  
B  
C  
   
     

 

Теперь – самое интересное: сначала файл В, а затем файл А потребовалось расширить. Для файла В ОС нашла свободное место в 5 кластере, этот кластер отдается файлу В, а ссылка в кластере 3 переписывается с «конец файла» на 5. В 5 кластере, очевидно, ставится на месте ссылки «конец файла». В каталоге ничего не изменяется.

Аналогично выделяется фрагмент, длиной два кластера, для файла А. Картина получится следующая:

Диск

1   2     3   4   5   6   7   8   9  
  A   A   B # C # B   A # A        

 

Каталог  
А  
B  
C  
   
     

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

Недостатком является сложность реализации доступа к произвольно заданному месту файла: для того, чтобы прочитать пятый по порядку блок файла, необходимо последовательно прочитать четыре первых блока, прослеживая цепочку номеров блоков. Кроме того, при этом способе количество данных файла, содержащихся в одном блоке, не равно степени двойки (одно слово израсходовано на номер следующего блока), а многие программы читают данные блоками, размер которых равен степени двойки.

В связи с указанными недостатками эта полученная нами схема практически не применяется.

Заметим, что в приведенном примере неверно то, что каталог изображен в виде отдельной структуры. Напомним, что каталог – это тоже файл, следовательно, он тоже должен занимать место на диске. А где тогда записана информация о файле – каталоге? Проблемы нет для подкаталогов, так как информация о них содержится в родительском каталоге, а вот как быть с корневым? Интересно, что в FAT16 корневой каталог не является обычным файлом, он всегда расположен в начале диска и размер его фиксирован. Но уже в FAT32 придумали, как разрешить изменять размер корневого каталога, хотя он по-прежнему располагается в начале диска.




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


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


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



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




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