№ 2. ФАЙЛОВА
СИСТЕМА
I.
ФАЙЛ. ИМЕ И ТИП НА ФАЙЛА
1) Име и тип на файл
Файлът е именувана област
от паметта на кой да е външен материален носител. Във файловете обикновено се
съдържат временен или окончателен текст на програми, готови за изпълнение,
входни данни за програми, текстови документи, графична или каква да е друга
информация.
За да се отличават отделните файлове, всеки от тях има
име. Името на файла се състои от 1 до 8 символа и може да бъде последвано от
разширение от 1 до 3 символа. Ако съсществува разширение, то задължително се
отделя от името с точка. По принцип чрез разширението се описва типът на файла,
съответстващ на вида на съхраняваната в него информация, но то може да бъде и
произволно избрано.
Най-разпространените стандартни разширения в имената
на файлове са:
- BAK -
резервен файл или копие;
- BAS - изходна програма на Бейсик;
- BAT -
пакетен файл от команди;
- COM -
програмен файл на машинен език;
- DOC -
текстов файл;
- EXE -
изпълним файл;
- PAS - изходна програма на Паскал;
- TXT -
текстов файл;
- TMP -
временен файл.
В името на файла могат да се използват следните
символи (главните и малките букви се считат за равнозначни):
- букви от латинската азбука;
- букви от кирилицата;
- десетични цифри;
- специалните символи: &, $, #, %,‘, -, @, ^,
~, (, ), {, }, и др.
Недопустими символи при образуване на име на файл са: ., “, /, \, [, ], :, !,
<, >, +, =, ;, запетая и контролните символи (CTRL + символ).
За име на файл не могат да се използват ключовите думи
от MS DOS, а също така думите: aux, prn, con, nul, lpt1, lpt2, lpt3, com1, com2, които имат специално значение.
2. Имена на приферни устройства
Стандартните имена на периферни устройства са
съответно:
- con - конзола (при вход отговаря на клавиатурата, а при
изход - на дисплея);
- prn - основен принтер;
- ltp1 - синоним на prn;
- ltp2 - втори принтер;
- aux - устройство с последователен достъп;
- com1 - синоним на aux;
- com2 - второ устройство с последователен достъп;
- nul - псевдоустройство за тестване.
Най-често имената на периферните устройства се отделят
с разделителя “ : “. Двете точки се поставят задължително след имената
на латинските букви от a до e, използвани
за имена на дискови устройства. Имената a: и b: се използват за флопидисковите устройства, а c:, d: и е: за твърдия диск.
3. Глобални символи в име на файл
Използването на символите ‘?’ и ‘*’
позволява да се работи както с един файл, така и с група файлове. Символът ‘*’
е универсален заместител на произволен брой допустими символи в име на файл, а
символът ‘?’ замества нула или един символ.
Например с *.pas се именуват онези файлове, които имат произволно име и
разширение .pas. Същите файлове ще именуваме и ако запишем *к.pas (символите
записани след ‘*’ се игнорират).
Чрез ?а?.* се отпечатва списъкът на файловете,
които имат три-буквено име, втори символ а и произволно разширение.
Ако искаме да работим с всички файлове, можем да
използваме вместо име на файл *.*, ????????.???, *.??? Или
????????.* .
II.
ДИРЕКТОРИИ И ПОДДИРЕКТОРИИ
1. Йерархична файлова система
Файловете, тяхната организация и управление образуват
файловата система на ОС. Самата файловата система е сложна структура, в която
файловете са обединени по някакъв признак в групи, наречени директории. Всички
директории от даден диск образуват дърво на директориите, т.е. имат йерархична
стуктура. Задължително е всяко дърво на директориите да има една основна
директория, наречена корен. Тази директория няма собствено име и се задава само
при форматиране на диска. Останалите директории от дървото са нейни
поддиректории. Всяка директория се идентифицира от MS DOS чрез името си. Името на директория се образува като името на файл. Тук
обаче не могат да се използват глобалните символи. Директория, в която се
съдържат поддиректории, се нарича родителска за тях, а те от своя страна -
нейни наследници. Само коренната директория няма родителска директория.

На фигурата е показано дървото на директориите на
примерна дискета. В нея директорията PASCAL е родителска за PROGRAMS,
DATA и VER.5,
а LANGUAGES е родителска за PASCAL и FORTRAN. Директории, които нямат
наследници се наричат листа (PROGRAMS, DATA, RAB).
Всяка директория съдържа списък от имена на
файлове, имена на преките си наследници поддиректории, а също така и
допълнителна информация - дата и час на създаване на файловете, обема им в
байтове.
Важна особеност на йерархичната файлова система е
нейната динамичност. Това означава, че потребителят може да създава, унищожава
и променя структурата на дървото. За целта се използват командите md, cd, rd.
2. Текуща директория. Път до файл
Във всеки момент от работата на MS DOS една от
директориите е работна. Името на работната директория се определя чрез
командата cd.
Ако не се задава специално, по подразбиране за текуща се счита коренната
директория.
Достъп до даден файл от работната директория се
получава чрез името му. Когато обаче е необходимо обращение към файл от друга
директория, е достатъчно да посочим на MS DOS мястото му в йерархията
на дървото, т.е. пътя, по който тя може да го намери. Пътят може да се зададе
чрез имената на директориите от корена надолу, като се започне със знака ‘\’
и имената на директориите се разделят също със знака ‘\’. Накрая се пише името
на файла.
Например пътя до файла FIBON.PAS от
директорията на фигурата по-горе е \LANGUAGES\PASCAL\PROGRAMS\FIBON.PAS.
Когато търсим надолу от текущата директория, не се
пише първата наклонена черта.
В MS DOS има специален начин за опростено
задаване на имената на текущата и родителската директория:
- . - е знак за текуща
директория;
- .. - означава родителската на
текущата;
- ..\ .. - задава една директория над
родителската и т.н.
Често се налага да се работи с няколко диска и
различни дискови устройства. Тогава всеки конкретен файл се идентифицира пълно
чрез посочване последователно на три характеристики: дисково устройство, път и
име на файла. Например пълни спецификации са:
b:\BDS.COM
a:\KLAS.2003\DOC.1\TEXT.90
a:\PROGRAMS\URAVNENIЕ.1
Когато липсва името на дисковото устройство, MS DOS по подразбиране приема, че то е името на текущото дисково
устройство. Аналогично, ако не е зададен път, MS DOS търси
посочения файл в текущата директория. При някои процедури, например копиране на
файл, може да се пропусне и името на файла. В този случай MS DOS ще
счита, че то съвпада с предишното име на файл, зададено в същата команда.