Абзац
:: Поиск
:: ПоддерЖка ПрОекта
Webmoney:
  • Z610389805629
  • R427996570517
  • E023541002978
  • :: №20 (27.06.2004) ПрОсмотрОв: 5116

    Автор: Евгений Илясов.

    Рубрика: Читатель читателю.

    Номер: №20 (27.06.2004).



    IDE HDD на Sinclair. Часть 1. Итоги большого пути.

    При всем богатстве выбора другой альтернативы нет.

    (известная телереклама)


    Впервые идея «подружить» накопитель на     жестких магнитных дисках (в просторечии «винчестер») и Sinclair-совместимый компьютер, вероятно, пришла в головы тех «продвинутых» пользователей, чьи коллекции дискет стали выражаться трехзначными числами. Так или иначе, но первые разработки на эту тему появились еще около десяти лет тому назад.

    Условно концепции этих разработок можно было разделить на две группы. В одном случае, использование винчестера предполагалось в среде хорошо известной программистам других 8-разрядных платформ, но крайне слабо развитой и практически не поддерживаемой на Sinclair операционной системы CP/M. Другой же вариант группировал различной степени успешности (но чаще - безуспешности) попытки «втиснуть» организацию взаимодействия с винчестером в прокрустово ложе TR-DOS.

    Как пример аппаратной реализации разработок первой группы, можно назвать компьютеры Turbo-2+ [1], Profi+, и отчасти, ZX-NEXT [2], где контроллеры винчестера были разведены на плате самого компьютера, наряду с контроллерами TR-DOS, либо были выполнены на дополнительной плате, пристыковываемой к основной по «стандарту», не совместимому ни с чем, кроме самого себя.

    Разработки второй группы (например, [3]) существовали в единичных экземплярах у собственных авторов и их друзей. Более того, такого рода попытки время от времени предпринимаются и по сей день [4].

    Несколько особняком от этих разработок отстоят контроллеры «IDE-DRIVE» и «SMUC», разработанные и прозводимые с 1996 года соответственно фирмами (c) Nemo и Scorpion (обе - из Санкт-Петербурга). В отличие от других схем, изначально «жестко» прописанных в архитектуре определенной модели компьютера, обе эти разработки представляют собой функционально законченные периферийные устройства, предназначенные для взаимодействия с Sinclair-совместимыми компьютерами через системную шину ((c)Nemo), либо системный разъем ((c)Scorpion). Но на этом их сходство, пожалуй, и заканчивается.

    Универсальный контроллер SMUC является скорее реализацией попытки «объять необъятное» - совместить в рамках одного устройства сразу несколько операционных систем - TR-DOS, iS-DOS, CP/M, и даже MS-DOS. Кроме собственно контроллера винчестера SMUC включает в себя энергонезависимые часы, энергонезависимую память (что-то вроде CMOS BIOS на IBM PC), контроллер прерываний и дополнительный слот для 8-разрядной IBM периферии.

    В отличие от «навороченного» SMUC’а, контроллер IDE-DRIVE изначально создавался в расчете на работу только под управлением операционной системы iS-DOS (IskraSoft, 1992-2002). Таким образом, при беглом взгляде - сравнение явно не в пользу изделия фирмы (c) Nemo. Но не все так просто. Есть несколько соображений, делающих подобные выводы по меньшей мере преждевременными.

    Нелишне напомнить, что отличительной особенностью компьютеров серии Scorpion (Scorpion ZS-256, Scorpion ZS-256 Turbo+) является «Теневой монитор», то есть набор дополнительного программного обеспечения, доступный после перехвата управления при нажатии кнопки «Magic» контроллера TR-DOS. Со времени появления первых версий теневого монитора набор выполняемых им функций был значительно пополнен и перерос в конце концов в так называемое «Профессиональное расширение» Теневого монитора, через которое, по замыслу разработчиков, и должна вестись работа с различными периферийными устройствами и, в частности, с контроллером винчестера, входящим в состав универсального контроллера «SMUC».

    Говоря другими словами, - для того, чтобы хотя бы попробовать воспользоваться всеми SMUC’овскими «наворотами» (насколько они там действительно нужны и оправданы это тема для отдельного большого разговора), нужно или иметь в своем распоряжении компьютер Scorpion с ПрофПЗУ (обычное «скорпионовское» ПЗУ, с номерами версий до 2.95 включительно, уже не пойдет!), или, по рекомендации разработчиков SMUC’а, «доработать свой компьютер до Scorpion-совместимости» [5]. То есть, при желании организовать работу с винчестером через SMUC, пользователям «Scorpion-несовместимых» машин предварительно потребуется самостоятельно сделать из одного компьютера другой.

    В то же время идеология разработки IDE DRIVE от (c) Nemo иллюстрирует диаметрально противоположный подход к оснащению компьютера периферийными устройствами - никаких переделок в схеме быть не должно [6, 7]. Работа IDE-контроллера в среде iS-DOS обеспечивается через короткую программу-драйвер в составе операционной системы, так же, как и для других устройств ввода/вывода - флоппи-дисководов и RAM-диска.

    К сказанному можно добавить, что возможность работы в iS-DOS для SMUC’а является вторичной, дополнительной к режиму эмуляции на винчестере дисковой структуры TR-DOS. Это обстоятельство, а также работа винчестера под жестким контролем Теневого монитора со всеми присущими ему ограничениями - одновременный доступ не более чем к 4-м устройствам ввода/вывода, неполная программная совместимость в 128-м режиме (9-ю «банку» памяти использует сам «теневик») приводит к тому, что возможности iS-DOS здесь используются далеко не на «полную катушку». В то время, как контроллер IDE-DRIVE от всех этих ограничений свободен, допуская даже начальную загрузку с винчестера как классической версии iS-DOS, так и ее продвинутой модификации iS-DOS Chic.

    Здесь самое время и место, чтобы несколько отступить от темы и пояснить не кажущиеся очевидными на первый взгляд вещи. Вроде бы, уже никого не приходится убеждать в том, что компьютеру необходима операционная система. Но почему винчестером на Sinclair-совместимых компьютерах должна управлять не TR-DOS и почему это должна быть именно iS-DOS?

    Стоит напомнить тем, кто забыл, что дисковая система TR-DOS (коммерческое название: «Beta 128 Disk Interface», фирма-разработчик - Technology Research) не являлась в свое время за рубежом ни самой надежной, ни самой распространенной, ни хотя бы даже самой дешевой. А появилась она и стала распространяться в границах СНГ, в основном, в качестве скоростной замены чрезвычайно тормозному и не менее примитивному магнитофонному интерфейсу. Именно «тяжелому наследию» встроенного Бейсика TR-DOS обязана именами файлов лишь из восьми символов без расширений, дат, контрольных сумм, номеров версий и разрешений доступа. Отсюда следуют еще ограничения на физические параметры файловой системы: только непрерывные файлы, - а значит необходимость регулярного уплотнения дисков, - размером не более 64 Кб, в количестве не более 128 штук на одном диске (включая удаленные), и наконец, неумение «обходить» сбойные участки и предельный объем самого диска в 640 Кб. Если что-то в этом списке и пропущено, то внимательный читатель сможет дополнить его самостоятельно. Тем не менее, даже такое «собрание заблуждений» было в начале 90-х годов значительным шагом вперед, хотя и понадобилось несколько лет, чтобы перевести основной парк Sinclair-совместимой техники и массу программного обеспечения на TR-DOS’ные «рельсы».

    Довольно долгое время даже такой убогой DOS вполне хватало, - ведь основными видами «софтвера», использовавшегося на Sinclair-совместимых компьютерах, были игры, адаптированные к загрузке с диска, и относительно несложные прикладные программы. Но с течением времени спектр задач, выполняемых с помощью домашних компьютеров, значительно расширился и хранение данных на дисках в системе TR-DOS все меньше и меньше стало удовлетворять возросшим требованиям к технологии обработки больших объемов информации.

    В мире персональных компьютеров подобные проблемы решались с помощью более скоростных и емких внешних запоминающих устройств: накопителей на жестких магнитных дисках, от которых в значительной степени стала зависеть производительность электронно-вычислительных машин. Вполне логичным было принять за основу этот хорошо зарекомендовавший себя принцип и в сфере домашних Sinclair-совместимых компьютеров. Но здесь возникла проблема, весьма образно описанная литературным классиком: «В одну телегу впрячь не можно коня и трепетную лань». Говоря другими словами, разработки продвинутых, интеллектуальных интерфейсов для винчестеров (IDE, E-IDE, SCSI) велись с учетом их последующей работы в среде профессиональных дисковых операционых систем, рядом с которыми TR-DOS и близко не стояла. Поэтому предложенные к настоящему времени концепции взаимодействия «TR-DOS-винчестер» больше напоминают различные способы пропихнуть грузовик в калитку палисадника и, как правило, не идут дальше представлений о винчестере, как о виртуальном аналоге большой коробки с дискетами TR-DOS.

    Таким образом, становится очевидным, что при желании организовать работу Sinclair ZX-Spectrum с «винтом» на действительно высоком уровне, возможностей TR-DOS совершенно недостаточно и для этой цели должна быть задействована какая-то иная дисковая операционная система.

    Справедливости ради следует вспомнить, что в период синклеровского ренессанса в пределах СНГ на платформе были реализованы несколько разных дисковых операционных систем. Самые известные из них: варианты классической CP/M, пришедшей на Sinclair с других 8-разрядных платформ, эффектно оформленная отечественная разработка - Domen OS, и дружно ругаемая многими синклеристами за «тормознутость», iS-DOS.

    Но из них Domen OS вряд ли может представлять из себя конкурентоспособного претендента на управление винчестером, поскольку авторы системы больше уделили внимания внешней стороне, чем тщательной проработке вопросов взаимодействия с периферийными устройствами. К тому же пользователи, «распробовавшие» эту систему, зачастую отмечают ее «глюкавость», что лишний раз подтверждает профессиональные оценки ресурсоемкости создания настоящих, коммерческих программных продуктов, - а именно то, что отладка, «доведение», продвижение, сопровождение и поддержка ПП занимает львиную долю усилий программистских фирм, по сравнению с просто программированием. А без них подобная работа, пусть и немалая сама по себе, остается всего лишь некоторым объемом машинного кода, а не полноценным программным продуктом, - в данном случае, операционной системой.

    По поводу CP/M также сказано немало. Достаточно полно тема «CP/M на Спектруме» раскрыта в статье «Интервью...» из питерского электронного журнала «ZX-Format» N4, вышедшего еще в июне 1996 г. Можно лишь напомнить, что основное, чем по мнению пользователей хороша CP/M, это наличием профессионального программного обеспечения. Таким образом, морально устаревшая, хотя и неплохая для своего времени настоящая профессиональная операционная система CP/M существует только благодаря изрядному количеству программ под нее, правда уже не игровых, как в TR-DOS, а системных, прикладных и инструментальных.

    Но опытные пользователи CP/M могут подтвердить, что для пользователя эта система достаточно неудобна. Раздражает отсутствие подкаталогов, стандартной поддержки графического дисплея, удобной файловой оболочки, очень слабо развитая система команд DOS, невысокая скорость работы программ, главным образом, из-за посимвольного вывода информации на дисплей, и многое другое. Среди отечественных Sinclair-клонов одним из наиболее продуманных в плане взаимодействия с CP/M является Sinclair Profi, в котором главная прелесть этой системы заключается в собственном(!) BIOS’е, значительно расширенном по сравнению со стандартным BIOS’ом CP/M-80. Именно с его помощью для Profi были написаны лучшие программы, которыми пользовались практически все, кто имел дело с этой машиной. И как раз это обстоятельство служит достаточно наглядным примером того, что возможностей, имеющихся в ОС CP/M сегодня уже явно недостаточно. Дополнительным свидетельством этому является тот факт, что хотя аппаратно винчестер под управлением CP/M и был подключен к Sinclair-совместимым компьютерам серии «ATM» еще в начале девяностых годов, но он так и остался там невостребованным для большинства пользователей «мертвым грузом» в конструкции компьютера.

    В ОС iS-DOS также есть свои узкие места. Это, к примеру, более жесткие ограничения на использование адресного пространства оперативной памяти, частые обращения к диску (а точнее, - к системному устройству, это принципиально!) и связанное с этим понижение быстродействия. Но на самом деле это набор разумных и взаимосвязанных компромиссов, логично вытекающих из архитектуры восьмиразрядного процессора Z80 и основанного на нем семейства клонов Sinclair-совместимых машин. Это позволяет, несмотря на такие «недостатки», организовать эксплуатацию компьютера с максимальной эффективностью. Попытки «улучшить» систему или создать новую за счет оптимизации какого-либо параметра, неизбежно приводят к ослаблению за счет остальных. В результате получается либо ухудшенная версия iS-DOS (пример - «DosX»), либо другая система с заведомо худшими пользовательскими качествами (не путать с техническими характеристиками!).

    К примеру, 25-килобайтное ядро iS-DOS, располагающееся в «верхушке» ОЗУ, по сравнению со 112 байтами, занимаемыми TR-DOS, выглядит чуть ли не монстром, пожирающим всю память на своем пути. Но зато максимально облегчается фирменная отладка, сопровождение и развитие системы, для которого теперь уже не требуется наличие программатора ПЗУ. А прикладным программистам уже совершенно необязательно городить «свои» процедуры, в то время как можно пользоваться готовой библиотекой системных рестартов, - достаточно придерживаться внутрисистемных соглашений и стандартизованных точек входа.

    Или, скажем, «дискоубийство». Повышенный износ дискет имеет место, если в качестве системного устройства используется флоппи-дисковод. Но если не забывать, что современный парк реальных Sinclair-совместимых компьютеров примерно на 90% состоит из машин с памятью не менее 128 Кб, то окажется, что практически всегда есть возможность организовать в верхней или расширенной памяти RAM-диск с системными файлами, который значительно уменьшит, а при достаточно большом объеме доступной памяти и вовсе может исключить обращения к флоппи-дисководам. Еще сильнее меняет приоритеты винчестер, - там и вовсе дисковод нужен только от случая к случаю, уже абсолютно независимо от объема оперативной памяти.

    Есть и еще одно соображение. На создание iS-DOS, по оценке одного из ее разработчиков, было затрачено более десяти человеко-лет. Такие трудозатраты позволили достаточно оптимально «вылизать» машинный код системы. Но помимо этого, еще больше ресурсов времени и средств было вложено в ее документирование, окружение системными и прикладными утилитами и программными пакетами, продвижение в качестве стандарта, преодолевая инерцию пользователей, а сопровождение и информационная поддержка ведутся и по сей день. Но сейчас запас прочности платформы гораздо меньше, чем десятилетие назад, и проекты хотя бы сравнимого масштаба попросту невозможны.

    Таким образом, несмотря на то, что не существует и не может существовать прямого запрета на использование винчестера под управлением какой-то иной DOS, - реально существующей или проектируемой, - в сложившихся условиях только iS-DOS может удовлетворить большинству противоречивых требований, предъявляемых к такому использованию, не теряя совместимости с парком современных Sinclair-моделей и не требуя глобальных аппаратных изменений в их архитектуре.

    Строго говоря, тема операционных систем на Sinclair требует более детального изложения, но это выходит за рамки данной публикации. Поэтому здесь приведены в основном лишь те выводы, без которых затруднено понимание концепции взаимодействия «винчестер-компьютер».


    Продолжение следует.


    Литература.

    1. (c) MicroART. «Персональный компьютер TURBO 2+. Инструкция по сборке и настройке», с. 28. - Москва, 1993 г.

    2. Ермаков Л., Свиридов К., (c) Slot Co. Ltd. «Контроллер винчестера (IDE) для ZX Spectrum». - ZX-Ревю N3/96, с. 45. МКП «Инфорком», Москва, 1996 г.

    3. Веремеенко С. «Винчестер для ZX-Spectrum». - ZX-Ревю N4-5/96, с. 15. МКП «Инфорком», Москва, 1996 г.

    4. Тимонин М. «TR-DOS и винчестер братья навек?» - Абзац N10, с. 7. Perspective group, г. Вологда, 2002 г.

    5. Фирма Scorpion & MOA. «SMUC (Scorpion & MOA universal controller) Универсальный Контроллер HDD, CMOS, NVRAM, IBM периферии. Инструкция по подключению и работе v1.3», с. 17. - С.-Петербург, 1996,97.

    6. Шарапов Б. А., (c) Nemo, (c) Леонтьев А. Г. «KAY-1024. Руководство по эксплуатации». - Москва, 1999-2000 г.

    7. (c) Nemo, (c) IskraSoft. «Контроллер IDE/AT винчестера для ZX Spectrum с операционной системой IS DOS». Лист-паспорт, 1998 г.


    Ссылки по теме:

    IDE HDD на Sinclair. Часть 2. Теория, без которой практика мертва [№21]
    IDE HDD на Sinclair. Часть 3. От простого к сложному [№22]


    © 2004-2013 Perspective group