Как начинался компьютер
Компьютерная революция
Двоичный код
Разработки военных лет
Интегральные микросхемы
Микрокомпьютер
Персоны
Сеть
Язык компьютера
Развитие ПО
Гибкие системы
Средства разработки
Информатика
Вычислительная наука
Операционные системы
Искусственный интеллект
Предыстория
Поиск
Знания и рассуждения
Логика
Робототехника
 

 
Прошлое: DOS Печать

В середине 90-х Билл Гейтс заявил: "DOS is dead". Хотя после выхода MS Windows 95 и первых версий Linux было очевидно, что дни DOS как массовой ОС сочтены, заявление главы Microsoft не выглядело как техническая констатация сложившейся ситуации - за ним угадывалась новая концепция развития, требующая радикальной смены психологической атмосферы в IT.

Признаки жизни

Действительно, после появления в 1981 году IBM PC и MS-DOS их дальнейший успех был почти на 100% обеспечен приоритетом преемственности в развитии: можно сказать, что лозунгом следующих тринадцати лет был "Совместимость прежде всего". Однако к 1994 году IBM утратила контроль за развитием архитектуры PC, а Microsoft получила почти полную монополию на свою продукцию - в целом по-честному, добившись преимуществ над продукцией своих основных конкурентов, сначала над Digital Research DOS, а затем и над IBM OS/2. Это позволило изменить правила игры. На смену эпохе романтики с ее легендарными молодыми мультимиллионерами, сделавшими состояния всего за несколько лет несколькими правильно выбранными решениями, пришла, как не раз случалось в истории, необходимость, превращающая саму веру в наличие выбора в наивность, несовместимую с успехом. Здесь уместен анекдот. Вопрос: "Сколько сотрудников Microsoft нужно для смены перегоревшей лампы?" Ответ: "Ни одного, Microsoft стандартизирует темноту в таких случаях!"

Но диалектика истории не терпит окончательных ответов. DOS все же имеет ряд привлекательных особенностей - пусть и для небольшой категории пользователей PC.

Главная сила DOS - в ее тесном переплетении с аппаратурой. MS Windows и (в меньшей степени) различные вариации Unix возвышаются над "железом" и часто препятствуют прямой работе с ним, что неудобно, скажем, для радиолюбителя, не желающего при подключении своего устройства к компьютеру разбираться в тонкостях многоэтажных и меняющихся от версии к версии программных интерфейсов. DOS же провоцирует взаимодействие с аппаратными средствами напрямую, что создает своеобразную и неповторимую атмосферу программирования, особенно при использовании ассемблера. В Windows и Linux программировать на ассемблере практически невозможно, как по психологическим, так и по практическим причинам (в Linux, например, стандартный ассемблер имеет ни на что не похожий синтаксис AT&T; кроме того, существует проблема отладки).

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

Кроме того, теоретически DOS еще долго будет находить применение в дешевых решениях при создании электронных микропроцессорных систем - ее варианты, DR-DOS и PTS-DOS, имеют ROM-версии.

Требования к аппаратуре для запуска DOS минимальны, эта система работает на любом PC. Что дает любопытную возможность: если распространять какую-то программу на диске вместе с DOS, то эту программу можно использовать на любом компьютере с дисководом, независимо от установленной ОС.

Для DOS существуют десятки (если не сотни) тысяч программ. Полных аналогов некоторых из них в других ОС нет и, возможно, никогда не будет. В последние годы стали свободно доступны некоторые превосходные программы, среди которых компиляторы Watcom C/C++/Fortran, известные высоким качеством генерируемых кодов, Borland Turbo C, Free Pascal, полностью совместимый с Borland Pascal и частично с Delphi, отличный быстро развивающийся макроассемблер FASM (качество генерируемых им кодов выше, чем у некоторых известных коммерческих ассемблеров), интернет-браузер Arachne. А благодаря системе DJ Delorie для DOS доступны практически все базовые средства Linux (gcc, g++, gdb, bash, grep и др.).

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

Наконец, DOS можно использовать как базовую платформу для разработки еще одной системы, альтернативной Microsoft Windows!

