ПРОГРАММНОЕ ОБЕСПЕЧЕНИЕ БК-0011M ОПЕРАЦИОННАЯ СИСТЕМА ОС БК-11 ВЕРСИЯ 4.1 Руководство пользователя Саяпин А.А. Москва 1994 - 2 - 1. Краткая характеристика и отличия системы 1.1. История развития Первый вариант ОС БК-11 (версия 1.0) был разработан для БК0011 с драйвер-мониторной системой (ДМС) на базе операционной системы RT-11SJ V 5.02 фирмы DEC. С появлением в составе БК0011 ПЗУ базовой операционной системы (БОС) была выпущена версия 1.1, являющаяся аналогом версии 1.0. Заменен был только внутренний вызов вывода символа на формат БОС. Недостатком этих версий является прямой ввод с регистров клавиатуры (минуя ПЗУ), что не давало возможности перекодировки символов, вводимых с клавиатуры и затрудняло использование программ, разработанных для дисплея VT-52 (15-ИЭ-00-13). Следующим шагом явилась разработка авторами БОС и ПЗУ КНГМД Саяпиным А.А. и Удинцевым В.Г. версии 2.0 (2.1). Эта версия осуществляла ввод запросами БОС. Другим отличием была замена в обработке макрокоманды PRINT цепочки вызовов .TTYOUT на вызов функции БОС .BPRINT, что повысило скорость вывода на экран символьной информации. Существовали также отличия в обработке управляющих символов CTRL/S, CTRL/O (см. ниже). Кроме этого, в связи с появлением механизма вызова функций БОС через JSR, из обработчика ЕМТ ОС БК был исключен механизм вызова БОС через ЕМТ. В версии 2.3 появилась возможность полного использования оперативной памяти БК-0011М путем хранения копии KMON, USR и SWAP.SYS в ОЗУ, что существенно сокращает число обращений к системному диску. Особенно заметно убыстрение работы программ, занимающих большой объем памяти и требующих свопинга USR. Кроме этого, в связи с появлением ряда прикладных программ, разработанных для версии 1.1, был вновь включен механизм вызовов БОС через ЕМТ Наконец, весной 1991 года теми же авторами была разработана версия 4.0 на базе RT-11SJ V5.04. Разрыв в нумерации связан со слухами о появлении версии 3.0, к которой эти авторы не имеют отношения. В версию 4.0 введен автоповтор клавиатуры, осуществляемый через таймер, усовершенстованы драйверы и утилиты, добавлен ряд новых. В дальнейшем авторы разработали универсальную настраиваемую оболочку IC. Окончательная ее версия 1.0 подсказала пути совершенствования ОС БК-11. В версии V4.1 учтены особенности работы с мышкой и локальной сетью, расширен набор драйверов. - 3 - 1.2. Монитор операционной системы Данный подраздел предназначен для квалифицированных программистов и пользователей БК-0011. Отличия монитора от стандартной RT-11 V 5.04 в основном те же, что и версии 1.0: отсутствие кольцевого буфера вывода и вытекающие отсюда последствия, блокировка вывода и ввода по CTRL/S. Основным же отличием является возможность использования расширенного ОЗУ БК-0011. Операционная система может работать в двух режимах: стандартном, в котором для считывания копий KMON и USR, а также для свопинга используются обращения к системному диску, и "виртуальном", когда для этих целей используются скрытые страницы ОЗУ. В виртуальном режиме также не обязательно наличие файла SWAP.SYS. Однако при использовании программ, разработанных специально для БК-0011 и использующих скрытые страницы для своих нужд, необходимо перейти к стандартному режиму. Для переключения режимов работы ОС используется утилита SETSWP (см. ниже). При загрузке ОС определяет наличие на системном дискe файла SWAP.SYS и в случае его отсутствия включает виртуальный режим работы. Монитор использует страницы 0, 1, 2 для работы в стандартном режиме, а также 3,4, и 6 для виртуального режима. Страница 5 используется в качестве экранной. Для обращения к скрытым страницам монитор использует запрос .BMOVE БОС. Так как клавиатура БК-0011 выдает нестандартные коды управляющих клавиш, и в связи с этим БОС осуществляет перекодировку клавиш, изменены некоторые управляющие коды, применяемые в RT-11. СУ/О (и клавиша "ЛАТ") является обычным символом и всегда передается по .TTYIN (если драйвер клавиатуры работает в коде КОИ-7). В обычном режиме терминала (с эхопечатью) символ не отображается в виде ^O, а непосредственно пересылается драйверу экрана, переключая экран на латинский регистр. То же самое относится и к СУ/N (клавиша "РУС"). СУ/Е применяется вместо прежней СУ/О для отмены вывода на экран. Однако в спецрежиме терминала СУ/Е (код 5) символ пересылается в буфер ввода и не вызывает отмены вывода. СУ/S в спецрежиме также вводится как символ, а в режиме эхопечати первое нажатие СУ/S приостанавливает вывод и ввод, второе нажатие СУ/S продолжает вывод (действует как СУ/Q). Это позволяет пользоваться клавишей "ВС" как стоп-кадром. Резидентный монитор в отличие от RT-11 не маскирует старший бит вводимого байта. Команда TYPE позволяет теперь просматривать файлы в КОИ-8. Стандартным режимом ввода является КОИ-7, стандартным режимом вывода - смешанный КОИ-7 и КОИ-8. Однако режимы ввода и вывода могут быть изменены с помощью драйвера SE. - 4 - 2. Драйверы и утилиты 2.1. SETSWP - программа переключения режимов монитора SETSWP обеспечивает переключение режима работы монитора со стандартного на виртуальный и обратно, а также определение текущего режима. После запуска программа определяет соответствие версии загруженного монитора, затем выводит свою подсказку и ожидает ввода команды. Командами для SETSWP могут быть: MEMORY (можно сокращать до М) - переключить режим на виртуальный; DISK (D) - переключить режим на стандартный. Клавиша "ВК" - определить текущий режим. При переключении на виртуальный режим SETSWP переписывает в скрытые страницы ОЗУ KMON и USR, устанавливает признак виртуального режима и переименовывает файл SY:SWAP.SYS на SWP.SYS. При переключении на стандартный режим SETSWP устанавливает признак стандартного режима, затем, если на системном диске есть файл SWP.SYS, то он переименовывается в SWAP.SYS, если нет, то SWAP.SYS создается на свободном месте системного диска. 2.2. BY - драйвер системного диска Драйвер версии 3.3, кроме некоторых тонкостей работы с таймером, отличается своим оригинальным методом задвигания головок. Во-первых, головки задвигаются на всех приводах, во-вторых, отсутствует эффект пропадания символов, когда идет ввод с кла- виатуры в момент задвигания головок. При этом возникает звуковой эффект постукивания, и если вы не сможете с ним смириться, то достаточно изменить программой DESS содержимое одной ячейки в файле BY.SYS и головки задвигаться не будут. Байт 1240 содержит номер дорожки на которую задвигаются головки. Стандартгое значение 121 ,или 81. Установите значение 377 , или -1. и операция задвигания будет пропущена. Управление драйвером осуществляется с помощью команд SET BYn PARAM, где n - возможный номер привода. Ниже приведен список обрабатываемых SET-параметров. SET BY RETRY=N - устанавливает число повторов при ошибках для обоих приводов. Максимальное число повторов - 40. SET BY TIMTRK=N - устанавливает для обоих приводов время задержки перемещения головки в миллисекундах. Максимальное время - 50 мс. SET BY TIMDOW=N - устанавливает для обоих приводов время задержки при опускании головки в миллисекундах. Максимальное время - 50 мс. - 5 - SET BY TRKCOR=N - устанавливает для обоих приводов дорожку прекоррекции. SET BYn TRACKS=N -устанавливает для выбранного привода число используемых дорожек. Максимальное число дорожек - 80. SET BYn ONESID -устанавливает для выбранного привода признак обработки одной стороны диска. Параметр NOONESID отменяет этот признак. SET BYn SKIP - устанавливает для выбранного привода признак пропуска дорожек при перемещении головки. Используется при обработке 40-дорожечных дисков на 80-дорожечных дисководах. Параметр NOSKIP отменяет этот признак. SET BYn FORMAT - вызывает для выбранного привода программу форматирования. По умолчанию форматируются дорожки от 0 до TRACKS-1. Программа после запуска выдает запрос на установку диска в выбранный привод, в ответ на который необходимо нажать клавишу "ВК" для начала форматирования или "КТ" для отмены. Кроме этого, для экстренного прекращения форматирования можно нажать "КТ". После форматирования отформатированные дорожки проверяются. SET BYn VERIFY - вызывает для выбранного привода программу проверки. По умолчанию проверяются дорожки от 0 до TRACKS-1. Программа после запуска выдает запрос на установку диска в выбранный привод, в ответ на который необходимо нажать клавишу "ВК" для начала проверки или "КТ" для отмены. Кроме этого, для экстренного прекращения проверки можно нажать "КТ". В случае нахождения ошибок программы выдает на экран диагностику ошибок. Условные обозначения кодов ошибок: OK - норма CRC - защита записи или ошибка CRC CCID - ошибка CRC заголовка NHOM - нет 0 дорожки SEEK - ошибка позиционирования SNFN - сектор не найден STOP - диск не вращается TR4 - прерывание по вектору 4 NFAM - не найден маркер заголовка NFDM - не найден маркер данных NSTD - нестандартная разметка Следует отметить, что диагностируется только первая встреченная ошибка на каждой дорожке. SET BY FROM=N - используется только совместно с параметрами FORMAT или VERIFY и задает дорожку, с которой необходимо начать форматирование или проверку. По умолчанию равен 0. SET BY TO=N - используется только совместно с параметрами FORMAT или VERIFY и задает дорожку, на которой необходимо закончить форматирование или проверку. По умолчанию равен TRACKS-1. - 6 - SET BY UP - используется только совместно с параметрами FORMAT или VERIFY и задает форматирование или проверку только с верхней стороны. SET BY DOWN - используется только совместно с параметрами FORMAT или VERIFY и задает форматирование или проверку только с нижней стороны. Следует отметить, что параметры TRACKS, RETRY, TIMTRK, TIMDOW, TRKCOR, ONESID, SKIP, заданные в одной строке с FORMAT или VERIFY, действуют только при форматировании или проверке и не влияют на текущие параметры драйвера. 2.3. SE - драйвер настройки экрана и клавиатуры Драйвер SE объединил функции драйверов TV, KB, FS. Для управления драйвером используются следующие команды SET: SET SE HELP - выдать подсказку о допустимых командах SET; SET SE WIDTH=N - устанaвливает ширину экрана (количество символов в строке). N может принимать значения 32, 64, 80. SET SE TVKOI7 - вывод в КОИ-7; SET SE TVKOI8 - вывод в КОИ-8; SET SE TVKO78 - вывод в КОИ-7 и КОИ-8; SET SE TVMIX - вывод в КОИ-7Н2; SET SE JUMP - сдвиг экрана вверх скачком; SET SE SMOOTH - плавный сдвиг; SET SE INVERS - инверсное изображение, NOINVERS отменяет инверсное изображение; SET SE CURSOR - отображение курсора, NOCURSOR запрещает отображение курсора; SET SE AWRAP - задает автоматический перенос строк при достижении конца строки, NOAWRAP задает обрезание строк; SET SE ULINE - подчеркивание символов, NOULINE отменяет подчеркивание; SET SE BCOLOR=N - задает цвет фона. В черно-белом режиме (WIDTH 64 и 80) N может быть 0 или 1, при этом цвет символов устанавливается инверсным по отношению к фону. В цветном режиме N может быть от 0 до 3. SET SE FCOLOR=N (N=0..3)- цвет символов (только для 32 сим.); SET SE PALET=N (N=0..15)- номер палитры; SET SE BCURS - курсор в виде прямоугольника; - 7 - SET SE UCURS - подчеркивающий курсор; SET SE TVRES - установить режим, заданный предыдущими командами SET. Может быть полезна для установки режима после прикладных программ, изменивших режим работы экрана; SET SE KBKOI7 - ввод в КОИ-7; SET SE KBKOI8 - ввод в КОИ-8; SET SE KBMIX - ввод в КОИ-7Н2; SET SE CLICK- разрешить щелчок клавиатуры при нажатиях на клавиши, NOCLICK запрещает щелчок. SET SE VT52 - задает режим работы с перекодировкой управляющих клавиш в коды, совместимые с кодами терминала VT-52, NOVT52 запрещает перекодировку. SET SE KBRES - установить текущий режим. SET SE FSON [FSOFF] - включение/выключение эмулятора расши- ренной арифметики. Установленные параметры SET действительны и после перезагрузки системы (кроме FSON, HELP). В Н И М А Н И Е : если драйвер загружен командой LOAD SE , то можно включить режим клавиатуры QWERTY (как на IBM). Переключа- ется режимы нажатием клавиш: АР2/СУ/R - режим клавиатуры ЙЦУКЕН АР2/СУ/Q - режим клавиатуры QWERTY 2.4. LP - драйвер печатающего устройства SET LP IRPR - используется с принтером ROBOTRON, а также с другими принтерами, работающими в коде КОИ-7 по стандарту ИРПР. SET LP CENTR - используется с принтерами, МС-6313, CPF-H80 D-100М, EPSON и др., работающими по стандарту CENTRONICS. В этом режиме производится перекодировка русских букв и псевдографики БК-0011 в коды принтера. SET LP TRANSL - используется с EPSON-совместимыми принтерами, работающими в кодах IBM-совместимых компьютеров. В этом режиме производится перекодировка русских букв и псевдографики БК-0011 в коды принтера. SET LP WIDTH=N - установить ширину печати в N символов. SET LP CR - разрешить передачу на печать символов CR, NOCR запрещает передачу CR. SET LP CTRL - разрешить передачу на печать управляющих символов, NOCTRL запрещает эту передачу. SET LP ENDPAG=N - после печати файла N раз перевести формат. - 8 - SET LP BIT8 - разрешить печать 8-битных кодов, NOBIT8 вызывает маскирование старшего бита. SET LP FORM - аппаратный перевод формата, NOFORM задает имитацию символами LF). SET LP LENGTH=N - задать длину страницы в N строк. SET LP SKIP=N - в конце страницы пропустить N строк. SET LP KOI7 - вывод на принтер в коде КОИ7. SET LP KOI8 - вывод на принтер в коде КОИ8. SET LP LITTLE - разрешить печать строчных букв, NOLITTLE задает преобразование из КОИ7-Н0 в КОИ7-Н2, что необходимо для печати листингов MACRO, PASCAL и т.д. SET LP BLANK=N - в начале каждой строки печатать N пробелов. SET LP PAGE - задает режим печати страницами. После печати драйвер выдает на экран запрос "Page?" и ожидает нажатия клавиши. Нажатие клавиши "N" приводит к пропуску следующей страницы, нажатие "Е" к завершению текущего запроса, нажатие любой другой клавиши продолжает печать. NOPAGE отменяет этот режим. В_Н_И_М_А_Н_И_Е !!! В ответ на запрос нельзя нажимать клавишу "КТ" (СУ/C), это приведет к зацикливанию системы. "N", "E" - должны быть загл. латинские. SET LP BK10 - для принтера с кабелем от БК0010. 2.5. PP - драйвер фоновой печати (спулер) Перед началом использования необходимо загрузить драйвер PP командой LOAD PP Чтобы запустить фоновую печать скопируйте текстовый файл на устройство PP. Если весь файл в буфер не помещается, то сначало часть текста будет напечатано и, только после того, как остаток файла скопируется в буфер, управление вернется в командный режим. Вы можете запускать программу, а текст будет печататься на принтере. Драйвер PP не перекодирует текст в КОИ7/КОИ8. Для преобра- зования текста пользуйтесь редактором EDIKM. Для принтера МС6313 требуется текст в КОИ8, а для принтера ROBOTRON - КОИ7. Для работы драйвера используется одна из дополнительных страниц ОЗУ. Номер этой страницы определяется командой SET: SET PP PAGE3 SET PP PAGE4 SET PP PAGE6 ПРИМЕЧАНИЕ: программа Exe10P занимает все доп. страницы. 2.6. TD - драйвер поправки системных часов, работающих от таймера БК-0011 Для включения поправки системных часов необходимо загрузить драйвер в память командой LOAD TD а для выключения UNLOAD TD SET TD SOUND - включает звук тикающих часов (чтобы не заснуть за экраном). 2.7. CL - драйвер-калькулятор. Для установки калькулятора необходимо загрузить драйвер CL командой LOAD CL Калькулятор вызывается на экран нажатием клавиш АР2/КТ, а исчезает после нажатия КТ не прерывая работающей программы. Первая версия калькулятора считает только целые числа, а % означает остаток от деления. Для работы драйвера используется одна из дополнительных страниц ОЗУ. Номер этой страницы определяется командой SET: SET CL PAGE3 SET CL PAGE4 SET CL PAGE6 Рабочая страница драйвера может быть использована кокой либо программой, например EXE10P. Вы узнаете об этом по звуковому сигналу при очередной попытке вызова калькулятора. В этом случае необходимо выгрузить и вновь загрузить драйвер CL. UNLOAD CL LOAD CL В коммандере можно задать обе команды в одной строке: UNLO CL_LO CL 2.8. TIMER - программа переключения таймера БК-0011 Программа TIMER обеспечивает включение и выключение таймера БК-0011. Выключение таймера может быть нужно для некоторых прикладных программ. Включение таймера дает возможность выключения приводов при отсутствии обращения к ним. Внешним признаком включения таймера служит мигание курсора. После запуска программа TIMER ожидает ввода команды. Команда ON включает таймер, команда OFF - выключает. 2.9. DSTAT - программа просмотра характеристик драйвера. 2.10. SLEPBK - программа формирует слепок операционной системы. Если вы не меняете настройку операционной системы в процессе работы, то будет удобно сформировать слепок и, тем самым, обеспечить ускоренную загрузку. Например: ASS SY SLE SLEPBK На системном диске появится новый файл B11SL.SYS, а загрузка операционной системы будет приводить сразу в то состояние, при котором был сделан слепок. При этом ОС должна находиться в стандартном режиме (SETSWP DISK), а загрузка будет идти только с того привода, на котором был сделан слепок (0/1). Для того, чтобы вернуться к обычной загрузке, надо заново скопировать загрузчик: COPY/BOOT SY:B11SJ SY: ---------------------------------------