Начална » как да » Android е базиран на Linux, но какво означава това?

    Android е базиран на Linux, но какво означава това?

    Android може да е базиран на Linux, но не се основава на типа на системата Linux, която може да сте използвали на вашия компютър. Не можете да стартирате Android приложения на типични Linux дистрибуции и не можете да стартирате Linux програмите, които сте запознати с Android.

    Linux съставлява основната част от Android, но Google не е добавил всички типични софтуерни и библиотеки, които бихте намерили в дистрибуция на Linux като Ubuntu. Това прави всичко различно.

    “Linux” срещу Linux ядрото

    Голямата разлика тук се свежда до това, което имаме предвид под Linux. Хората използват термина "Линукс", за да означават много различни неща. В най-основните си версии, Linux означава ядрото на Linux. Ядрото е основната част на всяка операционна система.

    Ние също се отнасяме към дистрибуциите на Linux като просто „Linux“. Въпреки това дистрибуциите на Linux не са само ядрото на Linux. Те съдържат много други части на софтуера, като например помощните програми за черупки GNU, графичния сървър Xorg, работната среда на GNOME, уеб браузъра на Firefox и т.н. Ето защо някои хора мислят, че терминът GNU / Linux трябва да се използва за „дистрибуции на Linux“ като Ubuntu, Mint, Debian, Fedora, Arch, openSUSE и други..

    Android използва ядрото на Linux под капака. Тъй като Linux е с отворен код, разработчиците на Android на Google могат да променят ядрото на Linux, за да отговарят на техните нужди. Linux дава на разработчиците на Android предварително изградено ядро, което вече е запазено, за да започне с това, така че не е необходимо да пишат собственото си ядро. Това е начинът, по който са изградени много различни устройства - например, PlayStation 4 използва ядрото с отворен код FreeBSD, докато Xbox One използва ядрото на Windows NT, открито в модерните версии на Windows..

    Можете дори да видите версията на ядрото на Linux, която се изпълнява на вашето устройство, в раздела За телефон или За таблет в Настройките на Android.

    Разликите

    Има някакъв дебат относно това дали Android се квалифицира като "Linux дистрибуция". Той използва ядрото на Linux и друг софтуер, но не включва голяма част от софтуерните дистрибуции, които Linux обикновено включват.

    Когато стартирате устройство с Android, ядрото на Linux се зарежда точно както би било при Linux дистрибуция. Въпреки това, голяма част от другия софтуер е различен. Android не включва библиотеката GNU C (glibc), използвана на стандартни дистрибуции на Linux, нито включва всички библиотеки на GNU, които бихте намерили в типична Linux дистрибуция. Той също не включва X сървър като Xorg, така че не можете да стартирате стандартни графични Linux приложения.

    Вместо да използва типични Linux приложения, Android използва виртуалната машина Dalvik, за да изпълнява по същество приложения, написани на Java. Тези приложения са насочени към устройства с Android и интерфейси за приложно програмиране (API), които Android предлага, вместо да бъдат насочени към Linux като цяло.

    Защо не можете да стартирате софтуер за Linux на Android

    Тъй като Android не включва графичен X сървър или всички стандартни библиотеки на GNU, не можете просто да изпълнявате Linux приложения на Android. Трябва да стартирате приложения, написани специално за Android.

    Android има черупка като тази, която ще намерите в Linux. Няма достъп до нея, но можете да инсталирате приложение, подобно на Android Terminal Emulator, за да получите достъп до тази терминална среда.

    По подразбиране тук не можете да направите много. Терминалът ще продължи да работи в ограничена среда, така че не можете да получите пълна коренова обвивка без вкореняване на вашето устройство Android. Много стандартни команди, които може да ви трябват, не са достъпни - затова хората, които корени в устройството си, обикновено инсталират приложението BusyBox, което инсталира много помощни програми от командния ред. Тези помощни програми се използват от приложения, за да правят неща с коренния им достъп.

    Защо не можете да стартирате Android софтуер на Desktop Linux

    Linux не включва виртуалната машина Dalvik, така че не може да работи с Android приложения. Виртуалната машина Dalvik и всички останали софтуер на Android не могат просто да бъдат пуснати на десктоп Linux машина - ще трябва да направите повече работа, за да направите Android приложенията да се извеждат в прозорец на стандартен десктоп, например чрез Xorg. Теоретично, с достатъчно работа, разработчиците можеха да накарат Dalvik да работи на десктоп Linux, така че потребителите на десктоп Linux да могат да работят с Android приложения на десктопите си. Сега пасивният продукт на Ubuntu за Android се опита да направи нещо подобно, интегрирайки Ubuntu и Android на телефона и позволявайки на тези Android приложения да работят на работния плот на Ubuntu.

    BlueStacks и други емулатори на Android приложения се опитват да направят това за Windows и Mac. Те работят с Android на виртуален хардуер във виртуална машина, което им позволява да изпълняват приложения за Android - с наказание за представяне - на работния плот. Тези решения обаче не се оказаха много популярни.


    Chrome OS на Google също се основава на Linux. Подобно на Android, Chrome OS не осигурява стандартна X прозоречна система, така че стандартните Linux приложения не могат да се изпълняват в Chrome OS. За разлика от Android, Chrome OS е по-близо до стандартните настолни Linux дистрибуции, така че можете да използвате режима на програмист, за да инсталирате липсващия Linux десктоп софтуер.

    Кредит за изображения: Ранти на Flickr, Анатомия и физиология на Android