РАЗБИЕНИЕ ДИСКОВ НА РАЗДЕЛЫ
Части, или области диска, известны как разделы. Раздел может содержать файловую систему, которая сгенерирована командой mkfs(1), или же может содержать неструктурированные данные, доступ к которым выполняется с помощью команды 'cpio -o'.
В системе XENIX управление разделами осуществляется программой fdisk, которая концептуально подобна своей тезке в системе MS-DOS. В других системах UNIX используются другие имена. Например, в системе AT&T 7300 UNIX PC используется программа iv, что значит "format" (хотите верьте, хотите нет). Как упоминалось ранее, обычно разделы содержат одну файловую систему. В настоящее время в системах XENIX и SCO XENIX у вас есть возможность "разделить раздел" на более мелкие части для получения большего количества файловых систем. Это сделано по той причине, что машины с системами DOS и XENIX ограничены четырьмя дисковыми разделами, а у вас может возникнуть желание иметь больше файловых систем, чем число доступных разделов. В системе AT&T 7300 UNIX PC управление разделами диска осуществляется по списку начальных номеров дорожек. Вы можете создать столько разделов, сколько хотите. Каждый компьютер имеет свои преимущества и недостатки.
В каталоге /dev находятся имена как блочных устройств, так и символьных. По этим именам вызываются различные драйверы устройств. Ниже приводится пример списка интерфейсов жестких дисков.
| | brw------- 1 sysinfo sysinfo 1, 0 Feb 18 17:07 /dev/hd00 | brw------- 1 sysinfo sysinfo 1, 15 Feb 18 16:59 /dev/hd01 | brw------- 1 sysinfo sysinfo 1, 23 Feb 18 16:59 /dev/hd02 | brw------- 1 sysinfo sysinfo 1, 31 Feb 18 16:59 /dev/hd03 | brw------- 1 sysinfo sysinfo 1, 39 Feb 18 16:59 /dev/hd04 | brw------- 1 sysinfo sysinfo 1, 47 Feb 18 17:07 /dev/hd0a | brw------- 1 sysinfo sysinfo 1, 55 Feb 18 17:09 /dev/hd0d | crw------- 1 sysinfo sysinfo 1, 0 Feb 18 16:59 /dev/rhd00 | crw------- 1 sysinfo sysinfo 1, 15 Feb 18 16:59 /dev/rhd01 | crw------- 1 sysinfo sysinfo 1, 23 Feb 18 16:59 /dev/rhd02 | crw------- 1 sysinfo sysinfo 1, 31 Feb 18 16:59 /dev/rhd03 | crw------- 1 sysinfo sysinfo 1, 39 Feb 18 16:59 /dev/rhd04 | crw------- 1 sysinfo sysinfo 1, 47 Feb 18 16:59 /dev/rhd0a | crw------- 1 sysinfo sysinfo 1, 55 Feb 18 17:09 /dev/rhd0d |
Имена файлов с префиксом hd указывают блочные устройства, а с префиксом rhd - "неструктурированные" символьные устройства. Не все символьные устройства являются неструктурированными блочными устройствами. Терминалы являются символьными устройствами, как мы уже видели ранее в данной главе. В табл. 7-2 показаны различные характеристики этих двух типов устройств.
Таблица 7-2
Сравнение блочных и символьных устройств
Блочное устройство | Символьное устройство |
/dev/hd0, /dev/fd0 |
/dev/rhd0, /dev/rfd0 |
буфер управляется ядром системы, медленное устройство | буферизация отсутствует, быстрое устройство |
произвольное размещение блоков данных | последовательное размещение блоков данных |
доступ через файловую систему | доступ непосредственно на диск |
cpio -p |
cpio -o, -i |
mkfs, mount, df, du, fsck, fsdb |
tar |
Давайте рассмотрим устройство /dev/hd01 из приведенного выше списка. Если вы хотите адресоваться к физическому разделу на диске как к блочному устройству, вы можете создать на нем файловую систему. Для этого вам нужно выполнить следующую команду, которая создаст файловую систему размером 5000 Кб (5 Мб) на жестком диске:
# mkfs /dev/hd01 5000
Внутри раздела (размером не менее 5000 Кб) размещается файловая система. Файловая система содержит суперблок, списки свободных блоков и т.п., то есть все, что необходимо для хранения файлов, которые размещаются здесь. Однако, создание файловой системы совсем НЕ означает, что вы сразу же можете получить к ней доступ. Сначала вам необходимо смонтировать файловую систему. Команда для выполнения этой операции может иметь такой вид:
# mount /dev/hd01 /mount_pt
Файлы могут быть помещены в дисковый раздел командами mv или cp, путем переадресации вывода в каталог с этим именем, например, >/mount_pt/file.
Для использования раздела диска в качестве области неструктурированных данных, а не блочного устройства, применяйте файл с именем символьного устройства, которое начинается с буквы r. Например, для использования того же устройства, что и в предыдущем примере, в качестве неструктурированного устройства, укажите имя /dev/rhd01. (Из списка устройств вы видите, что это символьное устройство, так как права доступа в первой колонке начинаются с символов crw, а не brw). Это устройство (и соответствующий раздел) в данный момент не имеет файловой системы и является просто набором байтов. Единственным ограничением является то, что вы можете записать в этот раздел не более 5 Мб данных.
Вот пример команды, использующей неструктурированное устройство:
$ find . -print | cpio -ocBv > /dev/rhd01