Из Википедии, бесплатной энциклопедии
  (Перенаправлено из структуры каталогов Unix )
Перейти к навигации Перейти к поиску
Структура файловой системы Unix версии 7 : подкаталоги "/" и "/ usr"
Обзор структуры файловой системы Unix

В Unix и операционных системах, вдохновленных им, файловая система считается центральным компонентом операционной системы. [1] Это также была одна из первых частей системы, разработанная и реализованная Кеном Томпсоном в первой экспериментальной версии Unix, датированной 1969 годом . [2]

Как и в других операционных системах, файловая система обеспечивает хранение и поиск информации, а также является одной из нескольких форм межпроцессного взаимодействия , поскольку многие небольшие программы, которые традиционно образуют систему Unix, могут хранить информацию в файлах, чтобы другие программы могли их читать, хотя каналы дополнил его в этой роли начиная с Третьего издания . Кроме того, файловая система обеспечивает доступ к другим ресурсам через так называемые файлы устройств, которые являются точками входа для терминалов , принтеров и мышей .

В остальной части этой статьи Unix используется как общее название для обозначения как исходной операционной системы Unix, так и множества ее рабочих аналогов .

Принципы [ править ]

Файловая система выглядит как одно корневое дерево каталогов. [1] Вместо того, чтобы адресовать отдельные тома, такие как разделы диска , съемные носители и сетевые ресурсы, как отдельные деревья (как это сделано в DOS и Windows : у каждого диска есть буква диска, которая обозначает корень его дерева файловой системы), такие тома могут быть установлен на каталог, в результате чего дерево файловой системы тома появляться в этой директории в большем дереве. [1] Обозначен корень всего дерева /.

В оригинальной Bell Labs Unix обычно использовалась установка с двумя дисками, где первый диск содержал программы запуска, а второй - файлы и программы пользователей. Этот второй диск был смонтирован в пустой каталог с именем usrна первом диске, в результате чего два диска отображались как одна файловая система, а содержимое второго диска можно было просмотреть в /usr.

Каталоги Unix не содержат файлов. Вместо этого они содержат имена файлов в паре со ссылками на так называемые inodes , которые, в свою очередь, содержат как файл, так и его метаданные (владелец, разрешения, время последнего доступа и т. Д., Но без имени). Несколько имен в файловой системе могут относиться к одному и тому же файлу, что называется жесткой ссылкой . [1] Математические особенности жестких ссылок делают файловую систему ограниченным типом ориентированного ациклического графа , хотя каталогипо-прежнему образуют дерево, поскольку обычно они не связаны жестко. (Как первоначально предполагалось в 1969 году, файловая система Unix будет фактически использоваться как общий граф с жесткими ссылками на каталоги, обеспечивающими навигацию, вместо имен путей. [2] )

Типы файлов [ править ]

Исходная файловая система Unix поддерживала три типа файлов: обычные файлы, каталоги и «специальные файлы», также называемые файлами устройств. [1] Berkeley Software Distribution (BSD) и System V каждый добавленный тип файла , который будет использоваться для межпроцессного взаимодействия : BSD добавлены сокеты , [3] , а System V добавлены FIFO файлы .

BSD также добавила символические ссылки (часто называемые « символическими ссылками ») к диапазону типов файлов, которые представляют собой файлы, которые ссылаются на другие файлы и дополняют жесткие ссылки. [3] Symlinks были смоделированы после аналогичной функции в Multics , [4] и отличаются от жестких ссылок в том , что они могут охватывать файловые системы и что их существование не зависит от целевого объекта. Другие системы Unix могут поддерживать дополнительные типы файлов. [5]

Обычная структура каталогов [ править ]

Существуют определенные соглашения о размещении некоторых типов файлов, таких как программы, файлы конфигурации системы и домашние каталоги пользователей . Впервые они были задокументированы на hier(7) странице руководства начиная с версии 7 Unix ; [6] последующие версии, производные и клоны обычно имеют аналогичную справочную страницу. [7] [8] [9] [10] [11] [12]

Детали макета каталога со временем менялись. Хотя раскладка файловой системы не является частью спецификации Single UNIX , несколько попыток существуют стандартизировать (части) , то, например, System V Application Binary Interface , в Intel Binary Compatibility Standard , в среде системы Common Operating и Linux Foundation , ' s Стандарт иерархии файловой системы (FHS). [13]

Вот общий обзор общих расположений файлов в операционной системе Unix:

См. Также [ править ]

  • Btrfs
  • ext2
  • ext3
  • ext4
  • Стандарт иерархии файловой системы
  • МОЛОТОК
  • JFS (файловая система)
  • Файловая система Unix
  • Файловая система Veritas
  • ZFS

Ссылки [ править ]

  • Эта статья включает материалы из статьи Citizendium « Файловая система Unix », которая находится под лицензией Creative Commons Attribution-ShareAlike 3.0 Unported License, но не GFDL .
  1. ^ a b c d e Ричи, DM ; Томпсон, К. (июль 1978 г.). «Система разделения времени UNIX». Bell System Tech. Дж . 57 (6): 1905–1929. CiteSeerX  10.1.1.112.595 . DOI : 10.1002 / j.1538-7305.1978.tb02136.x .
  2. ^ a b Ричи, Деннис М. (1979). Эволюция системы разделения времени Unix . Языковой дизайн и методология программирования конф.
  3. ^ а б Леффлер, Сэмюэл Дж .; МакКузик, Маршалл Кирк ; Карелс, Майкл Дж .; Quarterman, Джон С. (октябрь 1989 г.). Разработка и реализация операционной системы 4.3BSD UNIX . Эддисон-Уэсли . ISBN 978-0-201-06196-3.
  4. ^ МакКузик, Маршалл Кирк; и другие. «Быстрая файловая система для Unix» (PDF) . Freebsd.org . CSRG, Калифорнийский университет в Беркли . Проверено 16 ноября +2016 .
  5. ^ stat(2)  -  Руководство программиста Linux - Системные вызовы
  6. ^ a b hier(7)  -  Руководство программиста Unix версии 7
  7. ^ hier(7)  -  Руководство по разной информации FreeBSD
  8. ^ hier(7)  -  Руководство по разной информации OpenBSD
  9. ^ "hier (7) страница руководства для 2.9.1 BSD" .
  10. ^ "hier (7) справочная страница для ULTRIX 4.2" .
  11. ^ "hier (7) страница руководства по SunOS 4.1.3" .
  12. ^ hier(7)  -  Руководство программиста Linux - Обзор, условные обозначения и разное
  13. Джордж Крафт IV (1 ноября 2000 г.). "Где установить мои продукты в Linux?" . Linux Journal . Проверено 13 ноября 2014 года .
  14. ^ a b c d e Керниган, Брайан В .; Пайк, Роб (1984). Среда программирования UNIX . Прентис-Холл. С.  63–65 . Bibcode : 1984upe..book ..... K .
  15. ^ a b Ричи, Деннис. «Примечания Unix от 1972 года» . Проверено 14 января 2018 .
  16. ^ System V Application Binary Interface Edition 4.1 (18 марта 1997 г.)
  17. ^ MD McIlroy (1987). Читатель Research Unix: аннотированные выдержки из Руководства программиста, 1971–1986 . CSTR 139, Bell Labs.
  18. ^ "Глава 7. sendmail" . Администрация сетевого оборудования UNICOS / mp . Cray . Проверено 14 сентября 2013 года .
  19. ^ "fhs-spec редакция 44" .