А.М.Надежин


ДИСКОВАЯ ОПЕРАЦИОННАЯ СИСТЕМА ANDOS



Домашние компьютеры БК-0010 выпускаются с 1984 года, и естественно, интерес к ним стал затухать, однако за последний год БК переживает новый расцвет, связанный как с появлением новой модели — БК-0011М, так и с тем, что подключение дисковода для пользователей БК стало таким же естественным, как подключение принтера или джойстика. Отрадно, что контроллер дисковода от БК-0011М "БЛОК КНГМД 3.059.014" столь удачно подошел к БК-0010, что применение этого контроллера стало стандартом. Существуют и другие контроллеры, например на 1818ВГ93, производимый МП Ширакаци и Опток, и контроллер, производимый МП КомКон, который хоть и построен на той же БИС 1801ВП1-128, что и контроллер от БК-0011М, но не имеет с ним полной совместимости. После того как к БК-0010 впервые был подключен дисковод, как грибы после дождя стали появляться операционные системы — такое впечатление, что в самом начале существования БК каждый уважающий себя программист писал игрушки, затем все бросились писать копировщики и текстовые редакторы, теперь же, с появлением дисковода, все кому не лень пишут операционные системы. Ситуация эта тем более забавна, что на всех остальных компьютерах всегда существует одна, ну максимум две операционные системы (так на ДВК и УК-НЦ это RT11, на Корвете - СР/М, на IBM - MS-DOS и UNIX, на Спектруме — TR-DOS). Однако это странное положение легко объяснить: во-первых, в плане написания Операционной Системы (ОС) на БК все поставлено с ног на голову - на любой другой ЭВМ сначала писалась операционная система, а затем прикладные программы под нее, на БК же сначала создавались программы, работающие с магнитофоном, а затем, после появления дисковода, начали разрабатываться ОС, обеспечивающие работу с диском всех старых программ; во-вторых, из-за неинформированности многие авторы писали свои ОС, просто не зная о существовании других (так авторы ANDOS, о которой пойдет речь дальше, были уверены, что создают первую ОС на БК, хотя, конечно, это было не так); и наконец, в-третьих, как правило, каждого автора, решившего создавать свою, новую ОС, не устраивают все предыдущие. Таким образом, сейчас количество ОС уже перевалило за 20 и продолжает увеличиваться.

Эта статья посвящена новой версии дисковой операционной системы ANDOS, число пользователей которой уже составляет несколько тысяч.

Дисковая операционная система ANDOS начинала создаваться в 1990 году. Первая полноценная версия — ANDOS V2.02$ вышла в свет в апреле 1992 года, тогда же в четвертом номере журнала "Вычислительная техника и ее применение" была помещена статья "БК-0010: Работа с дисководом", в которой, в частности, и была описана ANDOS V2.02$. В течении мая-июня 1992 года были выпущены версии ANDOS V2.22$ и ANDOS V2.23$, отличавшиеся исправлением некоторых некорректностей. Новая версия ANDOS V2.30$ была выпущена в свет в апреле этого года.

Дисковая операционная система ANDOS V2.30$ предназначена для обеспечения работы компьютеров БК-0010, БК-0011, БК-0011М с дисководом, при этом на БК-0011 и БК-0011М осуществляется эмуляция среды БК-0010. ANDOS перехватывает обращения к магнитофону программ, написанных в машинных кодах для БК-0010, и переадресует их на дисковод. Для работы ANDOS на БК-0010(.01) в контроллер дисковода должна быть встроена плата дополнительного ОЗУ объемом 8 или 16 Кбайт. Необходимость в дополнительном ОЗУ вызвана тем, что многие программы используют всю основную память БК, не оставляя места для ОС (для полноценной работы с диском операционная система должна всегда находиться в памяти).

В отличие от многих других ОС, ANDOS имеет файловую систему, совместимую с MS-DOS, что позволяет, с одной стороны, удобно работать с диском на БК, а с другой — легко переносить информацию с БК на IBM (диски ANDOS свободно читаются почти на всех моделях IBM). Для переноса текстовой информации в комплект ANDOS входит утилита CONTXT, преобразующая тексты из кодировки БК (КОИ8) в альтернативную кодировку IBM и обратно. Таким образом с помощью ANDOS легко организуем первичный ввод информации на БК с последующим ее переносом на IBM.

Другой особенностью ANDOS является разделение собственно ядра системы, эмулирующего магнитофонное прерывание ЕМТ 36, и файловой оболочки. Пользователям других компьютеров такое разделение может показаться вполне естественным, однако на БК существует большая группа ОС, состоящих как бы из одной оболочки. К таким системам можно отнести NORTON-БК и NORD. Разделение ядра системы и оболочки позволяет пользователю, имея одно и то же ядро системы, выбирать оболочку по своему вкусу; так, в настоящее время для ANDOS создано уже две оболочки — SHELL (Простая однооконная оболочка, работающая в цветном режиме) и MASTER (Многофункциональная двухоконная NORTON-подобная оболочка).

