КомпьютерМастер КомпьютерМастер
Программы

  Услуги   Цены   Гарантии Вызов мастера Всё о компьютерах   Полезные ссылки

DOS еще жива


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

В принципе, это вполне естественно. Постоянно пользуются DOS'ом теперь лишь очень немногие, и те преимущественно из-за недостатка системных ресурсов для работы с Windows (сторонникам Linux, Unix, OS/2 и т.п. эта статья вряд ли покажется полезной). А те из пользователей, кому доводилось иметь дело лишь с Windows NT/2000/XP, вообще слабо представляют себе DOS. Причина очень проста: операционные системы этой линейки выполнены на ядре OS/2, работу над которой IBM до поры до времени вела совместно с "Майкрософт". Вот почему совместимость этих систем c DOS намного хуже, чем у Windows 9x (к этой группе относится и Me), сделанных на его ядре. Это обстоятельство для пользователей Windows XP ухудшается еще тем, что в ней, как и в Millennium, нельзя перезагрузиться в DOS'е стандартными средствами. Проще всего создать загрузочный диск (Панель управления -> Установка и удаление программ -> Загрузочный диск -> кнопка Создать диск) и грузиться с него.

Многие могут спросить: а кому, собственно, нужен этот самый DOS?

Если "накрылась" Windows, то ее можно переустановить только из другой Windows либо из DOS'а при помощи загрузочной дискетки. В первом случае есть определенные нюансы: например, Windows 98 и "Линолеум" не хотят уживаться под одной крышей, потому что, по существу, являют собой практически одно и то же; Windows 9x никогда не установятся из NT'шных систем и т.д. Во втором же случае единственная проблема может заключаться в незнании старого доброго DOS'а. Другой пример, когда этот маленький недостаток становится комом в горле, — если какая-то старая программа (игра, например) не хочет запускаться из-под "Винды". Надеюсь, что, если вы принадлежите к когорте пользователей, плохо представляющих себе "деда" "Окон", то я смог вас убедить в том, что пора бы получить элементарнейшие навыки работы в нем. Если нет, то, боюсь, моя статья будет для вас совершенно бесполезна.

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

Запускайте окошко DOS (Пуск -> Программы -> Стандартные -> Сеанс MS-DOS) или перезагружайтесь в него. Вообще главная программа DOS — command.com, но в NT-системах вместо нее используется 32-битный интерпретатор DOS'овских команд. Но это не так уж и важно. Лучше давайте посмотрим, что у нас там на экране.

Примерно картина должна выглядеть так:

X:\directory\>

Последняя строка называется приглашением DOS. Здесь X - текущий диск (на котором находится запущенная ОС), directory - папка или папки, где она расположена. Короче, просто путь. Сразу после вывода приглашения система ожидает ввода ваших команд.

Самая простая "команда" - путь к какой-нибудь программе и ее имя без расширения - запускает указанное приложение.

Одна из наиболее часто вводимых инструкций DOS - dir [путь][маска][ключ]. Она выводит на экран содержимое папки с указанным адресом или, если путь не назван, текущей папки. Параметр [маска] задает шаблон поиска файлов. Если он не указан, выводятся все файлы папки. В противном случае вы увидите только те из них, которые соответствуют шаблону. Знак * заменяет любое количество любых символов, ? - один неопределенный символ. Скажем, шаблону ?a*.* соответствуют любые файлы с любым расширением, в которых "a" - вторая буква. Кстати, не стоит забывать, что максимальная длина имени файла в DOS - 8 символов, а расширения - 3 символа. Более длинные имена урезаются до шести букв, к которым прибавляется знак ~ и число, соответствующее номеру файла среди других, начинавшихся так же. И, наконец, последний параметр команды dir - ключ. Ключи способны значительно повлиять на работу команды, и они есть почти у всех инструкций DOS. Скажем, ключ /? (единственный "универсальный" ключ, характерный для DOS) выдает справку по данной команде. Остановимся пока на наиболее интересных dir'овских ключах. Если вам кажется, что содержимое папки не влезет на экран, примените ключ /P. При использовании этого ключа после заполнения каждого экрана будет производиться пауза. Как только прочтете, жмите на любую клавишу, чтобы перейти на очередной экран. Ключ /W позволяет писать по несколько слов в строку и, значит, уместить на экран больше файлов. Используя ключ /S, вы можете просмотреть не только файлы и папки в данной директории, но и ее подпапки. Остальные ключи можно узнать, набрав dir /?.

