2013-11-24 3 views
3

Я только что изучаю экзамен для Android, и одна вещь, на которую я не могу разглядеть, - это Android Dalvik VM/Linux Kernel. Я понимаю, что на типичной машине ОС сидит на вершине Лис ядра это:Есть ли у Android «хост» ОС?

hardware > kernel > OS > applications 

Но на Android это выглядит следующим образом:

hardware > kernel > Dalvik VM > app 
        > Dalvik VM > app 

Если это верно ли это означает, что заключается в том, что единственное, что существует между ядром и приложением, это Dalvik VM и что в принципе нет «операционной системы Android», например, в Windows?

ответ

2

Определение ОС несколько нечеткое, однако ядро, безусловно, является частью ОС. Я думаю, было бы общепринято, что ОС не просто работает на вершине ядра.

Нечеткость определения заключается в том, какая часть неядерного программного обеспечения считается частью ОС по сравнению с другой библиотекой/сервисом/сервером. Настольная машина и мой Android-телефон запускают Linux, но в целом они будут считаться запущенными различными ОС.

Является ли libc частью настольной ОС? Наверное, да, так как он обеспечивает API, ожидаемый приложениями, ориентированными на ОС, а внутри libc - это то, где фактически выполняются системные вызовы в ядро. Является ли Dalvik VM частью ОС Android? Наверное, да, потому что все приложения для Android содержат код, который может быть выполнен только с помощью Dalvik VM.

Удалите libc, и нет никаких приложений, которые могут запускаться, потому что никакое практическое программное обеспечение напрямую не нацелено на интерфейсы ядра Linux. Удалите Dalvik VM, и Android-приложение не будет запущено. Поэтому, возможно, эти основные части должны быть названы частью ОС.

Как насчет не столь существенных частей, с которыми мог бы справиться некоторый набор программ? Там он становится нечетким. Если вы считаете ОС тем, что предлагает и разрешает доступ к общим ресурсам, таким как аппаратное обеспечение между несколькими программами, тогда вы должны учитывать программы и библиотеки пользовательского пространства, которые делают то же самое или являются стандартным способом доступа к интерфейсам ядра, как и большая часть ОС.

+0

Очень хороший ответ. – joe

3

Dalvik - это неотъемлемая часть ОС Android, которая запускается практически для всех приложений Android.

Android OS Architecture:

Android Architecture

+0

Возможно, вы захотите указать ссылку на атрибуцию этой диаграммы. –

0

Вы можете сравнить его непосредственно на виртуальной машине Java или Common Language Runtime в платформе .NET .Это оптимизирована с учетом как ресурс калекой мобильных устройств. Он работает на вершине android os для запуска ваших приложений.

Смежные вопросы