Уголок Plus D (Часть 2)

Scene+ #09

Уголок Plus D (Часть 2)

Привет, народ! Вот сижу я тут и пытаюсь побороть собственную лень. Но раз уж за что-то взялся — я имею в виду «Уголок Plus D» — надо продолжать. Думаю, следующие строки будут небезынтересны и для пользователей других дисковых систем. Так что смело читайте дальше.

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

С течением времени через мой рабочий стол прошло немало утилит для копирования. И в какой-то момент мне пришла в голову мысль устроить сравнительный тест скорости копирования. Собственно, чисто из личного любопытства. Но почему бы мне не поделиться своим опытом здесь, в рамках «Уголка Plus D»?

Что же я сделал? Для начала подготовил две тестовые дискеты. На первой (SOURCE, диск-источник) было 28 тестовых файлов общим объемом 114 Кбайт. Я использовал только файлы CODE и BASIC. Файлы SNAPS я не брал, так как обычная G+DOS их не копирует. Вторую дискету (TARGET, целевой диск) я отформатировал в G+DOS, то есть она была пустой. Если целевой диск отформатирован в Beta-DOS, копирование обычно (или всегда?) происходит быстрее (примерно 10% экономии времени).

Команду FORMAT d TO 2, кстати, я не стал включать в свой тест, потому что такой способ копирования дискет длится попросту слишком долго. И осторожнее с этой командой! Перед копированием форматируется диск в дисководе 1. Да-да, это не опечатка: форматируется именно привод 1! А затем происходит копирование с привода [2] на 1. Я подчеркиваю это еще раз специально, так как синтаксис команды скорее наводит на мысль, что форматироваться должен дисковод 2, а затем копироваться с 1 на 2. Так что осторожно! Вместе со временем форматирования G+DOS требуется около 16 минут, чтобы скопировать 3,5" дискету. Впрочем, у этой команды есть то преимущество, что она создает абсолютно идентичную копию диска SOURCE. Так, во всяком случае, написано в руководстве к +D. Возможно, есть дельные идеи, для чего могут понадобиться такие «клонированные» дискеты, но у меня лично их нет. Для обычного «домашнего использования» +D эта команда избыточна. Не так ли?

Из «железа» у меня был Spectrum 128 (старый вариант) и два дисковода 3,5". Два привода я взял потому, что смена дискет вручную при копировании на одном дисководе, естественно, отнимает время и исказила бы результаты. Кроме того, я бы стер себе пальцы, постоянно их переставляя.

Тест я прогонял как на стандартной G+DOS, так и на Beta-DOS. Обе системы — без каких-либо патчей. И на то есть причина! Как я выяснил, к примеру, посекторное копирование (Sector-Copy) с патчем G+DOS от Miles Kinloch идет медленнее. Beta-DOS, кстати, ведет себя точно так же. Я не хочу здесь подробно расписывать, почему и отчего так происходит — на эту тему можно запросто накатать целую страницу. Кто хочет знать подробности — пусть посмотрит сам патч и прилагающийся текстовый файл.

А, вы вообще не знаете, что такое патч? Что ж, мой англо-немецкий словарь говорит, что «patch» — это заплатка. Разумеется, речь идет не о заплатке на ваших штанах, как вы догадываетесь. Патч в компьютерном мире — это, в сущности, последующее исправление уже готового программного обеспечения. То есть с целью исправить какую-то ошибку или внедрить улучшение. Всё ясно?

Ну а теперь вернемся к теме: при копировании дискет принципиально различают два метода — Sector-Copy и File-Copy.

При Sector-Copy дискета копируется сектор за сектором. Таким образом создается точная копия диска-источника, а целевой диск при этом стирается. Будьте внимательны! Некоторые утилиты или операционные системы копируют только занятые секторы. Если на SOURCE есть свободные секторы, процесс, естественно, идет быстрее. Уф, не так-то просто это объяснить, но надеюсь, всё понятно.

File-Copy подробно разъяснять, наверное, не нужно: при файловом копировании с диска копируются отдельные файлы или группа файлов по каталогу. Логично, правда?

Какой из способов окажется быстрее, если нужно скопировать весь диск целиком, зависит от количества файлов на SOURCE. При полном или почти полном диске хорошая программа посекторного копирования наверняка справится быстрее, чем файловый копировщик. Ну а если нужно перенести лишь отдельные файлы, то вопрос о выборе типа копировщика отпадает сам собой. Тоже логично, не так ли?

Помимо нескольких копировщиков, я также протестировал команду SAVE d TO d2 (в G+DOS и Beta-DOS). Дискету TARGET я после каждого прогона очищал командой ERASE.

Вот результаты:

НАЗВАНИЕ        ВРЕМЯ DOS     МЕТОД       РЕЖИМ ПРИВОДОВ ПРИМЕЧАНИЕ
                                                МИН.
