On-Line #17
31 декабря 1995
  IS-DOS  

Страничка СисОпа - "Взлет лихой , посадка ... зайцем." (о системе IS-DOS).

<b>Страничка СисОпа</b> -
╔══════════════════════════════════════════════════════════════╗
│	     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).


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Приёмы кодинга - Пара советов.
NASTALGY - Воспоминания о ZX...
Вступление - содержание номера.
How To Become The Best PC Swapper In The World ... EVER!
письмо newcommer'у - "спектрумист - это что, профессия такая? Я не понимаю. Неужели я должен делать что-то на благо спектрума просто потому, что люблю его?"

В этот день...   16 июля