On-Line
#17
31 декабря 1995 |
|
Страничка СисОпа - "Взлет лихой , посадка ... зайцем." (о системе IS-DOS).
╔══════════════════════════════════════════════════════════════╗ │ iS-DOS: ВЗЛЕТ ЛИХОЙ, ПОСАДКА... ЗАЙЦЕМ? │ │ ИЛИ │ │ 2:1 В ПОЛЬЗУ TECHNOLOGY RESEARCH. │ ╚══════════════════════════════════════════════════════════════╝ Осенью 1992 года на рынке программного обеспечения для ZX-Spectrum совместимых компьютеров появилась новая перспектив- ная операционная система iS-DOS, созданная Питерской фирмой ISKRA-SOFT и широко разрекламированная на страницах ZX-Ревю в 1993-94 гг. Начитавшись о новых, доселе невиданных возможностях, вла- дельцы "Спектрумов" всех мастей и расцветок бросились разыски- вать и скупать все доступные диски с этой системой, благо, в то время, разработчики системы ударно трудились на плодотворной ни- ве пополнения парка программ и систем для нее, обещая нам пере- ход на новый уровень и стиль программирования и мегабайты удиви- тельного матобеспечения. Строились дерзкие предположения, что максимум через год основная операционная система для Speccy - старушка TR-DOS уступит свое место новорожденному чаду "Искры" и станет не более, чем прислужницей новой "доски". Однако, время рассудило по-иному и пламени из искры так и не было суждено разгореться. Сейчас, по прошествии нескольких лет, TR-DOS не только не собирается капитулировать, но, не без непос- редственного участия наших прославленных и малоизвестных коде- ров и хаккеров, переживает свое второе рождение, увлекая на свою сторону ярых поклонников iS-DOS, коим являлся и Ваш покорный слуга. Поэтому мне трудно писать заметки на подобную тему, осо- бенно под таким заглавием, но я все-же постараюсь быть обьектив- ным и справедливо рассмотреть достоинства и недостатки обеих систем, не возводя напраслину ни на одну из них. Итак, благодаря "стараниям" ISKRASOFTа и SLOTа iS-DOS скати- лась с гребня популярности и спрос на нее не просто упал, а вообще исчез. Теперь уже никто не спрашивает у продавцов на рын- ке тот или иной iS-DOS диск. Стоит обратить внимание и на тот факт, что даже в "Инфоркоме" не осталось сейчас и десятой доли того "iS-DOS изобилия", что было, скажем, полгода назад. Видимо, M.Helloween все-таки был не прав, призывая в N 1 ZX-Ревю за 1994 год к переносу программного обеспечения на iS-DOS и наведению порядка на дисках. Похоже, время iS-DOS прошло и ее быстрый взлет может обернуться, в лучшем случае, аварийной посадкой. В чем причина такого положения вещей? В принципе, ответ на этот вопрос не требует детальных пояснений, но все-же попытаем- ся на него ответить. Заранее прошу прощения у асов программирования за то, что бу- ду излагать элементарные вещи. Но ведь ON-LINE газета для всех, поэтому и пишу я для всех. Также извините и за возможные неточ- ности и ошибки. Во всяком случае я буду рад любой критике, заме- чаниям и пожеланиям. Как известно, iS-DOS работоспособна на машинах с обьемом ОЗУ начиная с 48 килобайт и занимает верхние адреса памяти. В зави- симости от конфигурации системы адрес расположения ядра может изменяться. При установленных пяти уровнях ядра он равен 50400 (#C4E0). Таким образом эти пять уровней занимают около 15 кило- байт. Непосредственно перед ядром располагается область, отведен- ная под драйверы и резидентные задачи. Еще ниже находятся откры- тые на данный момент каналы, т.е. непрерывные участки памяти, используемые системой и программой пользователя для временного хранения или передачи переменных и параметров. Спускаясь еще ниже от RAMTOP мы обнаруживаем еще один инте- ресный и немаловажный участок памяти, а именно кэш (cache) или виртуальный диск. По сути дела это быстродоступная копия тех секторов диска, обращение к которым происходит наиболее часто. Размер кэша задается в блоках по 260 байт. Минимальный размер его составляет 6 блоков, т.е. 1560 байт. Однако, в этом случае работа iS-DOS с диском страшно затормозится и станет напоминать адские муки, тем более, что обращаться к диску iS-DOS очень лю- бит. По умолчанию эта величина принимается равной 29 блокам (7540 байт). Всех, кому интересно почему это сделано так, а не иначе и откуда взялись именно такие значения обьема виртуально- го диска, я отсылаю к литературе, список которой приведен в кон- це статьи. И, наконец, область с адреса 23900 (#5D5C) до начала кэш-па- мяти предоставлена в распоряжение пользователя. Реально пользо- ватель может рассчитывать на 6188 байт памяти, т.е. немногим бо- лее 6 Кб. Признаться, я был немного обескуражен, когда, попытав- шись что-то написать на ассемблере под iS-DOS, был ткнут носом в эти самые 6 К. Ощущение, признаюсь, как в гробу - узко, тесно и никакой свободы движений. Разумеется, умело оперируя размером кэша можно обойти эту проблему и увеличить размер свободной области памяти. Однако, и при таком подходе Вы все равно проиграете, поскольку памяти Вам так и так не хватит, а подзагрузки с диска будут отнимать больше времени, чем обычно, т.е. при размере виртуального диска, уста- новленном по умолчанию. Как видите, Вы будете вынуждены написать кучу оверлейных мо- дулей для своего творения и, возможно, собственный уровень ядра. В руководстве программиста в среде iS-DOS Вам так и советуют: напишите свой уровень, подключите его и обращайтесь к нему по мере необходимости. Да, еще не забудьте сообщить системе табли- цу рестартов вашего уровня, а то ничего из этой затеи не выйдет. Перерыв весь доступный максимум (он-же минимум) литературы по iS-DOS я так и не нашел каких-либо указаний на то, как-же все-таки передать системе эту злополучную таблицу. Пришлось пот- ратить время на взлом пары баз данных (представляете, какая это задача - вскрытие программ под iS-DOS?) и выяснить, в конце кон- цов, что сообщать, оказывается, ничего и не нужно. Просто распо- ложи эту таблицу непосредственно перед кодами своего уровня и дело сделано. Читатель, мало-мальски знакомый с возможностями iS-DOS и аза- ми программирования в ней, может упрекнуть меня в том, что най- дется еще пара способов увеличить свободную память. Например, удалить два верхних уровня ядра - 3 и 4 (win.sys и shell.sys соответственно). Я согласен, конечно можно, но в результате про- падает возможность работы с панелями и окнами и вдобавок возни- кает необходимость всякий раз после выхода из вашей программы перезагружать ядро системы в память, что не так приятно. Об оконной системе, зашитой в код iS-DOS, можно сказать нес- колько подробнее. И начать надо с того, что это не так уж плохо иметь под рукой готовый оконный интерфейс, причем с довольно грамотно реализованной системой меню. Но, опять-же, объем памя- ти накладывает некоторые ограничения на применение данного ин- терфейса. Во-первых, каких-бы размеров окно Вы не открыли, кар- тинка под окном не сохранится, поскольку лишней памяти для это- го не существует даже в 128-ой машине. Во-вторых, управление пе- ремещением курсора по меню задано раз и навсегда и никакому из- менению не подлежит. В-третьих, само меню может быть только вер- тикальным, а вот для реализации горизонтального меню, располо- женного вдоль экрана, Вам в любом случае придется писать свои процедуры, безжалостно разбазаривая драгоценнейшие байты памяти. Итак, с использованием памяти в iS-DOS мы в общих чертах ра- зобрались. Посмотрим теперь, как в этой системе планируется дис- ковое пространство, а после этого перейдем к рассмотрению сущес- твующего программного обеспечения. Уважаемый Читатель, возьми любой iS-DOS диск и внимательно посмотри содержимое его основных каталогов (я имею в виду SHELL, SERVICE, UTIL и т.п.). Если ты не являешься счастливым обладате- лем 128-го компьютера (впрочем, это может относиться и к счас- тливым обладателям оного), ты заметишь, что до 1/3 диска зани- мают файлы, необходимые для корректной работы системы. Оставшие- ся 60-70 % дискового пространства отдаются на нужды пользовате- ля. Таким образом, из 800 кБ на iS-DOS диске можно использовать лишь 500-600 кБ. К тому-же, эти, ключевые для системы файлы, должны присутствовать на любом iS-DOS диске, исключая только ар- хивные. Постой, скажете Вы, но ведь и MS-DOS держит на диске файлы системы и никаких претензий к IskraSoftу в этом отношении возникать не должно. Да, правда ваша, но ZX-Spectrum это Вам не IBM и даже 5-ти мегабайтным винчестером он не обладает, поэтому вопросы рационального использования дискового пространства с по- вестки дня не снимаются. Несколько слов о формате диска в iS-DOS. В отличие от TR-DOS эта система при форматировании создает на дорожке не 16 секто- ров по 256 байт, а 5 секторов по 1024 байт. Такой формат позво- лил разработчикам системы не только увеличить объем диска до 800 Кб, но и сделать диск автостартующим при выполнении не только стандартной команды запуска TR-DOS RUN, но и таких, как LIST или CAT. Результатом реализации такого решения явилась полная несов- местимость iS-DOS и TR-DOS дисков. Для переноса файла из одной системы в другую приходится потратить некоторое количество вре- мени на копирование файлов, преобразование их (если нужно) в соответствующий формат и т.п. А после этого мы удивляемся поче- му iS-DOS стала тормозить еще больше, чем прежде. В конце кон- цов оказывается, что программы переноса файлов to_tr.com и from_tr.com безжалостно урезают кэш. А что-же творится на фронте программного обеспечения для iS-DOS? За три с лишним года существования системы для нее, кро- ме ФОРТа и АССЕМБЛЕРа, не было создано ни одного языка, ни од- ной системы программирования. "А iS-DOS БЕЙСИК?" спросите Вы. Но, простите, и TR-DOS поддерживает БЕЙСИК, причем более демок- ратично относясь и к кодеру и к хакеру. Попробуйте в iS-BASICе создать что-нибудь, хотя-бы для расчета вашего курсового/диплом- ного проекта в техникуме или институте. Куда Вы денете, напри- мер, файл данных, если места в памяти не хватает даже для самой программы, не говоря уж о том, что файлов данных как таковых в iS-BASICе не существует? О ФОРТе и других пакетах мы поговорим чуть позже, а сейчас обратимся к, пожалуй, единственной достой- ной и грамотно написанной iS-DOS программе - редактору текстов. Я не погрешу против истины, если скажу, что iS-DOS EDITOR мо- жет по праву называться профессиональным редактором текстов. Если-бы не система, под которую этот редактор был написан, он составил-бы отличную конкуренцию ZX-WORDу, Fwordу, SpeccyWrite и EDITORу, не говоря о TLW. Возможно, что именно он и стал-бы стандартом де-факто на текстовый редактор для создания текстов и посланий, документации и статей. По сравнению с другими, упомя- нутыми мной выше редакторами, iS-DOS EDITOR обладает мощными возможностями по форматированию, контекстному поиску и замене, печати текста. Хотите перейти к любому номеру строки в тексте? Пожалуйста! Хотите вставить в текст содержимое другого файла? Пожалуйста! А как Вам нравится "резиновая" псевдографика? Зачем мучиться в поисках клавиши, на которую подвешен символ левого верхнего угла рамки, когда можно клавишами управления курсором запросто нарисовать всю рамку, причем, либо двойную, либо оди- нарную, а при необходимости и вообще стереть ее. Да и на объем текста никаких ограничений нет, ведь текст почти полностью раз- мещается на диске, а в памяти хранится только его рабочий кусок. Конечно, это замедляет работу с редактором, но не настолько, чтобы раздражаться и начинать помогать пальцем крутиться диско- воду. К преимуществам редактора стоит отнести также и работу в альтернативной кодировке. Говоря об iS-DOS EDITORе нельзя не упомянуть и другие прог- раммы для работы с текстами, как то: программу просмотра тек- стов (tv.com) и архиваторы текстов (arctext.com, unarc.com, arcview.com). ТV.COM, например, обладает такой замечательной возможностью, как просмотр текста на экране без нажатия на ка- кие-либо клавиши. То есть, Вы сидите перед экраном, на котором снизу вверх или сверху вниз плавно проплывают строчки. Ну, а скорость скроллинга Вы можете изменять на свой вкус, страх и риск. Рассмотрим вкратце другие пакеты программ для iS-DOS и нач- нем, пожалуй, с другого редактора - графического. 1. ГРАФИЧЕСКИЙ РЕДАКТОР PICASSO. Коль скоро речь зашла об этом редакторе, так давайте простим его автору элементарные грамматические ошибки, которыми пестрят меню и документация, тем более, что дело совсем не в них. Так-же обойдем своим вниманием вопросы, связанные с "тормознутостью" этого пакета даже на 128-х машинах. Дело не в том. Вопрос к разработчику ставится несколько иначе: зачем было делать программу, практически пол- ностью аналогичную "ARTIST II" и использовать ее интерфейс, тем более, сводя исходные возможности до минимума, в то время как совершенно спокойно можно нарисовать любую картинку, используя и ArtStudio, и Artist, а потом, при помощи стандартных, я подчер- киваю, стандартных средств iS-DOS перенести этот файл на нее? Конечно, мне можно возразить, ибо Picasso позволяет создавать картинки большего, чем стандартный экран размера. Ну и что? Ведь не это является основным критерием выбора того или иного графи- ческого редактора, тем более, что экран у пользователей как iS-DOS, так и TR-DOS имеет один и тот-же размер, а вот принте- ром обладают далеко не все. 2. iS-DOS ASSEMBLER. В целом это тот-же самый старый добрый Gens, дополненный десятком новых директив плюс возможностью со- бирать готовые программы из нескольких объектных модулей. А вот теперь представим себе старого заядлого поклонника TASMа, решившего расширить границы своего творчества за пределы TR-DOS и переделать их под детище "ИскраСофта". Но он не привык ждать результата ассемблирования десяток минут! Поэтому он вско- ре чихнет на это дело и переформатирует свой диск с iS-DOS Ассемблером под TR-DOS ни смотря ни на что. Я не хочу сгущать и без того мрачные краски, но для программирования (уточню - серьезного программирования) в iS-DOS, если закрыть глаза на все ее нелицеприятности, необходим как минимум отладчик типа MONS, не говоря о большем. Подобного отладчика iS-DOS не имеет до сих пор. 3. БАЗА ДАННЫХ DATALOG. Пожалуй, наряду с редактором текстов, это единственная iS-DOS система, которая смогла-бы составить конкуренцию подобного рода матобеспечению под TR-DOS. Пусть же- лающие ознакомятся с этой базой данных и посмотрят, нужно им это или нет... Хотя, как и все, написанное под iS-DOS, Datalog мо- жет отпугнуть Вас своей заторможенностью. Что-же касается TR-DOS, то лично мне известны только две более или менее достой- ных базы данных, работающих с ней. Это, разумеется, Masterfile, а также BK-Cardfile, распространяемая по каналам "Инфоркома". 4. FORTH. Сама идея реализации этого языка на iS-DOS мне не- понятна, поскольку он является "языком для избранных", т.е. не каждому он нужен и не каждый сможет на нем писать. Тем более, что данная реализация сама по себе глючная. Какой смысл иметь на Speccy очередной компилятор, который без присутствия в памяти самого компилятора не запустит ни одну свою программу. И это - при тотальном дефиците свободной памяти. 5. ЭЛЕКТРОННЫЕ ТАБЛИЦЫ И ЭЛЕКТРОННАЯ ЗАПИСНАЯ КНИЖКА. Здесь все тоже самое, а именно, низкое быстродействие, минимум серви- са и минимальный интерфейс с пользователем, хотя, внутренние средства iS-DOS позволяют создавать довольно мощный оконный ин- терфейс. В общем эти разработки выглядят довольно убого по срав- нению с подобными системами, написанными под TR-DOS. О таких iS-DOS системах, как Lotus или Англо-Русский словарь я сказать ничего не могу, поскольку мне не довелось познако- миться с ними. С другой стороны относительно словаря замечу, что он не так уж плохо реализован в упомянутой мной выше картотеке BK-Cardfile. О причинах, побудивших разработчиков системы напи- сать такие программы, как Склад, Материальные Ценности, Магазин я, думаю, говорить не стоит. Конечно, приятно осознавать, что наш старый добрый Спекки способен выполнять те-же задачи, над которыми до седьмого пота бьются IBM. Но, с другой стороны, за- чем было писать программы, будущее которых изначально было на свалке или в доброй памяти программистов, ведь даже в самой за- худалой конторе из вычислительной техники найдешь в худшем слу- чае арифмометр "Феликс-М" или калькулятор Citizen, но не уви- дишь гордых букв ZX... Как видите, большинство проблем, связанных с iS-DOS, упирает- ся в одно и то-же, а именно, в катастрофическую нехватку памяти при написании собственных программ. Конечно, обычному пользова- телю или игроку это все не нужно, впрочем, как и сама iS-DOS. А вот кодеру или хакеру придется изрядно попотеть, прежде чем он убедится, что у него ничего не получится. И лучшим выходом из создавшегося положения будет плюнуть на iS-DOS и подобно блудно- му сыну вернуться в лоно старой доброй TR-DOS. Единственные, ко- му еще может оставаться полезным произведение IskraSofta, так это "писатели", тратящие большую часть машинного времени на соз- дание и распечатку всяческих текстов. "Так что-же", - спросит пользователь. - "Неужели брать и переформатировать все iS-DOS диски под TR-DOS?" Нет, конечно. Все диски переформатировать не надо. Можно оставить некоторые из них, например, базовый комплект, разумеется, диск с редактором и рабочими текстами, базу данных DATALOG. Поверьте мне, они ког- да-нибудь еще Вам пригодятся. А вот остальное... Остальное - де- ло вкуса и привязанностей каждого, хотя еще раз отмечу, что программы, работающие под TR-DOS справятся с поставленными пе- ред ними задачами гораздо лучше, быстрее и эффективнее. Зачем-же IskraSoft создавала новую операционную систему? Неу- жели только для того, чтобы максимально "IBM-изировать" Спек- трум? Или для того, чтобы заявить о себе? Пусть этот вопрос ос- танется открытым. Лучше, если на него ответите Вы, уважаемые чи- татели. Мне-же кажется, что iS-DOS создавалась для того, чтобы писать программы под... iS-DOS. Хотя, мое мнение может и не яв- ляться справедливым. А Вы как считаете? ╔═══════════════════════╗ ║ Л И Т Е Р А Т У Р А ║ ╚═══════════════════════╝ 1. Программирование в среде iS-DOS. Руководство программиста. "ИскраСофт", С-Пб.; "Слот", Москва. 1994. 2. Операционная система iS-DOS. Руководство пользователя. "ИскраСофт", С-Пб.; "Слот", Москва. 1993. 3. А. Леонтьев, А. Демидов. Краткий курс истории iS-DOS. ZX-Ревю N1-1994, стр. 7. 4. М. Головин. Адаптация игровых программ системы TR-DOS к профессиональной системе iS-DOS. Там-же, стр. 10. 5. В гостях у фирмы "SLOT" (интервью). ZX-Forum 1, стр. 38. 6. М. Головин. Опыт программирования в операционной системе iS-DOS. Пример написания драйвера принтера. Там-же, стр. 47. 7. И. В. Лесных. iS-DOS (.exe - файлы). ZX-Ревю N5-1995, стр. 13. 8. Что-же такое iS-DOS? ZX-Ревю N3-1994, стр. 57. 9. iS-DOS. ZX-Ревю, сборник за 1993 г., стр. 190. ═══════════════════════════════════════════════════════════════ Hallowe'en Research Inc 24 dec 95
Другие статьи номера:
B.B.S. Новости - О работе B.B.S.'ок. |
Мозаика - Способ обращения к диску путем "непосредственного программирования ВГ93. О электронной газете "Dl News". О картинках формата PCX. |
Реклама - Реклама и объявления ... |
Страничка СисОпа - "Взлет лихой , посадка ... зайцем." (о системе IS-DOS). |
Похожие статьи:
В этот день... 16 октября