گاما رو نصب کن!

{{ number }}
اعلان ها
اعلان جدیدی وجود ندارد!
کاربر جدید

جستجو

پربازدیدها: #{{ tag.title }}

میتونی لایو بذاری!
نمونه سوال محتوای آموزشی آزمون آنلاین پرسش و پاسخ درسنامه آموزشی مدرسه‌یاب معلم‌ها

سیستم عامل اندروید: یک سیستم عامل پرکاربرد است که بیشتر روی گوشی‌های هوشمند و تبلت‌ها نصب می‌شود.

بروزرسانی شده در: 16:08 1405/02/1 مشاهده: 50     دسته بندی: کپسول آموزشی

سیستم عامل اندروید: معماری، ویژگی‌ها و نقش آن در زندگی دیجیتال

بررسی ساختار لایه‌ای، امنیت، تنوع سخت‌افزاری و کاربردهای روزمرهٔ محبوب‌ترین سیستم عامل موبایل
خلاصهٔ مقاله: اندروید یک سیستم عامل متن‌باز بر پایهٔ هستهٔ لینوکس است که بیش از 70 درصد گوشی‌های هوشمند جهان را پشتیبانی می‌کند. در این مقاله، معماری چهارلایهٔ اندروید (هسته، لایهٔ انتزاع سخت‌افزار، کتابخانه‌ها و چارچوب برنامه) را بررسی می‌کنیم. همچنین مدل امنیتی، تنوع نسخه‌ها و کاربردهای عملی آن مانند مدیریت حافظه و چندوظیفگی را با مثال‌های ساده توضیح می‌دهیم. در پایان، چالش‌های مفهومی مانند پراکندگی نسخه‌ها و مدیریت مصرف باتری تحلیل می‌شود.

۱. معماری لایه‌ای اندروید: از هسته تا برنامه‌های کاربردی

سیستم عامل اندروید مانند یک کیک چندلایه طراحی شده است. هر لایه وظیفهٔ مشخصی دارد و با لایهٔ دیگر ارتباط برقرار می‌کند. این طراحی باعث می‌شود برنامه‌نویسان بدون نیاز به دانستن جزئیات سخت‌افزاری، برنامه‌های خود را بنویسند. در زیر چهار لایهٔ اصلی را مشاهده می‌کنید:

نام لایه (معادل فارسی) کار اصلی مثال ساده
برنامه‌های کاربردی برنامه‌هایی که کاربر مستقیماً با آنها کار می‌کند مرورگر کروم، اینستاگرام، بازی
چارچوب برنامه ارائهٔ سرویس‌های استاندارد به برنامه‌ها (مثل اعلان‌ها) مدیریت صفحه‌ها و دسترسی به دوربین
کتابخانه‌ها و زمان اجرای اندروید کدهای آماده برای نمایش گرافیک، پایگاه داده و... کتابخانهٔ اس‌کی‌ال برای رسم تصاویر
هستهٔ لینوکس مدیریت حافظه، پردازنده و درایورهای سخت‌افزار تخصیص 2 گیگابایت رم به یک بازی سنگین

یک مثال ساده: وقتی در بازی گوشی خود روی صفحه ضربه می‌زنید، این رویداد ابتدا توسط لایهٔ برنامه (خود بازی) دریافت می‌شود. سپس با کمک چارچوب برنامه، به لایهٔ کتابخانه‌ها ارسال می‌گردد تا اثر لمس محاسبه شود. در نهایت هستهٔ لینوکس با استفاده از درایور صفحهٔ لمسی، سیگنال الکتریکی را به مختصات (x,y) تبدیل کرده و پاسخ حرکت را روی نمایشگر رسم می‌کند. این فرایند در کمتر از 16 میلی‌ثانیه انجام می‌شود.

۲. مدیریت حافظه و چندوظیفگی در اندروید

اندروید از سیستمی به نام مدیریت حافظه بر اساس فعالیت استفاده می‌کند. وقتی شما برنامه‌ای را باز می‌کنید، اندروید بخشی از حافظهٔ رم را به آن اختصاص می‌دهد. اگر حافظه پر شود، سیستمی به نام «کشتن فرایند کم‌اهمیت» فعال می‌شود. برای درک بهتر، فرمول زیر میزان حافظهٔ در دسترس را نشان می‌دهد:

