На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! правила раздела Алгоритмы
1. Помните, что название темы должно хоть как-то отражать ее содержимое (не создавайте темы с заголовком ПОМОГИТЕ, HELP и т.д.). Злоупотребление заглавными буквами в заголовках тем ЗАПРЕЩЕНО.
2. При создании темы постарайтесь, как можно более точно описать проблему, а не ограничиваться общими понятиями и определениями.
3. Приводимые фрагменты исходного кода старайтесь выделять тегами code.../code
4. Помните, чем подробнее Вы опишете свою проблему, тем быстрее получите вразумительный совет
5. Запрещено поднимать неактуальные темы (ПРИМЕР: запрещено отвечать на вопрос из серии "срочно надо", заданный в 2003 году)
6. И не забывайте о кнопочках TRANSLIT и РУССКАЯ КЛАВИАТУРА, если не можете писать в русской раскладке :)
Модераторы: Akina, shadeofgray
  
> файловая система
    не знаю, в тот ли раздел залез, но это ничего :)

    так вот, что-то меня потянуло на эти вот вещи, вроде фс. а оно и понятно - на системщика учусь :)
    так вот, в чём суть -
    в начале чего-то (диска, файла), где расположена сия фс, находится структура -
    ну в ней хранится сигнатура, размер блока, количество блоков\свободных блоков и длина FAT (в блоках)
    далее - инфо о фате - размер кластера, их кол-во, сколько свободно, максимальное количество возможных файлов, ну а далее уже - записи о каждом файле (название, длина в кластерах (кол-во _полных_ кластеров), остаток (длина_файла - длина_в_кластерах*размер_кластера), первый кластер). возникает вопрос -
    ну знаю я первый кластер файла, а как узнать, где его второй кластер, третий и т.д.? ну не понимаю -) в фате хранить это по-моему неразумно - очень много места съестся, а как иначе - не знаю. поможите :))

    зы. не ругать! придумал сам =)
      На диске как бы есть два списка, первый FAT - где как раз хранятся данные (12 , 16 или 32 бит) о следующем секторе файла или значение от 0FF8h до 0FFFh (конец файла); а второй список - каталог файлов который состоит из 32 байтных записей, корневой каталог размещается в фиксированном месте на диске, в нем среди записей размещаються и записи про подкаталоги. А подкаталоги выглядят как обычные файлы, и размещаются в произвольных секторах диска.
      Чет, я уж и сам запутался  :)
        ты не понял суть моего вопроса :)
        я хочу узнать, где можно хранить информацию о кластерах, принадлежащих файлам?
        в таблице размещения файлов по-моему всё это хранить неразумно -)
          в фат16 это, вроде, в директории хранится.
            программисты, блин -)
              Я ж и говорю, информация храниться только о первом кластере файла, а продолжение хранится к каждому кластеру диска(в не зависимости от файла!)  ???
                это ж что получается - мне от каждого кластера придётся откусить по 4 байта?
                вот гадство -)
                  Извини немного непонятно выразился, отбирается по 8 байт на каждый кластер(две копии ФАТА), но храниться все в одном месте в начале диска
                    спроси в ассембреном разделе...
                    имхо в фате на каждый кластер (512 байт) выделяется 4 байта...
                    в каталоге(директории) для каждого файла хранится адрес первого кластера.
                    в фате этому кластеру соотв 4байта, в которых лежит адрес следующего кластера этого файла, или oxfff если это последний кластер файла .
                    это в фат16, В 32 СЛОЖНЕЕ
                      Если я правильно понял, речь идёт о разработке файловой системы.
                      Так вот, если ты выбрал кластерную организацию памяти, то ты вынужден где-то хранить адреса кластеров данного файла - либо в массиве, либо в связном списке. В любом случае тебе понадобится столько ячеек с адресами (размер ячеек зависит от способа адресации и, возможно, максимально допустимым размером раздела) кластеров, сколько файл будет занимать. Т.е. - либо "откусывать" олт каждого кластера, либо хранить где-то таблицу (не обязательно по типу FAT).
                        угу, ты правильно меня понял :)

                        в последние дни вот сижу и думаю...
                        0 пользователей читают эту тему (0 гостей и 0 скрытых пользователей)
                        0 пользователей:


                        Рейтинг@Mail.ru
                        [ Script execution time: 0,0242 ]   [ 15 queries used ]   [ Generated: 27.04.24, 20:22 GMT ]