В отличие от других ОС, у которых оболочка также отделена от ядра или отсутствует вовсе, ANDOS не имеет командного монитора — простые команды (переход с устройства на устройство, просмотр каталога, удаление файла) передаются через поле имени стандартного ЕМТ 36 (эти команды могут подаваться с помощью обычного магнитофонного монитора БК через запрос "М", "ИМЯ?" или из любых программ с помощью любой функции чтения или записи). Более сложные операции (Копирование файлов, форматирование дисков) осуществляются с помощью утилит, входящих в комплект ANDOS и запускающихся как обычные программы. Такая организация значительно упрощает ядро системы (оно занимает 5000 байт).

При разработке ANDOS основная ставка делалась на скорость и надежность работы с диском. В отличие от многих других систем ANDOS позволяет с помощью утилиты ANSETUP настраивать драйвер под конкретные типы дисководов. Диск ANDOS имеет кластерную структуру, однако операции чтения/записи осуществляются не с каждым кластером в отдельности, а с цепочкой кластеров, расположенных подряд. Это позволяет значительно повысить скорость обмена с диском. В случае возникновения ошибок при обмене с диском ANDOS выдает на экран сообщение об ошибке и предлагает повторить операцию или отказаться от нее. Для повышения надежности хранения информации в ANDOS применено дублирование файлов, позволяющее по желанию пользователя сохранять при записи предыдущую версию файла в файле с расширением ".ВАК". Утилита ANFORMAT V2.12, вошедшая в комплект поставки ANDOS V2.30 благодаря оригинальному методу турбирования драйвера дисковода, избавляет пользователя от случайных ошибок, возникающих при обычном форматировании дисков на БК-0010.

Для совместимости с другими системами (MicroDOS, NORTON-БК, NORD, MKDOS, АО-DOS) в комплект поставки ANDOS V2.30$ введен эмулятор формата "MicroDOS", позволяющий просматривать каталоги дисков, имеющих этот формат, запускать с них программы и копировать файлы на диски ANDOS.

Для повышения удобства работы в комплект ANDOS V2.30$ входит утилита ANKEY, позволяющая создавать и редактировать 10 ключей клавиатуры, одновременно являющихся своеобразными "стартовыми командными файлами".

Кроме того, в комплект поставки ANDOS V2.30$ входят: утилита автоматического копирования с кассет на диски — ARC3, копировщик файлов, имеющих длину до 77406 байт — DISCAS, программа печати каталога диска на принтере в несколько колонок — ANPRIDIR, профессиональный текстовый редактор — EDALT3M, описания для пользователя и программиста, а также одна из двух оболочек.


ОБОЛОЧКИ ANDOS V2.30$

Для повышения удобства работы ANDOS комплектуется одной из двух оболочек. Запуск оболочки осуществляется сразу после загрузки ANDOS.

Оболочка SHELL V1.04 (рис.1), разработанная В.Балутиным, предназначена в первую очередь для неквалифицированных пользователей, имеющих цветные мониторы. SHELL позволяет в наглядной форме запускать программы, копировать и удалять один или группу файлов, кроме того, SHELL имеет ряд подгружаемых с диска функций — переименование файла, сохранение каталога в виде текстового файла, просмотр текстов в форматах БК и IBM.

Оболочка SHELL V1.04

Рис.1

Оболочка MASTER V 1.0 (рис.2), разработанная С.Камневым при участии автора этой статьи, предоставляет квалифицированному пользователю гораздо большие возможности. MASTER может работать как на черно-белом, так и на цветном мониторе (в режиме "оцветнения" символов) и позволяет запускать файлы (как наглядным выбором в меню, так и непосредстенным вводом имени файла), копировать, удалять и перемещать файлы или группы файлов, переименовывать файлы, просматривать и распечатывать тексты неограниченной длины, сортировать и сравнивать каталоги. Для повышения удобства пользователя MASTER имеет режим "фильтр" (на экране индицируются лишь те файлы, имя или расширение которых начинается на указанные буквы), режим ручной сортировки (файлы могут быть расставлены в каталоге в произвольном порядке, после чего каталог в таком виде может быть записан на диск), режим "меню пользователя", в котором могут быть заданы некоторые, часто используемые конкретным пользователем операции.

Оболочка MASTER V 1.0

Puc.2


ДОПОЛНИТЕЛЬНЫЕ ПРОГРАММЫ И УТИЛИТЫ

За год существования ANDOS было создано много программ и утилит, облегчающих работу и предоставляющих пользователям новые возможности. Эти программы не входят в комплект поставки ANDOS V2.30$, однако могут быть приобретены отдельно.

