تعداد بازدید: 112

معماری سیستم عامل اندروید

برای دانلود ویدئو روی دکمه دانلود کلیک کنید

در این قسمت قصد داریم تا معماری (architecture) سیستم عامل اندروید رو بررسی اجمالی داشته باشیم . در یک نگاه کلی این معماری بصورت stack یا پشته ای قرار گرفته .ما در این قسمت هر یک از اجزای این سیستم عامل که به طور خلاصه تشگیل شده از لایه های application , application framework , android runtime , libraries , linux kernel رو مورد بررسی قرار میدیم.

معماری سیستم عامل اندروید از یک نگاه کلی

معماری اندروید از یک نگاه کلی

در یک نگاه کلی معماری اندروید از لایه های application , application framework , android runtime , libraries , linux kernel بصورت پشته ای تشکیل شده است.

معماری سیستم عامل اندروید به صورت کامل تر

معماری سیستم عامل اندروید

لایه هسته لینوکس Linux Kernel

هسته لینوکس در حقیقت لایه اصلی در معماری اندروید محسوب می شه. کل سیستم عامل اندروید بر روی هسته لینوکس ۲٫۶ ساخته شده و شرکت گوگل هم از لحاظ معماری تغییرات زیادی رو روش پیاده کرده. در اصل اندروید هسته لینوکس را برای کارکردهای اصلی خودش استفاده میکنه، برای مثال اندروید مدیریت اصلی حافظه، مدیریت پردازش ها، شبکه، امنیت و … رو به کمک هسته لینوکس انجام میده.
مچنین هسته، تمام آنچه برای قدرتمند بودن سیستم عامل نیاز است؛ مثل قابلیت های شبکه بندی و طیف وسیعی از درایورهای سخت افزاری را که به عنوان واسط عمل می کنند، پشتیبانی می کند.

Libraries

در بالاتر از هسته ی لینوکس کتابخانه ها که شامل موتور مرورگر منبع باز WebKit، کتابخانه ی شناخته شده libc، پایگاه داده SQLite که در ذخیره سازی و به اشتراک گذاشتن داده های برنامه بسیار کارآمد است، کتابخانه هایی به منظور انجام بازی، ضبط صدا و ویدئو، کتابخانه های SSL که امنیت ارتباط ما با اینترنت را تامین می کنند و مانند این ها قرار دارند.

مثال هایی از کتابخانه های اندروید

  • app : برای دسترسی به مدل نرم افزار را می باشد .
  • content : برای دسترسی به محتوا، اعلام پیام و ارتباط بین نرم افزار ها و قطعات برنامه .
  • database :  برای مدیریت کلاس های پایگاه داده ی SQLite مورد استفاده قرار می گیرد. (این پایگاه داده در آینده مورد بررسی قرار می گیرد).
  • opengl: رابط بین جاوا و OpenGL ES 3D برای بارگزاری گرافیکی API است.
  • os : دسترسی نرم افزار ها را به خدمات استاندارد سیستم عامل نظیر پیام ها، سرویس ها و ارتباط بین فرآیند ها فراهم می کند.
  • text : جهت نمایش و تغییر متن در صفحه نمایش دستگاه مورد می باشد.
  • view : برای ساختن قسمت های اساسی رابط کاربری برنامه مورد استفاده قرار می گیرد.
  • widget : این موارد که در قسمت های آتی از آن ها استفاده می کنیم شامل ویجت ها یک مجموعه ی غنی شامل اجزای آماده رابط کاربری مثل دکمه ها، دکمه های رادیویی، ورودی های متن،  دکمه های ضامن، چک لیست ها، برچسب ها و غیره را تشکیل می دهند.(در اندروید استودیو به صورت گرافیکی قابل استفاده است).
  • webkit : مجموعه کلاس هایی که امکان استفاده از مرورگر وب رو برای کاربر فراهم می آورد.

نکته : در لایه نرم افزاری اندروید کتابخانه ها بر اساس زبان C\C++ نوشته شده اند اما در زمان اجرای برنامه کتابخانه ها بر اساس زبان جاوا پشتیبانی می شوند.

در همین سطح از پشته اندروید، Android Runtime قرار دارد که شامل کتابخانه‌های Java‌ است که در ساخت برنامه‌های اندروید به کار می‌رود و برای اجرای آن‌ها کاملاً حیاتی می‌باشد.

بخش دیگه پشته dalvik virtual machin است . ماشین های مجازی نرم افزار هایی هستند که روی یک سیستم عامل نصب می شن و امکان استفاده از منابع سیستم عامل جاری رو برای سایر سیستم عامل ها فراهم می آورند . کلن مفهوم ماشین مجازی خودش رو با زبان جاوا نشون داد . به طوری که برای اجرای برنامه های یک سیستم عامل با استفاده از ماشین مجازی می تونیم اون رو اجرا کنیم.

یکی از مزایای استفاده از ماشین مجازی در سیستم عامل اندروید اینه که هیچ نرم افزاری از منابع نرم افزار دیگه استفاده نمی کنه و این امر باعث میشه که اگر نرم افزاری crash کرد کارکرد نرم افزار های دیگه از با مشکل مواجه نشه.

ماشین مجازی dalvik در مرور زمان توسط گوگل تغییراتی روش ایجاد شد و گوگل در سیستم عامل از Art استفاده کرد.

ART از dalvik سریعتره و منابع کمتری از سخت افزار رو استفاده می کنه و در نتجه عملکرد باتری دستگاه هم بیشتر خواهد بود و همچنین زمان بوت شدن در ART سریعتر از dalvik است.

مقایسه دو گوشی با دو برند یکسان که یکی از dalvik استفاده می کنه و دیگری از ART

لایه Application Framework

این لایه یه سری امکانات سطح بالا رو برای توسعه دهندگان فراهم می کنه . این امکانات با استفاده از کلاس های جاوا قابل دستیابی هستند و توسعه دهندگان این امکان رو دارند تا از این امکانات در برنامه خودشون استفاده کنند.

کنترل چرخه حیات یک برنامه (Activity Manager) ، امکان اشتراک داده با سایر برنامه ها (Content Providers) ، دسترسی به منابع سیستم(Resource Manager) ، استفاده از اعلان ها و هشدار ها به کاربران (Notifications Manager) و استفاده از مجموعه قابل توسعه view جهت ایجاد رابط کاربری نرم افزار از مجموعه امکانات این لایه است.

Applications

بالاترین لایه در سیستم عامل اندروید Application است که نرم افزارهایی که تولید می کنید در این لایه نصب می شوند. به طور مثال نرم افزار های دیکشنری ، بازی ها و غیره.

نکته پایانی : اگر مفاهیم این جلسه کمی برای شما مبهم بود این امر طبیعیه و جای نگرانی نیست . در آینده هر قدر که جلوتر بریم با این مفاهیم بهتر آشنا میشید.

 

 

 

 

 

اشتراک گذاری :

مدرس دوره های جاوا اندروید و پایتون به صورت حضوری و مجازی

۰ دیدگاه برای معماری سیستم عامل اندروید

پاسخ دهید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *