Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Акуленок_часть1.doc
Скачиваний:
35
Добавлен:
13.11.2019
Размер:
1.43 Mб
Скачать

4.1. Имена файлов

Как и во всех операционных системах, в UNIX используются имена: слова (или последовательности символов), которые позволяют идентифицировать файл. В ранних версиях UNIX максимальная длина имени файла или каталога была ограничена 14 символами. В современных системах это ограничение устранено, максимальная длина имени файла или каталога может теперь составлять 256 символов.

Имя файла может содержать любые символы (даже непечатаемые), за исключением косой черты (/).

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

Запрещенные символы в именах файлов:

~`”!%:;&*()?<>[]|{}\(пробел)(табуляция) (новая строка)

При выборе имен для файлов рекомендуется использовать следующие разрешенные символы:

A–Z a–z 0–9 . , – _ = +

Строчные и прописные буквы. В ОС UNIX регистр всегда имеет значение: система всегда проводит различие между строчными (нижнего регистра) и прописными (верхнего регистра) буквами. Следовательно, файлы myfile и Myfile являются разными.

Символ подчеркивания (_). Символ подчеркивания удобен для разделения слов, входящих в имя. Например, прочитать мое_длинное_имя_файла легче, чем моедлинноеимяфайла.

Точка (.). В некоторых программах (например, в компиляторе Си) посредством точки отделяют имя файла от расширения. Расширения используются такими программами для определения типа обрабатываемого файла, но не имеют значения для shell, ядра или других UNIX–программ. Имена фалов, которые начинаются с точки, shell обрабатывает особым образом, считая их скрытыми. Обычно, это специальные файлы конфигурации.

Другие знаки препинания. Единственным знаком препинания, использование которого в именах файлов всегда безопасно, является запятая. Другие знаки препинания в тех или иных ситуациях могут иметь особый смысл. Избегайте их применения, если не хотите создавать имена файлов, с которыми неудобно работать.

4.2. Структура файловой системы

Физически файловая система располагается на устройствах ввода–вывода с прямым доступом. Обычно это магнитные диски. Каждый из них имеет свой специальный файл, посредством которого производятся операции обмена данными на уровне ядра. Диски в системе UNIX относятся к так называемым блочно–ориентированным устройствам. Это означает, что операции ввода–вывода для них выполняются порциями (блоками). В системе может быть несколько физических дисков, на каждом из которых может размещаться одна и более файловых систем. Разбивка диска на несколько файловых систем облегчает администратору управление хранимыми данными. На логическом уровне ядро имеет дело с файловыми системами, а не с дисками, при этом каждая система трактуется как логическое устройство, идентифицируемое номером. Преобразование адресов логического устройства (файловой системы) в адреса физического устройства (диска) и обратно выполняется дисковым драйвером.

Файловая система состоит из последовательности логических блоков длиной 512, 1024, 2048 или другого числа байт, кратного 512, в зависимости от реализации системы. Таким образом, система рассматривает диск как набор блоков, пронумерованных от 0 до N, где N зависит от размера устройства (рис. 4.1.).

Загрузочный блок для системной загрузочной программы

Суперблок

Дескрипторы файлов

Блоки для хранения информации, блоки косвенности и список свободных блоков диска

0

1

….

N

Рис. 4.1. Формат файловой структуры

Размер логического блока внутри одной файловой системы постоянен, но может варьироваться в разных файловых системах в данной конфигурации. Использование логических блоков большого размера увеличивает скорость передачи данных между диском и памятью, поскольку ядро сможет передать больше информации за одну дисковую операцию, и сокращает количество продолжительных операций. Например, чтение 1 Кбайта с диска за одну операцию осуществляется быстрее, чем чтение 512 байт за две. Однако, если размер логического блока слишком велик, полезный объем памяти может уменьшиться.

Файловая система UNIX содержит четыре основных компонента с управляющей информацией: загрузочный блок, суперблок, таблицу индексных дескрипторов (i-node table) и блоки для хранения информации.