КОМПЬЮТЕР

MS-DOS

С. Попов

Редактор раздела: И. Трус



От редакции:

Ну, это же старье, — скажите вы, — у меня комп вообще 4 гига под вистой. И вы можете его поставить на месячный круглосуточный эксперимент? Счастливец! Не читайте дальше.

У таких компьютеров потребление электроэнергии как у хорошей электроплитки. Нет, для автоматизации экспериментов, нужно что-нибудь попроще. Какой-нибудь старый комп. В большинстве случаев его быстродействия будет достаточно, данные он записать сможет, а обработать их можно будет потом и на шустром компе. Стоят сейчас такие компьютеры практически ничего, зачастую их просто выбрасывают. Надежность у них высокая — ненадежные отсеялись в прошлом тысячелетии. В промышленности до сих пор работают системы под РС-ХТ. И когда-то PC-АТ был светлым будущим. Не обольщайтесь, реальные потребности многих задач с тех пор не сильно изменились, а мощь современных компов съедают потребности новых операционных систем, которые, собственно говоря, делают тоже, что и старые, только с элементами шоу-бизнеса.

Ну, раз старый компьютер, то надо вспоминать, как и чем, он управлялся. И так — MS-DOS.


1. Обзор версий MS-DOS.
Основные составные части MS-DOS.
Начальная загрузка MS-DOS.

Термины:

Внутренние команды MS-DOS — команды, которые выполняются непосредственно командным процессором MS-DOS.

Внешние команды MS-DOS — отдельные программы, которые для выполнения загружаются командным процессором MS-DOS в ОЗУ.

Резидентная программа — программа, которая после загрузки в ОЗУ и передаче ей управления инициализируется таким образом, что постоянно находится в ОЗУ и выполняется параллельно другим программам.

Регистры CPU — спец. внутренние устройства CPU, которые предназначены для хранения информации.

*.bat-файл (Batch-файл) — спец. текстовый файл, содержащий команду или группу комманд MS-DOS (или вызовов программ), которые выполняются последовательно или в более сложном порядке.

OS MS-DOS — это однопользовательская, однозадачная, НЕ СЕТЕВАЯ 16-разрядная OS, ориентированная на использование на ПЭВМ с микропроцессором Intel 8088 (80286)[27].

Эта OS позволяет полностью использовать возможности Intel 8088 и возможности Intel 80286[28] (работающего в реальном режиме).

Максимальный объем физической памяти: 640 Кб.

Максимальный объем памяти, доступный из прикладных программ 640 Кб.

Последние версии MS-DOS (начиная с 5.0) могут использовать адресное пространство между 640Кб и 1Мб для размещения своих составных частей и некоторых драйверов, освобождая тем самым память в адресном пространстве 0-640 Кб для использования прикладными программами.

Представление ВСЕХ ресурсов PC для одной, АКТИВНОЙ в настоящий момент, программы.

Значительно развита файловая система и процессор командного языка.

Очень слабая поддержка интерактивных средств взаимодействия с Пользователем.

На диске может занимать, в зависимости от версии: 1–6 Мб. (Минимум, при котором можно работать: 100 Кб).

Требования к аппаратным средствам IBM PC:

— не хуже: 8088/10/640K6RAM/10HDD/CGA

— оптимально: 286/287/20/1RAM/80HDD/EGA


ИСТОРИЯ MS-DOS

В октябре 1980 г. менеджеры фирмы IBM занялись поисками OS для своего 16-разрядного PC, находящегося в стадии разработки. В тот период на ПЭВМ наиболее широко применялась OS СР/М (Control Program for Microcomputers) фирмы Digital Research.

He достигнув приемлемых соглашений с Digital Research фирма IBM обратилась к фирме Microsoft (Билл Гейтс). В тот момент у Microsoft не было соответствующей OS, но ей была известна небольшая фирма (Seattle Computer Products), которая имела такую OS. За 50000$ Билл Гейтс приобрел права на эту OS[29].

В дальнейшем эта OS послужила основой для MS-DOS. В ноябре 1980 года Microsoft и IBM подписали договор на разработку OS для IBM PC. В феврале 1981 г. появилась первая версия PC/MS-DOS, которая работала на IBM PC. В августе 1981 г. — PC DOS 1.0 (эта версия была утверждена для применения на IBM PC).


ОБЗОР ВЕРСИЙ MS-DOS

• Версии 1.х:

Очень похожа на OS СР/М (считалась стандартом в тот период). Поддерживался только односторонний формат дискет с объемом памяти 160 Кб (8 секторов, 40 дорожек, размер сектора 512 байт). Начиная с версии 1.25 (PC DOS 1.0), появившейся в Мае 1982 г. введен двухсторонний формат дискет с объемом памяти 320 Кб.


• Версии 2.х:

Версия 2.0 — Март, 1983 г.

Дополнительные возможности:

— работа с жесткими дисками (HDD),

— иерархическая структура файловой системы,

— средства перенаправления ввода/вывода (заимствованы у UNIX),

— концепция устанавливаемых драйверов периферийных устройств (используя файл CONFIG.SYS), что позволило оперативно адаптировать OS к различным конфигурациям аппаратных средств.

— Метки томов (носителей информации),

— атрибуты файлов,

— спулер принтера (спец. программа, позволяющая выводить информацию на принтер в фоновом режиме) — PRINT.com,

— формат дискет на 360 Кб (9 секторов, 40 дорожек, размер сектора 512 байт)


• Версии 3.х:

Версия 3.05 — Август, 1984 г.

Дополнительные возможности:

— формат дискет на 1.2 Мб,

— дискеты 3.5" (формат 720 Кб) (начиная с версии 3.2),

— разбиение HDD на логические диски (размером до 32 Мб), что дало возможность использовать HDD большего, чем 32 Мб объема,

— улучшена поддержка национальных наборов символов.

— поддержка компьютерных сетей (слабая, начиная с версии 3.1),

— команды (программы): LABEL, ATTRIB,

— команды (программы): XCOPY, REPLACE (начиная с версии 3.3), MS-DOS 3.3 и на сегодняшний день является наиболее широко применяемой на IBM PC XT и на IBM PC АТ-286 с объемом памяти не более 640 Кб.


• Версии 4.х:

Версия 4.0 — Ноябрь, 1988 г.

Дополнительные возможности:

— поддержка графических ВидеоАдаптеров EGA, VGA,

— объем логических дисков — более 32 Мб.

— поддержка стандарта LIM/EMS (драйвер EMM386.sys, доступ к дополнительной памяти ОЗУ на IBM PC АТ-386 и выше), что позволило отдельные части MS-DOS загружать в дополнительную память,

— программа-оболочка Dos-Shell,

Несмотря на это — MS-DOS версий 4.x не получили широкого распространения.


• Версия 5.0:

Версия 5.0 — Июль, 1991 г.

Дополнительные возможности:

— эффективное использование ОЗУ,

— дополнительные сервисные программы,

— возможность загрузки ядра MS-DOS, в НМА-память (High Memory Area) на IBM PC АТ-286 и выше,

— возможность загрузки драйверов периферийных устройств в UMB-память на IBM PC АТ-386 и выше,

— для прикладных программ отводится до 620 Кб адресного пространства (0-640 Кб) ОЗУ,

— поддержка HDD до 2 Гб,

— формат 2.88 Мб для дискет 3.5",


• Версия 6.0:

Версия 6.0 — Март, 1993 г.

Дополнительные возможности:

— эффективное использование ОЗУ,

— дополнительные сервисные программы,

— программные средства для оптимизации файловой системы на логических дисках (DEFRAG),

— изъяты команды (программы), утратившие актуальность,

— спец. программа MEMMAKER — оптимизация расположения резидентных программ в ОЗУ,

— мультиконфигурационные файлы CONFIG.SYS (возможность выбора варианта конфигурации из меню),

— система защиты от вирусов (слабая),

— увеличение доступного дискового пространства (DoubleSpace),

— средства регулирования энергопотребления PC (LapTop, NoteBook)


• Версия 6.2:

Версия 6.2 — Октябрь, 1993 г.

Все улучшения — в области повышения надежности работы с данными на уровне файловой системы.

Дополнительные возможности:

— повышена эффективность существующих команд (программ),

— Кэширование CD-ROM (программа SMARTDRV),

— отказ от DoubleSpace без потери информации (позволяет вернуть логический диск в исходное состояние),

— выявление и обход физических дефектов HDD и FDD (SCANDISK),

— выявление и устранение дефектов в файловой системе (SCANDISK), в том числе и "сжатых" DoubleSpace,

— пошаговое выполнение любого *.bat-файла, в том числе и Autoexec.bat.


