طریقه عملکرد سیستم عامل اندروید
سیستم عامل اندروید توسط گوگل در تاریخ 5 نوامبر 2007 به دنیا معرفی شد. در این مقاله نحوه کار این سیستم عامل و اجزای آن را بیان می کنیم
سیستم عامل اندروید که توسط گوگل در تاریخ 5 نوامبر 2007 به دنیا معرفی شد در ابتدا نام شرکت کوچکی با بنیان گذارانی به نام های اندی رابین ریچ ماینر نیک سیرز و کریس وایت بود. این شرکت در حوزه طراحی و ساخت نرم افزارهای موبایل و ساخت سیستم عامل جدیدی برای رقابت با سیستم عامل موفق آن زمان یعنی سیمبین که در گوشی های کمپانی نوکیا استفاده می شد فعالیت می کرد.
امتیاز این شرکت در سال 2005 توسط شرکت قدرتمند گوگل با مبلغ 50 میلیون دلار خریداری شد و سیستم عامل اندروید را بر پایه هسته لینوکس طراحی نمود. تقریبا هم زمان با اندروید شرکت اپل موبایل های هوشمند خود با سیستم عامل جدید خود یعنی IOS به بازار عرضه کرد و این آغاز رقابتی بزرگ در عرصه سیستم عامل¬های موبایل بود که خیلی زود سیستم عامل سیمبین از این رقابت جا ماند و روز های یکه تازی کمپانی نوکیا کم کم به پایان رسید.
کرنل یا هسته لینوکس چیست
کرنل، هسته سیستم عامل می باشد که تمام منابع سیستم را مانند پردازنده، حافظه و ... را به برنامه های دیگر اختصاص می دهد. سورس کد کرنل لینوکس شامل بیش از 21 میلیون خط کد و یکی از پر استفاده ترین سورس کد ها در دنیا می باشد. کرنل لینوکس علاوه بر تلفن های هوشمند، در دستگاه های دیگر مانند تلویزیون، کامپیوتر، سرور، اتومبیل، هواپیما، زیر دریایی و حتی در ایستگاه های بین المللی فضایی نیز استفاده شده است.
کرنل را می توان به یک ساختمان و اجزا آن تشبیه کرد. تمامی وسایل داخل ساختمان از زیرساخت های ساختمان به منظور استفاده صحیح بهره می برند. به عنوان مثال برای استفاده از یخچال در ساختمان به مکانی ثابت و پریز برق نیاز داریم پس آشپزخانه پریز برق و سیمکشی ساختمان جزئی از زیر ساخت های ساختمان به شمار می روند که منابع مورد نیاز مانند نیروی برق را در اختیار وسایل داخل ساختمان قرار می دهند. کرنل لینوکس یک هسته سیستم عامل اپن سورس است که در سال 1991 توسط لینوس توروالدز ساخته شد و پس از او هسته لینوکس به کمک توسعه دهندگان دیگر در سراسر جهان پیشرفت داده شد. از وظایف کرنل لینوکس می توان به موارد زیر اشاره کری:
کرنل لینوکس یک هسته سیستم عامل اپن سورس است که در سال 1991 توسط لینوس توروالدز ساخته شد و پس از او هسته لینوکس به کمک توسعه دهندگان دیگر در سراسر جهان پیشرفت داده شد. از وظایف کرنل لینوکس می توان به موارد زیر اشاره کرد:ذخیره سازی اطلاعات: حافظه با دسترسی تصادفی (رم) به منظور خواندن ونوشتن متغیر وداده ها در حافظه و دسترسی به حافظه دائمی برای ذخیره سازی و بازیابی اطلاعات بر روی ابزار های ذخیره سازی دائمی مانند هارد دیسک
مدیریت ابزار ها: مدیریت ابزار های خارجی مانند : USB، دوربین، بلوتوس، وای فای
زمان بندی کارها: تقسیم کردن زمان پردازشگر بین پردازش های مختلف و اولویت بندی کردن کار ها برای پردازش
ساختار اندروید
می توان گفت ساختار سیستم عامل اندروید شامل چهار لایه می باشد که کاربر با کمک این لایه ها با دستگاه تعامل می کند این لایه ها عبارتند از:
- Application
- Application Framework
- Libraries
- Linux kernel
لایه اپلیکیشن
اپلیکیشن ها اولین و سطحی ترین لایه می باشند وکاربر از این لایه با گوشی خود ارتباط برقرار می کند به عبارتی تمام نرم افزار های موجود در موبایل در این لایه قرار دارد.
لایه فریم ورک اپلیکیشن
لایه فریم ورک اپلیکیشن به نرم افزار و لایه بالایی این امکان را می دهد تا به سرویس های سطح بالا تر دسترسی پیدا کنند واین کار در اندروید با استفاده از کلاس های جاوا صورت می گیرد و توسعه دهندکان اندروید می توانند این سرویس ها را در نرم افزار خود فراخوانی کنند.از این سرویس ها می توان به موارد زیر اشاره نمود:
Activity Manager: همه جنبه های زمان حیات نرم افزار را کنترل می کند.
Content Providers: تمام نرم افزار ها برای برقراری ارتباط با یکدیگر به این سرویس نیاز خواهند داشت.
Resource Manager: دسترسی به منابع و اطلاعات وارد شده غیر کد های برنامه نویسی مانند رنگ ها و تکست ها را امکان پذیر می کند.
Notifications Manager: این سرویس برای مطلع کردن کاربر از چیزی حتی در زمان بسته بودن اپلیکیشن استفاده می شود
View System سرویسی برای تنظیمات وطراحی ظاهر نرم افزار
لایه کتاب خانه ها
این لایه مانند یک مترجم بین لایه هسته لینوکس و فریم ورک ها عمل می کند.این لایه شامل یک سری کتابخانه و android runtime می باشد. این کتابخانه ها را با زبان C و C++ نوشته اند و با کمک یک API توسعه دهندگان اندروید با زبان جاوا از این کتابخانه ها استفاده می کنند.
چند کتابخانه مهم در سیستم عامال اندروید:
- Android.app
- Android.content
- Android.opengl
- Android.database
- Android.os
- Android.text
- Android.view
- Android.widget
- Android.webkit
android runtime چیست
اندروید رانتایم یک کلید کامپوننت به نام دالویک را ایجاد می کند که به عبارتی نوعی ماشین مجازی جاوا می باشد که به صورت اختصاصی برای اندروید طراحی و بهینه سازی شده است.
ماشین مجازی دالویک چیست؟
این ماشین مجازی توسط دن برونستین جهت اجرا شدن برنامه ها بر روی دستگاه های مختلف با منابع محدود ساخته شد. این ماشین بر روی دستگاه های موبایلی استفاده می شود که منابع محدود با توان پردازش پایین و عمر باتری کم و حافظه اندک هستند ماشین مجازی دالویک فایل های با پسوند .dex اجرا می کند این فایل ها حاصل کامپایل کلاس های جاوا می باشند و در سیستم عامل اندروید SDK این تبدیل را انجام می دهد.
SDK چیست
SDK مخفف عبارت Software Development Kit و به معنی کیت توسعه نرم افزار می باشد. sdk ها تمامی ابزار مورد نیاز برای ساخت و طراحی در محیط های برنامه نویسی و یا پلتفرم های خاص را برای توسعه دهندگان فراهم می کند و باعث می شود روند کار طراحی اپلیکیشن موبایل راحت تر و سریع تر شود. از این رو شرکت گوگل برای سیستم عامل اندروید یک sdk با نام android SDK، در اختیار توسعه دهندگان قرار داده است که توسعه دهندگان با استفاده از ابزار آن می توانند اپلیکیشن های مورد نظر حود را راحت تر و سریع تر طراحی کنند.
همچنین شرکت اوراکل یک SDK برای توسعه دهندگان جاوا با نام Jdk (java development kit) ارائه داده است پس بنا بر این برای طراحی یک اپلیکیشن اندروید ما ابتدا باید SDK اندروید را نصب کنیم و از آنجایی که Android SDK بر پایه زبان برنامه نویسی جاوا می باشد پس قبل از آن باید JDK را نیز نصب نماییم.
یکی از ابزارهایی که android SDK در اختیار توسعه دهندگان قرار می دهد Emulator یا شبیه ساز می باشد. این ابزار این امکان را می دهد تا محیط اندروید را در سیستم عامل ویندوز شبیه سازی کرده و نرم افزار های در حال توسعه را تست و اجرا کرد.
تفاوت اپلیکیشن موبایل Native (بومی) با اپلیکیشن های Hybrid (ترکیبی) چیست؟
گوشیهای هوشمند در عصر مدرن به ابزاری بسیار کاربردی تبدیل شدهاند، زیرا مزایای متعددی مانند ارتباط فوری از طریق ایمیل و شبکههای اجتماعی، گشت و گذار در وب، سرگرمی، GPS و سایر برنامههای کاربردی را ارائه میکنند.
پارامترهای تاثیر گذار بر روی قیمت یک اپلیکیشن موبایل چیست
قیمت یک اپلیکیشن به فاکتورهای متعددی بستگی دارد که در این مقاله به بررسی آنها می پردازیم. پارامترهای ذکر شده در این مقاله بسیار تاثیر گذار می باشند و در زمان تصمیم گیری برای توسعه یه اپلیکیشن باید به آن ها توجه کنید.
هر آنچه در مورد دسترسی های اندروید باید بدانید
در هر اپلیکیشن اندروید فعالیت های زیادی می تواند صورت گیرد. بسیاری از این فعالیت ها می توانند پشت پرده باشند و اصلا کاربر از آن ها اطلاعی نداشته باشد. جهت جلوگیری از این فعالیت ها باید به پرمیشن های هر اپلیکیشن دقت کرد.
درباره زاوش:
شرکت مشاوران سیستم های پیشرفته زاوش علاوه بر خدمات طراحی سایت، نرم افزارهای موبایل و سئو به شما کمک می کند تا کلیه فرایندهای سازمانی خود را مکانیزه کنید و کسب و کار آنلاین خود را راه اندازی کنید.
نشانی:
تهران، اشرفی اصفهانی، بالاتر از نیایش، کوچه دوم، پلاک 15