История развития программного обеспечения

Пакет PTS-DOS Extended 6.4

Современная операционная система для ПК на одной дискете – факт, сам по себе вызывающий удивление. А ведь на той же дискете находится еще и набор утилит, программы создания и поддержки одноранговой ЛВС на 256 машин и мощная оболочка. Пожалуй, с пакетом PTS-DOS стоит познакомиться поближе.

Инсталляция системы

Разумеется, перед тем, как вставлять в дисковод инсталляционную дискету PTS-DOS, следует "на всякий пожарный случай" запастись загрузочной дискетой прежней операционной системы. Однако программа инсталляции PTS-DOS при нормальной работе не только обеспечивает возможность деинсталляции, но даже позволяет установить PTS-DOS так, чтобы при необходимости можно было поработать и с предыдущей ОС. Два скрытых файла PTS-DOS имеют уникальные имена (ptsbio.sys и ptsdos.sys), а командный интерпретатор command.com помещается не в корневой каталог диска С:, а в каталог PTSDOS. Два других системных файла называются autopts.bat и config.pts (при их отсутствии PTS-DOS будет использовать файлы с именами autoexec.bat и config.sys); таким образом, все файлы вашей прежней операционной системы, например MS-DOS, сохраняются.

Процесс установки не таит неожиданностей: вы вставляете дискету (пяти- или трехдюймовую) в дисковод А:, перезагружаете компьютер, набираете A:install и отвечаете на вопросы, задаваемые по-русски (если вы работаете, как это было у нас, с русскоязычной версией PTS-DOS 6.42; на Западе распространяются также англоязычная и немецкоязычная версии). Кстати, русификация экрана и клавиатуры выполнена на уровне ядра системы. Инсталляционная программа определит тип процессора вашего компьютера и размер оперативной памяти, после чего автоматически установит оптимальную, по мнению разработчиков, конфигурацию DOS. Опытный пользователь может ее изменить – правда, только вручную, поправив файл config.pts. Разработчики предупреждают, что PTS-DOS может быть не всегда совместима с форматами жестких дисков, созданными в других ОС, но мы ни разу не столкнулись с такой проблемой (все диски, с которыми мы имели дело, были в свое время проинициализированы программами fdisk и format из разных версий MS-DOS и PC-DOS).

После установки PTS-DOS вы снова перезагружаетесь, и на экране появляется следующее меню (для машин с процессором 386 и выше):

Выберите секцию загрузки
[F]1. STANDARD Windows compatible
[F]2. NO WINDOWS
[F]3. WINDOWS INSTALL
[F]4. OLDDOS

Выбор нужной секции осуществляется нажатием на клавиши <1>–<4> или <F1>–<F4>. Если выбран первый вариант (режим STANDARD), система загружается в верхнюю память, оставляя "внизу" часть ядра, занимающую примерно 29 Кбайт. После этого можно запускать Windows 3.1 – никаких проблем с совместимостью нами не обнаружено. Кстати, режим STANDARD совместим с диспетчером расширенной памяти emm386.exe из комплекта Windows, и при его установке встроенная команда loadhigh начинает загружать программы в верхнюю память. Собственного диспетчера памяти PTS-DOS, в отличие от MS-DOS, не имеет.

В режиме NO WINDOWS (второй вариант) PTS-DOS загружается почти целиком в верхнюю память ("внизу" занято всего 3 Кбайт), что достигается за счет отказа от совместимости с Windows. При этом, правда, не запускается emm386.exe, и чтобы размещать резидентные программы в верхней памяти, потребуется приобрести и установить программу qemm386 фирмы Quarterdeck Office Systems. Можно и просто отказаться от использования команды loadhigh – ведь чаще всего большой объем обычной памяти требуется для игр, а они в резидентных утилитах не нуждаются.

При выборе режима WINDOWS INSTALL создается минимальная конфигурация, необходимая для инсталляции Windows 3.1 и некоторых других программ. В последнем случае (режим OLDDOS) работа происходит в прежней операционной системе.