Все перечисленные сферы применения весьма узки и вряд ли могут обеспечить этой ОС окупаемое существование: коммерческие проекты второй половины 90-х c упомянутыми DR- и PTS-DOS, как и с другими, менее значимыми альтернативами MS-DOS, провалились. Остается лишь гадать, а окупалась бы DOS, если б Microsoft так демонстративно не отказалась от ее поддержки?

Хотя IBM до недавнего времени продолжала распространять PC-DOS 2000 на коммерческих условиях (за $60), очевидно, что только бесплатная или условно бесплатная DOS имеет шанс быть востребованной еще некоторое время небольшими сообществами пользователей. Сегодня DR-DOS и PTS-DOS распространяются на условиях, близких к shareware, а FreeDOS - по лицензии GNU, - и эти операционки заслуживают того, чтобы рассказать о них подробнее.

"Доктор Дос"

Судьбы Гарри Килдолла (Gary Kildall) и Билла Гейтса таинственным образом связаны. Килдолл написал в 1973 году первую "ДОС" для ПК - CP/M. А Гейтс в 1974-м - для первого массового ПК Altair - написал Бэйсик, который до конца 80-х для многих компьютеров являлся также и ОС. В дальнейшем CP/M стала широко использоваться на всех компьютерах, построенных на совместимых с Intel 8080 процессорах. После появления персоналок на базе Intel 8088 версия CP/M была создана и для него, однако в результате странного стечения обстоятельств IBM для своего компьютера выбрала клон CP/M - MS-DOS. Следующие десять лет компания Digital Research безуспешно пыталась превзойти Microsoft: был предложен многозадачный вариант DOS и графическая оболочка GEM. Массовые PC середины 80-х аппаратно позволяли иметь только жалкое подобие многозадачности, а весьма удачная оболочка GEM, появившись годом раньше первой версии Windows, на несколько лет стала предметом тяжбы с Apple, желавшей иметь монопольные права на использование любых графических интерфейсов. Позже Microsoft, ставшая к тому времени мощной корпорацией, столкнется с аналогичной тяжбой - и здесь Apple уже не сможет задержать развитие потенциально опасного для нее продукта.

После неудачи с MS-DOS 4 в конце 80-х почти все силы Microsoft ушли на Windows, и у Digital Research появился шанс. Система DR-DOS 5 с поддержкой HMA, UMB и 80386 на короткое время смогла стать лидером. Однако выход новой версии Windows, с которой DR-DOS оказалась плохо совместимой, а затем появление MS-DOS 5 все вернули на свои места. Продолжать борьбу дальше Гарри Килдолл не смог - вскоре его компания стала собственностью Novell.

Сетевые технологии Novell были слабее основанных на протоколах TCP/IP Internet, и с 1996 года Novell DOS получила нового хозяина, известную ныне своей скандальной позицией по поводу лицензии GNU фирму Caldera (с 2002-го - SCO Group), а также продержавшееся некоторое время название Open DOS. Caldera безуспешно пыталась судиться с Microsoft, якобы использовавшей в MS-DOS коды CP/M. Сам Килдолл никогда бы не начал подобное дело, поскольку верил, что в рыночных условиях только лучшее качество программирования дарует победу. В 1998 году очередным владельцем DR-DOS стала Lineo, она же Canopy. В 1999 была выпущена версия 7.03 DR-DOS, позволяющая в конфигурационных и командных файлах использовать подпрограммы при помощи команд GOSUB и RETURN. Другими ее особенностями являются система парольной защиты дисков, файлов и каталогов, доступная не только на сетевом уровне, а также поддержка многозадачности. Также эта версия снабжена подробным электронным руководством. В 2004 году уже новый хозин, DeviceLogics, обещал выпустить версию 8 с поддержкой FAT32 и длинных имен файлов. Фирма сдержала обещание: эта версия DR-DOS распространяется с апреля по цене $40. Доступны и ее исходники.

Наш ответ "Микрософту"

PTS-DOS (Paragon Technology GmbH System Programming DOS) - отечественная разработка. Как и все качественные российские хайтек-продукты, она была создана в околовоенных ведомствах (на нее есть даже сертификат Министерства обороны) и использовалась, в частности, в спутниках серии "Ураган". Первые сведения о ней как о коммерческом продукте появились в середине 90-х, тогда же в ФРГ была создана упомянутая фирма для реализации ОС. В России PTS-DOS занимается организация "Физтех-софт". Это единственная DOS, целиком написанная на ассемблере, что делает ее несколько более быстрой. В ней используется уникальный расширенный синтаксис для аргументов команд, кое в чем превосходящий даже возможности оболочек Linux. Например, команда copy ((*.c,*.h),(*.asm,*.inc)) (a:,b:) копирует все файлы с расширениями C и H на диск A:, а все файлы с расширениями ASM и INC - на диск B:, а команда copy *.txt (a:, d:\temp) копирует все TXT-файлы одновременно и на диск A:, и в каталог TEMP диска D:. Нельзя также не упомянуть об отличной, встроенной в саму DOS системе для загрузки других ОС. PTS-DOS позволяет проводить глубокую оптимизацию системы, предлагая балансировать между наилучшей совместимостью с MS-DOS и максимумом свободных ресурсов. В комплект PTS-DOS входят также полноэкранный отладчик и оригинальный менеджер файлов, слегка похожий на Norton/Volkov Commander. Но во второй половине 90-х, когда коммерческий интерес к любым DOS практически иссяк, все эти достоинства уже мало кого могли заинтересовать. В 2000 году вышла последняя полная версия PTS-DOS. В версии, вышедшей в 2002 году появилась поддержка FAT32 и работы с большими объемами памяти, зато исчезли некоторые полезные утилиты, не приспособленные к упомянутой поддержке.

Безвозмездно, то есть даром

В июле исполняется десять лет проекту FreeDOS - первому и единственному бесплатному, с открытыми исходниками варианту DOS. Целью FreeDOS изначально была полная совместимость с MS-DOS. Джим Холл (Jim Hall), организатор проекта, среди его достоинств выделяет открытость для разработчиков, совместимость со старой аппаратурой и возможность использования в эмуляторах без проблем, связанных с правами копирования. Этот проект вызвал определенный интерес общественности, что косвенно подтвердило издание в 1996 году книги "The FreeDOS Kernel" о ядре этой системы. Однако до 2001 года работать с FreeDOS могли только разработчики и очень большие энтузиасты - до практической совместимости было далеко.

Последняя версия этой ОС появилась осенью прошлого года. Части FreeDOS (ядро, командный процессор, отдельные драйверы и утилиты) разрабатываются независимо, используя разные трансляторы, и некоторые из них частично дублируют друг друга - что вкупе с отсутствием единого справочного руководства по системе не позволяет назвать инсталляцию этой DOS простой операцией. FreeDOS некоторыми деталями - например, системой подсказок для команд - напоминает Linux.

DOSтоинства и неDOSтатки

Все рассмотренные DOS включают в себя стандартный набор средств для работы с файлами и каталогами, менеджеры памяти XMS и HMA, неплохой текстовый редактор, средства локализации, драйверы для CD-ROM- и RAM-дисков, мышки и т. п. Остальные их особенности приведены в таблице1. Конечно же, рассмотренные системы имеют ряд серьезных недостатков, и вот некоторые из них.

  • Ни одна из систем не совместима с MS-DOS на 100%. Больше всего проблем с совместимостью у FreeDOS; у PTS-DOS ситуация получше; DR-DOS таких проблем почти не имеет. FreeDOS и PTS-DOS при попытке освободить память от некоторых видов TSR зависают - и вообще немало программ ведут себя с этими ОС не совсем так, как следует. Только MS-DOS остается абсолютно стабильной при интенсивном использовании аппаратных прерываний, три другие системы в этом случае через некоторое время подвешивают компьютер.
  • Хотя MS-DOS без GUI в Windows 95/98/Me не может работать с длинными именами файлов, она при выполнении различных операций не повреждает их. То же можно сказать и о большинстве средств DR-DOS. Для остальных DOS длинных имен вообще не существует. Ряд программ (LFN, DOSLFN), появившихся после 1998 года, позволяют в любой DOS работать с длинными именами, но это не делает длинные имена доступными для львиной доли остальных программ.
  • Проблема драйверной поддержки новых аппаратных средств обостряется с каждым годом - речь идет об USB-устройствах, приводах CD-R/RW, разных видах DVD-дисководов и пр. Аналогичная проблема имеет место для сетевых протоколов и форматов данных. Эти ОС можно загружать только с первого раздела первого жесткого диска или с дискеты.

