Архивы: по дате | по разделам | по авторам

Жизнь после жизни

Архив
автор : Владимир Лидовский   16.06.2004

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

В середине 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.

    Итак, получается, что лучшей 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.

    Литература

    [1] Электронные справочные системы для MS-DOS, DR-DOS, PTS-DOS и FreeDOS.
    [2] Материалы сайтов www.phystechsoft.com , www.microsoft.com , www.freedos.org , www.drdos.net , www.ibm.com .
    [3] Джим Карлтон. Apple: взгляд изнутри. — М.: ЛОРИ, 2001.


    1 В таблице приводятся данные по MS-DOS 7.1 для Windows 98/Me. Официально последней версией этой ОС стала версия 6.22 от 1994 г., но MS-DOS версий 7.x существует вместе с Windows 95/98/Me — ее можно отделять от GUI и использовать самостоятельно.
    © ООО "Компьютерра-Онлайн", 1997-2024
    При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.