-------------------------------------------------------------------------------
SAVE d TO d2    2.53  G+DOS   File-Copy   48K   2        (2.20)
SAVE d TO d2    2.15  Beta    File-Copy   48K   2        (2.07)
The Copier v1.1 3.09  G+DOS   File-Copy   48K   1 или 2  от Shimon Young
Discmate        2.30  G+DOS   File-Copy   128K  1 или 2  2 смены, Betterbytes 1990
Transit         1.22  G+DOS   Sector      48K   2        FORMAT MTW
                3.93          и 128K                     TYPE: AUTO
FAST-COPY       4.44  G+DOS   Sector      48K   2        (BASIC!) от LCD, FREEWARE
FAST-COPY       9.07  Beta    Sector      48K   2        от LCD, FREEWARE 
                                                         (NB: не предназначался для Beta-DOS!)
Beta-DOS        0.29  Beta    Sector      48K   1 или 2  5 смен, Backup Utility
Beta-DOS        0.43  Beta    Sector      48K   1 или 2  3 смены, Backup Utility
Sectcopy        1.29  Beta    Sector      48K   2        PD от M. Kinloch,
                              и 128K                     для Beta-DOS

Колонка «ПРИВОДОВ МИН.» в таблице показывает, сколько приводов требуется как минимум, чтобы запустить данную программу или команду DOS. Как я уже говорил, в тесте я всегда использовал два.

Колонка со сменами показывает, сколько раз происходил обмен между дисководами. Это особенно важно для тех, у кого только один привод — видно, сколько раз пришлось бы переставлять дискеты SOURCE и TARGET вручную. Отсюда можно сделать вывод, какой способ выгоднее при наличии только одного накопителя.

Вы наверняка заметите, что я опробовал не все возможные комбинации используемой DOS и режимов Spectrum. В этом и не было необходимости, так как следовало ожидать, что тестируемая программа затратит то же самое время — независимо от того, G+DOS это или Beta-DOS, режим 48K или 128K.

Опираясь лишь на полученное время из моего теста, нельзя просто так взять и объявить, какая программа лучшая. Всё не так просто! Придется копнуть глубже. С другой тестовой дискетой (например, заполненной под завязку или, наоборот, всего с парой файлов) результат был бы совсем иным. Так что цифры в таблице — лишь ориентировочные примеры, позволяющие грубо оценить производительность программ. Чуть позже я объясню это подробнее.

Самым удивительным открытием во время тестов для меня стал тот факт, что использование RAM-диска на Spectrum 128 имеет смысл только тогда, когда у вас всего один дисковод! Судя по всему, операции SAVE и LOAD из памяти Спектрума длятся дольше, чем постоянное переключение между двумя реальными приводами. Среди протестированных программ это относится к «DISCMATE FILE COPY» и утилите «BACKUP» из Beta-DOS. Обе программы поддерживают RAM-диск Спектрума 128. «BACKUP» копирует только занятые секторы — именно поэтому в тесте она оказалась такой быстрой, ведь моя дискета SOURCE была не особо заполнена. «THE COPIER» RAM-диск не поддерживает и переключает дисковод на каждом копируемом файле.

Значения в скобках для метода SAVE d TO d2 — это время при условии, что целевой диск был предварительно отформатирован в Beta-DOS. Это я проверил в самом конце. При методе SAVE d TO d и при работе с «The Copier», кстати, совершенно неважно, какой режим Спектрума используется — 48K или 128K. Выше я об этом уже упоминал.

Так какая же программа лучшая или самая быстрая? Выбор подходящего инструмента зависит от следующих пунктов:

  1. Какой Спектрум используется? 128K или только 48K?
  2. Сколько дисководов в вашем распоряжении?
  3. Какая DOS используется?
  4. Количество копируемых файлов.
  5. Имена файлов (возможно ли использование масок вроде «*» и «?»).
  6. Нужно ли копировать отдельные снэпшоты (Snaps)?
  7. Насколько программа удобна в работе:
    • сколько времени уходит на загрузку самого копировщика?
    • сколько времени требуется на чтение CAT (каталога при File-Copy)?
      и так далее.
  8. Какую роль играет финансовый вопрос:
    • сколько программа может стоить максимум?
    • должна ли это быть PD / Freeware?

Как видите, ответить на вопрос «какой копировщик лучший?» однозначно нельзя — слишком много факторов играет роль. В качестве небольшого руководства к выбору приведу напоследок свое мнение о протестированных программах:

SAVE d TO d2

Строго говоря, это вовсе не копировщик, а штатная команда DOS. Что тут сказать? Любой владелец +D знает эту команду. Она хороша всегда, когда надо быстренько перебросить один-два (ну, может, три) файла. Если можно применить маски «*» и «?», то файлов может быть и больше. В конце концов, загрузка полноценной программы копирования (особенно если надо сначала найти и вставить нужную дискету с утилитой), а затем выбор файлов тоже отнимают время. Как я уже говорил, всё зависит от конкретного случая.

THE COPIER v1.1

