Unix файлдық жүйесі - Unix filesystem

7-нұсқа Unix файл жүйесінің орналасуы: «/» және «/ usr» ішкі каталогтары
А шолу Unix файлдық жүйенің орналасуы

Жылы Unix және операциялық жүйелер шабыттанған файлдық жүйе операциялық жүйенің орталық компоненті болып саналады.[1] Ол сонымен бірге жүйенің жобаланған және іске асырылған алғашқы бөліктерінің бірі болды Кен Томпсон Unix-тің алғашқы эксперименттік нұсқасында, 1969 ж.[2]

Басқа амалдық жүйелердегідей, файлдық жүйе ақпаратты сақтауды және алуды қамтамасыз етеді, және бірнеше формаларының бірі процессаралық байланыс, дәстүрлі түрде Unix жүйесін құрайтын көптеген кішігірім бағдарламалар ақпаратты басқа файлдар оқи алатындай етіп файлдарда сақтай алады, дегенмен құбырлар оны бастап осы рөлде толықтырды Үшінші басылым. Сондай-ақ, файлдық жүйе деп аталатын басқа ресурстарға қол жеткізуді қамтамасыз етеді құрылғы файлдары кіру нүктелері болып табылады терминалдар, принтерлер, және тышқандар.

Осы мақаланың қалған бөлігі қолданылады Unix сияқты жалпы атау Unix операциялық жүйесіне де, оның жүйесіне де сілтеме жасау жұмыс.

Қағидалар

Файлдық жүйе бір болып шығады тамырланған ағаш анықтамалықтар[1] Сияқты бөлек томдарға жүгінудің орнына диск бөлімдері, алынбалы медиа және желілік акциялар бөлек ағаштар ретінде (осылай жасалды) DOS және Windows: әрқайсысы жүргізу файлдық жүйенің ағашының түбірін білдіретін диск әрпі бар), мұндай көлемдер болуы мүмкін орнатылған томдықтағы файлдық жүйе ағашының каталог ретінде көрінуіне алып келетін каталогта.[1] Бүкіл ағаштың тамыры белгіленеді /.

Түпнұсқада Bell Labs Unix, екі дискіні орнату әдеттегідей болды, мұнда бірінші дискіде іске қосу бағдарламалары, ал екіншісінде пайдаланушылардың файлдары мен бағдарламалары болды. Бұл екінші диск бос каталогқа орнатылды usr бірінші дискіде, бұл екі дискінің бір файл жүйесі ретінде көрінуіне әкеледі, ал екінші дискінің мазмұнын көруге болады / usr.

Unix каталогтары жоқ қамтуы керек файлдар. Оның орнына олар деп аталатын сілтемелермен жұптастырылған файлдардың аттарын қамтиды инодтар, ол өз кезегінде файлды да, оны да қамтиды метадеректер (иесі, рұқсаттары, соңғы кіру уақыты және т.б., бірақ аты жоқ). Файлдық жүйенің бірнеше атауы бірдей файлға сілтеме жасай алады, бұл функция а деп аталады қатты сілтеме.[1] Қатты сілтемелердің математикалық қасиеттері файлдық жүйені шектеулі түрге айналдырады бағытталған ациклдік график дегенмен анықтамалықтар ағашты қалыптастырады, өйткені олар әдетте тығыз байланыста болмауы мүмкін. (Бастапқыда 1969 жылы ойлағандай, Unix файлдық жүйесі шынымен де жол атауларының орнына навигацияны қамтамасыз ететін каталогтарға қатты сілтемелері бар жалпы график ретінде пайдаланылатын болады.[2])

Файл түрлері

Unix файлдық жүйесі үш типтегі файлдарды қолдайды: қарапайым файлдар, анықтамалықтар, және «арнайы файлдар», сонымен қатар құрылғы файлдары деп аталады.[1] The Беркли бағдарламалық қамтамасыздандырудың таралуы (BSD) және V жүйесі әрқайсысы қолданылатын файл түрін қосты процессаралық байланыс: BSD қосылды розеткалар,[3] V жүйесі қосылды FIFO файлдары.

BSD қосылды символдық сілтемелер (көбінесе «символдар» деп аталады) басқа файлдарға сілтеме жасайтын және қатты сілтемелерді толықтыратын файлдар типіне жатады.[3] Символдар осыған ұқсас функциядан кейін модельденді Мультик,[4] және қатты сілтемелерден айырмашылығы, олар файлдық жүйелерді қамтуы мүмкін және олардың болуы мақсатты объектіге тәуелді емес. Басқа Unix жүйелері қосымша файл түрлерін қолдай алады.[5]

