mohammadreza jafari
mohammadreza jafari
خواندن ۲ دقیقه·۲ سال پیش

معماری اندروید چیست؟

به عنوان یک برنامه نویس اندروید شما باید به این سوال جواب بدید که معماری سیستم عامل اندروید چیه ؟

اصلا چرا باید بدونیم چیه ؟ ماکه کدهامونو مینویسیم و اجرا میکنیم دیگه :/

معماری اندروید برای اینه که کار کاربرا و برنامه نویسا راحت تر بشه و اونها رو درگیر جزئیات سخت افزاری و پیچیدگی سیستم عامل نکنه همین !

قبل از هر چیزی یه توضیح کوچولو بدم که اندروید یه سیستم عامل open source بر پایه لینوکسه یعنی این سیستم عامل گوگولی که انقد باحاله هستش لینوکسه

عکس زیر اجزای اصلی پلتفرم سیستم عامل اندرویدو نشون میده

هسته لینوکسی (Linux Kernel)

اول از همه چی ، گفتم سیستم عامل اندروید بر پایه هسته لینوکسه

مثلا Android RunTime(ART) برای عملکردهایی مثل Threading یا سطح پایین حافطه به هسته لینوکسی خود متکی است و همونطور که داخل عکس میبینین قسمت هایی مثل USB ، Audio , .... به این قسمت مربوط میشود .

لایه انتزاعی سخت افزاری (HAL)

لایه Hardware Abstraction Layer به معنی لایه انتزاعی سخت افزاری است

لایه HAL یک رابط استنداردی ارائه میده که قابلیت های سخت افزاری دستگاه رو در دسترس سطح بالاتری از خودش که java API هستش قرار میده .

این لایه از چندین ماژول کتابخانه تشکیل شده که هر کدوم یک رابط برای نوع خاصی از اجزای سخت افزاری مانند دوربین یا ماژول بلوتوث پیاده سازی می کنه.

قسمت Android Runtime

برای دستگاه‌هایی که Android نسخه 5.0 (سطح API 21) یا بالاتر دارن هر برنامه در فرآیند خود و با نمونه‌ای از Android Runtime (ART) اجرا می‌شود. ART برای اجرای چندین ماشین مجازی بر روی دستگاه‌های با حافظه کم با اجرای فایل‌های DEX نوشته شده .

قسمت Native C / C++ Libraries

بسیاری از اجزا تشکیل دهنده یا مؤلفه‌ها و سرویس‌های اصلی سیستم اندروید، مثل ART و HAL، از کدهای بومی ساخته شده‌ که به کتابخانه‌های بومی نوشته شده در C و C++ نیاز دارند.

لایه Java API Framework

خلاصه و مفید بخوام بگم کل ویژگی های سیستم عامل اندروید از طریق API های نوشته شده در دسترسته :)

حالا که فهمیدی این لایه کارش چیه لایه HAL رو میتونی بهتر درک کنی

لایه System APP

اندروید دارای مجموعه ای از برنامه های اصلی برای ایمیل، پیام کوتاه، تقویم، مرور اینترنت، مخاطبین و موارد دیگر است که در این لایه قرار میگیرند.

لینک منبع :)


معماری اندرویدلایه های اندرویدسیستم عامل اندرویدقسمت های مختلف اندرویدسیستم عامل
علاقه مند به دنیای برنامه نویسی و نرم افزار
شاید از این پست‌ها خوشتان بیاید