The OpenNET Project / Index page

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



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

"Микроядро Xous и открытый чип Baochip-1x для создания безопасных встраиваемых систем"  +/
Сообщение от opennews (??), 30-Дек-25, 23:25 
Эндрю Хуан (Andrew Huang) и Шон Кросс (Sean Cross), в своё время спроектировавшие открытый ноутбук Novena и платформу для создания смартфонов Precursor, представили на конференции 39C3 (Chaos Communication Congress) открытый  SoC Baochip-1x, предназначенный для создания защищённых устройств интернета вещей (IoT). Чип спроектирован для использования вместе с микроядерной операционной системой Xous, развиваемым  Эндрю и Шоном последние пять лет. Схемы, описания аппаратных блоков на языке Verilog, симулятор и сопутствующая проектная документация  доступны под открытой лицензией CERN OHL 2.0. Код операционной системы Xous написан на языке Rust и распространяется под лицензией Apache 2.0...

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

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

Оглавление

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


3. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +3 +/
Сообщение от Аноним (3), 30-Дек-25, 23:57 
Все супер, за одним но - в уже почти 2026 году, и нет хотя бы 32 битного флоат?
Это сразу огромное ограничение. Скажете дизайн открыт - ну и что, нарисовать всё что угодно можно, а что бы произвести чип нужны огромные деньги, простым интересующимся такое не под силу.
Ответить | Правка | Наверх | Cообщить модератору

4. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –6 +/
Сообщение от bircoph (ok), 31-Дек-25, 00:06 
> и нет хотя бы 32 битного флоат?

И зачем он в IOT?

> Это сразу огромное ограничение

Для каких конкретно задач?

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

6. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от windows10email (ok), 31-Дек-25, 00:46 
> И зачем он в IOT?

В твоем понимании IOT - это подергать лампочкой. Но это далеко не все.

> Для каких конкретно задач?

Например для LVGL. Понимаю что твое дергание лампочкой в туалете вывода в красивом выводе на дисплей не нуждается - но это не у всех так.

Например для банального дискретного счетчика, где тебе каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №. Не знаешь как ватты считаются, что ли?

А что, определение человека или кота на камере видеонаблюдения перестало быть IOT'ом? Ну давай выведи соответствие по маске хотя бы 320х240@15.

Уже не говоря за то что любая вещь может иметь собственный веб-интерфейс для конфигурирования, и такие штуки нужны чтобы он не был дубовым как в Ардуйнях.

Задач полно.

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

10. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (10), 31-Дек-25, 03:08 
А float при чём тут во всех случаях?

> по истечению 1 секунды снять с этого квадратный корень

Сколько сотен мегагерц не хватает для этого железке из новости?

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

11. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от windows10email (ok), 31-Дек-25, 03:31 
> А float при чём тут во всех случаях?

Ты вообще понимаешь что такое float?

> Сколько сотен мегагерц не хватает для этого железке из новости?

Не сотен мегагерц, а тактов.

Если у процессора нет FPU, или его не поддерживает ядро - блоку ALU приходится раскладывать относительно простую арифметическую операцию на составляющие операции которые он выполняет последовательно, приблизительно тому как ты делишь в столбик (если вас в школе этому еще учат).

14.5/2 в случае деления FPU'хой займет примерно два такта командой FDIV. В случае ALU это будет около восьмидесяти тактов.

Именно поэтому четырехядерный Xeon по 2.5 ГГц при проигрывании 4К-видоса греется и пропускает кадры, а какой-нибудь двухядерный ARMик щелкает на 800 МГц и не напрягается.

А float нужен не только для непосредственно вычислений IOT, он нужен практически в любой современной и не очень системе - ФС, выводе картинки на экран, обработке сетевых подключений, сообщений ядра.

Я тебе советую скачать исходник какой-нибудь часто используемой небольшой программы и сделать в его каталоге grep -r 'float' *

Удивишься.

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

16. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (10), 31-Дек-25, 04:29 
Ага, ясно, с наступающим. А ведь потом протрезвеешь и вспомнишь, что в видеодекодерах нет плавающей запятой. Там даже целые числа консервативно используют, чтоб не жрало процессор и память. Хуже того - там функции заранее вычисляют и в lookup-таблицы кладут...
Ответить | Правка | Наверх | Cообщить модератору

31. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (31), 31-Дек-25, 08:43 
> нет плавающей запятой. Там даже целые числа консервативно используют, чтоб не жрало процессор и память

Мощно придумал! Вроде завтра не первое апреля...

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

38. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (10), 31-Дек-25, 10:54 
Эт не я. Где-то со времён H.264 заметили, что если к 8-битной картинке добавить справа два нуля, то эффективность кодирования вырастает.

> The bit-depth increase provides greater accuracy for the miscellaneous prediction processes involved in the AVC/H.264 compression scheme, including motion compensation, intra prediction and in-loop filtering
> US9521434: a video coder may use IBDI to increase the bit depth of a sample being coded to reduce rounding errors in internal calculations

Если бы целые числа использовали неконсервативно, то и 8-битное видео, и 16-битное видео шли бы одному пути кодирования-декодирования и разницы бы не было.

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

22. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от morphe (?), 31-Дек-25, 05:28 
> 14.5/2 в случае деления FPU'хой займет примерно два такта командой FDIV. В случае ALU это будет около восьмидесяти тактов.

14.5/2 через фиксированную точку будет делиться даже быстрее чем через плавающую, ещё раз, зачем тебе float?

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

24. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от _ (??), 31-Дек-25, 05:42 
>> А float при чём тут во всех случаях?
> Ты вообще понимаешь что такое float?

А ты, в свою очередь - вообще понимаешь что такое IoT?!?! :)
А то давай потребуем ему PCI Express 16-lanes впердолить! Ну удобно жи - можно печку Nvidia 4090 подключить и 4К VR генерить на лету! В IoT без этого - точно никуда :))))

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

36. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 10:35 
> Если у процессора нет FPU, или его не поддерживает ядро - блоку ALU приходится раскладывать относительно простую арифметическую операцию на составляющие операции которые он выполняет последовательно, приблизительно тому как ты делишь в столбик (если вас в школе этому еще учат).

Шо за глупости? Если ты софтфлоат реализуешь, то зачем делить в столбик? Логарифмируй, вычитай, возводи 2 в степень. Или не возводи, продолжай работать с логарифмами. Или дидов в школе не учили логарифмам?

А методам вычислений тоже не учили? Есть масса способов решить уравнение a*x=b, обходясь без деления на неизвестное на этапе компиляции число. Более того, если бы тебе приходилось работать с флоатами, то ты бы научился этим трюкам и трюкам изменения всего алгоритма, чтоб вообще избавиться от необходимости деления, просто потому, что деление флоатов очень гнусная операция, которая может привести к потере точности и запоганить тебе весь результат. Есть например целый жанр публикаций геометрических алгоритмов: "то же самое, но теперь без деления".

> каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №.

Ну вот тут, например, ты делишь на целое число. Тебе не нужно fp деление. Возьми вместо секунды 960мс, 960/15 будет 64, таким образом вместо деления ты сможешь обойтись побитовый сдвигом.

> Я тебе советую скачать исходник какой-нибудь часто используемой небольшой программы и сделать в его каталоге grep -r 'float' *

Естественно они его используют, это просто и думать не надо.

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

47. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (47), 31-Дек-25, 12:26 
Согласно слухам, деление флоатов побыстрее целочисленного. Не бенчмаркил ещё, надо попробовать.
Ответить | Правка | Наверх | Cообщить модератору

60. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 14:10 
Быстрее. На первых пнях это началось. Насколько это распространяется на армы я не знаю, но полагаю, что распространяется. Не думаю, что алгоритм SRT деления патентован.
Ответить | Правка | Наверх | Cообщить модератору

21. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 05:26 
> Например для банального дискретного счетчика, где тебе каждые 15 мс прилетает значение с АЦП которое тебе нужно возвести в квадрат, сложить № раз, а потом по истечению 1 секунды снять с этого квадратный корень и разделить на №. Не знаешь как ватты считаются, что ли?

Ну типа, для этого много где просто swfloat используют, оно не настолько медленное чтобы от его отсутствия страдать в подобных задачах. Да и фиксированную точку зачастую можно использовать, зачем тебе в подобных вычислениях плавающая

Для графики в embedded зачем плавающая точка вообще непонятно, целочисленных величин хватает, там обычно не такого размера экраны чтобы нужно было полноценную растеризацию делать

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

25. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от _ (??), 31-Дек-25, 05:46 
> в embedded

Тут вам не embedded, тут ещё хуже! Тут вам IoT, это хрень такая в запаяных коробоках ...
А UI у неЯ черзЪ уеб-Ынторфейс :)
И сотри его со своего моЩЩЩногА смартыона\планшета и всю красоту рендери на __нЁмммм__ :)

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

27. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (10), 31-Дек-25, 07:33 
> оно не настолько медленное чтобы от его отсутствия страдать в подобных задачах

