В.Артамонов, Новосибирск

КУВТ "Корвет"

Введение

Корвет (франц, corvette) - 1) в парусном военном флоте XVIII-XIX вв. легкий военный корабль, предназначавшийся для разведки и выполнения вспомогательных задач; 2) в британском и американском флотах периода II мировой войны корветом назывались сторожевые корабли.

Советский энциклопедический словарь

Думается, что и те, кто только начал работать с "Корветом", и те, кто уже давно его использует в своей деятельности, могут согласиться с тем, что (в соответствии с морской терминологией) этот компьютер - легкий и изящный военный корабль во флотилии персональных ЭВМ, на котором можно решать и отнюдь не вспомогательные задачи в отличие от настоящего корвета. Все зависит от того, насколько глубоко изучена эта машина. Конечно, поскольку "Корвет" является одним из первых в нашей стране массовых персональных компьютеров, он не свободен от недостатков как с технической точки зрения, так и в области программного обеспечения. Но в целом, думается, открывает весьма реальный путь создания в нашей стране конкурентоспособного образца ПЭВМ.

В отличие от своих собратьев - больших ЭВМ, требующих для нормальной работы специальных помещений,- "Корвет" неприхотлив и в принципе может работать в следующих климатических условиях:

При температуре 25°C и выше "Корвет" начинает давать сбои, которые выражаются в порче информации на дисках. Если температуру в помещении понизить не удается, то можно попробовать подготовить диски (отформатировать, записать ОС и т. д.) в условиях повышенной температуры. Это даст возможность в новых условиях продолжить работу с классом дальше. По-видимому, причину указанных явлений следует искать не в электронике, а в изменении геометрии элементов дисковода под действием высокой температуры.

КУВТ "Корвет" состоит из рабочего места преподавателя (РМП) на основе ПК8020, рабочих мест учащихся (РМУ) на основе ПК8010, локальной информационной сети и системы электропитания. Персональные компьютеры ПК8010 и ПК8020 имеют следующие характеристики:

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

ПК8020 имеет, кроме того, средства для подключения печатающего устройства матричного типа (например, "Epson" или "Robotron") и накопителей на гибких магнитных дисках.

Локальная сеть КУВТ представляет собой моноканальную сеть с топологией "общая шина" и предусматривает подключение до 16 рабочих мест: одного РМП и до 15 РМУ. В качестве соединителя используется витая пара проводов длиной до 50 м. Скорость передачи информации - не менее 19500 бит/с. В качестве адреса передачи используется индивидуальный номер каждого РМУ (поскольку РМП одно, ему номер не присваивается), который жестко задается с помощью аппаратных средств при оборудовании класса. Поэтому рекомендуется после установки КУВТ узнать у специалистов, производивших пусконаладочные работы, адрес каждого РМУ и сделать метки с помощью полоски бумаги и клейкой ленты. Это поможет в дальнейшем избежать ошибок при обмене информацией.

Если все рабочие места включены в локальную сеть, то последовательность включения питания должна быть следующей: вначале на всех РМУ, а только после этого на РМП. Если же хотя бы одно РМУ включить во время работы РМП, то РМП "зависает", и требуется перезагрузка операционной системы, интерпретатора языка Бейсик, прикладной программы и т. д.

Это конструктивная недоработка, которую своими силами исправить достаточно сложно.

Документация

Когда вес документов достигнет веса самолета, самолет начнет летать.

Дональд Дуглас.

Известно, что люди не любят составлять документацию на созданную ими продукцию. Между тем документация - самое важное из того, что они должны сделать.

Тот, кто разрабатывал достаточно сложные программные комплексы, знает, какой внутренний протест вызывает необходимость написания документации на них, что необходимо, даже если этим комплексом предстоит пользоваться самому разработчику через несколько месяцев. А уж если документация пишется для абстрактного пользователя!.. К сожалению, эту человеческую слабость не перебороли и составители документации на КУВТ "Корвет". Она изобилует повторениями, неточностями, туманными местами и т. п. Как же извлечь из нее рациональное зерно?

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

Посмотрим теперь, из каких компонентов состоит программное обеспечение, поставляемое вместе с КУВТ "Корвет". Структура базовых программных средств КУВТ "Корвет" приведена на рисунке 1.

Константы
Рисунок 1. Структура базовых программных средств КУВТ "Корвет"

Конечно, не на все эти средства необходим полный комплект документации, но как минимум на ОС МикроДОС и интерпретатор языка Бейсик он должен быть. Это избавило бы пользователей от многих ошибок во время эксплуатации комплекса.

