-
Notifications
You must be signed in to change notification settings - Fork 0
/
history.tex
326 lines (281 loc) · 43.7 KB
/
history.tex
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
\chapter {История unix}
\section{Из Морриса Баха}
В 1965 году фирма Bell Telephone Laboratories, объединив свои усилия с компанией General Electric и проектом MAC Массачусетского технологического института, приступили к разработке новой операционной системы, получившей название Multics [Organick 72]. Перед системой Multics были поставлены задачи - обеспечить одновременный доступ к ресурсам ЭВМ большого количества пользователей, обеспечить достаточную скорость вычислений и хранение данных и дать возможность пользователям в случае необходимости совместно использовать данные. Многие разработчики, впоследствии принявшие участие в создании ранних редакций системы UNIX, участвовали в работе над системой Multics в фирме Bell Laboratories. Хотя первая версия системы Multics и была запущена в 1969 году на ЭВМ GE 645, она не обеспечивала выполнение главных вычислительных задач, для решения которых она предназначалась, и не было даже ясно, когда цели разработки будут достигнуты. Поэтому фирма Bell Laboratories прекратила свое участие в проекте.
По окончании работы над проектом Multics сотрудники Исследовательского центра по информатике фирмы Bell Laboratories остались без "достаточно интерактивного вычислительного средства" [Ritchie 84a]. Пытаясь усовершенствовать среду программирования, Кен Томпсон, Дэннис Ричи и другие набросали на бумаге проект файловой системы, получивший позднее дальнейшее развитие в ранней версии файловой системы UNIX. Томпсоном были написаны программы, имитирующие поведение предложенной файловой системы в режиме подкачки данных по запросу, им было даже создано простейшее ядро операционной системы для ЭВМ GE 645. В то же время он написал на Фортране игровую программу "Space Travel" ("Космическое путешествие") для системы GECOS (Honeywell 635), но программа не смогла удовлетворить пользователей, поскольку управлять "космическим кораблем" оказалось сложно, кроме того, при загрузке программа занимала много места. Позже Томпсон обнаружил малоиспользуемый компьютер PDP-7, оснащенный хорошим графическим дисплеем и имеющий дешевое машинное время.
Создавая программу "Космическое путешествие" для PDP-7, Томпсон получил возможность изучить машину, однако условия разработки программ потребовали использования кросс-ассемблера для трансляции программы на машине с системой GECOS и использования перфоленты для ввода в PDP-7. Для того, чтобы улучшить условия разработки, Томпсон и Ричи выполнили на PDP-7 свой проект системы, включивший первую версию файловой системы UNIX, подсистему управления процессами и небольшой набор утилит. В конце концов, новая система больше не нуждалась в поддержке со стороны системы GECOS в качестве операционной среды разработки и могла поддерживать себя сама. Новая система получила название UNIX, по сходству с Multics его придумал еще один сотрудник Исследовательского центра по информатике Брайан Керниган.
Несмотря на то, что эта ранняя версия системы UNIX уже была многообещающей, она не могла реализовать свой потенциал до тех пор, пока не получила применение в реальном проекте. Так, для того, чтобы обеспечить функционирование системы обработки текстов для патентного отдела фирмы Bell Laboratories, в 1971 году система UNIX была перенесена на ЭВМ PDP-11. Система отличалась небольшим объемом: 16 Кбайт для системы, 8 Кбайт для программ пользователей, обслуживала диск объемом 512 Кбайт и отводила под каждый файл не более 64 Кбайт. После своего первого успеха Томпсон собрался было написать для новой системы транслятор с Фортрана, но вместо этого занялся языком Би (B), предшественником которого явился язык BCPL [Richards 69]. Би был интерпретируемым языком со всеми недостатками, присущими подобным языкам, поэтому Ричи переделал его в новую разновидность, получившую название Си (C) и разрешающую генерировать машинный код, объявлять типы данных и определять структуру данных. В 1973 году система была написана заново на Си, это был шаг, неслыханный для того времени, но имевший огромный резонанс среди сторонних пользователей. Количество машин фирмы Bell Laboratories, на которых была инсталлирована система, возросло до 25, в результате чего была создана группа по системному сопровождению UNIX внутри фирмы.
В то время корпорация AT\&T не могла заниматься продажей компьютерных
продуктов в связи с соответствующим соглашением, подписанным ею с федераль-
ным правительством в 1956 году, и распространяла систему UNIX среди универ-
ситетов, которым она была нужна в учебных целях. Следуя букве соглашения,
корпорация AT\&T не рекламировала, не продавала и не сопровождала систему.
Несмотря на это, популярность системы устойчиво росла. В 1974 году Томпсон и
Ричи опубликовали статью, описывающую систему UNIX, в журнале Communications
of the ACM [Thompson 74], что дало еще один импульс к распространению систе-
мы. К 1977 году количество машин, на которых функционировала система UNIX,
увеличилось до 500, при чем 125 из них работали в университетах. Система
UNIX завоевала популярность среди телефонных компаний, поскольку обеспечива-
ла хорошие условия для разработки программ, обслуживала работу в сети в ре-
жиме диалога и работу в реальном масштабе времени (с помощью системы MERT
[Lycklama 78a]). Помимо университетов, лицензии на систему UNIX были переда-
ны коммерческим организациям. В 1977 году корпорация Interactive Systems
стала первой организацией, получившей права на перепродажу системы UNIX с
надбавкой к цене за дополнительные услуги\footnote{(*) Организации, получившие права на перепродажу с надбавкой к цене за дополнительные услуги, оснащают вычислительную систему прикладными программами, касающимися конкретных областей применения, стремясь удовлетворить требования рынка. Такие организации чаще продают прикладные программы, нежели операционные системы, под управлением которых эти программы работают.}, которые заключались в адаптации системы к функционированию в автоматизированных системах управления учрежденческой деятельностью. 1977 год также был отмечен "переносом" системы UNIX на машину, отличную от PDP (благодаря чему стал возможен запуск системы на другой машине без изменений или с небольшими изменениями), а именно на Interdata 8/32.
С ростом популярности микропроцессоров другие компании стали переносить систему UNIX на новые машины, однако ее простота и ясность побудили многих разработчиков к самостоятельному развитию системы, в результате чего было создано несколько вариантов базисной системы. За период между 1977 и 1982 годом фирма Bell Laboratories объединила несколько вариантов, разработанных в корпорации AT\&T, в один, получивший коммерческое название UNIX версия III. В дальнейшем фирма Bell Laboratories добавила в версию III несколько новых особенностей, назвав новый продукт UNIX версия V\footnote{ А что же версия IV? Модификация внутреннего варианта системы получила название "версия V".}, и эта версия стала официально распространяться корпорацией AT\&T с января 1983 года. В то же время сотрудники Калифорнийского университета в Бэркли разработали вариант системы UNIX, получивший название BSD 4.3 для машин серии VAX и отличающийся некоторыми новыми, интересными особенностями. Основное внимание в этой книге концентрируется на описании системы UNIX версии V, однако время от времени мы будем касаться и особенностей системы BSD.
К началу 1984 года система UNIX была уже инсталлирована приблизительно на 100000 машин по всему миру, при чем на машинах с широким диапазоном вычислительных возможностей - от микропроцессоров до больших ЭВМ - и разных изготовителей. Ни о какой другой операционной системе нельзя было бы сказать того же. Популярность и успех системы UNIX объяснялись несколькими причинами:
\begin{itemize}
\item Система написана на языке высокого уровня, благодаря чему ее легко читать,
понимать, изменять и переносить на другие машины. По оценкам, сделанным Ричи, первый вариант системы на Си имел на 20-40 \% больший объем и работал медленнее по сравнению с вариантом на ассемблере, однако преимущества использования языка высокого уровня намного перевешивают недостатки (см. [Ritchie 78b], стр. 1965).
\item Наличие довольно простого пользовательского интерфейса, в котором имеется возможность предоставлять все необходимые пользователю услуги.
\item Наличие элементарных средств, позволяющих создавать сложные программы из более простых.
\item Наличие иерархической файловой системы, легкой в сопровождении и эффективной в работе.
\item Обеспечение согласования форматов в файлах, работа с последовательным потоком байтов, благодаря чему облегчается чтение прикладных программ.
\item Наличие простого, последовательного интерфейса с периферийными устройствами.
\item Система является многопользовательской, многозадачной; каждый пользователь может одновременно выполнять несколько процессов.
\item Архитектура машины скрыта от пользователя, благодаря этому облегчен процесс написания программ, работающих на различных конфигурациях аппаратных средств.
\end{itemize}
Простота и последовательность вообще отличают систему UNIX и объясняют большинство из вышеприведенных доводов в ее пользу.
Хотя операционная система и большинство команд написаны на Си, система UNIX поддерживает ряд других языков, таких как Фортран, Бейсик, Паскаль, Ада, Кобол, Лисп и Пролог. Система UNIX может поддерживать любой язык программирования, для которого имеется компилятор или интерпретатор, и обеспечивать системный интерфейс, устанавливающий соответствие между пользовательскими запросами к операционной системе и набором запросов, принятых в UNIX.
\cite{Bach_Unix}
\section {Рождение}
UNIX родился в 1969 году, как учебный проект, на малоиспользуемой PDP-8 ???? что стояла в углу.
Первоначально UNIX был написан на ассемблере, но уже в 1971 году был переписан на C, с целью облегчения понимания и портируемости. В результате стало возможным портирование UNIX на другие системы с минимальными модификациями (только ассемблерные вставки, без изменения C-кода).
\section {Развитие}
\subsection {Коммерческий UNIX}
UNIX стал популярен в результате одного исторического решения: AT\&T стала раздавать UNIX университетам, вместе с исходным кодом (для возможности модификации под свои нужды). Это, а так же то, что UNIX в тот момент был достаточно прост (порядка 10000 строк кода), привело к тому, что учебные курсы стали ориентироваться на UNIX, и изучать его устройство. Как следствие это привело к распространению популярности UNIX-а за пределы университетской среды вместе с выпускниками.
\subsection {Свободные альтернативы}
Следующей исторической вехой стоит назвать создание Ричардом Столлманом FSF (Free Software Foundation) в 1984??? году.
В 1991 году Линус Торвальдс ???
%\includegraphics{unix_history}
\section {Стандарты}
\subsection {Single UNIX Specification}
Single UNIX Specification это общее название стандартов, которым должна соответствовать операционная система, чтобы называться «Unix». SUS разрабатывается и поддерживается Austin Group на основе предыдущих разработок IEEE и The Open Group.
\subsection {Степени совместимости и версии стандарта}
Существуют несколько степеней совместимости, нумерующихся по году:
\begin{enumerate}
\item UNIX 93
\item UNIX 95
\item UNIX 98 (удовлетворяет SUS версии 2 ( частичная совместимость )
\item UNIX 03 (удовлетворяет SUS версии 3 ( полная совместимость )
\end{enumerate}
\subsection{Зарегистрированные UNIX-подобные системы}
AIX
AIX 5L V5.2 с обновлениями, AIX 5L V5.3 и AIX 6.1 совместимы с UNIX 03. AIX 5L V5.2 совместима с UNIX 98.
HP-UX
HP-UX 11i V3 Release B.11.31 совместима с UNIX 03. Предыдущие версии совместимы с UNIX 95.
IRIX
IRIX 6.5.28 совместима с UNIX 95.
Mac OS X
Mac OS X 10.5 «Leopard» и Mac OS X Server 10.5 «Leopard Server» на процессорах Intel совместимы с UNIX 03.
SCO
UnixWare 7.1.3 совместима с UNIX 95. SCO OpenServer 5 совместима с UNIX 93.
Solaris
Solaris 10 совместима с UNIX 03 на системах SPARC, 32-/64-битных системах x86 и SPARC64 (Fujitsu PRIMEPOWER). Solaris 8 и 9 совместимы с UNIX 98 на тех же платформах за исключением 64-битных x86. Solaris 2.5.1 была совместима с UNIX 95 на платформе PReP PowerPC в 1996, но продукт был отменён до начала массовых продаж.
Tru64
Tru64 UNIX V5.1A и далее совместимы с UNIX 98.
z/OS
IBM z/OS до 1.9 совместима с UNIX 95.
Поставщики Unix-подобных систем, таких как BSD, OpenSolaris и Linux обычно не сертифицируют свои дистрибутивы из-за высокой цены на сертификацию и высокой скорости изменений в этих системах. Схожий стандарт LSB, используемый некоторыми ОС GNU/Linux, опирается на некоторые части SUS.
\section{POSIX}
POSIX
POSIX (англ. Portable Operating System Interface for Unix — Переносимый интерфейс операционных систем Unix) — набор стандартов, описывающих интерфейсы между операционной системой и прикладной программой. Стандарт создан для обеспечения совместимости различных UNIX-подобных операционных систем и переносимости прикладных программ на уровне исходного кода, но может быть использован и для не-Unix систем. Серия стандартов POSIX была разработана комитетом 1003 IEEE. Международная организация по стандартизации (ISO) совместно c Международной электротехнической комиссией (IEC) приняли данный стандарт (POSIX) под названием ISO/IEC 9945.
Название «POSIX» было предложено Ричардом Столлманом. Введение в POSIX.1 гласит: «Ожидается произношение „поз-икс“ как „позитив“, а не „по-сикс“. Произношение опубликовано в целях обнародования стандартного способа ссылки на стандартный интерфейс операционной системы». «POSIX» является зарегистрированным товарным знаком IEEE.[1]
* 1 Задачи
* 2 Состав
* 3 Версии
* 4 POSIX-совместимые ОС
o 4.1 Полностью POSIX-совместимые
o 4.2 По большей части POSIX-совместимые
+ 4.2.1 POSIX для Windows
* 5 Примечания
* 6 Литература
* 7 См. также
* 8 Ссылки
\subsection{Задачи}
\begin{enumerate}
\item содействие облегчению переноса кода прикладных программ на иные платформы
\item определению и унификация интерфейсов заранее при проектировании, а не в процессе их реализации
\item сохранить по возможности и учитывать все главные, созданные ранее и используемые прикладные программы; ?????
\item определение необходимого минимума интерфейсов прикладных программ, для ускорения создания, одобрения и утверждения документов
\item развитие стандартов в направлении обеспечения коммуникационных сетей, распределенной обработки данных и защиты информации
\item рекомендовать ограничивать использование бинарного (объектного) кода для приложений в простых системах. ?????
\end{enumerate}
\subsection{Состав}
Стандарт состоит из четырёх основных разделов:
\begin{itemize}
\item Основные определения (Base definitions) — список основных определений и соглашений, используемых в спецификациях, и список заголовочных файлов языка Си, которые должны быть предоставлены соответствующей стандарту системой.
\item Оболочка и утилиты (Shell and utilities) — описание утилит и командной оболочки sh, стандарты регулярных выражений.
\item Системные интерфейсы (System interfaces) — список системных вызовов языка Си.
\item Обоснование (Rationale) — объяснение принципов, используемых в стандарте.
\end{itemize}
Помимо основного стандарта (POSIX.1), cуществуют расширения: POSIX.1b и POSIX.1c. Первое из них относится к расширениям реального времени, второе к threads или потоковому выполнению.
POSIX-совместимые ОС
В зависимости от степени совместимости со стандартами, ОС могут быть полностью или частично совместимы с POSIX. Сертифицированные продукты могут быть найдены на сайте IEEE.
Полностью POSIX-совместимые
Полностью соответствующие одной из версий стандарта POSIX: Android OS, A/UX, BSD/OS, HP-UX, IBM AIX, INTEGRITY, IRIX, LynxOS, Mac OS X, Apple iOS, Minix, MPE/iX, OpenSolaris, OpenVMS, QNX, RTEMS, Solaris, UnixWare, velOSity, VxWorks
По большей части POSIX-совместимые
Официально не сертифицированные как POSIX-совместимые, но соответствующие по большей части.
\begin{itemize}
\item BeOS
\item FreeBSD
\item Linux (большинство дистрибутивов — см. LSB)
\item NetBSD
\item Nucleus RTOS
\item OpenBSD
\item RTEMS
\item Sanos
\item SkyOS
\item Syllable
\item VSTa
\item Symbian OS (при помощи PIPS)
\end{itemize}
\subsection{POSIX для Windows}
\begin{itemize}
\item Cygwin — обеспечивает частичное соответствие POSIX для некоторых продуктов Microsoft Windows.
\item Microsoft POSIX subsystem, необязательная подсистема Windows.
\item Microsoft Windows Services for UNIX — обеспечивает полное соответствие POSIX для некоторых продуктов Microsoft Windows. Операционные системы на базе Windows NT до Windows 2000 имели POSIX уровень встроенный в ОС, и UNIX Services for Windows предоставляло UNIX-подобное окружение. Для Windows XP, Windows Services for UNIX должны быть установлены для POSIX совместимости. UNIX подсистема встроена в Enterprise и Ultimate редакции Windows Vista, и не могут быть добавлены в другие редакции.
\item UWIN от ATnT Research обеспечивает POSIX поверх Win32 API.
\end{itemize}
\section{LSB}
Linux Standard Base, LSB — совместный проект нескольких дистрибутивов Linux при организации Linux Foundation, целью которого является стандартизация внутренней структуры операционных систем, основанных на Linux. LSB опирается на существующие спецификации, такие как POSIX, Single UNIX Specification, и другие открытые стандарты, при этом расширяя и дополняя их.
Цель LSB — разработать и продвигать набор стандартов, который увеличит совместимость различных дистрибутивов Linux и даст возможность запускать приложения на любой совместимой системе. Кроме того, LSB поможет скоординировать усилия в привлечении разработчиков к написанию и портированию приложений под Linux.
Чтобы сертифицировать программный продукт на совместимость со стандартом LSB, нужно пройти сертификационную процедуру, которая проводится The Open Group сотрудничающей с Free Standards Group.
LSB специфицирует: стандартные библиотеки, несколько команд и утилит в дополнение к стандарту POSIX, структуру иерархии файловой системы, уровни запуска и различные расширения системы X Window System.
* 2 История версий
* 3 Стандарт ISO
* 4 Примечания
* 5 См. также
* 6 Ссылки
Стандарт LSB критикуют за то, что он не принимает предложения проектов, в особенности Debian, находящихся за пределами круга его членов.
К примеру, LSB предписывает поставлять программные пакеты (packages) в формате RPM, который был разработан гораздо позже формата deb, однако разработчики Debian не собираются менять свой формат, так как считают его лучше RPM.
Стандарт не навязывает операционным системам, какой формат им использовать для собственных пакетов. Он лишь говорит, какой формат совместимые системы должны поддерживать для установки приложений сторонних разработчиков.
Так как в Debian присутствует опциональная поддержка LSB (версии 1.1 в woody, 2.0 в sarge, а позднее 3.1 в etch и 3.2 в lenny), проблема исчезает при более близком рассмотрении (то есть пользователь всего лишь должен использовать утилиту alien для преобразования и установки сторонних пакетов). Таким образом, на практике Debian совместим с LSB.
Известный в сообществе открытого программного обеспечения программист Ульрих Дреппер критиковал LSB за плохое качество тестирования, которое может привести к несовместимости между сертифицированными дистрибутивами. ??? (Ага, щаз, а у самого glibc собирается только с bash и никак иначе).
Он также указывал на недостаток тестов для приложений, отмечая, что тестирование только дистрибутивов никогда не решит проблем приложений, полагающихся на особенности конкретных реализаций.
Первая версия LSB была выпущена в июне 2001. Текущая версия, 4.0 выпущена в 2008 году.
LSB зарегистрирован в качестве официального стандарта ISO. (ISO/IEC 23360).
\section {FHS}
FHS — сокращение от Filesystem Hierarchy Standard, что в переводе c английского означает «Стандарт иерархии файловой системы». Этот стандарт принят для унификации местонахождения файлов и директорий с общим назначением в файловой системе ОС UNIX. На данный момент большинство UNIX-подобных систем в той или иной степени следует этим правилам. Например, обычная база данных о пользователях всегда хранится в файле /etc/passwd.
Текущая версия стандарта — 2.3, анонсирована 29 января 2004 г.
Для получения справки об используемой в ОС системе каталогов иногда существует команда hier (man hier).
Содержание
* 1 Основные сведения
* 2 Структура директорий
* 3 Заметки
* 4 См. также
* 5 Ссылки
Основные сведения
Процесс разработки стандарта иерархии файловой системы начался в августе 1993 года с попыток упорядочить структуру директорий и файлов в операционной системе GNU/Linux. 14 февраля 1994 года был выпущен FSSTND (Filesystem Standard), стандарт файловой системы, специфичной для GNU/Linux. Последующие версии были выпущены 9 октября 1994 года и 28 марта 1995 года.
В начале 1996 года сообщество разработчиков BSD присоединилось к разработке новой версии FSSTND с целью разработать стандарт, пригодный для всех Unix-подобных операционных систем. Имя стандарта при этом было изменено на Filesystem Hierarchy Standard (FHS).
FHS поддерживается Free Standards Group — некоммерческой организацией, в составе которой находятся крупные разработчики программного и аппаратного обеспечения, такие как HP, Red Hat, IBM и Dell. Однако основная часть разработчиков дистрибутивов, включая и тех, кто входит в состав Free Standards Group, не следуют стандарту на 100 \%. В частности, пути, специально созданные группой, такие как /srv/, практически нигде не используются. Некоторые Linux-системы отвергают FHS и следуют своему собственному стандарту, как, например, GoboLinux.
Так как FHS начиналась как инициатива Linux-сообщества, другие UNIX и UNIX-подобные операционные системы полностью игнорируют её в пользу своих собственных систем, которые иногда распространены довольно широко. Например, Mac OS X использует такие имена, как /Library/, /Applications/ и /Users/ вместе с традиционными именами UNIX-иерархии.
\subsection{Структура директорий}
В FHS все файлы и директории находятся внутри корневой директории, даже если они расположены на различных физических носителях. Однако некоторые из директорий могут присутствовать только в случае, если установлено определённое программное обеспечение, такое как, например, X Window System. Большая часть этих директорий существует во всех UNIX-подобных операционных системах и используется похожим образом.
\dirtree{%
.1 /.
.2 bin.
.2 boot.
.2 dev.
.2 etc.
.3 opt.
.3 X11.
.3 sgml.
.3 xml.
.2 home.
.2 lib.
.2 media.
.2 mnt.
.2 opt.
.2 proc.
.2 root.
.2 sbin.
.2 srv.
.2 tmp.
.2 usr.
.3 bin.
.3 include.
.3 lib.
.3 sbin.
.3 share.
.3 src.
.3 X11R6.
.3 local.
.4 bin.
.4 include.
.4 lib.
.4 sbin.
.4 share.
.2 var.
.3 lib.
.3 lock.
.3 log.
.3 mail.
.3 run.
.3 spool.
.4 mail.
.3 www.
.3 tmp.
}
\tabulinesep=3pt
\begin{longtabu} to 0.9\textwidth{| l |X[L] |}
\caption{Иерархия каталогов в FHS}\label{tabular:fhs} \\
\firsthline\hline
% Заголовки
Директория & Описание \\ \hline
% Конец первого заголовка
\endfirsthead
%
\multicolumn{2}{c}
{{\bfseries Продолжено с предыдущей страницы}} \\
\hline
%
Директория & Описание \\ \hline\hline
\endhead
%
\hline \multicolumn{2}{|r|}{{Продолжение на следующей странице}} \\ \hline
\endfoot
%
\hline
\multicolumn{2}{|r|}{{Конец таблицы}} \\ \hline
\endlastfoot
% Конец всех заголовков
/ & Корневая директория, содержащая всю файловую иерархию. \\
/bin/ & Основные утилиты, необходимые как в однопользовательском режиме, так и при обычной работе всем пользователям (например: cat, ls, cp). \\
/boot/ & Загрузочные файлы (в том числе файлы загрузчика, ядро, initrd, System.map). Часто выносится на отдельный раздел. \\
/dev/ & Основные файлы устройств (например, /dev/null, /dev/zero). \\
/etc/ & Общесистемные конфигурационные файлы (имя происходит от et cetera). \\
/etc/opt/ & Файлы конфигурации для /opt/. \\
/etc/X11/ & Файлы конфигурации X Window System версии 11. \\
/etc/sgml/ & Конфигурационные файлы SGML. \\
/etc/xml/ & Конфигурационные файлы XML. \\
/home/ & Содержит домашние директории пользователей, которые в свою очередь содержат персональные настройки и данные пользователя. Часто размещается на отдельном разделе. \\
/lib/ & Основные библиотеки, необходимые для работы программ из /bin/ и /sbin/. \\
/media/ & Точки монтирования для сменных носителей, таких как CD-ROM, DVD-ROM (впервые описано в FHS-2.3). \\
/mnt/ & Содержит временно монтируемые файловые системы. \\
/opt/ & Дополнительное программное обеспечение. \\
/proc/ & Виртуальная файловая система, представляющая состояние ядра операционной системы и запущенных процессов в виде файлов. \\
/root/ & Домашняя директория пользователя root. \\
/sbin/ & Основные системные программы для администрирования и настройки системы, например, init, iptables, ifconfig. \\
/srv/ & Данные, специфичные для окружения системы. \\
/tmp/ & Временные файлы (см. также /var/tmp). \\
/usr/ & Вторичная иерархия для данных пользователя; содержит большинство пользовательских приложений и утилит, используемых в многопользовательском режиме. Может быть смонтирована по сети только для чтения и быть общей для нескольких машин. \\
/usr/bin/ & Дополнительные программы для всех пользователей, не являющиеся необходимыми в однопользовательском режиме. \\
/usr/include/ & Стандартные заголовочные файлы. \\
/usr/lib/ & Библиотеки для программ, находящихся в /usr/bin/ и /usr/sbin/. \\
/usr/sbin/ & Дополнительные системные программы (такие как демоны различных сетевых сервисов). \\
/usr/share/ & Архитектурно-независимые общие данные. \\
/usr/src/ & Исходные коды (например, здесь располагаются исходные коды ядра). \\
/usr/X11R6/ & X Window System, версии 11, релиз 6. \\
/usr/local/ & Третичная иерархия для данных, специфичных для данного хоста. Обычно содержит такие поддиректории, как bin/, lib/, share/. \footnote{Где эта чёртова иерархия?} \\
/var/ & Изменяемые файлы, такие как файлы регистрации (log-файлы), временные почтовые файлы, файлы спулеров. \\
/var/lib/ & Информация о состоянии. Постоянные данные, изменяемые программами в процессе работы (например, базы данных, метаданные пакетного менеджера и др.). \\
/var/lock/ & Лок-файлы, указывающие на занятость некоторого ресурса. \\
/var/log/ & Различные файлы регистрации (log-файлы). \\
/var/mail/ & Почтовые ящики пользователей. \\
/var/run/ & Информация о запущенных программах (в основном, о демонах). \\
/var/spool/ & Задачи, ожидающие обработки (например, очереди печати, непрочитанные или неотправленные письма). \\
/var/spool/mail/ & Местоположение пользовательских почтовых ящиков (устаревшее). \\
/var/www/ & Файлы веб-сайтов (например, иерархия файлов виртуальных хостов). \\
/var/tmp/ & Временные файлы, которые должны быть сохранены между перезагрузками \\
\lasthline
\end{longtabu}