Файл - это однородная по своему назначению совокупность информации, хранящаяся на диске и имеющая имя.
Правила образования имен файлов и объединения их в файловую систему зависят от конкретной операционной системы. Изложим эти правила на примере операционной системы MS DOS 6.0.
Имя файла состоит из двух частей: собственно имени и расширения имени. Собственно имя файла состоит не более чем из 8 символов. Нельзя употреблять знаки арифметических операций, пробела, отношения, пунктуации. В качестве имени файлов запрещены имена, совпадающие с именами, назначенными в MS DOS как имена устройств CON, PRN, NUL, COM1,COM2,LPT1,LPT2. Расширение имени может состоять из не более чем 3 символов или может отсутствовать. Расширение от основного имени отделяется точкой. Например,. По расширению можно судить о его назначении, так как для расширений установилось соглашение, фиксирующее для ОС тип обработки файлов. Расширение com (command) или exe (executable) имеют файлы программ, предназначенных для исполнения по вызову пользователя; bat - пакетные файлы, содержащие пути выполнения программ; doc(document) - файлы документов, подготовленных в текстовом редакторе Microsoft Word; bak (backup) - резервные копии; bas - файлы с текстами программ на языке Бейсик; pas файлы с текстами программ на языке Паскаль.
Список имен файлов, хранящихся на диске, находятся в каталоге (директории) вместе со сведениями о его типе, размере, времени создания. Емкость гибких и жестких магнитных дисков и компакт-дисков велика, поэтому на одном диске может размещаться для хранения внушительное число файлов. Поэтому работа с каталогом имеющего линейную структуру, крайне неудобна при большом количестве файлов. MS DOS позволяет организовать имена файлов в несколько каталогов, помещая в один каталог имена файлов, объединенных каким-либо признаком. Имена каталогов записываются в соответствии с вышеописанными правилами. Каталог может содержать любое разумное число имен файлов, он также может содержать другие каталоги, называемые подкаталогами, и т.д. Таким образом образуется иерархическая структура, «дерево» каталогов, «корнем» в котором является главный (коневой) каталог, «ветками» - подкаталоги, «листьями» - имена файлов. Например:
корневой каталог \ |
подкаталог 1 |
подкаталог 2 |
Файл 1 |
Файл 4 |
Файл 3 |
Файл 2 |
подкаталог 1.1 |
подкаталог 1.2 |
подкаталог 2.1 |
Два файла или два подкаталога, находящиеся в двух разных каталогах, могут иметь одинаковые имена. Поэтому для однозначной идентификации файла (каталога) на диске нужно указывать путь(маршрут) доступа к нему. Путь доступа состоит из имени диска и списка имен каталогов: первый каталог в списке является подкаталогом корневого каталога, каждый последующий является подкаталога предыдущего, последний каталог в списке содержит искомый файл. Элементы списка разделяются обратной косой чертой (\) называемой слэш.
Например: E:\QBASIC\qbasic.exe
Составное (полное) имя файла состоит из пути доступа к файлу и его имени. Оно однозначно определяет участок на диске с таким именем.
Каталог обеспечивает поиск нужного файла на диске по его имени. На диске, выделяется определенная область, в которой размещается специальная таблица FAT, содержащая последовательность номеров блоков(секторов) для каждого файла. Таблица постоянно обновляется, а полностью стирается вместе с корневым каталогом при форматировании диска.
Логический диск - это диск, формируемый каким-либо драйвером. Логические диски именуются первыми буквами латинского алфавита с последующим двоеточием. На одном физическом диске может быть несколько логических.
Cоставное имя файла - это совокупность имени файла и его расширения. Имя файла содержит не более 8 символов. Расширение является необязательной частью имени файла и часто характеризует тип файла, то есть показывает, является текстовыв или выполняемым. В именах файла нельзя использовать символы «=», «+», «[», «]», «\», «;», «:», «,». Использование в именах файлов русских букв допускается только в русифицированной версии MS-DOS.
Исполняемый файл в MS-DOS имеет расширение.exe,.com или.bat. Последний из перечисленных типов выполняемых файлов является командным файлом, то есть содержит последовательность команд операционной системы MS-DOS.
Шаблон имени файла это обозначение группы файлов, имена которых могут содержать один или несколько произвольных символов.Символ «?» означает не более одного (произвольного) символа, а «*» - любое количество любых символов. Так, например, запись вида. PAS обозначает все файлы текущего каталога, имеющие расширение.PAS, т. е. являющиеся файлами с исходными текстамипрограмм на языке Паскаль. Шаблон вида А?*. обозначает все файлы, имя которых начинается с символа А и содержит не более двух символов, а расширение- произвольное.
Полное имя файла состоит из следующих трех частей:
Имя логического диска, на котором находится данный файл;
Маршрут - ведущая к файлу последовательность имен каталогов, разделенных символом «\»;
Cоставное имя файла. Если в имени файла не логический диск, используется текущий. Если не указан маршрут, считается, что файл находится в текущем каталоге. Абсолютный маршрут начинается с корневого каталога, имеющего имя \.
Относительный маршрут начинается с любого другого каталога кроме корневого.
Файл AUTOEXEC.BAT
Теперь рассмотрим состав файла AUTOEXEC.BAT.
В общем случае в файле AUTOEXEC.BAT записываются программы, которые необходимо запускать при каждом включении компьютера.
Loadhigh (LH)-загружает программу в UMB (Upper Memory Blocks)-неиспользуемые участки верхней памяти.Это область памяти мажду 640 и 1024Кбайт.При загрузке программ в верхнюю область остается больше места для выполнения программ в стандартной памяти (до 640 Кбайт).
LH (имя программы) /параметры /
Например:
LH с:/mouse.com или ih c:/nc/nc.exe
Полный путь к файлу можно не указывать в том случае,если путь к нему описан через команду PATH.
PATH-предписывает операционной системе использовать для поиска нужного файла не только текущую папку,но и другие папки.
Если с помощью PATH вы задали путь поиска, то все программы, указанные в PATH можно вызывать, не задавая полного пути к запускающему файлу. Пример:
PATH C:/WINDOWS;C/ DOS622;С:/ARHIV;C:/NU8;С:/LEX;С/NC;
Пути следует набирать в одну строчку, не более 255 символов, через точку с запятой, строчными или заглавными буквами.
SET –с помощью этой команды можно создавать переменные, которые запоминает операционная система.В качестве переменной чаще всего используют TEMP, в которой содержится имя каталога(папки) для создания временных файлов(PATH-тоже относится к переменной).
Пример:
SET NU=C:/RAZNOE/NU8
SET TEMP=C:/WINDOWS/TEMP
Обязательно следите за синтаксисом, т.е. где пробел, где:,какой слеш и т.п.-это очень важно.
SMARTDRV.EXE-обязательно должна указываться в файле AUTOEXEC.BAT.Эта команда запускает драйвер, который создает буфер обмена с дисками в extended памяти.
C:/WIN/WINDOWS/SMARTDRV.EXE
Этот драйвер будет работать лишь в том случае,если в файле CONFIG.SYS есть строка
DEVICE=C:/WINDOWS/SMARTDRV.EXE /DOUBLE_BUFFER
У этой команды много ключей, мы их разбирать не будем, примем все по умолчанию.
Еще одна важная команда в AUTOEXEC.BAT, которая записывается так:
LH С:/WINDOWS/MSCDEH.EXE /D:MSCD001 /E /L:D /M:10
-это загрузка в старшую память программа поддержки CD-ROM.
Ключ /D должен соответствовать такому же в CONFIG.SYS:
DEVICEHIGH=C:/SD/OSI109P.SYS /D:MSCD001, иначе CD-ROM не будет работать
/Е-разрешает использовать expended памяти для буферов.
/L:D-задает букву дисковода.
/M:10-число секторных буферов.Это число следует подобрать эксперементально, чтобы видеоизображение с лазерного диска не дергалось при воспроизведении.
Есть много других программ, которые загружаются из AUTOEXEC.BAT, но это тема отдельного разговора.
Вот пример файла AUTOEXEC.BAT:
PATH=c:/windows;C/DOS622;C:/ARHIV;C:/CD;c/nc;
SET NU = C:/RAZNOE/NU8
SET TEMP=C:/WINDOWS/TEMP
c:/windows/smartdrv.exe
LH C:/WINDOWS/MSCDEX.EXE /S/D:MSCD001
C:/WIN/WINDOWS/SMARTDRV.EXE
LH C:/kill.com
C:/keyrus.com
LH c:/mouse.com
lh c:/nc/nc.exe
Ниже приведен пример файла AUTOEXEC.BAT, который стоит на компьютере автора, для работы в Windows
@ECHO OFF
Verife On
PROMPT $p$g
PATH C:/WINDOWS;C:/WINDOWS/COMMAND;C:/;C:/DOS;C:/NC;C:/ARHIV
SET TEMP=C:/TEMP
mode com codepage prepare=((866) C:/WINDOWS/COMMAND/ega3.cpi)
mode con codepage select=866
keyb ru,,C:/WINDOWS/COMMAND/keybrd3.sys
Необходимо отметить, что набирать команды и другую информацию можно как строчными, так и заглавными буквами.
Роль некоторых загружаемыхдрайверов рассмотренна при описании состава загрузочных дискет (см.п.28).
Альтернативное меню.
Интересной темой при работе с файлами CONFIG.SYS и AUTOEXEC.BAT является создание так называемого альтернативного меню. Альтернативное меню применяется, когда необходим выбор различных конфигураций операционной системы на стадии ее загрузки, например, программа, созданная под MS-DOS, не запускаться в Windows, а программа очень нужна пользователю. В этом случае альтернативное меню – лучший выбор.
Ниже приведен практический пример создания нескольких конфигураций.
А) Изменение файла CONFIG.SYS при работе с несколькими конфигурациями.
Следующий пример показывает основу структуры файла CONFIG.SYS, который определяет меню загрузки и две различные конфигурации:
[menu]
mtnui tem=Green
menui tem=Orange
[green]
files=40
device=c:\device1.sys
[orange]
files=10
device=c:\devise2.sys
В данном примере:
Первый блок конфигурации ([menu]) определяет возможности выбора, которые будут присутствовать в меню загрузки. Это меню содержит два элемента: Green и Orange. Каждый элемент меню ссылается на свой блок конфигурации. Когда компьютер загружается с конфигурацией Green,операционная система устанавливает значение files равным 40 и загружает драйвер DEVICE1.SYS.
Когда компьютер загружается с конфигурацией Orange, операционная система устанавливает значение files равным 10 и загружает DEVICE2.SYS.
При загрузке компьютера с таким файлом CONFIG.SYS на экране появится следующее меню:
MS-DOS 6.22 Startup Menu [Меню запуска
MS-DOS 6.22]
1.Green
2.Orange
Enter a choice: [Введите выбор]
Если в этом меню выбрать значение Green,система выполнит блок конфигурации с заголовком [green]; если Вы выберите значение Orange,то будет выполнен блок конфигурации с заголовком [orange].
Формирование меню загрузки.
Сначала нужно определить меню загрузки, задав блок конфигурации заголовком [menu]. Ниже приводится список команд, которые может содержать блок меню.
menuitem-определяет элемент меню. Команда задает блок конфигурации, связанный с данным элементом и текст меню для данного элемента.
Пример определения блока меню:
menuitem=No Net, Do not start the network
menucolor=15.1
menudefault=Net
В этом примере:
Две команды menuitem определяют элементы, которые будут присутствовать в меню. Первое значение menutem-Net-задает метку, связанного с ним блока конфигурации. Второе значение задает текст меню -Start the network (Запустить сеть). Если текст меню не задан, то вместо него будет использован текст метки блока конфигурации.
Команда menucolor устанавливает цвет текста 15 (белый), а цвет фона-1 (синий).
Команда menudefault указывает, что по умолчанию должна загружаться конфигурация с заголовком Net.
Создание блоков конфигураций.
Блок конфигурации - это набор команд файлы CONFIG.SYS, которые выполняют при выборе в меню загрузки определенной конфигурации. Блок конфигурации начинается с заголовка блока-метки блока, заключенной в квадратные скобки. Метка блока должна состоять из одного слова произвольной длины. Блок конфигурации может содержать любые команды, использование которых допускается в файле CONFIG.SYS. в блоках конфигураций особенно полезны приведенные ниже команды.
Команда include указывает, что дополнительно должны выполняться команды, которые содержаться в другом блоке конфигурации.
Команды, общие для всех конфигураций, могут быть помещены в блок с заголовком [common].Наличие в конце файла CONFIG.SYS блока с заголовком [common] может иметь смысл, даже если он не содержит ни одной команды. Вы можете использовать любое количество таких блоков. Операционная система обрабатывает эти блоки в порядке их описания в файле.
Пример использования блоков[common].
Следующий файл CONFIG.SYS определяет две конфигурации и содержит несколько команд, которые являются общими для обоих конфигураций:
[menu]
menuitem=Anton
menuitem=Lisa
[common]
dos=high
buffers=15
device=c: \ win \ himem.sys
[Anton]
files=20
device=c: \ dos \ emm386 2048
[lisa]
files=40
device=c: \ net \ network. sys
[common]
Данный файл CONFIG.SYS содержит два варианта конфигураций. В обоих вариантах операционная система выполнят три команды, которые содержатся в первом блоке [common]:dos=high, buffers=15 и device = c: \ win \ himem.sys. В данном случае блок [commn] стоит в самом начале, так как он содержит команду загрузки драйвера HIMEM.SYS, который должен загружаться раньше всех остальных. Второй блок [common], находящийся в конце файла, предназначен для команд, которые могут быть добавлены в процессе установки приложений. В данном случае он пуст.
b) Изменение файла AUTOEXEC.BAT при работе с несколькими конфигурациями.
С помощью команд пакетной обработки if и goto можно выполнять разные команды файла AUTOEXEC.BAT в зависимости от выбранной при загрузке конфигурации. При выборе конфигурации операционная система создает переменную среду с именем CONFIG, присваивая ей значение, соответствующее метке выбранного блока конфигурации. На основании значения этой переменной можно выполнять разные наборы команд файла AUTOEXEC.BAT, нужные для конкретной конфигурации.
Для работы с несколькими конфигурациями выполните в файле AUTOEXEC.BAT следующее:
После тех команд файлаAUTOEXEC.BAT, которые должны выполняться для всех конфигураций, поместите следующую команду: goto %config%
Вставьте метки перед группами команд, которые относятся к каждой конкретной конфигурации. Например, перед группой команд, относящихся к конфигурации с заголовком [Anton],следует построить следующую метку::Anton
В конце файла AUTOEXEC.BAT вставьте следующую метку::end
В конце каждой группы команд, относящихся к определенной конфигурации, вставьте следующую команду: goto
Эта команда вызывает переход к команде, следующей за меткой:end.Команды, которые стоять после указанной метки, будут выполняться для всех конфигураций.
Следующий файл AUTOEXEC.BAT использует команду goto и значение переменной среды CONFIG для перехода к разным наборам команд в зависимости от выбранной конфигурации:
c: \ dos \ smartdrv.exe
set temp=c: \ temp
c: \ dos \ msav
;Переход к разделу, соответствующему
;значению переменной CONFIG
goto %config%
:Anton
path c: \ dos; c: \ deskpub;c: \ typeset
c: \ mouse \ mouse.com
c: \ nc \ nc.exe
;обход раздела для конфигурации [Lisa]
goto end
:Lisa
path=c: \ dos;c: \ network;c: \ utility
doskey
net logon lisa / y
goto end
:end
При обработке этого файла будет сначала запущена программа SMARTDrive, затем установлено значение переменной среды TEMP,и запущена версия Antivirus для MS-DOS. После этого система перейдет к обработке блока команд, соответствующего значению переменной среды CONFIG.
Если выбрана конфигурация Anton, то система перейдет к командам блока с меткой:Anton. Будет установлен путь поиска и запущены программы C: \ MOUSE\MOUSE.COM и Norton. Команда goto end вызывает обход команд, содержащихся в блоке с меткой:lisa.
Если текущей конфигурацией является Lisa, переменная PATH получит другое значение, будет загружена программа DOSKEY и выполнена команда net logon, устанавливающая сетевое обеспечение.
Далее приведены файлы CONFIG.SYS и AUTOEXEC.BAT, установленные на компьютере автора и создающие альтернативное меню.
Файл CONFIG.SYS
SWITCHES=/F
DEVICE=C:\WINDOWS\HIMEM.SYS
rem DEVICE=C:\WINDOWS\EMM386.EXE RAM
DOS=HIGH,UMB
BREAK=ON
FILES=40
[menu]
menuitem=Windows_98, Windows 98
menuitem=Norton, Norton Commander
menudefault=Windows_98,3 (примечание:3-это количество секунд до загрузки раздела, установленного по умолчанию-menudefault)
[Norton]
DEVICE=C:\WINDOWS\EMM386.EXE RAM
[Windows_98]
[common]
device=C:\WINDOWS\COMMAND\display.sys
con = (ega,,1)
Country=007,866,C:\WINDOWS\COMMAND\country.sys
Файл AUTOEXEC.BAT:
ECHO OFF
Verify On
PROMPT $p$g
PATH C:\WINDOWS;C:\WINDOWS\COMMAND; C:\; C:\DOS;C:\NC;C:\ARHIV SET TEMP=C:\TEMP
goto %config%
:Norton
c:\dos\mouse. com
1h c:\nc\nc
goto exit
:Windows_98
mode con codepage prepare = ((866) C:\WINDOWS\COMMAND\ega3. cpi)
mode con codepage select = 866
keyb ru,,C:\WINDOWS\COMMAND\keybrd3. sys
:exit
Во время загрузки операционной системы с использование этих файлов на черном фоне появляется альтернативное меню, где течение 3 секунд можно выбрать один из вариантов дальнейшей загрузки (рис. 107).
|