Брайан Керниган - UNIX — универсальная среда программирования

Тут можно читать онлайн Брайан Керниган - UNIX — универсальная среда программирования - бесплатно ознакомительный отрывок. Жанр: comp-osnet, издательство Финансы и статистика, год 1992. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    UNIX — универсальная среда программирования
  • Автор:
  • Жанр:
  • Издательство:
    Финансы и статистика
  • Год:
    1992
  • Город:
    Москва
  • ISBN:
    5-289-00253-4
  • Рейтинг:
    5/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Брайан Керниган - UNIX — универсальная среда программирования краткое содержание

UNIX — универсальная среда программирования - описание и краткое содержание, автор Брайан Керниган, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Для программистов-пользователей операционной системы UNIX.

UNIX — универсальная среда программирования - читать онлайн бесплатно ознакомительный отрывок

UNIX — универсальная среда программирования - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Брайан Керниган
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Каталог /lib(library — библиотека) включает основные части компилятора языка Си, такие, как /lib/cpp— препроцессор Си, /lib/libc.a— библиотека стандартных функций Си.

Каталог /tmp(temporaries — временное) представляет собой хранилище для временных файлов, создаваемых при выполнении программы.

Например, когда вы вызываете редактор, он создает файл с именем типа /tmp/e00512, что позволяет иметь свою копию редактируемого файла, а не работать с оригиналом. Редактор мог бы, конечно, создать копию в вашем текущем каталоге, но есть причина для преимущественного использования /tmp: хотя это и маловероятно, в вашем каталоге уже мог присутствовать файл e00512. Далее каталог /tmpавтоматически очищается при запуске системы, так что в случае системной аварии в вашем каталоге не появится ненужный файл. Часто каталог /tmpорганизуется на диске для обеспечения быстрого доступа к нему. Однако здесь возникает проблема: если сразу несколько программ создают файлы в каталоге /tmp, их файлы могут перепутаться. Именно поэтому редактор edвыбирает особое имя; оно построено таким образом, чтобы никакая другая программа не могла выбрать то же имя для временного файла. В гл. 5 и 6 будет показан способ достижения этого.

Каталог /usrназывается файловой системой пользователей, хотя он может быть мало связан с файлами настоящих пользователей системы. На своей машине мы используем исходные каталоги /usr/bwkи /usr/rob, но у вас часть иерархии, начинающаяся с /usr, может быть другой. Независимо от того, находятся ли ваши файлы в каталоге, вложенном в /usr, вы всегда найдете в нем что-нибудь интересное (если нет местной специфики). Так же, как и в каталоге /, здесь есть каталоги с именами /usr/bin, /usr/libи /usr/tmp. Эти каталоги имеют назначение, сходное со своими тезками в каталоге /, но содержат программы, менее критичные для системы. Например, программа nroffобычно находится в /usr/bin, а не в /bin, библиотеки компилятора с Фортрана располагаются в /usr/lib. Правда, "критичными" для разных систем считаются разные программы. Некоторые системы, такие, как широко распространенная седьмая версия, все программы хранят в /bin, не имея дела с /usr/bin. В других системах каталог /usr/binразбивается на два каталога в зависимости от частоты использования.

Кроме того, в /usrесть каталог /usr/admсо справочной информацией и /usr/dict, содержащий небольшой словарь (см. spell(1)). Диалоговое справочное руководство хранится в /usr/man(см. в качестве примера /usr/man/man1/spell.1). Если в вашей системе имеются исходные тексты, вы, вероятно, найдете их в /usr/src.

Вероятно, целесообразно потратить немного времени на исследование файловой системы, особенно каталога /usr, чтобы вам было понятно, как она устроена и где что можно найти.

2.7 Файлы устройств

В нашем кратком обзоре мы пропустили каталог /devпо той причине, что файлы в нем дают хорошее общее представление о файлах вообще. Как можно догадаться по его названию, этот каталог содержит файлы устройств ("device" — устройство).

