Структура на файловата система на Gnu/Linux

- Секция Компютри

            Всяка файлова система за Gnu/Linux се подчинява на основен набор от концепции, които са възприети от Unix. Файловете са представени от „inodes“ или индексни дескриптори, а папките са просто файлове, съдържащи регистър на включените в тях файлове. Файл е обща единица за данни, която може да съхранява различни видове данни, чиито смисъл се дефинира от създателя. Файловете могат да съхраняват програми, текст, цифрови данни и т.н. Файлът има структура, която се определя от неговото приложение. Например текстовите файлове са последователност от знаци организирани в редове. Устройствата на компютъра в Gnu/Linux могат да бъдат достигнати, като се обърнем с заявка за вход или изход към специални файлове като /dev/cdrom, /dev/video и др. Добре е да знаем, че всеки файл се представя чрез структура, наречена индексен дескриптор (inode). Всеки дескриптор съдържа описание на файл:вид,права за достъп,автор,време на създаване, модифициране и достъп, указатели към блокове с данни. Когато се създава дисков дял в Gnu/Linux, системата създава фиксиран брой дескриптори, като този брой е и максималния брой файлове от всякакви видове които могат да съществуват по едно и също време на този дял от диска. Дескрипторът се изгражда при създаването на файла и се актуализира при работа с файла. Когато даден файл позволява да бъде адресиран с помощта само на един запис в справочника, уместно е дескрипторът да се разположи в справочника. Обикновено дескрипторът се записва в оперативната памет при отврянето на файла и стои там до затварянето му. Тъй като процесите не трябва да могат да четат и изменят дескриптора, копието на дескриптора трябва да се пази в паментта на ОС. След всичко разгледано до тук е редно да разгледаме и йерархичната структура на директориите с техните функции. В Gnu/Linux има два типа директории: системни и потребителски. Системни са тези директории, които се създават при инсталирането на операционната система. Такива например са директориите /dev, /bin, /lib и т.н. Потребителски са директориите, които се създават от потребителите на операционната система с цел да пазят собствена информация в тях. Такива са директориите /home/user и всички поддиректории вътре в нея. Основните системни директории са:
 
/ - Коренна директория
 
/bin - съдържа основните програми на операционната система, без които тя не би функционирала правилно. Повечето програми от тази директория може да се изпълняват от всички потребители. Тя е присъства и в пътя по подразбиране на всички потребители.
 
/boot - съдържа ядрото на операционната система, конфигуцаионния файл на ядрото както и други файлове, необходими за коректно извършване дейността на ядрото.
 
/dev - съдържа файловете отговарящи за хардуерните устройства на компютъра. Файловете в тази директория са достъпни само за четене от потребителите. Пример е флопи дисковото устройство представено като fd0 или по- конкретно /dev/fd0
 
/etc - съдържа глобалните конфигурационни файлове на операционната система и нейните програми. Някои от програмите може да пазят конфигурационни файлове и на други места като например: /usr/local/etc/
 
/home - съдържа домашните директории на потребителите. Тук за всеки потребител се създава отделна директория в която може да се съхраняват конфигурационни файлове или файлове от различен тип.
 
/lib - директорията съдържа най-важните споделени библиотеки на операционната система – glibc-solibs. Тези библиотеки се наричат споделени (shared object), защото повечето програми ги използват при изпълнението си.
 
/lib/modules - също много важна директория. Тук се съхраняват модулите на ядрото, т.е. драйверите на операционната система. Туй като всяка Линукс система може да има повече от едно ядро, то в тази директория се създават поддиректории с номера на всяко едно инсталирано ядро.
 
/mnt или /media - незадължителна системна директория. Тя се създава автоматично и нейната цел е обединяването на всички монтирани устройства на едно място. Линукс обаче не ви ограничава да монтирате устройства в други директории.
 
/opt - тук повечето дистрибуции инсталират графичните среди като KDE и GNOME.
 
/proc - това е директория с наличие на псевдофайлове. Тези псевдофайлове се използват от Gnu/Linux за извеждане на информация отностно хардуерни настройки и параметри. Добър пример е псевдофайла /proc/meminfo който съдържа информация за наличната памета.
 
/root - домашната директория на суперпотребителя(root). За обикновения потребител тази директория е заключена и той няма никакъв достъп до файловете в нея.
 
/sbin – В тази директория се намират инструментите за системно администриране. Пример е инструмента:/sbin/ifconfig с който може да настройте мрежата си. Тази директория не е включена в пътя по подразбиране на обикновения потребител тъй като не му е необходима.
 
/tmp - директория в която програмите записват временни (temp) файлове.Тя е достъпна за абсолютно всеки потребител в системата.
 
/usr – Тук има голямо количество директории от инсталираните софтуерни приложения на системата. Приложенията са споделени т.е. Видими за всички потребители в системата.
 
/usr/bin - съдържа изпълнимите файлове на инсталираните приложения, които не са важни за коректното функциониране на системата.
 
/usr/doc - част от документацията на програмите. Тук се съхранява Linux-HOWTO.
 
/usr/include - тази директория е необходима само ако ще се инсталират програми от изходен код. Тук се пазят заглавните C файлове на инсталираните библиотеки и програми, които са необходими за инсталиране на други програми.
 
/usr/local - директория в която по подразбиране се инсталират програмите компилирани от изходен код.
 
/usr/man - най-мащабната част от Линукс документацията. Тук се съхранява ръководство (manual page) за почти всички инсталирани програми. Достъпа до тази информация се осъществява с програмата man.
 
/usr/lib - важна директория, в която се съхраняват повечето инсталирани библиотеки.
 
/usr/share - също важна директория. Тук програмите инсталират файловете, необходими за тяхната правилна работа.
 
/usr/src - в тази директория се пази изходният код на Линукс ядрото. Той е необходим само когато ядрото ще се прекомпилира. И тук подобно на /lib/modules може да има код на повече от едно ядро. Те се съхраняват в директории, различаващи се с номера на версията. В директорията /usr/src присъства и линк linux, който сочи към една от директориите съдържащи изходен код.
 
/var - Административна директория съдържаща предимно системни дневници(логове) на програмите и система, както и опашка с отложените или предстоящи задачи за автоматично изпълнение. Директория съдържа и друга информация, като пристигнали писма, файлове заключващи дадени процеси и сокети на работещи в момента програми.
 
 
В повечето директории обикновения потребител има права за четене, но не и за запис за да се осигури стабилност на системата. Обикновения потребител има пълни права единствено над файловете в собствената му директория и над директорията /tmp .
 
Често задавани въпроси:
 
В01: Къде се намира устройството на TV тунера?
О01: Устройството на TV Тунера е /dev/video
 
В02: Ако имам потребител 'test' къде трябва да ми е домашната директория?
О02: При потребител 'test' домашната директория е /home/test тъй като /home съдържа домашните директории на потребителите.
 
 
Библиография:
 
Лилян Николов. Операционни системи. Ciela 2001
 
 
Полезни връзки
 
 






Коментирай свободно: