The OpenNET Project / Index page

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



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

"В Си-библиотеке  nolibc, входящей в состав ядра Linux, реализована поддержка сигналов"  +/
Сообщение от opennews (??), 23-Янв-23, 10:27 
Для включения в состав ядра Linux предложены изменения, расширяющие возможности  стандартной Си-библиотеки nolibc, входящей в состав исходных текстов ядра Linux (tools/include/nolibc). В случае принятия изменений библиотека будет расширена средствами для обработки сигналов, включающими функции sigaction() и signal()...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=58532

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

Оглавление

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


1. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –8 +/
Сообщение от Аноним (1), 23-Янв-23, 10:27 
Теперь выражение "линукс это просто ядро" можно забыть. А говорящим - давать ссылку на эту новость. Линукс это не только ядро, но ещё и стандартная си библиотека!
Ответить | Правка | Наверх | Cообщить модератору

2. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +10 +/
Сообщение от Аноним (2), 23-Янв-23, 10:39 
Бред написал? Тебе никто не запрещает взять ядро, как есть, а все остальные библиотеки написать на языке Модула-2.
Ответить | Правка | Наверх | Cообщить модератору

7. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (7), 23-Янв-23, 11:26 
> а все остальные библиотеки написать на языке Модула-2

А на bash можно?

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

8. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +9 +/
Сообщение от Аноним (2), 23-Янв-23, 11:39 
Если ты перепишешь баш на модулу-2 то у тебя есть моё лично разрешение.
Ответить | Правка | Наверх | Cообщить модератору

36. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (36), 23-Янв-23, 14:12 
А, собственно, интерпретатор языка Bash тогда на чём? Bash на bash? :)
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

91. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (91), 23-Янв-23, 21:09 
А вы когда компилятор Си запускаете, у вас тоже вместо бинарника в /bin/gcc код Си текстом лежит?
Ответить | Правка | Наверх | Cообщить модератору

147. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от InuYasha (??), 24-Янв-23, 13:45 
Ты разницу между интерпретатором и компилятором понимаешь?
Ответить | Правка | Наверх | Cообщить модератору

61. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 18:21 
> А на bash можно?

Покажи как ты из него системные вызовы дергать намерен.

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

97. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (97), 23-Янв-23, 21:44 
Ну библиотечные вызовы без проблем: https://github.com/taviso/ctypes.sh

А далее в С-библиотеке (в той же glibc есть) определена универсальная обертка syscall(), которую можно дернуть. Впрочем, конечно удобнее если есть обертки конкретных сисколлов. Вон http-сервер на баше даже sendfile() использует, очень эффективно работает :D - https://github.com/cemeyer/httpd.sh

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

108. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (108), 23-Янв-23, 23:48 
> Ну библиотечные вызовы без проблем: https://github.com/taviso/ctypes.sh

Ух ты, эти мсье знают толк в извращениях! Вот так при помощи клея и такой-то матери можно сделать из буханки хлеба^W^W баша прямо питон какойто.

> А далее в С-библиотеке (в той же glibc есть) определена универсальная обертка
> syscall(), которую можно дернуть.

Это круто, конечно, но если мы юзали сабж то наверное glibc был последним что мы хотели бы использовать. Иначе зачем мы все вон то затевали?!

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

64. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от Аноним (64), 23-Янв-23, 18:35 
Любители systemd-free этим занимаются на постоянной основе.
Ответить | Правка | К родителю #7 | Наверх | Cообщить модератору

44. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –4 +/
Сообщение от Аноним (-), 23-Янв-23, 15:24 
Модула-2 - мёртвый язык используемый только на госпредприятии России. Создатель языка Модула-2 Никлаус Вирт ещё 1980-х гг. заменил её на новую версию - Оберон. Сейчас вроде Оберон-7 актуален.

Мда-а канифоль, ковёр на стене, стенка, люстра, норковая шапка, ламповый чёрно-белый телевизор, дача, стометровые очереди за хлебом... Ужас!

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

46. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (46), 23-Янв-23, 15:58 
цикорий вместо кофе в железной банке
Ответить | Правка | Наверх | Cообщить модератору

81. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от Аноним (-), 23-Янв-23, 19:56 
> цикорий вместо кофе в железной банке

+

Когда делали хлеб в муку добавляли опилки и бумагу.

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

119. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +3 +/
Сообщение от Аноним (119), 24-Янв-23, 01:43 
А сейчас "опилки и бумагу" добавляют в колбасу и сосиски
Ответить | Правка | Наверх | Cообщить модератору

131. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Омномним (?), 24-Янв-23, 10:09 
Ну вот не надо мне тут.
Белковая эмульсия же.
Кости, кожа, гнилое и тухлое мясо, крыски, проспавшие подъём, и прочие радости жизни.
Температура и давление решают.
Ответить | Правка | Наверх | Cообщить модератору

148. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от InuYasha (??), 24-Янв-23, 13:47 
Сумасашол? Бумага нынче - дефицит!
Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

156. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 26-Янв-23, 16:08 
> Сумасашол? Бумага нынче - дефицит!

Только белая. Но у ссср на этот счет был эпичный лайфхак, согласно распостраненному поверью в колбасе была туалетная бумага. Она не белая, особенно сссровского образца, ее чаще всего хватает. Впрочем когда не оказалось даже ее - пролетариат не терялся и всегда имел в скворечнике стратегический запас газет, при том не только и даже не столько для чтения.

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

150. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (150), 24-Янв-23, 17:33 
Пальмовое масло.
Ответить | Правка | К родителю #119 | Наверх | Cообщить модератору

65. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (36), 23-Янв-23, 18:38 
Раз в состав GCC добавляют, значит, живее Оберона. И уж точно не именно для госпредприятий России.
Ответить | Правка | К родителю #44 | Наверх | Cообщить модератору

67. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от U202204161753 (?), 23-Янв-23, 18:50 
Если "коротенько, минут на 40", то в Modula-2, Oberon -ах более-менее полных и в Oberon-07 масса тонких отличий.

Поэтому, ничего из списка не способно заменить другое физически.

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

77. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 19:43 
Садись два. Виртовкий Паскаль ---> Модула ---> Модула-2 ---> Оберон. У С++ со времени его появления отличий будет поболее.
Ответить | Правка | Наверх | Cообщить модератору

82. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от U202204161753 (?), 23-Янв-23, 20:21 
Версию от Н.Вирта я знаю. Тем не менее, это теория.

Я же изложил практику.

P.S. "Поболее или поменее" отличий вообще неважно: достаточно одного

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

99. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (99), 23-Янв-23, 21:58 
> дача, стометровые очереди за хлебом... Ужас!

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

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

49. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (1), 23-Янв-23, 16:26 
Ты видимо шутку не понял, как и ещё 7 человек.
Ответить | Правка | К родителю #2 | Наверх | Cообщить модератору

13. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (46), 23-Янв-23, 11:51 
Линукс все еще просто ядро, к-е не слинковано ни с какой динамической библиотекой. Потому что чтоб слинковать ядро динамически, UEFI должен уметь в линуксовый ldconfig. А то что там в архиве идёт какая-то nolibc - дак пофиг.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

16. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +3 +/
Сообщение от ryoken (ok), 23-Янв-23, 12:17 
Поясните, с целью повышения уровня образованности... А с какого боку тут вообще UEFI?
Ответить | Правка | Наверх | Cообщить модератору

23. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +3 +/
Сообщение от YetAnotherOnanym (ok), 23-Янв-23, 12:38 
Мсье, по-видимому, намекает, что перед тем, как передать управление ядру, загрузчик должен будет не просто загрузить в память само ядро, но также найти и загрузить в память все необходимые .so'шки.
Ответить | Правка | Наверх | Cообщить модератору

42. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от Аноним (46), 23-Янв-23, 14:59 
именно
Ответить | Правка | Наверх | Cообщить модератору

62. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (-), 23-Янв-23, 18:24 
Слышьте, системные гениусы, ядро не зависит от внешних .so'шек. Как максимум может расширять себя модулями - но UEFI понятия не имеет как их грузить и это уже ядро само грузит. Когда запустится. По этой причине initrd бывает, на случай если для нормальной работы / надо драйвер, например, блочного устройства сначала вгрузить. Единственное что при этом надо знать EFI или любому иному бутлоадеру - как ядру initrd отдать.
Ответить | Правка | Наверх | Cообщить модератору

66. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (46), 23-Янв-23, 18:42 
Мы знаем, что не зависит и не может зависеть. Потому что в противном случае эти либо кто-то должен сначала выгрузить.
Ответить | Правка | Наверх | Cообщить модератору

96. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 21:43 
>ядро не зависит от внешних .so'шек

Одно точно зависит, только не от сошек, а от Mach.

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

43. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (46), 23-Янв-23, 15:03 
А кто линковать тогда будет ядро с библами? Никогда не думал почему ядро имеет свои собственные strlen, kprintf, memset, etc вместо юзания их из libc? Потому что кто-то должен загрузить эти библы в память перед стартом ядро. Поэтому ядро один большой блоб без внешних библ, потому что некому линковать эти библы.
Ответить | Правка | К родителю #16 | Наверх | Cообщить модератору

57. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от anonimus_debilimusemail (?), 23-Янв-23, 17:39 
Может стоило иметь один kdlopen() а остальное самому загружать?
Ответить | Правка | Наверх | Cообщить модератору

93. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (91), 23-Янв-23, 21:14 
А зачем? Так код ядра сам себе самодостаточный. Скачал, скомпилировал, закинул на флешку - работает.
Ответить | Правка | Наверх | Cообщить модератору

123. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 04:16 
> Может стоило иметь один kdlopen() а остальное самому загружать?

Вы только что изобрели initrd, с той разницей что линуховое ядро все же не настолько своей жизнью живет и поэтому модули ему находит и читает все же modprobe/insmod какой, а кернел только парсит регион памяти отдаваемый ядру через init_module(), так что более продвинутые вещи все же прерогатива insmod какого, чтоли.

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

19. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (19), 23-Янв-23, 12:28 
Линукс это ядро и минимальная libc библиотека
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

126. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Neon (??), 24-Янв-23, 05:50 
Т.е. гвоздями прибито к С-ной либе.))) Классная архитектура. Хорошо хоть не к Basic'у как Спеки)))
Ответить | Правка | Наверх | Cообщить модератору

132. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 24-Янв-23, 10:11 
Ты не поверишь - любой статически собранный бинарник гвоздями прибит к C-ной либе.
Ответить | Правка | Наверх | Cообщить модератору

133. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Омномним (?), 24-Янв-23, 10:12 
(ну, любой статически собранный бинарник из кода на C, конечно же)
Ответить | Правка | Наверх | Cообщить модератору

162. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (162), 27-Янв-23, 23:16 
> Ты не поверишь - любой статически собранный бинарник гвоздями прибит к C-ной либе.

Ну расскажи это mirai, которому как раз наплевать какая там системная либа, лишьбы линуксом было. Сорц этого нечто можно на гитхабе посмотреть. Единственное что ему интересно - это должен быть линукс. А что общего с сабжем? Оно тоже подобие libc через сисколы делает внезапно.

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

166. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 28-Янв-23, 00:17 
Какое-то очередное ненужно?
Первый раз слышу это название, видимо область применения очень и очень узкая.
Ответить | Правка | Наверх | Cообщить модератору

37. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от tim2k (ok), 23-Янв-23, 14:14 
Линукс нонче - это ведро и systemd.
Ответить | Правка | К родителю #1 | Наверх | Cообщить модератору

53. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (53), 23-Янв-23, 17:20 
Если бы. К сожалению ретрограды норовят затащить ещё протухшие портянки и прочий шлак.
Ответить | Правка | Наверх | Cообщить модератору

98. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 21:45 
>ещё протухшие портянки

sd-позитивный фетишист объясняет для других на своём языке?

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

142. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (142), 24-Янв-23, 11:46 
Ну ничего, такими темпами скоро в systemd вкорячат ядро и заживете, хипстеры.
Ответить | Правка | К родителю #53 | Наверх | Cообщить модератору

3. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +13 +/
Сообщение от Омномним (?), 23-Янв-23, 10:45 
Ну, да, запихать всё необходимое для минимальной init-подсистемы прямо в ядро, возможно вместе с таковой в будущем - разумная идея. Для эмбедовки очень пригодится.
Ответить | Правка | Наверх | Cообщить модератору

14. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –5 +/
Сообщение от КО (?), 23-Янв-23, 12:02 
Такая же разумная как зонды от всех копрорастов и драйвера для Wireguard.
Ответить | Правка | Наверх | Cообщить модератору

54. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (53), 23-Янв-23, 17:21 
Если бы ты хоть немного понимал в системном программировании, то понял бы, что единственно возможный вариант.
Ответить | Правка | Наверх | Cообщить модератору

121. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (121), 24-Янв-23, 03:46 
Вообще-то ембедовка - реальная, а не как в современных роутерах, где полноценный mips, который помощнее тех 80486 будет, - это как правило один блоб, в котором вообще всё.
Ответить | Правка | К родителю #14 | Наверх | Cообщить модератору

134. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 24-Янв-23, 10:13 
Блоб как правило структурный, даже у RTOS'ов.
Времена неструктурных "на раз" сляпанных блобов почти ушли.
Встречается только в случае совсем уж fixed-function эмбедовки.
Ответить | Правка | Наверх | Cообщить модератору

120. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 02:34 
> Ну, да, запихать всё необходимое для минимальной init-подсистемы прямо в ядро, возможно
> вместе с таковой в будущем - разумная идея. Для эмбедовки очень пригодится.

Ну да. Например kexec boot так наверное забавно делать. При этом в отличие от абы каких бутлоадеров при этом есть вся мощь линуха.

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

135. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 24-Янв-23, 10:14 
Вот да, второе применение - жЫрные дебаг и kexec.
Ответить | Правка | Наверх | Cообщить модератору

9. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (9), 23-Янв-23, 11:39 
Кто-нибудь знает "некостыльное" применение sleep? Не надёжнее ли следить за завершением какого-либо процесса через pid?
Ответить | Правка | Наверх | Cообщить модератору

15. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 23-Янв-23, 12:10 
> Не надёжнее ли следить за завершением какого-либо процесса через pid?

какой pid скажет тебе когда подключенное USB устройство готово к обмену ?

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

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ообщить модератору

112. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (-), 24-Янв-23, 00:05 
> какой pid скажет тебе когда подключенное USB устройство готово к обмену ?

sleep это тоже не подскажет сам по себе :)


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

141. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 24-Янв-23, 10:34 
> sleep это тоже не подскажет сам по себе

он используется по прямому назначению - задержка в многозадачной среде исполнения в ожидании готовности устройства

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

151. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 20:33 
> он используется по прямому назначению - задержка в многозадачной среде исполнения в
> ожидании готовности устройства

Тут кмк от деталей все сильно зависит, usb устройства разные бывают. Но вообще есть и менее дурацкие способы отлова наличия нужного девайса. Начиная с рулесов udev допустим, когда тот сам желаемую программу позовет по факту "обнаружен девайс VID:PID такой-то". Можно serial или что там еще взять.

Я так себе сделал /dev/board0 допустим для вон той платки. Или /dev/china-crap для кетайского сериального шнурка (crap за глючность его чипа). Ну, как появляется так с ним что-то и делается.

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

155. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 25-Янв-23, 09:38 
> дурацкие способы отлова наличия нужного девайса

я не про это говорил. Послал ты уже обнаруженной по USB китайской платке команду стереть флешь память - какой удав тебе скажет что процесс завершён и можно следующую команду слать ?  только ждать определённое время - sleep/usleep в зависимости от команды.

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

157. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 26-Янв-23, 16:11 
> я не про это говорил. Послал ты уже обнаруженной по USB китайской
> платке команду стереть флешь память - какой удав тебе скажет что
> процесс завершён и можно следующую команду слать ?

В моих протоколах мне это ACK-пакет говорит, репортящий статус операции. А, чо, так можно было. Заодно если что-то пошло не так это еще и репортить нехило бы, потому что отдать кастомеру заглюченый девайс - ведет к куче проблем и затрат у всех в этой цепочке.

> только ждать определённое время - sleep/usleep в зависимости от команды.

Это что-то совсем уж донный уровень инженерии. Даже для китайцев.

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

159. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 26-Янв-23, 17:10 
> Это что-то совсем уж донный уровень инженерии. Даже для китайцев.

подозреваю у тебя просто отсутствует опыт

https://gitlab.com/dfu-util/dfu-util/-/blob/master/src/porta...

https://gitlab.com/dfu-util/dfu-util/-/blob/master/src/main....

https://gitlab.com/dfu-util/dfu-util/-/blob/master/src/dfuse...

и тд

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

164. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 27-Янв-23, 23:26 
Чего сказать то хотели?
Мои протоколы либо успешно прошивают девайс тем что задумано, либо это валится с диагностикой что не так. И мне такое поведение вполне нравится. При том это не обязан быть USB. Хотя по нему тоже так можно. А в чем прикол? Мне не нравятся заваленые апдейты и левак прошитый в устройства, равно как и отсутствие диагностики что не так. Если вы хотели сказать что г@вняная работа прошивалок это так и задумано - вот я и пожелаю вам удачных обновлений ваших фирмварей.
Ответить | Правка | Наверх | Cообщить модератору

168. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 31-Янв-23, 10:22 
> Мои протоколы либо успешно прошивают девайс тем что задумано, либо это валится с диагностикой что не так.

ваши протоколы никто не видел, а DFU отлично работает везде, от микроконтроллеров до SoC c UDC на u-boot и любой хостовой ОС.

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

94. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (91), 23-Янв-23, 21:29 
wait, waitpid, а если нужно из этих функций по тайм-ауту выйти, то они прерываются сигналами. Если нужно просто заблочить исполнение программы, пока child не вернёт статус, то хватит и просто этих двух функций. Если вам нужен таймаут, но не нравятся сигналы, то можно просто через kill(pid, 0) проверять, существует ли такой pid (костыльный метод, т.к. pid может быть не того процесса, который ожидался, но мне лень сейчас придумывать другой), а в качестве функции сна лучше юзать nanosleep вместо usleep (если нужны тайминги меньше секунды), т.к. я заметил, что usleep как-будто в busy-waiting сидит и жрёт процессор, когда nanosleep не жрёт ничего и выдаёт сумасшедшую точность на обычном десктопном процессоре (я так себе часики в статусбарной самописной приложухе для dwm подкручиваю, чтобы секунды тикали именно когда они должны тикать, а не накапливали ошибку и потом перепрыгивали через одну секунду).
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

140. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (15), 24-Янв-23, 10:31 
> в качестве функции сна лучше юзать nanosleep вместо usleep (если нужны тайминги меньше секунды), т.к. я заметил, что usleep как-будто в busy-waiting сидит

перепиывал недавно пару открытых проектов, нужна была кросскомпиляция mingw под венду - usleep для венды есть в отличии от nanosleep

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

115. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 00:10 
> Кто-нибудь знает "некостыльное" применение sleep?

Ну смотри, допустим мы хотим подождать нажатия условного any key, но не хотим чтобы это было блокирующей нас насовсем операцией. Ну мало ли может мы хотим возможность по ходу дела передумать и допустим завершиться по другому критерию вместо того чтобы эникей ждать.

Если мы будем наивно чекать эникей в цикле, с максимальной скоростью - это в принципе сработает. Однако если вызов не блочится, мы будем гонять цикл с офигенной скоростью, гоняя дикое количество сисколов в секунду и грузя систему как черт знает что.

Вопрос: а нам точно надо знать нажатие эникей с чуть не микросекундной точностью? Или плюс-минус сотня миллисекунд которые юзер даже не увидит - не так уж и страшно? Ну полсотни, точно не увидит. А вот тут можно воткнуть sleep() в цикл и он таки будет каждые 50 миллисекунд чекать не нажал ли юзер эникей. А может и что еще. Основательно разгрузив систему от постоянного поллинга с максимальной скоростью.

Пример несколько условный и не является руководством к действию но дает понять в чем прикол. Программа жрущая ядро проца в полку на ожидание чего-то совершенно не рулит. А тут мы сигналим операционке что в принципе не особо торопимся, можно поспать, проц отдайте другим программам на это время.

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

128. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от www2 (??), 24-Янв-23, 06:05 
Настраиваешь обработку сигналов и засыпаешь. А что ещё делать, если тебе нужно дождаться поступления сигнала? Только спать.
Ответить | Правка | К родителю #9 | Наверх | Cообщить модератору

11. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (-), 23-Янв-23, 11:40 
Круто что они сконцентрировались только на актуальных архитектурах. Иначе бы это сильно раздуло код.

Кто сравнивал размер с минимальным musl?

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

17. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аночик (?), 23-Янв-23, 12:24 
745K янв 23 11:20 hello-glibc
25K янв 23 11:22 hello-musl
Ответить | Правка | Наверх | Cообщить модератору

18. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +6 +/
Сообщение от Аноним (18), 23-Янв-23, 12:25 
Когда современное ядро снова на дискету помещаться начнет?
Ответить | Правка | Наверх | Cообщить модератору

21. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от Аноним (21), 23-Янв-23, 12:33 
Какая дискета? Магнито-оптическая?
Ответить | Правка | Наверх | Cообщить модератору

29. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (18), 23-Янв-23, 13:14 
Обычная гибкая магнитная 3.5" дискета на 1.44 МБ.
Ответить | Правка | Наверх | Cообщить модератору

30. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (30), 23-Янв-23, 13:22 
Но обычная магнитная дискетка - это 5.25" на 180 KiB. А 3.5" на 1.44 МБ - это 3.5", двухсторонняя и к тому же ещё и двойной плотности.
Ответить | Правка | Наверх | Cообщить модератору

33. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (18), 23-Янв-23, 13:50 
Если обычная 5.25", почему в начале этого века они не продавались? Ни разу не видел USB FDD дисковод на 5.25". Прикольный бы девайс был.
Один немец создал прототип: https://www.youtube.com/watch?v=Bjd2jSHBw7E
Ответить | Правка | Наверх | Cообщить модератору

40. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (2), 23-Янв-23, 14:33 
Потому что в любом магазине был USB-FDD адаптер бери и пользуйся. И шлейфов было полно которые и на 3.5 и на 5.25 приводы одновременно.  Ох молодежь всё бы им чтобы было с USB из коробки.
Ответить | Правка | Наверх | Cообщить модератору

109. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Омномним (?), 23-Янв-23, 23:59 
Чего.
Обычная магнитная дискетка - это 8" на чуть менее 80 кило :D
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

110. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 24-Янв-23, 00:00 
А 3.5 там ещё и на 2.88 были
Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

149. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от InuYasha (??), 24-Янв-23, 15:03 
Ещё были приводы которые могли дискету форматнуть в 30МБ и крутить её на бешенной скорости, приводя к быстрому износу. ls-120, вроде.
Ответить | Правка | Наверх | Cообщить модератору

167. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 28-Янв-23, 00:22 
LS-240, были такие.
Дело там не в скорости было, там запись диска получалась однократной - для любого изменения приходилось переписывать целиком.
Ответить | Правка | Наверх | Cообщить модератору

26. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +4 +/
Сообщение от Аноним (26), 23-Янв-23, 12:51 
А зачем тебе современное? Бери дискету с QNX, добавь драйвера устройств, нашиши или портани нужные программы и пользуйся.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

28. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (18), 23-Янв-23, 13:05 
В современном ядре старые баги исправлены, новые добавлены.
QNX - не вариант, проприетарщина.
Ответить | Правка | Наверх | Cообщить модератору

41. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Аноним (2), 23-Янв-23, 14:34 
С чего это QNX вдруг стал не современным?
Ответить | Правка | К родителю #26 | Наверх | Cообщить модератору

31. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (31), 23-Янв-23, 13:41 
Но для чего? Разьема FDD уже давно нет на материнках.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

32. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (31), 23-Янв-23, 13:43 
Разъема )))
Ответить | Правка | Наверх | Cообщить модератору

161. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Олег (??), 27-Янв-23, 23:02 
Разъёма ))).
Ответить | Правка | Наверх | Cообщить модератору

34. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (18), 23-Янв-23, 13:52 
Загрузочные CD/DVD диски эмулируют дискеты.
Ответить | Правка | К родителю #31 | Наверх | Cообщить модератору

113. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Омномним (?), 24-Янв-23, 00:08 
Не совсем дискеты. IDE FDD, вкривь-вкось, можно пихнуть необычную геометрию.
Ну и да, в El Torito это не обязательно FDD, можно HDD. Причём с LBA.
Ответить | Правка | Наверх | Cообщить модератору

116. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 24-Янв-23, 00:14 
> Загрузочные CD/DVD диски эмулируют дискеты.

Да они и HDD эмулируют не хуже.

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

39. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –3 +/
Сообщение от Аноним (36), 23-Янв-23, 14:20 
Зачем? Современная дискета - это флешка. Ну ещё с натягом - DVD-RW.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

78. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от Брат Анон (ok), 23-Янв-23, 19:45 
Нука: запрети аппаратно запись на флешку? Слабо магнитом инфу с флешки стереть?
Ответить | Правка | Наверх | Cообщить модератору

90. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 21:09 
> Нука: запрети аппаратно запись на флешку?

У меня флеха с readonly свичом есть. Прекрасно работает, становится ридонли.

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

154. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от (?), 25-Янв-23, 09:16 
с чего угодно стереть можно камнем, главное ударить посильнее
Ответить | Правка | К родителю #78 | Наверх | Cообщить модератору

158. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 26-Янв-23, 16:13 
> с чего угодно стереть можно камнем, главное ударить посильнее

Этот неандерталец совсем ниасилил микроволновки...

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

160. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Гипероним (?), 27-Янв-23, 22:27 
Просто бил недостаточно сильно, видать
Ответить | Правка | Наверх | Cообщить модератору

165. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 27-Янв-23, 23:28 
> Просто бил недостаточно сильно, видать

Тяжелая, небось, поди еще попади по мелкой флешке таким ящиком :)

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

50. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +2 +/
Сообщение от whoami (??), 23-Янв-23, 17:01 
Оно помещается (примерно 500 кб в минимуме). См. Floppinux.
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

52. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Mickey_Mouseemail (?), 23-Янв-23, 17:19 
Куда дискета будет помещаться?
Ответить | Правка | К родителю #18 | Наверх | Cообщить модератору

169. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Oldfan (?), 26-Июн-23, 13:22 
в Gotek Floppy Emulator
Ответить | Правка | Наверх | Cообщить модератору

20. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от YetAnotherOnanym (ok), 23-Янв-23, 12:32 
> dash, init и sleep

А Busybox? Busybox с ней собрать можно?

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

25. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от Аноним (25), 23-Янв-23, 12:46 
а зачем эта обёртка? функционала системных вызовов недостаточно? в статье перечислены все те же функции, которые теперь зачем-то не будут системными вызовами, как в юзерспейсе.
Ответить | Правка | Наверх | Cообщить модератору

56. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (53), 23-Янв-23, 17:24 
Функционал - это пассивный содомит. А у системных вызовов - функциональность.
Ответить | Правка | Наверх | Cообщить модератору

100. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (25), 23-Янв-23, 22:20 
пассивный - это то, что постоянно заботит жителей этой страны
Ответить | Правка | Наверх | Cообщить модератору

45. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от анонимомус (?), 23-Янв-23, 15:57 
Ножно больше *libc
Ответить | Правка | Наверх | Cообщить модератору

47. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (-), 23-Янв-23, 16:21 
Ручно больше *libc
Что это значит вообще?

Вариации с гениталиями по-крайней мере осмысленны:
***во больше *libc
*****то больше *libc
А другие конечности не работают.

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

101. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (25), 23-Янв-23, 22:22 
тебе нужно перестать бухать. посмотри на шиroрина в его 23 и увидишь, что будет с тобой через лет 20
Ответить | Правка | Наверх | Cообщить модератору

107. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от pavlinux (ok), 23-Янв-23, 23:47 
Библиотеки - для девочек, только syscall(NR_*...), только хардкор!  
Ответить | Правка | Наверх | Cообщить модератору

118. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +1 +/
Сообщение от Аноним (162), 24-Янв-23, 00:20 
> Библиотеки - для девочек, только syscall(NR_*...), только хардкор!

Тебя что, в сорц mirai сегодня занесло? Так то прикольный у них самоход получился - вот так вообще плевать какая либц и версия, лишь бы это вообще линуксом было. Специальный бонус - оно такое еще и компилится на дюжину архитектур. Или больше.

...правда автору этой штуки оно не помогло, его вроде вычислил кребс. Да и вас вычислят если что-то такое удумаете, лучше и не пытайтесь. Но чисто на технологию позырить - прикольно. Благо на гитхабе вывалено.

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

122. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  +/
Сообщение от Аноним (122), 24-Янв-23, 03:47 
>> Из ещё не реализованных возможностей упоминается отсутствие функций для сетевых операций и многопоточности, а также неполный набор функций string.h и stdlib.h.

Сеть, потоки и utf-8
Здравствуйте, 750kB

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

152. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –2 +/
Сообщение от Аноним (-), 24-Янв-23, 20:36 
Можешь в сорце mirai позырить как сделать из сисколов сеть по минимуму. И никаких 750 кило там точно не было.
Ответить | Правка | Наверх | Cообщить модератору

153. "В Си-библиотеке  nolibc, входящей в состав ядра Linux, реали..."  –1 +/
Сообщение от bOOster (ok), 25-Янв-23, 06:28 
Еще какой-то неосилятор posix решил "переписать", под соусом - "стильно, модно, молодежно". Прогресс во всей красе. Правда прогресс абсолютного бардака...
Ответить | Правка | Наверх | Cообщить модератору

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

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




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

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