С.Кононов

"ЛИнТех" представляет: сетевая операционная система "NET-СР/М" версия А-1.0

В 1991 г. лабораторией информационных технологий ("ЛИнТех") разработана сетевая операционная система для КУВТ "Корвет", "Форманта", "Нейва", "Орбита". Цель этой публикации - ознакомить в общих чертах всех пользователей вышеназванных КУВТ с, несомненно, самой необходимой системной программой, позволяющей в корне изменить характер работы на рабочих местах учеников (РМУ).

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

В этом случае не совсем понятно, чему кроме программирования на языке BASIC, преподаватель может научить учеников. Очевидно, что отнюдь не каждый школьник собирается и может стать профессиональным программистом, а вот знание общих принципов работы компьютера, операционной системы, систем управления базами данных, электронных таблиц, текстовых редакторов, словом, всего того, что прочно входит в нашу жизнь и с чем после окончания школы бывший ученик может реально столкнуться на работе - объективно необходимо. Именно для обеспечения полноценной работы на РМУ в среде стандартной операционной системы СР/М-80 со стандартными программами, которые для ОС СР/М-80 весь мир за целое десятилетие придумал великое множество, и разработана сетевая операционная система NET-CP/M.

Итак, имея NET-CP/M ученик, работая на РМУ в операционной системе, полностью совместимой с СР/М-80, может пользоваться мощнейшими пакетами программ, такими как система управления базами данных dBASE, электронными таблицами SuperCalk и Multiplan, разнообразными текстовыми и графическими редакторами, запускать игровые программы, работать с системами программирования Си, Паскаль, Ада, PL/1, словом, делать все, что раньше можно было делать только на РМП.

Основными составными частями ОС NET-CP/M являются две большие управляющие программы РМУ и РМП (далее по тексту будет использоваться термин "монитор" - синоним термина "управляющая программа").

Монитор РМП осуществляет загрузку монитора РМУ по сети с РМП, исполнение всех запросов РМУ на операции с дисками РМП, определение режимов доступа РМУ, замену дисков, обработку ошибок и т. д. Монитор РМП запускается и работает на РМП постоянно в процессе функционирования ОС NET-CP/M.

Монитор РМУ представляет собой операционную систему, полностью аналогичную ОС СР/М-80, функционирующую на РМУ, и способную посредством локальной сети общаться с монитором РМП и передавать ему запросы на операции с дисками РМП, которые монитор РМП и исполняет.

Теперь необходимо сказать несколько слов о доступных для пользователя РМУ накопителях информации (дисках). В комплект РМП входят два накопителя на гибких магнитных дисках (ГМД), каждый из которых имеет емкость 800К. Кроме того, как РМП, так и РМУ в принципе могут использовать так называемый электронный диск, представляющий собой область графического запоминающего устройства (ГЗУ). Операционная система (ОС) позволяет обращаться к электронному диску точно также, как и к накопителю на ГМД и, с точки зрения пользователя, электронный диск ничем не отличается от накопителя на ГМД за исключением очень высокой скорости доступа к данным на электронном диске, его несменяемости и разрушении данных на нем при выключении питания машины.

Схемотехнически "Корвет" допускает установку 192 Кбайт ГЗУ. Это позволило бы иметь электронный диск 144 Кбайт с сохранением всех графических возможностей машины или 192 Кбайт при подавлении графики. К сожалению, производители КУВТ решили иначе - в стандартном КУВТ машины имеют ГЗУ всего 48 Кбайт. Это не позволяет использовать электронный диск на РМП, т. к. при рестарте ОС именно эти 48 Кбайт ГЗУ всегда очищаются, но на РМУ ОС NET-CP/M позволяет эффективно использовать даже 48 Кбайт ГЗУ в качестве электронного диска.

Итак, на РМП есть три накопителя - два НГМД и, возможно, электронный диск. На РМУ есть только электронный диск.

При работе в среде ОС NET-CP/M каждый ученик на РМУ получает доступ к своему электронному диску и ко всем трем накопителям РМП. При этом имена устройств формируются следующим образом: собственный электронный диск РМУ называется диск <А> накопители <А>, <В>, <Е> РМП именуются теперь <В>, <С>, <F> соответственно.

Как уже говорилось выше, монитор РМП представляет собой программу, которая должна функционировать на РМП все время работы ОС NET-CP/M. Именно эта программа исполняет все запросы от РМУ на операции с дисками РМП, определяет среду доступа РМУ, обрабатывает ошибки, загружает монитор РМУ и т. д.

Первое, что необходимо сделать для работы сети - это запустить монитор РМП - командный файл с именем NETCPM.COM. Работа программы основана на применении средств многооконного интерфейса, что обеспечивает высокие сервисные возможности и наглядность отображения и ввода информации. Сразу после запуска программы NETCPM. СОМ на экране появляются три окна "Меню", "Trade Mark" и "Сообщения".

В окно "Trade Mark" выводится информация о фирме "ЛИнТех" - разработчике данной операционной системы. Окно "сообщения" предназначено для выдачи информации о состоянии системы, сообщений об ошибках и восстановлениях после ник. В окне "меню" предлагается выбрать один из шести возможных режимов работы монитора РМП - "Обслуживание", "Загрузка", "IFM-доступ", "Рабочий диск", "Замена диска", "Конец работы".

Режим "Обслуживание" является основным режимом работы монитора РМП. Находясь в нем, монитор РМП последовательно опрашивает РМУ на наличие запросов к дискам РМП и при необходимости исполняет их.

Все остальные режимы работы РМП носят вспомогательный характер и обеспечивают ОС NET-CP/M высокий уровень сервисных возможностей по управлению работой учеников в сети.

Вполне естественно, что прежде чем на РМУ появится монитор РМУ, его надо туда загрузить с РМП. Этим целям служит режим "IFM-загрузка". Еще необходимо присутствие двух файлов на текущем диске - NETCPM.SYS и NETLDR.SYS, в которых и находится собственно монитор РМУ. Загрузка всех включенных РМУ будет производиться одновременно и занимает около 15 секунд.

Выше утверждалось, что кроме своего собственного электронного диска <А> пользователи РМУ имеют возможность обращаться к трем накопителям РМП, которые в этом случае называются <B>, <C>, <F>. В общем, все верно, но...

Монитор РМП поддерживает систему разграничения доступа к накопителям РМП (естественно, со своим собственным накопителем <А> каждое РМУ может сделать все, что считает нужным). Именно эта система позволяет вести работу без конфликтов большому количеству пользователей.

Основные идеи системы разграничения доступа следующие:

Смысл введения системы разграничения доступа очень прост. Рассмотрим, что происходило бы, если бы этой системы не было.

Предположим, что три ученика собираются произвести запись на диск <С> РМП своего файла, который у каждого из них находится на собственном электронном диске <A> РМУ. При этом все трое лихорадочно придумывают оригинальное имя файла. И все они придумывают очень оригинальное имя - "MYFTLE.TXT".

Далее, шустрее всех оказывается первый ученик - он записывает свой файл под именем "MYFILE.TXT" на диск <C>; затем ту же операцию повторяет второй ученик, затерев, соответственно, файл первого - имена файлов-то одинаковые; ну а третий предварительно просмотрев диск <C> и обнаружив, что файл "MYFILE.TXT" уже существует, решил, что он его уже скопировал раньше, но просто забыл об этом. А в это время...

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

Пусть РМУ первого ученика соответствует USER 5, РМУ второго - USER 3, а РМУ третьего - USER 1. Рабочим диском является диск <C>.

Тогда первый ученик записал бы свой файл "MYFILE.TXT" в USER 5, второй в USER 3, а третий, просмотрев USER 1 диска <C>, не обнаружил бы чужой файл "MUFILE.TXT и записал бы свой.

Так что система разграничения доступа крайне полезная штука.

Для управления разграничением доступа предназначены режимы "Рабочий диск" и "IFM-доступ".

Режим "Рабочий диск" позволяет только определить в качестве рабочего один из дисков РМП - <B>, <C> или <F>.

Существенно интереснее режим "IFM-доступ". Именно в этом режиме можно для каждого РМУ запретить запись на любой из дисков РМП, определить номер USER-области при обмене с рабочим диском для каждой из РМУ, ввести или вывести РМУ из обслуживания.

Изначально установлены следующие параметры: все РМУ могут писать только на диск <C>, он же является рабочим диском. Номер USER-области рабочего диска, приписанный к каждому РМУ, совпадает с физическим номером РМУ.

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

Режим "Конец работы" комментариев не требует - завершение работы монитора РМП ОС NET-СР/М. В этом случае все РМУ бросаются на произвол судьбы и, до тех пор пока монитор РМП не будет загружен вновь, не смогут выполнять обращения к дискам РМП (правда, при этом они могут совершенно безболезненно работать автономно со своим собственным электронным диском).