Оболочка СР

Созданный программой инсталляции PTS-DOS файл autopts.bat запускает оболочку СР (Command Processor), напоминающую по возможностям программу Norton Commander версии 4, но (в отличие, например, от популярной свободно распространяемой оболочки Volkov Commander) имеющую непохожий интерфейс. В режимах загрузки STANDARD и NO WINDOWS на машинах с процессором 286 и выше СР автоматически загружается в верхнюю память ("внизу" остается часть размером около 1 Кбайт). В результате на машине с процессором 286 и 1 Мбайт памяти после загрузки PTS-DOS во втором режиме и запуска СР остаются свободными 633 Кбайт обычной памяти (рис. 1) – загрузив на той же машине MS-DOS и NC, вы получите в свое распоряжение менее 620 Кбайт. Для процессора 386 преимущество PTS-DOS будет не столь впечатляющим, но тоже заметным.

Список загруженных программ
PSP Имя Тип Размер Ком. строка Прерывания
009Ch HIMEM286 дрвр 1 КБ    
00E2h COMMAND пргм 2 КБ /Р C:\AU 23 24 2Е 2F
0150h AUXILARY прлж 1 КБ    
015Ah AUXILARY прлж 1 КБ    
016Ch СР пргм 1 КБ    
018Dh AUXILARY прлж 1 КБ    
01B0h AUXILARY прлж 1 КБ    
  655.360 байт всего обычной памяти
  648.432 байт свободно обычной памяти
  648.304 наибольший размер загружаемой программы
  65.536 байт всего непрерывной расширенной памяти
  0 байт доступно непрерывной расширенной памяти
  PTS-DOS находится в области высокой памяти

Фрагмент полной карты памяти (команда MEM /А) для компьютера с процессором 286 и ОЗУ объемом 1 Мбайт.

Экран СР имеет несимметричные панели (активная – всегда левая – больше); перемещение по дереву каталогов возможно на обеих панелях, только на пассивной это чуть сложнее (рис. 2). В целом интерфейс СР довольно удобен. Правда, его потребуется осваивать, в то время как Norton/Volkov Commander любому российскому пользователю знаком до мелочей, но зато СР приобретается легально за "смешные" деньги вместе с PTS-DOS и обладает рядом преимуществ перед NC.

Основной экран оболочки CP

Основной экран оболочки CP

Скажем, по нажатию на клавиши <F3> и <F4> в СР, как и в NC, вызываются встроенные программы соответственно просмотра и редактирования файлов, но гораздо более мощные. Помимо знакомых пользователям NC групповых операций над выделенными файлами – копирования, перемещения и удаления – СР позволяет применить к группе файлов практически любую команду DOS (имена файлов будут переданы в качестве параметров).

В состав пакета СР (инсталлируемого в подкаталог СР каталога PTSDOS) входят простая коммуникационная программа (предусматривающая работу в фоновом режиме и использование быстрого протокола ZMODEM), база данных, калькулятор, "записная книжка", утилиты форматирования и "лечения" дискет, аналогичные соответствующим функциям программы Disktool пакета Norton Utilities 6.0, антивирусный комплект и многое другое.

Какая же DOS без "удвоителя пространства"?

В составе PTS-DOS имеется собственная система динамического сжатия данных на диске, совместимая с Windows и обеспечивающая вполне приемлемую степень сжатия и скорость работы. Она очень компактна (программа создания сжатого диска fcrea.com занимает 24 Кбайт, сам драйвер folder.sys – 60 Кбайт), но довольно примитивна и, к сожалению, несовместима с форматами других разработчиков.