Программа Disk XEROX (рис.3), написанная автором этой статьи, позволяет создавать точные копии дисков и может использоваться для быстрого копирования дисков, создания архивных копий и тиражирования. Программа с успехом работает как с двумя, так и с одним дисководом. Disk XEROX корректно обрабатывает ошибки, имеет функции автостопа и предформатирования диска-копии.

Программа Disk XEROX

Рис.3

Программа UNERASE (автор Д.Сотченко) позволяет восстанавливать удаленные файлы, если на диск не производилась запись других файлов.

Программа ANKEEPER (автор М.Королев) сохраняет каталог в конце диска и при сбоях может восстанавливать его.

Программа ANMARK (автор Д.Романов) проверяет свободные участки диска и при обнаружении сбойных кластеров исключает их из используемого дискового пространства.

Программа H-DISK (автор Р.Вишневский) позволяет в автоматическом режиме переписывать с кассеты на диск файлы в стандартном формате и формате "HELP7", а также переписывать файлы с диска на кассету в любом формате как по одному, так и в автоматическом режиме по заранее подготовленному списку.

Программа ANFOCAL8 (автор С.Камнев) представляет собой интерпретатор языка Фокал, работающий с диском. ANFOCAL8 имеет встроенный драйвер принтера для печати текстовой и графической копии экрана.

Программа FASTCOP2 (автор А.Фионов) предназначена для пользователей, имеющих только один дисковод. Она позволяет копировать файлы с одного диска на другой с минимальным количеством перестановок дисков. При копировании сначала считывается в память максимально вмещающееся количество файлов, затем, после смены диска, они записываются на другой диск.

Программа DISCAT (автор В.Юров) позволяет считывать каталоги дисков в форматах "ANDOS" и "MicroDOS" и распечатывать их на принтере в различных режимах (в одну или несколько колонок, с нумерацией или без, с сортировкой по алфавиту или другим признакам) или записывать в виде текстового файла.

Программа DESS V2.6 (автор М.Королев) позволяет просматривать и редактировать содержимое дисков в двоичной, восьмеричной, десятичной системах счисления, символах ASCII или мнемонике Ассемблера. DESS имеет функции поиска, трассировки программы, печати текстовой копии экрана на принтере, работы с загружаемыми функциями (в комплект входят функции: FILES.DSS - запись фрагмента диска в файл, ASSEMB.DSS - просмотр диска в виде ассемблерного текста, MACRO.DSS - реализация макрокоманд).

Программа COMPRESS (автор Д.Пугачев) позволяет анализировать диски, помечать сбойные кластеры, очищать свободные кластеры от старой информации, производить оптимизацию дискового пространства: упорядочивать расположение кластеров фрагментированных файлов, переносить свободное пространство в конец диска, сортировать файлы в алфавитном или произвольном порядке.

Программа VDISK (автор М.Королев) представляет собой драйвер виртуального диска для БК-0011М. После запуска VDISK к ANDOS подключается дополнительное устройство — виртуальный диск (диск в памяти), имеющее объем 37 кластеров.

Программа BASIC11M (автор М.Королев) позволяет работать с диском во встроенном Бейсике БК-0011М.

Программа TRD-COPY (автор Д.Сотченко) позволяет копировать информацию с дисков TR-DOS (ZX Spectrum) и на них в двоичном виде или в виде экранных файлов с перекодировкой цветов. Имеет функцию поиска спрайтов в программах компьютера Spectrum.

Программы KOL4.COM (автор А.Барский) и IBMBK позволяют преобразовать графические изображения, созданные с помощью IBM, в формат БК.

Программа VIEW (автор Д.Сотченко) позволяет просматривать на БК текстовые файлы в формате IBM.

Программа ANTEST позволяет тестировать диски и вручную маркировать плохие блоки, форматировать отдельные дорожки, просматривать и редактировать цепочки FAT.

Программно-аппаратный комплекс BASIC-10 (автор Д.Сотченко) позволяет работать с диском во встроенном Бейсике БК-0010(.01). Комплекс включает в себя микросхему-диспетчер, устанавливаемую в контроллер дисковода и программу "BASIC-10".


ПЕРСПЕКТИВЫ РАЗВИТИЯ ANDOS

В настоящее время идет работа над созданием новой версии ANDOS, которая будет отличаться от существующих прежде всего возможностью работы с подкаталогами. Автор надеется, что ему удастся завершить создание ANDOS V3.00 к концу 1993 года.

По вопросам приобретения ANDOS V2.30$ и других программных продуктов и аппаратных средств обращайтесь по адресу: 129329, Москва, а/я 103. В заявку вложите конверт с вашим адресом. Более подробную информацию вы можете получить непосредственно у автора по телефону: (095) 180-30-02.


Распознавание и преобразование в гипертекст: Владислав М. Антонов

2004 г.