$ حافظه \ آزاد = حافظه \ کل - (حافظه \ سیستم + حافظه \ برنامه‌ها + حافظه \ کش )$

در این رابطه، حافظهٔ کش شامل داده‌هایی است که برنامه‌ها برای اجرای سریع‌تر ذخیره می‌کنند. اندروید بر اساس اولویت، فرایندها را به پنج دسته تقسیم می‌کند:

  • فرایند پیش‌زمینه (برنامهٔ در حال استفاده)
  • فرایند قابل مشاهده (برنامه‌ای که بخشی از آن دیده می‌شود)
  • فرایند سرویس (مثل پخش موسیقی در پس‌زمینه)
  • فرایند پشتیبان (برنامه‌های مینیمایز شده)
  • فرایند خالی (برای کش نگهداری می‌شود)

اگر حافظه کم شود، ابتدا فرایندهای خالی و سپس پشتیبان حذف می‌شوند. این روش باعث می‌شود برنامهٔ در حال اجرا هرگز از حافظه بیرون نیفتد. برای نمونه، وقتی در حال تماشای ویدیو هستید و اعلان پیامک می‌آید، اندروید برنامهٔ پیام‌رسان را در دستهٔ «قابل مشاهده» قرار می‌دهد و حافظهٔ کافی برای هر دو را نگه می‌دارد.

نکتهٔ فرمولی: مقدار حافظهٔ اختصاصی به هر برنامه از طریق رابطهٔ زیر محاسبه می‌شود (در صورتی که $P$ تعداد فرایندها و $M_{total}$ حافظهٔ کل باشد): $M_{app} \le \frac{M_{total} - M_{kernel}}{P \times 1.5}$ این رابطه تضمین می‌کند که هیچ برنامه‌ای بیش از سهم خود حافظه اشغال نکند.

۳. کاربرد عملی: مدل امنیتی مجوزها (دسترسی‌ها)

یکی از نقاط قوت اندروید، سیستم مجوزهاست. هر برنامه برای دسترسی به سخت‌افزارهایی مانند دوربین، موقعیت مکانی یا میکروفون باید از کاربر اجازهٔ صریح بگیرد. از اندروید 6 به بعد، مجوزها در زمان اجرا (هنگام نیاز) درخواست می‌شوند نه هنگام نصب. این کار امنیت را به شدت افزایش می‌دهد.

مثال عینی: فرض کنید برنامهٔ «نقشه» را نصب کرده‌اید. برای نمایش مسیر شما، این برنامه به موقعیت مکانی نیاز دارد. وقتی برای اولین بار دکمهٔ «مکان‌یابی» را لمس می‌کنید، اندروید پنجره‌ای نشان می‌دهد با عبارت «آیا به نقشه اجازه می‌دهید به موقعیت مکانی شما دسترسی پیدا کند؟» اگر اجازه ندهید، برنامه فقط نقشهٔ ثابت را نشان می‌دهد. اگر اجازه دهید، اندروید تابع زیر را به صورت خودکار اجرا می‌کند:

$Access = \begin{cases} 1 & \text{if user grants permission} \\ 0 & \text{if denied} \end{cases}$

در این تابع، $Access=1$ به معنای اجازهٔ کامل و $Access=0$ به معنای عدم دسترسی است. برنامه نمی‌تواند این مقدار را تغییر دهد و اندروید هر بار که برنامه سعی در استفاده از دوربین یا موقعیت دارد، این مقدار را بررسی می‌کند.

۴. چالش‌های مفهومی در اندروید