СОВМЕСТИМОСТЬ ВЕРСИЙ MS-DOS

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

Если OS версии М совместима с OS версии N это значит, что все программы, работающие в OS версии N будут работать и в OS версии М.

MS-DOS 5.0 совместима с MS-DOS 3.3.

MS-DOS 6.0 совместима с MS-DOS 5.0, 3.3.

MS-DOS 6.2 совместима с MS-DOS 6.0, 5.0, 3.3.[30]


ОСНОВНЫЕ СОСТАВНЫЕ ЧАСТИ MS-DOS

MS-DOS состоит из следующих компонент:

— блок начальной загрузки (размещается в 1-м секторе 0-дорожки 0-стороны системной дискеты),

— модуль взаимодействия с BIOS (10.SYS для версии 5.0 и выше),

— модуль обработки прерываний (MSDOS.sys для версии 5.0 и выше),

— командный процессор (COMMAND.com)

— внешние команды (программы) MS-DOS,

— драйверы устройств,

— файл CONFIG.SYS,

— файл Autoexec.bat.

Блок начальной загрузки + 10.SYS + MSDOS. sys —> ядро MS-DOS.

Блок начальной загрузки:

Размещается:

в 1-м секторе 0-дорожки 0-стороны системной дискеты,

в 1-м секторе HDD-диска, в разделе, отведенном под DOS.

Просматривает КОРНЕВОЙ каталог системного диска. Проверяет, являются ли первые два файла в каталоге — файлами 10.SYS и MSDOS.sys. Если ДА — загружает их в ОЗУ и передает управление MS-DOS. Если НЕТ — сообщение на экране и ожидание нажатия какой-либо клавиши Пользователем:

Non-System disk or disk error

Replace and press any key when ready


He системный диск или ошибка диска

Замените и нажмите какую-либо клавишу, когда будет готово

Именно поэтому, при "изготовлении" Системной Дискеты — необходимо переносить файлы 10.SYS и MSDOS.sys на Системную Дискету с помощью спец. программы SYS.com.


IO. SYS:

Это резидентный модуль (всегда находится в ОЗУ после загрузки, пока включен PC).

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


MSDOS.sys:

Это резидентный модуль. Обеспечивает интерфейс высокого уровня для прикладных программ, содержит программные средства для управления файлами, устройствами ввода-вывода, обработка исключительных ситуаций (ошибок) и др. Прикладная Программа вызывает функции этого модуля через механизм прерываний (программные прерывания), передавая (принимая) информацию к (от) MS-DOS через регистры CPU или (и) области памяти ОЗУ. MSDОS.sys транслирует (переводит) запрос прикладной программы в один или несколько вызовов (10.SYS + BIOS).


Командный процессор (COMMAND.com):

Отдельный Модуль MS-DOS. Этот модуль может быть заменен на другой, более удобный.

Предназначен:

— прием команд с клавиатуры или из *.bat — файлов и их выполнение,

— выполнение команд файла Autoexec.bat при загрузке MS-DOS,

— загрузка в ОЗУ и запуск на выполнение прикладных программ в среде MS-DOS

Командный процессор состоит из 3-х частей:

— резидентная (размещается в ОЗУ сразу после MSD0S.sys, включает процедуры обслуживания некоторых прерываний, процедуры обработки стандартных ошибок MS-DOS, процедуру загрузки транзитной части командного процессора),

— инициализирующая (в ОЗУ следует сразу за резидентной частью; во время загрузки OS ей передается управление; она "выполняет" файл Autoexec.bat и некоторые другие действия; эта часть командного процессора стирается из ОЗУ первой же загруженной программой),

— транзитная (загружается в старшие адреса ОЗУ; обрабатывает все внутренние команды, команды с клавиатуры и из *.bat-файлов; выдает системную подсказку MS-DOS; загружает в ОЗУ программы и передает им управление).


Внешние команды (программы):

Дополнительные программы, входящие в MS-DOS, выполняющие определенные функции.


Драйверы устройств:

Специальные резидентные программы, которые управляют внешними устройствами. Драйверы загружаются в ОЗУ в том порядке, как они указаны в файле CONFIG.SYS.


CONFIG.SYS:

Спец. текстовый файл, где содержится информация о подгружаемых дополнительных драйверах и некоторая другая информация, касающаяся непосредственно MS-DOS и выполняемых в ее среде прикладных программ.

MS-DOS выполняет этот файл автоматически, сразу после загрузки COMMAND.com.


Autoexec.bat:

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

MS-DOS выполняет этот файл автоматически, сразу после выполнения CONFIG.SYS.

1. При включении PC вначале выполняются программы BIOS.

2. После тестирования и др. действий процедура POST (из модуля BIOS) осуществляет поиск и загрузку блока начальной загрузки: — вначале производится поиск на устройстве А: (если не найдено — поиск на устройстве С:, если не найдено, то вызывается встроенный в ПЗУ BASIC[31] или производятся другие действия, "указанные" в ПЗУ).

3. Блок начальной загрузки производит поиск в корневом каталоге системной дискеты (диска) файлов IO.SYS и MSDOS.sys (эти файлы должны быть первыми и именно в таком порядке),

4. Блок начальной загрузки производит загрузку файла IO.SYS и передает ему управление,

5. IO.SYS:

— загружает и настраивает MSDOS.sys,

— определяет состояние подключенных устройств,

— инициализирует подключенные устройства,

— загружает необходимые драйверы устройств,

— передает управление MSDOS.sys.

6. MSDOS.sys:

— инициализирует (настраивает) свои внутренние рабочие таблицы,

— загружает драйверы, указанные в файле CONFIG.SYS,

— загружает командный процессор (файл COMMAND.com)

7. Командный процессор "выполняет" команды, указанные в файле autoexec.bat

8. Командный процессор выдает на экран Монитора системную подсказку MS-DOS и ожидает команд Пользователя


2. Требования к ресурсам ПЭВМ для развертывания MS-DOS.
Развертывание (инсталляция) MS-DOS.
Настройка окружения MS-DOS при загрузке (Autoexec.bat, CONFIG.SYS)

Как было указано выше, MS-DOS — это однопользовательская, однозадачная, не сетевая, 16-разрядная OS, ориентированная на решение задач в рамках IBM PC с микропроцессором Intel 8088.

В дальнейшем, после модификаций, MS-DOS "научилась" эффективно использовать аппаратные средства PC на базе микропроцессора Intel 80286.

Компьютер IBM PC, где развертывается MS-DOS (версии не ниже 5.0), должен иметь следующую конфигурацию (не хуже): 286/20/1RAM/40HDD/1.2FDD/EGA.

Желательно использовать и мат. сопроцессор (80287 или иной, соответствующий типу главного микропроцессора).

Инсталляционная версия MS-DOS обычно поставляется на дискетах (в последнее время и на CD-ROM) и содержит краткую инструкцию по инсталляции MS-DOS. Необходимо точно следовать рекомендациям этой инструкции. Развертывание (инсталляция) MS-DOS заключается в том, что инсталляционная дискета N 1, которая должна быть системной (поставляется фирмой-изготовителем), вставляется в соответствующий дисковод и MS-DOS загружается с этой дискеты (кнопка RESET или комбинация клавиш CTRL+ALT+DEL). После загрузки Пользователь, в командной строке MS-DOS, набирает команду SETUP или INSTALL. После нажатия клавиши ENTER запускается программа инсталляции (в некоторых случаях это делается автоматически после загрузки MS-DOS). В процессе инсталляции программа запрашивает у Пользователя дополнительную информацию.

Возможен вариант (но в некоторых случаях он противозаконен), когда MS-DOS переносится (без инсталляционных дискет) с PC, где MS-DOS уже развернута. В этом случае необходимо перенести ядро MS-DOS на дискету (SYS). Затем перенести ядро MS-DOS с этой дискеты на другой PC (подготовленный для развертывания MS-DOS). Остальные файлы (внешние команды MS-DOS) переносятся с одного PC на другой простым копированием.

В процессе загрузки — MS-DOS выполняет команды настройки, указанные в файлах CONFIG.SYS и Autoexec.bat.


Файл CONFIG.SYS

Команды этого файла выполняются в процессе загрузки MS-DOS (эти команды выполняет модуль MsDos.sys).

Основное назначение файла CONFIG.SYS:

— загрузка драйверов,

— кол-во одновременно открытых файлов,

— кол-во буферов для ускорения работы с дисками

— загрузка ядра MS-DOS в верхнюю область памяти (по желанию Пользователя).


Команды, используемые в CONFIG.SYS:

• FILES — кол-во одновременно открытых файлов.

FILES=N

где N — кол-во файлов,