Кәдімгі каталогтың орналасуы

Бағдарламалар, жүйелік конфигурация файлдары және пайдаланушылар сияқты файлдардың кейбір түрлерін орналастыруға арналған белгілі бір шарттар бар. үй анықтамалықтары. Бұлар алғаш рет құжатталған иер (7) адам парағы бері 7-нұсқа Unix;[6] кейінгі нұсқаларында, туындыларында және клондарында әдетте ұқсас адам парағы болады.[7][8][9][10][11][12]

Уақыт өте келе каталог орналасуының егжей-тегжейі өзгеріп отырды. Файлдық жүйенің орналасуы Бірыңғай UNIX спецификациясы, оны (бөліктерін) стандарттауға бірнеше әрекеттер бар, мысалы V жүйесі Қосарлы интерфейсті қолдану, Intel екілік сыйысымдылық стандарты, Операциялық жүйенің жалпы ортасы және Linux Foundation Келіңіздер Файлдық жүйенің иерархия стандарты (FHS).[13]

Unix операциялық жүйесіндегі файлдардың жалпы орналасуының жалпыланған шолуы:

Каталог немесе файлСипаттама
/Қиғаш сызық / тек таңба файлдық жүйенің түбірін білдіреді.
/ қоқыс
Арналған екілік файлдар сияқты белгілі фундаменталды утилиталарды қамтиды лс немесе cp, орнату үшін қажет / usr, бұл жеке файлдық жүйе болған кезде немесе бір қолданушы (әкімшілік) режимінде іске қосу үшін / usr орнату мүмкін емес. V.4 жүйесінде бұл сілтеме болып табылады / usr / bin. Әйтпесе, ол түбірлік файлдық жүйеде болуы керек.
/етік
Сәтті жүктеу процесі үшін қажетті барлық файлдар бар. Жылы Unix зерттеуі, бұл каталогтан гөрі бір файл болды.[14] Қазіргі уақытта, егер жүйе, жүктеуші және т.б. басқаша талап етпесе, әдетте файлдық жүйенің түбірінде болады.
/ дев
Арналған құрылғылар. Құрамында файлдық ұсыныстар перифериялық құрылғылардың және жалған құрылғылар. Сондай-ақ оқыңыз: Linux тағайындаған аттар мен сандар авторизациясы. Түбірлік файлдық жүйеде болуы керек.
/ және т.б.
Жалпы жүйелік конфигурация файлдары мен жүйенің мәліметтер қорынан тұрады; атауын білдіреді et cetera.[14] Бастапқыда құрамында «қауіпті техникалық қызмет көрсету» бар ішінде,[6] бірақ бұлар әдетте ауыстырылды / sbin немесе басқа жерде. Түбірлік файлдық жүйеде болуы керек.
/ үй
Linux және кейбір басқа жүйелердегі пайдаланушылардың үй каталогтарынан тұрады. Unix-тің бастапқы нұсқасында үй каталогтары орналасқан / usr орнына.[15] Кейбір жүйелер әртүрлі орындарды пайдаланады немесе қолданады: macOS үй каталогтары бар / Пайдаланушылар, BSD-дің ескі нұсқалары оларды орналастырды / u, FreeBSD бар / usr / home.
/ lib
Бастапқыда маңызды кітапханалар: C кітапханалар, бірақ олай емес Фортран бір.[14] Қазіргі жүйелерде бағдарламаларға қажет ортақ кітапханалар бар / қоқыс, және мүмкін жүктелетін ядро ​​модулі немесе құрылғы драйверлері. Linux таратылымдарының нұсқалары болуы мүмкін / lib32 және / lib64 көп архитектуралық қолдау үшін.
/ БАҚ
USB-таяқшалар, медиа ойнатқыштар және т.с.с. алынбалы құрылғыларға арналған әдепкі орнату нүктесі. Жалпы мағынасы бойынша ішкі каталогтар тірек нүктелері болып табылатын каталогтың өзі түбір бөлімінде орналасқан.
/ mnt
Арналған бекіту. Жүйе әкімшілері әдетте уақытша бекіту нүктесі ретінде пайдаланатын бос каталог. Жалпы мағынасы бойынша, каталогтың өзі, оның ішкі каталогтары - бекіту нүктелері, түбір бөлімінде орналасқан.
/ таңдау
Құрамында жергілікті орнатылған бағдарламалық жасақтама бар. Шыққан V жүйесі, ол бар пакет менеджері бағдарламалық жасақтаманы осы каталогқа орнататын (бір пакетке бір каталог).[16]
/ proc
procfs виртуалды файлдық жүйе туралы ақпаратты көрсету процестер файл ретінде
/ түбір
Үшін үй каталогы супер пайдаланушы тамыр - бұл жүйелік әкімші. Бұл есептік жазбаның үй каталогы әдетте бастапқы файлдық жүйеде болады, сондықтан басқа файлдық жүйелер қол жетімді болмайтын белгілі бір техникалық қызмет көрсету қажет болған жағдайда / бұл үйде болмайды (бұл басқа файлдық жүйеге арналған нүкте болуы мүмкін). Мұндай жағдай орын алуы мүмкін, мысалы, қатты диск жетегі физикалық ақауларға ұшыраса және оны дұрыс орнату мүмкін болмаса. Шарт бойынша бұл каталог түбір бөлімінде орналасқан; кез келген жағдайда, солай емес * / home / root сілтемесі немесе кез келген нәрсе.
/ sbin
«Үшін стендтержүйелік (немесе суперпайдаланушы) екілік файлдар «сияқты іргелі утилиталардан тұрады, мысалы ішінде, әдетте жүйені іске қосу, қолдау және қалпына келтіру үшін қажет. Түбір бөлімінде болуы керек.
/ srv
Сервер деректері (жүйе ұсынатын қызметтерге арналған мәліметтер).
/ sys
Кейбіреулерінде Linux таратылымдары, а бар sysfs виртуалды файлдық жүйе, аппараттық құралға және амалдық жүйеге қатысты ақпаратты қамтиды. BSD жүйелерінде әдетте ядро ​​көздеріне символдық сілтеме / usr / src / sys.
/ tmp
Қайта жүктеу кезінде өмір сүреді деп күтілмеген уақытша файлдарға арналған орын. Көптеген жүйелер осы каталогты іске қосу немесе пайдалану кезінде тазартады tmpfs оны жүзеге асыру.
/ unix
Unix ядро Unix және V жүйесі.[14] Қосуымен виртуалды жад қолдау 3BSD, бұл қайта аталды / vmunix.
/ usr
«Пайдаланушы файлдық жүйесі»: бастапқыда пайдаланушының үй каталогтары бар каталог,[15] бірақ қазірдің өзінде үшінші басылымында Unix зерттеуі, шамамен 1973 ж. Операциялық жүйенің бағдарламаларын екі дискіге бөлу үшін қайта пайдаланды (оның біреуі 256K қозғалмайтын драйв), осылайша негізгі командалар пайда болуы мүмкін / қоқыс немесе / usr / bin.[17] Ол қазір жүйелік сын көтермейтін орындалатын файлдарды, кітапханаларды және ортақ ресурстарды сақтайды X терезе жүйесі, KDE, Перл Ескі Unix жүйелерінде пайдаланушының үй каталогтары әлі де пайда болуы мүмкін / usr бағдарламалардан тұратын каталогтармен қатар, 1984 жылға қарай бұл тәуелді болды жергілікті әдет-ғұрыптар.[14]
/ қосу
Жүйеде қолданылған даму тақырыптарын сақтайды. Файлдар тақырыбы негізінен # қосу in директивасы C тарихи, бұл каталогтың атауы қалай таңдалған.
/ lib
Ішінде сақталған бағдарламалар үшін қажетті кітапханалар мен деректер файлдарын сақтайды / usr немесе басқа жерде.
/ libexec
Қолданушылар тікелей емес, басқа бағдарламалар орындайтын бағдарламаларды ұстайды. Мысалы, Sendmail орындалатынды осы каталогтан табуға болады.[18] 2011 жылға дейін FHS жоқ;[19] Linux таратылымдары дәстүрлі түрде осы каталогтың мазмұнын ауыстырды / usr / lib, олар 4.3BSD-де тұрды.
/ жергілікті
Ұқсастар / usr құрылымында, бірақ оның ішкі каталогтары операциялық жүйенің таралуына кірмейтін қосымшалар үшін пайдаланылады, мысалы тапсырыс бойынша бағдарламалар немесе файлдар BSD Порттар коллекциясы. Сияқты ішкі каталогтар бар / usr / local / lib немесе / usr / local / bin.
/ бөлісу
Сәулеттен тәуелсіз бағдарламаның деректері. Linux және заманауи BSD туындыларында бұл каталог сияқты ішкі каталогтар бар адам үшін басқару құралдары, тікелей астында пайда болатын / usr ескі нұсқаларында.
/ var
Арналған айнымалы. Жиі өзгеруі мүмкін файлдарға арналған орын, әсіресе көлемде, мысалы, жүйеде пайдаланушыларға жіберілген электрондық пошта немесе процесс идентификаторы файлдарды құлыптау.
/ журнал
Жүйелік журнал файлдарынан тұрады.
/ пошта
Барлық кіріс хаттар сақталатын орын. Пайдаланушылар (басқа тамыр) тек өздерінің поштасына қатынаса алады. Көбінесе бұл каталог а символдық сілтеме дейін / var / spool / mail.
/ катушка
Катушка анықтамалық. Баспа тапсырмалары, пошта спулдары және басқа кезекте тұрған тапсырмалар бар.
/ src
Кейбір бағдарламалардың жинақталмаған бастапқы коды орналасқан жер.
/ tmp
The / var / tmp каталог - жүйені қайта жүктеу арасында сақталуы керек уақытша файлдарға арналған орын.

