Программирование для Linux. Профессиональный подход [заметки]

Шрифт
Интервал

1

GNU — это рекурсивный акроним, который расшифровывается как GNU's Not UNIX (GNU — это не UNIX).

2

Пользователи, не работающие в X Window, должны нажать , чтобы получить доступ к меню.

3

Введите команду >M-x dunnet, если хотите поиграть в старомодную приключенческую игру.

4

Дополнительную информацию о GCC можно получить по адресу >http://gcc.gnu.org.

5

В Windows исполняемые файлы обычно имеют расширение >.exe, а в Linux - вообще не имеют его. Поэтому в Windows эквивалент данной программы будет, скорее всего, называться >reciprocal.exe.

6

В C++ аналогичное различие существует между потоками >cout и >cerr. Манипулятор >endl добавляет в конец потока символ новой строки и вызывает "выталкивание" буфера. Если состояние буфера временно менять не нужно (из соображений производительности, например), воспользуйтесь вместо манипулятора константой >'\n'.

7

В целях обеспечения безопасной работы потоков переменная >errno реализована в виде макроса, но к ней можно обращаться как к глобальной переменной.

8

Имеются и другие флаги, предназначенные для удаления файлов из архива и выполнения других операций над ним. Все они описаны на >man-странице, посвященной команде >ar.

9

Иногда в документации упоминается переменная >LD_RUN_PATH. Не верьте прочитанному! Данная переменная никак не используется в Linux.

10

Команда >kill позволяет посылать процессам и другие сигналы. Об этом рассказывается в разделе 3.4, "Завершение процесса".

11

Способ синхронизации двух процессов представлен в разделе. 3 4.1, "Ожидание завершения процесса".

12

В чём между ними разница! Сигнал >SIGTERM является запросам на завершение; процесс может его проигнорировать и продолжить свое выполнение.. Сигнал >SIGKILL вызывает немедленное безусловное уничтожение процесса и не может быть обработан.

13

Данный способ не является стандартным. В обязанности программиста входит убедиться, что в процессе подобных преобразований не произойдет потеря значащих разрядов.

14

Ненулевое значение определяет семафор, совместно используемый несколькими процессами, но в Linux такой вариант семафоров не поддерживается (семафоры процессов создаются по-другому, а в данном случае речь идет о потоковых семафорах).

15

Эти же константы используются при работе с файлами. Они описываются в разделе 10.3. "Права доступа к файлам".

16

Команда >sort читает строки текста ил стандартного входного потока, сортирует их в алфавитном порядке и записывает в стандартный выходной поток.

17

Именованный канал можно создать только в Windows NT. В Windows 9х программы могут устанавливать только клиентские соединения.

18

Принтер может требовать, чтобы в конце каждой строки стоял символ возврата каретки (ASCII-код 14), а в конце каждой страницы — символ подачи листа (ASCII-код 12).

19

В большинстве Linux-систем можно переключиться на первый виртуальный терминал, нажав . Чтобы перейти на второй виртуальный терминал, следует нажать и т.д.

20

Мы могли бы использовать программу >hexdump вместо команды >od, так как они делают, по сути, одно и то же. Но когда входной поток исчерпывается, программа >hexdump завершается, а команда >od переходит в режим ожидания. Опция >-t x1 сообщат команде >od о том, что содержимое файла должно отображаться в шестнадцатеричном формате.

21

В случае повреждения файловой системы данные, которые были восстановлены, но не связаны с каким-либо файлом, помещаются в каталог >lost+found.

22

В некоторых UNIX-системах эти идентификаторы дополняются нулями, в Linux — нет.

23

В главе 9, "Встроенный ассемблерный код", рассказывается о том, как задействовать ассемблерные инструкции в Linux-программах.

24

В DOS и Windows нумерация последовательных портов начинается с единицы, поэтому порту COM1 соответствует последовательный порт с номером 0 в Linux.

25

Если ядро Linux сконфигурировано правильно, оно поддерживает дополнительные IDE-контроллеры, нумеруемые последовательно начиная от >ide2.

26

Команда >hostname, вызванная без флагов, отображает имя компьютера.

27

В Linux семейство функции >exec() реализовано на основе системного вызова >execve().

28

NFS (Network File System) — популярная технология совместного использования файлов в сети.

29

Режим копирования при записи означает, что Linux создает для процесса частную копию страницы только тогда, когда процесс записывает в нее какие-то данные.

30

Выражение >sin(angle) обычно преобразуется в вызов функции библиотеки >libm, но если задать флаг >-O1 (или включить более сильную оптимизацию), компилятор gcc заменит вызов функции простой ассемблерной инструкцией >fsin.

31

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

32

Ядро может отклонить запрос на доступ к файлу, если один из каталогов на пути к нему недоступен данному пользователю. Например, если процессу не разрешено обращаться к каталогу >/tmp/private, то он не сможет получить доступ к файлу >/tmp/private/data.

33

Название бита является анахронизмом. Оно возникло в те далекие времена, когда наличие этого бита означало запрет на выгрузку программы из памяти по окончании выполнения.

34

Существует также бит смены идентификатора группы (SGID, set group identifier). Программа c установленным битом SGID при запуске примет эффективный идентификатор группы, которой принадлежит файл.

35

Монтирование данного каталога по сети — ошибка системного администратора.

36

Наиболее популярный Web-сервер с открытым кодом — сервер Apache (доступен на Web-узле >www.apache.org).

37

В системе могут присутствовать такие интерфейсы, как >eth0 (Ethernet-плата), >lo (интерфейс обратной связи), >ppp0 (коммутируемое соединение).

38

При необходимости функция >gethostbyname() осуществляет поиск имен в DNS.

39

Эта утилита входит в состав Linux.

40

В постфиксной записи бинарный оператор ставится после операндов, а не между ними. Например, чтобы умножить 6 на 8, нужно записать 6 8 *. Чтобы умножить 6 на 8, а затем добавить 5, следует записать 6 8 * 5 +.

41

В стандартной библиотеке языка C++ аналогичным целям служат потоки ввода-вывода.

42

Исходный текст данной лицензии можно найти по адресу >http://www.gnu.org/copyleft/gpl.html.


Рекомендуем почитать
Графика DirectX в Delphi

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


Вторая жизнь старых компьютеров

Сейчас во многих школах, институтах и других учебных заведениях можно встретить компьютеры старого парка, уже отслужившие свое как морально, так и физически. На таких компьютерах можно изучать разве что Dos, что далеко от реалий сегодняшнего дня. К тому же у большинства, как правило, жесткий диск уже в нерабочем состоянии. Но и выбросить жалко, а новых никто не дает. Различные спонсоры, меценаты, бывает, подарят компьютер (один) и радуются, как дети. Спасибо, конечно, большое, но проблемы, как вы понимаете, этот компьютер в общем не решает, даже наоборот, усугубляет, работать на старых уже как-то не хочется, теперь просто есть с чем сравнивать.


DirectX 8. Начинаем работу с DirectX Graphics

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


Симуляция частичной специализации

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


Обработка событий в С++

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


Питон — модули, пакеты, классы, экземпляры

Python - объектно-ориентированный язык сверхвысокого уровня. Python, в отличии от Java, не требует исключительно объектной ориентированности, но классы в Python так просто изучить и так удобно использовать, что даже новые и неискушенные пользователи быстро переходят на ОО-подход.