По умолчанию N = 8.

С точки зрения экономии ОЗУ — не желательно задавать большое число файлов. Как правило достаточно N=20. В некоторых случаях, при использовании СУБД, это значение может быть в пределах 30–40.

• BUFFERS — кол-во буферов для ускорения работы с диском.

BUFFERS=N

где N — число буферов (максимум=99).

Каждый буфер "отнимает" 512 байт ОЗУ. Поэтому, в целях экономии памяти, НЕ желательно "заказывать" N больше, чем 20. Некоторые программы требуют до 30 буферов. Если ядро MS-DOS загружено в "верхнюю" область памяти — буферы размещаются там же.

• DOS — загрузка ядра MS-DOS в "верхнюю" память (если это возможно).

DOS=HIGH — предписывает MS-DOS загрузить ядро в "верхнюю" память.

DOS=HIGH, UMB — предписывает MS-DOS загрузить ядро в "верхнюю" область памяти или в "высшую" зону адресов. Для того, чтобы это было возможно — необходимо загрузить драйвер HiMem.sys.

• BREAK — управляет проверкой Ctrl+C и Ctrl+Break.

BREAK=ON — включить проверку, BREAK=OFF — выключить проверку.

• DEVICE — загрузка драйверов

DEVICE=C: \DOS\HIMEM. SYS

• DEVICEHIGH — загрузка некоторых драйверов в "верхнюю" область памяти.

• LASTDRIVE — указывает, какую букву логического диска система допускает как последнюю.

LASTDRIVE=Z

Используется только в том случае, когда PC работает в сети.

• STACKS — кол-во и размер стеков для обслуживания аппаратных прерываний.

STACKS=N,G

где

N — кол-во стеков,

G — размер стека

Например: STACKS=9,256

Ниже приведен пример реального файла CONFIG.SYS:

rem DEVICE=C: \SCSI\ASPI2D0S. SYS /D

break=on

files=30

buffers=30

dos=high

device=C: \WINDOWS\protman.dos /i: С: \WINDOWS

device=C: \WINDOWS\workgrp.sys

device=C: \WINDOWS\ne2000.dos

LASTDRIVE=Z

DEVICE=C: \WINDOWS\HIMEM.SYS

DEVICE=C: \WINDOWS\SMARTDRV.EXE /DOUBLE_BUFFER

STACKS=9,256

rem device=EPSN.SYS 3 /s2

rem DEVICE=C: \DOS\DISPLAY.SYS CON= (EGA, 1)


Краткое описание примера:

Строки N 1, 13, 14: не выполняются (команда REM),

Строка N 2: разрешить проверку нажатия клавиш ^С, ^Вrеаk

Строка N 3: кол-во одновременно открытых файлов в системе = 30

Строка N 4: кол-во буферов для обмена с диском = 30

Строка N 5: загрузить ядро MS-DOS в "верхнюю" область памяти (HiMem.sys загружается в строке N 10)

Строки N 6, 7, 8: загрузка драйверов, обеспечивающих возможность работы данного PC в сети (в среде WINDOWS FOR WORKGROUPS)

Строка N 9: Последнее имя логического диска (для виртуальных логических дисков может быть Z)

Строка N 10: загрузка драйвера HiMem.sys

Строка N 11: использование драйвера SmartDrv.exe для двойной буферизации (совместимость контроллера HDD с EMM386.exe).

Строка N 12: кол-во стеков (для обслуживания аппаратных прерываний) = 9, размер каждого стека = 256 байт)


Команды, используемые в Autoexec.bat:

• PATH — внутренняя команда MS-DOS, которая предписывает MS-DOS производить поиск файла, как в текущем каталоге, так и в других, указанных в данной команде Каталогах.

Пример:

PATH C: \;C: \NC;C: \DOS;C: \LEX

• LH (LoadHigh) — загружает некоторые программы в "верхнюю" область памяти.

• LH KeyRus

• SET — создает переменную "внутри" MS-DOS, которую могут использовать прикладные программы.

SET ТЕМР=С: \ТЕМР — имя каталога, для временных файлов.

Кроме вышеуказанных команд в Autoexec.bat могут быть использованы любые внутренние и внешние команды MS-DOS.


Ниже приведен пример реального файла Autoexec.bat:

C: \WINDOWS\SMARTDRV. EXE

C: \WINDOWS\net start

echo on prompt $p$g

PATH С: \WINDOWS;С: \;С: \NC;С: \DOS

PATH=D: \IBLОCAL\BIN;С: \IDAPI;%PATH%

SET TEMP=C: \WINDOWS\TEMP

lh KeyRus ChkDsk C:

ChkDsk D:

ChkDsk E:

ChkDsk F:

aidsl261.exe C: /f /g nc


Краткое описание примера:

Строка N 1: загрузка драйвера SmartDrv.ехе (создает буфер в extended-памяти для ускорения обмена с логическими дисками)

Строка N 2: загрузка программы Net (работа в сети).

Строка N 3: разрешить вывод сообщений на экран.

Строка N 4: изменить системную подсказку MS-DOS.

Строки N 5, 6: указать альтернативные каталоги для поиска файлов

Строка N 7: указать каталог для временных файлов C: \TEMP.

Строка N 8: попытка загрузки "русификатора" KeyRus в "верхнюю" область памяти.

Строки N 9-12: проверка корректности FAT на каждом логическом диске (НЕ виртуальном).

Строка N 13: запуск антивирусной программы Aidsl261.exe (анализ ОЗУ и диска С, проверка программ и их "лечение")

Строка N 14: загрузка оболочки Norton-Commander


3. Приглашение MS-DOS.
Диалог Пользователя с MS-DOS.

После полной загрузки MS-DOS командный процессор (COMMAND.com) выдает на экран сообщение ("приглашение MS-DOS" или "системная подсказка MS-DOS") и ожидает команд Пользователя. Ввод команды производится в той же строке, где и приглашение MS-DOS. Это — командная строка MS-DOS.

В командной строке MS-DOS Пользователь вводит (с клавиатуры) имена внутренних или внешних команд MS-DOS, которые необходимо выполнить, или имена прикладных программ, которые необходимо запустить на выполнение.

Запустить программу на выполнение — значит: загрузить программу в ОЗУ, передать ей (если необходимо) информацию в виде параметров в командной строке MS-DOS, и передать ей управление.

В стандартном приглашении MS-DOS указывается имя текущего активного Логического Диска и символ-разделитель ">".

Например:

А>

С>

Пользователь может изменить стандартное приглашение MS-DOS, включив в него дополнительную или иную информацию.

Для изменения приглашения MS-DOS служит внутренняя (встроенная) команда PROMPT. Эта команда обычно "вставляется" в файл Autoexec.bat и устанавливает формат приглашения MS-DOS при загрузке MS-DOS.

Формат команды:

PROMPТ [параметры]

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


Примеры:

prompt $p$g — выдавать имя текущего каталога текущего логического диска и символ разделитель ">"

prompt $d$g — выдавать текущую дату и символ разделитель ">"

prompt $v$g — выдавать номер версии MS-DOS и символ разделитель ">"

Ниже (Рис. 1) приведена таблица параметров, задающих формат команды PROMPT.

ПРИМЕЧАНИЕ: Команда PROMPT может также (при загруженном драйвере ANSI, sys), по другому определить назначение клавиш PC и реализовывать различные цветовые эффекты. Описание этих возможностей выходит за рамки данной темы.

ВНИМАНИЕ!!! Данная команда (Prompt) НЕ работает при запуске в NORTON-COMMANDER (из эмулятора командной строки MS-DOS).

Диалог Пользователя с MS-DOS (не используя программу-оболочку Dos-Shell) настолько примитивен, что сводится к вводу команд в командной строке MS-DOS и получению сообщений на экране Дисплея. Эта простота обманчива. Пользователь, за эту простоту, платит тем, что знания его должны быть столь обширны (в области внутренних и внешних команд MS-DOS), что наличие таких знаний у простых Пользователей без спец. подготовки — явление очень редкое.

Параметр ∙ Назначение

$b — выдача символа-разделителя "|"

Sd — выдача текущей даты

— начало выдачи "Еsсaре"-последовательности

$g — выдача символа-разделителя ">"

$h — стирание предыдущего символа (BackSpace)

$l — выдача символа-разделителя "<"

Sn — выдача имени текущего дисковода

$p — выдача имени рабочего каталога текущего дисковода

$q — выдача символа-разделителя "равно"

St — выдача текущего времени

Sv — выдача номера версии MS-DOS

$_ — последовательность символов "Возврат каретки" и "Перевод строки" (переход к началу следующей строки)

$$ — выдача символа "$"