Какие же документы на программное обеспечение поставляются с "Корветом"? Из 24 книг 9 (с 16-й по 24-ю) содержат собственно программную документацию. Однако 23-я и 24-я книги описывают работу на языке Форт, демонстрационные и игровые программы, что на практике используется мало; книга 17-я, содержащая описание базовых программных средств КУВТ "Корвет", ничем не отличается от 18-й и 19-й, где рассказывается о базовых программных средствах ПК8010 и ПК8020 соответственно; в свою очередь 18-я полностью повторяет 19-ю в части, касающейся базовых программных средств, размещаемых в ППЗУ.

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

Всю остальную программную документацию можно использовать для уточнения некоторых неясных мест.

Операционная система МикроДОС

Программы - это посредники между пользователем и машиной.

Гарлен Д. Миллс

Сердцем любого компьютера (не только персонального) является операционная система, приводящая в движение тонкие механизмы его взаимодействия с пользователем. В конечном счете вся работа, начиная от проверки состояния технических средств компьютера до выполнения вашей программы на Бейсике или любом другом языке программирования, происходит под управлением операционной системы (ОС). Поэтому изучение программного обеспечения целесообразно начинать с изучения ОС. В "Корвете" используется обычно СР/М и программно совместимая с ней МикроДОС. Читателю, получившему "Корвет" с СР/М, рекомендуем интересную книгу "Знакомьтесь: персональная ЭВМ "Корвет"" С. А. Ахманова (мл.) и др. Здесь же речь пойдет об основах работы с другой ОС - МикроДОС (в документации она описана в книге 22).

МикроДОС - адаптированный (приспособленный к КУВТ "Корвет") вариант известной микрокомпьютерной дисковой ОС СР/М, разработанный в 1986 г. в Международном научно-исследовательском институте проблем управления. Основу системы составляют два модуля (программы): базовая дисковая операционная система (БДОС), обеспечивающая взаимодействие пользователя и ПК8020 (интерпретирует команды, вводимые оператором; организует обмен информацией между различными устройствами), и базовая система ввода-вывода (БСВВ), представляющая собой набор программ, связывающих МикроДОС со стандартными устройствами ввода-вывода (клавиатура, экран ВКУ, принтер, дисковые накопители).

Вся МикроДОС размещается на трех дорожках (нулевой, первой, второй - системных дорожках) ГМД и загружается в ОЗУ с помощью записанного в ПЗУ загрузчика.

Для хранения данных и программ МикроДОС использует дисковую систему из двух дисководов (А: и В:), одному из которых присваивается статус системного (он используется для операций загрузки и перезагрузки ОС). Первоначально статус системного имеет верхний дисковод - А:. Носителем информации является гибкий магнитный диск диаметром 5,25 дюйма (113 мм), который получает имя работающего с ним дисковода.

Начальная загрузка МикроДОС. После включения тумблера питания и при нажатии на кнопку "Сброс" подается звуковой сигнал, а на экран ВКУ выдается сообщение "ОПТС 1.1". ОПТС - это оперативная проверка технических средств, программа, в течение 10-12 с проверяющая аппаратуру компьютера. До конца проверки в дисковод А: должен быть установлен ГМД с ОС.

При нормальной загрузке ОС на экране появляется сообщение вида

    КОРВЕТ  ПК8020
    НИИСЧЕТМАШ  30.04.87
    48К  МикроДОС вер.2.6
         1985
    
    A>

Здесь 48К - объем (в килобайтах) области ОЗУ, представляемой для программ пользователя. Подсказка "А>" означает, что система готова принимать и выполнять команды пользователя, при этом дисковод А: является системным.

Процедура начальной загрузки начнет выполняться только тогда, когда вы отпустите кнопку "Сброс".

МикроДОС может выполнять достаточно большой набор команд, который делится на две группы:

Рассмотрим резидентные команды.

S - назначить системный дисковод с указанным именем. Появляющаяся после первоначальной загрузки ОС на экране подсказка "А>" указывает на то, что верхний дисковод (А:) является системным. Признак системности дисковода учитывается при работе с дисками. Дав команду

    A>S B:<ВК>

вы сделаете системным дисковод В:, командой же

    A>S A:<ВК>

- снова дисковод А:. После выполнения команды

    A>S B:<ВК>

на экране появится подсказка "А>", но для МикроДОС системным будет уже дисковод В:! Это обстоятельство следует учитывать при перезагрузке системы и при модификации информации в ОЗУ или на дисках.