ОС NET-CP/M приходится обрабатывать большое количество ошибок, возникающих в локальной сети передачи данных и в процессе обмена данными с накопителями РМП. При возникновении ошибки в окне "сообщения монитора РМП" появляется сообщение об ошибке и система полностью самовосстанавливается.

Теперь самое время перейти к описанию монитора РМУ, который, как уже говорилось, представляет собой операционную систему, функционирующую на РМУ, способную обращаться к накопителям РМП и полностью совместимую с ОС СР/М-80. Это означает, что любая программа, корректно работающая в среде стандартной СР/М-80, будет работать и на РМУ под NET-CP/M.

Карта памяти монитора РМУ полностью соответствует карте памяти стандартной СР/М-80, но при этом все программные модули монитора РМУ резидентны (в стандартной СР/М-80 - транзитны ССР и BDOS).

Система команд процессора команд консоли несколько расширена и изменена в лучшую сторону. Дополнительно введен редактор командной строки с системой памяти командных строк.

Вообще, с точки зрения пользователя, монитор РМУ - это "нормальная и изнутри и снаружи" операционная система СР/М-80, имеющая возможность обращаться к четырем накопителям: <A> - собственный электронный диск, <B> и <C> - накопители РМП и <F> - электронный диск РМП. При этом обращение к диску <A> носит свободный характер, а к накопителям РМП определяется системой разграничения доступа монитора РМП.

Процессор команд консоли монитора РМП имеет и может исполнять следующие резидентные команды:

В отличие от стандартной версии СР/М-80 отсутствуют команды USER и SAVE и добавлены очень полезные команды FORMAT, SCREEN и COPY.

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

Рассмотрим каждую из команд подробнее.

Команда FORMAT предназначена для форматирования электронного диска <A> РМУ. Эту операцию необходимо делать один раз, сразу после загрузки монитора РМУ. При ее выполнении стираются все данные, находящиеся на электронном диске, поэтому пользоваться ею надо очень осторожно.

Если у РМУ электронный диск полного объема (144 Кбайт), то при перезагрузке монитора РМУ вся предыдущая информация на электронном диске <A> сохранится и выполнять команду FORMAT не следует.

Команда SCREEN позволяет определить режим использования 48 Кбайт графического запоминающего устройства и может быть использована в двух вариантах.

Вариант SCREEN N предписывает использовать 48 Кбайт ГЗУ по прямому назначению - для отображения графики. В этом случае эти 48 Кбайт использовать под электронный диск <A> не удастся. Если на РМУ применяется полная память ГЗУ 192 Кбайт, то тогда 48 Кбайт ГЗУ будет использоваться для графики, а оставшиеся 144 Кбайт для электронного диска.

Вариант SCREEN N предписывает использование 48 Кбайт ГЗУ под электронный диск и подавление функций графики. Кроме того, если на РМУ полный объем ГЗУ 192 Кбайт, то это означает использование всех 192 Кбайт в качестве электронного диска.

Команда DIR полностью соответствует команде DIR СР/М-80. Предназначена для просмотра оглавления дисков.

Примеры:

A>dir - просмотр текущего директория, директория диска <A>;

A>dir с:*.txt - поиск в директории диска <C> всех txt-файлов.

Команда ERA полностью соответствует команде ERA СР/М-80. Предназначена для удаления файлов.

Примеры:

A>era*.txt - удаление с диска <A> всех файлов с расширением TXT;

A>era b:mufile.com - удаление файла mufile.com с диска <B>.

REN - команда переименования файлов. Формат этой команды несколько отличается от стандартного формата СР/М-80 и соответствует более удобному формату MS-DOS.

Формат команды:

А>ren (старое имя файла) (новое имя файла)

Имена файлов не должны быть групповыми (т. е. в полях имени и расширения не должно быть символов "*" и "?").

Пример:

A>ren b:e.txt exam.txt - переименование файла e.txt на диске <B> в файле exam.txt.

Команда TYPE полностью соответствует команде TYPE СР/М-80 и предназначена для просмотра текстовых файлов. Имя файла не должно быть групповым.

Для приостановки выхода информации на экран используется последовательность CTRL-S. Вывод текста можно прервать по нажатию на клавишу STOP.

Пример:

A>type c:exam.txt - просмотр файла exam.txt на диске <C>.

