──────────────────────────────────────────
Операционная Система нового поколения
для ZX Spectrum - совместимых компьютеров
NeOS
──────────────────────────────────────────
СОДЕРЖАНИЕ:
1 .................. Общая информация
2 ................. Концепция ОС NeOS
3 ............. Файловая система NeOS
4 .. Консоль и интерфейс пользователя
5 ............ Интерфейс оборудования
6 ......... Программирование под NeOS
7 ....... Перспективы и благодарности
1. Общая информация
Операционная Система (далее ОС) - это
программа, предназначенная для управления
ресурсами компьютера, обеспечивающая рабо-
ту внешних программ и предоставляющая
пользователю интерфейс для взаимодействия
с системой, а программам - интерфейс для
взаимодействия с устройствами, входящими в
состав компьютера.
Такое определение, хотя и не претендую-
щее на абсолютную полноту, но все же дос-
таточно точное, довольно конкретно описы-
вает суть концепции ОС NeOS. Из вышеска-
занного также можно получить представление
о том, что такое ОС вообще и для чего она
нужна, что важно.
Рассуждать здесь о том, какие уже есть
Операционные Системы на Спектруме и что в
них не так, значило бы многократно повто-
ряться. Скажу лишь о том, что на Спектруме
есть всего одна ОС - это iS-DOS, по срав-
нению с которой все предыдущие и последую-
щие попытки создать полноценную ОС можно
считать с треском провалившимися. Это дос-
таточно хорошо продуманная и развитая сис-
тема, имеющая ряд оригинальных решений и
устойчивую, целостную концепцию, благодаря
чему она оказывается во многих случаях не-
заменимой (пример - HDD).
Говоря об Операционной Системе, важно
помнить о том, что наиболее важной частью
ОС является не код и не интерфейс, а ее
концепция и позиционирование в конкретном
семействе машин, для которых она предназ-
начена. Причиной провала многих хороших
задумок явилось именно отношение авторов к
концепции ОС как к чему-то абстрактному и
далекому от реальности, что неправильно.
Напротив, при верном подходе с учетом тон-
костей конкретной платформы (не схемотех-
нических и архитектурных - над этим сле-
дует задумываться в последнюю очередь),
включая область применения и занимаемую
платформой нишу в мире информационных тех-
нологий, система если и не обречена на ус-
пех, то по крайней мере не лишена шансов
выжить и развиваться.
Именно такой концептуально-ориентиро-
ванный подход применяется при разработке
ОС NeOS. Мы не ставим себе целью объять
необъятное, так как убить стадо зайцев од-
ним ударом будет затруднительно. Мы просто
делаем удобную и надежную операционную
систему, которая удовлетворяла бы боль-
шинству современных требований к опера-
ционным системам, будучи при этом доста-
точно простой в использовании и минимально
зависимой от конфигурации компьютера.
2. Концепция ОС NeOS
■ Система для Спектрума (а не Спектрум
для системы - [1])
■ Ориентация на рядового пользователя
Спектрума (не на ламера - [2])
■ Наиболее полное использование ресур-
сов компьютера, с упором на целесооб-
разность (ресурс ради ресурса - [3])
■ Ориентация на использование компьютера
в сети (LAN, Fidonet, Internet - [4])
■ Тотальная ориенированность на HDD ОС
на дискете не имеет смысла (стандарт-
ный контроллер - [5])
[1] Это значит, что ОС разрабатывается
для работы на любом Спектруме и не требует
аппаратных доработок сверх того, что уже
имеется.
[2] Поскольку Спектрум не является мас-
совым компьютером, ориентация ОС на ламера
невозможна за отсутствием таковых. Для ус-
тановки ОС и работы с ней потребуется не-
который уровень знаний, который есть у по-
давляющего6 большинства спектрумистов. Это
не Microsoft Windows(r).
[3] Распространенная ошибка многих спек-
трумистов (и не только) машинопоклонничес-
тво ((c) Nemo). Нездоровое отношение пуб-
лики к аппаратным доработкам порождает
фетиш, на который все смотрят с восхищени-
ем, не замечая, что сам по себе он смысла
не имеет. Поддерживать навороты, не имею-
щие "потребительского наполнения" - значит
создавать себе массу проблем, а в итоге -
никакой пользы. Поэтому поддерживаться бу-
дет та аппаратура, которая может быть ре-
ально и с пользой использована системой
или прикладными программами.
[4] На Спектруме до сих пор нет п/о для
работы в Интернете - и это прямое следст-
вие отсутствия ОС.
[5] Использование ОС на дискетах не име-
ет смысла - низкая скорость работы, невоз-
можность организации виртуальной памяти и
файлов обмена, бессмысленность организации
Файловой системы (ФС) на дискете сводят на
нет все преимущества операционной системы.
Пример - тот же iS-DOS. Поэтому при разра-
ботке NeOS мы изначально ориентируемся на
HDD. Про подключение HDD - см. ниже.
3. Файловая система NeOS
В процессе технологических изысканий
было решено, что NeOS будет иметь собст-
венную ФС. Вот ее основные отличительные
признаки:
- Структурированость (вложенные подка-
талоги)
- Размер раздела ограничен объемом уст-
ройства
- Имена файлов и каталогов в стандарте
unicode
- Длина имени файла равна 16 символам
- Отсутствие выделенных расширений
- Без ограничений на использование то-
чек в имени файла
- Возможность создания логических раз-
делов
- Возможность монтирования устройств
других ФС
- Сегментированные файлы
- Неограничанное количество файлов на
диске
- Объем файла ограничен объемом уст-
ройства
- Возможность создания логических свя-
зей (simlink)
Доступ к устройствам других ФС (TR-DOS,
iS-DOS, MS-DOS, NTFS, HPFS,..) осуществ-
ляется путем монтирования соответствующего
раздела к точке монтирования в корневом
каталоге устройства NeOS. Точка монтирова-
ния представляет собой подкаталог. Для
монтирования раздела ФС, отличной от NeOS,
необходимо чтобы описатель соответствующей
ФС был установлен в систему. Формат описа-
теля ФС стандартизован и будет опубликован
позднее. Таким образом, становится возмож-
ным простое использование сетевых ресурсов
путем монтирования, например, FTP или се-
тевого диска.
4. Консоль и интерфейс пользователя
Интерфейс пользователя в "чистой" NeOS
представляет собой TTY терминал, или сим-
вольное устройство ввода/вывода. Консоль
независима от экрана и клавиатуры - вир-
туальная консоль может быть направлена на
модем или вообще существовать только вир-
туально. Это облегчает создание графичес-
кой оболочки, в частности, создание окна
системной консоли. Командный процессор
NeOS имеет набор стандартизированных ко-
манд (в настоящее время разработан не пол-
ностью), а также макроязык системных
скриптов, по своей сути напоминающих
shellscript или msdos batch, но обеспечи-
вающий более полное использование систем-
ных ресурсов.
TTY консоль работает с экраном через
драйвер, благодаря чему появляется возмож-
ность использовать дополнительные графи-
ческие режимы для более удобного представ-
ления информации.
5. Интерфейс оборудования
Каждое из известных системе устройств
имеет свой уникальный идентификатор. Длина
идентификатора пока не определена. Иденти-
фикаторы бывают двух типов: символьные и
числовые. Символьный идентификатор уст-
ройства используется для обращения к уст-
ройству посредством консоли, числовой для
обращения к интерфейсному модулю (посколь-
ку ядро и керналь системы будет закрытым,
это единственный способ работы с устройст-
вами исключая прямое обращение к портам).
Устройства группируются по типу. Работа с
устройствами напрямую допускается только
в случае подмены приложением стандартного
драйвера NeOS - например, для использова-
ния каких-либо неизвестных системе ресур-
сов. В остальных случаях работа с аппара-
турой производится через интерфейсный мо-
дуль системы.
6. Программирование под NeOS
ОС NeOS задумана и разрабатывается как
полностью открытая для программиста на ар-
хитектурном уровне и будет поддержана пол-
ной документацией, содержащей все необхо-
димые программисту сведения. Стиль прог-
раммирование под NeOS - машиннонезависи-
мый, так как программа использует только
функции ОС. Это стандартный способ прог-
раммирование под Операционную Систему. Та-
ким образом, программа становится машин-
но-независимой, что удобно.
7. Перспективы и благодарности
На данный момент готова общая концепция
ОС, командный язык, разрабатывается интер-
претатор системных скриптов. Ведется
подготовка низкоуровневых модулей системы,
в частности интерфейсов дисковых накопите-
лей. Активно разрабатываются сетевые при-
ложения - их планируется сделать интегри-
рованными в систему. Скорее всего, это бу-
дет HTML браузер и эмулятор Telnet, с по-
мощью которого будут доступны сервисы FTP,
POP3, SMTP, IRC. Поскольку базовые сетевые
сервисы будут также интегрированы в систе-
му, написание более удобных сетевых прило-
жений не составит труда.
Развитием проекта NeOS на данный момент
занимается Insanity^Syndrome Projects As-
sociacion (Братск). Мы благодарим всех по-
дписчиков эхоконференции ZX.SPECTRUM за
полезную информацию, касающуюся аппарату-
ры, здоровую критику и полезные советы/по-
желания.
Особую благодарность хочется объявить
тем, кто согласился освещать процесс рабо-
ты над проектом NeOS в средствах массовой
информации и учавствовать в разработке
системы. Этo:
- Denis Tsigancov
- Pawel Kislyak (Real Software)
- Alexander Kandaurov (KACuK)
- Алексей Зырянов (LdAbOrC)
- и другие.
Выражаем благодарность Ивану Рощину за
полезную идею относительно публикации ин-
формации и NeOS.
Связаться с нами можно следующим образом:
email: neos@zx.ru
fido: 2:5071/99 To: Nikolay Shpilchin
phone: +7-395-315-3045
time 17:00-19:00 MSK
mail : 665601 Россия
Иркутская обл Братский р-он
г. Вихоревка ул. Кошевого 7-68
Шпильчину Николаю
Инфоpмацию о NeOS можно искать также на:
ftp://zx-museum.org.ru/Ns/NeOS
Приглашаем к сотрудничеству тех, у кого
есть разумные предложения, а также любые
идеи, касающиеся NeOS, а также свободных
программистов и художников, готовых сот-
рудничать в работе над NeOS.