К привлекательным чертам системы UNIX относится форма ее работы с периферийными устройствами: дисками, магнитными лентами, принтерами, терминалами и т.п. Вместо того чтобы иметь специальные системные программы, например программу чтения с магнитной ленты, достаточно создать файл с именем /dev/mt0(опять-таки местные соглашения могут различаться). В ядре обращения к этому файлу преобразуются в машинные команды обращения к магнитной ленте, как если бы программа читала /dev/mt0, выдавая содержимое магнитной ленты, подключенной к устройству. Например, команда

$ cp /dev/mt0 junk

копирует содержимое магнитной ленты в файл junk. Команда cpне имеет понятия о специфике файла /dev/mt0; для нее он является обычным файлом, т.е. просто последовательностью байтов.

Файлы устройств в чем-то подобны зверинцу, где каждая особь чем-нибудь отличается от остальных, но основные характеристики применимы ко всем. Ниже приведен сокращенный список нашего каталога /dev:

$ ls -l /dev

crw--w--w- 1 root 0, 0 Sep 27 23:09 console

crw-r--r-- 1 root 3, 1 Sep 27 14:37 fcmem

crw-r--r-- 1 root 3, 0 May 6 1981 mem

brw-rw-rw- 1 root 1, 64 Aug 24 17:41 mt0

crw-rw-rw- 1 root 3, 2 Sep 28 02:03 null

crw-rw-rw- 1 root 4, 64 Sep 9 15:42 rmt0

brw-r----- 1 root 2, 0 Sep 8 08:07 rp00

brw-r----- 1 root 2, 1 Sep 27 23:09 rp01

crw-r----- 1 root 13, 0 Apr 12 1983 rrp00

crw-r----- 1 root 13, 1 Jul 28 15:18 rrp01

crw-rw-rw- 1 root 2, 0 Jul 5 08:04 tty

crw--w--w- 1 root 1, 0 Sep 28 02:38 tty0

crw--w--w- 1 root 1, 1 Sep 27 23:09 tty1

crw--w--w- 1 root 1, 2 Sep 27 17:33 tty2

crw--w--w- 1 root 1, 3 Sep 27 18:48 tty3

$

Первое, что здесь бросается в глаза, это то, что вместо количества байтов указывается пара небольших целых чисел, а в первой позиции прав доступа используется 'b'или 'c'. В таком виде команда lsвыдает информацию из индексного дескриптора для файла устройств, но не для обычного файла. Обычному файлу предназначен хранимый в индексном дескрипторе список блоков памяти диска, в которых находится содержимое файла. В случае же файла устройств индексный дескриптор содержит внутреннее имя устройства, включающее его тип ( символьное сили блочное b) и пару чисел, называемых верхним и нижним числами устройства. К блочным устройствам относятся диски и магнитные ленты, а все остальное: терминалы, принтеры, линии сетевой связи и т.п. — к символьным. Верхнее число устройства обозначает его тип, а нижнее характеризует различные экземпляры устройств одного типа. Например, /dev/tty0и /dev/tty1— это два порта одного контроллера терминала, поэтому они имеют одно и то же верхнее число и различные нижние числа.

Файлы для дисков обычно именуются в соответствии с тем вариантом оборудования, которое представлено в системе. Файлы /dev/rp00и /dev/rp01названы так потому, что в системе используются дисковые накопители DEC RP06. Есть только один дисковый накопитель, логически поделенный на две файловые системы. Если бы существовал еще один накопитель, связанные с ним файлы имели бы имена /dev/rp10и /dev/rp11. Первая цифра обозначает номер накопителя, а вторая показывает, какая его часть используется.

У вас может возникнуть вопрос: почему существует несколько дисковых файлов устройств, а не одно? Исторически так сложилось (и для удобства поддержания), что файловая система была разделена на подсистемы. Файлы в подсистеме доступны через каталог главной системы. Программа /etc/mountпоказывает соответствие между файлами устройств и каталогами:

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Брайан Керниган читать все книги автора по порядку

Брайан Керниган - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




UNIX — универсальная среда программирования отзывы


Отзывы читателей о книге UNIX — универсальная среда программирования, автор: Брайан Керниган. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x