Файл ( тип, имя, местоположение)

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

Правила образования имен файлов и объединения их в файловую систему зависят от конкретной операционной системы. Изложим эти правила на примере операционной системы 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).

 
 
Microsoft Windows 98 Startup Menu
  1. Windows 98
  2. Norton Commander
Enter a choice:1 Time remainig: 03