Mac OS X önyükleme işleminde ne olur?

Mac OS X önyükleme ve başlatma işlemi sırasında ne olduğunu hiç merak ettiniz mi? Mac OS X ile işler bir zamanlar olduğundan biraz daha karmaşıktır ve Mac'lerimizi izlemenin bir dizi uzantı ve kontrol paneliyle açıldığı Klasik Mac OS (Sistem 9, 8, 7, 6) günleri çoktan geride kaldı. her zaman yalnızca simgeleriyle tanımlayabilir ve ardından Mac önyüklemesinde neyin yüklendiğini ve meydana geldiğini kolayca ayarlamak için Uzantılar klasöründe dolaşabiliriz.Bugün Mac OS X'in Unix temelleri ile birçok kullanıcı perde arkasında neler olup bittiğinin tamamen farkında değil.
Peki Mac OS X önyükleme işlemi sırasında tam olarak ne oluyor? Bir Mac'i Ayrıntılı Modda başlatarak her zaman daha iyi bir görünüm elde edebilirsiniz, ancak bu, gördüğünüz her şeyi mutlaka açıklamaz. Neyse ki, baştan sona Mac OS X önyükleme olaylarının sırasını dikkatli bir şekilde listeleyen KernelThread'deki segment aracılığıyla mükemmel bir açıklama mevcuttur. Meraklı Mac kullanıcıları için aşağıda tekrarlanan oldukça kapsamlı ve okumaya değer.
ote: Bir okuyucunun işaret ettiği gibi, PPC OF (Openfirmware) kullanır, i386 EFI (Genişletilebilir Firmware Arayüzü) kullanır
Peki Mac OS X önyükleme işlemi sırasında ne olur? Mac'inizi açtığınızda şunlar olur:
- Güç açıldı.
- OF veya EFI kodu çalıştırılır.
- Donanım bilgileri toplanır ve donanım başlatılır.
- Önyükleme için bir şey (genellikle işletim sistemi, ama aynı zamanda Apple Donanım Testi vb.) seçilir. Kullanıcıdan neyin önyükleneceğini seçmesi istenebilir.
- Kontrol, önyükleyici olan
/System/Library/CoreServices/BootX'a geçer. BootX çekirdeği yükler ve varsa işletim sistemi işaretlerini de çizer. - BootX, önceden önbelleğe alınmış aygıt sürücüleri listesini yüklemeye çalışır (
/usr/sbin/kextcachetarafından oluşturulan/güncellenen). Böyle bir önbellekmkexttüründedir ve bilgi sözlüklerini ve çoklu çekirdek uzantıları için ikili dosyaları içerir. mkext önbelleği bozuk veya eksikse, BootX'in mevcut senaryoda ihtiyaç duyulan uzantılar için/System/Library/Extensionsiçine bakacağını unutmayın (tarafından belirlendiği şekilde) uzantı paketininInfo.plistdosyasındakiOSBundleRequired özelliğinin değeri. - Çekirdeğin
init yordamı yürütülür. Önyükleme sisteminin kök aygıtı belirlenir. Bu noktada, Firmware'e artık erişilemez. - Çeşitli Mach/BSD veri yapıları çekirdek tarafından başlatılır.
- G/Ç Kiti başlatıldı.
- Çekirdek başlar
/sbin/mach_init, Mach hizmet adlandırma (bootstrap) arka plan programı.mach_init, hizmet adları ile bu hizmetlere erişim sağlayan Mach bağlantı noktaları arasındaki eşlemeleri sürdürür.
Bundan sonra, başlatma kullanıcı düzeyinde olur:
mach_initbaşlar/sbin/init, geleneksel BSD başlatma işlemi. init çalışma seviyesini belirler ve/etc/rc.boot çalıştırır, bu da makineyi tek kullanıcılı çalışacak şekilde ayarlar.
Yürütülmesi sırasında, rc.boot ve diğer rc komut dosyaları kaynak /etc/rc.common , CheckForNetwork() (ağın çalışıp çalışmadığını kontrol eder), GetPID gibi yardımcı işlevleri içeren bir kabuk komut dosyası (), purgedir() (yalnızca dizin içeriğini siler, yapıyı değil), etc.
rc.bootönyükleme türünü belirler (Çok Kullanıcılı, Güvenli, CD-ROM, Ağ vb.). Bir ağ önyüklemesi durumunda (sysctldeğişkenikern.netboot,olarak ayarlanacaktır.1bu durumda), birile/etc/rc.netbootçalışır. başlangıç argüman.
/etc/rc.netboot ağ önyüklemesinin çeşitli yönlerini ele alır. Örneğin, ağ ve (varsa) yerel bağlamalar gerçekleştirir. Ayrıca, bir gölge dosyasını kök aygıt olarak kullanılan disk görüntüsüyle ilişkilendirmek için /usr/bin/nbst öğesini çağırır.Fikir, yazma işlemlerini yerel depolamada olduğunu umduğumuz gölge dosyasına yönlendirmektir.
rc.bootbir dosya sistemi tutarlılık kontrolünün gerekli olup olmadığını anlar. Tek kullanıcı ve CD-ROM önyüklemeleri fsck'i çalıştırmaz. SafeBoot her zaman fsck'yi çalıştırır.rc.boot, fsck'in dönüş durumunu da yönetir.- Eğer
rc.bootbaşarıyla çıkarsa,/etc/rc, çok kullanıcılı başlangıç komut dosyası çalıştırılır. Bir CD-ROM'dan önyükleme yapılıyorsa, komut dosyası/etc/rc.cdrom (yükleme). konumuna geçer. /etc/rcyerel dosya sistemlerini bağlar (HFS+, HFS, UFS,/dev/ fd,/.vol), dizinin/private/var/tmp olmasını sağlarvardır ve varsa/etc/rc.installer_cleanup öğesini çalıştırır (yeniden başlatmadan önce yükleyici tarafından bırakılır)./etc/rc.cleanup çalıştırılır. Bir dizi Unix ve Mac'e özgü dizini/dosyayı “temizler”.- BootCache başlatıldı.
- Çeşitli
sysctldeğişkenler ayarlandı (maksimum vnod sayısı, System V IPC, vb. gibi)./etc/sysctl.confvarsa (artı/etc/sysctl-macosxserver.conf) Mac OS X Server'da), okunur ve burada bulunansysctl değişkenleri ayarlanır. syslogd başlatıldı.- Mach sembol dosyası oluşturuldu.
/etc/rcbaşlarkextd, arka plan programı süreci çekirdek veya istemci işlemlerinden talep üzerine çekirdek uzantısını yükleyen./usr/libexec/register_mach_bootstrap_servers/ içinde bulunan çeşitli Mach önyükleme tabanlı hizmetleri yüklemek için çalıştırılır. etc/mach_init.dportmapvenetinfo başlatıldı.- Eğer
/System/Library/Extensions.mkext,/System/Library/Extensions'tan eskiyse,/etc/rc mevcut mkext'i siler ve yeni bir tane oluşturur. Bir tane yoksa da yaratır. /etc/rcbaşlar/usr/sbin/update , dahili dosya sistemi önbelleklerini sık sık diske temizleyen arka plan programı./etc/rcsanal bellek sistemini başlatır./private/var/vmtakas dizini olarak ayarlanır./sbin/dynamic_pager uygun argümanlarla başlatılır (takas dosya adı yolu şablonu, oluşturulan takas dosyalarının boyutu, ek takasın ne zaman oluşturulacağını belirten yüksek ve düşük su uyarı tetikleyicileri) dosyaları silin veya mevcut olanları silin)./etc/rcbaşlar/usr/libexec/fix_prebindingyanlış önceden bağlanmış ikili dosyaları düzeltmek için./etc/rcyürütür/etc/rc.cleanupdosyaları ve cihazları temizlemek ve sıfırlamak için./etc/rcsonunda/sbin/SystemStarterhizmete giriyor/System/Library/StartupItemsve/Library/StartupItemsgibi konumlardan başlangıç öğelerini işlemek için Bir StartupItem, adı klasör adıyla eşleşen, genellikle bir kabuk betiği olan bir programdır. Klasör,Description,Provides, gibi anahtar/değer çiftlerini içeren bir özellik listesi dosyası içerir.Gereklidir,OrderPreference, mesajları başlat/durdur vb. ÇalıştırabilirsinizSystemStarter -n -D programın hata ayıklama ve bağımlılık bilgilerini (aslında hiçbir şey çalıştırmadan) yazdırması için root olarak.CoreGraphicsbaşlangıç öğesi, Apple Type Services arka plan programını (ATSServerbaşlatır. ) ve Windows Sunucusu (WindowServer).
Ve sonra Mac'iniz açıldı!
Bu etkinliğin bir kısmını Ayrıntılı Mod ile kendiniz görebilirsiniz (her açılışta Ayrıntılı Mod'da önyükleyebilirsiniz veya hatta her zaman görmek istiyorsanız bir Mac'i her zaman Ayrıntılı Mod'da önyükleme yapacak şekilde ayarlayabilirsiniz) unix tarzı önyükleme), ancak bu oldukça kapsamlı bir açıklama.
Apple'ın burada, geliştirici belgeleri kitaplığında bulunan Mac önyükleme işlemiyle ilgili bazı belgeleri de vardır.
Yukarıdaki bilgileri sağlayan orijinal URL'nin artık etkin olmadığına dikkat edin, bu nedenle bu gönderi gelecek nesiller için önbellek yoluyla yukarıya dahil edildi. Orijinal kaynak şu url'deki KernelThread'deki bir ileti dizisiydi: http://www.kernelthread.com/mac/osx/arch_startup.html şu anda çevrimdışı ve yeni bir konuma yönlendirme yapmıyor.
Mac OS X önyükleme sırasına ekleyeceğiniz herhangi bir bilgi veya başka eklentiniz varsa, yorumlarda paylaşın!






