Lucksian key представляет: ОС LK-DOS. С момента опубликования в журнале "РАДИО" схемы любительского компьютера "ОРИОН-128" прошло более 4-х лет. За это время сложились две ветви программ для этого компьютера - ориентированных на ОС ОРДОС или на ОС CP/M. Не станем сейчас подробно анализировать, какая из этих операционных систем лучше для "ОРИОН-128", но очевидно, что каждая из них имеет свои недостатки. К сожалению, получилось так, что ОС CP/M, хотя и является стандартом для 8-ми разрядных компьютеров, не стала стандартом на Орионе. Ведь очевидно, что даже самый горячий сторонник ОС CP/M имеет в своем распоряжении диск ПЗУ и ОС "ОРДОС". Следовательно, любая программа, использующая "ОРДОС" будет работать на всех компьютерах "ОРИОН", чего не скажешь о программах использующих CP/M (не у всех есть дисководы, но у всех есть квазидиски ОЗУ и ПЗУ). Однако ОС ОРДОС имеет один существенный недостаток - не предусмотрена работа с дисководом. Все попытки хранить файлы "ОРДОС" на дискетах (в формате CP/M) не дали удовлетворительных результатов из-за того, что ОРДОС и CP/M не совместимы друг с другом. С одной стороны, довольно сложно запустить файл ОРДОС из CP/M, а с другой, невозможно из ОРДОС-программ обратиться к дисководу и догрузить с него что-либо. Это вносит существенные ограничения для написания новых программ высокого качества, использующих в равной мере все преимущества как электронных дисков, так и НГМД. В настоящее время в нашем коллективе идет работа над операционной системой которая позволит значительно повысить практическую ценность п.к. ОРИОН для пользователей : - Одной из составных частей новой ОС будет ORDOS, что позволит не терять ни одной из ранее написанных программ для ОРИОНа. - Формат хранения файлов на дискете - MS-DOS (100%) и встроен- ная поддержка альтернативной кодировки позволит работать с текстовыми файлами даже не имея собственного принтера (не секрет, что IBM стоят чуть-ли не на каждом углу). - Не требует обязательного использования дисковода (возможна работа с магнитофоном). - Наличие удобного и красивого объектно-ориентированного интер- фейса пользователя позволит повысить как скорость разработки прикладных программ, так и их качество. - Встроенная программа распределения памяти позволит более эффективно использовать ОЗУ страницы 0. - Открытость системы и наличие сервисных программ позволит создавать работоспособные приложения даже мало сведущим в программировании пользователям. Соглашение об использовании ОЗУ В состав функций ОС LK-DOS, помимо дисковых и оконных, введены также и функции распределения памяти. Часть из них (работа со страницами памяти 1,2,3) реализована с использованием ОС ОРДОС (т.н. "перемещаемый" тип данных). Указанный блок данных записывается в виде файла ОРДОС (с установленным признаком "скрытый") на один из дисков (D,C или B). Программе возвращается указатель на уникальное имя этого блока. Поиск файла или его запись на диски осуществляется по схеме : maxdisk ORDOS (C или B) -> disk A / -> дискета/. Для более полного использования ресурсов компьютера, а также для повышения оперативности манипуляций с блоками данных, в 0 странице ОЗУ с адреса 2000H по 7FFFH зарезервирован сегмент данных, который управляется программой распределения памяти. Программа распределения памяти ведет учет, какие области памяти уже заняты а какие свободны от данных, и выдает запрашивающим программам адреса свободных участков. 0-я страница ОЗУ с адреса 100Н по адрес 1FFFH используется как сегмент кодов программ, т.е. все программы, использующие ОС LK-DOS должны быть оттранслированы в этих адресах. Такое ограничение вполне оправдано, т.к. использование объектно-ориентированной технологии и системных функций обеспечивает некоторым частям программы работоспособность в любом месте адресного пространства, что позволяет перенести большую часть пользовательского интер- фейса в сегмент данных. Такое использование 0 страницы ОЗУ особенно в сочетании с активным использованием файловой структуры ОРДОС позволит созда- вать мощные оверлейные структуры программ. Для более полного использования возможностей, предоставляемых микропроцессором К580 (или Z80) решено зарезервировать область памяти 0-FFH. Как известно, система команд микропроцессора допускает использование команд рестарта RST 0 - RST 7 или так называемых программных прерываний. Одно из таких прерываний (RST 6) зарезервировано для вызова функций оконного интерфейса, другое (RST 5) для вызова системных функций, а прерывание RST 7 (аппаратное) удобно использовать для счета времени. Область адресного пространства F000H - F3FFH (HIMEM) в ОРИОНе имеет особые свойства, что и определяет ее использование в ОС LK-DOS. Это стек, "быстрые" межстраничные функции, рабочие ячейки, адреса драйверов, и т.д. Возможно будет реализован механизм запуска подпрограмм в разных страницах памяти. Операционную систему LK-DOS планируется реализовать в виде нескольких файлов ОРДОС. А это значит, что загрузка системы может производится как с ROM-диска или дисковода, так и с магнитофона (в крайнем случае). Составные части системы (названия условны) : ORDOS - начальная загрузка системы, работа с 1, 2, 3 страницами ОЗУ и ROM-диском. SYSTEM_FILE - интеллектуальная работа с дисками ОРДОС, функ- (int 5) ции работы с дисководами (MS-DOS эмулятор), функции распределения памяти. DRIVERS - драйверы устройств. Выполнены в виде отдельных файлов типа LPT, MOUSE, TIMER и т.д. Например, планируется выпуск нескольких драйверов - под разный вид "мышей": "LK" - стандарт, стандарт Сугоняко,эмуляторы от клавиатуры и джойстиков. WINDOW_FILE - оконные функции ввода/вывода и объектно-ориен- (int 6) тированное приложение (по большей части аналог TURBO VISION на IBM).Работа программы основана на использовании знакогенераторов с матрицей символов 8*8 точек. Следует напомнить, что это весьма приблизительное и не полное описание нашей ОС. Возможно, в процессе работы или под влиянием изменяющейся жизни что-то будет изменено, дополнено или опущено. В настоящее время пока рано говорить о том, когда будет готова новая ОС и какие еще возможности она будет иметь. Будем рады услышать конструктивную и обоснованную критику, а так же Ваши идеи на этот счет. (С) Lucksian key, июнь 1994