http://nostalgy.org.ru
(c)2002 М.Бабичев
27 сентября 2003 г.

Неожиданное продолжение статьи
"Почему Windows не смогла
полностью победить DOS"

Довольно давно, еще в апреле этого года, на сайте nostalgy.org.ru была опубликована моя статья, которая называлась "Почему Windows не смогла полностью победить MS-DOS". Вообще-то статья первоначально являлась рефератом для получения зачета по социологии, и лишь потом была выложена на сайт.

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

Но свершилось! Один из гостей сайта, назвавший себя "Nalim", прокомментировал мою статейку. Прочитав его комментарии, я немного обиделся. За себя, потому что почувствовал себя отсталым дураком, и за MS-DOS, потому что в очередной раз услышал безжалостную и не совсем справедливую критику в ее адрес. Ладно, делать нечего, надо ответить. В этом ответе приведены отрывки из моей старой статьи, к ним комментарии Налима и, конечно же мои комментарии к его комментариям :-))).

Цитаты из старой статьи выделены буквами "ST", замечания Налима - буквой "N" и курсивом, мой (Антиквара) ответ - "A".

ST: Не случайно до сих пор многие бухгалтеры, кассиры, государственные банковские и прочие служащие используют программы, работающие в DOS! Не потому, что они такие бедные, а просто по причине надежности и достаточности.

N: Если б эти бухгалтеры и кассиры работали в нормальной организации, то организация позаботилась о внедрении единой корпоративной системы, и базировалась бы она скорее всего не на DOS, потому что DOS - не операционная система, DOS - Дисковая операционная система, не способная толково организовать ничего кроме работы программ с диском. Все драйверы DOS - это по сути слабо связанные с самой системой программы.

A: Насчет корпоративной системы я согласен - надежная сеть под Windows 2000/NT обеспечивает большие удобства пользователям. Остается только заменить 386 компы на машины Pentium III, протянуть новые кабели, поставить firewall и специального админа, который будет следить за пользователями и за хакерами. Конечно, можно не подключать КОРПОРАТИВНУЮ СЕТЬ к другим сетям (и конечно, к Интернету), но тогда пользы от такой системы будет маловато. Вся эта затея обойдется минимум в несколько тысяч долларов, плюс содержание админов и затраты на доступ к глобальной сети.

Но спуститесь на землю! Разве может это позволить небогатая контора, госучреждение вроде библиотеки, школы или сберкассы? Вот и используют 286-486 компы с сетью под DOS. На них установлены небольшие специализированные базы данных. Юзеры (библиотекарши, кассирши) к ним привыкли, а заставь их срочно осваивать Windows 2000 и Access 2002 - они воспримут это как сущее наказание. Но потом привыкнут и начнут проверять каждый час почту, висеть в чате и даже возможно, качать порнушку (если админ это не запретит).

Мне приходилось немного общаться с некоторыми рядовыми пользователями из госучреждений. Порой они путают модель процессора с названием операционной системы ("компьютер Windows 98"), считают что программы записаны "в компьютер", а не на жесткий диск, приходят в ужас, когда кто-то изменяет меню Norton Comander (вызываемое по F2), так как не могут иначе запустить приложение...

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

А относительно утверждения, что DOS - не операционная система, а ДИСКОВАЯ операционная система, можно возразить лишь то, что это суть игра слов. Никакой современный компьютер не может работать без файловой системы, поэтому любую операционку можно назвать дисковой. И пусть драйверы слабо связаны с DOS - самое главное, что они под DOS нормально работают, расширяя его возможности. Будем считать, что сторонние драйверы тоже входят в систему MS-DOS :-).

ST: Хуже то, что пользователь не может проконтролировать действия, совершаемые программами или самой Windows.

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

