27 июня 2000 |
|
*---------------------------------------* | NeOS - новая операционная система | | для Спектрума | *---------------------------------------*(С) 25 мая 1999 Megus/BrainWave/X-Project ----------------------------------------- Идея создания абсолютно новой систе- мы для Спектрума витала в воздухе уже очень давно. Возможно, многие брались за создание, но не многим хватило сил, тер- пения, а может и знаний довести такую серьезную работу до конца. В 1997 году работу над новой OS начал Павел Федин, но позже он, к сожалению, разочаровался в этой идее. Однако у него осталось большое количество конкретных теоретических нара- боток, которые позже легли в основу NeOS. Поэтому автором концепции NeOS по праву является Павел Федин, а развитием идеи и реализацией всех задумок занимался и за- нимаюсь я, Роман Петров (Megus/BrainWave/ X-Project). Решение создать новую OS для Спект- рума появилось не на пустом месте, к это- му как меня, так и Павла Федина (в даль- нейшем просто разработчиков) подтолкнули следующие причины: 1. Существующая альтернатива TR-DOS (iS-DOS) устарела, т.к. изначально была спроектирована для машин с памятью 48Кб. Также в iS-DOS существуют некоторые огра- ничения, не дающие настоящей свободы про- граммисту. 2. В настоящее время существует мно- жество моделей Спектрума с памятью свыше 128Кб, но управление этой памятью в каж- дой машине сделано по собственному стан- дарту, что вызывает определенные труднос- ти у программиста. 3. Также имеется множество дополни- тельной периферии, однако и в этой облас- ти не наблюдается каких-либо утвердивших- ся стандартов, т.к. каждый разработчик стремится сделать все по-своему. 4. TR-DOS, по сути, не является пол- ноценной операционной системой. Фактичес- ки это всего лишь эмулятор магнитофонных операций на дискете. 5. Отсутствие полноценной файловой системы (как в TR-DOS, так и в iS-DOS) затрудняет использование внешних носите- лей данных большой емкости (HDD, CD-ROM и т.д.). Существуют и другие причины, однако те, которые только что были перечислены, являются наиболее важными. Все описанные проблемы решены в NeOS. Вот краткий список тех возможностей, которые предоставляет NeOS программисту и пользователю: * поддержка RAM объемом до ЧМб (теоретически - до 1Гб); * реализована система блочного выде- ления памяти, что облегчит в дальнейшем реализацию (псевдо)многозадачности; * реализована система драйверов, что снимает проблему несовместимости различ- ной периферии; * реализована система библиотек фун- кций; * возможна работа с любым внешним накопителем данных; * полноценная поддержка системы ди- ректорий; * возможна работа с файлами произ- вольной длины (до ЧГб); * реализована поддержка имен файлов длиной до 16 символов с трехсимвольным расширением; * реализована "прозрачная" поддержка различных файловых систем. Теперь обо всем этом более подробно. NeOS поддерживает RAM объемом до ЧМб, при этом у программиста не возникает никаких проблем при работе с этой памятью, т.к. работа осуществляется посредством систем- ных функций NeOS, и программист уже не должен заботиться о поддержке всех воз- можных способов реализации расширенной памяти. Для последующей реализации много- задачности в NeOS была реализована систе- ма менеджмента памяти: поблочное выделе- ние страничной памяти. Размер выделяемо- го/освобождаемого блока кратен 1Кб. Для работы с внешними устройствами (и не только с ними) была реализована система драйверов. Драйвера в памяти ор- ганизованы в виде "цепочки": в начале каждого драйвера находится указатель на следующий. Таким образом, общее коли- чество драйверов, установленных в систе- му, ограничивается только доступной па- мятью. Каждый драйвер имеет собственное название, по которому и осуществляется поиск. Драйвера делятся на 2 типа: рези- дентные и нерезидентные. К резидентным относятся драйвера, вызываемые каждое прерывание, к нерезидентным - драйвера, специально вызываемые программой. Каждый из типов имеет собственную цепочку. Из программы драйвер может быть вызван сле- дующим образом: сначала необходимо найти (открыть) драйвер по его имени, после че- го по полученным адресу и странице обра- титься с номером функции в регистре A. Так как в дальнейшем планируется реализация многозадачности, была реализо- вана система библиотек функций. На данный момент эта система не является особо важ- ной. Организация библиотек в памяти ана- логична организации драйверов ("цепоч- ка"), принципы работы с библиотеками так- же аналогичны. Работа с внешними накопителями дан- ных осуществляется посредством двух уров- ней драйверов: драйверов дисковых уст- ройств и драйверов файловых систем (FS). При работе с файлами программист должен использовать драйвер FS, а тот уже, в свою очередь, использует драйвер дисково- го устройства. Таким образом осуществля- ется поддержка любой FS на любом типе дискового устройства. В NeOS реализована "прозрачная" поддержка различных FS. Это означает, что в систему может быть уста- новлено несколько драйверов FS, и NeOS будет работать с любым из них. При выборе дискового устройства происходит обращение к каждому драйверу FS для определения принадлежности диска FS. Как только ка- кой-либо драйвер опознал диск как "свой", этот драйвер становится активным для дан- ного устройства, и дальнейшие операции с файлами на этом диске будут производиться посредством него. Поэтому в NeOS отпадает необходимость в копировщиках типа MS- DOS<->TR-DOS, т.к. система сама может вы- полнять подобные операции. Как и в любой полноценной DOS, в NeOS возможна работа с системой подката- логов, которой так не хватает в TR-DOS. Также в NeOS отсутствуют ограничения на длину файла, характерные для TR-DOS и iS- DOS, максимальная длина файла в NeOS мо- жет быть равна ЧГб, что можно не считать ограничением. Для осуществления элементарного кон- такта с пользователем в NeOS встроен ко- мандный интерпретатор, позволяющий выпол- нять базовые команды управления системой и простейшие дисковые операции. Есть воз- можность объединять последовательность команд интерпретатора в так называемые пакетные файлы (batcH files), которые представляют собой обыкновенные текстовые файлы. Так как возможности встроенного интерпретатора очень скромны, была введе- на возможность установки внешнего интер- претатора. Разработчиками было изначально реше- но, что система будет размещена в ПЗУ в области, занимаемой 128 BASIC. Это позво- лило сохранить совместимость практически со всем существующим ПО для Спектрума (данную страницу ПЗУ используют единичные программы, разработчики до сих пор не нашли ни одной, которая бы не работала в присутствии ПЗУ NeOS). В ПЗУ располагает- ся ядро системы (BrainWave BIOS), ко- мандный интерпретатор, а также самые не- обходимые драйвера, без которых работа системы невозможна. Т.к. угодить всем пользователям в отношении подбора стан- дартного набора драйверов невозможно, бы- ло решено написать инсталлятор NeOS. С помощью инсталлятора каждый пользователь NeOS сможет настроить систему так, как ему надо. Он может выбрать стандартные драйвера, тип компьютера (для работы с расширенной памятью), цвета, язык систем- ных сообщений, раскладку клавиатуры и т.д. Результатом работы инсталлятора яв- ляется готовый образ ПЗУ, который уже можно "зашивать" в ПЗУ. Следует отметить, что NeOS не работает с ПЗУ TR-DOS 5.03, для нормальной работы NeOS с диском необ- ходимо ПЗУ TR-DOS, в котором имеется воз- можность напрямую считать регистр сос- тояния контроллера дисковода (порт #1F ВГ93). Рекомендуется использовать NeOS с TR-DOS 5.13, которая будет прилагаться к системе. На сегодняшний день ядро системы полностью готово и проходит стадию актив- ного бета-тестирования; параллельно ве- дется написание ПО, без которого система существовать не может, а также наращи- вается библиотека драйверов. Т.к. одна группа не сможет в краткие сроки обеспе- чить систему самым необходимым ПО, разра- ботчики приглашают всех заинтересовавших- ся системой к сотрудничеству. NeOS - это свободно распространяемый (freeWare) про- дукт, однако за некоторую денежную сумму (она пока не определена) любой может стать зарегистрированым пользователем NeOS. Каждый зарегистрированный пользова- тель получит от нас полный комплект NeOS (инсталлятор, библиотека драйверов, базо- вый софт), полную документацию програм- миста в виде небольшой книжки, а также мы обязуемся информировать таких пользовате- лей о выходе наиболее интересного ПО для NeOS и помогать в его приобретении. В разработке NeOS принимали участие: ------------------------------------ * Роман Петров (Megus/BW/XPJ) - раз- работка системы, написание ядра и большей части драйверов; * Павел Федин - разработка системы; * Андрей Михеев (MAV/BW^XPJ) - напи- сание драйверов, конструктивная критика; * Андрей Исаев - написание драйвера FDD, конструктивная критика; Непосредствнного участия в разработ- ке не принимали, но помогали советами, критикой и морально поддерживали: * Роман Милюков - автор идеи инстал- лятора; * Денис Дмитриев (Dismaster/XPJ) - конструктивная критика; * Денис Сотченко - конструктивная критика, советы по организации памяти и реализации многозадачности; * Jarek Adamski - конструктивная критика, полезные советы; * Евгений Малков (Tim Kelly/KGS), Александр Кормишин, Юрий Войналович, весь BrainWave, весь X-Project, MiHal BukoWski (YERZMYEY/Н-Prog), а также эхоконференция REAL.SPECCY - моральная поддержка. Как со мной связаться: ====================== 424019 Россия республика Марий Эл г. Йошкар=Ола ул. Фестивальная д. 77 кв. 13 Петрову Роману Сергеевичу. * Телефон: (8362) 22-66-09 с 14:00 до 22:00 (моск. время). * FidoNet: 2:5052/7.37 * ZXNet: 500:8362/1 * Е-mail: megus_bW@mail.ru ----- Official NeOS FAQ v1.0 Часто задаваемые вопросы по NeOS на июль 1999 года. (С) 1999 Megus/BrainWave/X-Project Ass. ----------------------------------------- Q: А для чего нужна еще одна операционка, ведь у нас есть iS-DOS и СР/М? A: У каждой из этих операционок имеются свои недостатки, причем избавиться от них, оставаясь в рамках системы, невоз- можно. Именно поэтому и была создана но- вая операционная система NeOS, в которой отсутствуют подобные недостатки. Подроб- нее читайте "NeOS Info #1" и Документацию Программиста. Q: Откуда такое странное название - NeOS? A: История названия такова: сначала сис- тема вообще не имела рабочего названия. Однажды, я назвал свою операционку NeW OS, но такое название не звучало, поэтому я выкинул лишнюю букву и получил NeOS. А все домыслы что NeOS - это не OS, есть результат больного воображения :) Q: Каковы условия распространения NeOS? A: NeOS - freeWare продукт. Я разрешаю свободно распространять прошивки по се- тям, почте с обязательной ссылкой на ав- тора. Я не против коммерческого распрост- ранения системы, но до выхода полного комплекта делать этого не рекомендую. Q: Я слышал, что можно стать зарегистри- рованным пользователем. Как это сделать? A: Регистрация заключается в пересылке автору некоторой денежной суммы. Такой пользователь получает от нас полный комп- лект NeOS со всем существующим на текущий момент ПО, книжку с документацией и обя- зательство авторов информировать пользо- вателя о новинках ПО для NeOS. Сумма на данный момент не определена, т.к. комп- лект еще не сформирован. Q: Можно ли под NeOS запускать программы для TR-DOS/iS-DOS? A: Нет, т.к. NeOS - самостоятельная сис- тема, а не расширение какой-либо су- ществующей. Без соответствующей адаптации программы для других OS работать не бу- дут. Q: Поддерживает ли NeOS видео-режим 512х 192? A: Да. Q: Где в сетях можно найти информацию и программы для NeOS? A: Лично у автора. A: Фидошная эхоконференция REAL.SPECCY объявлена официальным центром поддержки, там проходят новые прошивки и софт. A: Планируется создание WWW-сайта, посвя- щенного NeOS. Срок реализации неопреде- ленный. Q: Можно ли установить NeOS на фирменном Спектруме, на котором нет TR-DOS? A: Можно, надо только написать драйвер FDD для FDC, использующегося в этой маши- не. Q: Может ли NeOS работать на других маши- нах, базирующихся на Z80? A: Да, может. Только программы, написан- ные с использованием прямого обращения к видео-памяти окажутся несовместимы. Упор на обеспечение совместимости разных Z80- based машин будет сделан в NeOS v2.0. Q: Я слышал, что в NeOS будет многозадач- ность. Это правда? А не будет ли это страшно тормозить? A: В NeOS v2.0 планируется реализовать кооперативную многозадачность. Тормозить это не должно, т.к. стиль программирова- ния для многозадачных систем совершенно другой. Совместимость с NeOS v1.0 будет полная. Q: Я запустил NeOS, но при запуске он сразу пишет Fatal еггог. Что это - злоб- ный глюк или еще что-то? A: Это неправильная версия TR-DOS. NeOS нормально работает только с ПЗУ TR-DOS 5.12, 5.13, а также с ПЗУ TR-DOS Скорпио- нов с прошивкой v2.95 и старше. ПРИЛОЖЕНИЕ ========== В "приложении" к журналу есть три вер- сии прошивки ПЗУ под NeOS. Вернее, версия одна и та же, но под разные компьютеры - Spectrum-128, Pentagon-512 и Scorpion. Я весьма сожалею, но авторы не сделали вер- сии под кэш, что затрудняет предваритель- ную оценку достоинств и недостатков сис- темы. Получается, что убедиться в нецеле- сообразности NeOS можно только после про- шивки её в ПЗУ, а это лишние напряги для компьютера и пользователя. Особенно для консервативной части пользователей, к ко- торым и я отношусь отчасти. В комплекте с прошивками идут сопроводительные тексты, информирующие о внутренней структуре NeOS и вообще - как с ней работать, но в при- ложении их нет по причине отсутствия мес- та на диске. Кому интересно - обращайтесь непосредственно к авторам NeOS по указан- ным адресам или телефону. -----------------------------------------
Other articles:
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Similar articles:
В этот день... 21 November