Команда COPY предназначена для копирования файлов между электронным диском <A> РМУ и дисками РМП. Команда COPY использует специальные протоколы сетевого обмена и позволяет проводить копирование файлов максимально быстро. По времени процедура копирования файлов с помощью команды COPY занимает в десятки раз меньше времени, чем аналогичное копирование с помощью команды PIP.COM ОС СР/М-80 или аналогичной. Именно для команды COPY конечная скорость передачи данных составляет приблизительно 1 кбайт/с.

Формат команды:

А>сору (имя файла источника) (имя файла приемника)

Запрещается копирование файлов между дисками РМП, а также копирование с диска на тот же самый диск. Групповое имя может применяться только в имени файла источника при условии отсутствия имени файла приемника (в качестве имени файла приемника может использоваться в данном случае только имя диска).

Примеры:

A>copy exam.*b: - скопировать все файлы exam.* на диск <B>;

A>copy exam.*b:dest.* - ОШИБКА;

A>copy c:m.txt e.txt - копирование файла с именем m.txt с диска <C> на диск <A> под именем e.txt.

Переопределение текущего диска полностью соответствует стандарту СР/М-80.

Примеры:

А>Ь: - теперь текущий диск <B>;

В>с: - а теперь <C>.

Запуск транзитной команды полностью соответствует стандарту СР/М-80. Имя файла не должно быть групповым и не должно иметь расширения.

Пример:

A>b:akva+ запуск графического редактора "АКВАРЕЛЬ" с диска <B>.

ОС NET-СР/М имеет средства прерывания выполнения прикладной программы на РМУ без перезагрузки монитора РМУ по сети. Для этой операции необходимо сбросить компьютер клавишей RESET совместно с нажатием на клавишу F3, после чего экран очистится и система перейдет в режим редактирования командной строки.

Восстановление системы произойдет только в том случае, если зависшая программа не испортила программный код монитора РМУ, иначе все-таки придется перезагрузить монитор РМУ с РМП.

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

Редактирование строки, а также работа с буфером запомненных строк осуществляется с помощью клавиш 4, 6, 1, 2, 8, DEL, INS, CLS дополнительного поля клавиатуры, клавиш BS, ESC, STOP, CR основного поля.

Процессор команд консоли монитора РМУ имеет еще одну приятную сервисную возможность - в одной командной строке можно задавать сразу несколько команд на выполнение и они будут выполняться по очереди.

В командной строке различные команды разделяются с помощью пары символов - пробела и ">".

Перед выполнением каждой команды из командной строки расширенного формата предварительно производится ее отображение на экране монитора (с дополнительным символом "+" в начале).

Примеры:

A>screen y>b:poker

A>dir a: >dir b: >dir c: >dir f:

A>mtplus record #tbrb>linkmt record, paslib /s< record

Ну, а теперь хочется заострить внимание на некоторых характерных для ОС NET-CP/M чертах, выгодно отличающих ее от многих существующих аналогов.

За счет эффективного протокола сетевого уровня существенно повышена конечная скорость передачи данных в локальной сети. В версии А-1.0 она составляет приблизительно 1 кбайт/с. В сочетании с наличием в мониторе РМУ специальной резидентной команды COPY это позволяет осуществлять очень быстрые пересылки данных между дисками РМП и РМУ.

Все программное обеспечение РМУ в ОС NET-CP/M резидентно, поэтому не происходит нужных перекачек данных по сети по завершению каждой программы или по нажатию на С.

В ОС NET-CP/M избрана весьма эффективная стратегия обеспечения выполнения запросов РМУ на операции с дисками РМП. Это позволяет работать на РМУ полностью автономно и соответственно очень быстро до тех пор, пока не появится объективная необходимость обращения к РМП.

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

Монитор РМП работает в автоматическим режиме и не требует наличия оператора.

Применяется максимально надежная система обработки ошибок монитора РМП при работе с дисками и сетью. Все ошибки и сбои системы самоликвидируются.

Монитор РМУ обладает повышенной надежностью - при "зависании" программы на РМУ возможен рестарт системы без перезагрузки по сети.

Количество пользователей в системе ОС NET-CP/M увеличено до 15.

ОС NET-CP/M не требует никаких специальных форматов дисков. Работа производится в стандартном СР/М формате на стандартных СР/М дисках.

Приобрести ОС NET-CP/M и получить необходимые справки можно в фирме "ЛИнТех".