http://nostalgy.net.ru
(c)2011 Дмитрий М.Клочков
28 декабря 2011 г.

Размышления по поводу статьи Антиквара
"Кризис доунгрейда"

Появиться на свет меня угораздило в период "перестройки", под конец Советской власти (везет почему-то заставать "закаты"), а первый компьютер в нашем доме появился в 1996 году - мне тогда было 8 лет. Компьютер по тем временам - едва ли не "топовая" конфигурация: процессор - Pentium-100, 16 мегабайт оперативной памяти, жесткий диск Seagateна 1,22 Гб, видеокарта S3 Trio и 4-скоростной CD-ROM. Шло это чудо тогдашней техники с предустановленной системой MS-DOS6.22 и пятой версией Нортон Коммандера. Таким образом, мне удалось застать небольшой кусочек уже уходящей DOS'овской эпохи. Помню и игрушки тех времен - с примитивной по нынешним меркам графикой, но непохожие одна на другую, по-своему уникальные, если можно так выразиться. "Волшебные", как кто-то сказал. Совсем не такие, как современные: с мощной графической частью, во многом натуралистичной прорисовкой, но однотипные просто до омерзения, что и играться-то в них не хочется.

Несколько позже на том первом компьютере появилась Windows. Сначала непродолжительное время стояла Windows 3.1 (мне с этой версией вплотную работать не довелось, а потому и особых ностальгических чувств к ней я не испытываю), потом родители установили Windows95. Так и стояла она там почти все время до того момента, как компьютер был продан. Но и под Windows95 у нас по-прежнему находили свое применение и NC, и "режим эмуляции MS-DOS".

В 8-м классе, когда у нас в школе началась информатика, едва ли не половину парка машин в кабинете составляли старые советские компьютеры типа МК-88 (которым лет было примерно столько же, сколько и мне). Сравнительно новых машин было мало, да и вообще парк был разношерстным до невозможности. И так получилось, что на первых занятиях, когда нас учили работать в NC, мне и досталась такая машина. Казалось бы, старый хлам, и впору биться головой об стену, но нет - поскольку с Нортоном я уже был знаком, особых проблем в выполнении заданий учителя для меня не возникло. Но старая "МКшка" поразила меня, если можно так сказать, каким-то своим "первобытным очарованием". К ней еще прилагались две 5-дюймовые дискеты - одна загрузочная, а другая - игровая. Меня тогда еще поразил сам факт того, что компьютер, оказывается, может грузиться с дискеты. Не знаю, почему, но захотелось заиметь такую же. С этой просьбой я обратился к учителю информатики, на что он мне ответил, что загрузочную дискету я должен делать со своего компьютера, и набросал на листке бумаги краткую инструкцию. А когда я пришел с этой бумажкой домой и объявил родителям о своих намерениях, то для меня где-то в коробках отыскали книжку А. Левина "Самоучитель работы на компьютере" (замечательная книжка, к слову сказать). И понеслось-поехало:

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

Теперь перейду уже, наконец, от затянувшейся предыстории и прочих излияний к сегодняшнему дню. Чтобы понять, как говорится, куда катится этот мир и что будет с доунгрейдом, стоит задаться вопросом: а для чего вообще в наше время стоит пользоваться старыми программами? С точки зрения сухого рационализма (тут я умышленно не беру в расчет ностальгию и прочие чисто эмоциональные составляющие) ответ напрашивается один: старые программы нужны в том случае, если новые нас чем-то не устраивают. Если у них, например, непомерные системные требования, если они нестабильно работают или же среди новых программ просто нет адекватной замены старой программе. А старые программы, в свою очередь, можно разделить (иногда довольно условно) на несколько групп по отношению к новым ОС и технике: программы, которые работают под новыми ОС на новых компьютерах; программы, способные работать на новой технике, но под старыми ОС; программы, почти безразличные к ОС, но не способные нормально работать на новых машинах; программы, которые работают только под старой ОС и только на старых компьютерах. При этом под понятием "работать" я имею в виду возможность полнофункциональной работы программы, а не просто ее способность запускаться.