Еще одна распространенная команда - chdir, она же cd (к компактам не имеет никакого отношения). Она позволяет изменить текущую папку (т.е. ту, в которой выполняется поиск подключаемых к программе файлов) и избежать сообщений типа: "File not found", "No such file or directory" и т.п. Ее параметр - имя папки. Никаких ключей, кроме /?, не имеет.

Большинство пользователей привыкли использовать различные файловые менеджеры, и им необходимость производить элементарные операции вручную кажется ужасной. Однако лично я предпочитаю пользоваться командной строкой, нежели Norton или Volcov Commander. Впрочем, часто оболочки могут то, что недоступно из командной строки, тогда альтернативы просто нет. И все-таки я считаю, что основные файловые операции DOS знать стоит независимо от того, используется файловый менеджер или нет. К ним и перейдем. Команда mkdir, или, проще, md, предназначена для создания директории. Параметр, как и в случае с cd, имя папки.

Несложно догадаться, какие функции выполняет команда copy. Важно помнить, что сначала указывается файл для копирования, а уж затем адрес и имя "клона". Ключи у copy такие: /A - указывает на то, что файл — текст в понимаемом DOS'ом формате (советую использовать ключ только в том случае, если файл ДЕЙСТВИТЕЛЬНО является простым текстовым файлом DOS), /B - указывает на то, что файл двоичный (предпочтительнее ставить именно этот ключ), /V - заставляет DOS сравнивать файлы после копирования, чтобы проверить их идентичность. Между прочим, если указать вместо файла результата параметр prn, то файл будет выведен на принтер.

Для того, чтобы удалить файл, воспользуйтесь командой del (она же erase). Ее обязательный параметр - файл, файлы или папка для удаления. А единственный ключ - /P - включает уточнение насчет того, действительно ли вы хотите удалить каждый из указанных вами файлов.

А команда rename (или, проще, ren) служит одновременно для переименования файлов и для их перемещения. В первом случае достаточно указать путь к файлу для переименования первым параметром, а вторым - просто имя файла. Для перемещения же, как нетрудно догадаться, требуется указать два пути.

Вот, пожалуй, и все наиболее важные команды для работы с файлами в DOS. Давайте поговорим о других полезных инструкциях, таких, например, как type, не имеющая ключей, кроме /?, и предназначенная для вывода на экран содержимого текстового файла. Правда, пользоваться ею не очень удобно, потому что стандартный экран DOS'а имеет 25 строк и никаких полос прокрутки. Вся информация выдается сразу, и, если текст содержит большее количество строк, чем умещается на экране, то целиком его при помощи type не просмотришь.

А инструкция prompt предназначена для изменения структуры приглашения. Хотите, скажем, сделать так, чтобы вместо адреса текущей папки DOS приветствовал вас надписью "Hello"? Достаточно набрать: prompt <новое приглашение>, причем можно использовать сочетания символов $T для вывода текущего времени, $D для вывода даты и ряд других. Скажем, строка prompt Time: $T, Date: $D придаст приглашению DOS следующий вид: Time: <время>, Date: <дата>.