На livejournal была (и наверное только была) статья, которая смотрела на мнение "плавучка на 8-битном МК - гроб-гроб-кладбище, без своей библиотеки фиксированной запятой не обойтись" и приходила к выводу, что программная реализация float из gcc конкурентоспособна (только минус одна библиотека и плюс переносимость и плюс повышенная точность).

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

52. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (52), 31-Дек-25, 12:38 
Ты бы ещё geocities вспомнил бггг
Ответить | Правка | Наверх | Cообщить модератору

59. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 14:00 
> и приходила к выводу, что программная реализация float из
> gcc конкурентоспособна (только минус одна библиотека и плюс переносимость и плюс
> повышенная точность).

Я и не говорил что надо для swfloat что-то отдельное ставить, я про в целом способ реализации

Почти везде реализация из libm взята, в т.ч в Rust: https://github.com/rust-lang/compiler-builtins/blob/main/lib...

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

5. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 00:31 
>  что бы произвести чип нужны огромные деньги, простым интересующимся такое не под силу.

Что такое "простые интересующиеся"?
Если взять mosis, то там стоимость входи от 50к баксов.
Т.е даже для небольшой фирмы это вполне посильные деньги.

Энтузиасты могут скинуться.
Или каким-то уважаемым людям или на любой краудфандинговой компании.
Т.к речь про IOT, то чипов нужно будет пучок каждому желающему.

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

33. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 08:50 
"произвести" и "заказать" это разные слова

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

9. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +4 +/
Сообщение от Медведь (ok), 31-Дек-25, 03:06 
Полно вариантов программной реализации арифметики с плавающей точкой без FPU в процессоре, чего ныть-то? Для IoT с головой хватит.
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

12. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от windows10email (ok), 31-Дек-25, 03:32 
> Полно вариантов программной реализации арифметики с плавающей точкой без FPU в процессоре,
> чего ныть-то? Для IoT с головой хватит.

Бггг. Сам-то пробовал? :))

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

37. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Медведь (ok), 31-Дек-25, 10:35 
Вот и выросло поколение... Плавающую арифметику более-менее сносно считал еще Spectrum, на несчастных 3.5 МГц тактовой и даже без целочисленного умножения/деления в системе команд процессора. И кстати, Z80 снят с производства меньше двух лет назад. Но нет, мы ж без FPU никак...
Ответить | Правка | Наверх | Cообщить модератору

41. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 11:24 
Не только Spectrum, штатно 8086, 80286, 80386 и i486SX обходились без FPU (его надо было докупать отдельно). В компиляторах была поддержка программной эмуляции и даже не особо напрягаясь люди как-то считали во float-ах. А если надо было прямо очень быстро, то да, пытались уйти на целочисленные вычисления/фиксированную запятую/прочие трюки.
Ответить | Правка | Наверх | Cообщить модератору

18. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –2 +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 04:39 
Зачем людям мозг выносишь - возьми старый пень или целерон и паяльник, распаяй ему питание прямо на плате. Поставь туда QNX RTP 6.0 , который с Photon. И будешь счастлив !
Ответить | Правка | К родителю #3 | Наверх | Cообщить модератору

26. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от _ (??), 31-Дек-25, 05:55 
> Зачем людям мозг выносишь - возьми старый пень или целерон