Весь предоставляемый пакетом сервис сводится к тому, что вы вручную вставляете вызов драйвера folder.sys в файл config.pts и запускаете программу fcrea.com. Программа задает вопрос, все ли свободное непрерывное пространство вы хотите занять под сжатый диск, вы отвечаете, перезагружаетесь – и работайте на здоровье с новым логическим устройством. Никаких способов поменять размер логического сжатого диска с сохранением данных (как в пакетах Stacker или DoubleSpace) нет – вы можете только удалить скрытый файл folder.fld с физического диска (с потерей данных, если вы их перед этим не скопировали вручную), снова запустить fcrea.com, снова перезагрузиться... Разумеется, при "почти полном" диске эта процедура вас не спасет.

Однако не исключено, что спартанская простота программы folder окажется даже привлекательной для начинающего пользователя, которого подчас пугает навязчивый и запутанный сценарий установки и конфигурирования более "дружественных" систем сжатия.

Использование уникального формата сжатого диска, а также соображения авторского права привели к созданию утилиты дефрагментации диска (в том числе folder-диска). Утилита называется не очень удачно – Compdisk, из-за чего ее легко спутать с утилитой diskcomp, входящей в состав MS-DOS (собственной утилиты сравнения дискет в PTS-DOS нет). Compdisk может дефрагментировать не только folder-диск, но и обычный; впрочем, многие, вероятно, предпочтут пользоваться для этой цели испытанной утилитой SpeeDisk из пакета Norton Utilities – по крайней мере до тех пор, пока не уверятся полностью в надежности Compdisk.

Локальная сеть LOTLAN

Столь же непритязательно выглядит пакет программ, позволяющих установить одноранговую ЛВС Lotlan. Программа установки сети почему-то включена в состав оболочки СР и вызывается из ее меню. В результате создается простенький (5–6 строк) командный файл, запускающий драйверы сетевых адаптеров (возможные варианты – Ethernet NE1000/2000, RS-232 или устройства, использующие протокол IPX). Затем запускается программа redir.exe (для рабочей станции) или server.exe (для невыделенного сервера), после чего можно выполнять внешнюю команду net, устанавливающую связь машин друг с другом. Первый параметр команды определяет решаемую ею задачу. Так, команда net login регистрирует пользователя (рабочую станцию) на каком-либо сервере, a net use делает ресурсы сервера (как правило, жесткие диски) доступными для рабочей станции (создавая новые логические устройства).

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

Наряду с такими привычными возможностями, как работа с сетевыми принтерами, пакет Lotlan обеспечивает и удаленный запуск заданий на сервере.

Утилиты PTS-DOS

Большинство утилит, записываемых при инсталляции системы в каталог PTSDOS, совпадают по функции с одноименными утилитами MS-DOS. Аналоги есть почти у всех внешних команд MS-DOS (одно из исключений – упомянутое выше отсутствие программы сравнения дискет), и, как правило, утилиты PTS-DOS короче, а их интерфейс проще. "Лишние" параметры, характерные для утилит MS-DOS, пропускаются, не вызывая сообщений об ошибке – это сделано с целью обеспечить переносимость командных файлов. Некоторые внешние команды PTS-DOS (в частности, share.exe) представляют собой просто "заглушки", немедленно возвращающие управление системе, а соответствующие функции реализованы в ядре. Многим командам, которые в MS-DOS являются внешними, соответствуют внутренние команды PTS-DOS.

Хорошей иллюстрацией качества утилит PTS-DOS служит команда format (реализована как файл format.com длиной 7370 байт). Не отличаясь по интерфейсу от своего аналога в MS-DOS, она самостоятельно, без драйверов типа 800.com или pu_1700.com, обеспечивает разметку дискет с использованием нестандартных форматов. Работу с такими форматами PTS-DOS поддерживает средствами ядра.

Пакет PTS-DOS содержит и утилиты, не имеющие аналогов в поставке MS-DOS. Среди них особое место занимает компактный и мощный архиватор bsa – конкурент архиваторов arj и pkzip.

Ложка дегтя, или недостатки как продолжение достоинств

Потрясающая воображение "экономичность" PTS-DOS объясняется тем, что не только ядро системы, но и все остальные программы пакета написаны на ассемблере. Между тем авторитетные специалисты в области программирования уже несколько десятилетий предупреждают, что за краткость и быстродействие ассемблерных программ приходится платить: их отладка трудна, и много ошибок доживает до поздних стадий.