Удобная программа. Однако каталог считывается довольно медленно. Кроме того, каждый файл копируется по отдельности. Это отнимает уйму времени, а при использовании всего одного привода превращается в сущую каторгу. В моем тесте «THE COPIER» оказался медленнее команды SAVE d TO d2. Тем не менее не стоит забывать, что программа куда гибче команды SAVE d TO d2, когда нужно выбрать строго определенные файлы. Ведь при SAVE d TO d2 даже с масками «» и «?» возможности сильно ограничены и всё приходится вбивать вручную. А поскольку «THE COPIER», помимо копирования, предлагает еще и дополнительные функции, то, несмотря на медлительность, это вполне годная программа. (Прим. LCD: На Disciple эта программа может работать только с одним приводом!).*

DISCMATE FILE COPY

Очень хорошая программа файлового копирования для Spectrum 128K. Каталог считывается очень быстро. Удобство управления на высоте, файлы копируются сразу пачкой — то есть память Спектрума утилизируется оптимально. Это невероятно удобно при наличии всего одного привода: не приходится постоянно дергать дискеты туда-сюда. Программа работает и в режиме 48K. Однако, как я недавно выяснил, в этом режиме копируются далеко не все файлы: они попросту не отображаются в каталоге! Это касается SNAPS и очень больших файлов. Мой эксперимент показал, что файл размером 40536 байт в каталоге еще появляется, а вот 40537 байт — уже нет. В режиме 48K можно копировать только файлы размером до 40535 байт включительно. На отметке ровно 40536 байт у меня оба дисковода начинали...

...глючить». Тут уже не помогал никакой Reset, система слетала намертво. Но это так, к слову, просто пришлось к месту.

С DISCMATE можно делать гораздо больше, чем просто копировать. Например, очень быстро работает удаление отдельных (предварительно выбранных) файлов. В остальном — смотрите также обзор в номере журнала Proficlub за март 1995 года. Но, как уже говорилось, вообще-то Discmate — это программа для 128K (чего я тогда ещё не знал). DISCMATE — программа, которую я могу только рекомендовать. Класс! Тем же, у кого всего лишь 48K Spectrum, стоит использовать THE COPIER.

TRANSIT

Тому, кто хочет очень быстро делать резервные копии целых дисков, без Transit едва ли обойтись. Она работает и с BetaDOS, и с G+DOS, проста в управлении и безумно быстра. Кроме того, можно копировать с ленты на +D и обратно. Но поскольку я с кассетами почти уже не работаю, я этого ещё не пробовал и ничего сказать тут не могу. (Прим. LCD: Transit не работает с Disciple!)

FAST-COPY

Не самая быстрая, но единственная известная мне Public Domain программа для посекторного копирования (во загнул!), которая работает и под G+DOS. Она, кстати, написана членом нашего клуба Даниэлем Лешеком Хмелевским (Daniel Leszek Chmielewski / LCD) из Вены.

При работе с этой программой не используйте патч для G+DOS от Miles Kinloch или Beta-DOS! Иначе программа станет довольно медленной. Тем же, кто постоянно пользуется Beta-DOS, в любом случае стоит использовать (так как она быстрее) следующую PD-программу: (Прим. LCD: Работает и на Disciple, и при этом быстрее, чем Quickcop 2).

SECTCOPY

Эта PD-программа написана Miles Kinloch (членом Spectrum Profi Club) и работает только под Beta-DOS. SECTCOPY очень быстрая. Тот, кто обычно работает с Beta-DOS, обязательно должен обзавестись этой программой. Как уже было сказано, это Public Domain и, следовательно (если не считать почтовых расходов и т. д.), бесплатна. У кого нет Beta-DOS, или кто пользуется ею лишь изредка и вынужден был бы каждый раз специально её загружать, лучше использовать TRANSIT.

BETADOS BACKUP UTILITY

Эта программа не работает под G+DOS, а является неотъемлемой частью Beta-DOS, и поэтому её не нужно покупать отдельно. На самом деле очень хорошая программа, но у меня с ней периодически возникают проблемы. А именно: программа иногда выдаёт SECTOR ERROR, хотя дискеты в полном порядке. По крайней мере, мне так кажется. Как минимум, используемые дискеты без проблем копируются другими программами, и никаких трудностей с ними не возникает. Возможно, BACKUP работает не совсем корректно. Не знаю. Есть ли у кого-нибудь объяснение?


Уф, ну и работёнка это была (даже если со стороны так не кажется). Было непросто облечь мой опыт этого тестирования в связные слова. Слишком уж много вариантов: я имею в виду разные операционные системы, режим 48K или 128K и так далее. Всё же надеюсь, что эта статья получилась не слишком сложной. Тот, кто всё понял, может отныне называть себя «профи в копировании» (хи-хи). А если я тут наговорил какой-нибудь ерунды — дайте мне знать.

Каков ваш опыт работы с копировщиками? Какими программами пользуетесь вы? С этими вопросами я вас теперь и оставлю. Вы свободны!

До следующего раза, пока!
Guido из Восточной Вестфалии.

Guido Schell, Auf dem Stocke 37, D-32584 Loehne, Tel. 05732

Поделитесь вашим мнением о статье