The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Си-библиотеке  nolibc, входящей в состав ядра Linux, реализована поддержка сигналов, opennews (??), 23-Янв-23, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


22. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от YetAnotherOnanym (ok), 23-Янв-23, 12:34 
А какой там у ядра PID, согласно народной традиции?
Ответить | Правка | Наверх | Cообщить модератору

38. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 23-Янв-23, 14:19 
> А какой там у ядра PID, согласно народной традиции?

не все драйверы в ядре?

https://en.wikipedia.org/wiki/Libusb

Ответить | Правка | Наверх | Cообщить модератору

111. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 00:04 
> А какой там у ядра PID, согласно народной традиции?

Изначально в линуксе все начинается с ядерного треда, его PID = 0 вроде бы номинально. Потом он кроме всего прочего создаст еще один, который уже PID = 1, он попытается стать вашим init'ом.

Но это не конец истории. Во первых есть такая штука как kthreadd. Обычно он садится на PID=2, хотя является ли это каким-то жестким requirement - черт знает, сорц смотреть надо. Как можно догадаться из названия, это - как инит, но для тредов кернела. Треды ядра считаются запущенными им, он их "parent pid" для всего что важно.

Ах да, из всего этого следует что ядро так то threaded и может запускать треды. Какой там у них PID будет? Да любой валидный. Это мало чем хуже обычного процесса. Ну разве что исполняемого файла нет (линк на образ исполняемого в proc не работает) и убить стандартным способом нельзя.

Если этого показалось мало, есть еще такая штука как kworker. На самом деле довольно забавная штука, используется для дефера тяжелых операций в фоновые воркеры. Те кому в ядре надо тяжелые операции пульнуть могут зарегистрировать это в воркере и отвалить по быстрому. А вот это добро потом в фоне отпедалит запрошенное. Так то довольно продвинуто, для ядра то, такому то сервису и апликушник высокоуровневый позавидует иной раз.

Ну вон ps -AF какой рисует ядерные тредики не как processname а как [processname], квадратные скобки хинтят что это принадлежит ядру. Так что если вы хотели все его PID познать - да вот, изучайте. Ну там ps -AFH вам в руки (это еще и иерархически, показывает что треды ядра под kthreadd живут например).

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

146. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от YetAnotherOnanym (ok), 24-Янв-23, 13:21 
> Изначально в линуксе все начинается с ядерного треда, его PID = 0
> вроде бы номинально.

Вот-вот, я именно его имел в виду. Дождаться завершения PID=0, чтобы определить готовность USB-устройства - эта идея мне нравится.

Ответить | Правка | Наверх | Cообщить модератору

163. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 27-Янв-23, 23:18 
Он по моему уже не существует на момент старта инита, так что "condition always true, optimize out". А коли так - считайте что usb девайс всегда доступен, с дельфистов пример берите!
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру