[آموزشی] - Boot

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
محتویات :
۱ بوت اندروید
۱.۱ بوت لودر
۱.۲ Linux Kernel
۱.۳ ‘init’
۱.۴ منابع ‘init’
۱.۴.۱ فریمور
۱.۴.۲ کرنل
۱.۴.۳ فضای کاربر
۱.۵ مراحل بوت اندروید به طور خلاصه

منبع
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
بوت اندروید
بوت یک سیستم اندرویدی شامل مراحل متعددی می باشد، که در زیر بیان می شود.





بوت لودر
اولین برنامه ای که روی هر سیستم اندرویدی اجرا می شود، بوت لودر می باشد. از نظر تکنیکی بوت لودر خارج از حوزه خود اندروید می باشد و برای پردازش های بسیار سطح پایین سیستم، قبل از بارگذاری کرنل لینوکس مورد استفاده قرار می گیرد.​

Linux Kernel
سپس کرنل بخش عمده ای از سخت افزارها، درایورها و فایل سیستمی را قبل از شروع به کار برنامه های فضای کاربری و برنامه هایی که اندروید را می سازند، پردازش می کند. اغلب بوت لودر مرحله اول پشتیبانی را برای بارگذاری فایل های img ریکاوری در فلش سیستم یا انجام ریکاوری ، آپدیت یا عیب یابی ایجاد می کند. بوت لودر موجود در ADP1 فشردن کلیدهای مشخصی را تشخیص می دهد، که می تواند امکان بارگذاری ریکاوری را به آن بدهد یا گوشی را در حالتی قرار دهد که توسعه دهنده بتواند کارهای توسعه ای را انجام دهد. مثل رایت فایل های img​
 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
‘init’
یک پارامتر کلیدی در بوت سیستم اندروید، برنامه ‘init’می باشد که یک برنامه تخصصی برای مقداری دهی اولیه المان های سیستم اندروید می باشد. برخلاف سایر سیستم های لینوکس، اندروید از برنامه مقداردهی اولیه مخصوص خودش استفاده می کند. برنامه ‘init’ اندروید، دو فایل را پردازش می کند و فرمان های داخل آن ها را اجرا می کند، این فایل ها:​
init.rc init<machine_name>.rc

نام دارند. که <machine_name>اسم سخت افزاری است که اندروید روی آن اجرا می شود. معمولا اسم به صورت یک اسم کد می باشد. برای مثال trout اسم سخت افزار گوشی HTC1 می باشد. فایل ‘init.rc’ به منظور فراهم کردن دستورکار مقدار دهی اولیه عمومی به کار می رود، درحالی که فایل ‘init.<machine_name>.rc’ برای فراهم کردن دستورکار مخصوص گوشی بکار می رود.




منابع ‘init’
قوانین گرامری اعمال شده بر زبان برنامه نویسی این فایل های .rc در یک فایل readme در ساختار منابع مستند شده است. ترتیب مراحل بوت در ADP1​
فریمور


  • اجرای بوت لودر مرحله اول
    • چک می کند که کد مخصوص نگه داری شده است یا نه.
  • در انتها، کرنل در رم بارگذاری می شود
    • معمولا این کرنل از پارتیشن بوت می باشد.


کرنل


  • کرنل بوت می شود.
    • مقدار دهی اولیه هسته کرنل
      • مموری و نواحی I/O مقداری دهی اولیه می شوند.
      • جدول پردازش ها مقدار دهی می شود.
    • مقداری دهی اولیه درایورها
    • Daemon کرنل اجرا می شود.
    • ریشه فایل سیستم مونت می شود.
      • معمولا /init
فضای کاربر


  • کرنل /init را اجرا می کند.
    • /init دو فایل /init.rc و /init.<machine_name>.rc را پردازش می کند.
    • Dalvik VM شروع به کار است..
    • Daemon های متعددی اجرا شده اند:
      • rild-radio interface
      • vold-volume daemon
  • system_server شروع به کار می کند، و سرویس های هسته ای متعددی را مقدار دهی اولیه می کند.
    • مدیریت فعالیت ها برنامه های هسته را اجرا می کند.
      • com.android.phone
      • android.process.acore
  • سایر پردازش ها نیز توسط /init اجرا شده اند:
    • adb
    • mediaserver
    • dbus-daemon
    • akmd


 

P O U R I A

مدیر مهندسی شیمی مدیر تالار گفتگوی آزاد
مدیر تالار
مراحل بوت اندروید به طور خلاصه

مراحل بوت اندروید به طور خلاصه

مرحلهاقداماتتوضیح
بوت لودر▬▬▬محل: Bootable\bootloader\legacy\usbloader
▬▬▬init.Sمقداردهی اولیه به stacks، احظار call_main() در main.c
▬▬▬main.cمقداردهی اولیه به سخت افزار
▬▬▬▬▬▬نمایش “USB FastBoot”. بوت از فلش یا حلقه زدن در زمانی که usb_poll() منتظر اتصال کامپیوتر میزبان می باشد.
کرنل لینوکس▬▬▬برپایی سیستم، بارگذاری درایورها و شروع به اجرای اولین init
پردازش initبرپایی فایل سیستمایجاد و مونت دایرکتوری هایی نظیر : /dev، /proc
▬▬▬اجرای init.rcیک اسکریپت در زمان بوت می باشد
▬▬▬برپایی کنسول▬▬▬
▬▬▬نمایش “ANDROID”تنها یک متن می باشد.
▬▬▬ZygoteZygot در init.rc پردازش می شود و Dalvik Java VM و سرور سیستم را اجرا می کند.
▬▬▬بوت انیمیشننمایش انیمیشن در زمان بوت
framework▬▬▬▬▬▬
 
Similar threads
Thread starter عنوان تالار پاسخ ها تاریخ
P O U R I A [آموزشی] - S-OFF اندروید 5
P O U R I A [آموزشی] - USB-Debugging اندروید 2
P O U R I A [آموزشی] - Downloading Mode اندروید 2
P O U R I A [آموزشی] - Odin اندروید 3
P O U R I A [آموزشی] - API اندروید 2

Similar threads

بالا