SXc — выдача символа "с"

Рис. 1


Тем не менее, знания эти необходимы для Пользователя, который НЕ имеет в запасе того, кто вытирает ему нос платком.


Редактирование командной строки MS-DOS (ввод команд):

Функции основных клавиш, используемых при вводе и редактировании командной строки (Рис. 2).

Клавиша ∙ Функция

Enter ∙ завершает командную строку и запускает введенную команду на выполнение.

F1 ∙ копирует (поочередно) один символ из последней введенной команды в командную строку

F3 ∙ копирует всю последнюю введенную команду в командную строку

Del ∙ стирает один символ в командной строке в позиции курсора

Ins ∙ включает или выключает режим вставки

Backspace ∙ стирает один символ в командной строке слева от позиции курсора и перемещает курсор влево на одну позицию

Рис. 2


ВНИМАНИЕ! Командную строку MS-DOS можно редактировать до тех пор, пока НЕ нажата клавиша Enter!!! Нажатие клавиши Enter означает, что Пользователь "запустил" команду (программу) на выполнение.

Дополнительные удобства при редактировании командной строки может предоставить сервисная программа (команда) DosKey.

Во время диалога с MS-DOS Пользователь вводит имя команды (внутренней или внешней) или прикладной программы, которую необходимо запустить, через пробел вводит параметры (если необходимо), нажимает клавишу Enter и ожидает, пока закончится выполнение команды или загрузка прикладной программы, контролируя этот процесс на экране монитора. На Рис. 3 приведен пример запуска прикладной программы (редактор текстов ЛЕКСИКОН — Lex.ехе). В качестве параметров в за пускаемую программу передаются имена текстовых файлов S1.txt и S2.txt.



При вводе: параметры отделяются друг от друга и от команды (прикладной про граммы) ПРОБЕ ЛОМ.

Некоторые команды (программы) допускают другие разделители (например, символ "/" в Антивирусной программе AidsTest. ехе).

Не все команды (программы) требуют при запуске параметры.


4. Классификация программного обеспечения в среде MS-DOS

Термины:

Software (ПО) — программное обеспечение.

Hardware — аппаратные средства

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


Условно программы классифицируются:

по отношению к PC:

— встроенные в ПЗУ PC (BIOS)

— внешние, которые должны быть загружены в ОЗУ перед запуском (OS).

по отношению к OS:

— команды OS

— внутренние (встроенные к командный процессор),

— внешние (в виде отдельных программных файлов на диске),

— прикладное ПО


По назначению ПО условно классифицируется:

— системные и сервисные программы,

— инструментальные средства (для разработки прикладных программ)

— прикладные программы


Применительно к MS-DOS:

Системные и сервисные программы:

— внутренние команды MS-DOS,

— внешние команды MS-DOS,

Инструментальные средства:

— языки программирования (СИ, Pascal, Assembler, Basic и др.),

— СУБД (FoxPro, dBase, Paradox и др.)

