Скачиваний:
56
Добавлен:
08.01.2014
Размер:
2.6 Mб
Скачать

Соглашения

В книге приняты следующие выделения:

  • моноширинным шрифтом набраны листинги, параметры командной строки, пути к файлам и значения переменных;

  • также моноширинным шрифтом набран вывод на терминал, при этом курсивом выделены символы, вводимые пользователем;

  • полужирным шрифтом отмечены названия элементов интерфейса, а также клавиши и их комбинации;

  • курсивом выделены слова и утверждения, на которые следует обратить особое внимание, а также точки входа указателя.

Глава 1. Основные понятия и терминология

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

1.1. Файл

В системе UNIX информация находится в файлах. Типичные команды UNIX, работающие с файлами, включают в себя следующие:

$ vi my_test.pas

которая вызовет редактор vi для создания и редактирования файла my_test.pas;

$ cat my_test.pas

которая выведет на терминал содержимое файла my_test.pas;

$ fpc my_test.pas

которая вызовет компилятор языка Паскаль для создания программы my_test из исходного файла my_test.pas, если файл my_test.pas не содержит ошибок.

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

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

Кроме этого, система UNIX не различает разные типы файлов. Файл может заключать в себе текст (например, файл, содержащий список покупок, или абзац, который вы сейчас читаете) или содержать «двоичные» данные (такие как откомпилированный код программы). В любом случае для оперирования файлом могут использоваться одни и те же примитивы или утилиты. Вследствие этого, в UNIX отсутствуют формальные схемы присваивания имен файлам, которые существуют в других операционных системах (тем не менее некоторые программы, например cc, следуют определенным простым условиям именования файлов). Имена файлов в системе UNIX совершенно произвольны и в системе SVR4 (System V Release 4) могут включать до 255 символов. Тем не менее, для того чтобы быть переносимыми в соответствии со спецификацией XSI, длина имен не должна превышать 14 символов – предела, заложенного в ранних версиях UNIX.

Соседние файлы в папке Полищук, Семериков. Системное программирование в UNIX средствами Free Pascal