Кстати, последовательность команд DOS можно сохранить в текстовый файл с расширением .BAT (такие файлы называются пакетными), и он будет функционировать почти как полноценная программа ("почти" потому, что .BAT-файлы, как макросы на Visual Basic или любые Script'ы, интерпретируются системой, т.е. все ошибки и недочеты обнаруживаются только в процессе выполнения).

Есть ряд команд, которые почти не используются сами по себе, но в .BAT-файлах бывают очень полезны. Это прежде всего pause (не имеет параметров), которая приостанавливает выполнение пакетного файла, и echo, выводящая на экран сообщение, которое указывается как параметр и без кавычек.

BAT-файлы — это текстовые файлы, состоящие из команд ДОС, интерпретируемых при запуске. Во многом BAT'ы похожи на программы.

Кроме команд pause, echo и пр., описанных в предыдущей части, есть и ряд других инструкций, которые могут быть полезны при создании пакетного файла .BAT. Причем эти инструкции, по сути, командами не являются, они выполняют функции операторов в языках программирования.

Одна из них - IF - классический оператор, в том или ином виде присутствующий практически в любом языке программирования. Позволяет проверять правильность условия, заданного пользователем. Например, строка if exist readme.txt echo There is a readme.txt file in the current directory выдаст сообщение "There is a readme.txt file in the current directory" в случае, если в текущей папке есть файл readme.txt. Эту команду можно условно разделить на три части: вызов команды (слово "IF"), условие для проверки (в данном случае - строка exist readme.txt, проверяющая наличие файла readme.txt в текущей папке) и команда, выполняемая, если условие соблюдено (здесь это - echo There is a readme.txt file in the current directory). В данном примере можно изменить имя файла и команду, и он будет работать.

Большинство программ при закрытии оставляют после себя какое-либо значение, называемое возвращаемым, которое указывает на результат работы приложения. Скажем, если какая-либо софтина вырубилась с возвращаемым значением -1, то, скорее всего, имел место глюк или сбой. Инструкция if errorlevel 1 echo Errorlevel 1 напишет "Errorlevel 1", если последняя запущенная программа возвратила значение 1. Также при помощи IF можно сравнивать числа и строки (при сравнении используется двойной знак "равно", т.е. "="). Кстати, сравнивать можно и параметры, с которыми был запущен командный файл: первый параметр (до первого пробела) обозначается знаком %1, второй - %2 и т.д. Например:

echo off
if %1== hello echo Hello!

Командный файл, запущенный с параметром hello, ответит аналогичной любезностью, т.е. поздоровается. Первая строка — echo off — отключает вывод на экран текущей строки кода bat-файла перед ее выполнением.

Маленькое предупреждение: если параметров не будет вообще, то ДОС не преминет об этом сообщить.

К любому из выражений можно подставить слово NOT, которое, как несложно догадаться, заставляет инструкцию IF'а выполняться, только если ее условие ложно. Простейший пример выглядит так:

if exist command.com echo There is a command.com file in the current directory if not exist command. com echo There is NO file named command.com in the current directory

Какие действия он выполняет, по-моему, вполне очевидно. Помимо оператора условия IF, в командном языке ДОС присутствует и оператор циклов FOR, предназначенный для циклического выполнения определенных инструкций. Правда, интерпретация этой команды несколько нестандартна — она имеет вид:

for %%A in (TXT CPP H EXE) do copy mygame.%%A C:\games\mygame

Не пугайтесь. На самом деле все достаточно просто. Вышеназванная инструкция просто скопирует файлы mygame.txt, mygame.exe, mygame.cpp, mygame.h из текущей папки, если они там есть, в папку C:\GAMES\MYGAME. Цикл выполняется следующим образом: вместо параметра %%A или любого другого, стоящего сразу после инструкции for, подставляется первое слово из скобок после in, а затем выполняется действие, стоящее после слова do, затем на место %%A становится уже второе слово из in'овских скобок и с результатом выполняется то же действие и т.д. Например, инструкция for %%FILE_NUMBER in (00 01 02) do del noname%%FILE_NUMBER.obj удалит из текущей папки файлы noname00.obj, noname01.obj, noname02.obj.

Зачастую при выполнении пакетного файла возникает необходимость перейти от одной части кода к другой, независимо от того, раньше или позже она расположена, пропуская все инструкции, стоящие между этими двумя участками BAT'а. Это реализуется с помощью команды goto. Чтобы обозначить нужный участок кода, его нужно пометить знаком :x, где вместо x стоит название метки. Например:

<…кусок кода…>
:metka
<…код метки…>
goto metka

В этом примере инструкции кода метки будут выполняться ad infinitum, т.е. до бесконечности, потому что каждый раз, когда команды будут выполнены, указание goto metka заставит ДОС снова вернуться к началу метки. В таких случаях описанное безобразие прекращается по нажатию на Ctrl-C или Ctrl-Break. Например, если нужно напечатать какой-то документ в нескольких экземплярах, можно воспользоваться следующим кодом:

echo off
: print
echo A copy of readme.txt is being printed…
copy readme.txt prn
pause
goto print

В данном случае DOS будет печатать документ readme.txt, если, конечно, таковой имеется в текущей папке, до полного истощения расходников принтера и даже дальше. Есть еще весьма примечательная команда SHIFT, обеспечивающая сдвиг формальных параметров относительно фактических. Говоря по-русски, если пакетный файл был вызван с тремя параметрами, например: view readme.txt please, то формальному обозначению %1 изначально соответствует параметр view, %2 - readme.txt, %3 - please. После вызова инструкции SHIFT %1 будет соответствовать слову readme.txt, а %2 - please. После еще одного вызова параметру %1 будет соответствовать слово please, а если инструкция будет выполнена еще раз, то вообще ничего не останется.

И последняя часто употребляемая в BAT'ах команда - exit. Если вы из одного пакетного файла запустили другой, то без использования этой команды обратно в первый командный файл управление не возвращается.

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

В прошлый раз, говоря о файловых операциях, я забыл упомянуть команду RD (или RMDIR), служащую для удаления папки. Ее параметр - имя папки, а ключей нет.

Команды DATE и TIME выводят на экран текущую дату и время соответственно, кроме того, если задать им в качестве параметра новое значение даты или времени, то системным часам будут установлены введенные величины.

Зачастую приходится искать в текстовых файлах какую-то строку. Сделать это можно с помощью инструкции find. Первый ее параметр - строка для поиска, второй - файлы, в которых его требуется выполнить. Ключ /V заставляет DOS выводить все файлы, НЕ содержащие строку. Если нужно искать текст без учета регистра символов, воспользуйтесь ключом /I.

Команда sort, имеющая вид: sort <файл для сортировки> <файл конечного результата> предназначена для сортировки слов в текстовом файле в алфавитном порядке и сохранения результатов в файл, указанный после знака ">". Более подробно об инструкциях find и sort можно узнать, набрав "find /?" или "sort /?".

Чтобы узнать версию установленной ОС, введите команду ver.

Команда format предназначена для форматирования флоппи- или жесткого диска. Ее параметр - имя диска. Ключ /Q включает быстрое форматирование, занимающее несколько меньше времени, чем стандартное, и невозможное в случае, если диск никогда не форматировался ранее. Весьма часто используется ключ, задающий емкость диска - /F:X, где вместо X ставится объем форматируемого диска (e.g. 160, 320, 720 Кб, 1.2, 1.4 Мб). Ключ /1 позволяет отменить двустороннее форматирование, попробуйте использовать его, если что-то глючит.

Если возникает необходимость перенести системные файлы на какой-либо диск, воспользуйтесь командой sys X:, где X: - диск для переноса.

Итак, DOS - это шестнадцатиразрядная операционная система, т.е. она была разработана для 16-разрядных процессоров (если кто не в курсе, сегодня в обращении в основном 32-разрядные CPU, а в ближайшее время планируется плавный переход на 64-разрядные). Кроме того, важно осознавать такую особенность этой операционной системы, как однозадачность. Это значит, что, кроме системных и резидентных (висящих в оперативной памяти и работающих, как правило, автономно — к таким относятся, например, драйверы устройств или программы для включения русской раскладки клавиатуры) программ, в ОЗУ компьютера может быть загружено только одно приложение. Однозадачность DOS - один из главных его недостатков.

Первоначально максимальное количество памяти, доступной DOS, ограничивалось 640 килобайтами, чего, впрочем, хватало всем программам. Однако позже, с появлением программ с графическим интерфейсом, а также сложных игрушек для DOS (яркий пример - 3D-action Tomb Raider, первые несколько частей которого созданы именно для этой ОС), потребовалось большее количество памяти. Не желая принципиально менять интерфейс системы, разработчики ввели такие понятия, как базовая память (conventional memory), которая по-прежнему ограничивалась 640 килобайтами, расширенная и дополнительная память (известные в народе как EMS и XMS соответственно), четкого лимита у которых не было, однако ни одна программа для DOS не требовала более 16 "метров" этих величин.

Вопреки мнению многих авторов толстых и умных книг про DOS, преимущественно старого издания, базовая система ввода/вывода, более известная как BIOS, в состав операционной системы не входит и никоим образом от нее не зависит. BIOS - это вообще не комплекс программных средств, каковым является ОС, а вполне конкретная "запчасть" вашего компьютера.

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

Компонент DOS, обеспечивающий его дальнейший запуск, называется блоком начальной загрузки. Суть в том, что программа, выполняющая дальнейшую загрузку ОС, прописывает данные о себе в файле boot.ini. Если ОС на компьютере установлено несколько, то появляется список, из которого можно выбрать нужную; правда, если на машине стоит хотя бы одна операционная система, отличная от DOS, то он в меню выбора появляться не будет.

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

Далее идет модуль обработки прерываний, только он, в отличие от модуля расширения BIOS, обрабатывает высшие (программные) прерывания, такие, например, как создание или удаление папки (прерывания 39 и 3A соответственно - в шестнадцатеричном виде, разумеется), завершение программы, после которого она остается резидентной в ОЗУ (31), и т.п. Если тема будет востребована, то, может быть, в следующий раз опишу прерывания DOS поподробней.

Наконец, четвертый компонент DOS, который многие считают собственно DOS'ом, - командный процессор, он же легендарный command.com;-). Функция этой части DOS - обработка команд, вводимых с клавиатуры: dir, cd и т.п. (см. предыдущие статьи). Еще одно назначение command'а - выполнять программы и BAT-файлы.

Есть еще такая относительная часть DOS, как его утилиты - скажем, программа форматирования дисков format (которая, по сути, является внешней командой) и др.

Маленький FAQ.

Насколько я знаю, в DOS есть два текстовых режима: 80 символов в строке и 40 символов в строке. Не могли бы Вы подсказать, как между ними переключаться, и меняется ли при этом стандартное разрешение в 640х480?

Текстовых режима в DOS три - 80х25, 40х25 и 80х50 символов. Последний включается только на VGA-видеоадаптере (на EGA его аналог - 80x43 символа), и то только из каких-либо вспомогательных программ. А первые два можно переключать командами MODE 80 и MODE 40 соответственно. Для того, чтобы указать, цветной или черно-белый режим используется, нужно перед этими цифрами поставить префикс CO для цветного режима и BW - для режима подавления цвета. К примеру, команда mode co80 включит цветной режим с восьмьюдесятью символами в строке. Для перехода же в режим 80х50 можно написать собственную программу. Если у вас есть, скажем, компилятор Borland C++/Turbo C++/какой-нибудь другой полноценный компилятор С++ с поддержкой создания DOS-программ, то воспользуйтесь функцией textmode(C4350); из заголовочного файла conio.h в коде программы и сделайте ее приложением DOS. Если вы не прописали в коде эту же функцию с другим параметром для перехода в предыдущий/другой режим экрана, то после выхода программа оставит этот режим. А насчет разрешения, то в режимах 80х25 и 40х25 оно составляет 720х400 пикселей.

Что нужно написать в bat-файле, чтобы все файлы из папки D:\Bogy\History скопировались в папку C:\Windows\History?

Я так понял, что вы не знаете, как запустить цикл FOR, чтобы выполнить копирование. Так вот, здесь вовсе не нужно использовать никаких циклов; все намного проще: copy d:\bogy\history\*.* c:\windows\history Прежде чем комбинировать сложные инструкции, подумайте, нельзя ли решить задачу более простыми способами.

Гружусь с дискеты в "голом" DOS, чтобы поиграть в старую игрушку. Запускаю, а мне вылезает ошибка: "No such file or directory: dos4gw.exe". Все издевательство в том, что этот файл ЕСТЬ в папке с игрой!!! И что мне с этим делать?

Этот вопрос в разных вариантах задавался мне неоднократно. Есть, если помните, такая команда — chdir — для смены текущей папки. Когда вы грузитесь с дискеты, ваша текущая папка — a:\>, и именно в ней DOS пытается найти нужный файл. Смените текущую папку на папку с игрой, и все будет тип-топ.

Вы вот говорите, в DOS можно нормально работать без Windows. А можно ли в нем пользоваться CD-ROM'ом? Не знаю, как там и что должно быть, но у меня при загрузке DOS с boot-дискеты (вообще у меня Windows Millennium) привод не видится вообще. Это частный глюк, или в DOS'е совсем нельзя пользоваться CD-ROM?

Пользуйтесь на здоровье — при загрузке с дискеты выберите в меню пункт Start computer with CD-ROM support. Загружается чуть подольше, а так — все в порядке. Только буква CD-ROM'а получается следующей за той, которая соответствует ему в Винде. Например, если обычно у вас CD-ROM идет как диск E:, то при такой загрузке он будет обнаружен как F:. DOS - не такая убогая система, как многие привыкли считать. В нем вполне можно послушать музыку или поиграть в полноцветную игрушку с разрешением 640x480, 800x600 или даже 1024x768 - была бы игра да соответствующие драйверы для DOS.

Я нередко наблюдаю, как многие владельцы новых компьютеров, слыша о "четыреста восемьдесят шестом" процессоре, думают, что речь идет о частоте; когда при запуске старой игрушки выползает просьба указать порт, IRQ и DMA звуковой карты, они начинают паниковать, что их Sound Blaster - или что там у них стоит - не работает, и т.д. Впрочем, и среди обладателей античной техники хватает тех, кто имеет очень посредственное представление о том, "что у него там внутри" . Поэтому поговорим о старом железе.

Хотя эта тема как будто бы и не соответствует заголовку статьи, на самом деле тому, кто часто работает в DOS, названия Intel 80x86, VGA, Adlib и т.д. говорят, как правило, больше, чем юзеру Windows/Linux. А пользователю DOS'а, для которого они ничего не значат, представление о том, что это за устройства и какие их примерные характеристики, может быть достаточно полезно. К тому же, мне на "мыло" неоднократно приходили просьбы рассказать о "запчастях" старых машин.

Начать, по логике вещей, нужно с процессора. Так вот, процессор, как известно, "наиболее значимая составляющая ЭВМ <то бишь электронной вычислительной машины, а по-простому — компьютера>, контролирующая всю ее работу" (© любая компьютерная энциклопедия). Процессор выполняет все расчеты (а работа компьютера суть одни расчеты).

PC'шные программы независимо от того, для какой ОС они предназначены, состоят из одних и тех же инструкций процессора; хотя, как несложно догадаться, эти инструкции отличаются от инструкций процессора в ZX Spectrum'е (это старенькая моделька домашнего компьютера) или в той же SEGA. Разница же программы для Windows и программы для OS/2 — в том, как эти инструкции комбинируются. Так что в некотором смысле (а точнее — в плане совместимости) интеловские Pentium'ы, Celeron'ы и AMD'шные Cyrix'ы, Duron'ы и Athlon'ы, да и вообще все процессоры для PC можно отнести к одному семейству.

Родоначальником этого семейства является процессор Intel 80x86, получивший огромное распространение в конце восьмидесятых — самом начале девяностых годов минувшего века. На его базе была создана IBM PC/XT, ставшая весьма популярной.

Затем Intel выпустила процессор 80x88, который не был принят негодующей публикой, и тогда корпорации ничего не оставалось, как выпустить процессор 80286, более известный просто как "двести восемьдесят шестой". Этот процессор был анонсирован как "возвращение 80x86" или "80x86-2" и получил широкое распространение. Позже Intel выпустила еще и 386 и 486 процессоры, а затем и "Пентюха", которого некоторое время по привычке называли 586. Нужно понимать, что название 486-го не имеет никакого отношения к его тактовой частоте (которая, кстати сказать, составляет порядка 60-80 MHz).

Об ОЗУ старых машин я уже рассказывал в третьей части статьи (см. КГ № 41). Жесткого диска у многих пользователей просто не было — грузились с дискеты и кое-как работали; у тех, кто им все-таки обладал, его емкость не превосходила 100 метров (ну, абсолютный максимум — 0,5-1 гигабайт). Кстати, о дискетах и дисководах — они постепенно эволюционировали от менее вместительных десяти- и пятидюймовых к более вместительным трехдюймовым; теперь, увы, floppy-диски постигает участь динозавров:), т.е. вымирание:(.

Ну, а теперь история графических адаптеров, то есть устройств для управления выводом на экран графики. Они, как и процессоры, большей частью совместимы, хотя есть и исключения.

Итак, на первый день сотворил человек CGA — Color Graphic Adapter — самый убогий и примитивный из ряда графических адаптеров для "персоналок". Его возможности состояли из двух режимов работы: разрешение 320x200 в четырех цветах и разрешение 640x200 в черно-белом виде. Нужно отметить, что в первом режиме было возможно использование палитры — т.е. цвета, составляющие четырехцветную гамму, можно было выбрать из нескольких вариантов.

Затем появился адаптер Hercules, обеспечивающий разрешение 748x350 при двух цветах. Не будучи совместимым с CGA, он был вытеснен более новыми адаптерами, такими, как EGA и VGA.

EGA-адаптер поддерживал два основных режима: 320x200x16 цветов и 640x350x16 цветов, а VGA — режимы 320x200x256 цветов и 640x480x16 цветов.

Ну и, наконец, вершина человеческой мысли — адаптер SVGA, который первоначально предполагался для обеспечения разрешения 640x480 в 256 и 800x600 в 16 цветах, но позже дорос до 1280x1024 и даже выше в True Color. Впрочем, как несложно догадаться, этот режим используют совсем немногие DOS-программы. На этом наш небольшой экскурс по добиблейской электронике подходит к концу, и теперь по едва установившейся традиции — ответы на письма читателей. В этот раз я постараюсь ответить и на некоторые замечания и уточнения к моим статьям, за которые, кстати, отдельная благодарность их авторам.

Замечания и поправки:

"Компонент DOS, обеспечивающий его дальнейший запуск, называется блоком начальной загрузки. Суть в том, что программа, выполняющая дальнейшую загрузку ОС, прописывает данные о себе в файле boot.ini" — это справедливо только для NT систем (WinNT, Win2000, WinXP). Системы Win9x такого файла не знают. Они напрямую себя прописывают в boot record.

Вы абсолютно в этом уверены? Попробуйте на Windows 95/98/Me удалить этот самый boot.ini. Если Окна продолжат грузиться, то boot.ini действительно ни на что не влияет. Но они не продолжат…

Что вы говорите, нельзя количество строк на экране переключить ничем, кроме внешних программ. Тот же самый MODE (в достаточно новых ДОСах): mode con cols=80 lines=25
mode con cols=80 lines=50
Согласен с обеими частями этого утверждения: и насчет того, что можно, и насчет того, что можно только в более-менее новых версиях DOS.

По поводу dos4gw:
путь\dos4gw.exe путь\игра.exe — и не надо никаких chdir. Хотя в принципе идея правильная, похожая ситуация может возникнуть не только с dos4gw, и тогда подобный способ ничем не поможет. Так что солюшн с chdir более универсален.

У меня стоит WIN98, а я бы хотел поставить XP. Как установить XP и Win98 или DOS вместе? Возможно ли это?

Возможно. У меня стоит Windows XP на диске C: и Windows 98 на D:. А по поводу DOS — его и устанавливать не нужно. Достаточно воспользоваться уже неоднократно описанным мной-и-не-только способом с загрузочной дискетой: Панель управления->Установка и удаление программ->Загрузочный диск->кнопка Создать диск. Потом при загрузке с этой дискеты (достаточно установить floppy в качестве 1st Boot Device в BIOS или, если у вас достаточно новый AMIBIOS, нажать F8 и выбрать из списка Floppy Disk), жмем Shift-F5 или выбираем Minimal Boot, а в принципе — любой пункт и ждем загрузки DOS.

Не подскажешь, где есть в Сети операционка DOS на дискетах, чтобы можно было скачать, не на CD диске, а именно на дискетах (размер дискет 3 дюйма или 5 дюймов)?

В Интернете, конечно, есть все, но я не могу представить, как это: СКАЧАТЬ что-то НА ДИСКЕТЕ. А вообще загрузочная дискета от Винды представляет собой по сути хоть и урезанную, но версию ДОСа. Кстати говоря, на boot floppy от старых машин, которые без этого самого floppy не могли грузиться, находится пусть и старый, но вполне полноценный ДОС.

Где можно найти какие-нибудь материалы по ДОСу?

Могу посоветовать следующие книги: В.М. Брябрин "Программное обеспечение персональных ЭВМ" ("Наука", 1990), Making MS-DOS And PC-DOS Work For You (The Human Connection. — TAB Books, 1984), Disk Operating System Technical Reference (IBM, 1984). Полезную информацию можно также найти на www.fdd5-25.narod.ru.

Расскажите, плиз, откуда можно скачать "сжималку" для ДОСовских программ, PKLITE или нечто вроде нее.

Рекомендую программу под названием UPX (качать отсюда: http://upx.sourceforge.net/#download ). При результатах и скорости работы, заметно превосходящих PKLITE, программа весит порядка 100-200 Кб (в зависимости от версии и ОС) и абсолютно бесплатна. Есть версии для DOS, Linux, Windows.

Говорят, что, если в название файла в DOS вставить какие-то специальные символы, то он не будет открываться из Windows. Правда ли это?

Да, если вставить в имя файла в DOS какие-нибудь символы, не относящиеся к буквам, цифрам и допустимым знакам препинания (например, знак ¶ (конец абзаца), вставляемый по нажатию Ctrl-T), то из Windows этот файл не будет не только удаляться, но даже открываться и копироваться.

КомпьютерМастер computermaster.ru


[Услуги] [Цены] [Гарантии] [Вызов мастера] [Всё о компьютерах] [Полезные ссылки]

© КомпьютерМастер, 2004.
Rambler's Top100 Rambler's Top100