پرسش ۱: چرا برخی گوشی‌های اندرویدی به‌روزرسانی نسخهٔ جدید را دریافت نمی‌کنند؟
پاسخ: هر سازنده (مانند سامسونگ، شیائومی) باید نسخهٔ جدید اندروید را با درایورهای سخت‌افزاری خود تطبیق دهد. این کار زمان‌بر و هزینه‌بر است. همچنین برخی گوشی‌های قدیمی حافظه یا پردازنده‌ای ضعیف دارند که نمی‌توانند نسخهٔ جدید را روان اجرا کنند. بنابراین شرکت‌ها معمولاً فقط برای مدل‌های پرچمدار و تا 2 یا 3 سال به‌روزرسانی ارائه می‌دهند.
پرسش ۲: چرا اندروید نسبت به سیستم عامل رقیب، رم بیشتری مصرف می‌کند؟
پاسخ: اندروید از یک ماشین مجازی به نام آرت (زمان اجرای اندروید) استفاده می‌کند که برنامه‌ها را به صورت «همزمان-با-ترجمه» اجرا می‌کند. این روش باعث می‌شود برنامه‌ها سریع باز شوند، اما حافظهٔ بیشتری نسبت به روش اجرای مستقیم اشغال شود. به عنوان مثال، یک برنامهٔ ساده در اندروید ممکن است 50 مگابایت رم بگیرد، در حالی که در برخی سیستم‌عامل‌های دیگر 20 مگابایت نیاز داشته باشد. این یک تصمیم طراحی برای افزایش سرعت پاسخگویی است.
پرسش ۳: آیا باز بودن متن‌باز بودن اندروید به معنای ناامن بودن آن است؟
پاسخ: خیر، متن‌باز بودن به این معناست که کد منبع در دسترس عموم است. همین موضوع باعث می‌شود هزاران محقق امنیتی در سراسر جهان کدها را بررسی کرده و حفره‌های امنیتی را زودتر پیدا کنند. در مقابل، سیستم‌عامل‌های بسته فقط توسط تیم داخلی شرکت بررسی می‌شوند. آمارها نشان می‌دهد که سرعت رفع آسیب‌پذیری‌های بحرانی در اندروید به طور میانگین 30 روز است که از بسیاری از نرم‌افزارهای بسته بهتر عمل می‌کند.

۵. جدول مقایسهٔ نسخه‌های مهم اندروید

نام نسخه سال انتشار ویژگی کلیدی وضعیت پشتیبانی
اندروید 4.4 کیت‌کت 2013 بهبود مصرف رم در دستگاه‌های ارزان متوقف شده
اندروید 6.0 مارشمالو 2015 مجوزهای زمان اجرا و مدیریت حافظه متوقف شده
اندروید 10 2019 حالت تاریک سراسری و حریم خصوصی پیشرفته فعال (فقط امنیتی)
اندروید 13 2022 بهینه‌سازی تبلت‌ها و زبان‌های راست‌به‌چپ فعال (کامل)
نکات پایانی: اندروید با بیش از یک دهه تکامل، به سیستمی پایدار و قدرتمند تبدیل شده است. معماری لایه‌ای آن امکان اجرا روی میلیون‌ها دستگاه با سخت‌افزارهای گوناگون را فراهم می‌کند. مدل امنیتی مبتنی بر مجوزهای زمان اجرا و مدیریت هوشمند حافظه، دو ستون اصلی موفقیت آن هستند. با این حال، چالش پراکندگی نسخه‌ها (بیش از 40 درصد دستگاه‌ها همچنان روی نسخه‌های قدیمی‌تر از 11 هستند) نشان می‌دهد که هماهنگی بین گوگل و تولیدکنندگان سخت‌افزار نیاز به بهبود دارد. برای یک کاربر دبیرستانی، درک این مفاهیم به انتخاب آگاهانهٔ گوشی و استفادهٔ امن‌تر کمک می‌کند.

پاورقی‌ها

1هستهٔ لینوکس: قلب سیستم عامل لینوکس که مدیریت منابع سخت‌افزاری را بر عهده دارد. معادل انگلیسی آن Linux kernel است.

2لایهٔ انتزاع سخت‌افزار: لایه‌ای که جزئیات فنی سخت‌افزارها را از بقیهٔ سیستم پنهان می‌کند (HAL - Hardware Abstraction Layer).

3آرت (زمان اجرای اندروید): ماشین مجازی که کدهای برنامه را به دستورات پردازنده تبدیل می‌کند. مخفف Android Runtime.

4فرایند کم‌اهمیت: برنامه‌هایی که کاربر مدتی است با آنها کار نکرده و اندروید می‌تواند برای آزادسازی حافظه، آنها را ببندد. معادل انگلیسی Low-importance process.

5مجوزهای زمان اجرا: درخواست دسترسی به سخت‌افزار یا داده در لحظهٔ نیاز، نه هنگام نصب برنامه (Runtime permissions).