МАЛОЕ ПРЕДПРИЯТИЕ "ХОРДА" СЕТЕВАЯ ОПЕРАЦИОННАЯ СИСТЕМА "КОРНЕТ" Руководство пользователя 589.ТИВС.00075 Каменск-Уральский, 1991 2 АННОТАЦИЯ В данном документе приведены сведения о работе в ло- кальной сети КУВТ на базе ПК 8020 под управлением сетевой операционной системы (СОС) "КОРНЕТ". Описаны особенности работы СОС "КОРНЕТ" и сервисных программ а также дано крат- кое описание операционной системы CP/M. 3 СОДЕРЖАНИЕ 1. Общие сведения о СОС "КОРНЕТ" ..........................4 2. Организация работы в локальной сети ....................5 2.1. Распределение дисковых устройств ....................6 3. Руководство оператора по СОС "КОРНЕТ" ..................8 3.1. Особенности резидентных команд ......................8 3.2. Работа в СОС "КОРНЕТ" на РМУ ........................9 3.3. Работа в СОС "КОРНЕТ" на РМП .......................10 3.4. Использование интерпретатора BASIC .................10 4. Сервисные программы ...................................11 4.1. Программа DISNET ...................................11 4.2. Программа SCREEN ...................................11 4.3. Программа FKEY .....................................11 4.4. Программа BOOT .....................................11 5. Руководство программиста по СОС "КОРНЕТ" ..............12 6. Справочная информация для системного программиста .....12 Приложение.............................................13 4 1. ОБЩИЕ СВЕДЕНИЯ О СОС "КОРНЕТ" Сетевая операционная система "КОРНЕТ" предназначена для работы в локальной сети КУВТ на базе ПЭВМ ПК 8020, как головной машины, и ПК 8010, как периферийных машин, объеди- ненных друг с другом локальной сетью по инструкции ПТ1.320.167ИМ. Сетевая ОС "КОРНЕТ" непосредственно управля- ет работой всей сети и обеспечивает доступ с рабочего места ученика (РМУ) к дисковым устройствам на рабочем месте пре- подователя (РМП). Сетевая ОС "КОРНЕТ" построена на основе широко распространенной ОС СР/М. Краткое описание ОС СР/М приведено в приложении. Сетевая ОС "КОРНЕТ" обеспечивает работу на РМУ ничем не отличающуюся от работы на РМП, что позволяет наиболее эффективно использовать аппаратные воз- можности КУВТ "КОРВЕТ". Система ОС "КОРНЕТ", как и ОС СР/М состоит из двух частей: резидентной (RESID - аналогично BIOS в СР/М) и обо- лочки (SHELL - аналогично BDOS в СР/М) и распологается в верхних адресах памяти. Резидентная часть RESID помимо ос- новных функций BIOS, выполняющих операции по обмену инфор- мации между процессором и устройствами ввода-вывода (клави- атура, экран вку, печатающее устройство, НГМД, "электронный диск"), дополнена функциями обмена по сети. Резидентная часть ОС находится постоянно в памяти компьютера. Оболочка SHELL обеспечивает взаимодействие пользовтеля с микро-ЭВМ, оно организует управление ресурсами системы, прежде всего файлами и обменом информации между различными периферийными устройствами. Оболочка по своим функциям пол- ностью соответствует BDOS ОС СР/М. Некоторые особенности встроеных команд оболочки SHELL описаны в п.3.1. 5 2. ОРГАНИЗАЦИЯ РАБОТЫ В ЛОКАЛЬНОЙ СЕТИ Организация работы ЛС "КОРНЕТ" принципиальным образом отличается от организации работы ЛС, применяемой ранее в КУВТ "КОРВЕТ", под управлением программы STS. Работа ЛС под управлением прогрммы STS направлена на использование КУВТ "КОРВЕТ" лишь для изучения различного учебного материала, подготовленного учителем, или програм- мирования на языке BASIC. ЛС "КОРНЕТ" позволяет использовать КУВТ "КОРВЕТ" как равноценные ПЭВМ, связанные друг с другом. Основные отличия ЛС под управлением программы STS и СОС "КОРНЕТ" приведены в таблице 1. ТАБЛИЦА 1 Основные отличия STS от СОС "КОРНЕТ" _____________________________________________________________ STS I СОС "КОРНЕТ" ____________________________I________________________________ 1. Инициатором обмена явля-I 1. Инициатором обмена является ется учитель (РМП). Он оп-I ученик. Он определяет что ему ределяет кому, что пере- I нужно загрузить с любого дис- дать и что принять. I ка. И может сохранить файл (в I своем разделе) на диске. 2. Для подключения РМУ к об-I 2. РМУ включается в процессе мену необходимо, чтобы РМУI обмена после передачи с РМП к моменту запуска STS былоI загрузчика и ОС. Возможен вы- включено. Программа самаI ход в режим встроенного BASIC определяет с какими РМУ I с программным отключением от вести обмен. I ЛС. 3. ЛС настроена на передачуI 3. На РМУ работают любые прог- файлов для интерпритатораI раммы, которые работают и на BASIC или специально под-I РМП. Ограничение - вывод на готовленных программ. I печать. 4. Для инициализации "элек-I 4. Формирование "электронного тронного диска" необходимаI диска" встроено в самой сис- специальная программа. I теме как на РМП,так и на РМУ. 5. Возможен прямой вывод ин-I 5. Реализован обмен только с формации на экран от РМП кI дисковым устройством. РМУ. I ____________________________I________________________________ Загрузка ОС "КОРНЕТ" на РМУ реализована программно, что позволяет расширить область применения класса, не ограничивая возможностей, предоставляемых программой STS. Загрузка ОС "КОРНЕТ" на РМУ выполняется после передачи с РМП загрузчика программой BOOT.COM. При этом на РМУ появляются соответствующие сообщения. В момент загрузки ОС на РМУ возможен выход во встроенный БЕЙСИК с программным отключением РМУ от ЛС. Отключение от ЛС необходимо для обеспечения помехоустойчивости РМУ, при работе во встроенном БЕЙСИКе. Для нового подключения к обмену необходимо нажать кнопку "СБРОС", или набрать команду БЕЙСИКа POKE &HFB29,&HE7, если хотите сохранить программу на БЕЙСИКе программой STS. После загрузки ОС операционная система определяет ло- гическое дисковое устройство (ЛДУ) за которым закреплено это место и выдает на экран промпт в виде: ЛДУ> где ЛДУ - буква от В до N (для РМУ). 6 2.1. Распределение дисковых устройств ОС "КОРНЕТ" поддерживает 16 логических дисковых уст- ройств, обозначаемых буквами латинского алфавита от A: до P:. Каждое логическое устройство доступно для чтения всем рабочим местам, а для записи только одному рабочему месту. Рабочее место, которому разрешена запись на данное дисковое устройство, является собственником этого дискового устройс- тва. Физические устройства А и В на РМП распределяются сле- дующим образом. Физическое устройство А совпадает с логическим устрой- ством А:, его собственником является РМП. Физическое устройство В разбивается на несколько логи- ческих устройств B:,C:,D:, и т.д. до N:, которые распреде- ляются между РМУ. Максимальное количество логических уст- ройств - тринадцать, что определяет максимальное количество РМУ в системе. Разбивка на логические устройства и опреде- ление их размера производится программой создания сетевого диска DISNET. Сетевой диск помещается в физическое устройс- тво В на РМП и должен находиться в нем постоянно во время работы ОС "КОРНЕТ". Логическое устройство О: представляет собой электрон- ный диск РМП. Оно становится доступным для РМУ после иници- ализации со стороны РМП. Если инициализация не производи- лась, обращение к устройству О: со стороны РМУ вызывает со- общение об ошибке выбора диска. Логическое устройство Р: представляет собой электрон- ный диск РМУ. Каждое РМУ имеет свое индивидуальное устройс- тво Р:, недоступное как другим РМУ, так и РМП. РМП логичес- кого устройства Р: не имеет. При работе с электронным диском необходимо учитывать следующие моменты. В зависимости от установленных микросхем размер электронного диска может быть 144 кБ или 48 кБ. В последнем случае в качестве электронного диска используется графическое ОЗУ. Поэтому программы, работающие с графичес- ким экраном (в частности BASIC и большинство игр), не до- пускают совместную работу с логическим устройством Р: ем- костью 48 кБ. Для определения емкости электронного диска необкодимо после выбора устройства Р: запустить программы STAT или PW STAT. Чтобы в процессе работы в ОС "КОРНЕТ" определить какое логическое устройство является собственным для данного РМУ, можно использовать несколько приемов. Во-первых, сразу пос- 7 ле загрузки системы собственное логическое устройство ста- новится текущим и отображается в промпте командной строки (например, F>). То же самое происходит при попытке выбора несуществующего логического устройства, скажем Z:. Заметим, что при отсутствии у рабочего места собственного логическо- го устройства, под отображаемым именем будет фигурировать логическое устройство А:, но запись на него будет запреще- на. Во-вторых, можно воспользоваться командами STAT или PW STAT. В этом случае в списке дисковых устройств, выводимых этими командами, собственное устройство будет обозначено как R/W (запись и чтение), тогда как остальные - R/O (толь- ко чтение). 7 Такое распределение двух физических дисковых устрой- ств, при котором каждое РМУ имеет свое логическое дисковое устройство, повышает эффективность класса в изучении работы компьютера в среде ОС. 8 3. РУКОВОДСТВО ОПЕРАТОРА ПО СОС "КОРНЕТ" Основные функции резидентных и транзитных утилит, ра- бота с командной строкой, работа с файлами аналогичны опи- санным в соответствующих пунктах руководства оператора по ОС МикроДОС, приведенном в ПТ.00550-01.90.01. При непра- вильно введенной командной строке ОС ставит знак вопроса и вновь переходит в ожидание ввода команды. Синтаксис резидентных утилит СОС "КОРНЕТ" аналогичен синтаксису резидентных утилит ОС CP/M, описанному в прило- жении. 3.1. Особенности резидентных утилит В ОС "КОРНЕТ" не реализована утилита USER. Ограничени- ем работы на РМУ является и утилита УПР-Р - вывод на пе- чать. Все остальные команды аналогичны приведенным в прило- жении, однако имеют некоторые особенности, облегчающие ра- боту. Команда DIR. Перед списком файлов выводит на экран со- общение: "Диск Х", где Х - имя дискового устройства. Команды TYPE и ЕRА. Если сразу после ввода команды на- жать клавишу <ВК>, на экран будет выведено сообщение: "Файл?", и система будет ожидать ввода имени файла для вы- вода на экран или удаления. Повторное нажатие клавиши <ВК> отменяет команду. Команда REN. В отличие от СР/М формат команды следую- щий: REN <старое имя файла> <новое имя файла>. Если сразу после ввода команды REN нажать <ВК>, система запросит: "Файл?" для ввода старого имени файла. После ввода имени файла и нажатия клавиши <ВК> выводится запрос: "Новое имя?" и ожидается ввод нового имени файла. Команда SAVE. Нажатие клавиши <ВК> сразу после ввода команды приводит к выдаче сообщения: "Блоков по 256 байт?", в ответ на которое необходимо ввести количество 256-байтных блоков, начиная с адреса 100Н. После нажатия <ВК> выводится запрос: "Файл?" и ожидается ввод имени файла, в котором нужно сохранить указанную область памяти. Для приостановки вывода на экран, наряду с комбинацией клавиш "CTRL/S", можно пользоваться клавишей <ПРОБЕЛ>. Каж- дое последующее нажатие клавиши <ПРОБЕЛ> приводит к выводу одной строки текста. Нажатие клавиши <ВК> вызывает вывод одной страницы текста. Любая другая клавиша возобновляет непрерывный вывод текста. Для прерывания работы команд DIR и TYPE используется клавиша <ПРФ>. Если при запуске транзитной программы перед ней не указано имя дискового устройства, система производит поиск файла с этой программой в следующей последовательности: - на текущем логическом устройстве, - на логическом устройстве А:, - на логическом устройстве О:. 9 3.2. Работа в ОС "КОРНЕТ" на РМУ Загрузка ОС "КОРНЕТ" на РМУ выполняется после передачи с РМП загрусчика программой BOOT.COM, РМУ при этом должно быть в режиме встроенного БЕЙСИКА. При нажатии клавиши "СТОП" загрузка системы прерывается, и вызывается встроен- ный интерпретатор BASIC. По окончании загрузки на экране появляется заголовок системы и, через несколько секунд, командный промпт в виде имени текущего дискового устройства и угловой скобки. В этом режиме система ожидает от пользователя ввода команды. Для выполнения дисковых операций система передает запрос по сети на РМП. При этом в правом верхнем углу экрана появля- ется сообщение "Обмен по сети" и вращающаяся черта, индици- рующая работу сети. Если черта не вращается, это говорит о том, что обмен данными в сети остановлен, вероятно, по ини- циативе РМП. В случае необходимости можно прервать сетевой обмен нажатием клавиши "СТОП". Это вызывает выдачу промпта и переход в режим ввода командной строки (за исключением случая передачи SHELL). При обнаружении ошибок в сетевых или дисковых операциях на экран выводится сообщение: "Ошиб- ка на диске (в сети), статус Х (I,R,A)?". Здесь возможны следующие реакции. Нажатие клавиши "R" приводит к попытке повторения операции, вызвавшей ошибку; клавиша "А" вызывает "теплый старт" системы; по клавише "I" сбрасывается признак ошибки и продолжается выполнение программы; и, наконец, клавиша "ПРФ" вызывает продолжение выполнения программы без сброса признаков ошибки. Ниже приводится описание возможных статусов ошибки. Ошибка на диске: статус 1 - потеря данных. Фатальная ошибка. Может потре- боваться полная перезагрузка системы. статус 2 - ошибка в контрольном коде. Попытайтесь повто- рить операцию с помощью клавиши "R". статус 4 - массив не найден. Возможно, испорчен диск. Ошибка в сети: статус 1 - аварийное прерывание сетевой операции по ини- циативе РМУ. статус 2 - аварийное прерывание сетевой операции по ини- циативе РМП. статус 3 - фатальная ошибка. Необходима перезагрузка системы на РМУ, и, возможно, на РМП. Примечание: С РМУ невозможно произвести распечатку файлов. Печать возможна только с РМП. 10 3.3. Работа в ОС "КОРНЕТ" на РМП Для загрузки ОС "КОРНЕТ" на РМП вставьте системный диск в устройство А, а сетевой диск в устройство В и нажми- те кнопку "Сброс". Если система обнаружит, что в устройстве В находится не сетевой диск, она выдаст сообщение: "Вставь- те в драйвер В сетевой диск и нажмите что-нибудь". После загрузки и выдачи командного промпта система переходит в режим обслуживания сети. При этом с периодом около 1 секун- ды производится опрос всех подключенных к сети РМУ, что сопровождается выводом сообщения "Опрос сети" в центральной части экрана. Если какое-либо РМУ требует обслуживания, на экран выводится сообщение: "Рабочее место Х: ... ", где Х - код рабочего места, а "..." - выполняемая операция или со- общение об ошибке. В сети могут выполняться следующие опе- рации: "Передача системы", "Передача SHELL", "Выбор диска" и "Обмен с диском". В случае невозможности обмена с ка- ким-либо РМУ выдается сообщение об ошибке: "Плохой канал связи". Сетевые операции могут быть приостановлены, если нажать одновременно клавишу "УПР" и левую и правую клавиши "РГ" и не отпускать до прекращения выдачи на экран сообще- ний о сетевом обмене. Восстановление сетевого режима произ- водится одновременным нажатием левой и правой клавиш "РГ". 3.4. Использование интерпретатора BASIC. При необходимости использования на уроке интерпретатора BASIC, необходимо из базового программного обеспечения скопировать на дискету с СОС "КОРНЕТ" интерпретатор BASIC версии 2.0 и перед запуском интерпретатора настроить клавиатуру при помощи программы FKEY, используя в качестве аргумента файл BASIC.KEY. Аналогично используются пакет программ СУПЕРТЕКСТ. 11 4. СЕРВИСНЫЕ ПРОГРАММЫ Для организации работы в ЛС, перенастройки драйверов экрана и определений функциональных клавиш имеются соответ- ствующие сервисные программы. 4.1. Программа DISNET Программа создания сетевого диска (В:) DISNET. Прог- рамма предназначена для распределения логических устройств между рабочими местами и определения размера каждого уст- ройства. Она выводит на экран таблицу рабочих мест, соот- ветствующих им логических устройств, размер каждого устрой- ства и размер свободного пространства на диске. После этого в режиме диалога можно назначить каждому рабочему месту ло- гическое устройство и задать его размер. Для удобства рабо- ты рекомендуется, чтобы имена рабочего места и логического устройства совпадали. По окончании распределения информацию необходимо записать на диск с помощью клавиши "W". 4.2. Программа SCREEN Программа установки режима экрана SCREEN. Программа предназначена для перевода экрана в графический режим с отображением 25 строк по 85 символов и возврата в нормаль- ный режим работы (16 строк по 64 символа). Для включения графического режима используется команда SCREEN 25, для выключения - SCREEN 16. При запуске программы SCREEN без параметров на экран выводится подсказка о способах ее ис- пользования. Заметим, что при работе в режиме графического экрана на рабочем месте отсутствует логическое устройство P:. Программа SCREEN работает только на РМУ. 4.3. Программа FKEY Программа переопределения функциональных клавиш FKEY. Программа присваивает новые значения функциональным клави- шам F1...F10 и клавишам дополнительной клавиатуры. Значения записаны в файле с расширением KEY. Для запуска программы введите FKEY <имя файла>. С программой поставляются 3 фай- ла: - SY.KEY - значения клавиш для ОС "КОРНЕТ"; - ST.KEY - значения клавиш для программы Супер Текст; - BASIC.KEY - значения клавиш для интерпретатора BASIC и системы МикроДОС. 4.4. Программа BOOT Программа BOOT предназначена для передачи на РМУ начального загрузчика ОС "КОРНЕТ". РМУ при этом должны быть в режиме встроенного БЕЙСИКа. Для запуска программы введите на РМП команду : А>BOOT Процессы передачи загрузчика и ОС отображаются на экране РМП соответствующими сообщениями. Выход в ОС осуществляется по окончании передачи, в режиме "опрос сети", нажатием любой клавиши. 12 5. РУКОВОДСТВО ПРОГРАММИСТА ПО СОС "КОРНЕТ" Руководство программиста по СОС "КОРНЕТ" в основном соответствует руководству программиста по ОС МикроДОС, при- веденному в ПТ00550-01.90.01 (раздел 5) за исключением опе- раций расширенной базовой дисковой операционной системы (п.5.2.2.). 6. СПРАВОЧНАЯ ИНФОРМАЦИЯ ДЛЯ СИСТЕМНОГО ПРОГРАММИСТА Справочная информация системного программиста приведе- на в ПТ00550-01.90.01 (раздел 6), за исключением: - описание монитора ЛВС и его работы в пунктах п.6.2.1.1, п.6.2.1.2 (ЛС), п.6.2.2.1 (ЛС), п.6.4.2 (ЛС); - описания конкретных адресов для интерфейса БСВВ ОС МикроДОС в п.6.2.4; - функции инициализации в п.6.2.4.1; - системных сообщений МикроДОС в п.6.2.4.4. 13 ПРИЛОЖЕНИЕ 1. Краткое описание операционной системы СР/М Операционная система СР/М создана в 1975г. Г.Килдэлом, который в 1976г. организовал фирму Digital Research. С того времени ОС СР/М стала одной из наиболее популярных и широко используемых операционных систем и считается многими "как промышленный стандарт", поскольку она была применена многи- ми производителями микро-ЭВМ и обеспечивает работу букваль- но сотен различных прикладных программ, созданных разработ- чиками программного обеспечения микро-ЭВМ. Популярность ОС СР/М объясняется простотой принципов ее работы, наличием простого и компактного набора команд, а также исключительной гибкостью в адаптации к различному пе- риферийному оборудованию. В ОС СР/М существует два типа команд: встроенные ко- манды и транзитные команды. Встроенные команды являются частью операционной системы СР/М и постоянно хранятся вмес- те с ней в одной и той же области памяти. Транзитные прог- раммы команд - это те, которые всегда хранятся на диске в виде командных (СОМ) файлов, т.е. для использования ка- кой-либо транзитной команды необходимо наличие соответству- ющего файла с транзитной командой. В ОС СР/М имеется набор специальных команд "управляю- щих символов", которые используются в основном для редакти- рования командных строк. Описания резидентных и основного набора транзитных команд приведены ниже. Назначение команд управляющих символов такое же как и в ОС МикроДос. 1.1. Резидентные команды DIR [dev:][filename.ext] - показ оглавления диска. В имени файла разрешается употреблять шаблоны "?" и "*". (Kлавиша F1) REN [dev:]newname.ext=[dev:]oldname.ext - переименование файла. (Клавиша F4) ERA [dev:]filename.ext - удаление файла (группы файлов при использовании в имени шаблонов). (Клавиша F3) TYPE [dev:]filename.ext - вывод содержимого файла на консоль. (Клавиша F2) SAVE length filename.ext - сохранить указанное число страниц оперативной памяти (размер страницы - 256 байт) в указанном файле. (Клавиша F8) USER x - установить текущей область пользователя с номером "x" ( где "x" равно от 0 до 15 ). 14 1.2. Транзитные команды 1.2.1. STAT - программа выдачи состояния или характеристики ___________________________________________________________ Параметры запуска: STAT [dev:] - вывод на консоль объема свободного пространства и статуса защиты диска (либо всех дисков, если параметр опущен). STAT filemane.ext - вывод на консоль характеристик указанных файлов. В имени разрешается употреблять шаблоны "?" и "*". STAT filename.ext $R/O - установка и снятие статуса защиты STAT filename.ext $R/W файла или группы файлов (при ис- пользовании шаблонов в имени). STAT filename.ext $SYS - установка и отмена атрибута "сис- STAT filename.ext $DIR темный" для файла или группы файлов STAT USR: - вывести номер текущей области пользователя и номера всех непустых (содержащих файлы) облас- тей пользователя. STAT [dev:] DSK: - выдача на консоль характеристик диска: 128 Byte Record Capacity - емкость диска в записях по 128 байт Kilobyte Drive Capacity - емкость диска в килобайтах 32 Byte Directory Entries - количество входов в директории Checked Directory Entries - (обычно совпадает с предыдущим значением) Records / Extent - число записей в одном экстенте Records / Block - число записей в блоке (квант дисковой паяти) Sectors / Track - количество секторов на дорожке Reserved Tracks - количество зарезервированных дорожек. STAT DEV: - выдача на консоль назначений устройств. STAT VAL: - вывод всех возможных имен устройств и других возможных параметров команды STAT. STAT log:=pfy: - Назначить физическое устройство "pfy:" ло- гическому устройству "log:", где допустимы- ми назначениями являются: Лог. устройство Физ.устройство CON: = TTY:, CRT:, BAT: или UC1: RDR: = TTY:, PRT:, UR1: или UR2: PUN: = TTY:, PRT:, UP1: или UP2: LST: = TTY:, CRT:, LPT: или UL1: 15 1.2.2. PIP - программа обмена с периферийными устройствами __________________________________________________________ Параметры запуска: PIP - загрузка программы PIP в оперативную память и переход в режим диалога. PIP a:=b:filename.ext - копирование файла (файлов) с диска "b:" на диск "a:" (возможно использование шаблонов "?" и "*"); PIP a:newfile.ext=b:oldfile.ext - копирование с диска "b:" на диск "a:" с изменением имени файла "oldfile.ext" на "newfile.ext"; PIP a:newfile.ext= - копирование с диска "b:" на диск "a:" b:old1.ext, с объединением файлов "old1.ext", old2.ext, "old2.ext" и "old3.ext" в файл old3.ext "newfile.ext"; PIP dev:=a:filename.ext - копирование файла "filename.ext" с диска "a:" на устройство "dev:"; PIP a:filename.ext=dev: - копирование файла "filename.ext" на диск "a:" с указанного устрой- ства до ввода ^Z. Дополнительные параметры команды PIP (пишутся в конце командной строки в квадратных скобках): [V] - проверить правильность копирования путем сравнения ре- зультирующего и исходного файлов; [E] - отображать копируемый файл на консоли; [Sstring^Z] - начать копирование после того, как в исходном файле будет обнаружена строка "string"(строку завершает ^Z); [Qstring^Z] - завершить копирование после того, как в исходном файле будет обнаружена строка "string" (строку завершает ^Z); [L] - преобразовать в процессе копирования все символы верхнего регистра в символы нижнего регистра; [U] - преобразовать в процессе копирования все символы нижнего регистра в символы верхнего регистра; 16 [Dn] - удалять в процессе копирования в каждой строке все символы, расположенные после позиции с номером n; [Tn] - преобразовать в процессе копирования все символы табуляции кода ASCII в n пробелов; [F] - удалить в процессе копирования все символы перевода формата; [Pn] - вставить через каждые n строк в процессе копирования символы перевода формата; [N] - дополнить в процессе копирования строки соответству- ющими порядковыми номерами без ведущих нулей; [N2] - дополнить в процессе копирования строки соответству- ющими порядковыми номерами с ведущими нулями; [R] - копировать "системный" файл (определенный с помощью команды STAT); [W] - удалить файл со статусом защиты "R/O" ( устанавлива- ется с помощью команды STAT ), имеющего то же имя, что и выходной файл; [Gn] - копировать файл (файлы) из области пользователя с номером "n" ( от 0 до 15 ) в файл, расположенный в текущей области пользователя; [O] - рассматривать содержимое копируемого файла (файлов) как объектный (машинный) код; [B] - установить блочный режим копирования; [H] - использовать 16-чный формат фирмы Intel при передаче данных на (с) устройство, работающее в режиме "только вывод" ("только ввод"); [I] - при передаче в 16-чном формате фирмы Intel игнорировать все нулевые (NULL) записи; [Z] - в процессе копирования символов в коде ASCII устанавливает бит четности в 0. 17 1.2.3. SUBMIT - запуск на выполнение командного файла _____________________________________________________ Параметры запуска: SUBMIT filename a b c ... - запуск на выполнение командного файла "filename" (с расширением "SUB") с предвари- тельной заменой в тексте параметров: "$1" - значением "a" "$2" - значением "b" "$3" - значением "c" и т.д. 1.2.4. XSUB - расширение программы "SUBMIT" ___________________________________________ Эта команда размещается в командных файлах ( с расшире- нием ".SUB" ) для передачи команд и данных другим програм- мам, которые запущены на выполнение программой "SUBMIT". Самостоятельно эта команда не используется. 1.2.5. DUMP - программа вывода файла в шестнадцатеричном формате ________________________________________________________ DUMP filename.ext - вывести в шестнадцатеричном формате содержимое файла с машинным кодом. 1.2.6. LOAD - программа создания "COM" файлов _____________________________________________ LOAD filename.HEX - Преобразовать объектный код из файла "filename.HEX", созданный программой "ASM", в исполняемый машинный код и за- писать его в файл "filename.COM" 18 1.2.7. ASM - ассемблер для микропроцессора Intel 8080 _____________________________________________________ ASM filename.123 - ассемблировать исходный файл ( с расширением ".ASM" ). При этом дополни- тельные параметры "123" трактуются сле- дующим образом: "1" - в данной позиции указывается имя диска, на котором находится ис- ходный файл; "2" - в данной позиции указывается имя диска, на который необходимо за- писать результирующий файл с объ- ектным кодом (файл с расширенрием ".НЕХ") или символ "Z", если вы- вод файлас объектным кодом необ- ходимо запустить; "3" - в данной позиции указывается имя диска, на который необходимо за- писать результирующий файл печати (файл с расширением ".PRN"), или символ "Х", если отчет об ассемб- лировании необходимо вывести на консоль. 1.2.8. ED - строчный текстовый редактор _______________________________________ ED filename.ext - загрузить программу "ED" в ОЗУ и от- крыть файл "filename.ext" для создания и/или редактирования. Команды программы "ED": nА Добавить "n" строк текста из исходного файла в буфер 0А редактирования ("nА" до тех пор, пока буфер не будет #А заполнен на половину ("0А") или полностью ("#А"); I Вставлять текст до тех пор, пока не будет получена команда УПР/Z; Itext Вставить указанный текст и остаться в режиме вставки Itext^Z Вставить указанный текст и выйти из режима вставки; U Установить ("U") или отменить ("-U") преобразование символов в коды верхнего регистра; nC Переместить указатель CP на "n" символов вправо ("nC") -nC или влево ("-nC"); nL Переместить указатель CP на "n" строк вправо ("nL") или -nL назад ("-nL"). V Вывести "V" или прекратить вывод "-V" номеров строк. -V 19 n: Переместить указатель CP на строку с номером "n:"; B Переместить указатель CP в начало (B) или в конец (-B) -B буфера; Т Вывести текст, расположенный в текущей строке до (T) 0Т или после (0T) указателя CP, или всю строку полностью 0ТТ (0ТТ); nT Вывести "n" строк, расположенных после ("nT"), до -nT ("-nT") указателя СР, или все строки, расположенные #T после ("#T") или до ("-#T") указателя CP; -#T nP Переместить указатель CP на "n" страниц вперед ("nP") -nP или назад ("-nP") и вывести текст; nD Удалить "n" символов, расположенных в текущей строке -nD после ("nD") или до ("-nD") указателя; nK Удалить "n" строк, расположенных после ("nK") или до -nK ("-nK") позиции указателя; F text^Z Найти в буфере строку "text" ("Ftext^Z") или nF text^Z найти в буфере "n"-е вхождение строки "text" ("nFtext^Z"). Для завершения строки "text" необ- ходимо использовать команду УПР/Z; N text^Z Аналогична предыдущей за исключением того, что nN text^Z здесь при необходимости выполняется автоматичес- кая загрузка текста из исходного файла; S find^Zreplace^Z Найти в буфере строку "find" и заменить nS find^Zreplace^Z ее строкой "replace". Выполнить команду поиска-замещения "n" раз. Символы "^Z" обозначают команду УПР/Z; J find^Zinsert^Zend^Z Найти в буфере строку "find", вста- вить после нее строку "insert" и уда- лить расположенный далее текст вплоть до строки "end"; nJ find^Zinsert^Zend^Z Выполнить операцию поиска-сцепления "n" раз. Символы "^Z" обозначают ко- манду УПР/Z; nM commands Выполнить "n" раз последовательность команд "commands"; ОV Определить размеры свободного и занятого прос- транства в буфере; 20 W Записать из буфера редактирования во временный nW файл первую ("W") или "n" первых ("nW") строк; 0W Записать из буфера редактирования во временный #W файл половину ("0W") или все ("#W") строки; nX Записать "n" строк (начиная с текущей) из буфе- ра во временный библиотечный файл; R Записать в буфер редактирования полное содержи- мое временного библиотечного файла (созданного по команде "nX"); Rfilename Записать в буфер редактирования содержимое биб- лиотечного файла "filename" (с расширением ".LIB"); H Записать результаты редактирования в выходной файл без завершения работы программы "ED"; E Завершить работу программы "ED" (вернуть управ- ление ОС СР/М) и сохранить результаты редакти- рования в выходном файле; О Очистить буфер редактирования и выходной файл без завершения работы программы "ED"; Q Завершить работу программы "ED" (вернуть управ- ление ОС СР/М) и очистить буфер и выходной файл; 1.2.9. MOVCPM - программа настройки ОС СР/М на использование указанного объема ОЗУ ____________________________________________________________ MOVCPM Настроить ОС СР/М на использование всей доступной оперативной памяти и передать ей управление; MOVCPM nn Настроить ОС СР/М на использование "nn" килобайт оперативной памяти и передать ей управление; MOVCPM * * Настроить ОС СР/М на использование всей доступной оперативной памяти и подготовить ее к записи в файл; MOVCPM nn * Настроить ОС СР/М на использование "nn" килобайт оперативной памяти и подготовить ее к записи в файл. 21 1.3. Структура операционной системы СР/М. Операционная система CP/M-80 версии 2.2 состоит из трех системных модулей: CCP ( Consol Command Processor - процессор команд консоли), BDOS ( Basic Disk Operating System - базовая дисковая операционная система ) и BIOS (Basic Input Output System - базовую систему ввода-вывода). BDOS и CCP - аппаратно-независимые компонен- ты ОС. При постановке ОС на конкретную ЭВМ изменяется толь- ко одна компонента ОС - BIOS. Положение компонент CP/M-80 в адресном пространстве компьютеров показано на рис.1 . __________________ 0FFFFH I I I ВIOS I I I I__________________I XXXXH+1600H I BDOS I I__________________I XXXXH+0806H I CCP I I__________________I XXXXH I I I I I T P A I I I I I I__________________I 0100H I Базовая страница I I__________________I 0000H Рис. 1. CCP обеспечивает интерфейс между пользователем и ОС в режиме диалога с ОС. Он осущестляет чтение и интерпретацию команд пользователя. CCP при работе использует функции BDOS. При "теплом" старте CCP перезагружается, поэтому прог- раммы пользователя могут использовать область памяти , за- нимаемую CCP. Нижняя граница CCP определяется конкретной реализацией ОС. Этот адрес можно косвенно определить из ад- реса начала BDOS, поскольку известен размер этого модуля для каждой версии CP/M. В CP/M-80 v. 2.2 CCP занимает 806H байт. BDOS содержит ряд функций ОС , используемых прикладны- ми программами и CCP. В частности, BDOS обеспечивает работу с файлами , устройствами ввода-вывода и ряд других функций. Фактически BDOS стандартизует интерфейс между логическими устройствами и прикладной программой. BDOS при работе ис- пользует функции BIOS. 22 Нижняя граница BDOS располагается сразу за CCP. При "теплом" старте область BDOS перезагружается, поэтому прог- рамма пользователя, если не используются функции BDOS, мо- жет использовать область памяти, занимаемую BDOS. Можно оп- ределить адрес начала BDOS, поскольку известно, что по ад- ресу 5 находится команда перехода к BDOS ( в ячейках 6 и 7 находится адрес начала BDOS ). Отметим, что большинство программ не разрушают BDOS и по ячейкам 6 и 7 определяют верхнюю границу памяти, используемую для транзитных прог- рамм. BIOS является аппаратно-зависимой компонентой ОС и обеспечивает интерфейс BDOS с устройствами ввода-вывода (дисплеем, принтером, дисками, и т.д.). BIOS включает в се- бя ряд драйверов физических устройств с оговоренным прог- раммным интерфейсом, таблицу переходов к функциям BIOS, таблицы, описывающие характеристики дисковых устройств и некоторую зарезервированную область памяти, которую исполь- зует BDOS при выполнении своих функций. BIOS, в отличии от CCP и BDOS, при "теплом" старте не перезагружается, в памяти находится резидентно, поэтому пе- рекрытие программ пользователя с областью BIOS не допусти- мо. Нижнюю границу BIOS можно определить из содержимого ячеек 1 и 2, поскольку по адресу ноль находится команда пе- рехода "теплого" старта ( функция 1, а BIOS начинается с команды перехода функции 0 ). Программистам, использующим в своих программах аппа- ратные особенности компьютера (прерывания, графику и т.д.), необходимо ознакомится с особенностями построения BIOS. TPA ( Transient Programm Area ) в операционнoй системе CP/M-80 начинается с адреса 100H. Конец ее определяется нижней границей BIOS. В эту область ОС загружает прикладные программы и транзитные (загружаемые) команды ОС ( PIP, STAT и др.). Базовая страница содержит некоторую служебную информа- цию, команды переходов функций "теплого" старта и BDOS, бу- фер обмена данными с дисковыми накопителями устанавливаемый по умолчанию и область памяти для двух блоков управления файлами.