Реферат: ОС Linux. Руководство системного администратора
руководство). Это означает, что файловая система предоставляет
ложную информацию о том, что в каком-то месте в файле содержатся
нулевые байты, но в действительности для этого не выделяются
сектора (это означает, что файл будет занимать несколько меньше
места на диске). Это часто используется особенно в небольших
двоичных программах, библиотек Linux, в некоторых базах данных и в
других отдельных случаях. (Дыры реализуются хранением специального
значения в косвенном блоке или индексном дескрипторе вместо адреса
блока данных. Это специальное значение показывает, что для данной
части файла блоки данных не размещены и, следовательно, что в
файле есть дыра.)
Использование дыр достаточно эффективно. На компьютере с
общим дисковым пространством в 200 Мб, простые измерения
показывают, что применение дыр дает экономию в 4 Мб. Однако, эти
измерения проводились на системе, где было установлено
относительно мало программ и отсутствовали файлы баз данных. Метод
измерения дыр рассмотрен в приложении B.
4.6.2 Типы файловых систем
Linux поддерживает несколько типов файловых систем. Наиболее
важные из них рассмотрены ниже.
minix Считается самой старой и самой надежной файловой системой,
но достаточно ограниченной в своих возможностях (у файлов
отсутствуют некоторые временные параметры, длина имени файла
ограничена 30-ю символами) и доступных объемах (максимум 64 Мб на
одну файловую систему).
xia Модифицированная версия системы minix, в которой увеличена
максимальная длина имени файла и размер файловой системы, хотя она
не pеализует никаких новых возможностей.
ext2 Наиболее богатая функциональными возможностями файловая
система из семейства совместимых с Linux. На данный момент
считается самой популярной системой. Она разработана с учетом
совместимости с последующими версиями, поэтому для установки новой
версии кода системы не требуется устанавливать ее заново.
ext Предыдущая версия системы ext2, не совместима с последующими
версиями. В настоящее время она очень редко включается в пакеты
новых поставляемых систем, т.к. большинство пользователей сейчас
пользуются системой ext2.
В дополнение к рассмотренным выше, в Linux включена поддержка
еще некоторых файловых систем для обеспечения обмена файлами между
другими операционными системами. Эти файловые системы работают
также, как и описанные выше, кроме того, что их функциональные
возможности могут быть значительно ограничены по сравнению с
возможностями, обычно предоставляемыми файловыми системами UNIX.
msdos Обеспечивается совместимость с системой MS-DOS (а также
OS/2 и Windows NT).
umsdos Расширяет возможности драйвера файловой системы MS-DOS
для Linux таким образом, что при работе в Linux, имеется
возможность работы с именами файлов нестандартной длины, просмотра
прав доступа к файлу, ссылок, имени пользователя, которому
принадлежит файл, а также оперирование с файлами устройств. Это
позволяет использовать обычную систему MS-DOS, так, как если бы
это была система Linux. Таким образом, исключается необходимость
создания отдельного раздела для Linux.
iso9660 Стандартная файловая система для CD-ROM. Довольно
популярное развитие стандарта CD-ROM, выполненное Rock Ridge'м,
которое обеспечивает автоматическую поддержку имен файлов
нестандартной длины.
nfs Сетевая файловая система, обеспечивающая разделение
одной файловой системы между несколькими компьютерами для
предоставления доступа к ее файлам со всех машин.
hpfs Файловая система OS/2.
sysv Файловые системы System V/386, Coherent и Xenix.
Также существует файловая система proc, которая обычно
доступна через каталог /proc. В действительности, она не является
файловой системой, хотя по ее структуре сложно обнаружить разницу.
Эта система позволяет получить доступ к определенным структурам
данных ядра, к таким, как список процессов (отсюда название). Все
эти структуры выглядят как файловая система и ими можно
оперировать обычными средствами работы с файловой системой.
Например, для получения списка всех процессов, используется
следующая команда:
ttyp5 root ~ $ ls -l /proc
total 0
dr-xr-xr-x 4 root root 0 Jan 31 20:37 1
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 63
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 94
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 95
dr-xr-xr-x 4 root users 0 Jan 31 20:37 98
dr-xr-xr-x 4 liw users 0 Jan 31 20:37 99
-r--r--r-- 1 root root 0 Jan 31 20:37 devices
-r--r--r-- 1 root root 0 Jan 31 20:37 dma
-r--r--r-- 1 root root 0 Jan 31 20:37 filesystems
-r--r--r-- 1 root root 0 Jan 31 20:37 interrupts
-r-------- 1 root root 8654848 Jan 31 20:37 kcore
-r--r--r-- 1 root root 0 Jan 31 11:50 kmsg
-r--r--r-- 1 root root 0 Jan 31 20:37 ksyms
-r--r--r-- 1 root root 0 Jan 31 11:51 loadavg
-r--r--r-- 1 root root 0 Jan 31 20:37 meminfo
-r--r--r-- 1 root root 0 Jan 31 20:37 modules
dr-xr-xr-x 2 root root 0 Jan 31 20:37 net
dr-xr-xr-x 4 root root 0 Jan 31 20:37 self
-r--r--r-- 1 root root 0 Jan 31 20:37 stat
-r--r--r-- 1 root root 0 Jan 31 20:37 uptime
-r--r--r-- 1 root root 0 Jan 31 20:37 version
ttyp5 root ~ $
(В действительности, должно быть еще несколько файлов, не
соответствующих процессам, однако, этот пример немного укорочен.)
Хотя система /proc и называется файловой, ни одна ее часть не
взаимодействует с диском. Она существует только в представлении
ядра и при попытке обращения к какой-либо ее части, создается
впечатление, что эта часть где-то существует, хотя в
действительности это не так. Даже если существует файл /proc/kmem
в несколько мегабайт, он не занимает места но диске.
4.6.3 Какую файловую систему устанавливать?
Обычно мало смысла в пpименении нескольких разных файловых
систем. В настоящее время наиболее популярной считается система
ext2fs и, возможно, является наилучшим выбором. В зависимости от
различных параметров (скорость, производительность, надежность,
совместимость и др.) может оказаться, что установка другой
файловой системы будет более приемлемым вариантом.
4.6.4 Установка файловой системы
Файловая система устанавливается, т.е. инициализируется, при
помощи команды mkfs(8). В действительности, существуют отдельные
программы для каждого типа файловой системы. Команда mkfs только
запускает требуемую программу в зависимости от типа
устанавливаемой системы. Тип файловой системы указывается при
помощи опции -t fstype.
Параметры, передаваемые программам, вызываемым mkfs, слегка
различаются. Наиболее важные из них рассмотрены ниже (для более
подробной информации см. руководство).
-t fstype Указывается тип файловой системы.
-c Производится поиск плохих блоков и, соответственно,
инициализация списка плохих блоков.
-l filename Считывается начальный список плохих блоков из файла
filename.
Для установки файловой системы ext2 на дискету, используется
следующая последовательность команд:
ttyp5 root ~ $ fdformat -n /dev/fd0H1440
Double-sided, 80 tracks, 18 sec/track. Total capacity 1440 kB.
Formatting ... done
ttyp5 root ~ $ badblocks /dev/fd0H1440 1440 > bad-blocks
ttyp5 root ~ $ mkfs -t ext2 -l bad-blocks /dev/fd0H1440
mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
ttyp5 root ~ $
В первую очередь дискета форматируется (параметр -n
предотвращает проверку на наличие плохих блоков). Затем
производится поиск плохих блоков при помощи команды badblocks,
вывод которой перенаправлен в файл bad-blocks. И, наконец,
файловая система устанавливается с инициализацией списка найденных
плохих блоков.
Вместо использования badblocks, команде mkfs может быть
указан параметр -c, как это видно из примера, рассмотренного ниже.
ttyp5 root ~ $ mkfs -t ext2 -c /dev/fd0H1440
mke2fs 0.5a, 5-Apr-94 for EXT2 FS 0.5, 94/03/10
360 inodes, 1440 blocks
72 blocks (5.00%) reserved for the super user
First data block=1
Block size=1024 (log=0)
Fragment size=1024 (log=0)
1 block group
8192 blocks per group, 8192 fragments per group
360 inodes per group
Checking for bad blocks (read-only test): done
Writing inode tables: done
Writing superblocks and filesystem accounting information: done
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23