Dos приложений под windows

DOS-программы: нужны ли они и как запустить их в современных модификациях Windows

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

Насколько целесообразно использовать DOS-программы в среде Windows последних версий?

Вообще, многие пользователи ошибочно полагают, что в применении программ и утилит, рассчитанных исключительно на использование в среде DOS-систем, никакого смысла нет. С этим, конечно же, можно поспорить. Любой почитатель ранних версий Windows или устаревших ретроигр найдет массу аргументов «за». Кроме того, некоторые MS-DOS-программы очень часто оказываются более действенными в сравнении с обновленными средами, если речь идет об управлении устаревшим компьютерным «железом», которое новейшими ОС не только не поддерживается, но и зачастую даже не распознается, не говоря уже об обеспечении установки полнофункционального драйвера или выполнении других действий.

Путаница с командной строкой

Достаточно часто пользователи относят к DOS-программам так называемую командную консоль, использование которой предусмотрено абсолютно во всех известных версиях Windows.

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

Проблемы совместимости

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

Так, например, почитатели первых версий Quake, Doom, Duke Nukem 3D и подобных игр, изначально работавших на основе MS-DOS вспомнить молодость и заново пройти весь геймплей не смогут. И это уже речь не идет о том, чтобы применять некоторые системные инструменты для устаревшего оборудования. Так какие же средства можно использовать, чтобы запустить нужные программы? Об этом поговорим чуть позже, а пока посмотрим, какие из приложений и на сегодняшний день не теряют своей актуальности.

Самые известные и нужные приложения

Если говорить о системных инструментах, а не о развлечениях, на ум сразу же приходят всевозможные файловые менеджеры. Два наиболее популярных – Norton Commander и Volkov Commander.

Второй апплет является разновидностью первого, но не стоит забывать, что именно на основе этих двух приложений в свое время были созданы и такие популярные программы как FAR Manager, а также Total Commander и Windows Commander, которые уже оснащались графическим интерфейсом по типу среды Windows и могли работать без обязательного ввода команд (например, для быстрого создания текстового файла ранее применялась команда edit, взывающая встроенный редактор, а для некоторых других действий использовались функциональные клавиши и их сочетания). Кроме всего прочего, стало возможным использовать мышь.

Еще одной незаменимой утилитой можно назвать программу Partition Magic. Обычно при создании загрузочного диска программы для DOS очень часто встраивались непосредственно в оболочку, что позволяло управлять разделами или использовать некоторые дополнительные возможности, связанные с управлением жесткими дисками при загрузке с такого носителя. И только такими утилитами дело, конечно же, не ограничивается.

Читайте также:  Тема mac os mojave для windows 10

Использование эмуляторов DOS-программ в Windows 7

Таким образом, проблема запуска приложений DOS стала весьма актуальной. В принципе, сегодня запустить любую из ранее известных DOS-программ в среде новейших модификаций Windows можно достаточно просто. Для этого нужно всего лишь установить соответствующий эмулятор. Одним из самых известных является приложение DOSBox. Правда, мало только установить его. По завершении инсталляции необходимо будет выполнить настройку. Первым делом в каталоге Prog, где находится исполняемый файл Prog.exe, нужно создать текстовый файл с таким содержимым.

Сохранить файл нужно в формате CONF с названием Prog, задав расширение самостоятельно. Для выполнения старта основного приложения необходимо создать BAT-файл следующего содержания.

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

Если все сделано правильно, после запуска созданного объекта появится окно эмулятора.

Кратко о создании приложений для MS-DOS

Что же касается создания DOS-программ, приводить абсолютно все теоретические сведения смысла нет абсолютно никакого. По крайней мере, для создания простейших апплетов системного характера можно применять даже минимальные знания по обработке содержимого файлов форматов BAT и CMD. Но для программирования более сложных схем, конечно же, потребуется изучить все тонкости системы или даже проштудировать литературу по некоторым языкам программирования. Начать можете с примитивного Basic, который в советские времена входил в школьный курс информатики, а затем перейти к изучению более сложных языков вроде Assembler или Fortran. Кстати сказать, многие компьютерные вирусы до сих пор создаются на «Ассемблере».

