ВВЕДЕНИЕ
Использование контроллера от БК-0011М позволяет достаточно просто
оснастить БК-0010(.01) дисководом. Эта простота вызвала среди БэКашников
настоящий бум, который привел к резкому росту цен на контроллеры и
дисководы. Цена контроллера на рынке приблизилась к стоимости
компьютера. Но даже это не останавливает массовое оснащение БК-0010(.01)
дисководами. Простота устройства "БэКашки" позволяет многим ее
пользователям, ставшим благодаря ей программистами, попробовать силы в
написании собственной операционной системы (ДОС), хотя уже сейчас
количество этих систем с учетом различных версий перевалило за десяток:
КМОН, MDOS, NORTON, ANDOS, NORD, Turbo-DOS, DOSBK10... Особенный простор
для написания ДОС открывается при использовании дополнительного ОЗУ.
Ниже с точки зрения практического использования рассматриваются
названные системы и некоторые особенности дисководов и контроллеров.
ДИСКОВОДЫ
В качестве дисководов практически могут использоваться любые
односторонние, двухсторонние, 40- или 80-дорожечные, одинарной
или двойной плотности, предназначенные для дискет 5'25 или 3'5 дюйма.
Однако все-таки рекомендуется использовать 80-дорожечные дисководы
двойной плотности для дискет 5'25 дюйма. Из отечественных дисководов
таковыми являются МС5305, МС5311 и МС5313.
В дисководах первых двух названых марок установлены электромагниты для
опускания и поднимания магнитной головки, издающие при этом резкий
хлопающий звук. Распространено мнение, что такие дисководы портят
дискету и рекомендуется отсоединять в них электромагниты. Это мнение
ошибочно. Наоборот, при случайном отключении питания такого дисковода
вероятность сохранения в нем дискеты выше, поскольку магнитная головка
при этом будет поднята. Дисководы же МС5313 работают значительно тише. В
остальном каких-либо существенных отличий с точки зрения пользователя
между названными дисководами не отмечено. В то же время дисководы МС5305
наиболее дешевы. Два таких дисковода, объединенные в общий корпус
вместе с блоком питания и обозначаемые как МС5310, очень удобны для
БэКашников. Даже шум, который они издают, может быть полезен при
слуховом контроле выполнения некоторых операций с дисководом в процессе
работы на компьютере, поскольку существующие ДОС'ы и утилиты (служебные
программы для выполнения конкретных, утилитарных функций) не всегда
такой контроль в полной мере обеспечивают.
КОНТРОЛЛЕРЫ
Контроллер от БК-0011М после незначительной переделки позволяет
загружать дисковую операционную систему непосредственно в ОЗУ
компьютера. Это наиболее простое решение с использованием "пустого"
контроллера на БК-0010(.01) недостаточно эффективно из-за небольшого
объема оперативной памяти компьютера. Да и разница в цене "пустого" и
"оснащенного" контроллеров незначительна. В то же время такие
контроллеры с соответствующими операционными системами (некоторые версии
NORTON'а и первая версия MDOS'a) получили распространение на ранней
стадии освоения.
Большие возможности предоставляются при использовании контроллеров с
установленными внутри них дополнительными ПЗУ, в которых "зашиты"
операционные системы (NORTON v1.05, MDOS v1.0 или v1.01). Такое решение
довольно часто используется в компьютерах, хотя оно лишает его гибкости.
Мне неизвестен ни один компьютер, в котором за время его существования
первоначально предложенная операционная система не изменялась путем ее
полной замены или частичной модернизации за счет внешних средств
(картриджей или дополнительных программ).
Наиболее приемлемым для БК-0010(.01), хотя и наиболее дорогим, является
использование контроллеров с установленными в них с адреса 120 000
дополнительным ОЗУ на 8 или 16 кб и загружаемой с дискеты операционной
системы. Дополнительное ОЗУ может быть также установлено вне
контроллера, что позволяет использовать «пустые» контроллеры или
контроллеры с "зашитыми" в ПЗУ операционными системами. В последнем
случае ПЗУ должно быть отсоединено. С такими контроллерами можно
использовать любые существующие сегодня дисковые операционные системы
напрямую или после незначительных изменений.
Контроллер от БК-0011 тоже можно применять, но не желательно, так как
перед запуском системы придется загружать с магнитофона небольшую
программу или использовать иные способы для его "оживления".
ПОДКЛЮЧЕНИЕ ДИСКОВОДА И КОНТРОЛЛЕРА
Контроллер с дополнительным ОЗУ устанавливается на место блока МСТД,
входящего в комплект компьютера. При этом никаких дополнительных
переделок не требуется, так как у них одинаковые разъемы. Другим
разъемом контроллер через ленточный 40-жильный кабель подключается к
дисководу. Если используется двойной дисковод МС5310, то 40-жильный
ленточный кабель оснащается с двух сторон одинаковыми разъемами. Разъемы
устанавливаются на кабель таким образом, чтобы у них были соединены
одноименные контакты, т.е. чтобы первый контакт одного разъема был через
кабель соединен с первым контактом другого разъема, а второй — со
вторым и т.д. На этом подключения заканчиваются, и компьютер готов к
работе. Включать первым следует компьютер, а выключать — дисковод.
Загрузка системной дискеты с ДОС'ом осуществляется командой "S 160000
ВВОД".
При использовании других дисководов для них потребуется еще корпус и
блок питания. Подсоединение осуществляется тем же кабелем, но с одним из
разъемов, соответствующим разъему дисковода. Для рекомендованных выше
дисководов разъем устанавливается на кабель параллельно разъему
контроллера так же, как описано выше.
ДИСКОВЫЕ ОПЕРАЦИОННЫЕ СИСТЕМЫ
Общие замечания и рекомендации.
Рассматриваемые версии дисковых операционных систем указаны в таблице.
Эти системы могут использоваться на БК-0011 и БК-0011М, эмулируя на них
режим БК-0010(.01). Однако рассмотрение проводится применительно к
БК-0010(.01), хотя оно во многом справедливо для всей серии "БэКашек".
Таблица
Сравнение дисковых операционных систем для БК-0010(.01)
Параметр |
Дисковая операционная система |
КМОН
|
TURBO DOS |
MDOS |
NORTON |
NORD |
ANDOS |
DOSB10 |
MKDOS |
Версия |
1.31 |
1.00 |
1.01 |
1.05 |
2.16 |
2.23 |
1.30 |
1.06 |
Количество символов в имени файла |
6+3 |
16 |
14 |
14 |
14 |
8+3 |
16 |
14 |
Корректность записи файла на магнитофон |
- |
- |
+ |
+ |
+ |
+ |
+ |
- |
Ограничение минимального адреса файла |
+ |
+ |
+ |
- |
- |
- |
- |
- |
Запись одноименных файлов |
+ |
+ |
- |
+ |
+ |
- |
- |
- |
Ключи в командах |
- |
- |
+ |
- |
+ |
- |
- |
- |
ВАТ-файлы |
- |
- |
+ |
- |
+ |
- |
- |
- |
Черно-белый режим |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
+ |
Цветной режим |
+ |
+ |
+ |
- |
+ |
+ |
+ |
- |
Примечание: Знаком "+" отмечено наличие параметра, а знаком "— " — отсутствие
Все системы после их загрузки в компьютер обязательно как минимум
обеспечивают возможность загрузки и запуска файла, а также перехватывают
все обращения к штатному драйверу магнитофона, переадресовывая их на
дисковод. В остальном они отличаются друг от друга и весьма значительно:
разные принципы построения системы, разное количество команд и разные
способы размещения информации на дискете.
В одном из подходов при разработке системы в основном ее файле, который
может быть единственным (NORTON), закладывается возможность исполнения
максимального или всего набора команд системы. При другом подходе
(ANDOS) в основном файле предусматривается возможность исполнения
минимального набора команд, а остальные необходимые команды выполняются
при подгрузке соответствующих подпрограмм или с помощью соответствующих
утилит. Первый подход чаще, но не всегда более удобен пользователю, а
второй — разработчику.
В первом случае при прочих равных условиях требуется выделить больший
объем памяти компьютера под систему, но зато все всегда под рукой, пусть
даже что-то из этого требуется редко. Если памяти компьютера достаточно
и однофайловая система спроектирована грамотно, то она устраивает
многих пользователей, поскольку соответствует их психологии. Тем более
что отдельные операции в случае необходимости всегда можно выполнить с
помощью дополнительных утилит, если такие существуют и в них эти
операции выполняются лучше. Что же касается памяти компьютера, то, какой
бы большой она ни была, через некоторое время ее все равно не хватит
как пользователям, так и разработчикам. Для разработчика, если выявились
недочеты в системе или появились новые идеи или задачи, сложнее внести
изменения в однофайловую систему.
При втором подходе основная программа получается короче и вероятность ее
лучшей отладки выше. Конечно, хотелось бы, чтобы все было сразу, чтобы
система была и короткой, и надежной, и многофункциональной и т. д., но
всегда приходится чем-то поступаться. Поэтому остальные системы по своей
структуре представляют комбинацию рассмотренных подходов.
В системах использован кластерный способ хранения информации (ANDOS) и
блочный (остальные системы). При кластерном способе проще обеспечить
взаимную читаемость дискет на IBM PC и БК, что и реализовано в ANDOS'e. В
остальном для пользователя эти способы не слишком сильно отличаются
друг от друга, за исключением плотности записи. При записи на новую
дискету файлы в обоих случаях записываются последовательно друг за
другом. При кластерном способе, как правило, дискета заполняется менее
плотно, в предельном случае, в четыре раза, поскольку объем кластера (2
Кбайта) в четыре раза больше объема блока (0,5 Кбайта). Предельный
случай мог бы проявиться при записи
файлов, длина которых не превышает 0,5 Кбайта, но при емкости дискеты
800 Кбайт и принятом в ANDOS'e длине директория не более 112 имен
реальное уменьшение плотности записи диска составит не более 20%. После
удаления части файлов и записи новых, новый файл при блочном способе
записывается на место удаленных только в том случае, когда его длина в
блоках равна или меньше освободившегося пространства, а при кластерном
способе новый файл может быть по частям записан в разных местах дискеты.
В последнем случае при прочих равных условиях время записи и считывания
файла, а также вероятность ошибки увеличиваются. Однако для БК, у
которого файлы короткие, отмеченное не существенно.
В некоторых системах (см. таблицу) допускается запись одноименных
файлов, т.е. на одной и той же дискете в том же директории могут
находиться несколько файлов с одним и тем же именем. Обычно такое
допускается в целях упрощения системы, но поскольку иногда это считают
преимуществом (описание NORD'a), то рассмотрим, что происходит, когда на
дискете находится несколько одноименных файлов.
Последовательно записанные файлы также последовательно отмечаются в
директории, и возможна запись файлов на место удаленных. При загрузке
или удалении одноименных файлов загружаются или удаляются файлы, идущие
первыми в директории. Поэтому для того чтобы загрузить или удалить
требуемый одноименный файл, необходимо знать его место расположения в
директории, и если этот файл расположен в директории последним, то для
его загрузки или удаления предварительно должны быть удалены или
переименованы предыдущие одноименные файлы. А если место расположения
требуемого файла в директории неизвестно, то после переименования
одноименных файлов их необходимо сравнить. Такое сравнение в ряде
случаев может быть очень трудоемким. При работе в редакторе к этим
хлопотам добавляется еще необходимость его перезагрузки. Одноименные
файлы без предварительного их переименования невозможно скопировать на
другой диск. Всего этого можно избежать, если система не допускает
запись одноименных файлов. (В NORD'e загрузка и удаление одноименных
файлов происходит иначе, но проблемы те же.)
В некоторых системах (см. таблицу) введено ограничение на минимальный
адрес файла, который должен быть не менее 1000. Так как большинство
программ, особенно игровых, имеет автозапуск, т.е. их адрес загрузки
ниже 1000, то при записи таких программ на дискету требуется такие файлы
предварительно преобразовать.
И наконец, последнее замечание. В рассматриваемых системах, за
исключением MDOS'a и ANDOS'a, и в большинстве утилит не
обязательно строгое выполнение директив, полученных от пользователя.
Программы сами решают, как им поступить, не выводя перезапросов для
уточнения полученного задания при каких-либо затруднениях в выполнении
намеченного и не ставя в известность, если какая-то директива не
выполнена. Например, в NORTON'e можно отметить группу файлов для
копирования, компьютер начнет "делать вид", что он копирует, а в
результате ни один файл не будет скопирован, о чем станет известно
только при просмотре директория. Некоторые утилиты при попытке записать
файл могут всю дискету разметить как поврежденную, не спрашивая на это
разрешение у пользователя и не давая ему возможность прекратить подобное
"хулиганство". Отмеченное справедливо для многих отечественных программ
и на других компьютерах в отличие от зарубежных, где подобное
встречается крайне редко.
КМОН.
Дисковая операционная система КМОН, частично зашитая в ПЗУ (версия
1.19) или загружаемая в ОЗУ (версия 1.31), достаточно надежна при
загрузке файлов, а при копировании файлов или дисков слишком часто
происходят отказы. В системе обеспечена основная работа с файлами:
загрузка, запуск, удаление, восстановление, создание, переименование,
вывод текстового файла на экран, копирование с диска на диск, с диска на
магнитофон и обратно; с диском: форматирование, инициализация,
проверка, вывод директория, копирование диска, и с ОЗУ компьютера:
просмотр и запись участка памяти на диск.
Кроме ограничений, наложенных в КМОН'е на минимальный адрес загрузки
файла и длину его имени (6 символов и плюс три символа расширения), в
системе присутствуют некоторые особенности, которые на фоне других
систем не позволяют ее рекомендовать к применению. Дело в том, что при
загрузке с дискеты файла его длина, как правило, увеличивается,
поскольку она в этой системе определяется не адресами, а блоками,
которые файл занимает на дискете. Отмеченная особенность приводит к
тому, что работа в КМОН'е с текстовыми, графическими и иными редакторами
становится не только затруднительной (постоянно приходится удалять
лишние концы файлов), но и в ряде случаев без переделки редакторов —
невозможной (удлиненные файлы переполняют память). Есть также и еще
несколько более мелких неприятностей, одна их которых состоит в том, что
при записи с дискеты на магнитофон файл в данной системе автоматически
приобретает адрес загрузки равный 40000. Длину файла при записи на
магнитофон пользователь может вручную установить равной истинной длине
файла, если она ему была известна заранее. На дискете такой информации
для пользователя нет. После записи файла на магнитофон для придания
ему первоначального вида необходимо изменить адрес загрузки, приделать
автозапуск и укоротить длину. Такие манипуляции с файлами большинству
пользователей недоступны.
КМОН с другими системами не совместим.
TurboDOS.
Дисковая операционная система TurboDOS по своей структуре близка к
КМОН'у и содержит примерно те же команды, часть из которых выполняется с
помощью утилит. Она может работать как в основном ОЗУ компьютера, так и
в дополнительном. По сравнению с КМОН'ом длина файла строго определена и
контролируется системой, длина имени файла может составлять 16
символов, а сам файл может иметь адрес загрузки ниже 1000. В остальном
отличия от КМОН'а незначительные, при этом также не отслеживаются
одноименные файлы и при записи файлов на магнитофон они приобретают
начальный адрес, равный 40000. С КМОН'ом и с другими рассматриваемыми
системами она не совместима.
MDOS
MDOS (или MicroDOS) является одной из первых дисковых операционных
систем, появившихся на БК-0010(.01), и до сих пор остается наиболее
полной системой по набору команд для работы с файлами. Предусмотрено
применение ключей, расширяющих, ограничивающих или уточняющих команды. В
ней также могут быть созданы исполняемые ВАТ-файлы (batch file). Эти
файлы создаются пользователем в обычном текстовом редакторе и содержат
последовательный список команд системы, исполняемых каждый раз после
запуска этого файла. В системе отслеживаются одноименные файлы и при
попытке записать файл с именем, которое уже занято, предлагается выбор:
переписать файл, переименовать его или операцию записи прекратить.
Внешне и по командам MDOS напоминает операционную систему MS-DOS,
применяемую на IBM PC. В версии 1.01 устранена некорректная работа
первой версии с 80-дорожечными дисководами, но, к сожалению, остался
главный недостаток системы — низкая надежность.
Этот недостаток обусловлен тем, что при чтении директория диска он
выводится на экран и загружается в адресное пространство ОЗУ компьютера,
а фрагмент ОЗУ, временно занятый директорием, записывается на нулевую
дорожку дискеты. Поскольку MDOS ориентировался на работу без расширения
ОЗУ, то такое решение было вынужденным из-за ограниченной памяти
компьютера и стало наиболее слабым местом этой довольно привлекательной
системы. Дискеты, используемые в MDOS'e, должны быть постоянно открыты
для записи, что не только грозит потерей информации из-за небрежности,
допущенной пользователем, но и по причине от пользователя не зависящей.
Дело в том, что ошибки записи,
постоянно возникающие из-за низкой частоты компьютера, приводят к
повреждению нулевой дорожки и делают невозможным считывание директория
и, следовательно, информации с дискеты.
Для защиты от такой серьезной неприятности разработан ряд утилит,
дублирующих директорий диска в соответствующий файл или на другую
дорожку дискеты, с тем, чтобы при необходимости по ним восстановить
поврежденный директорий. Кроме этого, при загрузке MDOS'a в
дополнительное ОЗУ можно вообще исключить запись буферной области памяти
на дискету.
В MDOS'e также наложены ограничения на минимальный адрес загрузки файлов
(1000). Для преобразования файлов с адресом загрузки ниже 1000
существуют соответствующие утилиты, а при необходимости такие файлы без
преобразования могут быть запущены из загружаемой из MDOS'a файловой
версии дополнительной операционной системы NORTON v1.02. В отличие от
одноименной программы для MS-DOS'a эта программа сделана не как
оболочка, а как самостоятельная программа, перехватывающая полностью на
себя управление дисководом, что привело к утрате целого ряда полезных
функций MDOS'a. Возможно, что кто-то еще возьмется за разработку более
удачной оболочки для MDOS'a, a может быть, такая оболочка уже
существует.
NORTON
Операционная система NORTON, названная так за сходство с известной
оболочкой для MS-DOS, является самостоятельной операционной системой с
набором команд, обеспечивающих обслуживание дискеты и файлов:
форматирование дискеты и ее инициализацию; запуск файлов или их загрузка
на указанный адрес; переименование файлов; их удаление, защита от
удаления и восстановление; копирование файлов по одиночке или блоком,
просмотр текстовых файлов. В некоторых версиях этой системы, обычно
загружаемых в штатное ОЗУ, отдельные команды могут отсутствовать, но во
всех версиях запуск файлов осуществляется простым нажатием на клавишу
"ВВОД" при предварительной установке курсора на требуемый файл. Курсор
перемещается по директорию диска, выводимого в одно из двух окон. В
версии 1.05 возможна работа с "мышкой". Однако при копировании в этой
версии файлов на одном дисководе и вызове "Help" (перечня команд)
принтер должен быть отсоединен, даже если "мышка" не используется.
Рассматриваемая система полностью совместима с MDOS'oм и доступна даже
для неподготовленных пользователей, достаточно надежна (если не
переименовывать и не удалять файлы), и в большинстве случаев в ней можно
использовать дискеты, защищенные от записи. Работа с ней осуществляется
только в режиме черно-белого монитора, что не всегда удобно, поскольку
она используется в основном для запуска игровых программ. В ней также
можно
работать с различными редакторами, но при этом необходимо самому следить
за отсутствием одноименных файлов, поскольку они в ней не
отслеживаются. Сбои, возникающие при удалении и особенно при
переименовании файлов, не являются органически присущими данной системе и
могут быть устранены в последующих версиях. Сложнее обстоит дело со
сбоями при записи и копировании файлов, а также при форматировании и
инициализации дискеты. Однако эта проблема является общей не только для
рассматриваемых систем, но и для многих операционных систем различных
компьютеров, поэтому ее обсудим позже.
NORD
Дисковая операционная система NORD внешне похожа на систему NORTON,
но имеет ряд дополнительных возможностей: вложенные поддиректории;
цветной и черно-белый режимы; создание ВАТ-файлов; страничный просмотр
директория; перезакрепление панелей; страховочная копия директория с
автоматическим или ручным восстановлением по ней основного директория и
некоторые другие. Система совместима с NORTON'ом и MDOS'oм, хотя
отдельные дискеты этих систем могут в NORD'e не читаться. Для работы
этой системы требуется дополнительное ОЗУ 16 Кб.
Форматирование дискеты и ее инициализация, а также переименование файлов
в NORD'e осуществляется более надежно, чем в NORTON'е. Возможность
образования поддиректорий и практически неограниченный список имен в
директории имеет для БК в ряде случаев существенное значение в связи с
большой емкостью дискеты (800 Кбайт) и малой длиной программ, особенно
системных и текстовых. Страничный просмотр директория значительно
ускоряет поиск нужного файла на дискете, да и построчное перемещение по
директорию заметно быстрее, чем в NORTON'e.
Перезакрепление панелей особенно удобно при работе с одним дисководом. В
NORTON'e левая панель закреплена за дисководом "А", а правая — за "В",
что неудобно тем, кто работает с одним дисководом, поскольку правая
половина экрана не задействована и нельзя включить режим 32 символа в
строке. В NORD'e левую панель можно, например, закрепить за одним
поддиректорией, а правую — за другим поддиректорием одной и той же
дискеты, установленной в дисковод "А". При работе с двумя дисководами в
NORTON'e после окончания просмотра файла на дисководе "В" система всегда
выводит директорий дискеты "А". Это неудобно, когда необходимо
просмотреть несколько файлов на дискете, установленной в дисковод "В". В
NORD'e для этого случая можно закрепить левую панель за дисководом "В",
и тогда после просмотра очередного файла с дискеты, установленной в
дисковод "В", всегда будет выводиться ее директорий. К сожалению,
перезакрепление панелей происходит и в тех случаях, когда этого не
требуется.
В NORD'e для того, чтобы перезакрепить файлы между поддиректориями,
необходимо имена этих поддиректориев удалить. При этом файлы,
находящиеся в этих поддиректориях, не удаляются, а переносятся в
основной директорий. Затем необходимо вновь ввести имена удаленных
поддиректориев, но уже с другим перераспеределением файлов. Обычно такая
операция перераспределения файлов между поддиректориями для
пользователя выполняется проще. Например, в NORTON'e на IBM PC при
перераспределении файлов выполняется команда их перемещения, при которой
просто изменяется порядок расположения файлов в директории.
Выше было отмечено, что в NORD'e допускается запись одноименных файлов,
но загрузка этих файлов происходит иначе: первыми загружаются файлы,
отмеченные в директории последними. При работе с редакторами такой
порядок более удобен, но все же лучше не допускать запись одноименных
файлов, чтобы избежать рассмотренных выше проблем.
При копировании файлов в NORD'e (в отличие от NORTON'a) на экран
выводится сообщение о результатах копирования. К сожалению, это
сообщение кратковременное, без перезапроса в случае отрицательного
результата, и при копировании группы файлов приходится следить за
экраном или после копирования сравнивать директории, поскольку, так же,
как и в NORTON'e некоторые из отмеченных файлов могут быть
нескопированы. Или наоборот, в отличие от NORTON'a некоторые файлы могут
быть скопированы с ошибкой.
Дальнейшее развитие этой системы и устранение в ней отмеченных и
некоторых других погрешностей может привести к вытеснению системы NORTON
при условии, что контроллеры будут оснащаться дополнительным ОЗУ в 16
Кбайт.
ANDOS
Из рассматриваемых систем ANDOS по набору команд является наиболее
примитивной системой: чтение директория, загрузка и удаление файла. Все
остальное выполняется с помощью утилит, которые добавляются к ней по
мере их разработки. В то же время эта система наиболее грамотно
разработана и снабжена наиболее грамотной, толково написанной и
доступной документацией, что встречается в нашей стране слишком редко.
(Известен случай, когда 13-летний ребенок изучал Бейсик БК не по
описанию, входящему в комплект БК, а по описанию от японского компьютера
на английском языке, не умея на нем читать. И это для него было более
понятным.)
Система ANDOS в силу своей примитивности при высокой грамотности
разработчиков получилась наиболее надежной. Постепенно система обрастает
утилитами и завоевывает популярность. ANDOS рассчитан на использование
дополнительного ОЗУ не менее 8 Кб. В системе наиболее корректно работают
программы с
автозапуском и многофайловые программы. При попытке записи файла с
именем, которое уже занято, система предлагает существующий файл
переписать на новый или перевести в резервный. Можно также прервать
выполнение операции с помощью клавиши "СТОП". В случае возникновения
ошибки ее номер сообщается и представляется возможность продолжить
выполнение операции или прекратить.
Для ANDOS'a уже создана оболочка "SHELL", внешне похожая на одноименную
программу для IBM PC. Работает она в цветном режиме, хорошо оформлена,
выводит на экран директорий одного из дисководов и позволяет загружать,
копировать, переименовывать и удалять файлы. Эта оболочка удобна при
работе с одним дисководом, но может также достаточно эффективно
использоваться и при работе с двумя дисководами. Небольшая
некорректность при перезаписи файлов практически не мешает. Известно,
что сейчас ведется работа над созданием оболочки типа NORTON. Дискеты,
записанные в ANDOS'e, можно читать на IBM PC, а для перевода текстовых и
графических файлов из формата БК в формат IBM PC и обратно разработаны
соответствующие утилиты.
ANDOS несовместим с рассматриваемыми системами, его директорий рассчитан
на 112 имен файлов, при этом длина имени файла вместе с расширением не
должна превышать 11 символов. Поддиректории не предусмотрены. В связи с
ограничениями, наложенными на длину имени, в ANDOS'e применена
логическая обработка имени при его длине более 8 символов. Дело в том,
что в рассматриваемых системах, у которых длина имени файла менее 16
символов, при превышении для данной системы предела имя просто
укорачивается. Это не позволяет использовать файлы с защищенным именем и
некоторые многофайловые программы без их переделки. В ANDOS'e такие
программы будут работать, но их имя в директории будет выглядеть
необычно. Также необычно будут выглядеть и другие файлы, имя которых
превышает 8 символов. Поэтому, если имена файлов присваивались,
например, при работе на магнитофоне и имели длину, превышающую 8
символов, то после перезаписи на дискету их трудно будет узнать. В то же
время если при загрузке файла набрать старое имя, то компьютер поймет
это правильно.
DOSB10
Это единственная из рассмотренных систем, которая имеет
непосредственно в себе оболочку, хотя и очень отдаленно напоминающую
NORTON'овскую. Длина имени файла в системе может достигать 16 символов. С
рассмотренными системами DOSB10 несовместим. При записи одноименного
файла он без предупреждения записывается на место файла с таким же
именем.
Система состоит из двух файлов: основного и вспомогательного,
обеспечивающего форматирование дискеты и первоначальную установку
системы. Командой "NC" может быть вызвана оболочка. Оболочка может
выводится и сразу при загрузке системы, если это предусмотрено
установкой. Внешне оболочка представляет собой одну (для режима 32
символа) или две (64 символа) колонки директория диска, по которому
может перемещаться курсор, выделяя файл для загрузки, удаления или
копирования. Последние две операции могут быть групповыми. При нажатии
одной из ключевых клавиш в выбранный редактор загружается для просмотра и
редактирования текстовый файл, на который указывает курсор. Информация о
ключевых клавишах и о дискете отсутствует и нет обрамляющих рамок.
Групповые операции также могут быть назначены с помощью команд, которые в
свою очередь допускают применение ключей, по структуре похожих на
ключи, принятые в операционной системе RT-11.
DOSB10 может оказаться полезным тем, кто привык работать в операционной
системе RT-11, тем более что DOSB10 может быть также из нее
непосредственно запущен. Но при этом следует иметь ввиду, что DOSB10 по
своей структуре с RT-11 несовместим и недостаточно доработан, по крайней
мере, такое впечатление произвела испытанная мною версия 1.3
рассмотренной системы.
УТИЛИТЫ ДЛЯ ДОС
Разработано много различных утилит, входящих непосредственно в комплект
систем или существующих самостоятельно. Последние часто не имеют
названий или, наоборот, в их названии на иностранном языке указана
принадлежность различным корпорациям или компаниям. Этому не следует
удивляться. Конечно, никакие иностранные фирмы не разрабатывают
программы для БК. Подавляющее большинство программ, в том числе и
операционных систем, разработано любителями. При этом, например, автору
известной серии игровых программ BOBI, ALIENS, MADGHOST и других,
впервые показавшему возможности Бейсика БК, было всего около 15 лет, а в
16 лет им был разработан мультипликационный редактор спрайтов ANIMATIC.
Столько же лет было и художнику, оформлявшему эти программы. По 17 - 19
лет было авторам популярнейших игр на БК: ДЕСАНТНИК, COMIC, SKIN
DIVING, BLOCK OUT, SUPER MAN, ПЕРЕВАЛ и многих других.
Многие утилиты могут работать в различных системах, а другие — только в
тех, для которых они разработаны. Последнее не всегда определяется
различиями в системах. Например, одна из удачных программ МКТ по
просмотру и редактированию дискеты (DESS v2.0) может быть запущена
только из ANDOS'a, а после запуска может работать с дисками любой
системы. Для этого случая, а также для других применений, имеются
соответствующие файлы, обеспечивающие переход из одной системы в другую и
обмен между ними файлами.
Ниже рассмотрены только утилиты для наиболее ответственных операций по
обслуживанию дискет, за исключением копировщиков, поскольку копирование
предусмотрено ДОС'ами и на первых порах для основных применений этого
достаточно, тем более что их рассмотрение требует более серьезного
анализа.
Форматирование дискет
Входящие в ДОС'ы форматировщики хотя и способны выполнять свою
функцию, но не всегда корректно работают и имеют ограниченные
возможности. В то же время форматирование является наиболее
ответственной операцией, во многом определяющей дальнейшую судьбу
сохранности информации.
Возникающие при форматировании ошибки обусловлены тем, что в
форматировщиках не учитываются некоторые особенности возникновения этих
ошибок и то, что при низкой частоте компьютера вероятность ошибок выше,
чем при высокой (на тех же дискетах, в тех же дисководах, с теми же
программами на БК-0011М, частота которого выше, ошибок гораздо меньше).
Последнее следует учитывать, отлаживая на БК-0011М программы,
предназначенные для работы на БК-0010(.01), а работая на БК-0010(.01)
следует помнить что их контроллер рассчитан на более высокие частоты. В
то же время пользователю полезно знать, что выявляемые дефекты при
форматировании дискеты не всегда говорят о ее низком качестве и не
всегда ими являются.
Существуют несколько алгоритмов форматирования. В одном из алгоритмов
вначале магнитная головка дисковода, последовательно перемещаясь от
дорожки к дорожке, размечает их, затем возвращается на нулевую дорожку и
вновь последовательно проверяет разметку. В другом алгоритме головка
последовательно перемещается от дорожки к дорожке, одновременно размечая
их и проверяя. Третий способ является комбинацией первого и второго:
вначале магнитная головка последовательно размечает и проверяет дорожки,
затем возвращается назад и вновь последовательно проверяет разметку. Во
всех случаях при обнаружении ошибки головка может оставаться
неподвижной пытаясь еще и еще раз считать информацию прежде, чем
зафиксировать ошибку, а может, при обнаружении ошибки переместиться на
другую дорожку, в том числе на нулевую, и снова вернуться к
непрочитанной дорожке и только после этого, если не подтверждается
правильная разметка контролируемой дорожки, зафиксировать ошибку.
Форматировщики, в которых реализован первый и третий способ, при
проверке отмечают почти одинаковое количество ошибок форматирования, но
форматирование по первому способу быстрее. Форматировщики по второму
алгоритму при проверке отмечают меньшее количество ошибок
форматирования, но качество форматирования низкое.
Ошибки форматирования (о явных дефектах дискеты или дисковода здесь речь
не идет) обусловлены двумя причинами: увеличенным зазором между
магнитной головкой и поверхностью дискеты во время ее разметки и
неточностью установки магнитной головки на дорожку (погрешность
позицирования). Зазор увеличивается из-за изгибания дискеты во время ее
вращения и эти изгибы не обязательно происходят в одном и том же месте
при каждом повороте дискеты. Неточность установки головки на дорожку
происходит по причине неизбежно существующих зазоров в механизме
перемещения головки. Это означает, что головка никогда не встанет на
одно и то же место дважды с абсолютной точностью, устанавливаться она
будет в разное место в зависимости от того, вперед или назад она
перемещалась до этого. Теми же причинами обусловлены ошибки при записи и
считывании программ с хорошо отформатированной дискеты. При обнаружении
во время форматирования ошибки дорожка вновь форматируется и вновь
проверяется. Если при этом головка перед разметкой и перед проверкой не
перемещалась, то может быть пропущена ошибка позицирования.
Следовательно, во втором способе в процессе переформатирования при
неподвижной головке все ошибки позицирования будут пропущены, если же
головка смещается и вновь устанавливается, то вероятность пропуска
ошибки позицирования снижается, но только для переформатируемой дорожки.
Из рассмотренного следует, что первый и третий способ обеспечивают
более надежное форматирование, при этом время форматирования
качественных дискет в первом случае меньше, чем в третьем.
Таким образом, наиболее качественное форматирование за меньшее время
(для качественных дискет) обеспечит форматировщик, работающий по
следующему алгоритму: разметка всех дорожек; возврат на нулевую дорожку;
проверка всех дорожек; возврат на нулевую дорожку; остановка или при
обнаружении ошибок повторное переформатирование дефектных дорожек;
возврат на нулевую дорожку и повторная проверка переформатированных
дорожек. При этом прежде чем зафиксировать ошибку, необходимо
предусмотреть 2—3 подхода к нечитаемой дорожке. Не следует при
форматировании осуществлять проверку при обратном ходе головки. Это
только увеличит количество ложно фиксируемых ошибок.
Не рекомендуется на БК-0010(.01) использовать форматировщики, работающие
по второму алгоритму, а там, где такие форматировщики входят в систему
(например, в NORTON'e), лучше форматировать другими форматировщиками.
(Об алгоритме работы форматировщика можно узнать, наблюдая за
перемещением магнитной головки дисковода.) Неплохие результаты
обеспечивают форматировщики ТА Corp. и MASTER Corp. Первый более надежен
и в нем за счет оформления и показа процесса форматирования не так
утомительно ожидать его окончания, а во втором допускается одновременная
инициализация дискеты под MDOS и NORTON. Оба форматировщика можно
настраивать под различные параметры, в том числе можно изменить код
заполнения и выбрать номер форматируемой дорожки. Хорошо работает
форматировщик ANFORMAT, входящий в комплект ANDOS'a, однако он рассчитан
только на работу в своей системе. Оформление этого форматировщика очень
скромное, как и у большинства утилит в ANDOS'e.
Защита нулевой дорожки и директория
Наиболее уязвимой и наиболее важной на дискете является нулевая
дорожка. В этой дорожке находится блок начальной загрузки (Bootstrap
block), к которому происходит обращение при загрузке системы, и в ней же
хранится директорий дискеты.
Защита директория осуществляется дублированием его в специальный файл
или на другую дорожку дискеты. В последнем случае вместе с директорием
может быть продублирован загрузочный сектор, а для MDOS'a — и часть
дорожки, которая используется для записи буферной области памяти.
Утилита DIR.us Vital Programms дублирует директорий дискеты в
создаваемом ее файле \KATALOG и по нему восстанавливает директорий в
случае повреждения последнего. К сожалению, сама утилита работает
неустойчиво и может своим файлом разметить всю дискету как поврежденную.
Перезапросов и остановок, конечно, в ней нет.
Для дублирования директория на другую дорожку существует несколько
утилит, но наиболее надежно и правильно работает утилита DIRKEEP2.MVI,
разработанная PLUM Software и модернизированная МВИ, которая дублирует
целиком нулевую дорожку в нерабочую восьмидесятую (счет дорожек ведется
от нуля). При этом запись и форматирование всей дорожки производятся с
проверкой, как при дублировании, так и при реставрации.
Сжатие диска
При блочном способе на дискете образуется много небольших
незаполненных участков, на которые уже не могут уместиться новые файлы, а
в NORTON'e, например, удаленные файлы из директория не удаляются, а
остаются в нем со специальными отметками, неоправданно его удлиняя. При
кластерном способе разброс участков файла по дискете может увеличить
ошибки считывания.
Для уплотнения файлов при блочном способе и для последовательного их
размещения при кластерном способе существуют соответствующие утилиты, но
все они работают плохо. Это не удивительно, поскольку при сжатии
дискеты ее бывает необходимо почти заново переписать, каждый раз
перепроверяя, а так как при этом возникают ошибки, то итоги, как
правило, плачевны: дискета часто перестает совсем считываться или она
вся "разукрашивается" поврежденными блоками, количество которых
значительно больше, чем было незанятых блоков. И все это как всегда
делается автоматически без остановки и без запросов пользователя. Для
таких утилит необходимо использовать свой драйвер управления дисководом,
наподобие описанного выше, в котором необходимо предусмотреть
переформатирование как отдельных дорожек, так отдельных блоков или
кластеров дискеты.
В связи с изложенным, при необходимости сжатия дискеты рекомендуется ее
просто переписать на другую, даже если имеется всего один дисковод. В
MDOS'e, NORTON'e и NORD'e можно использовать утилиты FilesRemover
VitalProgramms (название файлов SQUEEZE, SQ-TEST, SQ-TEST18) только для
удаления и перемещения файлов в конце директория. Существует несколько
версий отмеченных утилит, но трудно определить, утилита какой версии,
более ранней или более поздней, работает лучше. Для перекомпановки
файлов дискеты, записанной в ANDOS'e, разработана пока только одна
утилита под названием COMPRESS (JOKER Software). С ней интересно
познакомиться, поскольку она хорошо оформлена, неплохо задумана и имеет
любопытные алгоритмы, но работать возможно будет лучше со следующей
версией.
БЕЙСИК И ФОКАЛ С ДИСКОВОДОМ
При подключении контроллера в БК-0010 отключается Фокал, а в БК-0010.01 —
Бейсик, и работа сними становится невозможной. При размещении
дополнительного ОЗУ с адреса 140 000 можно задействовать микросхемы со
штатным Фокалом. Для этого в DOSB10 предусмотрено перемещение системы на
адрес 140 000. Для Бейсика такое решение не годится, да и для Фокала
оно не является оптимальным, так как требует еще дополнительных
конструктивных переделок. В то же время, поскольку в DOSB10 длина имени
файла достигает 16 символов, с ним будут работать все программы, в том
числе использующие файлы данных. В том же DOSB10 для работы с Фокалом в
режиме дополнительного ОЗУ на 16 Кбайт предусмотрен соответствующий
файл, представляющий собой копию штатного Фокала с некоторыми
дополнениями, обеспечивающими работу с дисководом. Подобные файлы,
обеспечивающие работу с Фокалом, имеются для NORD'a и ANDOS'a. (В NORD'e
программы на Фокале, использующие файлы данных, пока не работают, а
работа в ANDOS'e таких программ не проверялась.)
Сложнее обстоит дело с Бейсиком. В свое время для БК-0010 было
разработано несколько вариантов загружаемого Бейсика, и их можно
использовать. Тем же, кто имеет БК-0010.01 и кому не без оснований
нравится штатный Бейсик, придется пойти на некоторые затраты, связанные с
дополнительными переделками контроллера.
Суть этих переделок состоит в том, что в контроллер устанавливается
триггер, управляемый небольшой программой и подключающий штатный Бейсик.
При этом обеспечивается полноценная работа Бейсика с дисководом в
системах MDOS, NORTON, NORD и ANDOS.
ЗАКЛЮЧЕНИЕ
К настоящему времени, как следует из изложенного, не только обеспечена
работа БК-0010(.01) с дисководом, но и имеется довольно широкий, даже
более чем достаточный, выбор дисковых операционных систем, поддержанных
соответствующими утилитами.
Наиболее предпочтительными являются системы ANDOS, NORD, MDOS и NORTON.
При этом система NORTON при условии некоторого совершенствования системы
NORD может быть полностью вытеснена последним. Систему MDOS по
состоянию на сегодняшний день можно рекомендовать в качестве
дополнительной для использования преимущественно в учебных целях.
Система NORTON рекомендуется в качестве основной только в случае, когда
главной целью использования дисковода является быстрая загрузка
программ.
Наиболее оптимально использование в качестве основной системы ANDOS, а в
качестве дополнительной — NORD, MDOS или NORTON. Использование
дополнительной системы вызывается необходимостью не только расширить
кругозор, но и тем, что многие утилиты работают только в тех системах,
для которых они разрабатывались.
Напоследок заметим, что разработка утилит для использования только в
одной системе может быть оправдана из коммерческих соображений. В тех же
случаях, когда не ставится целью поддержать развитие какой-либо
системы, целесообразно разрабатывать утилиты, пригодные для работы во
всех рекомендованных системах.
Использование дисководов упростило связь "БэКашек" с IBM PC и с
компьютером "SINCLAIR ZX Spectrum", а рекомендуемые системы обеспечивают
в некоторых случаях на БК-0011 и БК-0011М более надежную и удобную
работу, чем система, входящая в их комплект, реализуя при этом
возможность использования богатейшего программного обеспечения от
БК-0010(.01).
По всем вопросам, связанным с эксплуатацией "БэКашек" (кроме их ремонта и
схемного обеспечения), можно обратиться за платной консультацией по
адресу: 127349, г.Москва, а/я 9, Юров Вячеслав Петрович. Условия можно
узнать по телефону (095) 908-22-12 с 10 до 21 часа ежедневно.
ДОПОЛНЕНИЕ
После сдачи статьи в редакцию стало известно об окончании разработки еще
одной операционной системы MKDOS. Кроме этого, выяснилось, что для
многих ошибка позицирования не так очевидна, как предполагалось. В то же
время правильное понимание причин и методов борьбы с этой ошибкой сулит
появление более надежных систем.
Недостаточное внимание этому вопросу уделяется не только из-за
неопытности авторов. Во многом это объясняется влиянием наглядной работы
форматировщика в широко известной утилите PC TOOLS на IBM PC и
некритичным копированием его алгоритма, не в полной мере визуально
наблюдаемом на экране.
Ошибка позицирования не может быть исключена полностью, но отказы за
счет ее могут быть существенно снижены. Часть дискет, записанных на
одном дисководе, не будет читаться на другом дисководе того же или
другого компьютера данного типа. Для качественных дискет и исправных
дисководов это происходит в основном из-за ошибок позицирования. По
нашим наблюдениям, обычно количество непрочитанных дискет колеблется для
различных зарубежных компьютеров от 3 до 5%. Для IBM PC эта величина
выше, примерно около 10%. Для БК пока нет достаточной статистики и
устоявшихся систем и утилит, но примерное количество несчитываемых
дискет не менее 10%.
Для уменьшения отказов по причине ошибок позицирования следует не только
форматировать по рекомендованному выше алгоритму, но и при записи и
считывании (в том числе и при инициализации) следует предусматривать
несколько (от 2 до 3) подходов к нечитаемой дорожке. Пока на БК нет
утилит и операционных систем, учитывающих изложенное в полной мере.
Нет этого и во вновь разработанной системе MKDOS. Эта система внешне
похожа на уже рассмотренную систему NORTON, но в отличие от нее состоит
из двух частей: самой системы и оболочки. В ней отслеживаются
одноименные файлы и как в MDOS'e требуется согласие на их перезапись или
переименование. Во время перезаписи файлов с одного дисковода на другой
имя копируемого файла отражается на экране, а при возникновении ошибки
считывания или записи выводится запрос о согласии на повторение, пропуск
операции, или отказ от копирования. Такой режим копирования лучше
соответствующего режима в ANDOS'e. При загрузке или копировании файла с
правой панели курсор в отличие от NORTON'a вновь на нее возвращается, а в
отличие от NORD'a переключения панелей при этом не происходит. В то же
время при необходимости панели могут перезакрепляться за
дисководами. Как и в оболочке NORTON IBM PC, все файлы могут быть сразу
выделены для групповых операций или отменены с помощью клавиш "+" и "—"
соответственно. При выделении группы файлов указывается их общее число и
количество занимаемых ими блоков. Перемещение курсора по панели
довольно быстрое и при этом допускается листание страниц и переход в
конец или начало директория.
Система совместима с MDOS'ом, NORTON'oм и NORD'oм. Ограничений на
минимальный адрес загрузки файлов нет. Эта система может работать как в
ПЗУ, так и в дополнительном ОЗУ 8 Кбайт. При работе в дополнительном ОЗУ
в отличие от MDOS'a возможна защита дискеты от записи, а при работе в
ПЗУ буферная область памяти записывается на дискету только в случае
работы в мониторе. При работе в мониторе (т.е. без оболочки) по набору
команд система похожа на ANDOS.
MKDOS во многом превосходит NORTON, спроектирована более грамотно, чем
NORD, но имеет некоторые недостатки как по отношению к NORTON'y и
NORD'y, так и к другим системам. К наиболее существенным недостаткам
относится отсутствие команды просмотра текстовых файлов, отсутствие
поддиректориев, отсутствие возможности создания исполняемых ВАТ-файлов,
невозможность записи файлов с магнитофона на дискету и невозможность
работы с цветным монитором при использовании оболочки. Форматирование
пока осуществляется с помощью не совсем удачной утилиты, входящей в
комплект. Максимальная длина имени файла — не более 14 символов.
Система MKDOS v1.07 только появилась в продаже, и возможно, что к
моменту выхода статьи некоторые из отмеченных недостатков будут
устранены (поддиректории, просмотр текстовых файлов, режим в 32
символа). По крайней мере, ранее отмеченная утилита DESS для просмотра и
редактирования дискеты уже скорректирована и теперь может запускаться в
различных системах. Введение поддиректорий предполагается и в системе
ANDOS.
Сложнее обстоит дело с NORD'oм. Испытание новой версии NORD'a (2.16)
показало, что прежние недостатки в ней сохранились и она также небрежно
оформлена.
Рекомендации в отношении целесообразности использования контроллеров с
дополнительным ОЗУ еще более подтверждаются, поскольку в условиях
неустоявшихся систем можно свободно заменять последние на более
совершенные по мере их появления. Что же касается выбора между
NORTON'oм, NORD'oм и MKDOS'oм, то пока его делать преждевременно.
|