Отсюда становится ясным, что доунгрейд в чистом виде (использование старого аппаратного и программного обеспечения) необходим лишь для использования программ 3-й и 4-й групп. Таких программ, в общем-то, не очень много, хотя многие игры для DOS могут относиться к разным группам в зависимости от того, под какой версией Windowsони запущены (например, DukeNukem 3D полнофункционально работает под WindowsXP, но под WindowsNT/2000 воспроизведения звука от нее не добиться).

Для чего нужны DOS-подобные операционные системы? Со старой техникой все понятно, других вариантов для нее и нет. На новой технике - запуск программ 2-й группы (некритичных к "железу", но неспособных работать под Виндами), каковых тоже не очень много (в основном это программы, "лезущие" глубоко в систему). Кроме того, сейчас все шире распространяются 64-разрядные версии Windows, уже в принципе не поддерживающие 16-разрядные программы (потому как в 64-разрядном режиме процессора эмуляция 16-разрядного режима просто невозможна, так уж он устроен). С одной стороны, это должно было бы окончательно оставить в прошлом старые программы, но с другой стороны, поскольку отказываться от них тоже не всегда целесообразно, это обстоятельство может (по крайней мере, в теории) дать MS-DOS еще один шанс продлить свое существование. Ведь ее можно установить и второй системой наряду с 64-разрядной версией Windows (как это сделано на моем компьютере).

Еще одно интересное применение систем типа MS-DOS - создание на их основе различных загрузочных дисков, которые помогли бы подготовить к работе совершенно новый, "нулевой" компьютер или наоборот, восстановить работоспособность машины, когда там все уже полетело и жестко приземлилось. Но тут можно заметить, что для большинства соответствующих программ есть аналоги, работающие под Windows. Как программистам удалось вывернуть свой мозг наизнанку и написать их, я слабовато себе представляю, но факт остается фактом. Многие такие программы можно "прикрутить" к "болваночной" версии Windowsтипа BartPE. Да, системные требования у нее несравнимо выше, чем у DOS-подобной системы, грузится она гораздо медленнее, но есть у нее и преимущества, например, поддержка NTFS на уровне ядра и поддержка сети на уровне операционной системы. Не спорю, под DOS'ом тоже можно работать с NTFS-разделами и сетью, но как там это реализовано? Да, есть платная программа NTFSDOS (впрочем, в Сети без проблем можно найти и файл лицензии для нее, который снимает ограничения shareware-версии, т.е. неспособность программы осуществлять запись на NTFS-разделы). Но при запуске сожрет половину доступной ей нижней памяти и не подавится, однако с NTFS-разделами не всегда работает корректно, особенно если дело касается длинных или русскоязычных имен файлов. Не говоря уже о том, что остальным программам работать при объеме нижней памяти не более 370 Кб может быть и затруднительно.

Если пытаться организовать под DOS'ом сеть, то проблемой станет то, что каждая программа, поддерживающая работу в сети, делает это по-своему, чего в системе Windows нет (не говорю, что это преимущество; скорее, палка о двух концах - это может быть и преимуществом, и недостатком в зависимости от того, как посмотреть). Многие программы для DOS работают с сетью через пакетный драйвер, отыскать который для многих современных сетевых карт очень сложно, а часто и вовсе невозможно по причине отсутствия такового драйвера в природе. С другой стороны, практически для всех современных проводных сетевых карт существуют драйвера типа NDIS2, с которыми может работать TCP/IP-клиент, созданный корпорацией Microsoft и распространявшийся на компакт-дисках с WindowsNT. С его помощью можно подключиться к какому-либо ресурсу локальной сети и присвоить ему букву диска (аналог функции "Подключить сетевой диск" в Windows). Но с этим клиентом ситуация примерно такая же, как и с NTFSDOS. Он очень любит нижнюю память, оставляя ее не более 370 Кб и не загружаясь в верхнюю даже принудительно. Поэтому, например, все команды этого клиента, внесенные в AUTOEXEC.BAT, я оттуда убрал в отдельный BAT-файл, который запускаю лишь по мере острой необходимости. Иначе работать просто невозможно. Кроме того, клиента этого надо настраивать под каждую конкретную сетевую карточку, а что делать, если конструкция претендует на универсальность, как в случае с загрузочным диском для восстановления?