Так, уже несколько модификаций PTS-DOS имеют ошибку, бросающуюся в глаза: в русской версии неправильно вызывается подсказка к внутренним командам (перепутаны ссылки на текст подсказки). Аналогичная ошибка есть и в командном процессоре СР.

Программа инсталляции порой пытается разместить в верхней памяти компоненты, для которых там нет места (даже при полном отсутствии верхней памяти – скажем, на машине с процессором 286 и ОЗУ емкостью 640 Кбайт). При этом, например, таблица знакогенератора вообще не загружается; как следствие, команда display отказывается работать и компьютер остается нерусифицированным.

Бумажная документация PTS-DOS заключена по примеру западных продуктов в стандартную большую коробку, но, увы, совершенно не соответствует сложившимся стандартам по содержанию: она написана программистами для программистов, а не для пользователей. В маленьком коллективе фирмы "Физтех-софт" просто не нашлось места для профессионального составителя технических описаний. Пробелы в документации и ошибки в контекстной подсказке мешают правильно применять некоторые конструкции, и в результате создается впечатление, что они не работают.

Разработчикам необходимо "отловить" важнейшие ошибки, особенно в интерфейсе программ, и привести в порядок документацию. И то и другое – достаточно рядовые задачи, решение которых не требует экстраординарных усилий или финансовых вложений, поэтому хочется надеяться, что они будут вскоре решены.

Кто купит "русскую DOS"?

Отдельно следует подумать над четким определением сегмента рынка, который может занять PTS-DOS. Сегодня она конкурентоспособна как "запускалка" игровых программ (благодаря невысокой цене и компактности) и, пожалуй, как основная ОС вымирающей конфигурации "PC AT с ОЗУ емкостью 1 Мбайт".

Отечественного потребителя не очень привлекают преимущества мощных утилит PTS-DOS, поскольку он привык получать желаемое не "в пакете", а из разрозненных программ (свободно распространяются такие мощные средства, как драйвер pu_1700 и оболочка Volkov Commander). Западный же рынок требует все-таки гораздо большей "отделанности" систем.

По мнению экспертов немецкого журнала PC Praxis, переход на PTS-DOS оправдан для пользователя с хорошим или очень хорошим знанием системы, если он работает с прикладными программами для DOS, требующими много обычной памяти, либо заинтересован в дополнительных возможностях конфигурирования системных файлов, в более мощных командах или в командах с расширенным синтаксисом. Понятно, что это далеко не типичная ситуация – ведь основным для современной DOS (по крайней мере, на Западе) является применение вместе с Windows, при котором перечисленные преимущества теряются.

Однако "нетипичных" покупателей оказалось не так уж мало – ежемесячно "Физтех-софт" продает (непосредственно и через дилеров) несколько тысяч лицензий на свою ОС. Заключены контракты, по которым "русская DOS" будет устанавливаться на новые компьютеры (по большей части игровые). Система получила благожелательные отзывы на выставках CeBIT в 1993 и 1994 гг., вызвала большой интерес также на COMDEX'94. Прошел ряд очень положительных публикаций о ней в европейской (главным образом в немецкой) компьютерной прессе; в частности, очень высоко оценила эту систему пользующаяся большим авторитетом тестовая лаборатория журнала PC Welt.

Итак, продукт из России активно выходит на рынок однопользовательских ОС для ПК, где до сих пор были представлены только американские фирмы. А в "Физтех-софт" кипит работа: к концу 1995 г. планируется выпустить 32-разрядную PTS-DOS 7, а чуть позже – держись, Билл Гейтс! – PTS-Windows.

Об авторе: Александр Алмазович Суханов – преподаватель информатики в средней школе № 57 г. Москвы.

Статья опубликована в журнале "Мир ПК" №1, 1995 г., стр. 62. Перепечатывается с разрешения автора.