Boot Sequence — qurilma quvvat olgan yoki reset bo‘lgan paytdan operatsion tizim va foydalanuvchi xizmatlari ishga tushguncha bajariladigan tartibli bosqichlar ketma-ketligi. Har bosqich minimal hardware holatini tayyorlaydi, keyingi kodni topadi, uning yaxlitligini tekshiradi va nazoratni belgilangan interfeys orqali topshiradi. PC, server, telefon va mikrocontrollerda tafsilotlar farq qilsa ham ishonchli topshirish g‘oyasi umumiydir.
Reset va firmware
CPU reset vectoridan boshlaydi. Chip ichidagi ROM yoki platform firmware xotira controlleri, clock, interrupt va zarur peripheralni dastlabki holatga keltiradi. PC’da UEFI hardware enumeration, firmware driverlar va boot managerni bajarishi mumkin. Embedded tizimda ROM birinchi bootloader stage’ini flashdan yoki recovery interfeysidan oladi.
RAM to‘liq tayyor bo‘lmaguncha kod kichik ichki SRAM yoki cache-as-RAMdan foydalanishi mumkin. Bu bosqichda logging imkoniyati cheklangan, shuning uchun reset reason va progress code persistent registrda saqlanadi.
Boot tanlovi
Boot manager konfiguratsiya bo‘yicha disk, network, removable media yoki recovery image’ni tanlaydi. Bir nechta OS bo‘lsa foydalanuvchi menyusi yoki policy ishlaydi. Server PXE orqali network bootstrap qilishi mumkin.
Tanlov faqat tartib masalasi emas. Secure Boot yoqilganida executable image imzosi ishonchli kalit zanjiri bilan tekshiriladi. Noto‘g‘ri imzo yoki rollback qilingan versiya rad etiladi. Recovery path ham shu darajada himoyalanmasa asosiy tekshiruvni chetlab o‘tish yo‘liga aylanadi.
Kernel yuklanishi
Bootloader kernel image, initramfs va device tree yoki firmware table’larni xotiraga joylaydi. Kernelga memory map, command line, framebuffer va boshqa platform metadata uzatiladi. Entry manzili, CPU mode, cache va MMU holati boot protokoliga aynan mos bo‘lishi kerak.
Kernel decompression, arxitektura setupi, memory allocator, scheduler, interrupt va driver subsistemalarini ishga tushiradi. Root filesystem topilgach birinchi user-space process yaratiladi. Shu nuqtadan service manager va odatiy daemonlar boshlanadi.
Init va xizmatlar
Init process filesystemlarni mount qiladi, device management, tarmoq va xizmat dependencylarini boshqaradi. “Boot tugadi” mezoni platformaga bog‘liq: login prompt, graphical session yoki ma’lum application health check tayyor bo‘lishi mumkin.
Parallel startup vaqtni qisqartiradi, lekin yashirin dependency race yaratishi mumkin. Service faqat process ishga tushgani uchun ready deb hisoblanmaydi; socket, database migration yoki hardware calibration tugaganini alohida bildiradi.
Nosozlik va tiklash
Har stage timeout, retry va fallback siyosatiga ega. A/B update’da yangi slot muvaffaqiyatli boot deb tasdiqlanmasa bootloader eski slotga qaytadi. Boot counter faqat kernel startida emas, kerakli user-space health darajasiga yetganda tozalanadi.
Tashxis serial console, firmware event log, kernel early console va service timeline’ni birlashtiradi. Bir bosqichdagi timestamp boshqa clockdan bo‘lishi mumkin; umumiy tartib reset marker va stage ID bilan bog‘lanadi.
Performance o‘lchovi
Boot vaqtini faqat login ekrani ko‘ringan soniya bilan baholash bosqichlar orasidagi muammoni yashiradi. Firmware, bootloader, kernel decompression, driver probing, root mount va service readiness alohida marker oladi. Parallel service’larning critical pathi aniqlanadi; eng uzoq individual service har doim bootni ushlab turgan bo‘lmasligi mumkin. Storage cold-cache va warm reboot natijalari ajratiladi. Optimallashtirish dependency’ni olib tashlashdan oldin failure va recovery yo‘li saqlanganini tekshiradi.
Bog‘liq tushunchalar
reset vector, firmware, bootloader, kernel, initramfs, init process