Если держать DOS-подобную систему на достаточно новом компьютере, то работать она, конечно, будет и довольно шустро, но тут возможны различные трудности. Будут работать очень многие DOS-программы, но вот про звук и печать можно забыть уже навсегда. Не обучены они работать со звуковыми картами типа AC'97 или HighDefinitionAudio, а также с USB-принтерами. Впрочем, они и со струйными LPT-принтерами тоже не всегда работали полнофункционально, потому как были рассчитаны именно на матричные, которые сейчас, наверное, уже стали достоянием истории. Возможны, кроме того (и с каждым годом все более вероятны), проблемы с использованием памяти. Ну, например, EMM386.EXEможет зависать при запуске, а без него управляться с верхней памятью тоже непросто. Причина, видимо, кроется в его несовместимости с какими-то аппаратными особенностями. Впрочем, замена стандартного EMM386.EXE на JEMM386.EXE из состава FreeDOSрешила эту проблему. Но некоторые программы "проникают в систему" настолько глубоко, что обойти несовместимость просто не представляется возможным.

Драйверов на новое "железо" для DOS зачастую нет (и вряд ли уже когда-нибудь появятся), программ для того, что в DOS-эпоху просто не существовало, а сегодня является повседневной реальностью, как правило, тоже, а многое из того, что есть, представляют собой какое-то издевательство над здравым смыслом. Графическая оболочка или текстовый редактор, не имеющие шрифтов с кириллицей. Различные недобраузеры, которые имеют или очень ограниченный функционал (поддержки CSS, PHPи Java там отродясь не было и вряд ли когда-нибудь будет), или сложны в настройке (зачем той же ArachneIP-адрес моего провайдера, который я и сам-то, допустим, не знаю?). Текстового редактора, который обеспечивал бы приемлемую совместимость с наиболее ходовыми на сегодня форматами текстов, тоже нет, даже если сами по себе редакторы довольно хороши и удобны. Найти работающий ICQ-клиент для DOS тоже нереально, поскольку протокол ICQменялся уже несколько раз. Можно продолжать долго. Понять причины тоже, в общем-то, можно: все эти вещи востребованы, так сказать, довольно узким кругом людей, а поэтому пишутся энтузиастами в свободное от основных занятий время. А при таком подходе не приходится удивляться тому, что подобные программы имеют скромный функционал, сильно уступающий таковому у аналогов для Windows, и часто работают с ошибками.

Специально оговорюсь: я ни в коем случае не хочу сказать, что DOS- это ни на что не годное старье, раз в ней ничего нет для комфортной работы, раз ничего она не дает. И для DOSможно сделать многое. В конце концов, можно даже придумать какой-нибудь DOSextenderтипа DOS64GW (ну, тут я название ему дал чисто по аналогии), а на его основе написать 64-разрядную оболочку, которая могла бы заменить Windows3.1. Все это можно. Но этим надо заниматься. А некому.

Из всего этого я могу сделать вывод о том, что DOSрано или поздно просто уйдет в историю. Не сказать, что меня это радует, расставаться, как говорится, жалко, но если все так пойдет и дальше, то именно так и будет. А причин к тому, чтобы что-то принципиально изменилось, я не вижу.

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

