Файлове и каталози Общи положения


Йерархични каталожни системи



страница10/13
Дата11.01.2023
Размер119.21 Kb.
#116195
1   ...   5   6   7   8   9   10   11   12   13
Файлове и каталози
Свързани:
SNMP Методи за анализ и мониторинг на мрежовия трафик
Йерархични каталожни системи
Каталозите на две нива решават конфликта между файловете на отделните потребители, но това не е достатъчно при използването на много файлове от един потребител. Обикновено потребителите групират своите файлове в различни функционални групи.
При тази организация всеки потребител може да създаде в собствения каталог, толкова подкаталози, колкото му трябват. Този подход е показан на фиг. 6.7. Тук каталозите са A, B и C, подчинени на корена и принадлежат на трима потребители, съответно A, B и C. Двама от потребителите B и C са създали свои подкаталози.
Възможността да се създаде произволен брой подкаталози е важен инструмент за структуриране на файловото стопанство. Поради това почти всички съвременни файлови системи са организирани по този начин.
Име на пътя (Pathname)
При организирането на файловата система в дървовиден каталог е необходимо да се използва някакъв способ за еднозначно описание на файловете, за да се избегне коалицията с еднаквите имена на файловете в различните подкаталози. Използват се два метода – абсолютен и относителен.

В първия случаи на всеки файл се дава абсолютното име на пътя, състоящо се от имената на всички каталози от корена до тези, в които се намира описвания файл, като се добавя и името на файла.
Например, пътят
/usr/ast/mailbox
означава, че коренът съдържа каталога usr, който от своя страна съдържа подкаталога ast, където се намира и файла mailbox. Абсолютното поле на пътя винаги започва от корена и е уникално. В UNIX компонентите на пътя се разделят с дясно наклонена черта “/”. В Windows в качеството на разделител се използва ляво наклонена черта “\”. В системата MULTICS се използва символа по-голямо “>”. По такъв начин едно и също поле на път в трите операционни системи ще изглежда по-различен начин:
Windows \usr\ast\mailbox
UNIX /usr/ast/mailbox
MULTICS >usr>ast>mailbox
Ако първият символ от името на пътя е разделител, това означава, че пътят е абсолютен, независимо от това, в коя операционна система какъв разделител се използва.
Във втория метод се използва относително име на пътяТо се използва заедно с концепцията за текущия каталог. Потребителят може да определи един каталог за текущ работен каталог. В този случай името на пътя не започва с разделител. Например, ако текущият каталог е /usr/ast, то файла с абсолютен път /usr/ast/mailbox може да се намира само с името mailbox.
С други думи, UNIX командите
cp /usr/ast/mailbox /usr/ast/mailbox.bak
и cp mailbox mailbox.bak изпълняват едно и също действие, ако текущият каталог е /usr/ast.
Относителната форма често се оказва по-удобна, още повече, че е по-компактна и в крайна сметка изпълнява същото действие.
Понякога се налага да се направи достъп към файл, независимо от това, кой е текущият каталог в момента. В този случай трябва да се използват абсолютното име на пътя. Абсолютното име на файла винаги сочи необходимия файл, независимо от това в дадения момент кой каталог е текущ.
Ако от някакъв каталог трябва да се използва много често голям асортимент файлове, може да се направи следното-въпросният каталог да се направи текущ и след това файловете да се използват с относителното име.
Всеки процес има свой каталог и когато процесът изменя своя работен каталог, това не влияе на работата на другите процеси. Във файловата система не остават следи от подобни изменения на работния каталог, след приключване работата на съответния процес.
От друга страна, ако библиотечна процедура измени текущия каталог и не го възстанови след връщане на управлението към програмата, която я е извикала, може да се укаже, че няма да е възможно да продължи, т.к. предположението за текущия каталог ще се укаже неточно. По тази причина на библиотечните процедури рядко се променят работните директории, а когато се менят, обезателно след приключване на работата трябва да се възстанови работния каталог.
Голяма част от операционните системи, изискващи йерархични каталози имат специални елементи във всеки каталог. Това са “.” и “..”, с които се обозначават текущите и родителските каталози.
За да продемонстрираме как се изискват тези елементи ще покажем на примера от фиг. 6.8. Нека за някакъв процес работният каталог да бъде
/usr/ast
За да се осъществи преместване нагоре по дървото трябва да се използва елемента “..”. Например може да се откопира файла dict от директорията /usr/lib в работната директория, като се използва командата
cp ../lib/dict .
Двете точки (“..”) реализират преход към родителския каталог lib. В него се намира файла dict. Точката “.” в края на командата обозначава мястото към което трябва да се копира въпросния файл, а именно – в текущия каталог. Горната команда може да се зададе и по следния начин:
cp /usr/lib/dict .
Използването на точката “.” съкращава и записването на командата, т.к. не се изписва пътя и името на новия файл. Командата може да се напише и така:
cp /usr/lib/dict dict
а също и cp /usr/lib/dict /usr/ast/dict
Всички тези команди изпълняват едни и същи действия.

Сподели с приятели:
1   ...   5   6   7   8   9   10   11   12   13




©obuch.info 2024
отнасят до администрацията

    Начална страница