Linux rt-patch для андроида?

Можно ли применить rt-patch для ядра linux к ядру android?

Почему? Это чисто исследовательский проект. Могу ли я иметь приборную панель на моем автомобиле, который работает под управлением Android, но также контролирует критические задачи безопасности в автомобиле? Сам Android - это утилиты для задач SC, но если я наложу это на гипервизор, я уверен, что это можно сделать.

Ответ 1

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

Ответ 2

Очень важная ссылка

Текущие исследования андроида в реальном времени.

http://code.google.com/edu/submissions/ncsu-rts/


ниже обсуждения в блоге стоит прочитать,

http://groups.google.com/group/android-kernel/browse_thread/thread/fbf7f94d80f5eb2c/4e9f6f4d22a40b36?pli=1

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

он говорит, вы можете успешно rt-patch linux для android.

BTW, определение архитектуры реального времени,

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

Выше ссылки: http://www.ibm.com/developerworks/linux/library/l-real-time-linux/

Итак, В принципе, почему в этой юниверсе вы хотите применить rt-patch к ядру android?


** ТОЛЬКО НАЙТИ **

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

http://users.ece.gatech.edu/~vkm/Android_Real_Time.pdf

Ответ 3

Я не знаю подробностей вплоть до уровня ядра, но предполагаю, что вы хотите создать версию RT Android.

Что касается этого желания, я бы подумал, что просто применение патча RT не означает, что вы попадете в реальную версию Android.

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

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

http://www.jcp.org/en/jsr/detail?id=1

Итак, в целом, возможно, возможно и, возможно, можно применить патч RT, но результат не будет делать то, что вы, вероятно, после.

Ответ 4

Если я пойму вопрос. у вас очень критическая система (например, система торможения автомобиля и т.д.), и вы хотите контролировать/отслеживать ее через отличный гий, созданный в андроиде (приборной панели)?

Я думаю, что вы всегда должны разделять критическую систему, начиная с gui. Это также на аппаратном уровне. Таким образом, вы могли бы делать все, что бы вы не делали в вашем графическом интерфейсе, но на критическую систему никогда не будет влиять (тяжелая загрузка процессора для графического графика и т.д.), Потому что он работает на своем собственном оборудовании.

Итак, у вас будет одна система: внутренний компьютер автомобилей (как они существуют сегодня) и совершенно другая система: отличный графический интерфейс на основе Android.

Связь между этими двумя вещами должна быть как можно более простой, уже существует множество стандартов для общения с внутренним компьютером, они в основном зависят от бренда (пример: VAG com).

Ответ 5

Как и другие пользователи, нет реальной причины, по которой вы не можете применять исправления RT и Android к ядру Linux. Но зависит ли от вас то, что вы пытаетесь сделать.

Вы не сможете получать приложения Android в реальном времени с полной поддержкой API. Тем не менее, вы должны иметь возможность записывать собственные приложения реального времени в C. См. Документацию для написания собственных действий. Вам просто нужно быть очень осторожным, чтобы вы не делали никаких вызовов API на Java (из-за возможности сбора мусора, для начинающих) и, возможно, даже многих системных вызовов Linux - из потоков, которые вы намереваетесь вести в в режиме реального времени. Поэтому, как и в любой реальной системе реального времени, большая часть работы будет зависеть от вас.

Всякий раз, когда kernel.org возвращается в Интернет, посмотрите RT wiki.

Ответ 6

Если ваша цель состоит в том, чтобы загружать ядро ​​Android с помощью RT-патча, то, вероятно, тривиально, если архитектура устройства, работающего под ядром, поддерживается патчем RT. Например, x86 хорошо поддерживается, и я считаю, что ARM тоже.

Я использую "тривиальный" в свободном смысле; патч RT может не применяться чисто к произвольному ядру с пользовательскими (например, не магистральными) изменениями, такими как ядро ​​Android, но архитектурная и более низкоуровневая интеграция в такие элементы, как управление concurrency, может быть одной из самых больших проблем. Патч RT обычно предназначен для работы с произвольными драйверами, например, но могут возникнуть другие проблемы: патч RT затрагивает многие подсистемы. С другой стороны, значительная часть RT-патча фактически превратила его в вышерасположенное ядро, что упрощает задачу в зависимости от разветвленной версии, на которой основано ядро ​​Android.

Предполагая, что архитектура поддерживается патчем RT, она успешно применяется к ядру Android с разрешенными конфликтами и загружается, ваша работа еще далека от завершения. Любые пользовательские пространства, такие как пользовательские интерфейсы, которые работают поверх JVM, должны быть осведомлены о временных ограничениях и т.д.

Для получения дополнительной информации о создании приложения с патчем RT вы можете ознакомиться с этой вики для RT-патча: http://rt.wiki.kernel.org/ (обратите внимание, что при время написания этого kernel.org не работает из-за недавнего нарушения безопасности).

Ответ 7

Вы можете применить два патча (ядро RT и изменения ядра Android), но помимо очевидной тяжелой работы по интеграции этих двух я подозреваю, что у вас будет хотя бы одна концептуальная проблема - Android использует систему блокировок, называемую "блокировкой бодрствования" ", чтобы контролировать, когда и на каком уровне система, на которой он работает, может перейти в режим энергосбережения.

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

Конечно, вы можете модифицировать патчи Android и обеспечить реализацию механизма wake lock "dummy", тем более что в автомобиле у вас есть гораздо больший аккумулятор, чем ваш средний планшет или смартфон, но это то, что вам понадобится для адресации.

Кроме того, это все, что я считаю, интеграция кода и тестирования.

Удачи.