|
|
$VER: 1.12 07.04.2001
1) Что такое AFS, и каковы отличия AFS от других файловых систем?
2) Что такое PFS, PFS2 и PFS3? Чем отличается PFS3 от AFS?
3) Каковы требования к аппаратуре и системе?
4) Насколько надёжна PFS3?
5) Работает ли PFS3 со сменными дисками (Floppy, Zip, Syquest)?
6) Каковы ограничения на размер раздела?
7) Есть ли ограничения на размер винчестера? Чем они вызваны?
8) Что такое Direct SCSI и TrackDisk64?
9) Как преодолеть 4-гигабайтный барьер на IDE-винчестере?
10) Насколько экономно использует PFS3 дисковое пространство?
11) Есть ли программы, с которыми не работает PFS3?
12) Можно ли и стоит ли использовать дисковый кэш с PFS3?
13) Что такое MaxTransfer и каким его устанавливать?
14) Что такое DMA Mask и какой её устанавливать?
15) Сколько буферов нужно установить для PFS3 раздела?
16) Можно ли преобразовать имеющиеся разделы в формат PFS3?
17) Что делать, если работа с PFS3 разделом слишком медленна?
18) Как восстановить удалённые файлы?
19) Для чего нужна программа diskvalid?
20) Что делать, если после запуска diskvalid диск недоступен?
21) Для чего нужна программа makerollover?
22) Для чего нужна программа setfnsize?
23) Для чего нужна программа setdeldir?
24) Для чего нужна программа PFSDoctor?
25) Происходит ли фрагментация диска на PFS3?
26) Нужно ли производить дефрагментацию PFS3?
27) Полностью ли совместима PFS3 с AmigaDOS?
28) Какие версии AFS и PFS3 существуют и какие стоит устанавливать?
29) Как устанавливать PFS3?
30) Будет ли винчестер с установленной PFS3 работать на другой машине?
31) Что означает ситуация невозможности записи на диск?
32) Почему PFS после установки использует ChipRAM и как этого избежать?
33) Что делать, если на винчестере появились bad block-и?
34) Есть ли альтернатива PFS3?
1) Что такое AFS, и каковы отличия AFS от других файловых систем?
AFS (AmiFileSafe) - новая файловая система, созданная как замена
устаревшей FFS. Отличается от FFS в несколько раз большей скоростью работы
с каталогами (создание/удаление и прочие операции с файлами), на несколько
порядков более быстрым позиционированием в файле, заметно большей линейной
скоростью чтения/записи файлов, практическим отсутствием фрагментации, и
отсутствием необходимости в валидации. При сбросе машины в момент записи в
худшем случае теряется ещё не закрытый файл.
Скорость AFS очень хорошо ощущается при активной работе с диском -
например, при тоссинге FIDOшной почты, или при операциях с большим
количеством файлов в каталоге. При работе эмуляторов Macintosh практически
нет никакой разницы, идёт работа с файлом или с разделом винчестера.
Сравнение с файловой системой SFS приведено далее.
2) Что такое PFS, PFS2 и PFS3? Чем отличается PFS3 от AFS?
PFS (Professional File System) была выпущена до AFS и распространялась
как shareware через Aminet. PFS2 - новая версия AFS. Смена названия
объясняется тем, что ввиду бесчисленного количества нареканий на фирму FLD
(Fourth Level Developments), распространявшую AFS, автор был вынужден
отказаться от её услуг, а торговая марка AFS принадлежала FLD.
В PFS2 исправлены некоторые недостатки AFS. В частности, у PFS2 снят
лимит на размер раздела (AFS поддерживала до 2 гигабайт) и поддерживается и
TD64 (64-битное расширение системы команд scsi.device). PFS2 полностью
совместима с AFS и может быть использована для работы с AFS дисками.
Однако, при переформатировании дисков под PFS2 производительность диска
значительно увеличивается.
Кроме того, PFS2 имеет программный интерфейс для оптимизации диска
параллельно с работой прикладных программ с этим диском.
PFS3 отличается отсутствием ограничений на размер имени файла - до 107
символов, и наличием PFS3 Doctor.
3) Каковы требования к аппаратуре и системе?
В отличие от FFS, PFS3 более требовательна к оперативной памяти.
Каждый раздел PFS3 "отъедает" порядка 100 килобайт RAM как минимум.
Очевидно, почти нет смысла ставить PFS3 на машины только с chip-памятью.
Скорость процессора и скорость памяти тоже играют существенную роль.
Скорость работы FFS почти полностью зависит только от скорости доступа к
диску, скорость же работы PFS3 резко возрастает при ускорении процессора.
4) Насколько надёжна PFS3?
У меня (автора FAQ) AFS и PFS успешно работают уже больше четырёх лет.
За всё это время не случалось ничего фатального, кроме однажды возникшей
ситуации, после которой diskvalid стал сообщать об ошибках. Информация
переписана на другой винчестер и обратно, ничего не было потеряно.
Ситуация, в результате которой это случилось, связана с hard-линками.
Вероятно, причиной послужила запись файлов поверх линков на другие файлы,
вызвавшая некорректное удаление линков. Эта проблема уже устранена в PFS3.
PFS3 (как и AFS) некритична к сбоям питания, сбросам и зависаниям во
время записи на диск. За всё это время таких ситуаций было множество, и ни
одна из них не привела к разрушению информации. Единственное, на что стоит
обратить внимание - не гарантируется сохранность записываемых файлов, если
они закрывались позже чем за полторы секунды до сброса машины.
В документации упоминается, что при возникновении серьёзных проблем с
файловой структурой PFS3 переводит диск в режим readonly. Ничего подобного
за это время ни разу не возникало.
Нечувствительность файловой системы к ситуации не сброшенного кэша и
отсутствие необходимости в валидации объясняется тем, что всякая операция
записи на диск является завершённой. У PFS3 не может быть ситуации, когда
по аналогии с FAT уже произведена запись новой цепочки кластеров, а файл в
каталог ещё не занесён. Кроме того, у PFS3 невозможна ситуация, когда
существующий файл затёрт уже открытым, записанным, но ещё не закрытым
файлом, и при перезагрузке теряются оба файла - старый и новый. Старый
файл сохраняется в каталоге до тех пор, пока не закрыт новый.
Более подробно читайте авторскую документацию про Atomic Commit.
5) Работает ли PFS3 со сменными дисками (Floppy, Zip, Syquest)?
Для работы с дискетами существует специальная floppy-версия PFS3.
Преимущество по скорости при этом огромное. С дисками больших объёмов
(Zip, Syquest, MOD) работает та же самая версия PFS3, что и с винчестером.
6) Каковы ограничения на размер раздела?
Минимальный размер раздела для harddisk-версии - 5 мегабайт. Для
разделов меньшего размера следует использовать floppy-версию PFS3.
Максимальный размер раздела - 108 гигабайт.
7) Есть ли ограничения на размер винчестера? Чем они вызваны?
AmigaOS изначально при работе с диском использовала 32-битную
адресацию. Это означает, что адресоваться мог диск размером только до 4
гигабайт. Версия scsi.device, прошитая в ROM A1200, тоже имеет это
ограничение, поэтому загрузочный раздел системы должен обязательно
находиться в пределах первых 4 гигабайт винчестера.
Обновление scsi.device преодолевает это ограничение, вводя 64-битную
адресацию. Самый лучший способ это сделать - установить пакет IDEfix.
Также есть обновления в составе AmigaOS 3.5 и 3.9, но их лучше даже и не
пытаться использовать - сразу удалите файл "devs:AmigaOS ROM Update".
Обладатели акселераторов Blizzard также могут установить IDEfix через
BlizKick (добавив c:idefix в список модулей), что сделает ненужной лишнюю
перезагрузку машины - что происходит при "обычной" установке IDEfix.
8) Что такое Direct SCSI и TrackDisk64?
Direct SCSI команды - это возможность передачи любым SCSI-устройствам
произвольных SCSI команд. Кроме всего прочего, можно передавать SCSI
команды чтения и записи, что позволяет обойти вышеупомянутый 4-гигабайтный
барьер на SCSI устройствах даже на старых версиях драйверов. Для не-SCSI
устройств это не даёт эффекта, поскольку в лучшем случае SCSI-команды там
эмулируются программно и переводятся в 32-битный доступ к диску.
Для работы с большими SCSI дисками существует Direct SCSI версия PFS3,
называемая PFS3ds. Кроме преодоления упомянутого ограничения, она
позволяет несколько повысить скорость работы с диском за счёт того, что не
требуется интерпретация запросов драйвера и перевод их в SCSI команды.
TrackDisk64 - новый стандарт на команды дисковых драйверов,
расширяющий адресацию диска до 64-битной. Обычная, не Direct SCSI версия
PFS3 поддерживает этот стандарт (AFS не поддерживает). На новых версиях
scsi.device обычная версия может работать с винчестерами до 2 терабайт.
9) Как преодолеть 4-гигабайтный барьер на IDE-винчестере?
Команды Direct SCSI на старых версиях scsi.device переводятся в
32-битные обращения к IDE устройствам. Самый лучший способ это сделать, как
уже упоминалось - установка пакета IDEfix.
10) Насколько экономно использует PFS3 дисковое пространство?
Каждый файл на PFS3 диске занимает один сектор (512 байт) в отличие от
FFS, где на каждый файл отводится минимум два сектора - в результате, на
дискету помещается вдвое больше мелких (менее сектора) файлов.
Поскольку PFS3 заранее делит диск на зону файлов и зону служебной
информации (у FFS они перемешаны), свободного места на диске система
показывает меньше. При переполненности зоны файлов (как и зоны служебной
информации) PFS3 начинает использовать соседнюю зону для не помещающейся
информации. В общем, требования к объёму винчестера у PFS3 больше, чем у
FFS, но информация о свободном месте не должна вводить Вас в заблуждение.
11) Есть ли программы, с которыми не работает PFS3?
С PFS3 не работают любые программы, которые "напрямую" лезут на диск.
К таким программам относятся AmiBackTools, ReOrg, QuarterBack Tools, VMM в
режиме pseudo-partition, всевозможные утилиты восстановления удалённых
файлов. Поскольку PFS3 практически не нуждается в дефрагментации и имеет
встроенные средства восстановления файлов, проблем это не вызывает.
Среди остальных программ на данный момент отмечены только два случая
неработоспособности - не запускается demo Psychedelic, а также не работает
автозагрузка постпроцессов в Real3D (о чём написано в Real3D FAQ). Причины
этого точно не известны. Все остальные программы работают без нареканий.
12) Можно ли и стоит ли использовать дисковый кэш с PFS3?
PFS3 имеет встроенные очень эффективные средства кэширования служебной
информации. PFS3 не кэширует данные, поэтому в ряде случаев использование
отдельной кэширующей программы может оказаться полезным (в частности, при
использовании DynamiCache Spot показывает список сообщений в несколько раз
быстрее). Но в большинстве случаев кэширование не даёт заметного
результата.
Кэшировать PFS3 по записи (с отложенной записью) НИ В КОЕМ СЛУЧАЕ
НЕЛЬЗЯ по причине критичности PFS3 к порядку записи на диск. Использование
кэширования по записи может привести к порче данных, если кэш не был
сброшен.
Имейте в виду, что при использовании TD64 и Direct SCSI большинство
кэширующих программ (точнее, старые их версии) работать не будут.
13) Что такое MaxTransfer и каким его устанавливать?
MaxTransfer - параметр, устанавливаемый для раздела в HDToolBox и
определяющий, сколько байт может накопитель прочитать или записать за одно
обращение к нему. Значение по умолчанию - 0xffffff (16 мегабайт).
IDE-винчестеры не могут обработать за один раз такой объём, поскольку
количество пересылаемых секторов у них задаётся одним байтом.
Рекомендуемое значение для IDE-винчестеров - 0xfe00. Это значение должно
быть меньше 64 килобайт (теоретически IDE позволяет прокачать за один раз
128 килобайт - 0x1fe00, но практически не все накопители это могут
поддерживать), и оно должно быть кратным размеру сектора (в противном
случае при форматировании зависает стандартный Format, встроенный же в
DOpus работает великолепно).
Если значение MaxTransfer не изменить и оставить "как есть", при
чтении или записи файлов большого объёма без фрагментации возможны сбои -
информация будет считана/записана не целиком.
После установки IDEfix значение MaxTransfer более не играет роли.
14) Что такое DMA Mask и какой её устанавливать?
DMA Mask - значение, определяющие, с какими участками памяти может
работать контроллер диска непосредственно. Особый смысл оно имеет для
устройств, работающих по DMA.
DMA Mask представляет собой битовую маску. При любом обращении к
диску AmigaOS проверяет адреса, по которым идёт доступ, по этой маске - то
есть сбрасывает в адресе все биты, соответствующие битам маски. Если при
этом получается ненулевое число, следовательно адрес не соответствует маске
- в этом случае AmigaOS будет производить операцию чтения/записи не
непосредственно по указанным адресам, а во временный буфер, размещённый в
участке памяти, адреса которого соответствуют маске.
Для чего это сделано? Представим себе Zorro-II SCSI контроллер,
работающий по DMA. DMA Zorro-II может "достать" только до первых 16
мегабайт адресного пространства, поскольку Zorro-II имеет всего лишь 24
линии адреса. Таким образом, операции чтения-записи могут производиться
только в указанном диапазоне. Кроме того, опять же представим, что DMA
контроллер может обращаться к памяти только с чётных адресов, поскольку
работает по словам. В этом случае DMA Mask = 0xfffffe. Нечётные адреса и
адреса, превышающие 16 мегабайт, не соответствуют этой маске, и при
необходимости провести чтение/запись по таким адресам она будет проведена в
буфере, размещённом по адресу, удовлетворяющему DMA Mask, а затем уже
процессором информация перекидывается по нужным адресам, поскольку никаких
ограничений на диапазон адресов у процессора нет.
15) Сколько буферов нужно установить для PFS3 раздела?
Рекомендуемое количество буферов - 100-250 в зависимости от размера
раздела и количества файлов, при установке менее 70 буферов PFS3 всё равно
использует 70. Чем больше файлов на диске, тем большее количество буферов
рекомендуется для него установить. Если Вам не жалко памяти, установите
600 - это максимум для PFS3.
16) Можно ли преобразовать имеющиеся разделы в формат PFS3?
Для AFS существовала программа FFS2AFS. К сожалению, практика
показала низкую её надёжность - неоднократны были случаи, когда эта
программа в процессе конвертирования зависала, зацикливаясь на одном и том
же месте диска. Единственный действительно надёжный способ - скопировать
всю информацию куда-нибудь, переформатировать диск и скопировать её
обратно.
Для PFS3 подобные программы пока не существуют.
PFS3 работает с AFS разделами, хотя имеет смысл перевести их в PFS3.
17) Что делать, если работа с PFS3 разделом слишком медленна?
Чаще всего это происходит от недостатка буферов для диска - HDToolBox
по умолчанию ставит 30, PFS3 использует 70 (минимум), и запись файлов в
каталог с большим количеством файлов становится удручающе медленной.
Очевидно, имеет смысл увеличить количество буферов.
18) Как восстановить удалённые файлы?
На каждом диске PFS, в корневой директории, есть поддиректория .deldir
(например, путь для DH0 будет выглядеть как DH0:.deldir). Она не
показывается при просмотре каталога, и для перехода в неё (например, в
Directory Opus) нужно "вручную" ввести путь. Эта директория хранит 32
последних удалённых файла, которые ещё не были запорчены вновь записанными
(при всяком чтении .deldir PFS3 проверяет эти файлы на целостность и
выводит информацию только о гарантированно целых). Для восстановления
нужно скопировать выбранный файл НА ДРУГОЙ ДИСК (чтобы не попортить сам
файл на этом диске - занятое удаляемым файлом место считается свободным).
Файлы пронумерованы в порядке их удаления (необходимо будет переименовать
файл обратно). Файлы в этой директории можно только считывать, никакие
другие операции с ней не будут иметь эффекта.
Существует ряд готовых программ, которые автоматизируют эту операцию.
Если после удаления нужного файла было удалено слишком много файлов,
восстановить его средствами PFS невозможно. Начиная с PFS3, появилась
возможность устанавливать размер .deldir - это делается командой setdeldir.
19) Для чего нужна программа diskvalid?
Программа diskvalid, прилагающаяся в комплекте к PFS3, написана для
проверки целостности структуры диска PFS3, и умеет исправлять
несоответствия битовой карты диска (bitmap) реальному расположению файлов и
анализировать степень фрагментации диска.
20) Что делать, если после запуска diskvalid диск недоступен?
Это происходит, если остановить работу diskvalid по CLRL-C. Во время
своей работы diskvalid во избежание доступа к диску других программ и
искажения результатов работы запрещает доступ к диску (запрос Inhibit в
dos.library). Чтобы получить обратно доступ к диску, нужно либо
перегрузиться, либо вызвать Inhibit ещё раз c флагом FALSE (это можно
сделать, например, с помощью программы с Аминета disk/misc/Inhibit.lha).
21) Для чего нужна программа makerollover?
PFS3 имеет встроенную обработку лог-файлов для различных программ - к
примеру, файлов, создаваемых при перенаправлении вывода различных программ
в CLI. Как известно, при работе с текстовым лог-файлом происходит
постоянное добавление новых блоков текста к концу файла, при этом файл
растёт, и на обычных файловых системах происходит его постоянная
фрагментация. Если лог-файл создать заранее при помощи программы
makerollover, на диске появится файл нулевого размера. При добавлении к
нему он будет расти и расти до достижения указанного командой makerollover
размера, а затем при всяком добавлении информации к нему PFS3 будет
"откусывать" от начала файла ровно столько, сколько к нему было приписано в
конце. При этом размер лога будет постоянен (его не нужно будет время от
времени обрезать), и не будет происходить фрагментация диска. Размер файла
в команде makerollover задаётся в блоках (по умолчанию - 512 байт).
Имейте в виду, что копирование этого файла на другой диск
автоматически сделает его обычным файлом! При этом потребуется
переименовать его, заново создать rollover-logfile, и скопировать в него
старый файл. Не забудьте удалить старый файл ;)
22) Для чего нужна программа setfnsize?
Эта программа позволяет установить максимальный размер имён файлов и
директорий на PFS3 диске. По умолчанию (сразу после форматирования) PFS3
устанавливает обычные для AmigaDOS 30 символов. Setfnsize позволяет
увеличить это значение - не забудьте выполнить её после форматирования
диска. Уменьшить это значение нельзя, так как на диске уже могут быть
созданы объекты с длинными именами.
23) Для чего нужна программа setdeldir?
Эта программа позволяет задать размер директории .deldir - подробнее о
которой было рассказано выше. Максимальный размер .deldir - 992 файла.
24) Для чего нужна программа PFSDoctor?
Это комплексное средство лечения различных проблем с PFS3. При помощи
этой программы можно лечить испорченные диски, проверять исправность дисков
(замена diskvalid), отменять быстрое форматирование диска (если на него ещё
ничего не было записано) и даже восстановить испорченную таблицу разделов.
PFSDoctor имеет GUI, и работа с ним достаточно очевидна.
25) Происходит ли фрагментация диска на PFS3?
PFS3 фрагментирует файлы лишь в том случае, если файл невозможно не
фрагментировать. При всякой записи на диск PFS3 по возможности выделяет
для файла участок такого размера, чтобы файл поместился целиком. В итоге,
если диск не забит "под завязку", фрагментация не возникает.
26) Нужно ли производить дефрагментацию PFS3?
Практически не нужно - вряд ли бывает такая ситуация, что в результате
фрагментации скорость работы PFS3 резко падает. Если же Вы всё-таки
считаете, что фрагментация замедляет работу, дефрагментацию диска можно
провести двумя способами: либо скопировать файлы куда-либо и затем
обратно, либо воспользоваться скриптом на REXXе, который запускает
diskvalid, определяет, какие файлы фрагментированы, и копирует только их во
временную директорию и обратно (aminet disk/optim/afsdefragtry.lha)
Проверить степень фрагментации диска можно с помощью diskvalid.
27) Полностью ли совместима PFS3 с AmigaDOS?
PFS3 не поддерживает только одну возможность, которую имеет FFS -
возможность защиты от доступа отдельных участков файла (record locks). В
остальном PFS3 полностью поддерживает все функции, выполняемые FFS.
28) Какие версии AFS и PFS существуют и какие стоит устанавливать?
AFS на данный момент использовать попросту нет смысла.
Последняя версия PFS - 18.5.
Никаких проблем, из-за которых был бы смысл использовать предыдущие
версии PFS, в версии 18.5 не обнаружено.
29) Как устанавливать PFS3?
Лучше всего устанавливать PFS3 на "чистый" винчестер, либо скопировать
куда-либо информацию с имеющихся разделов, поставить на них PFS3 и
скопировать обратно. PFS3 можно использовать с AFS разделами.
Запускаем HDToolBox. Выбираем винчестер, на который будем ставить
PFS3. Если винчестер "чист", проводим стандартную продедуру Change drive
type -> Define New -> Read Configuration -> Ok -> Ok. Затем выбираем
Partition Drive. При необходимости меняем размер и расположение разделов.
Если для какого-то раздела это НЕ сделать, информация на нём останется.
AFS ограничивал размера раздела до 2 гигабайт, в PFS этот лимит снят.
Далее ставим галочку Advanced Options и выбираем Filesystem
Add/Update. В списке, скорее всего, будет стоять Fast File System -
убираем её оттуда, если на винчестере нет FFS разделов, она более не
понадобится - для этого выделяем её и нажимаем Delete. Затем нажимаем Add
New Filesystem. На запрос имени вводим l:PFS3 (или l:PFS3ds для Direct
SCSI). Если такой файл найден, HDToolBox спросит ещё и DOS Type. Там
будет некоторое число, естественно, неверное. Вводим вместо него
0x50465303 (ни в коем случае не перепутайте)! После ввода нажимаете Ok и
ещё раз Ok.
Теперь для КАЖДОГО из разделов HDD делаете следующее: нажимаете
кнопку Filesystem Change. Сверху будет cycle gadget Filesystem: выбираете
PFS\03. После чего ОБЯЗАТЕЛЬНО измените MaxTransfer - там, скорее всего,
будет стоять 0xffffff - нужно поставить 0xfe00. Если винчестер SCSI,
MaxTransfer менять не нужно. Всю перечисленную последовательность действий
повторите для всех разделов, по очереди выбирая их мышкой! Затем нажимаете
Ok и Save changes to drive.
После форматирования не забудьте выполнить setfnsize для каждого из
разделов, если Вас не устраивают 30 символов на имя по умолчанию.
30) Будет ли винчестер с установленной PFS3 работать на другой машине?
Будет. В процессе загрузки AmigaOS опрашивает все имеющиеся дисковые
устройства, и при наличии каких-либо файловых систем на них автоматически
их монтирует.
31) Что означает ситуация невозможности записи на диск?
Это значит что сработало встроенное в PFS средство раннего обнаружения
ошибок. Наилучшим выходом из этой ситуации является переписывание файлов с
этого раздела на другой раздел (винчестер), форматирование и перезапись
обратно. Если такой возможности нет - к Вашим услугам есть PFSDoctor.
К счастью, эта ситуация достаточно редка - автор FAQ не сталкивался с
ней ни разу.
32) Почему PFS3 после установки использует Chip RAM и как этого избежать?
Это получается при неправильной установке значения DMA Mask.
Для IDE винчестера на A1200 установите 0xfffffffe.
33) Что делать, если на винчестере появились bad block-и?
Нужно избавиться от него поскорее. Современные винчестеры, в отличие
от старых, редко остаются с одним-двумя бэдами - через некоторое время они
могут "рассыпаться" полностью - эти бэды обычно вызываются не повреждением
магнитного слоя, а износом и дефектами привода, механики и головок.
34) Есть ли альтернатива PFS3?
Существует файловая система SFS - SmartFileSystem, во многом похожа на
PFS3, и близка по характеристикам: .................. (версия 1.58)
.....................................:...PFS..:...SFS.:...............
Creates 1000 files of 128 bytes : 69 : 47 : files/second
Scan all files in a directory : 2053 : 1808 : files/second
Lock and unlock a random file : 170 : 480 : files/second
Open and close a random file : 143 : 259 : files/second
Load a random file : 46 : 55 : files/second
Deletes 1000 files : 124 : 55 : files/second
Rnd seek/read 2048 bytes in 2Mb file : 53 : 44 : times/second
Read data using 65536 byte buffer : 2059 : 1694 : kB/second
Write data using 65536 byte buffer : 1439 : 1648 : kB/second
.....................................:........:.......:...............
Испытания проводились на A1200, Blizzard 1230/50, 8Mb, 300 buffers/disk.
SFS также имеет deldir, но аналога rollover-файлов у неё нет.
Я не располагаю более подробными сведениями об SFS, поэтому дальнейшее
изучение её лучше проводите сами.
Copyright (C) 2001 RDC Software
© faqs.org.ru