A: Есть еще кнопочки "Reset" и "Ctrl-Alt-Del" :-). Но это все шуточки. Если пользователь - рядовой труженик госучреждения, описанный выше, он не сможет проконтролировать работу программы не только под DOS, но и под Windows, а уж насчет UNIX или Linux я вообще молчу. Да, Windows NT не позволит глючной программе или "вредному" пользователю порушить систему, и это очень хорошо. Но я говорил о других пользователях, грамотных и умелых, каких много среди посетителей сайта nostalgy.org.ru, fdd5-25.narod.ru, dospage.by.ru... Они, используя соответствующий софт, могут действительно контролировать многие действия программы под DOS.

Например, есть надежная утилита для защиты диска C: от записи AntiVirus Barrier - практически никакой вирус или вредная программа не смогут изменить MBR диска, загрузочный сектор, системные файлы... Также программа не позволяет приложениям "втихую" изменять важные векторы прерываний. Есть еще программа, блокирующая нужные диски по записи, либо закрывающая к ним доступ...

Другая программа, AVP TSR Monitor, отслеживает "подозрительные" действия других программ (изменение EXE-файла, форматирование диска, появление резидента в памяти...) и запрещает эти действия по желанию пользователя.

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

Кроме того, если программа зависла или делает что-то не то, ее можно завершить и восстановить предыдущее состояние системы при помощи такого средства, как dTASK - это очень надежная утилита, помогает в 90% случаев. Также рекомендую аналогичную прогу под названием EEE.

Есть еще много программ для контроля и защиты DOS-системы. Часть их находится на моем сайте по адресу http://nostalgy.org.ru/secur.htm. Но все же большая часть софта не выполняет никаких криминальных действий, за несколько лет их использования в этом можно убедиться. А если вы - испытатель всякого подозрительного программного обеспечения, то не следует переоценивать защищенность Windows или Linux. Хакеры знают "лазейки" этих систем, вот почему регулярно во всем мире многие сервера становятся жертвами вирусов и атак.

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

N: Легенд действительно ходит много, на то они и легенды!

A: Нет дыма без огня. В любой шутке есть доля правды :-). Вы пробовали запустить авиасимулятор, встроенный в Exel'97? Если нет - попробуйте, это производит незабываемое впечатление. Чем крупнее программа, тем более "крутой" авиасимулятор могут "запрятать" разработчики. У меня есть целый перечень с описаниями таких "приколов", а также список каталогов Windows, где хранятся личные данные пользователя и создаются лог-файлы.

ST: К счастью DOS свободен от всего этого

N: От чего именно? Dos свободен от всех достоинств и недостатков операционной системы, поскольку сам ей по сути не является. Запущенная резидентно программа сможет спокойно под DOS следить за действиями пользователя, и потом используя драйверы сети отправить информацию куда нужно и проконтролировать это пользователь вряд ли сможет, в то время как опытный администратор специализирующийся на конкретной ос контролирует ее пропорционально своему умению.

A: А может ли пользователь системы Windows определить, что запущенный им "троян" безобразничает на его компе, посылая например, файл с паролями на какой-либо почтовый ящик? Конечно, здесь может помочь Firewall, но далеко не все умеют его грамотно использовать.

В системе DOS можно увидеть "резидента" среди нескольких драйверов типа KeyRus, Mouse при помощи хотя бы Norton SysInfo, поглядеть в файлы AUTOEXEC.BAT, CONFIG.SYS с целью вычисления резидентного keyboard logger'а или "шпиона". А если "заражен" стандартный драйвер, то можно сравнить его размер/CRC с таким же драйвером из дистрибутива. Благо количество вспомогательных резидентов в DOS обычно не больше десятка. Но куда будет смотреть пользователь Windows - на множество активных процессов/потоков? Кроме того, вместе с Windows программы могут автоматически стартовать, будучи вызваны из реестра, файла win.ini, а также как подключаемая библиотека... Так что уследить за этим хозяйством к сожалеиню, сложнее!