Сондай-ақ қараңыз

Пайдаланылған әдебиеттер

  • Бұл мақалада Азаматтық мақала »Unix файлдық жүйесі »лицензиясы бар Creative Commons Attribution-ShareAlike 3.0 экспортталмаған лицензиясы бірақ астында емес GFDL.
  1. ^ а б c г. e Ричи, Д.М.; Томпсон, К. (1978 ж. Шілде). «Уақытты бөлудің UNIX жүйесі». Bell System Tech. Дж. 57 (6): 1905–1929. CiteSeerX  10.1.1.112.595. дои:10.1002 / j.1538-7305.1978.tb02136.x.
  2. ^ а б Ритчи, Деннис М. (1979). Unix-тің уақытты бөлу жүйесінің эволюциясы. Тілдерді жобалау және бағдарламалау әдістемесі Конф.
  3. ^ а б Леффлер, Сэмюэл Дж.; МакКусик, Маршалл Кирк; Карелс, Майкл Дж.; Квартерман, Джон С. (Қазан 1989). 4.3BSD UNIX операциялық жүйесін жобалау және енгізу. Аддисон-Уэсли. ISBN  978-0-201-06196-3.
  4. ^ МакКусик, Маршалл Кирк; т.б. «Unix үшін жылдам файлдық жүйе» (PDF). Freebsd.org. CSRG, UC Беркли. Алынған 16 қараша 2016.
  5. ^ стат (2) – Linux Бағдарламашы Қолмен - Жүйелік қоңыраулар
  6. ^ а б иер (7) – 7-нұсқа Unix Бағдарламашы Қолмен
  7. ^ иер (7) – FreeBSD Әр түрлі ақпарат Қолмен
  8. ^ иер (7) – OpenBSD Әр түрлі ақпарат Қолмен
  9. ^ «hier (7) man page for 2.9.1 BSD».
  10. ^ «hier (7) man page for ULTRIX 4.2».
  11. ^ «hier (7) man page for SunOS 4.1.3».
  12. ^ иер (7) – Linux Бағдарламашы Қолмен - Шолу, конвенциялар және әр түрлі
  13. ^ Джордж Крафт IV (1 қараша 2000). «Менің өнімдерімді Linux-қа қайда орнатуға болады?». Linux журналы. Алынған 13 қараша 2014.
  14. ^ а б c г. e Керниган, Брайан В.; Шортан, Роб (1984). UNIX бағдарламалау ортасы. Prentice-Hall. бет.63–65. Бибкод:1984жас..кітап ..... К.
  15. ^ а б Ритчи, Деннис. «1972 жылғы Unix ноталары». Алынған 14 қаңтар 2018.
  16. ^ System V қосымшасының екілік интерфейсі 4.1 басылым (1997-03-18)
  17. ^ M. D. McIlroy (1987). Unix оқырманы: бағдарламашының нұсқаулығынан түсіндірме алынған үзінділер, 1971–1986 жж. CSTR 139, Bell зертханалары.
  18. ^ «7-тарау. Sendmail». UNICOS / mp желілік қондырғыларды басқару. Cray. Алынған 14 қыркүйек 2013.
  19. ^ «fhs-spec қайта қарау 44».