Linux Kernel (Ядро линукса) (часть 2)


Системные вызовы для сигналов реального времени

Поскольку системные вызовы, рассмотренные в предыдущих разделах, имеют отношение только к стандартным сигналам, возникает необходимость в дополнительных системных вызовах, которые позволили бы процессам режима пользователя обрабатывать сигналы реального времени.
Некоторые системные вызовы для сигналов реального времени
(rt_sigaction , rt_sigpending , rt_sigprocmask И rt_sigsuspend ) аналогичны вызовам, описанным ранее, и мы не будем их обсуждать. По этой же причине мы не станем обсуждать два других системных вызова, работающих с очередями сигналов реального времени:
- rt sigqueueinfoO — посылает сигнал реального времени, так что он добавляется в очередь совместно используемых висящих сигналов процесса- получателя. Обычно этот вызов делается с помощью стандартной библиотечной функции sigqueue ;
- rt sigtimedwait о — выводит из очереди заблокированный висящий сигнал без его доставки и возвращает вызвавшей функции номер этого сигнала. Если висящие заблокированные сигналы отсутствуют, приостанавливает текущий процесс на фиксированный интервал времени. Обычно этот вызов делается с помощью стандартных библиотечных функций sigwaitinfo
И sigtimedwait.

Виртуальная файловая система

Одной из причин успешности системы Linux является ее способность к комфортному сосуществованию с другими системами. Вы можете без труда монтировать диски или разделы с форматом, используемым в Windows, других системах семейства Unix или даже системах, занимающих незначительные сектора рынка, таких как Amiga. Как и другие Unix-подобные системы, Linux может поддерживать несколько типов файловых систем с помощью того, что называется виртуальной файловой системой.

Идея, лежащая в основе виртуальной файловой системы, заключается в том, чтобы занести в ядро большой объем информации для представления различных типов файловых систем. Существует поле или функция для поддержки каждой операции всех реальных файловых систем, поддерживаемых в Linux. Всякий раз, когда вызывается функция чтения, записи или какая-то другая, ядро подставляет вместо нее функцию из родной” файловой системы NTFS или иной системы, которой принадлежит данный файл.

В этой главе обсуждаются задачи, структура и реализация виртуальной файловой системы Linux. Особое внимание уделено трем из пяти стандартных типов файлов в Unix, а именно обычным файлам, каталогам и символьным ссылкам. Для демонстрации работы реальной файловой системы в главе 18 описывается Second Extended Filesystem, имеющаяся почти во всех Linux-системах.

Предыдущая страница | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 | Следующая страница




Возможно, Вас также заинтересует:

ОС Knoppix - это Linux без про...

ВведениеЕсли вы цените свое время, умеете считать деньги и знаете стоимость информации, то эта книга...

Linux Kernel (Ядро линукса) (ч...

Спин-блокировкаСпин-блокировка необходима в многопроцессорной системе, потому что могут возникнуть...

Linux Kernel (Ядро линукса) (ч...

Копирование при записи В системах Unix первых поколений создание процесса было реализовано довольно...

Linux Kernel (Ядро линукса) (ч...

Буферы блоков и головы буферовУ каждого буфера есть дескриптор голова буфера, имеющий тип buffer...