يعتمد Android على Linux ، ولكن ماذا يعني ذلك؟
قد يعتمد Android على Linux ، ولكنه لا يعتمد على نوع نظام Linux الذي قد تكون استخدمته على جهاز الكمبيوتر الخاص بك. لا يمكنك تشغيل تطبيقات Android على توزيعات Linux النمطية ولا يمكنك تشغيل برامج Linux التي تعرفها على Android.
يشكل Linux الجزء الأساسي من Android ، ولكن Google لم تضف كل البرامج والمكتبات النموذجية التي قد تجدها في توزيعة Linux مثل Ubuntu. هذا يجعل كل الفرق.
"لينكس" مقابل لينكس نواة
الفرق الكبير هنا يعود إلى ما نعنيه بـ Linux. الناس يستخدمون مصطلح "لينكس" ليعني العديد من الأشياء المختلفة. في أبسط صورها ، لينكس تعني نواة لينكس. النواة هي الجزء الأساسي من أي نظام تشغيل.
ونشير أيضًا إلى توزيعات Linux على أنها ببساطة "Linux". ومع ذلك ، فإن توزيعة Linux ليست مجرد نواة لينكس. وهي تحتوي على العديد من البرامج الأخرى ، مثل أدوات GNU shell ، خادم Xorg رسومية ، سطح مكتب GNOME ، متصفح ويب Firefox ، وما إلى ذلك. لهذا السبب يعتقد البعض أن مصطلح جنو / لينكس يجب استخدامه في "توزيعات لينكس" مثل أوبونتو ، مينت ، ديبيان ، فيدورا ، آرتش ، أوبن سوزي ، وغيرها.
يستخدم Android نواة لينكس تحت غطاء المحرك. نظرًا لأن Linux مفتوح المصدر ، يمكن لمطوري برامج Android من Google تعديل نواة Linux لتناسب احتياجاتهم. يمنح نظام التشغيل Linux لمطوري برامج Android نظامًا أساسيًا تم إنشاؤه مسبقًا وحافظ عليه بالفعل لنظام التشغيل حتى لا يضطروا لكتابة نواة خاصة بهم. هذه هي الطريقة التي يتم بها بناء العديد من الأجهزة المختلفة - على سبيل المثال ، يستخدم PlayStation 4 نواة FreeBSD مفتوحة المصدر ، بينما يستخدم Xbox One نظام Windows NT kernel الموجود في الإصدارات الحديثة من Windows.
سترى أيضًا إصدار Linux kernel الذي يعمل على جهازك ضمن حول الهاتف أو حول الجهاز اللوحي في إعدادات Android.
اوجه الاختلاف
هناك بعض الجدل حول ما إذا كان Android مؤهلاً كـ "توزيعة لينكس". فهو يستخدم نواة لينكس وغيرها من البرامج ، ولكنه لا يشمل الكثير من برامج توزيعات لينكس التي تتضمن عادةً.
عند تشغيل جهاز Android ، يتم تحميل نواة لينكس مثلما يحدث في توزيعة Linux. ومع ذلك ، فإن الكثير من البرامج الأخرى مختلفة. لا يتضمن Android مكتبة جنو سي (glibc) المستخدمة في توزيعات لينكس القياسية ، ولا يشمل جميع مكتبات جنو التي ستجدها على توزيعة لينكس نموذجية. كما أنه لا يشتمل على خادم X مثل Xorg ، لذلك لا يمكنك تشغيل تطبيقات Linux الرسومية القياسية.
بدلاً من تشغيل تطبيقات Linux النموذجية ، يستخدم Android الجهاز الظاهري Dalvik لتشغيل التطبيقات المكتوبة في Java بشكل أساسي. يتم استهداف هذه التطبيقات على أجهزة Android ، وتوفر واجهات برمجة التطبيقات (APIs) Android بدلاً من استهدافها بشكل عام في نظام التشغيل Linux.
لماذا لا يمكنك تشغيل برنامج لينكس سطح المكتب على الروبوت
نظرًا لأن Android لا يشتمل على خادم X رسومي أو جميع مكتبات GNU القياسية ، فلا يمكنك ببساطة تشغيل تطبيقات Linux على Android. يجب عليك تشغيل التطبيقات المكتوبة خصيصًا لنظام Android.
يحتوي Android على shell مثل الذي ستجده على نظام التشغيل Linux. ليست هناك طريقة للوصول إليه من خارج الصندوق ، ولكن يمكنك تثبيت تطبيق مثل Android Terminal Emulator للوصول إلى بيئة المحطة الطرفية هذه.
بشكل افتراضي ، ليس هناك الكثير الذي يمكنك القيام به هنا. ستظل المحطة قيد التشغيل في بيئة مقيدة ، لذلك لا يمكنك الحصول على غلاف جذر كامل بدون تأصيل جهاز Android الخاص بك. العديد من الأوامر القياسية التي قد تحتاج إليها غير متوفرة - لهذا السبب يقوم الأشخاص الذين يقومون بتجذر أجهزتهم بتثبيت تطبيق BusyBox بشكل عام ، والذي يقوم بتثبيت العديد من الأدوات المساعدة لسطر الأوامر. يتم استخدام هذه الأدوات المساعدة من قبل التطبيقات للقيام بالأشياء مع وصول الجذر الخاص بهم.
لماذا لا يمكنك تشغيل برامج الروبوت على سطح المكتب لينكس
لا يتضمن نظام لينكس الجهاز الظاهري Dalvik ، لذلك لا يمكنه تشغيل تطبيقات Android. لا يمكن إسقاط الجهاز الظاهري Dalvik وجميع برامج Android الأخرى ببساطة على جهاز لينكس المكتبي - فستضطر إلى القيام بمزيد من العمل لجعل إصدار تطبيقات Android يعمل على نافذة على سطح المكتب القياسي من خلال Xorg ، على سبيل المثال. نظريا ، مع عمل كاف ، يمكن للمطورين أن يجعلوا Dalvik يعملون على سطح المكتب لينكس حتى يتمكن مستخدمو لينكس على سطح المكتب من تشغيل تطبيقات Android على أسطح مكاتبهم. حاول Ubuntu النائم حاليًا في منتج Android القيام بشيء من هذا القبيل ، فدمج Ubuntu و Android على الهاتف والسماح بتطبيقات Android تلك على سطح مكتب Ubuntu.
يحاول BlueStacks ومحاكاة تطبيقات Android الأخرى إجراء ذلك لنظامي التشغيل Windows و Mac. يتم تشغيل Android على الأجهزة الافتراضية في جهاز ظاهري ، مما يسمح لهم بتشغيل تطبيقات Android - مع غرامة أداء - على سطح المكتب. هذه الحلول لم يثبت أنها شائعة جدا ، رغم ذلك.
يستند نظام تشغيل Chrome من Google أيضًا إلى نظام التشغيل Linux. مثل نظام التشغيل Android ، لا يوفر نظام التشغيل Chrome نظامًا قياسيًا لنظام النوافذ X ، لذلك لا يمكن تشغيل تطبيقات Linux القياسية على نظام التشغيل Chrome. على عكس نظام التشغيل Android ، يقترب نظام التشغيل Chrome من توزيعات Linux القياسية على سطح المكتب حتى يمكنك استخدام وضع مطور البرامج لتثبيت برنامج سطح المكتب Linux المفقود.
Image Credit: رانتي على Flickr وعلم التشريح وعلم وظائف الأعضاء في Android