Книга: Разработка приложений в среде Linux. Второе издание
Глоссарий
Глоссарий
advisory locking — рекомендательное блокирование. Блокирование, которое не применяется принудительно: все процессы, манипулирующие заблокированными файлами, должны явно проверять наличие блокировки.
anonymous mapping — анонимное отображение. Отображение памяти, которое на связано с inode в файловой системе и ограничено приватным использованием внутри процесса.
ar
. Утилита архивирования, наиболее часто используемая для создания библиотек.
basic regular expression (BRE) — базовое регулярное выражение. Тип выражения для сопоставления строк, используемый утилитой grep
.
big-endian — обратный порядок байтов. Многобайтное значение, сохраненное с наиболее значащим байтом в младших адресах памяти, за которым следуют остальные байты в порядке значимости.
blocked signals — блокированные сигналы. Сигналы, которые процесс не намерен принимать. Обычно сигналы блокируются на короткий период времени, пока процесс выполняет важную работу. Когда сигнал посылается процессу, блокирующему этот сигнал, последний остается отложенным до тех пор, пока он не будет разблокирован.
break — разрыв. Длинный поток нулевых бит в последовательном интерфейсе.
buffer overflow — переполнение буфера. Запись данных за концом области памяти, выделенной под эти данные, которая обычно приводит к сбою работы программы произвольным образом, а также к появлению уязвимостей безопасности.
buffer underrun — недогрузка буфера. Запись данных перед началом области памяти, выделенной под эти данные.
canonical hostname — каноническое имя хоста. Имя хоста, на которое отображается IP-адрес. В то время как множество имен хостов могут отображаться на единственный IP- адрес, этот адрес отображается обратно только на одно, каноническое, имя хоста.
capability — возможность. Действия, которые может совершить терминал в ответ на полученную управляющую последовательность.
catching a signal — перехват сигнала. Предоставление функции, которая запускается, когда определенный сигнал послан процессу.
Command Sequence Introduction (CSI) — ввод командной последовательности. Символ, который инициирует относительно сложную командную последовательность.
concurrent server — параллельный сервер. Сервер, который может обрабатывать множественные запросы (обычно поступающие из нескольких хостов) одновременно.
connection-oriented protocol — протокол с установкой соединения. Сетевой протокол, который обеспечивает взаимодействие между двумя конечными точками, устанавливая соединение, поддерживая по нему взаимодействие и затем закрывая соединение.
connectionless protocol — протокол без установки соединения. Сетевой протокол, который позволяет двум конечным точкам взаимодействовать без первоначального создания соединения между ними.
control character — управляющий символ. Символ в потоке данных, который предоставляет управляющую информацию обрабатывающей программе, но не изменяет режим обработки.
copy-on-write — копирование при записи. Пометка страницы как доступной только для чтения, которая во множестве процессов рассматривается как приватная и доступная для записи, и выдача записываемой ее версии, как только процесс пытается осуществить запись в нее.
dangling link — висячая ссылка. Символическая ссылка, указывающая на несуществующий файл.
deadlocks — взаимоблокировки. Ситуации, при которых, по крайней мере, два потребителя ресурса (такие как процессы) ожидают ресурса, удерживаемого другим потребителем в том же наборе, что приводит к останову продвижения всей работы.
device files — файлы устройств. Специальные файлы, представляющие физические или логические устройства в системе. Представление устройств как файлов позволяет программам получать доступ к ним с использованием обычных вызовов файловой системы.
directories — каталоги. Специальные файлы, которые содержат списки имен файлов и могут включать другие каталоги. Каталоги широко используются для организации большого числа файлов в виде иерархий.
dotted-decimal notation — десятичное представление с разделителями-точками. Стандартная форма записи IPv4-адресов в виде десятичных чисел для каждого байта адреса, разделенных точками.
effective uid — эффективный uid. Идентификатор пользователя для большинства проверок сертификатов. В среде Linux для проверок прав доступа к файлам применяется uid файловой системы, а для всех других проверок сертификатов — эффективный uid.
environment variables — переменные окружения. Пары "имя-значение", представленные в форме строк вида ИМЯ=ЗНАЧЕНИЕ
; набор таких строк определяет окружение программы.
epoch — эпоха. Точка, от которой начинается отчет времени. В Linux, как и во всех системах Unix, такой точкой является 1 января 1970 года по универсальному синхронизированному времени.
error control — контроль ошибок. Характеристика ряда сетевых протоколов, которая гарантирует безошибочную доставку данных.
escape character — символ перехода. Символ в потоке данных, переключающий режим обработки данных с нормального на управляющий, в котором ожидается прием последующих символов управляющей информации.
escape sequence — управляющая последовательность. Серия символов, которая трактуется читающей ее программой по-разному. С помощью управляющих последовательностей кодируется управляющая информация в потоке данных.
Executable and Linking Format (ELF) — формат исполняемых и компонуемых модулей. Обобщенный файловый формат для разнообразных типов бинарных файлов, включая объектные файлы, библиотеки, разделяемые библиотеки и исполняемые модули.
extended regular expression (ERE) — расширенное регулярное выражение. Тип выражения для сопоставления строк, используемый утилитой egrep
.
File descriptor — файловый дескриптор. Небольшое целое число, используемое процессом для ссылки на открытый файл.
File mode — режим файла. 16-битное значение, которое определяет тип файла и права доступа к нему.
File structure — файловая структура. Структура, которая выделяется при каждом открытии файла. Файловый дескриптор связывает процесс с файловой структурой, и на каждую файловую структуру может ссылаться множество дескрипторов в нескольких процессах.
glob — универсализация. Расширение символов *
, ?
и []
в соответствие с правилами сопоставления имен файлов.
glyph — глиф. Форма, применяемая для представления символа.
heap — куча. Динамическая область памяти, в которой библиотечный вызов malloc()
выделяет память во время выполнения программы.
init process — начальный процесс. Первый процесс в Linux-системе. Он является единственным процессом, который запускается ядром, и отвечает за запуск всех остальных процессов в системе. Для висячих процессов начальный процесс становится родительским и отвечает за то, чтобы этот процесс не превратился в "зомби".
iterative server — итеративный сервер. Сервер, обрабатывающий по одному процессу за раз.
jiffies — тики. Тики системных часов, или искусственная копия системных часов.
job control — управление заданиями. Средство, которое позволяет группировать связанные процессы для управления ими как одним терминалом.
kernel mode — режим ядра. Неограниченная привилегированная исполняющая среда, в которой выполняется ядро, защищенная от программ, выполняющихся в режиме пользователя.
ld
. Компоновщик, который комбинирует объектные файлы в исполняемый модуль.
little-endian — прямой порядок байтов. Многобайтное значение, сохраненное с наименее значащим байтом в младших адресах памяти, за которым следуют остальные байты в порядке значимости.
locked memory — заблокированная память. Область памяти, которая никогда не подвергается страничному обмену.
major fault — первостепенный сбой. Сбой, случившийся во время доступа процесса к памяти, которая в данный момент не доступна, и заставляющий ядро обратиться к диску.
mandatory locking — обязательное блокирование. Блокирование, которое выполняется принудительно; например, процессы, пытающиеся записать в область, на которой другой процесс установил блокировку записи, блокируются до тех пор, пока эта блокировка записи не будет снята.
memory leak — утечка памяти. Выделение памяти без ее освобождения, обычно включающее удаление всех ссылок на выделенную память.
minor fault — второстепенный сбой. Сбой, случившийся во время доступа процесса к памяти, которая в данный момент не доступна, но не заставляющий ядро обращаться к диску.
modal — модальный. Способ управления, когда ответ на ввод зависит от режима, в котором пребывает программа, что в общем случае означает приоритетность ввода.
network byte order — сетевой порядок байт. Порядок, байты многобайтного значения передаются по сети. Для протокола TCP/IP сетевым порядком байт является обратный (big-endian).
origin — начало отсчета. Первый символ в первой строке символьного дисплея.
orphan process — висячий процесс. Процесс, у которого уничтожен родительский процесс.
packet-based protocols — пакетные протоколы. Сетевые протоколы, передающие данные как группы байт; каждая группа доставляется как отдельный блок и никогда не сливается с другими группами и не разделяется.
pending connections — задержанные соединения. Соединения с сокетами, сделанные по адресам, которые прослушаны, но не приняты.
pending signals — задержанные сигналы. Сигналы, которые посланы процессу, но пока еще не доставлены.
pid — идентификатор процесса. Положительное целое число, уникальным образом идентифицирующее процесс.
pipes — каналы. Простой механизм межпроцессного взаимодействия, который позволяет процессам записывать данные в файловый дескриптор, который выглядит как данные для чтения через другой файловый дескриптор.
process group — группа процессов. Набор логически связанных процессов. Группы процессов перемещаются между передним планом и фоном терминала с помощью механизма управления заданиями, чаще всего командной оболочкой.
real uid — реальный uid. Идентификатор пользователя, который в действительности отвечает за выполнения процесса. Он может быть изменен только пользователем root и позволяет setgid-программам узнать, какой пользователь их запустил.
reentrant functions — реентерабельные функции. Функции, которые могут быть прерваны сигналом и вызваны заново из обработчика сигнала. В общем случае реентерабельность означает способность кодового сегмента выполняться одновременно во множестве потоков.
regular files — обычные файлы. Файлы, хранящие нормальные данные.
reliable signals — надежные сигналы. Реализации сигналов, определенные для непротиворечивой и корректной обработки сигналов.
reserved ports — зарезервированные порты. Номера портов TCP/IP от 0 до 1024, которые могут использоваться только процессами, выполняющимися как root.
resident set size — размер резидентного набора. Объем ОЗУ, в настоящий момент используемый процессом. В него не входят порции, выгруженные в результате страничного обмена.
reverse name lookup — обратный поиск имен. Процесс преобразования IP-адреса в связанное с ним каноническое имя хоста.
saved uid — сохраненный uid. Идентификатор пользователя, который делается равным эффективному uid, если они не имеют достаточных полномочий, предполагаемых этим uid.
sequencing — упорядочение. Характеристика некоторых сетевых протоколов, гарантирующая прибытие данных в порядке их отправки и без потерь.
session — сеанс. Набор групп процессов, выполняющихся на одном терминале.
shell — оболочка. Программа, главное назначение которой — запускать другие программы и осуществлять управление заданиями; в число популярных оболочек Linux входит Bourne again (bash
) и расширенная оболочка С (tcsh
).
shell script — сценарий оболочки. Программа, в которой первыми двумя символами являются #!
, специфицирующие командный интерпретатор, применяемый для выполнения программы.
sockets — сокеты. Файловая абстракция коммуникационных протоколов. Сокеты могут взаимодействовать через сеть или на отдельной машине. Unix Domain Sockets работают только на отдельной машине и имеют записи в файловой системе, используемые для доступа к ним.
streaming protocols — потоковые протоколы. Сетевые протоколы, которые передают данные как последовательности байт без каких-либо разграничений между ними.
symbolic links — символические ссылки. Файлы, которые ссылаются на другие файлы в рамках файловой системы. Это позволяет одному файлу выглядеть так, будто он существует во множестве каталогов, даже если эти каталоги относятся к разным устройствам (или даже в разных сетевых файловых системах).
system call — системный вызов. Механизм, используемый процессами режима пользователя для запроса служб режима ядра.
termcap
. Первоначальная база данных возможностей терминалов.
terminfo
. Новая, улучшенная база данных возможностей терминалов.
tty — терминал. Терминальный интерфейс, ориентированный на битовые потоки.
unreliable signals — ненадежные сигналы. Реализации сигналов, которые делают непротиворечивую обработку сигналов невозможной. Большинство реализаций ненадежных сигналов либо доставляют сигналы, не учитывая состояние выполнения процесса, либо сбрасываются обработчиками сигналов в стандартные значения при доставке сигнала.
user mode — режим пользователя. Ограниченная исполняющая среда, в которой запускаются программы.
vcs
. Устройство в памяти, предназначенное для доступа и изменения содержимого виртуальной консоли.
vcsa
. Устройство в памяти, предназначенное для доступа и изменения содержимого и атрибутов виртуальной консоли.
well-known port — официальный порт. Номер порта, который Internet центр Assigned Numbers Authority принял в качестве основного для конкретной службы. Например, HTTP, основной протокол для Web, имеет официальный номер порта 80, и большинство Web-серверов прослушивают этот порт. Официальные порты обычно, но не всегда, являются зарезервированными.
zombie — "зомби". Процесс, который был завершен, но его родительский процесс не учел его состояние завершения, в результате чего такой процесс не отображается в таблице процессов системы.