Есть и еще один момент. Тут против нас работает второй закон термодинамики, т.е. амортизации еще никто не отменял. Все в этом мире портится, и настанет такой момент, когда наши старые (да и не очень старые) компьютеры просто придут в негодность. При этом Вы были совершенно правы, когда писали, что запчастей для них днем с огнем не сыщешь. Да что там запчастей - даже переходники для клавиатур PS/2 и компьютеров AT уже исчезли из продажи. Или вот лежит у меня материнская плата на базе процессора Intel 286. К ней есть 3-дюймовый дисковод, пара десятков дискет сомнительной работоспособности, чудом подошедший жесткий диск, мышка для COM-порта, видеокарта TridentT9000 и сетевая карточка 3COM 3C509. Нормальных дискет сейчас уже не найти (если их и продают, то качество их оставляет желать очень много лучшего), жесткий диск тоже уже потихоньку подает первые признаки начинающегося конца, а мышку я боюсь лишний раз в руки брать: стоит нечаянно ударить ей обо что-нибудь - и ей придет конец, а другой такой же сейчас уже не найдешь. Вот и что останется делать с материнской платой в таком случае? Вроде бы она работает и выбросить ее будет жалко, но пользоваться по факту ей нельзя. Хранить как музейный экспонат? Или, скрепя сердце, все же избавиться от нее? Было бы, кому отдать ее в "добрые руки", отдал бы, не раздумывая, но тоже что-то некому.

Из этого я могу сделать вывод о том, что доунгрейд в нынешнем своем виде тоже уйдет в историю, и тут уже вряд ли что-то можно принципиально изменить, поскольку бороться с амортизацией бесконечно невозможно. Дальнейшие пути, с помощью которых можно сохранить жизнь системе MS-DOSи программам для нее, мне видятся следующие: либо адаптация MS-DOSк новой технике с созданием соответствующих программ и надстроек, либо, что более вероятно, создание нормальных эмуляторов и перенос старых программ туда. Спору нет, работать с эмулятором и настоящим старым компьютером - это вещи разные, но если пользоваться эмулятором, то так, мне кажется, старые программы будут даже сохраннее, потому что могут быть с легкостью перенесены с одного компьютера на другой до того, как он придет в негодность.

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

Теперь пару слов про ностальгические чувства. По-честному говоря, я не вполне согласен с Вами насчет того, что по Windows вряд ли можно ностальгировать. Думаю, дело тут не только и не столько в интерфейсе или работе каких-то программ, сколько тесной работе и вообще ощущениях от таковой. Например, лично я не испытываю ностальгических чувств к Windows 3.1 и Windows 98, поскольку очень уж тесно с ними не работал (с последней - эпизодически на уроках информатики, а дома стояла Windows95), зато вот WindowsServer 2003 в свое время было жалко удалять, и сейчас я держу ее на виртуальной машине и иногда ставлю на компьютеры, с которыми можно "поиграться". А все почему? А потому, что 2003-й Сервер был первой Windows-системой, которую я в бытность прыщавым подростком самостоятельно раздобыл, принес домой и освоил. И много лет еще с ней работал (да и сейчас иногда работаю).

И еще один вопрос, ясность в котором могла бы способствовать пониманию дальнейшей судьбы и развития доунгрейда. Где проходит та грань, которая разделяет "железо" старое, доунгрейдерское, и новое, апгрейдерское? То же касается и программного обеспечения. Ясности в этом вопросе я, по-честному говоря, пока не наблюдаю, да и сам слабовато представляю, где она, эта грань. Но если ограничиться компьютерами, скажем, до PentiumI-II включительно, то по мере выхода их из строя весь доунгрейд в нынешнем его виде закончит свое существование. Если просто объявлять доунгрейдерским "железом" и софтом все, что старше, например, 10 лет, и хранить это, не выдавая ничего своего, то это будет равнозначно тому, чтобы просто плестись в хвосте, что как бы непродуктивно.

