LINUX.ORG.RU
ФорумTalks

Поговорим о микропроцессорах, встраиваемых системах и микроядрах?

 


5

1

Если коротко, то подскажите отечественные микропроцессоры, имеющие на кристале MMU. Есть ли такие процессоры? Я пока не нашёл.

А если чуть развёрнуто, хотелось бы «наехать» на две группировки разработчиков встраиваемых систем, которые периодически устраивают холивар на тему использования Linux во встраиваемых системах. Первый лагерь, это микроэлектроники, втаптывающие в грязь разработчиков, использующих Linux на встаиваемых устройствах. Я с вами согласен лишь отчасти - Linux далеко не лучше решение для встраиваемых устройств, но ваши потуги написать всё в суперцикле - вполне себе гадкий и неоптимальный подход. И когда вам приходится писать настоящие RT системы, то вы поневоле обращаетесь к готовым решениям (например, Keil RTX). Второй лагерь - приверженцы Linux на микроконтроллерах. Ну вам же электронщики говорят - не надо микроскопом гвозди забивать.

Так чего же я предлагаю? Если вы ещё не убили друг друга в спорах, нужен ли Linux на встраиваемых системах или нет, то попробуйте представить идеальную систему для встраиваемых устройств. Если представили, то сравните это с http://l4ka.org/l4ka/l4-x2-r7.pdf

Чем ближе ваше представление к l4-x2 - тем вы ближе к соврешенству. Спорить бесполезно, ибо постигший дао L4 станет верным его жрецом, а мысли непостигшего - равносильны разумению ребёнка. Если вы легко оперируете pthreads, семафорами и мютексами - вы всего лишь на половине пути.

★★★

Меня всегда интересовал вопрос: стоит ли заниматься микроконтроллерами во имя раскачивания общих скиллов программирования?

DarkAmateur ★★★★
()

а правда, чтобы сделать разные сервисы системы немешающими друг другу их нужно запускать в разных адресных пространствах, что добавит переключений контекста, сбросов тлб и обеспечит нормальные такие тормоза?

dimon555 ★★★★★
()
Ответ на: комментарий от DarkAmateur

Думаю да. Это дисциплинирует.

alman ★★★
() автор топика
Ответ на: комментарий от dimon555

Не правда. Запускать в разных адресных пространствах можно, но не нужно. Это имеет смысл только для отладки кода, чтобы баг не уронил систему. Или для каких-нибудь сверхнадёжных систем.

Что касается переключений контекста. Хе-хе-хе. Если правильно использовать синхронные сообщения, то переключений контекста меньше, чем при использовании аснхронных сообщений.

alman ★★★
() автор топика
Ответ на: комментарий от tim91

Насколько я осведомлён, Fiasco не X2. Дело в том, что спецификация L4 X2 разработана скорее математиками, чем программистами. Неважно сколько написано кода для Fiasco - немало раработчиков используют L4, но большинство из них используют микроядро, не понимая самой его сути.

Смотрите пример ошибок разработкичков: Берётся какой-нибудь код, например из ядра Linux и переносится на микроядро. Человек, делающий это, ещё верит, что «микроядро круче», хотя круче быть не может, поскольку к уже существующему Linux добавляется новый уровень, что не может положительно сказаться на быстродействии. Но разработчик ещё верит, что «микроядро круче», пока не столкнётся с проблемой одновременного обслуживания нескольких вызовов. И вот тут начинаются костыли - на каждый пользовательский процесс и на каждую нить в ядре создаётся нить обработки. И вот тут уже начинается реальная битва за ресурсы - CPU и память. Те, кто прошёл через это, становяться ярыми противниками микроядер - ведь у них есть собственный отрицательный опыт.

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

Ладно, это всё слова. А всё же - какие российские процессоры имеют MMU на кристалле?

alman ★★★
() автор топика
Ответ на: комментарий от alman

А всё же - какие российские процессоры имеют MMU на кристалле?

«мультикор»

registrant ★★★★★
()
Ответ на: комментарий от alman

А всё же - какие российские процессоры имеют MMU на кристалле?

современные на MIPS/ARM наверное, ну и спарки с эльбрусами от мцст

uin ★★★
()
Ответ на: комментарий от uin

современные на MIPS/ARM наверное, ну и спарки с эльбрусами от мцст

А они разве все не в кетае клепаются?

Ygor ★★★★★
()
Ответ на: комментарий от AptGet

Как вообще можно сравнивать полноценную ОС с конструктором вроде L4?

А линукс не конструктор? Только кубики больше.

Deleted
()
Ответ на: комментарий от Ygor

понятия не имею - кому заказывают у того и клепают..

вопрос был про mmu на кристалле..

uin ★★★
()
Ответ на: комментарий от alman

Если правильно использовать синхронные сообщения, то переключений контекста меньше, чем при использовании аснхронных сообщений.

если же их использовать неправильно, то система просто зависнет в какой-то момент.

Запускать в разных адресных пространствах можно, но не нужно. Это имеет смысл только для отладки кода, чтобы баг не уронил систему.

тогда это модульное ядро, аля линукс

dimon555 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.