Особая тема - многозадачность. Фактически Microsoft, под видом реализации многозадачности в DOS, изначально создавала совершенно новую ОС, сравнимую с Unix. Работа шла по двум направлениям. Одно, в сотрудничестве с IBM, привело к созданию OS/2, а затем, уже без IBM, - к Windows NT/2000/XP (здесь совместимость с DOS считалась второстепенной задачей). Второе, тупиковое направление начинается с Windows 1 и заканчивается Windows 98/Me. Появление неудобной оболочки DOSSHELL в 1989 году было вызвано, скорее всего, желанием противопоставить что-то соответствующему средству из DR-DOS. В версии MS-DOS, последовавшие за шестой (в то время как раз подешевел 386-й процессор, позволяющий запускать Windows 3.1x), эту оболочку уже не включали. Некоторые программы, например Quarterdeck DESQview, позволяют довольно качественно вносить многозадачность в любые DOS.

 

MS-DOS

DR-DOS

PTS-DOS

FreeDOS

FAT32

+

-

+

+

Драйвер EMS, UMB

++

++

-

+

Драйвер DPMI, DPMS

-

+

-

-

Дисковый кэш

+

+

-

-

Дефрагментатор диска

+

+

-

+

Драйвер сжатия диска

+

+

-

-

Сетевые драйверы

-

+

-

-

Отладчик для...

i8086

Pentium

i80286

Pentium

Информация о системе

+

-

-

-

Имя файла конфигурации

config.sys

dconfig.sys

config.pts

fdconfig.sys

Меню выбора конфигурации

+++

+

++

+

Стандартное имя файла автозапуска

autoexec.bat

autodos7.bat

autopts.bat

fdauto.bat

Системные файлы

io.sys
msdos.sys

ibmbio.sys
ibmdos.sys
security.bin

ptsdos.sys

kernel.sys

(В таблице приводятся данные по MS-DOS 7.1 для Windows 98/Me. Официально последней версией этой ОС стала версия 6.22 от 1994 г., но MS-DOS версий 7.x существует вместе с Windows 95/98/Me - ее можно отделять от GUI и использовать самостоятельно).

Итак, получается, что лучшей DOS в целом по-прежнему остается "умертвляемая" MS-DOS (хотя, возможно, "параллельная" PC-DOS и не хуже). В 1994 году Мич Капор (Mitch Kapor), основатель Lotus, сказал: "Microsoft победила, и теперь индустрия программирования превратилась в царство мертвых". Билл Гейтс на это эмоциональное замечание политкорректно ответил, что эти слова, видимо, были вырваны из контекста, а Мича, который был весьма полезен Microsoft, он уважает и дружит с ним не один год, несмотря на некоторые разногласия. Конечно, трудно представить современный мир без лучших в своем роде Windows XP, Word, Excel и пр., но в этом же мире появилась и такая вот шутка: "In a world without walls and fences - who needs windows and gates?"

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

В современных, чем-то похожих на предкризисные, реалиях, когда быстродействие и надежность компьютера во многом зависят от мощности и количества вентиляторов, когда разница между новой и старой версиями программы зачастую понятна только специалистам, когда потребителям навязываются весьма спорные технологии, когда законы о правах копирования доводятся почти до абсурда, когда предлагают отказаться от законов логики, чтобы слушать сказки о "квантовых вычислителях", возникает риторический вопрос: "И стоило так спешить?" На который веками и народом был выкован ответ: "А куда деваться?!" Переходя на французский - C’est la vie.