Утверждение же, что DOS не является операционной системой есть величайшая дерзость за всю историю развития вычислительной техники на основе x86 процессоров! :-(

ST: ведь программировать под DOS гораздо проще, чем под Windows!

N: Простите, но это просто бредятина. Компиляторы С++ везде есть. Писать под DOS это все равно что писать с нуля. DOS никак не ограничит возможности программы, но и не предоставит ей никаких возможностей. Могут помочь уже написанные драйверы, но в DOS (не из за невнимания программистов, а по общим принципам) отсутствует возможность их стандартизации.
1. Если писать на C++ - какая разница где?
2. Если писать на ассемблере - то зачем вообще DOS?

A: Здесь я отчасти разделяю Ваши слова. Видимо я не так выразился в своей статье и меня неправильно поняли. В ДОС проще писать небольшие, простые программы, использующие стандартные средства ввода/вывода. Поэтому учиться программировать легче и естественнее под ДОС (от простого к сложному). Если надо разработать программу, которая вычисляет какую-то функцию, решает уравнение и строит график - почему бы не сделать это под ДОС?

Некоторым (например мне) нравится программировать на BASIC. Кстати, даже Билл Гейтс называет себя "Basic Programmer", а этот человек все-таки заслуживает уважения... Конечно, сложные программы нужно разрабатывать при помощи соответствующих инструментов (Visual C++, Borland C++ Builder, Delphi). Я не против прогресса, но пусть это будет разумный прогресс. Ведь есть много простых задач! Так надо и решать их простыми средствами. Не нужно забивать гвоздь кузнечным молотом!

Но все-таки несомненно то, что программы для DOS, хоть и делают все "сами" (интерфейс, работа с внешними устройствами), но в большинстве случаев их размер намного меньше, чем у аналогов под Windows, выше быстродействие. Для владельцев старых машин это важно, да и скачивать маленькие файлы по сети легче. Например, российский MP3-плеер для DOS с обилием "наворотов" (DSS 3.0) в четыре раза компактнее простенького плеера для Windows и в десять раз меньше WinAMP'а! Поэтому программы для ДОС имеют право на существование.

Да, если писать на ASM'е, без ДОС обойтись все равно не получится. Надо же как-то грузить в память и выполнять эти программы! Хотя можно сделать кучу самозагрузочных дискеток, с которых будут стартовать программы, не нуждающиеся в ДОС. Лет двадцать назад так и делали. В результате существуют программы (особенно игры), выход из которых - "Reset". Потому что выходить из них было просто некуда...

ST: При желании можно даже поставить российский систему: PTS-DOS.

N: Что то вы забыли рассказать про то что сейчас как раз в Физтехе полным ходом пишется PTS Linux. А на DOS они давно забили.

A: Ну и что? Появится еще один клон Linux. И о нем достаточно быстро забудут. Если бы ребята из Физтеха написали свою, оригинальную, хорошую операционку ("не имеющую аналогов") - это было бы здорово! А то как в системе американской "демократии": республиканцы (Windows) и демократы (Linux): третьего, как говорится не дано. Поэтому в Физтехе и пишется PTS Linux - нужно "подать" то, что хочет массовый потребитель. Рынок безжалостен, господа! К сожалению, в условиях жесткой конкуренции DOS просто не выживет. Но ведь, к примеру дружба, любовь, сострадание и взаимопомощь тоже не вписываются в рыночную модель! Всегда есть то, что нельзя оценить в денежном отношении. Так пусть каждый делает то, что ему нравится. Кому-то по душе писать клон Линукса, кому-то - возиться со старым "железом" и собирать древние программы для DOS.

Напоследок замечу, что я никому не хочу ничего навязывать. Если кто-то испытывает неприязнь к DOS или к старым компьтерам - это ваше дело, просто не посещайте этот сайт. Мы же ни в коей мере не претендуем на звание "лучших". Да, DOS обладает серьезными недостатками, он устарел и не соответствует нынешним стандартам и требованиям рынка. Зато старый 286/386/486 компьютер на основе DOS очень дешев, доступен - но с другой стороны способен решать немало различных задач. И кому-то это нравится. Не надо смеяться над этими людьми, это их увлечение, хобби, любимое дело...

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

М.Бабичев (aka Антиквар)

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