MIDOONY Logo

معرفی سیستم عامل اندروید - تاریخچه، مشخصات و معماری Android OS

1400/09/05
معرفی سیستم عامل اندروید - تاریخچه، مشخصات و معماری     Android OS

#اَندروید ( #Android ) یک #سیستم_عامل_موبایل است که توسعه آن با گوگل می باشد. اندروید بر پایه نسخه اصلاح ‌شده‌ای از هسته لینوکس و دیگر نرم‌افزارهای متن ‌باز طراحی شده و نخست در دستگاه‌های تلفن  همراه لمسی مانند تلفن هوشمند و تبلت استفاده شد، اما به ‌تازگی گوگل  Android TV را  برای تلویزیون وAndroid Auto  را برای خودرو و Wear OS را  برای پوشیدنی‌ها (مانند ساعت هوشمند) توسعه داده ‌است.
اندروید از سال ۲۰۱۱ پرکاربردترین سیستم ‌عامل موبایل و از سال ۲۰۱۳ پرکاربردترین سیستم ‌عامل برای تبلت‌ها بوده ‌است. از سال ۲۰۱۷ نیز بیش از ۲ میلیارد کاربر فعال ماهانه داشته ‌است.
حق امتیاز بیشتر قسمت‌های اندروید به صورت متن ‌باز ، براساس مجوز آپاچی نسخه ۲٫۰ (Apache License 2.0) ارائه می‌گردد. با اینکه سعی می‌شود تا بیشتر قسمت‌های این سیستم ‌عامل براساس همین مجوز ارائه گردد، استثناهایی نیز وجود دارد. برای نمونه، هسته لینوکس موجود در این سیستم ‌عامل با مجوز همگانی گنو نسخه ۲ (GPL v2) منتشر شده ‌است. 
بنا بر ترجمه واژه‌نامه کمبریج ، اندروید این گونه تعریف شده ‌است، یک ربات (ماشینی که توسط رایانه کنترل می‌شود) که به گونه‌ای ساخته شده تا شکل ظاهری شبیه به انسان داشته باشد. بنا بر این تعریف شاید بتوان واژه ربات انسان ‌نما را ترجمه مناسبی برای این واژه در نظر گرفت.
در اوت ۲۰۰۵ شرکت گوگل شرکت اندروید واقع در پالو آلتو، کالیفرنیا را خرید. شرکت کوچک اندروید که توسط "اندی رابین، ریچ ماینرز، نیک سیرز و کریس وایت" راه‌اندازی شده بود، در زمینه تولید نرم‌افزار و برنامه‌های کاربردی برای تلفن ‌های همراه فعالیت می‌کرد. اندی رابین، مدیر عامل اجرایی این شرکت، پس ‌از پیوستن اندروید به گوگل، به سمت قائم ‌مقام مدیریت مهندسی این شرکت و مسئول پروژه اندروید در گوگل منصوب شد.
تیم اندروید به ‌رهبری رابین فعالیت خود را برای تولید بستر تلفن همراه مبتنی بر هسته لینوکس آغاز کردند و نتیجه اولیه این پروژه در نشست خبری شرکت گوگل در ۵ نوامبر سال ۲۰۰۷، مطرح ‌کردن اتحادیه گوشی منبع باز بود.
نخستین گوشی مبتنی بر اندروید توسط شرکت اچ‌تی‌سی با همکاری تی-موبایل تولید شد. این گوشی که به فاصله کمتر از یک سال از تشکیل اتحادیه گوشی منبع باز یعنی در ۲۲ اکتبر ۲۰۰۸ تولید شد، در بازارهای مختلف به نام‌های اچ‌تی‌سی دریم، تی-موبایل جی۱، و ارا جی۱ به بازار عرضه گردید.
ویژگی‌های اندروید
•    اندروید از تمامی فناوری‌های اتصال (Connectivity) شاملGSM/EDGE, CDMA, EV-DO, UMTS، بلوتوث و ، وای-فای پشتیبانی می‌کند.
•    اندروید از فرمت‌های مختلف فایل‌های مالتی مدیا مثل MPEG-4, H.264, MP3, AAC, AMR, JPEG, PNG, GIF  پشتیبانی می‌کند.
•    اندروید برای ارسال پیغام‌های متنی یا همان اس‌ام‌اس (SMS) از فرم‌های SMS, MMS و XMPP پشتیبانی می‌کند.
•    مرورگر موجود در اندروید بر اساس فریم ورک اوپن سورس WebKit توسعه یافته‌است.
•    اندروید برای ذخیره داده‌ها و مدیریت بانک‌های اطلاعاتی سبک از نرم‌افزار SQLite استفاده می‌کند.
•    ابزارهای مختلف اندروید برای توسعه دهندگان به راحتی در دسترس است و توسط شرکت گوگل پشتیبانی می‌شوند. این ابزارها شامل کتابخانه‌ها، خطایاب، شبیه‌ساز گوشی و یک پلاگین برای Eclips است.
•    اندروید از سخت‌افزارهای مختلف همچون جی پی اس، دوربین‌های متنوع، سنسورهای خاص همچون سنسور مجاورت و… پشتیبانی می‌کند.
•    تصاویر و فایل‌های گرافیکی به وسیله OpenGL پردازش می‌شوند که کیفیت بالاتری خواهند داشت.

