10     

В области дат находятся все файлы и каталоги. Она разбита на кластеры. Номера  кластеров соотв-ют номерам блоков нашей файловой таблицы. 

 

Логика поиска файла на диске.

Мы как пользователи имеем дело с логической иерархической древовидной структурой. Предположим нам необходимо найти на диске А некоторый файл. А:\ ab.txt-он существует. Что делает ОС? Она обращается в нулевой сектор  бласть начального загрузчика. Для того, чтобы опр-ть параметры данного носителя(файловую систему, хар-ки данного диска). Затем ОС обращается в область корневого каталога, которая разбита на дескрипторы. У каждого дескриптора есть соответствующие поля:

 

┌───┬──┬───┬──┬──┬───┐

│ 1 │  │Ab │    T Имя файла

├───┼──┼───┼──┼──┼───┤

│ 1 │  txt       расширение

├───┼──┼───┼──┼──┼───┤

│ 1 │  │20h    │10h атрибут

├───┼──┼───┼──┼──┼───┤

│...│  │...│       

├───┼──┼───┼──┼──┼───┤

7  4    60 номер начального кластера

├───┼──┼───┼──┼──┼───┤

│...│  │...│       

└───┴──┴───┴──┴──┴───┘

 

 

 

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

Ос обращается в поле 3- атрибут. Здесь, как правило обнаруживает 16-ричное значение, которое должно сказать, что это признак каталога.

После она обращается в поле 7-номер начального кластера(нр 4).она обращается в кластер с данным номером. Там считывает информацию с кластера. Обращается в FAT таблицу. Обращается в блок, номер которого соответствуют номеру кластера(4). Там содержится вариант информации, о том где находится продолжение или признак конца файла. Предположим файл продолжается в 6 кластере. ОС обр-ся в 6 кластер. Считывает информацию. Обр-ся в FATтаблицу. Там определенная информация в соотв. блоке. Инфор-ция о продолжении файла в 9 кластере. ОС обр-ся в обл. данных в 9 кластер. Считывает информацию. Обр-ся в блок 9.Здесь например нах-ся признак конца файла. Т.о.С  опр-ет цепочку кластеров. В данном случае она состаит из 3 кластеров. ОС считывает информацию  из кластеров, получает информацию из всего файла.

 

┌────────────────┬───┬───┬───┬───┬───┬───┬───┬───┬───┐

Область данных         │ 4 │   │ 6 │      │ 9 │

├────────────────┴───┴───┴───┴───┴───┴^──┴───┴───┴^─┬┤

                              ┌──────┘ ┌─────────┘ ││

├────────────────┬───┬───┬───┬─┴─┬───┬──┴┬───┬───┬──v┤

│ FAT                     │ 6 │   │ 9 │      │50F│

└────────────────┴───┴───┴───┴───┴───┴───┴───┴───┴───┘

Предположим файл нах-ся на диске в директории:

 A:\T\ef.txt

┌───┬───┬───┬──┬──┬───┐

│ 1 │ . │..     │Ef │

├───┼───┼───┼──┼──┼───┤

│ 2 │          │Txt│

├───┼───┼───┼──┼──┼───┤

│ 3 │10h│10h   │20h│

├───┼───┼───┼──┼──┼───┤

│...│             

├───┼───┼───┼──┼──┼───┤

│ 7 │60 │ 0     │100│

├───┼───┼───┼──┼──┼───┤

│...│             

└───┴───┴───┴──┴──┴───┘

 

Ос обращается в начальный загрузчикчитывает информацию о носителе. Обр-ся в обл. корневого каталога. Также подряд перебирает дескрипторы. . Пока не найдет  дескриптор в поле имени которого находится набор символов как в том файле, который мы ищем.  Потом ОС обращается в поле расширения. Информации в этом поле нет. ОС обращается в поле 3 .Там будет 16-ричное число. Данный дескриптор содержит информацию о признаке подкаталога. ОС в 7 поле - адреса,  номера  начального кластера, кот. Содержит информацию о этой директории. Ос обращается в этот кластер. Она увидит, что этот кластер содержит   дескриптор. Причем в поле имени которого расположен символ «.», так же нет  расширения , в поле 3 содержит признак каталога. В поле 7 этот дескриптор содержит информацию о самом каталоге. Следующий дискриптор содержит в поле 1-«..»-признак каталога. В поле 7-не будет информациитот дискриптор содержит информацию о вышестоящем каталоге. Поэтому, если мы пишем команду cd.., то мы тем самым перемещаемся .

 

Hosted by uCoz