Следует отличать системный дисковод от текущего. На системном дисководе обязательно должен находиться диск с ОС. На текущем же может находиться любой диск. Ввод в качестве команды указателя дисковода (А: или В:) делает текущим нужный дисковод. Первоначально дисковод А: является системным и текущим одновременно.

U - изменение кода пользователя. Это очень удобная команда в том случае, если с одним и тем же диском приходится работать поочередно нескольким пользователям.

Весь диск делится на 16 непересекающихся подобластей (номера от 0 до 15). Подобласть с номером 0 называется системной, системные файлы из нее доступны всем пользователям данного диска. Остальные подобласти доступны только тем пользователям, которые имеют код, совпадающий с номером подобласти. Так, если после загрузки системы вы наберете команду <ВК>

    A>U 3<ВК>

то подсказка на экране примет вид "3 А>". Это означает, что вы имеете доступ к программам и данным в подобласти с номером 3. Команда U позволяет иметь на одном диске программы с одинаковыми именами без опасности затереть их друг другом. По умолчанию код пользователя равен 0.

Не следует путать системную область диска (дорожки 0-2), где расположена МикроДОС, с системной подобластью. В документации здесь некоторая путаница.

О - опрос числа системных дорожек. Как было сказано, МикроДОС может занимать до трех дорожек диска. С помощью команды О можно установить, сколько конкретно занимает ваша ОС (для сравнения: СР/М занимает две первые дорожки). Команда выводит информацию для обоих дисководов.

D - вывод на экран консоли таблицы оглавления ГМД для текущей области пользователя. Рассмотрим особенности организации файловой системы в МикроДОС. Файлом здесь называется какая-либо совокупность данных, снабженная специальным именем и хранимая в виде записей на ГМД. Имя файла должно состоять из названия файла (не более восьми алфавитно-цифровых символов, исключая ">", "<", ".", ",", ";", ":", "*","?", "[","]", "-", "^", "!"), точки и, возможно, типа файла (расширения). Тип файла должен состоять не более чем из трех алфавитно-цифровых символов (ограничения такие же, как и в имени файла). В отличие, скажем, от СР/М пользователь может выбрать любой тип файла или оставить имя файла вообще без типа.

Исключение составляют типы СОМ и SPR. Если вы написали программу, которая будет работать непосредственно под управлением МикроДОС, то ее имя должно обязательно иметь тип СОМ (SPR), иначе программа не будет выполняться системой.

С каждым файлом могут быть связаны некоторые характеристики - атрибуты файла. Они указывают на то, какие операции можно выполнять над файлом. Атрибут задается одной из букв D, S, R, W и записывается в конце типа файла с помощью транзитной команды ATTR, которую мы в дальнейшем рассмотрим. Возможны следующие сочетания атрибутов:

Во многих командах МикроДОС имя файла можно задавать неявно. Для этого используются символы "?" (замена любой литеры имени) и "*" (замена группы литер в имени). Так, неявное имя A?BC1.BAS определяет все файлы с названиями, отличающимися второй литерой, а неявное имя *.СОМ идентифицирует все файлы с произвольным именем и типом СОМ.

Команда D в общем виде записывается так:

    D дисковод имя

где параметр "дисковод" задает дисковод (А: или В:), параметр "имя"-либо явное, либо неявное имя файла. Например, команда

    A>В:*.СОМ<ВК>

означает: вывести на экран имена всех командных файлов из оглавления текущей подобласти ГМД дисковода В:.

Заметим, что параметры "дисковод" и "имя" могут быть опущены, тогда на консоль осуществляется вывод оглавления текущей подобласти ГМД текущего дисковода.

Команда D осуществляет вывод оглавления той подобласти, в которой вы находитесь в данный момент.

УПР+С - реинициализация системы ("теплый старт"). В результате выполнения этой команды с системного диска копируется только часть МикроДОС. При этом прекращается выполнение текущей программы, закрывается файл консоли вывода (т. е. файл, в который выводится информация с экрана консоли), перезагружается БДОС без изменения текущего кода пользователя и дисковода.

"Теплый старт" можно использовать для выхода из выполняемой в МикроДОС программы, не дожидаясь конца программы, когда системы должна реинициализировать себя автоматически.

Смена системного ГМД требует обязательного выполнения "теплого старта"!

Е - удаление файла или группы файлов из текущей подобласти пользователя на ГМД. Вызывается команда строкой вида

    E дисковод имя

где параметры "дисковод" и "имя" задаются аналогично предыдущей команде.