Да и потом, даже старые программы на более новой технике часто работают ощутимо быстрее, а потому и приятнее. Тот же QVProможет проигрывать фильмы на Pentium-100, но смотреть их там невозможно - слишком медленно. А вот уже на Celeron-366 просмотр фильмов вполне возможен. Или вот пройдите по ссылочке: http://prephem.narod.ru/speed.htm. Таблица наглядно показывает, для чего нужны вычислительные мощности, новые инструкции процессоров и быстрые жесткие диски. Попробуйте повторить эксперимент на какой-нибудь из старых машинок: Программа, кстати, изначально написана на QBASIC'е, но затем была перекомпилирована в MSBASICPDS 7.1, а потом - компилятором FreeBasic(для DOS/386 и Win32). То же самое, кстати, можно проделать и с программами на Паскале, если использовать компилятор FreePascal (он дает возможность создавать и 64-разрядные программы). Интересный, кстати, способ дать "вторую жизнь" старым программам, хотя, конечно, о 100-процентной совместимости новых компиляторов со старыми исходниками речи не идет.

То есть и от апгрейда иногда, как говорится, бывает польза, и я не против компьютерного прогресса как такового. Да, многое из того, что сейчас происходит в компьютерной области, мне не нравится. Не нравятся, например, постоянно растущие системные требования программ. Причем если требования к частоте процессора и объему памяти возрастают сравнительно умеренно, то вот требования к месту на диске увеличиваются весьма и весьма значительно. Да, функционал программ при этом тоже растет, но как-то непропорционально, что ли. Увы, редко какую программу обходит стороной эта тенденция. Законы об авторских правах, подчас доведенные просто до абсурда, тоже не добавляют радости, но они-то существовали и раньше, а то, что сейчас у нас начали "закручивать гайки", - это не вина апгрейда как такового.

И вообще, кстати, с тех пор, как появились 64-разрядные и двухъядерные процессоры, уже кажется, что и "гонка вооружений" не так быстро идет. Моему нынешнему компьютеру на базе процессора IntelCore2Duoскоро будет пять лет, но его хватает практически на все, что требуется от него сегодня (кроме очень уж навороченных игр - впрочем, по этой части он изначально был слабоват, т.к. видеокарта у него интегрированная), хотя и память оперативную я ему докупал, и второй жесткий диск ставил. Специально в свое время брал с "запасом". Даже запчасти для него найти в продаже вполне реально. И полностью пересаживаться с него обратно на PentiumI под управлением Windows 95 я особым желанием не горю. Да, "первобытного очарования" в нем уже нет (эти прелести, увы, безвозвратны), но и делать я на нем могу такие вещи, которых домохозяйка не то, что не сделает, а о которых она даже не догадывается. И которые на старом "пеньке" тоже не сделать при всем моем желании.

А вот десятилетие 1996-2006 годов в этом плане как-то менее удачно. Именно тогда и произошел некий качественный скачок, в результате чего компьютер, который в 1996 году имел "топовую" конфигурацию, уже через пять лет (!!!) оказался безнадежно устаревшим. Возможно, кстати, что хотя бы отчасти в этом и кроется причина того, что компьютеры типа PentiumIII-IVи ранние AMDAthlon, а также программное обеспечение для них не стали, как Вы выразились, "объектами нового доунгрейда". Не настолько устарели еще. Ни в качественном, ни тем более в календарном плане.

Вот, наверное, и все, что я имею сказать насчет содержания Вашей статьи. Кратко повторюсь: на мой взгляд, доунгрейд в нынешнем своем виде рано или поздно уйдет в историю, а одним из способов сохранить его была бы деятельность, направленная на то, чтобы дать "вторую жизнь" старым программам, но уже в новых условиях, в которых уже можно (и нужно) подумать о совместимости старого и нового.

Засим раскланиваюсь. Извините за длинное письмо.

С уважением, Дмитрий М. Клочков

назад к списку текстов