Фигурнов В.Э. IBM PC для пользователя. Книга содержит подробное и доступное для начинающих описание возмож
Скачать 5.4 Mb.
|
Глава 15. Основные сведения о DOS........................................................ 184 ^&. ' .'".'.i Глава 16. Диалог пользователя с DOS ..................................................... 194 "и Глава 17. Работа с файлами в DOS .......................................................... 201 Глава 18. Работа с каталогами в DOS ......................................................214 " Глава 19. Работа с экраном и принтером в DOS ......................................221 ^ .;;.:;...ч;.::..:?1 Глава 20. Работа с дисками в DOS........................................................... 224 ',' Глава 21. Программы и команды DOS общесистемного назначения........ 234 Глава 15 Основные сведения о DOS Обозначение В настоящей главе мы кратко расскажем о MS DOS - той операционной системе (далее - ОС), которая была создана вместе с компьютером IBM PC, вместе с ним получила широчайшее распространение (в десятках, если не в сотнях миллионов экземпляров), и которая до сих пор используется во многих задачах. Следует заметить, что наряду с MS DOS на рынке программного обеспечения доступны также и совместимые с ней ОС других фирм-производителей: IBM (PC DOS), Novell (Novell DOS, ранее - DR DOS), отечественной фирмы Физтехсофт (PTS DOS) и др. Практически во всем эти ОС дублируют MS DOS, отличаясь от нее набором поставляемых с ОС утилит, некоторыми до- полнительными возможностями, параметрами команд DOS и т.д. Мы будем называть MS DOS, PC DOS и Novell DOS общим термином MS DOS - это аббревиатура слов MicroSoft Disk Operating System, то есть дисковая операционная система фирмы Microsoft. Слово <дисковая> здесь означает то, что эта система запускается в работу с дисков (скажем, дискет). 15. 1. Основные характеристики MS DOS Первая версия MS DOS Развитие MS DOS MS DOS была создана в 1981 г. фирмой Microsoft по заказу IBM для разраба- тывавшихся тогда компьютеров IBM PC. Компьютер IBM PC, для которого была написана MS DOS, был мало похож на современные компьютеры - медленный микропроцессор Intel-8088, 256 Кбайт оперативной памяти, без жесткого диска, алфавитно-цифровой черно-белый монитор, работа лишь с односторонними 160-Кбайтными дискетами и т.д. Однако тогда этот компью- тер стоил 5000 дол. и значительно превосходил по своим возможностям кон- курирующие персональные компьютеры. Первая версия MS DOS тоже обладала гораздо более скромными возможно- стями, чем современные ОС. Она походила на популярную тогда на 8-битовых микропроцессорах ОС СР/М, только переписанную для микропроцессора Intel-8088. Это была простейшая ОС, обладающая лишь минимальным набо- ром функций. Она обеспечивала работу на компьютере лишь одного пользова- теля и одной программы (то есть была однопользовательской и однозадачной), поддерживала работу лишь с дискетами, клавиатурой и алфавитно-цифровым дисплеем. Тем не менее, MS DOS вполне соответствовала возможностям вы- пускаемых тогда компьютеров: она была компактной, предъявляла довольно скромные требования к аппаратуре и выполняла необходимый минимум функ- ций для пользователей и программ. Однако за те полтора десятка лет, которые прошли с момента появления IBM PC, технические характеристики компьютеров совершили фантастический рывок вперед. Современные компьютеры превосходят по всем показателям (быстродействию, объему оперативной и дисковой памяти, возможностям мо- нитора и т.д.) компьютеры начала 80-х годов в сотни и даже тысячи раз. По- этому фирма Microsoft внесла в MS DOS много изменений и добавлений, что- Глава 15. Основные сведения о DOS бы расширить ее возможности и более эффективно использовать новые, более мощные, компьютеры: в MS DOS была добавлена поддержка новых устройств (жесткого диска, новых типов дискет, компакт-дисков, расширенной памяти и т.д.); была обеспечена возможность поддержки и других устройств с помощью драйверов, написанных фирмами-производителями устройств или иными разработчиками: была включена поддержка иерархической файловой структуры на дискетах и жестких дисках, предоставлены соответствующие команды пользователя и функции для их вызова из прикладных программ; была обеспечена поддержка национальных клавиатур и алфавитов; были включены многочисленные новые возможности для пользователя (новые команды DOS, полезные утилиты, оптимизатор использования па- мяти, поддержка сжатия дисков и т.д.). Совместимость и работоспособность на любом компьютере Следует особо отметить, что при выпуске новых версий MS DOS фирма Microsoft неукоснительно следовала двум важнейшим принципам: сохранение совместимости: любая версия MS DOS могла исполнять про- граммы, написанные для любой из предыдущих версий MS DOS; работоспособность на любом компьютере: любая версия MS DOS мо- жет работать на любом IBM PC-совместимом компьютере (даже без жест- кого диска, с 512 и даже менее Кбайтами оперативной памяти, с любым монитором и т.д.). Что оказалось невозможно усовершенствовать Однако многие усовершенствования в MS DOS оказалось невозможно добавить, со- храняя полную совместимость со всеми существующими DOS-программами: MS DOS так и осталась однозадачной ОС. Различные программные средства, по- зволяющие запускать несколько DOS-программ и переключаться между ними (DesqView, DosShell и др.) так и остались половинчатыми решениями, не получив- шими широкого распространения; в MS DOS оказалось невозможным встроить надежные средства для защиты дан- ных от несанкционированного доступа и организации коллективной работы с дан- ными, DOS-программы могут выполняться только в пределах первого Мбайта памяти, а остальная память может использоваться лишь для хранения данных (об использо- вании оперативной памяти в DOS см. главу 39). А необходимость втискивать MS DOS в минимальный объем оперативной и дисковой памяти привела к: отсутствию или ограниченности поддержки многих устройств в MS DOS, из-за чего забота о поддержке этих устройств легла на производителей прикладного про- граммного обеспечения. Поэтому зачастую нужная DOS-программа не поддержива- ет имеющийся принтер, монитор или иное устройство, что очень неудобно; отсутствию в MS DOS стандартных средств для создания пользовательского ин- терфейса (меню, запросов и т.д.), поэтому реализованные в различных программах способы общения с пользователем оказались совершенно разными, что затрудняет обучение пользователей и использование программ. Из-за невозможности внесения в MS DOS необходимых принципиальных усовершен- ствований фирма Microsoft оказалась вынужденной создавать новые ОС (Windows, Windows NT, Windows 95 и др.), обеспечивающие надлежащий сервис для пользовате- лей и разработчиков, поддерживающие одновременную работу нескольких программ, средства защиты данных и позволяющие эффективнее использовать возможности со- временных микропроцессоров. Разработчики и пользователи оценили достоинства этих ОС, и теперь подавляющее большинство программ для IBM PC-совместимых компью- теров создается не для MS DOS, а для Windows, Windows 95 или Windows NT. Области применения Как наличие автомобилей не отменяет необходимости уметь ходить на своих MS DOS двоих, так и наличие Windows, Windows 95 или Windows NT не ликвидирует (хотя и сильно сокращает) потребности в MS DOS и DOS-программах: до сих пор остается множество областей деятельности, где DOS- программы успешно работают, а применение решений, требующих Windows, Windows 95 или иных ОС, невозможно или экономически неце- лесообразно; при повреждении таких ОС, как Windows 3.1, Windows for Workgroups и Windows 95 (что случается весьма часто) для исследования причин неис- правности и их устранения обычно приходится использовать MS DOS и DOS-программы. Скажем, если компьютер не загружается с жесткого дис- ка, то приходится загружать с дискеты MS DOS (другие ОС работают только с жесткого диска) и разбираться в происшедшем с помощью DOS- программ; поскольку ОС Windows 3.1, Windows for Workgroups и Windows 95 явля- ются надстройками над MS DOS, то для их эффективного использования надо уметь настраивать MS DOS. Сейчас последней отдельно распространяемой версией MS DOS является вер- сия 6.22, она была выпущена в мае 1994 г. В эту версию MS DOS наконец была включена поддержка ввода русских букв с клавиатуры и отображения их на экране монитора (ранее для этого было необходимо использовать специ- альные программы-русификаторы). Более ранние версии MS DOS сейчас ис- пользовать вряд ли целесообразно, разве лишь на компьютерах IBM PC XT с 640 или 512 Кбайтами оперативной памяти можно применять MS DOS 3.3. MS DOS версии 7.0 поставляется только в составе Windows 95 (которая была выпущена в августе 1995 г.). Однако эту версию MS DOS, по-видимому, пра- вильнее рассматривать не как отдельную ОС, а как подсистему Windows 95, служащую для обеспечения совместимости с предыдущими версиями MS DOS. Версии MS DOS 15.2. Основные составные части DOS Операционная система MS DOS состоит из следующих частей. Дисковые файлы 10.SYS и MSDOS.SYS Командный процессор DOS Дисковые файлы 10.SYS и MSDOS.SYS, иначе называемые основными сис- темными файлами MS DOS, содержат основные программы MS DOS, которые постоянно находятся в оперативной памяти компьютера. В версиях MS DOS до 7.0 файл 10.SYS представляет собой дополнение к функциям базовой сис- темы ввода-вывода в BIOS, а файл MSDOS.SYS реализует основные высоко- уровневые услуги DOS. В MS DOS 7.0, входящей в состав Windows 95, файл 10.SYS содержит программы DOS, а файл MSDOS.SYS задает параметры за- грузки DOS и Windows 95 (фактически MSDOS.SYS в Windows 95 является текстовым файлом). Файлы 10.SYS и MSDOS.SYS должны находиться в корневом каталоге диска, с которого загружается MS DOS. Замечания. 1. Файлы 10.SYS и MSDOS.SYS нельзя скопировать на другой диск обычными командами типа Copy, для их записи на диск имеется специальная команда Sys (см. главу 20). Кроме того, запись системных файлов на диск может осуществляться при форматиро- вании диска (см. главу 20). 2. В других версиях DOS основные системные файлы DOS могут называться и по-другому, например 1ВМВ10.СОМ и IBMDOS.COM для PC DOS, DRBIOS.SYS и DRDOS.SYS для DR D0§ и т.д. Командный процессор DOS обрабатывает команды, вводимые пользователем. Стандартный командный процессор MS DOS имеет имя COMMAND.СОМ, обычно он находится в корневом каталоге диска, с которого загружается DOS. Некоторые команды пользователя, например Type, Dir или Copy, коман- дный процессор выполняет сам. Такие команды называются внутренними. Для выполнения остальных (внешних) команд пользователя командный про- Внешние команды DOS Драйверы Базовая система ввода-вывода Загрузчик DOS цессор ищет на дисках программу с соответствующим именем и если находит ее, то загружает в память и передает ей управление. По окончании работы программы командный процессор удаляет программу из памяти и выводит со- общение о готовности к выполнению команд (приглашение DOS, см. главу 16). Замечания. 1. Для интересующихся мы приводим список внутренних команд DOS: BREAK, CD, СНСР, CLS. COPY, CTTY. DATE, EXIT, LH, MKDIR, PATH, PROMPT, RD, TYPE, VER, VERIFY, VOL. а также команды для командных файлов (.ВАТ-файлов, см. главу 32) DOS: CALL, ECHO, FOR, GOTO, IF, PAUSE, REM, SHIFT. В MS DOS 7.0 имеются также внутренние команды LFNFOR, LOCK и UNLOCK. 2. Имя и расположение командного процессора DOS можно указать в команде Shell файла CONFIG.SYS (см. главу 40). Это позволяет расположить командный процессор в другом каталоге, а также использовать в качестве командного процессора не COMMAND.СОМ, а какой-то иной командный процессор, обладающий большими возможностями. Примером такого более мощного командного процессора является NDOS.COM. поставляемый в соста- ве комплекса программ Norton Utilities. Однако замена командного процессора большой популярности не получила, и мы не будем ее далее рассматривать. Внешние команды DOS - это программы, поставляемые вместе с операцион- ной системой в виде отдельных файлов. Эти программы выполняют действия обслуживающего характера, например форматирование дискет, проверку дис- ков и т.д. Внешние команды DOS записываются в отдельный каталог при ус- тановке DOS. Драйверы устройств - это специальные программы, которые дополняют MS DOS, например, обеспечивая обслуживание новых или нестандартное исполь- зование имеющихся устройств. Драйверы загружаются в память компьютера при загрузке операционной системы, их имена указываются в специальном файле CONFIG.SYS. Такая схема облегчает добавление новых устройств и по- зволяет делать это, не затрагивая системные файлы DOS. Мы рассмотрим драйверы более подробно в следующем параграфе. Базовая система ввода-вывода (BIOS), находящаяся в постоянной памяти (постоянном запоминающем устройстве, ПЗУ) компьютера, формально не является частью MS DOS, однако тесно с ней связана. BIOS содержит не только программы для проверки оборудования компьютера, инициирования загрузки операционной системы (ОС), но и программы для выполнения базовых (низкоуровневых) операций ввода-вывода с мони- тором, клавиатурой, дисками и принтером. Сама MS DOS и практически все DOS- программы постоянно используют эти услуги BIOS наряду с услугами MS DOS (кстати, эти услуги даже вызываются одинаковым образом). Некоторые встроенные программы MS DOS корректируют услуги BIOS, добавляя к ним новые возможности. Так что MS DOS и BIOS трудно отделить друг от друга, и вполне допустимо рассмат- ривать BIOS как встроенную в компьютер часть MS DOS. Замечание. Другие ОС используют услуги BIOS гораздо меньше, поскольку эти ОС рабо- тают в так называемом защищенном режиме процессора, а услуги BIOS предназначены для работы в реальном режиме микропроцессора (режиме совместимости с Intel-8088), в кото- ром программам доступен лишь один Мбайт памяти. Поэтому услуги BIOS в большинстве других ОС применяются в основном только во время начальной загрузки, до переключения в защищенный режим. Еще одна программа, которую можно считать частью DOS, - это загрузчик DOS. Он находится в первом секторе каждой дискеты и в первом секторе ло- гического диска, с которого происходит загрузка DOS (то есть диска С:). На- значение этой очень короткой программы - загрузка в память системного файла DOS 10. SYS при начальной загрузке компьютера. Подробнее процесс начальной загрузки описан в главе 6 и в параграфе 15.4 ниже. 15.3. Драйверы и резидентные программы Зачем они нужны Драйверы и резидентные программы позволяют расширить возможности DOS, например, обеспечивая обслуживание новых или нестандартное использова- ние имеющихся устройств, доступ к оперативной памяти сверх одного Мбай- Их запуск Как они работа юг ш Повторный вызов резидентных программ Выгруэка из памяти резидентных программ та, повышение скорости ввода-вывода с дисками за счет их кэширования, ввод русских букв с клавиатуры и т.д. Запуск драйверов и резидентных программ осуществляется следующим обра- зом: драйверы подключаются во время начальной загрузки DOS с помощью специальных команд файла CONFIG.SYS: DEVICE и DEVICEHIGH (см. главу 40); резидентные программы запускаются как обычные программы, только они после загрузки и выполнения некоторых действий как бы заканчивают свою работу, то есть на экране появляется приглашение DOS, и пользова- тель может запускать другие программы. Однако на самом деле часть опе- ративной памяти компьютера остается занятой резидентной программой. Функционирование драйверов и резидентных программ основано на том, что они как бы <встраиваются> в DOS, указывая, что они будут обрабатывать те или иные преры- вания (события). Например, резидентная программа или драйвер может обрабатывать все нажатия клавиш на клавиатуре, проверяя, не нажата ли какая-либо специфическая комбинация клавиш, при которой она должна выполнить некоторое действие (скажем, записать на диск копию содержимого экрана или выдать варианты перевода слова, отмеченного курсором). А если эта комбинация не нажата, обработка передается штатной подпрограмме DOS. Можно сказать, что драйверы и резидентные программы расширяют возможности DOS, делая ее чуть-чуть многозадачной. Например, пока Вы выполняете обычную ра- боту с компьютером, резидентная программа или драйвер может играть музыку или принимать факсы. Иногда пользователь может повторно выдавать команду запуска резидентной програм- мы для установки каких-то режимов ее работы. При этом программа, как правило, оп- ределяет, что она уже является резидентной и не отбирает больше оперативной памя- ти у DOS. В отличие от драйверов, которые всегда остаются в оперативной памяти до переза- грузки DOS, резидентные программы могут позволять выгрузить их из памяти (для этого надо повторно запустить эту программу с указанием соответствующего парамет- ра в командной строке). Впрочем, выгрузка из памяти поддерживается не всеми рези- дентными программами. З^мсч.лния 1. Некоторые резидентные программы и драйверы, входящие в состав MS DOS, описаны в главе 40. 2. Некоторые программы являются одновременно драйверами и резидентными программа- ми. Например, для запуска этой программы ее надо вызвать командой DEVICb или DE- VICEHIoH файла CONhIG.SYS, а для изменения режимов работы - вызвать из командной строки DOS, указав нужные параметры. 3. Резидентные программы и драйверы должны занимать небольшой объем оперативной па- мяти и весьма нетривиальным образом взаимодействовать с операционной системой DOS, поэтому они пишутся достаточно квалифицированными программистами, как правило, на языках Ассемблер и Си. 4, Некоторые резидентные программы и драйверы не могут работать в верхней памяти, то есть они должны загружаться только в обычную память (в пределах первых 640 Кбайт). Подробнее об использовании верхней памяти см. главы 39 и 41. 15.4. Начальная загрузка операционной системы DOS Когда она выполняется Как говорилось ранее, начальная загрузка ОС выполняется автоматически в следующих случаях: при включении электропитания компьютера; при нажатии на клавишу есть не у всех моделей компьютеров). |