— средства визуального создания ПО (Delphi и др.

Прикладные программы:

К этому классу относятся большинство программ, созданных для функционирования в среде MS-DOS (LEXICON, FOTON, SuperCalc и др.)

Особое место занимают программы-оболочки, обеспечивающие более дружественный интерфейс с Пользователем, чем MS-DOS (NORTON-COMMANDER, PCTOOLS, DOS-NAVIGATOR, VICTORIA и др.)


5. Программы общесистемного назначения в среде MS-DOS.

Под программами общесистемного назначения (в рамках данной темы) подразумеваются программы (команды, драйверы), предназначенные для решения задач:

— связанных с обслуживанием файловой системы MS-DOS,

— связанных с обслуживанием аппаратных средств,

— связанных с борьбой против вирусов,

— обеспечивающих дополнительный сервис при работе Пользователя в среде MS-DOS.

Таких программ, в среде MS-DOS, достаточно много (многие сотни или тысячи). В рамках данной темы рассматриваются лишь некоторые из них. Условно эти программы можно разделить на несколько категорий (см. Табл. 1):

Таблица 1

N ∙ Категория

1 ∙ Подготовка логических дисков (разбивка физического диска на разделы [логические диски], форматирование логических дисков).

2 ∙ Оптимизация логических дисков, контроль FAT

3 ∙ Драйверы устройств: "русификаторы" клавиатуры, "русификаторы" дисплея, "русификаторы" принтера, мыши и др.

4 ∙ Контроль наличия и состояния оборудования PC

5 ∙ Антивирусные программы

6 ∙ Программы-оболочки


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

Таблица 2

N ∙ Программа (имя файла) ∙ Категория ∙ Назначение

1 ∙ FDisk.ехе ∙ 1 ∙ Подготовка Винчестера (разбивка на разделы). Входит в комплект MS-DOS.∙

2 ∙ DM.ехе ∙ 1 ∙ Подготовка Винчестера (разбивка на разделы)

3 ∙ Adm.ехе ∙ 1 ∙ Подготовка Винчестера (разбивка на разделы). Возможность защиты логических дисков от несанкционированного доступа.

4 ∙ Format.com ∙ 1 ∙ Форматирование логических дисков (FDD, HDD). Входит в комплект MS-DOS.

5 ∙ Format.ехе ∙ 1 ∙ Форматирование логических дисков (FDD). Входит в комплект Norton-Commander.

6 ∙ Compress.ехе ∙ 2 ∙ Оптимизация и проверка поверхности логических дисков. Входит в комплект PCTOOLS.

7 ∙ Speedisk.ехе ∙ 2 ∙ Оптимизация и проверка поверхности логических дисков. Входит в комплект Norton-Commander.

8 ∙ Defrag.ехе ∙ 2 ∙ Оптимизация и проверка поверхности логических дисков. Входит в комплект MS-DOS (версии 6.x).

9 ∙ NDD.ехе ∙ 2 ∙ Norton Disk Doctor. Программа, позволяющая произвести комплексную диагностику и "лечение" файловой системы MS-DOS. Входит в комплект Norton-Commander.

10 ∙ ChkDsk.ехе ∙ 2 ∙ Контроль FAT. Входит в комплект MS-DOS.

11 ∙ ScanDisk.ехе ∙ 2 ∙ Контроль FAT, выявление дефектов логических дисков. Входит в комплект MS-DOS (версии 6.x).

12 ∙ Mouse.com, Mouse.sys ∙ 3 ∙ Драйвер мыши (Mouse.com используется при загрузке из Autoexec.bat, Mouse.sys используется при загрузке из CONFIG.SYS).

13 ∙ HiMem.sys ∙ 3 ∙ -

14 ∙ SmartDrv.exe ∙ 3 ∙ -

15 ∙ Emm386.exe ∙ 3 ∙ -

16 ∙ KeyRus.com ∙ 3 ∙ "Русификатор" — драйвер клавиатуры и дисплея

17 ∙ Rk.com ∙ 3 ∙ "Русификатор" — драйвер клавиатуры и дисплея

18 ∙ 866con.com ∙ 3 ∙ "Русификатор" — драйвер клавиатуры и дисплея

19 ∙ KeyLap.com ∙ 3 ∙ "Русификатор" — драйвер клавиатуры

20 ∙ MKey.com ∙ 3 ∙ "Русификатор" — драйвер клавиатуры и дисплея

21 ∙ EgaGa.exe ∙ 3 ∙ "Русификатор" — драйвер дисплея

22 ∙ VgaGa.com ∙ 3 ∙ "Русификатор" — драйвер дисплея

23 ∙ EgaAlt.com ∙ 3 ∙ "Русификатор" — драйвер дисплея

24 ∙ LqqDrv.exe ∙ 3 ∙ "Русификатор" — драйвер принтера

25 ∙ LqdDrv.exe ∙ 3 ∙ "Русификатор" — драйвер принтера

26 ∙ Beta ∙ 3 ∙ Комплекс программ-"русификаторов", содержащий различные драйверы принтера и др.

27 ∙ CheckIt.exe ∙ 4 ∙ Тестирование аппаратной части PC

28 ∙ SysInfo.exe ∙ 4 ∙ Тестирование аппаратной части PC. Входит в комплект Norton-Commander.

29 ∙ NDiags.exe ∙ 4 ∙ Тестирование аппаратной части PC. Входит в комплект Norton-Commander.

30 ∙ AidsTest.exe ∙ 5 ∙ Антивирусная программа Д. Н. Лозинского.

31 ∙ DrWeb.exe ∙ 5 ∙ Антивирусная программа И. Данилова.

32 ∙ DosShell.com ∙ 6 ∙ Графическая оболочка MS-DOS. Входит в комплект MS-DOS (версии 4.0, 5.0, 6.x).∙

33 ∙ PCTools.exe ∙ 6 ∙ "Оболочка" над MS-DOS.

34 ∙ NC.exe ∙ 6 ∙ "Оболочка" над MS-DOS (Norton-Commander)

35 ∙ DN.exe ∙ 6 ∙ "Оболочка" над MS-DOS (DOS-Navigator).


Программы DM.ехе, FDisk.exe, ADM.ехе, DosShell.com, DN.exe, BETA в рамках данной темы НЕ рассматриваются (либо устарели, либо крайне редко используются).

• ChkDsk.exe — Контроль FAT. Входит в комплект MS-DOS. Проверяет логические диски на наличие ошибок в данных и FAT и пытается исправить эти ошибки.

НЕЛЬЗЯ запускать ChkDsk.exe в MS WINDOWS!!!

Запуск:

ChkDsk [С: ][ИмяФайла][/F][/V]

Назначение параметров и ключей:

С: — логический диск,

ИмяФайла — имя проверяемого файла,

/F — в процессе сканирования диска исправляет обнаруженные ошибки,

/V — отображение информации на Экране.

НЕОБХОДИМО включать эту программу в файл Autoexec.bat для проверки ВСЕХ дисков:

ChkDsk С: /f

• ScanDisk.ехе — Контроль FAT, наличие потерянных и разделяемых кластеров, корректность структуры дерева каталогов, выявление дефектов логических дисков. Входит в комплект MS-DOS (версии 6.x). Программа может работать также и в диалоговом режиме. Эта программа имеет больше возможностей, чем ChkDsk.exe. НЕЛЬЗЯ запускать ScanDisk.exe в MS WINDOWS!!!

Простейшее использование данной программы:

ScanDisk С:

Назначение параметров и ключей:

С: — логический диск

• Defrag.ехе — Оптимизация и проверка логических дисков. Входит в комплект MS-DOS (версии 6.x). НЕЛЬЗЯ запускать Defrag.exe в MS WINDOWS!!!

Подробное изучение данной программы выходит за рамки данной темы.

Простейшее использование данной программы:

Defrag С: [/F]

Назначение параметров и ключей:

С: — логический диск,

/F — дефрагментация файлов и удаление свободного пространства между ними.

• HiMem.sys — Драйвер, обеспечивающий загрузку ядра MS-DOS, других драйверов и некоторых программ в расширенную память (за пределы 640 Кб). Входит в комплект MS-DOS. Загружается при выполнении CONFIG.SYS.

DEVICE=C: \DOS\HIMEM. SYS

• Emm386.exe — Драйвер, обеспечивающий управление расширенной памятью на IBM PC с микропроцессором Intel 80386 и выше. Загружается при выполнении CONFIG.SYS.

• SmartDrv.ехе — Драйвер, обеспечивающий двойную буферизацию, необходимую для совместимости дисковых контроллеров с EMM386.exe или расширенным режимом MS WINDOWS (загрузка из CONFIG.SYS командой DEVICE), а также создает буфер обмена с диском в extended-памяти (что значительно ускоряет обмен с диском. Для этого — загрузка из Autoexec.bat).

• KeyRus. com — "Русификатор", резидентный драйвер экрана и клавиатуры. (Возможна загрузка в верхнюю область памяти: команда LH) Переключение РУС/ЛАТ: RightShift (правая SHIFT).

• Rk.com — "Русификатор", резидентный драйвер экрана и клавиатуры. Переключение РУС/ЛAT: LeftShift-RightShift (одновременно: левая и правая SHIFT)/

• Mkey.com — "Русификатор", резидентный драйвер экрана и клавиатуры. Переключение РУС/ЛАТ: ScrollLock.

• 866con.соm — "Русификатор", резидентный драйвер экрана и клавиатуры. Требует ОБЯЗАТЕЛЬНУЮ загрузку драйвера Display.sys. Это значит, что в Confog. sys должна быть строка:

DEVICE=DISPLAY. SYS CON=(EGA, 1)

Настраиваемое переключение РУС/ЛAT (настройки — в файле 866con.ini).

Возможные варианты:

Ctrl

RightShifr

LeftShift

Alt

• KeyLap.com — "Русификатор", резидентный драйвер клавиатуры (дополнительно требуется загрузить "русификатор"-драйвер дисплея).

Переключение РУС/ЛAT:

F12 или комбинации клавиш.

Ctrl-Alt-F1 — ЛАТ

Ctrl-Alt-F2 — РУС

• EgaAlt.com — "Русификатор", резидентный драйвер экран.

• EgaGa.ехе — "Русификатор", резидентный драйвер экран.

• VgaGa.com — "Русификатор", резидентный драйвер экран.

• LqqDrv.ехе — "Русификатор", резидентный драйвер принтера. Этот драйвер ориентирован на EPSON-совместимые матричные принтеры. Обеспечивает качественную, но медленную печать.

• LqdDrv.ехе — "Русификатор", резидентный драйвер принтера. Этот драйвер ориентирован на EPSON-совместимые матричные принтеры. Обеспечивает более быструю печать, но меньшее качество.

В Табл. 3 приведена информация о занимаемой памяти при загрузке "русификаторов" в ОЗУ.

Таблица 3

Комбинация драйверов ∙ Размер в ОЗУ (Кб)

866соn.com + Display.sys ∙ около 27

KeyRus.соm ∙ около 6

Rk.соm ∙ около 15

MKey.соm ∙ около 5

KeyLap.соm + EgaAlt.соm ∙ около 13.5

KeyLap.соm + EgaGa.ехе ∙ около 13.5

KeyLap.com + VgaGa.exe ∙ около 11.5


6. Файлы пакетной обработки (*.bat-файлы)

Пакетный файл (Batch-файл) представляет собой последовательность команд, которые в определенной последовательности выполняются MS-DOS точно также, как если бы Пользователь вводил эти команды с клавиатуры. Каждая отдельная строка такого файла — отдельная команда MS-DOS. Пакетный файл представляет собой текстовый файл (ASCII-файл) и может быть создан с помощью любого редактора текстов, поддерживающего ASCII-файлы. Файл пакетной обработки — это программный файл, выполняемый на IBM PC.

Расширение пакетного файла всегда —.ВАТ.

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

— "перейти" на тот логический диск, где находится данная программа,

— "войти" в Каталог, где находится данная программа,

— вызвать эту программу на выполнение (часто, передать ей информацию в качестве параметров)

Например, для того, чтобы "запустить" ЗарПлату необходимо ввести следующие команды:

Е:

CD E: \ZARPEXE

MAINZR CreatDir

Для того чтобы "запускать" ЗарПлату независимо от того, на каком логическом диске и в каком каталоге находится Пользователь — можно создать файл (с помощью ЛЕКСИКОНА, ФОТОНА или любого другого редактора) с именем, например, С: \Zarp.bat.

Содержанием такого файла — будет последовательность указанных выше команд. Теперь, когда Пользователь наберет в командной строке MS-DOS команду Zarp.bat (или Zarp). Командный процессор MS-DOS выполнит последовательность указанных выше команд так же, как если бы Пользователь набрал эти команды с клавиатуры. Другой пример. Мы жаждем каждый день делать одну и ту же работу.

Работа эта заключается в том, что необходимо:

— в дисководе 5.25" (на 1.2 Мб) форматировать дискеты на 360 Кб — переносить на каждую отформатированную дискету ядро MS-DOS

— создавать на этой дискете каталог A: \NC

— копировать в этот каталог все файлы из каталога С: \NC

Можно, конечно, упорно вводить все команды с клавиатуры, надеясь на то, что не будет допущено каких-либо ошибок, и Вам это не надоест после первого десятка дискет.

Можно создать пакетный файл (C: \MyWrk.bat) следующего содержания:

echo ВСТАВЬТЕ ДИСКЕТУ В ДИСКОВОД А: и нажмите Enter

pause format A: /t:40/n:9

sys A:

md A: \NC

copy c: \nc\*. * a: \nc i

Теперь достаточно запустить созданный пакетный файл.

Краткое описание программы, созданной в данном примере.

Первая команда:

echo ВСТАВЬТЕ ДИСКЕТУ В ДИСКОВОД А: и нажмите Enter

Здесь echo — команда, выводящая на экран все, что находится в той же строке после нее.

Вторая команда: pause

Здесь pause — команда, выводящая на экран сообщение:

Press any key to continue.

(нажмите на какую-нибудь клавишу для продолжения.)

и ожидающая нажатия Пользователем какой-либо клавиши для продолжения выполнения программы.

В остальных строках — производится форматирование дискеты (format), перенос ядра MS-DOS (sys), создание каталога (md), копирование файлов (сору).

Рассмотренный пример — простейшая программа, реализованная в рамках пакетного файла. Средства MS-DOS, применяемые в рамках файлов пакетной обработки, позволяют реализовывать значительно более сложные и гибкие алгоритмы обработки информации.


Основные команды, применяемые в пакетных файлах:

% — признак параметра, переданного в данный пакетный файл

: — признак метки для перехода

CALL — вызов другого пакетного файла из данного,

CLS — очистка экрана,

ECHO — вывод на экран строки сообщений,

EXIT — прервать обработку данного пакетного файла,

EXIST — проверить наличие файла на диске,

FOR…IN…DO — возможность многократного одной команды MS-DOS,

GOTO — безусловный переход на строку с заданной меткой,

IF — условный переход на строку с заданной меткой,

PAUSE — ожидание нажатия клавиши Пользователем,

REM — комментарий,

SHIFT — сдвиг формальных параметров (возможность обрабатывать больше 10 параметров).

Примеры:

1. Создать пакетный файл, реализующий следующий алгоритм:

— форматировать дискету на 1.44 Мб (дисковод В: на 1.44Мб)

— создать каталог: В: \ARC

— с помощью программы-архиватора ARJ.exe создать файл-архив C: \TEMP\ZZZ.arj, куда поместить все файлы и все подкаталоги каталога F: \LIBRARY

— перенести в каталог B: \ARC созданный файл-архив C: \TEMP\ZZZ.arj

CLS

echo Архивация и копирование Справочников на дискету

echo.

echo ВСТАВЬТЕ ДИСКЕТУ В ДИСКОВОД В: и нажмите Enter

pause

format В:

md B: \ARC

F:

CD F: \LIBRARY

rem вызов программы-архиватора

ARJ A — R C: \TEMP\ZZZ. arj

copy c: \temp\zzz. arj b: \arc

del c: \temp\zzz. arj


2. Создать пакетный файл, реализующий следующий алгоритм:

— с помощью редактора текстов ЛЕКСИКОН создать новый текстовый файл С: \LEX\F1.txt

— сделать 2 копии файла С: \LEX\F1.txt:

1 копия: A: \RRR

2 копия: В: \RRR

— вывести содержимое файла C: \LEX\Fl.txt на принтер

— удалить файл C: \LEX\Fl.txt

CLS

echo ВСТАВЬТЕ ДИСКЕТЫ В ДИСКОВОДЫ А:, В: и нажмите Enter

pause

rem на всякий случай создаем каталог С: \LEX

MD C: \LEX

С:

CD C: \LEX

rem удалить старый файл C: \LEX\F1.txt

del C: \LEX\Fl.txt

rem вызов редактора ЛЕКСИКОН

LEX C: \LEX\F1.txt

md A: \RRR

md В: \RRR

rem делаем копии на дискеты

сору c: \lex\fl.txt a: \rrr

сору c: \lex\fl.txt b: \rrr

rem вывод на принтер

сору с: \lex\f1.txt PRN

rem удаляем файл c: \lex\f1.txt

del c: \lex\f1.txt


Более сложные алгоритмы:

3. Создать пакетный файл, реализующий следующий алгоритм:

В дисководе 5.25" (на 1.2 Мб) форматировать дискеты на 360 Кб или на 1.2 Мб, в зависимости от того, передан хотя бы один параметр при запуске.

Имя пакетного файла, реализующего данный алгоритм: FFF.bat Если, при запуске, параметры НЕ заданы:

FFF

форматировать дискету на 1.2 Мб

Если, при запуске, первый параметр задан:

FFF X

форматировать дискету на 360 Кб


Блок-схема данного алгоритма:



РЕАЛИЗАЦИЯ ДАННОГО АЛГОРИТМА В ПАКЕТНОМ ФАЙЛЕ

echo ВСТАВЬТЕ ДИСКЕТУ В ДИСКОВОД А: и нажмите Enter

pause

rem проверка, задан ли 1 параметр?

if %1.==. GOTO L12

GOTO L360

: L12

rem форматировать на 1.2 Мб.

format А:

GOTO L_EXIT

: L360

rem форматировать на 360 Кб.

format A: /F:360

:L_EXIT

rem ВЫХОД (Конец)


4. Создать пакетный файл, реализующий следующий алгоритм: Проверить, существует ли заданный (в качестве параметра) файл на диске. Выдать соответствующее сообщение на экран.

Блок-схема данного алгоритма:



РЕАЛИЗАЦИЯ ДАННОГО АЛГОРИТМА В ПАКЕТНОМ ФАЙЛЕ

echo off

echo файл: %1

if EXIST %1 goto L1

GOTO L2

: L1

echo Такой Файл есть %1

GoТо LE

:L2

echo Файл не найден %1

: LE

pause


5. Создать пакетный файл, реализующий следующий алгоритм:

В алгоритме, указанном в примере 2 сделать дополнит. проверку: Передан ли хоть один параметр?

Если нет — сообщение об ошибке и выход.

Блок-схема данного алгоритма:



РЕАЛИЗАЦИЯ ДАННОГО АЛГОРИТМА В ПАКЕТНОМ ФАЙЛЕ

echo off

echo файл: %1

if %1.==. goto LERR

GOTO LSTART

: LERR

echo Бестолочь: задай имя файла!!!

GOTO LE

: LSTART

if EXIST %1 goto L1

GOTO L2

: L1

echo Такой Файл есть %1

GoТо LE

: L2

echo Файл не найден %1

: LE

pause


6. Создать пакетные файлы, реализующие следующий алгоритм:

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

Первая часть:

— определяет, передан ли параметр

— вторая часть реализует все действия по проверке существования файла.

Если параметр задан — из первого пакетного файла вызывается второй, в противном случае — выход с сообщением об ошибке.

Запускаемым является пакетный файл, реализующий первую часть алгоритма (A1.bat). Файл A2.bat вызывается из A1.bat.


РЕАЛИЗАЦИЯ ВТОРОЙ ЧАСТИ АЛГОРИТМА. В ПАКЕТНОМ ФАЙЛЕ N 2 (Имя пакетного файла: A2.bat)

if EXIST %1 goto L1

GOTO L2

: L1

echo Такой Файл есть %1

GoТо LE1

:L2

echo Файл не найден %1

: LE1


РЕАЛИЗАЦИЯ ПЕРВОЙ ЧАСТИ АЛГОРИТМА В ПАКЕТНОМ ФАЙЛЕ N 1 (Имя пакетного файла: A1.bat)

echo off

CLS

echo файл: %1

if %1.==. goto LERR

GOTO LSTART

: LERR

echo Бестолочь: задай имя файла!!!

GOTO LE

: LSTART

CALL A2 %1

: LE

pause


7. Создать пакетный файл, реализующий следующий алгоритм: С помощью команды TYPE вывести на экран содержимое всех файлов, имеющих расширение TXT, PAS, ASM. Для сканирования файла необходимо использовать команду: FOR…IN…DO


РЕАЛИЗАЦИЯ ДАННОГО АЛГОРИТМА В ПАКЕТНОМ ФАЙЛЕ

CLS

for %%А in (*. txt *. pas *. asm) do type %%A

pause


8. Основные принципы хранения информации на магнитных дисках в MS-DOS.
Файловая система MS-DOS (логические диски, каталоги, файлы, устройства MS-DOS).

Терминология:

Флоппи-диск (дискета) — съемный гибкий магнитный диск.

Винчестер — не съемный жесткий магнитный диск (пакет дисков).

Дорожка — концентрические окружности на магнитной поверхности диска, где располагается информация. Дорожки нумеруются с 0-ой (дорожка с самым большим радиусом)

Цилиндр — объединение дорожек с одним и тем же номером, расположенных на разных поверхностях диска (для флоппи-диска под цилиндром подразумевается 2 дорожки)

Сектор — каждая дорожка, размещенная на диске, делится на секторы.

Каждый сектор имеет размер = 512 байт (для MS-DOS)

Кластер — это минимальная порция информации, которую MS-DOS считывает/записывает за одно обращение диску. Кластер "содержит" только последовательно расположенные сектора (цель — увеличить скорость обмена с диском).

Размер Кластера = N* (РазмерСектора) = N*512 байт,

где N = 2, 4, 8 и т. д.

FAT — Таблица размещения файлов


НАКОПИТЕЛИ НА МАГНИТНЫХ ДИСКАХ

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

Для работы с Магнитными Дисками используется устройство, называемое накопителем на магнитных дисках (НМД).

Обычно НМД состоит из следующих частей:

— контроллер дисковода,

— собственно дисковод,

— интерфейсные кабеля,

— магнитный диск

Контроллер дисковода управляет обменом информацией между CPU и ОЗУ, с одной стороны, и НМД — с другой.

Контроллер дисковода вставляется в один из свободных разъемов системной платы IBM PC (MotherBoard).

Дисковод содержит головки чтения/записи, механический привод перемещения головок и электронную схему для управления движением головок и чтением/записью данных.

Магнитный диск представляет собой основу с магнитным покрытием, которая вращается внутри дисковода вокруг оси.

Магнитное покрытие используется в качестве запоминающего устройства.

Магнитные Диски: жесткие (Винчестер) и гибкие (Флоппи).

Накопитель на жестких магнитных дисках — НЖМД (HDD).

Накопитель на гибких магнитных дисках — НГМД (FDD).

Винчестер (HDD) — накопитель на несъемном магнитном диске, созданный на основе спец. технологии (винчестерская технология — отсюда название).

Магнитный диск Винчестера (на металлической основе) "имеет" большую плотность записи и большое число дорожек. Винчестер может иметь несколько Магнитных Дисков. НЖМД типа Винчестер созданы в 1973 г. Все магнитные диски Винчестера (объединенные в пакет Дисков) — герметически "упакованы" в общий кожух. Магнитные диски НЕ могут изыматься из HDD и заменяться на аналогичные!!!

Магнитные головки объединены в единый блок (блок магнитных головок). Этот блок по отношению к дискам перемещается радиально. Во время работы PC Пакет Дисков все время вращается с постоянной скоростью (3600 об/мин). При считывании/записи информации блок магнитных головок перемещается (позиционируется) в заданную область, где производиться посекторное считывание/запись информации.

В силу инерционности процесса обработки информации и большой скорости вращения пакета дисков возможна ситуация, когда блок магнитных головок не успеет считать очередной сектор. Для решения этой проблемы используется метод чередования секторов (секторы нумеруются не по порядку, а с пропусками). Например, вместо того, чтобы нумеровать секторы по порядку: 1 2 3 4 5 6 7 8 9 10 11 12 13 14… их нумеруют так: 1 7 13 28 14 3 9…

В последнее время появились более скоростные SCSI-контроллеры[32], которые обеспечивают достаточную скорость обработки информации, и необходимость в чередовании секторов — отпадает.

Флоппи (FDD) (разработка фирмы IBM) — накопитель на съемном гибком магнитном диске (флоппи). Флоппи-диск имеет пластиковую основу и находится в спец. пластиковом кожухе. Флоппи-диск вставляется в FDD вместе с кожухом. Флоппи-диск (в FDD) вращается внутри кожуха со скоростью 300 об/мин.

На данный момент в IBM PC используются 2 типа FDD: 5.25" и 3.5"

Дискета 5.25" заключена в гибкий пластиковый кожух.

Дискета 3.5" заключена в жесткий пластиковый кожух.

HDD являются более скоростными устройствами, чем FDD.


МАГНИТНЫЕ ДИСКИ

Флоппи-диски (дискеты)

В качестве носителя информации используется магнитная поверхность диска. Магнитная поверхность "разбита" на дорожки (концентрические окружности, см. рис. 1). Дорожки нумеруются начиная с 0-ой (максимальный радиус). Магнитная поверхность "разбита" также на секторы (см. Рис. 1). Секторы нумеруются, начиная с 1-го.



Принято, что каждая дорожка "разбита" на секторы. Размер каждого сектора = 512 байт (для MS-DOS). Таким образом, объем дискеты:

V = P*D*S*512 (байт), где

V — объем дискеты (байт),

Р — кол-во поверхностей дискеты (1-а или 2-е),

D — кол-во дорожек на одной поверхности,

S — кол-во секторов на одной дорожке.

Если Дискета является системной, то ядро MS-DOS размещается начиная с 0-й дорожки, как более надежной (меньшая плотность записи).

Физический Адрес Сектора = Nповерхности + Nдорожки + Nсектора

Кол-во поверхностей "задается" при изготовлении Дискеты (может быть 1-а или 2-е). Кол-во дорожек и кол-во секторов на дорожке "задается" при форматировании дискеты. Форматирование дискет производится Пользователем с помощью спец. программ.

В табл. 1 приведен перечень стандартных форматов флоппи-дисков, применяемых в IBM PC.



Важнейшими характеристиками дискеты являются:

— тип (5.25" или 3.5")

— формат (и, соответственно, емкость)


Винчестеры

Организация хранения информации на Винчестере, с точки зрения Пользователя, не сильно отличается от Флоппи-дисков. Разница лишь в том, что количество поверхностей, дорожек и секторов значительно больше (соответственно больше и емкость).

Физический Адрес Сектора = Nцилиндра + Nдорожки + Nсектора

Важнейшими характеристиками Винчестера являются:

— емкость (от 10 Мб до 10 Гб),

— быстродействие (время произвольного доступа к информации, чем меньше этот показатель, тем "быстрее" Винчестер) (8-24 мсек)

Когда говорят (о Винчестере) 1 физический диск — имеется в виду весь пакет дисков данного Винчестера. С помощью спец. программ 1 физический диск Винчестера можно "разбить" на несколько разделов (логических дисков).


ФАЙЛОВАЯ СИСТЕМА MS-DOS

Файл (по английски File) — папка, скоросшиватель.

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

Одно из понятий файловой системы MS-DOS — логический диск.


Логические диски:

В некотором приближении можно считать, что, "с точки зрения" MS-DOS, каждый логический диск это отдельный магнитный диск. Каждый логический диск имеет свое уникальное имя. В качестве имени логического диска используются буквы английского алфавита от А до Z (включительно).

Кол-во логических дисков, таким образом, не более 26. Буквы А и В — отведены строго под имеющиеся в IBM PC FDD. Начиная с буквы С именуются логические диски (разделы) HDD.



В случае, если данный IBM PC имеет только один FDD, буква В пропускается (см. рис. 4).



Как правило, только логические диски А и С могут быть системными.


Файловая структура логического диска:

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

MS-DOS избавляет Пользователя от такой работы и ведет ее сама. Для обеспечения доступа к файлам — файловая система MS-DOS организует и поддерживает на логическом диске определенную файловую структуру.


Элементы файловой структуры:

— стартовый сектор (сектор начальной загрузки, Boot-сектор),

— таблица размещения файлов (FAT — File Allocation Table),

— корневой каталог (Root-Directory),

— область данных (оставшееся свободным дисковое пространство)

Эти элементы создаются спец. программами (в среде MS-DOS) в процессе инициализации диска.



(Аналогично и для других дискет.)


Стартовый сектор (сектор начальной загрузки, Boot-сектор):

Здесь записана информация, необходимая MS-DOS для работы с диском:

— идентификатор OS (если диск системный),

— размер сектора диска,

— кол-во секторов в кластере,

— кол-во резервных секторов в начале диска,

— кол-во копий FAT на диске (стандарт — две),

— кол-во элементов в каталоге,

— кол-во секторов на диске,

— тип формата диска,

— кол-во секторов в FAT,

— кол-во секторов на дорожку,

— кол-во поверхностей,

— блок начальной загрузки OS,

За стартовым сектором располагается FAT.


FAT (таблица размещения файлов):

Область данных диска (см. выше) представлена в MS-DOS как последовательность пронумерованных кластеров.

FAT — это массив элементов, адресующих кластеры области данных диска. Каждому кластеру области данных соответствует один элемент FAT. Элементы FAT служат в качестве цепочки ссылок на кластеры файла в области данных.

FAT — крайне важный элемент Файловой Структуры!!! Нарушения в FAT могут привести к ПОЛНОЙ или ЧАСТИЧНОЙ потери информации на ВСЕМ логическом диске!!! Именно поэтому, на диске хранится две копии FAT.

Существуют спец. программы, которые контролируют состояние FAT и исправляют нарушения.


Корневой Каталог:

Это определенная область Диска, создаваемая в процессе инициализации (форматировании) Диска, где содержится информация о файлах и каталогах, хранящихся на Диске. Корневой Каталог ВСЕГДА существует на отформатированном Диске! На одном Диске ВСЕГДА бывает только ОДИН Корневой Каталог. Размер Корневого Каталога для данного Диска — величина фиксированная, поэтому максимальное кол-во "привязанных" к нему файлов и других (дочерних) каталогов (Подкаталогов) — строго определенное.


Каталоги (Подкаталоги):

Каталог — это определенное место на диске (в области данных диска), где содержится информация о файлах и Подкаталогах, "привязанных" к данному Каталогу. MS-DOS поддерживает иерархическую структуру каталогов (древообразную), см. рис. 6.



В отличие от Корневого Каталога, остальные каталоги (Подкаталоги) создаются с помощью спец. команд MS-DOS (внутренних).

Основная цель такой структуры каталогов — организация эффективного хранения большого кол-ва файлов на диске.

КАЖДЫЙ Каталог (кроме корневого) "имеет" "родителя", т. е. другой Каталог, к которому "привязан" данный Каталог.

MS-DOS рассматривает каждый Каталог (кроме корневого), как файл. Термин "привязан" иногда заменяется термином "зарегистрирован".


Файлы:

Файл — это поименованная область памяти на каком-либо физическом носителе, предназначенная для хранения информации.

Файл ВСЕГДА "привязан" к какому-либо Каталогу (в том числе, может быть "привязан" и к корневому каталогу), см. рис. 7.


Идентификация Логических Дисков, Каталогов и Файлов:

Идентификация Логических дисков, Каталогов, Файлов осуществляется на базе имен.

ВНИМАНИЕ!!! Файловая система MS-DOS НЕ допускает, чтобы были Логические Диски, Каталоги, Файлы с одинаковыми ИДЕНТИФИКАТОРАМИ!!!.

В качестве имени логического диска используется одна из букв латинского алфавита (А. Z). Каждый Файл или Каталог (кроме корневого) имеет ПОЛНОЕ имя.



ПОЛНОЕ Имя Файла (Каталога), кроме корневого, состоит из следующих частей (рис. 8):



— имя логического диска (А. Z),

— символ-разделитель (двоеточие) ":",

— символ, идентифицирующий корневой каталог — "\" (Слэш),

— перечень "родительских" каталогов (разделенных символом "\"),

— собственно имя файла (каталога).

Собственно имя файла (каталога) состоит из:

— имя,

— символ-разделитель (точка) ".".

— расширение имени файла.

"Имя логического диска" + "двоеточие" + "идентиф. корневого каталога"+"весь перечень имен родительских каталогов" = маршрут доступа к файлу (каталогу). Максимальное кол-во символов в ПОЛНОМ имени файла = 78.

Максимальное кол-во символов в имени файла = 8.

Максимальное кол-во символов в расширении имени файла = 3


Расширение НЕ обязательно т. е. может и НЕ присутствовать (в этом случае точка тоже отсутствует).

В ПОЛНОМ имени файла разрешается использовать только следующие символы: A-Z 0–9 $ & # ' ~ () — %! _ ^

В ПОЛНОМ имени файла запрещается использовать все остальные символы!!! ЗАПРЕЩАЕТСЯ В ПОЛНОМ имени файла использовать ПРОБЕЛ!!!

Примеры допустимых имен файлов:

Format.com Read.mе

MyFyle.txt

28-03-96.doc

123.45

Примеры НЕ допустимых имен файлов:

123456789.txt

aa?.doc

35*.?

I\t.

F.doc *.txt

My: File.txt

Таким образом размер собственно имени файла НЕ превышает 12 символов!


Использование расширений:

Файлы, хранящиеся на диске, с точки зрения файловой системы MS-DOS, которая выступает в роли зав. складом (который ничего не понимает в устройстве и назначении различных вещей, хранящихся на складе), вообще говоря, представляют собой "некоторое сборище информации". На самом деле файлы, в зависимости от информации, которая там хранится, могут иметь различное назначение: данные, программы, драйверы, настроечные файлы и т. д.

Расширения имени файла — не обязательный, но очень важный компонент. Он используется для разделения файлов по отдельным категориям (данные, программы, драйверы и т. д.).

В MS-DOS есть перечень предопределенных (и наиболее часто встречающихся) расширений файлов. В Табл. 2 приведен их НЕ полный перечень.


Табл. 2

Расширение ∙ Назначение файла

ЕХЕ, СОМ ∙ Программы, созданные программистами, с помощью спец. языков программирования

ВАТ ∙ Программы, созданные Пользователями, с помощью редакторов текстов

SYS ∙ Драйверы устройств

OVR, OVL ∙ Оверлейные файлы

ВАК ∙ Предыдущая копия файла

TXT ∙ ASCII-файл (текстовый)

DOC ∙ Файл-документ (чаще всего ASCII-файл, но может быть и другого формата)

PAS ∙ Тексты программ на Pascal

С, СРР ∙ Тексты программ на С

ASM ∙ Тексты программ на Ассемблере

BMP, GIF ∙ Графические образы

PCX ∙ -

ME ∙ ASCII-файл описания чего-то

INI CFG ∙ Файлы настроек и конфигураций


Устройства MS-DOS:

В MS-DOS имеется ряд имен файлов, которые зарезервированы для внутреннего использования. Каждое такое имя отражает какое-либо устройство. ЗАПРЕЩАЕТСЯ использование этих имен НЕ по назначению! В Табл. 3 приведен перечень этих имен.


Табл. 3

Имя ∙ Назначение файла

AUX ∙ асинхронный интерфейс

CLOCK$ ∙ "часы"

СОМ1 ∙ порт последовательного ввода/вывода

COM2 ∙ порт последовательного ввода/вывода

COM3 ∙ порт последовательного ввода/вывода

COM4 ∙ порт последовательного ввода/вывода

LPT1 ∙ порт параллельного ввода/вывода

LPT2 ∙ порт параллельного ввода/вывода

LPT3 ∙ порт параллельного ввода/вывода

CON ∙ консоль (клавиатура, дисплей)

NUL ∙ "нулевое устройство"

PRN ∙ принтер (аналог LPT1)

С точки зрения Пользователя — эти устройства (табл. 3) ничем не отличаются от обычных файлов (с ними можно производить все те же операции, что и с обычными файлами).


Символы подстановки в именах файлов:

Когда необходимо произвести какие-либо действия над файлами — Пользователь вызывает определенные внутренние или внешние команды MS-DOS и "передает" им, в качестве параметров, имена файлов. Очень часто приходится производить одни и те же действия над многими файлами. Например, необходимо скопировать ВСЕ файлы какого-либо каталога в другой каталог. Если файлов больше 200, то ровно 200 раз необходимо произвести эту операцию для каждого файла в отдельности. Это, как минимум, слегка огорчает Пользователя.

Для решения такого рода проблем существуют спец. средства, которые помогают производить однотипные операции над целой группой файлов за один "заход".

Так называемые символы подстановки позволяют "фильтровать" файлы, используя их имена. К ним относятся символы:? и *.

Эти символы можно использовать в любом месте собственно имени файла (имени и расширении).

Символ? означает, что команда (при фильтрации файлов) "признает" любой символ в имени или расширении файла, в позиции которого находится символ?.

Символ * означает, что команда (при фильтрации файлов) "признает" все символы, в имени или расширении файла, начиная с позиции, где находится символ *.

Символы? и * действуют не зависимо друг от друга применительно к имени или расширению.


Примеры:

ВЫПОЛНИТЬ ОПЕРАЦИЮ НАД СЛЕДУЮЩИМИ ГРУППАМИ ФАЙЛОВ:

*.* — все файлы, без исключения,

*.txt — файлы с любыми именами, но с расширением .txt,

II*.* — файлы, имена которых начинаются с цепочки символов II и имеющие любое расширение,

YE??0198.* — файлы, имена которых начинаются с цепочки символов YE, два следующих символа НЕ имеют значение, следующие четыре символа должны быть 0198, расширение НЕ имеет значение (применительно к расчетному отделу: все результаты расчетов по работнику с табельным номером 0198).


Атрибуты файлов:

Каждый Файл (Каталог) имеет атрибут, который указывает на то, что этот файл является именно файлом; или на то, что он является Каталогом.

Файлы, в зависимости от атрибута, могут быть скрытыми, архивными системными, только для чтения. (Скрытые файлы MS-DOS "не видит").


9. СПИСОК ИСПОЛЬЗОВАННОЙ ЛИТЕРАТУРЫ

1. Герхард Франкен, Сергей Молявко "MS-DOS 6.2.. для Пользователя", Киев, BHV, 1994, Москва, БИНОМ, 1994.

2. "DOS 3.3.Техническое руководство". Методические материалы.

3. Фигурнов В. Э. "IBM PC для Пользователя" г. Уфа, НПО "Информатика и Компьютеры", 1993 г.

4. Справочное Руководство по IBM PC. Методические материалы. Части 1 и 2. ТПП "СФЕРА". М. 1991 г.

5. Брябрин В.М. "Программное обеспечение персональных ЭВМ". М. "НАУКА", 1990 г.

6. Савельев А.Я., Сазонов Б.А., Лукьянов С.Э. "Персональный компьютер для всех". Книга 1. М., ВЫСШАЯ ШКОЛА, 1991 г.

Загрузка...