Поскольку Е очень ответственная операция, то МикроДОС переспрашивает:

    УДАЛИТЬ - Y/N?

При вводе одного из символов Y, у, D, d происходит удаление. Если вы передумали производить данную операцию, нажмите клавишу N (n).

Пример: команда вида

    A>E B:*.BAS<ВК>

в случае вашего подтверждения удалит с ГМД на дисководе В: все файлы типа BAS.

При попытке удаления системного файла (с атрибутом S) выдается сообщение об ошибке и команда заканчивает работу. Если встречается файл только для чтения (с атрибутом R), то система просит подтверждения на него удаление.

Будьте особенно внимательны при удалении с помощью этой команды группы файлов, поскольку система запрашивает подтверждение на удаление только вначале! Для избирательного удаления файлов есть специальная транзитная команда - ERAQ.

Не производите удаление файлов с единственной копии важного для вас диска!

Рассмотренные выше резидентные команды МикроДОС объединяются в одну группу - команды управления работой дисковой системы.

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

УПР+S - приостановить вывод на дисплей. После ее выполнения система ожидает ввода одной из следующих команд: УПР+Q, УПР+С, УПР+Р, УПР+F. Любая другая команда игнорируется системой.

УПР+Q - возобновить приостановленный вывод на дисплей. Если команда дана после УПР+S, она возобновит вывод информации той же программы. Если же команде УПР+Q не предшествовала команда останова вывода, то она игнорируется.

УПР+P - переключение режима дублирования на принтере информации, выводимой на дисплей. Команда дает пользователю возможность получения твердой копии. Первый ввод этой команды включает параллельную печать выводимой на дисплей информации, повторный ввод отключает печать. УПР+ обычно используется совместно. с транзитной утилитой TYPE, которая выводит на дисплей содержимое заданного текстового файла с ГМД.

Утилита переназначения консоли вывода обеспечивает копирование символов, выводимых на консоль вывода (дисплей), в заданный дисковый файл. Вызывается командой вида

    КОМАНДА > ДИСКОВОД ИМЯ

где параметр ИМЯ - обязательно явное имя файла, параметр КОМАНДА - любая из транзитных или резидентных утилит, параметр ДИСКОВОД - имя дисковода (А: или В:).

Если параметр КОМАНДА отсутствует, то система просто определяет дисковый файл для последующего копирования символов с дисплея. При наличии параметра КОМАНДА выполняется указанная утилита, при этом все символы, выводимые на дисплей, выводятся также и в заданный дисковый файл.

При отсутствии параметра ДИСКОВОД система предполагает, что заданный файл находится в текущей подобласти ГМД текущего дисковода. Пример:

    D > FILE.DOC

вызовет выполнение резидентной утилиты D показа оглавления текущей области ГМД с одновременной записью копии текста в дисковый файл FILE.DOC.

Файл консоли вывода закрывается системой в случае выполнения "теплого старта" ОС, при обнаружении ошибки обмена с диском или при останове вывода на консоль (утилита УПР+S) с последующим вводом команды закрытия файлов консоли ввода-вывода (утилита УПР+F).

Утилита переназначения консоли ввода обеспечивает ввод данных не с клавиатуры, а из дискового файла, заданного параметрами ДИСКОВОД и ИМЯ. Утилита вызывается командой вида

    КОМАНДА < ДИСКОВОД ИМЯ

параметры которой задаются так же, как и в предыдущем случае.

При наличии параметра КОМАНДА выполняется указанная команда, но ввод символов, необходимых для ее работы, будет осуществляться из заданного дискового файла. Рассмотрим пример

    COPY < B:F.TXT

где COPY - транзитная утилита копирования файлов, а F.TXT - файл, первая запись которого содержит выражение А:=В:*.* (переписать все файлы с ГМД дисковода В: на ГМД дисковода А:). В этом случае утилита COPY выполнит все необходимые операции по копированию файлов, не требуя от пользователя ввода дополнительной информации.

Ввод из файла, определенного в качестве консоли ввода, прекращается при достижении конца файла или обнаружении ошибки обмена с ГМД или если выполняющаяся программа пользователя выдаст запрос операционной системе о приостановке ее вывода на консоль с последующим вводом команды УПР+F.

Обращение с утилитой переназначения консоли ввода должно быть особенно аккуратным: после ее вызова "ручное" управление ПЭВМ на какое-то время станет невозможным!

После прекращения чтения файла возобновляется обычный ввод команд непосредственно с клавиатуры.

УПР+W - вывести на дисплей содержимое буфера консоли.

Прежде чем говорить об этой утилите, целесообразно рассмотреть понятие командной строки и ее редактирование.

Командная строка должна включать в себя команду, может включать признак и параметры. Интерпретатор команд, входящий в состав базовой ДОС, передает утилите (программе) текст командной строки, исключив из него признак и команду. В общем случае состав и синтаксис параметров определяются соответствующей утилитой. Иначе говоря, все команды, которые уже были или еще будут рассмотрены, представляют собой частные случаи командной строки.

Общее описание синтаксиса командной строки достаточно длинно, поэтому поясним его на примере.

    :HDIR А: *.BAS > B:FILE.TXT

Здесь:

:- признак, определяющий режим исполнения *команды, в данном случае - условное выполнение команды (команда не выполняется, если предыдущая команда установила неуспешным код исполнения). Этот признак может отсутствовать либо иметь еще два значения:

; - командная строка рассматривается как комментарий;

- - отмена переназначения консоли (используется для программ, у которых символы ) и ( входят в синтаксис параметров). Признаки : и - можно использовать совместно; при этом сперва ставится двоеточие, затем тире.

HDIR - транзитная утилита показа оглавления ГМД.

A:*.BAS - параметр транзитной утилиты (вывести на экран список имен файлов, имеющих расширение .BAS и находящихся на дисководе А:, с указанием их длины).

На месте данной транзитной утилиты может стоять любая резидентная или транзитная команда с соответствующими параметрами.

) - указатель переназначения консоли вывода.

B:FILE.TXT - указание файла, в который происходит копирование символов, выводимых на консоль вывода. Указатель переназначения консоли может отсутствовать (как и связанный с ним файл) либо иметь значение < - указатель переназначения консоли ввода.

Прием команды от оператора завершается при вводе символа возврата каретки (или УПР+M) или перевода строки (УПР+J).

Управляющие символы, вводимые вместе с текстом командной строки, сразу же обрабатываются интерпретатором команд.

До завершения ввода командной строки пользователь может исправить замеченные им ошибки в набранном тексте, используя следующие управляющие символы:

УПР+E - продолжить ввод командной строки с начала следующей строки экрана;

УПР+H - удалить последний введенный символ (клавиша DEL);

УПР+I - дополнить ввод пробелами до количества литер, кратного восьми;

УПР+R - повторный вывод отредактированной командной строки;

УПР+U - удалить набранную командную строку и переместить курсор в начало следующей строки экрана;

УПР+X - удалить текст командной строки и возвратить курсор в ее начало;

УПР+^ - удалить последнее введенное слово с экрана.

Обработанная интерпретатором и выполненная командная строка сохраняется в буфере консоли, поэтому в ответ на подсказку системы можно продолжить работу с прежней командной строкой. Для этого и служит команда УПР+W: она выведет на экран текущее содержимое буфера консоли, т. е. последнюю командную строку. После этого вновь вводимые символы будут добавляться к этой командной строке.

УПР+W восстанавливает содержимое буфера консоли, только если вводится сразу за приглашением системы, в любом другом случае МикроДОС воспримет этот приказ как обычную литеру!

УПР+D - утилита фонового выполнения резидентных команд. Если ввести ее в то время, когда транзитная программа ожидает ввода литер, последняя будет приостановлена МикроДОСом. После этого можно задать любую из резидентных команд МикроДОС; она будет выполнена и управление снова вернется к прерванной транзитной программе.

Транзитные команды

Транзитные команды реализуются специальными процедурами (программами), оформленными в виде файлов типа .СОМ или .SPR, и предназначаются для выполнения типичных операций над файлами (удаление, копирование, переименование и т. п.), а также копирования системных дорожек ГМД и форматирования.

Если программа, заданная для выполнения, является транзитной, то интерпретатор команд происводит ее загрузку в специальный раздел ОЗУ - область транзитных программ (ОТП). Если длина программы превышает размер ОТП, на экран выводится сообщение "Не хватает памяти", программа не выполняется и система переходит в ожидание. ввода новой командной строки (такое может случиться с "самодельной" транзитной программой).

В книге 22 (базовые программные средства ПК8020) документации к "Корвету" дается достаточно хорошее описание 10 транзитных команд, поставляющихся с КУВТом. Изучив их, попробуйте сделать себе рабочий диск. Для этого следует сначала отформатировать его командой FORMAT, затем скопировать на него операционную систему командой SYSGEN и необходимые утилиты (как резидентные, так и транзитные) командой COPY.

Знакомство с МикроДОС можно считать законченным.