TAME_DOS — работа старых DOS программ или игр в Windows

Тame_dos позволяет DOS программам работать комфортно в современных операционных системах. Поддерживаются Windows 7, Windows Vista, Windows Server 2003, Windows XP, Windows 2000, Citrix и Windows NT

Приложения DOS (а также Windows 3.1) являются 16-разрядными. Все Clipper программы так же являются 16-разрядными DOS приложениями. Такие программы не могут непосредственно исполняться в 32-разрядной операционной системе, каковой является Windows 98 — 7 Для запуска 16-разрядных приложений Windows создает процесс виртуальной машины — NTVDM, который в свою очередь выполняет 16-разрядные приложения в пределях своего контекста. При этом происходит трансляция 16-разрядных запросов к операционной системе в 32-разрядные запросы. Это занимает некоторое время и означает, что приложения DOS и Win16 выполняются хуже, чем приложения Win32. Поэтому приложения DOS и Win16 на 20% больше нагружают процессор и на 25% больше требуют памяти.

Еще одна важная проблема связана с тем, что приложения DOS постоянно опрашивают буфер клавиатуры, ищя предназначенный для них ввод. Это поведение означает, что приложения DOS, даже ничего не делая, расходуют чрезвычайно много процессорного времени: до 100% CPU.

Использование TAME

Для устранения этой проблемы необходимо использовать утилиту TAME. Ее использование позволяет снизить потребление CPU до 5%

Работа TAME основана на интеллектуальном обнаружении холостой работы DOS-приложений и их «погружении в сон», освобождая таким образом циклы процессора. Использование TAME заметно улучшает работу 16-разрядных приложений в среде Windows NT/2000 — будь то рабочая станция или сервер. Основные особенности и возможности TAME включают в себя:
Уменьшение использования процессора: при использовании TAME загрузка CPU уменьшается с 100% до 5-8%
Уменьшение пауз между нажатиями клавиш и выводом на экран
Ускорение вывода на печать
Мониторинг активности приложений
Возможность слежения за запросами блокировки файлов и снижение загрузки процессора во время ожидания освобождения блокировки.
Возможность хранения отдельных настроек для разных приложений
Возможность ограничения каждого приложения набором доступных процессоров, чтобы ограничить влияние на систему со стороны DOS
Возможность уменьшения приоритета задачи в состоянии ожидания
Упрощение работы приложений DOS в многопользовательской среде: синхронизация времени в приложениях DOS при изменении системного времени; возможность ограничения запуска приложений

По умолчанию, после инсталляции автомтически модифицируется файл autoexec.nt. Если это нежелательно, уберите запуск tame-mon.com из autoexec.nt и создайте BAT-файл, в начале которого (перед запуском основной программы DOS) вставьте строку:
C:\TAME\TAME-MON.COM

Читайте также:  Mac os high sierra показать скрытые папки

Доступ к настройкам TAME осуществляется из программы DOS комбинацией клавиш Ctrl+Alt+T. Окно монитора TAME вызывается и скрывается комбинацией клавиш Ctrl+Alt+M. Вместо tame-mon.com можно использовать tame-res.com; он вдвое меньше по размеру, но не позволяет интерактивно менять настройки. tame.exe служит для установки отдельных опций, а tameview.exe — для упрощения администрирования, вывода статистики и диагностики. tameview следует запускать из «чистой» командной строки DOS (не используйте Win-оболочки типа Far; но можно Norton Commander).

Если после установки TAME и запуска приложения DOS виден мерцающий экран, нажмите Ctrl+Alt+T и уберите флажок «Key Poll» или «SQL Requests» (это можно сделать предварительно запустив команду tame.exe /Key_Poll off). Для ускорения вывода в программах, написанных на FoxPro, можно поставить флажок в опции «FoxPro Video».
Полноэкранный режим приложений DOS

