Книга: UNIX — универсальная среда программирования
Сноски из книги
· #1Система UNIX представляет собой продукт BELL Laboratories. Слово "UNIX" не акроним: оно перекликается со словом "MULTICS" — названием операционной системы, с которой работали К. Томпсон и Д. Ритчи ранее.
· #2В современных системах такого ограничения нет, длина файла там ограничена в большинстве случаев 255 символами (прим. редактора)
· #3Порядок, конечно, не строго алфавитный, прописные буквы предшествуют строчным. Чтобы узнать порядок, используемый в программе sort
, см. ascii(7)
.
Эта возможность плохо реализована в shell
. Просмотр файла после ввода каждой команды сказывается на времени работы системы. Кроме того, если вы достаточно долго работаете в редакторе, то не узнаете о новой почте, поскольку не задаете новых команд в начальном интерпретаторе shell
. Лучшим решением была бы проверка через каждые несколько минут, а не после очередной команды. В гл. 5 и 7 будет показано, как реализовать такую проверку получения почты. Третьим решением, хотя и не для всех доступным, может быть извещение, посылаемое самой программой mail
, — она точно "знает", когда появится почта.
В каждом байте файла находится число, достаточно большое, чтобы закодировать изображаемый символ. В большинстве систем UNIX кодировка называется ASCII ("American Standard Code for Information Interchange" — американский стандартный код для обмена информацией), но на некоторых машинах, особенно произведенных фирмой IBM, используется кодировка, называемая EBCDIC ("Extended Binary Coded Decimal Interchange Code" — расширенная двоично закодированная десятичная общая кодировка). Здесь и далее в книге мы будем применять множество символов ASCII; воспользуйтесь командой cat /usr/pub/ascii
или прочтите ascii(7)
, чтобы узнать восьмеричные значения символов.
Существует хороший тест на единообразие системы, предложенный Д. МакИлроем. UNIX легко выдерживает его. Можно ли результат компиляции с Фортрана использовать как входной поток для компилятора с Фортрана? Очень больше число систем не позволяет этого сделать.
· #7Признак установки uid введен Д. Ритчи
· #8Индексный дескриптор обозначается как inode ("index node") или i-node. — Прим. перев.
· #9Тем не менее такое различие существует в большинстве операционных систем
· #10Это старая адресация для UUNET сетей
· #11Ранняя версия файловой системы UNIX была уничтожена служебной программой, нарушившей это правило, поскольку команда, которая выглядела безобидной, расписала весь диск.
· #12Позднее будет показано, как обойти эту трудность в командных файлах, где обычно используется команда test
.
Сейчас выпущено как переиздание этой книги, так и новое, третье издание на русском языке
· #14Однажды К. Томпсона спросили, что бы он хотел изменить, если бы ему пришлось заново конструировать систему UNIX. Он ответил: "Я бы написал creat
с е."
Автор yacc
С. Джонсон назвал свою программу "еще одним компилятором компиляторов" (yet another compiler-compiler), поскольку во время ее разработки (1972 г.) уже существовало довольно большое число таких программ, yacc
— одна из немногих, получивших признание.
Сообщение yacc: "shift/reduce conflict"
обозначает серьезную проблему и чаще всего является симптомом не неоднозначности, а явной ошибки в грамматике.
Макроопределения ms находятся в файле /usr/lib/tmac/tmac.s
, а макроопределения man
в файле /usr/lib/tmac/tmac.an
Программа eqn
вряд ли смогла бы появиться, если бы уже не существовала yacc
.
- Предисловия
- Глава 1 UNIX для начинающих
- Глава 2 Файловая система
- Глава 3 Возможности интерпретатора shell
- Глава 4 Фильтры
- Глава 5 Программирование на языке shell
- Глава 6 Программирование с помощью стандартных функций ввода-вывода
- Глава 7 Системные вызовы в UNIX
- Глава 8 Разработка программ
- Глава 9 Подготовка документации
- Глава 10 Эпилог
- Приложение 1 Краткое описание редактора
- Приложение 2 Справочное руководство по hoc
- Приложение 3 Исходные тексты калькулятора hoc
- Сноски из книги
- Содержание книги
- Популярные страницы