1.1, Аноним (1), 10:27, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [к модератору]
| –8 +/– |
Теперь выражение "линукс это просто ядро" можно забыть. А говорящим - давать ссылку на эту новость. Линукс это не только ядро, но ещё и стандартная си библиотека!
| |
|
2.2, Аноним (2), 10:39, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +10 +/– |
Бред написал? Тебе никто не запрещает взять ядро, как есть, а все остальные библиотеки написать на языке Модула-2.
| |
|
|
|
|
6.108, Аноним (108), 23:48, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Ну библиотечные вызовы без проблем: https://github.com/taviso/ctypes.sh
Ух ты, эти мсье знают толк в извращениях! Вот так при помощи клея и такой-то матери можно сделать из буханки хлеба^W^W баша прямо питон какойто.
> А далее в С-библиотеке (в той же glibc есть) определена универсальная обертка
> syscall(), которую можно дернуть.
Это круто, конечно, но если мы юзали сабж то наверное glibc был последним что мы хотели бы использовать. Иначе зачем мы все вон то затевали?!
| |
|
|
|
3.44, Аноним (-), 15:24, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| –4 +/– |
Модула-2 - мёртвый язык используемый только на госпредприятии России. Создатель языка Модула-2 Никлаус Вирт ещё 1980-х гг. заменил её на новую версию - Оберон. Сейчас вроде Оберон-7 актуален.
Мда-а канифоль, ковёр на стене, стенка, люстра, норковая шапка, ламповый чёрно-белый телевизор, дача, стометровые очереди за хлебом... Ужас!
| |
|
|
|
|
7.131, Омномним (?), 10:09, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Ну вот не надо мне тут.
Белковая эмульсия же.
Кости, кожа, гнилое и тухлое мясо, крыски, проспавшие подъём, и прочие радости жизни.
Температура и давление решают.
| |
|
|
|
4.67, U202204161753 (?), 18:50, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
Если "коротенько, минут на 40", то в Modula-2, Oberon -ах более-менее полных и в Oberon-07 масса тонких отличий.
Поэтому, ничего из списка не способно заменить другое физически.
| |
|
5.77, Аноним (-), 19:43, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Садись два. Виртовкий Паскаль ---> Модула ---> Модула-2 ---> Оберон. У С++ со времени его появления отличий будет поболее.
| |
|
6.82, U202204161753 (?), 20:21, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Версию от Н.Вирта я знаю. Тем не менее, это теория.
Я же изложил практику.
P.S. "Поболее или поменее" отличий вообще неважно: достаточно одного
| |
|
|
4.99, Аноним (99), 21:58, 23/01/2023 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
> дача, стометровые очереди за хлебом... Ужас!
Это ты очередь за шкафами или вообще любой мебелью забыл. На дни, если не месяцы, с перекличками в означенное время и вычеркиванием лузеров которые выбыли/забили. А уж как шкафы завезли, там прямо зерг раш начинался.
| |
|
|
2.13, Аноним (46), 11:51, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +/– |
Линукс все еще просто ядро, к-е не слинковано ни с какой динамической библиотекой. Потому что чтоб слинковать ядро динамически, UEFI должен уметь в линуксовый ldconfig. А то что там в архиве идёт какая-то nolibc - дак пофиг.
| |
|
|
4.23, YetAnotherOnanym (ok), 12:38, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +3 +/– |
Мсье, по-видимому, намекает, что перед тем, как передать управление ядру, загрузчик должен будет не просто загрузить в память само ядро, но также найти и загрузить в память все необходимые .so'шки.
| |
|
|
6.62, Аноним (-), 18:24, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Слышьте, системные гениусы, ядро не зависит от внешних .so'шек. Как максимум может расширять себя модулями - но UEFI понятия не имеет как их грузить и это уже ядро само грузит. Когда запустится. По этой причине initrd бывает, на случай если для нормальной работы / надо драйвер, например, блочного устройства сначала вгрузить. Единственное что при этом надо знать EFI или любому иному бутлоадеру - как ядру initrd отдать.
| |
|
7.66, Аноним (46), 18:42, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Мы знаем, что не зависит и не может зависеть. Потому что в противном случае эти либо кто-то должен сначала выгрузить.
| |
|
|
|
4.43, Аноним (46), 15:03, 23/01/2023 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
А кто линковать тогда будет ядро с библами? Никогда не думал почему ядро имеет свои собственные strlen, kprintf, memset, etc вместо юзания их из libc? Потому что кто-то должен загрузить эти библы в память перед стартом ядро. Поэтому ядро один большой блоб без внешних библ, потому что некому линковать эти библы.
| |
|
|
6.123, Аноним (-), 04:16, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Может стоило иметь один kdlopen() а остальное самому загружать?
Вы только что изобрели initrd, с той разницей что линуховое ядро все же не настолько своей жизнью живет и поэтому модули ему находит и читает все же modprobe/insmod какой, а кернел только парсит регион памяти отдаваемый ядру через init_module(), так что более продвинутые вещи все же прерогатива insmod какого, чтоли.
| |
|
|
|
|
|
|
|
5.162, Аноним (162), 23:16, 27/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Ты не поверишь - любой статически собранный бинарник гвоздями прибит к C-ной либе.
Ну расскажи это mirai, которому как раз наплевать какая там системная либа, лишьбы линуксом было. Сорц этого нечто можно на гитхабе посмотреть. Единственное что ему интересно - это должен быть линукс. А что общего с сабжем? Оно тоже подобие libc через сисколы делает внезапно.
| |
|
|
|
|
1.3, Омномним (?), 10:45, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +13 +/– |
Ну, да, запихать всё необходимое для минимальной init-подсистемы прямо в ядро, возможно вместе с таковой в будущем - разумная идея. Для эмбедовки очень пригодится.
| |
|
|
3.54, Аноним (53), 17:21, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
Если бы ты хоть немного понимал в системном программировании, то понял бы, что единственно возможный вариант.
| |
3.121, Аноним (121), 03:46, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Вообще-то ембедовка - реальная, а не как в современных роутерах, где полноценный mips, который помощнее тех 80486 будет, - это как правило один блоб, в котором вообще всё.
| |
|
4.134, Омномним (?), 10:13, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Блоб как правило структурный, даже у RTOS'ов.
Времена неструктурных "на раз" сляпанных блобов почти ушли.
Встречается только в случае совсем уж fixed-function эмбедовки.
| |
|
|
2.120, Аноним (-), 02:34, 24/01/2023 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +/– |
> Ну, да, запихать всё необходимое для минимальной init-подсистемы прямо в ядро, возможно
> вместе с таковой в будущем - разумная идея. Для эмбедовки очень пригодится.
Ну да. Например kexec boot так наверное забавно делать. При этом в отличие от абы каких бутлоадеров при этом есть вся мощь линуха.
| |
|
1.9, Аноним (9), 11:39, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +1 +/– |
Кто-нибудь знает "некостыльное" применение sleep? Не надёжнее ли следить за завершением какого-либо процесса через pid?
| |
|
2.15, Аноним (15), 12:10, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [к модератору]
| +/– |
> Не надёжнее ли следить за завершением какого-либо процесса через pid?
какой pid скажет тебе когда подключенное USB устройство готово к обмену ?
| |
|
|
|
5.146, YetAnotherOnanym (ok), 13:21, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
> Изначально в линуксе все начинается с ядерного треда, его PID = 0
> вроде бы номинально.
Вот-вот, я именно его имел в виду. Дождаться завершения PID=0, чтобы определить готовность USB-устройства - эта идея мне нравится.
| |
|
6.163, Аноним (-), 23:18, 27/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Он по моему уже не существует на момент старта инита, так что "condition always true, optimize out". А коли так - считайте что usb девайс всегда доступен, с дельфистов пример берите!
| |
|
|
|
3.112, Аноним (-), 00:05, 24/01/2023 [^] [^^] [^^^] [ответить] [↑] [к модератору]
| +1 +/– |
> какой pid скажет тебе когда подключенное USB устройство готово к обмену ?
sleep это тоже не подскажет сам по себе :)
| |
|
4.141, Аноним (15), 10:34, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> sleep это тоже не подскажет сам по себе
он используется по прямому назначению - задержка в многозадачной среде исполнения в ожидании готовности устройства
| |
|
5.151, Аноним (-), 20:33, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> он используется по прямому назначению - задержка в многозадачной среде исполнения в
> ожидании готовности устройства
Тут кмк от деталей все сильно зависит, usb устройства разные бывают. Но вообще есть и менее дурацкие способы отлова наличия нужного девайса. Начиная с рулесов udev допустим, когда тот сам желаемую программу позовет по факту "обнаружен девайс VID:PID такой-то". Можно serial или что там еще взять.
Я так себе сделал /dev/board0 допустим для вон той платки. Или /dev/china-crap для кетайского сериального шнурка (crap за глючность его чипа). Ну, как появляется так с ним что-то и делается.
| |
|
6.155, Аноним (15), 09:38, 25/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> дурацкие способы отлова наличия нужного девайса
я не про это говорил. Послал ты уже обнаруженной по USB китайской платке команду стереть флешь память - какой удав тебе скажет что процесс завершён и можно следующую команду слать ? только ждать определённое время - sleep/usleep в зависимости от команды.
| |
|
7.157, Аноним (-), 16:11, 26/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> я не про это говорил. Послал ты уже обнаруженной по USB китайской
> платке команду стереть флешь память - какой удав тебе скажет что
> процесс завершён и можно следующую команду слать ?
В моих протоколах мне это ACK-пакет говорит, репортящий статус операции. А, чо, так можно было. Заодно если что-то пошло не так это еще и репортить нехило бы, потому что отдать кастомеру заглюченый девайс - ведет к куче проблем и затрат у всех в этой цепочке.
> только ждать определённое время - sleep/usleep в зависимости от команды.
Это что-то совсем уж донный уровень инженерии. Даже для китайцев.
| |
|
|
|
|
|
|
3.140, Аноним (15), 10:31, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> в качестве функции сна лучше юзать nanosleep вместо usleep (если нужны тайминги меньше секунды), т.к. я заметил, что usleep как-будто в busy-waiting сидит
перепиывал недавно пару открытых проектов, нужна была кросскомпиляция mingw под венду - usleep для венды есть в отличии от nanosleep
| |
|
2.128, www2 (??), 06:05, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Настраиваешь обработку сигналов и засыпаешь. А что ещё делать, если тебе нужно дождаться поступления сигнала? Только спать.
| |
|
1.11, Аноним (-), 11:40, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +1 +/– |
Круто что они сконцентрировались только на актуальных архитектурах. Иначе бы это сильно раздуло код.
Кто сравнивал размер с минимальным musl?
| |
|
|
|
4.30, Аноним (30), 13:22, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +2 +/– |
Но обычная магнитная дискетка - это 5.25" на 180 KiB. А 3.5" на 1.44 МБ - это 3.5", двухсторонняя и к тому же ещё и двойной плотности.
| |
|
|
6.40, Аноним (2), 14:33, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Потому что в любом магазине был USB-FDD адаптер бери и пользуйся. И шлейфов было полно которые и на 3.5 и на 5.25 приводы одновременно. Ох молодежь всё бы им чтобы было с USB из коробки.
| |
|
|
6.149, InuYasha (??), 15:03, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Ещё были приводы которые могли дискету форматнуть в 30МБ и крутить её на бешенной скорости, приводя к быстрому износу. ls-120, вроде.
| |
|
7.167, Омномним (?), 00:22, 28/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
LS-240, были такие.
Дело там не в скорости было, там запись диска получалась однократной - для любого изменения приходилось переписывать целиком.
| |
|
|
|
|
|
2.26, Аноним (26), 12:51, 23/01/2023 [^] [^^] [^^^] [ответить] [↓] [↑] [к модератору]
| +4 +/– |
А зачем тебе современное? Бери дискету с QNX, добавь драйвера устройств, нашиши или портани нужные программы и пользуйся.
| |
|
|
4.170, Аноним (170), 14:00, 24/11/2024 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
QNX два или три раза в жизни открывали код в эти моменты есть свободны ответвления.
Более того есть российская импортозамещающая компания успешно подсуетившаяся в те моменты
и создавшая форки тогда.
| |
|
|
|
|
4.113, Омномним (?), 00:08, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Не совсем дискеты. IDE FDD, вкривь-вкось, можно пихнуть необычную геометрию.
Ну и да, в El Torito это не обязательно FDD, можно HDD. Причём с LBA.
| |
|
|
|
|
4.90, Аноним (-), 21:09, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> Нука: запрети аппаратно запись на флешку?
У меня флеха с readonly свичом есть. Прекрасно работает, становится ридонли.
| |
|
5.158, Аноним (-), 16:13, 26/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
> с чего угодно стереть можно камнем, главное ударить посильнее
Этот неандерталец совсем ниасилил микроволновки...
| |
|
|
|
|
1.25, Аноним (25), 12:46, 23/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [к модератору]
| –1 +/– |
а зачем эта обёртка? функционала системных вызовов недостаточно? в статье перечислены все те же функции, которые теперь зачем-то не будут системными вызовами, как в юзерспейсе.
| |
|
2.47, Аноним (-), 16:21, 23/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +/– |
Ручно больше *libc
Что это значит вообще?
Вариации с гениталиями по-крайней мере осмысленны:
***во больше *libc
*****то больше *libc
А другие конечности не работают.
| |
|
|
2.118, Аноним (162), 00:20, 24/01/2023 [^] [^^] [^^^] [ответить] [к модератору]
| +1 +/– |
> Библиотеки - для девочек, только syscall(NR_*...), только хардкор!
Тебя что, в сорц mirai сегодня занесло? Так то прикольный у них самоход получился - вот так вообще плевать какая либц и версия, лишь бы это вообще линуксом было. Специальный бонус - оно такое еще и компилится на дюжину архитектур. Или больше.
...правда автору этой штуки оно не помогло, его вроде вычислил кребс. Да и вас вычислят если что-то такое удумаете, лучше и не пытайтесь. Но чисто на технологию позырить - прикольно. Благо на гитхабе вывалено.
| |
|
1.122, Аноним (122), 03:47, 24/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↓] [↑] [к модератору]
| +/– |
>> Из ещё не реализованных возможностей упоминается отсутствие функций для сетевых операций и многопоточности, а также неполный набор функций string.h и stdlib.h.
Сеть, потоки и utf-8
Здравствуйте, 750kB
| |
1.153, bOOster (ok), 06:28, 25/01/2023 [ответить] [﹢﹢﹢] [ · · · ] [↑] [к модератору]
| –1 +/– |
Еще какой-то неосилятор posix решил "переписать", под соусом - "стильно, модно, молодежно". Прогресс во всей красе. Правда прогресс абсолютного бардака...
| |
|