В термине «полноэкранный режим» по отношении к прилжениям DOS таится двусмысленность. Этот термин может означать одно из следующих:
Полноэкранный текстовый режим, который переключается клавишами Alt-Enter.
Такой режим невозможен в терминальной среде Windows 2000 независимо от используемого клиента. В старых продуктах Citrix — WinView 2.3, WinFrame, MetaFrame for Windows NT 4.0 TSE была возможна работа в текстовом режиме с клиентом DOS или OS/2. Переключение в полноэкранный режим режим требует загрузки клиенту набора шрифтов, а поскольку это интенсивная операция, то сильно пострадает производительность. Это описано в документе Q192190. Поэтому Microsoft решила не реализовывать полноэкранный режим в терминалах, а поскольку Citrix зависит от архитектуры Windows 2000, то это также не реализовано и в Citrix MetaFrame. Клиент ICA и Terminal Services Client — это обычные GUI-приложения Windows и используют для отображения сеанса графику Windows. Если вы попробуете переключиться в полноэкранный режим, то получите сообщение «16 bit MS-DOS Subsystem — The video device failed to initialize for fullscreen mode. Choose ‘Close’ to terminate the application» (Q286626), или будет видна только половина окна (CTX501302)
Из всего этого следует, что приложения MS-DOS в терминальной среде могут работать только в окне.

Окно, развернутое на весь экран.

Поскольку приложения DOS не могут в терминалах работать в полноэкранном режиме, единственный выход состоит в том, чтобы запускать приложение в окне, но развернуть его на весь экран — так, чтобы имитировалась работа полноэкранного режима.

Плохой новостью является то, что стадартные растровые шрифты Terminal из комплекта Windows, используемые для оконного режима DOS, не позволяют настроить размер шрифта так, чтобы окно занимало весь экран. Либо с мелким размером шрифта остается много свободного места, либо с большим размером шрифта окно не умещается на экране. Кроме того, само начертание растровых шрифтов не самое удачное. Использование шрифтов TrueType (Lucida Console) также не решает эту проблему. Необходим такой шрифт, чтобы он с одной стороны максимально напоминал начертание шрифта, используемого в текстовом режиме, а с другой стророны — был такого размера, чтобы окно полностью умещалось в стандартные разрешения 640×480, 800×600 и 1024×768 — т.е. имитировал полноэкранный текстовый режим.

Шрифт для полноэкранного режима DOS

Хорошей новостью является то, что другие люди уже позаботились о шрифтах нужного разрешения, чтобы окно DOS максимально напоминало полноэкранный режим. Вот как сделать «полноэкранный» режим DOS (используя совет из thethin.net).
В первую очередь вы должны установить шрифты с разрешениями 8х17 и 10х22. Вы можете скачать их с http://www.uwe-sieber.de/dosfon_e.html. «Полноэкранные» шрифты (http://www.uwe-sieber.de/dosfonfe.shtml) платные. Впрочем, вы можете нарисовать их сами, используя программы Softy и FontEditor (это старые программы для Windows 3.1, но вполне пригодны для редактирования шрифтов).
Совсем ленивые могут взять шрифт NewDOS_F с моего сайта (dosfon.zip) — в нем я с помощью FontEditor русифицировал только три разрешения: 8×17, 10×22 и 10×23. В файле помимо них содержатся десяток других размеров на все случаи жизни (но без кириллицы; если кто-то нашел кириллические шрифты нужных размеров или русифицировал остальные шрифты в NewDOS_F.fon — поделитесь, пожалуйста).

Читайте также:  Включить trim mac os lion

Установите шрифт NewDOS_F.fon на Windows 2000 Server: В панели управления откройте «Fonts», далее из меню «File» выберите «Install new font». Имя шрифта «New DOS Fullscreen».
Если шрифт не появился в папке Fonts, то перезагрузите сервер. Если опять не помогло, то воспользуйтесь утилитой Fix Font Folder для «ремонта» папки Fonts.

Теперь надо настроить окно приложения DOS. Запустите терминальный сеанс под администратором. Запустите приложение DOS (если оно опубликовано — то запустите опубликованное приложение). Щелкните правой кнопкой мыши на заголовке окна и выберите Properties. На закладке Font переключите тип шрифтов Bitmap only и выберите подходящий размер в зависимости от используемого разрешения терминального сеанса:
Разрешение сеанса Размер шрифта
640×480 8×17 или 8×18
800×600 10×22 или 10×23
1024×768 12×27, 12×28 или 12×29

Я рекомендую использовать разрешение сеанса для всех приложений DOS 640×480, 16 цветов, шрифт 8×17.
Для каждого разрешения есть несколько размеров шрифтов. 8×17 и 10×22 оставляют место внизу для панели задач ОС клиента, а шрифты 8×18 и 10×23 (высота больше на 1 пиксел) занимают весь экран (удобно для клиентов, отличных от Win32).

Теперь настройте расположение окна. На закладке «Layout» установите запуск в окне («Window»), Window size желательно изменить 80х25 (вместо 80х300). Сбросьте галочку «Let system position window» и поставьте в поле «Left» и «Top» значения -4. Это сместит окно так, чтобы не были видны рамки окна. Щелкните OK и выберите «Save settings for future windows with same title».Примеры отображения окна опубликованного приложения DOS на клиенте PN 7.0 в Windows 98
640х480
шрифт 8х17, seamless window 800х600
шрифт 10х22, в окне

Русификация приложений

Поскольку для отображения окна сеанса DOS используются растровый шрифт Terminal, то загрузка русификатора экрана не нужна. Однако, для правильного ввода символов кириллицы необходимо установить русификатор клавиатуры (если вы этого еще не сделали). Для этого в реестре откройте ключ
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\KeyboardLayout\DosKeybCodes
и змените в нем значение для параметра 00000409 на ru. Кроме того, в файле autoехес.nt, расположенном в С:\WINNT\system32, необходимо добавить строку:
lh %SystemRoot%\system32\kb16.com ru
После перезагрузки переключение раскладок осуществляется клавишами LeftCtrl+Shift (англ.) и RightCtrl+Shift (рус.)
Конечно, вы можете использовать также русификатор типа keyrus.com

Приложения FoxPro и Clipper

Приложения FoxPro for DOS очень популярны, поэтому я вкратце остановлюсь на некоторых их особенностях.
Во-первых, использование TAME позволяет ускорить вывод на печать из приложений FoxPro (эта проблема описана в Q102203), улучшить прорисовку окна (включите опцию FoxPro Video) и снизить неприятный эффект задержки между нажатием клавиши и эхом на экране.

Если используется расширенная версия FoxPro (foxprox.exe) или приложение EXE, написанное с ее использованием, то такое приложение будет стремиться занять всю свободную память и очень медленно запускаться. Для решения этой проблемы создайте (или отредактируйте) в каталоге запуска приложения файл config.fp и добавьте в него строку:
MEMLIMIT = 60,2048,8192
(или запускайте FoxPro с опцией -Ccofngfile).
Здесь 60 — % доступной памяти, 2048 — минимум Кб, 8192 — максимум Кб. Вы можете изменить цифры по вкусу (достаточно менять последнее число — максимальный размер используемой памяти).

Не забудьте про соответствующие настройки FILES= в config.nt

Для приложений, написанных на Clipper, в комплект TAME входит файл настройки Clipper.tam, который вы можете подключить командой TAME /SET Clipper.tam (Хотя по умолчанию TAME автоматически определяет программы Clipper и подгружает нужные настройки). Для приложений Clipper TAME может использовать альтернативные методы для уменьшения замедлений при печати.
Ускорение прорисовки экрана

Приложение DOS для отображение информации в окне не используют функции Win32 API. Вместо этого в памяти сначала рисуется растровое изображение (bitmap), которое затем выдается на экран. Такая схема замедляет работу приложений — легко заметрить, что интерфейс приложений DOS медленее в оконном режиме, чем в полноэкранном текстовом. И особенно это плохо в терминальном сеансе.
Поскольку полноэкранный текстовый режим недоступен в терминальном сеансе, то рекомендуется использовать минимальное разрешение и глубину цвета — т.е. 640х480 и 16 цветов, а также установить шрифты, имитирующие полноэкранный режим DOS

Оцените статью