Жрёт. Греется. Забивается пылью. Гудит.
Да ну нах такое счастье. А если брать Ындустриальный фанлесс... цена - уже не торт :(

> Поставь туда QNX RTP 6.0 , который с Photon.

Зойчем?!?!? Ея как RIM/Blackberry схавал - оно не торт.
Да и ЗОЙЧЕММ тебе Hard-RT??? Там базового линя - обмотаться!

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

7. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +8 +/
Сообщение от Кошкажена (?), 31-Дек-25, 01:52 
> Xous is a microkernel operating system written in pure Rust

...с unsafe в 101 файле*

* если верить github поиску

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

44. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (-), 31-Дек-25, 11:52 
> ...с unsafe в 101 файле*

Не 101, а 2433 (включая комменты) на всего лишь 585523 строк растового кода.

если учесть что большая часть это однострочные вызовы, типа
let mut i2c = unsafe {
                bao1x_hal::udma::I2cDriver::new_with_ifram(
                    i2c_channel,
                    400_000,
                    100_000_000,
                    i2c_ifram,
                    &udma_global,
                )
            };

То колличество safe кода можешь прикинуть сама.

В любом случае это больше чем в дыpяшke где весь код будет unsafe.

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

8. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (10), 31-Дек-25, 03:03 
> две крайности - полнофункциональные чипы с блоком управления памятью (MMU)
> разумного компромисса
> легковесность, свойственную микроконтроллерам ARM без MMU
> Наличие MMU в Baochip-1x позволяет
> *и 5 ядер почти по гигагерцу*

Чево?

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

14. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (14), 31-Дек-25, 04:04 
Зачем нужен Xous, если есть Muen и Ironclad на Аda/SPARK? Ну и L4 ещё, конечно же.
Ответить | Правка | Наверх | Cообщить модератору

15. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 04:28 
Вот например Arduino подходит под проект, делает нужную работу, показывает дисплей нужного X*Y точек и размера, а в нём часов нет совсем. Поэтому на основе календаря ничего сделать нельзя. Пример - автономная метеостанция с использованием Астрономических данных из таблицы.
Ответить | Правка | Наверх | Cообщить модератору

20. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 04:48 
> Вот например Arduino

про ардуино с октября 2025 года можно забыть навсегда

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

23. Скрыто модератором  –3 +/
Сообщение от Roman Dyabaemail (ok), 31-Дек-25, 05:37 
Ответить | Правка | Наверх | Cообщить модератору

53. Скрыто модератором  +/
Сообщение от Аноним (52), 31-Дек-25, 13:02 
Ответить | Правка | Наверх | Cообщить модератору

19. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 04:44 
ладно заловендорлочить ядро на llvm (нет, не ладно), но завендорлочить целый ЦПУ на llvm - это что-то с чем-то
Ответить | Правка | Наверх | Cообщить модератору

28. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (28), 31-Дек-25, 07:41 
Есть ресурсы на поддержку 1001 компилятора?
Ответить | Правка | Наверх | Cообщить модератору

29. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от 12yoexpert (ok), 31-Дек-25, 08:34 
ты, видимо, пытался спросить "есть ресурсы на лоббирование на уровне правительства и рекламу из каждого утюга?", подразумевая, что ресурсов у майкрософт достаточно? так вот, у тебя плохо получилось
Ответить | Правка | Наверх | Cообщить модератору

34. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (34), 31-Дек-25, 08:51 
>Есть ресурсы на поддержку 1001 компилятора?

Десяток хоть назовешь?

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

54. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (52), 31-Дек-25, 13:03 
Для начала назову один, если обеспечишь его поддержку - буду по одному называть следующие. Готов?
Ответить | Правка | Наверх | Cообщить модератору

42. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (-), 31-Дек-25, 11:27 
Так выбор между "свободный ЛЛВМ от успешных корпораций" и "пocoсный ЖЦЦ от каких-то поехавших фанатиков, которые в след. версии ЖПЛ могут обязать тебя открыть весь код".

Думаю для разумного человека он очевиден)

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

45. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Аноним (45), 31-Дек-25, 12:09 
Докажите вендорлок на llvm.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

57. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (57), 31-Дек-25, 13:35 
очень просто доказать математически

принимаем llvm за 2 в десятичной системе счисления
принимаем вендорлок за 3 в десятичной системе счисления

принимаем 5 в десятичной системе счисления за доказательство

итого 2+3=5, следовательно llvm имеет вендорлок

обратно тоже доказывается: 5-2=3; 5-3=2.

надеюсь это помогло вам убедиться в наличии вендорлока

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

62. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от morphe (?), 31-Дек-25, 14:20 
> 5-3=2

Доказательство - вендорлок = ллвм

Вот тебе и доказательство что в ллвм нет вендорлока

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

48. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:28 
Да ладно, пусть играются. Для их собственных применений этого скорее всего вполне достаточно, что собственно и решает. Снаружи всё равно не взлетит, как и вся рисква. Архитектура по балансу сложности-производительности от ARM отстаёт на световые годы, а фрагментация IP уже на уровне.
Ответить | Правка | К родителю #19 | Наверх | Cообщить модератору

55. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (52), 31-Дек-25, 13:13 
> не взлетит, как и вся рисква

А инженеры WD и не в курсе, что "рисква" не взлетела...

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

35. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +2 +/
Сообщение от Аноним (35), 31-Дек-25, 09:49 
>>Серверы ожидают поступления сообщений и запускают связанный c полученным сообщением код на языке Rust.

что тут за бред написан ?

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

39. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 11:12 
Попытались описать механизм Send/Receive/Reply из QNX.

Там суть в том, что сервер в основном цикле вызывает Receive() и блокируется микроядром на ожидании запроса. В определённый момент клиент выполняет Send() с указанием сервера и блокируется микроядром на ожидании ответа, а сервер разблокируется и ему передаются данные, которые клиент указал в Send(). На основании этих данных сервер выполняет какие-то действия и при помощи Reply() разблокирует клиента, который получает данные, которые сервер передал в Reply(). Функции Send(), Receive() и Reply() являются примитивами (системными вызовами) микроядра, и позволяют унифицировано передавать данные как между двумя независимыми процессами, так и между процессом и микроядром.

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

40. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (40), 31-Дек-25, 11:21 
"Every Xous Server contains a central loop that receives a Message, matches the Message Opcode, and runs the corresponding rust code"
https://betrusted.io/xous-book/#architecture
Ответить | Правка | К родителю #35 | Наверх | Cообщить модератору

43. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (35), 31-Дек-25, 11:37 
и тут бред написан
Ответить | Правка | Наверх | Cообщить модератору

56. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (52), 31-Дек-25, 13:14 
А ну-ка, поделись, что было бы не-бредом, в твоём понимании?
Ответить | Правка | Наверх | Cообщить модератору

46. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +1 +/
Сообщение от Аноним (47), 31-Дек-25, 12:23 
Поясните, почему аппаратная многозадачность в x86 оказалась тормознее программной, из-за чего её избегали использовать, из-за чего в конце-концов выпилили. И что мешает сделать чип с аппаратной поддержкой I/O, где ядру ОС выделено специальное физическое ядро, желательно оптимизированное под исполнение ядра ОС, но можно и любое из доступных, где вместо прерываний - io_uring, а ядро слушает это io_uring, но ... аппаратно реализованное, и все прерывания чтобы доставлялись именно в сконфигурированные через регистры очереди. Другие процессы могут как очередь отмаппить (очередь для процесса маппит и конфигурирует ядро, очередь - это область памяти плюс несколько архитектурных регистров, для юзерспейсной программы они на запись недоступны, но программа может их инкрементировать, при инкременте процессор сам доставляет сообщение в ядерное ядро, и должна быть доступна инструкция "ждать результата"), так и syscall дёрнуть (сисколлы реализуются также через сообщения, только в память юзерспейсного процесса явно не мапятся, а прямо в кеше процессора).
Ответить | Правка | Наверх | Cообщить модератору

49. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  –1 +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:29 
Потому что это переусложняет и так недешёвое железо + надо совместимость поддерживать между ревизиями, а ревизий при такой сложности будет очень много. Вполне себе реализованы подпорки для софта, которые позволяют всё вышеперечисленное делать с минимальными накладными расходами. Хоть ядро отделяй, хоть десять - всё на совести условного гипервизора.
Ответить | Правка | Наверх | Cообщить модератору

50. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Tron is Whistling (?), 31-Дек-25, 12:31 
Гляньте в Xen хотя бы - оно не далеко от вашей идеи, за исключением отсутствия чётко выделенных ядер - хотя это вполне себе делается просто на уровне конфигурации.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

58. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Совершенно другой аноним (?), 31-Дек-25, 13:37 
> Поясните, почему аппаратная многозадачность в x86 оказалась тормознее программной, из-за
> чего её избегали использовать, из-за чего в конце-концов выпилили.

Не совсем так, и там - и там вполне себе аппаратная многозадачность, а вот переключение контекстов процессов в первом случае аппаратное (call TSS), а во втором - программное (push/push/push; mov esp,xxx; pop/pop/pop). Во втором случае можно было сохранять сильно не всё (можно было не сохранять FPU, если его не использовала текущая задача), и вообще было более удобно для программиста, где он сам мог выстраивать удобные ему структуры, а не мучаться с TSS.

> мешает сделать чип с аппаратной поддержкой I/O, где ядру ОС выделено
> специальное физическое ядро, желательно оптимизированное под исполнение ядра ОС

если правильно понимаю - примерно так в iMX.6 сделали реализацию DMA на SOC (спец. RISC-процессор, но не архитектуры ARM, со спец.прошивкой, который и реализует контроллер DMA). Честно говоря, получилось не очень. Такое замечательное DMA пришлось для некоторых контроллеров (SPI), отключать, т.к. оно нормально не работало. Хотя, конечно, идея была красивая.

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

61. "Микроядро Xous и открытый чип Baochip-1x для создания безопа..."  +/
Сообщение от Аноним (-), 31-Дек-25, 14:19 
Вообще как-то так выходит, что сложные процессорные инструкции оказываются тормознее, чем последовательность простых. Когда-то в x86 были инструкции enter/leave для организации стековых фреймов, и где они теперь? У меня есть предположение, что последовательность простых инструкций проще раскидать про конвеерам, чем одну сложную инструкцию выполняющую то же самое. Но это лишь предположение.
Ответить | Правка | К родителю #46 | Наверх | Cообщить модератору

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

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




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

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