Несколько вопросов относительно ядра Android - PullRequest
4 голосов
/ 08 сентября 2010

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

1) Есть ли в ОС Android режим ядра и режим пользователя, как в обычных настольных ОС?Также он поддерживает такие вещи, как виртуальная память?Также я слышал о Dalvik VMM.Создается ли копия dalvik VMM для каждого процесса?

2) Другой вопрос: я слышал, что android создает отдельную файловую систему для каждого процесса (каждого приложения).Это правда ?Если да, то как ОС поддерживает эти файловые системы и где они смонтированы.Имеет ли он иерархию, подобную системам на основе Unix?

3) Другой вопрос касается IPC в Android.Какие вяжущие в Android?Чем он отличается от обычных механизмов IPC, таких как каналы, очереди сообщений и т. Д.

4) Еще один вопрос, не относящийся к Android, но как драйвер обращается к дискам на основе Flash, таким как твердотельные накопители и т. Д. Например: обычный блок жесткого дискаможно определить по цилиндру, сектору и гусенице.

Ответы [ 3 ]

6 голосов
/ 09 сентября 2010

1.«Ядро Android» - это ядро ​​Linux.

1a.Нет, вы не слышали о «Dalvik VMM», вы слышали о «Dalvik VM», который является просто новым видом Java VM.Он запускает приложения Java.Нет магии.Нет, как-то не существует виртуальной машины Dalvik, связанной с «каждым процессом», но да, каждое приложение запускается в независимом процессе.Нет. Есть структура каталогов, а не отдельные файловые системы.

3. Почему Биндер?

4.Android использует обычные устройства Linux MTD и MTD-Block.И мир LBA, будь то для флэш-памяти или жестких дисков.CHS только для тех, кто путешествует во времени на тридцать лет в прошлое.

4 голосов
/ 09 сентября 2010

Имеет ли ядро ​​Android пространство ядра и пространство пользователя?

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

Так что да, у него есть ядро ​​и пространство пользователя.Например, у вас есть обычная файловая система / proc для связи между ядром и пространством пользователя.

Это правда, что каждое приложение работает в своем собственном процессе со своим собственным экземпляром DVM.

Вы можете прочитатьподробнее об этом на странице Что такое Android? .

Как выглядит структура файла приложения на Android?

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

/ data / data / packagename

Кроме этого,фактические файлы .apk находятся в

/ data / app

Я не совсем уверен в вашем вопросе, если это иерархическая система на основе UNIX.Я думаю, вы хотите знать, будут ли приложения размещены в / usr / bin / и так далее.Тогда нет.За исключением того, что вы сами пишете несколько бинарных файлов и создаете свой собственный образ, вам непременно следует поместить системные бинарные файлы в стандартные места FSH.

По третьему вопросу.Я не совсем уверен, что вы имеете в виду.Если вы имеете в виду UNIX IPC, то это ядро ​​2.6 со всеми его основными функциями, такими как состояния выше.Если вы имеете в виду удаленные вызовы процедур API, то вы можете взглянуть на Удаленные вызовы процедур .

Вопрос четвертый, насколько мне известно, или я не получил ваш вопрос.

Как правило, я бы порекомендовал вам очень интересные чтения.

Надеюсь, что это помогло.

0 голосов
/ 09 сентября 2010

1) Если вам нужны разрешения для различных операций, вам нужно включить их в манифесте.2) да.Каждое приложение имеет свою собственную файловую систему, но доступ к файлам осуществляется только по имени файла (без пути).Если вы хотите использовать внешнюю память, такую ​​как SD-карта, вам необходимо включить разрешение в манифесте и использовать полный путь / имя файла.3) Я не знаком с устройствами связывания Android (хотя я вижу их во время отладки), но передача сообщений между задачами очень проста.4) Блоки флэш-памяти идентифицируются по адресу.Флэш-память - это не ОЗУ, а произвольный доступ.

...