میزان پراکندگی نسخه‌های اندروید
بر پایه آماری که شرکت گوگل در۲۰۱۹ منتشر کرده بشرح ذیل می باشد :
•    نسخه  2.2                                        0.1 درصد
•    نسخه  2.3                                       0.3 درصد
•    نسخه  4                                           0.3 درصد
•    نسخه  4.1،   4.2   و 4.3                3.0 درصد
•    نسخه  4.4                                      6.9 درصد 
•    نسخه  5   و  5.1                             14.5 درصد
•    نسخه  6                                        16.9 درصد
•    نسخه  7    و  7.1                           19.2 درصد
•    نسخه  8    و  8.1                         28.3 درصد
•    نسخه  9                                        10.4 درصد
 

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

لایه های اصلی شامل:
•    Application and Widgets
•    Application Framework
•    Android Runtime 
•    Libraries
•    Linux Kernel

۱- لایه ی هسته ی لینوکس
پایین ترین لایه هسته ی لینوکس است. اندروید بر پایه لینوکس بنا شده است. کاربران گوشی های اندروید هرگز لینوکس را نمی بینند و در واقع از وجود لینوکس مطلع نمی شوند.حتی توسعه دهندگان نرم افزارها هم با این لایه درگیر نیستند ولی شما باید به عنوان یک برنامه ساز از وجود لایه لینوکس آگاه باشید. این لایه پایین ترین لایه است و نزدیک ترین لایه به سخت افزار می باشد.
۲- لایه ی کتابخانه ها
لایه ی کتابخانه ها روی لایه ی هسته ی لینوکس قرار دارد. این لایه، لایه ی کتابخانه های اختصاصی که با کد های C یا C++ نوشته شده است و برای یک سخت افزار با معماری خاص کامپایل شده است.
۳- لایه ی اندروید در زمان اجرا
این لایه شامل ماشین مجازی دالویک و کتابخانه های هسته ی جاوا است. نرم‌افزارهای جانبی اندرویدی با استفاده از زبان جاوا نوشته می‌شوند و برای ارتباط با لایه‌های زیرین سیستم عامل می‌توانند از کتابخانه‌های جاوایی اندروید استفاده کنند. بخش رابط کاربری سیستم عامل اندروید با زبان جاوا نوشته شده‌است و بسیاری از برنامه‌های اندروید هم با جاوا نوشته شده‌اند. اما این سیستم عامل، Java Virtual Machine  ندارد. برای اجرای برنامه‌های جاوایی روی این سیستم عامل، کدهای جاوا به کدهای Dalvik تبدیل می‌شوند و سپس روی Dalvik vitrual machine اجرا می‌شوند. دالویک یک ماشین مجازی جاوایی است که برای سیستم عامل اندروید بهینه شده‌است تا هم RAM و هم CPU و هم باتری کمتری مصرف کند. برنامه‌های جاوایی معمولی هم که روی گوشی‌های دیگر اجرا می‌شوند با استفاده از نرم‌افزارهای شبیه‌ساز ماشین مجازی جاوا مانند j2ME MIDP Runner روی این سیستم عامل قابل اجرا هستند.
۴- لایه چارچوب برنامه
بر طبق تصویر بالادر این لایه، سرویس ها و سیستم هایی مشاهده می شود که مهم ترین بخشهای آن در زیر آورده شده است :
. View System  مجموعه ای از viewها مانند  grids، lists ،buttons  و … که برای ساخت  UIها استفاده می شوند.
Content Providers ، برای اشتراک و کپسوله سازی بکار می رود یعنی برنامه ها را قادر می سازند تا به اطلاعات برنامه های دیگر مانند لیست تماس دسترسی پیدا کنند و یا اجازه ی دسترسی به اطلاعات خود توسط برنامه های دیگر را می دهند.
Resource Manager ، اجازه ی دسترسی به منابع برنامه را فراهم می کند. مانند دسترسی به تصاویر و فایل های Layout.
Notification Manager ، از طریق این برنامه قادر به نشان دادن هشدارها در نوار وضعیت می باشد.
Activity Manager ، مدیریت چرخه ی حیات را در دست دارد و به نحوه ی اجرای برنامه نظارت می کند.
Location Manager ، از این طریق می تواند سخت افزارهایی مانند GPS و Accelerometer (شتاب سنج) را کنترل کرد.
۵- لایه ی برنامه کاربردی و ویجت ها
بالاترین لایه، لایه ی برنامه ها و ویجت ها می باشد که کاربران نهایی فقط با آن سروکار دارند. کاربران نهایی از نرم افزارهای این لایه استفاده می کنند. این لایه شامل نرم افزارهای اختصاصی گوشی، بازی ها و نرم افزارهایی است که توسعه دهندگان تولید کرده اند. اندروید به همراه برنامه های مختلف از جمله Email،  dialer، Android Market، Contacts، Web Browser، Maps، Calender، SMS  ارائه می شود. تمام این برنامه ها با زبان جاوا نوشته شده اند و به کمک لایه های زیرین مخصوصا Android Runtime اجرا می شوند. برنامه ها و ویجت ها ابزارهای ارتباط و تعامل با کاربران نهایی هستند. این برنامه ها، تمام صفحه نمایش را در بر می گیرند و با کاربر تعامل دارند اما ویجت ها (Gadget ها) بر روی  Home Screen(صفحه اصلی) قرار دارند و به اندازه ی یک مستطیل کوچک صفحه نمایش را در اختیار می گیرند. 
 

0 332
دیدگاه کاربران
0 دیدگاه
شما هم دیدگاه خود را ارسال کنید