Mac OS X துவக்க செயல்பாட்டில் என்ன நடக்கும்?

Anonim

Mac OS X பூட் மற்றும் ஸ்டார்ட்அப் செயல்பாட்டின் போது என்ன நடக்கும் என்று எப்போதாவது யோசித்திருக்கிறீர்களா? Mac OS X இல் இது ஒரு காலத்தில் இருந்ததை விட சற்று சிக்கலானது, மேலும் நீண்ட காலமாக கிளாசிக் மேக் ஓஎஸ் (சிஸ்டம் 9, 8, 7, 6) நாட்கள் கடந்துவிட்டன, அங்கு எங்கள் Macs தொடர் நீட்டிப்புகள் மற்றும் கண்ட்ரோல் பேனல்களுடன் துவங்குகிறது. நாம் எப்போதும் அவர்களின் ஐகானால் மட்டுமே அடையாளம் காண முடியும், பின்னர் மேக் துவக்கத்தில் ஏற்றப்படுவதையும் நிகழுவதையும் எளிதாகச் சரிசெய்ய நீட்டிப்புகள் கோப்புறையில் சுற்றிப் பார்க்கவும்.இன்று Mac OS X இன் Unix அடித்தளத்துடன், திரைக்குப் பின்னால் என்ன நடக்கிறது என்பது பல பயனர்களுக்கு முற்றிலும் தெரியாது.

Mac OS X துவக்கச் செயல்பாட்டின் போது சரியாக என்ன நடக்கும்? வெர்போஸ் பயன்முறையில் Mac ஐ துவக்குவதன் மூலம் நீங்கள் எப்பொழுதும் சிறந்த தோற்றத்தைப் பெறலாம், ஆனால் நீங்கள் பார்க்கும் அனைத்தையும் இது விளக்க வேண்டிய அவசியமில்லை. அதிர்ஷ்டவசமாக ஒரு சிறந்த விளக்கம் KernelThread இல் உள்ள பிரிவில் கிடைக்கிறது, இது Mac OS X துவக்க நிகழ்வுகளின் வரிசையை தொடக்கத்தில் இருந்து இறுதி வரை கவனமாக பட்டியலிடுகிறது. இது மிகவும் முழுமையானது மற்றும் படிக்கத் தகுந்தது, அங்குள்ள ஆர்வமுள்ள மேக் பயனர்களுக்காக கீழே மீண்டும் மீண்டும் கூறப்பட்டுள்ளது.

குறிப்பு: ஒரு வாசகர் சுட்டிக்காட்டியபடி, PPC OF (Openfirmware) ஐப் பயன்படுத்துகிறது, i386 EFI ஐப் பயன்படுத்துகிறது (விரிவாக்கக்கூடிய நிலைபொருள் இடைமுகம்)

Mac OS X பூட் செயல்பாட்டின் போது என்ன நடக்கும்? நீங்கள் உங்கள் Mac ஐ இயக்கினால், இதுதான் நடக்கும்:

  • பவர் ஆன் செய்யப்பட்டுள்ளது.
  • OF அல்லது EFI குறியீடு செயல்படுத்தப்படுகிறது.
  • வன்பொருள் தகவல் சேகரிக்கப்பட்டு வன்பொருள் துவக்கப்படுகிறது.
  • ஏதோ (வழக்கமாக OS, ஆனால் Apple Hardware Test போன்றவை) துவக்க தேர்ந்தெடுக்கப்பட்டது. எதை துவக்க வேண்டும் என்பதைத் தேர்ந்தெடுக்க பயனர் தூண்டப்படலாம்.
  • கட்டுப்பாடு /System/Library/CoreServices/BootX, பூட் லோடருக்கு செல்கிறது. BootX கர்னலை ஏற்றுகிறது மற்றும் OS பேட்ஜ்கள் ஏதேனும் இருந்தால் வரைகிறது.
  • BootX சாதன இயக்கிகளின் முந்தைய தற்காலிக சேமிப்பு பட்டியலை ஏற்ற முயற்சிக்கிறது (/usr/sbin/kextcache மூலம் உருவாக்கப்பட்டது/புதுப்பிக்கப்பட்டது). அத்தகைய கேச் mkext வகையைச் சேர்ந்தது மற்றும் பல கர்னல் நீட்டிப்புகளுக்கான தகவல் அகராதிகள் மற்றும் பைனரி கோப்புகளைக் கொண்டுள்ளது. mkext கேச் சிதைந்திருந்தால் அல்லது காணாமல் போனால், தற்போதைய சூழ்நிலையில் தேவைப்படும் நீட்டிப்புகளுக்கு BootX /System/Library/Extensions இல் இருக்கும் என்பதை நினைவில் கொள்ளவும். நீட்டிப்பின் தொகுப்பின் OSBundle RequiredInfo.plist கோப்பில் உள்ள சொத்தின் மதிப்பு.
  • init கர்னலின் வழக்கம் செயல்படுத்தப்படுகிறது. துவக்க அமைப்பின் ரூட் சாதனம் தீர்மானிக்கப்படுகிறது. இந்த கட்டத்தில், நிலைபொருளை அணுக முடியாது.
  • பல்வேறு Mach/BSD தரவு கட்டமைப்புகள் கர்னலால் துவக்கப்படுகின்றன.
  • I/O கிட் துவக்கப்பட்டது.
  • கர்னல் தொடங்குகிறது /sbin/mach_init, Mach சேவை பெயரிடல் (பூட்ஸ்ட்ராப்) டீமான். mach_init சேவைப் பெயர்கள் மற்றும் அந்தச் சேவைகளுக்கான அணுகலை வழங்கும் Mach போர்ட்களுக்கு இடையே மேப்பிங்கைப் பராமரிக்கிறது.

இங்கிருந்து, தொடக்கமானது பயனர் நிலையாகிறது:

    பாரம்பரிய BSD init செயல்முறை. init ரன்லெவலைத் தீர்மானிக்கிறது, மேலும்
  • /etc/rc.boot, இது ஒற்றை-பயனரை இயக்கும் அளவுக்கு இயந்திரத்தை அமைக்கிறது.

அதன் செயல்பாட்டின் போது, ​​rc.boot மற்றும் மற்றவை rc ஸ்கிரிப்ட்கள் மூலம் /etc/rc.common , CheckForNetwork() (), purgedir()

  • rc.boot துவக்க வகையை (மல்டி-யூசர், சேஃப், சிடி-ரோம், நெட்வொர்க் போன்றவை) கணக்கிடுகிறது. பிணைய துவக்கத்தில் (sysctl மாறி kern.netbootஎன அமைக்கப்படும் 1 இதில்), இது உடன் இயங்கும் /etc/rc.netboot தொடங்கு வாதம்.

/etc/rc.netboot நெட்வொர்க் துவக்கத்தின் பல்வேறு அம்சங்களைக் கையாளுகிறது. எடுத்துக்காட்டாக, இது நெட்வொர்க் மற்றும் (ஏதேனும் இருந்தால்) உள்ளூர் ஏற்றங்களைச் செய்கிறது. ரூட் சாதனமாகப் பயன்படுத்தப்படும் வட்டுப் படத்துடன் நிழல் கோப்பை இணைக்க இது /usr/bin/nbst என்றும் அழைக்கிறது.எழுத்துகளை நிழல் கோப்பிற்கு திருப்பிவிடுவதே யோசனையாகும், இது உள்ளூர் சேமிப்பகத்தில் இருக்கும்.

  • rc.boot கோப்பு முறைமையின் நிலைத்தன்மை சரிபார்ப்பு தேவையா என்பதைக் கண்டுபிடிக்கும். ஒற்றை-பயனர் மற்றும் CD-ROM பூட்ஸ் fsck ஐ இயக்காது. SafeBoot எப்போதும் fsckஐ இயக்குகிறது. rc.boot fsck இன் ரிட்டர்ன் நிலையையும் கையாளுகிறது.
  • rc.boot வெற்றிகரமாக வெளியேறினால், /etc/rc , பல பயனர் தொடக்க ஸ்கிரிப்ட் பின்னர் இயக்கப்படுகிறது. CD-ROM இலிருந்து துவக்கினால், ஸ்கிரிப்ட் /etc/rc.cdrom (நிறுவல்) க்கு மாறுகிறது.
  • /etc/rc உள்ளூர் கோப்பு முறைமைகளை ஏற்றுகிறது (HFS+, HFS, UFS, /dev/ fd, /.vol), அடைவு /private/var/tmp என்பதை உறுதி செய்கிறது உள்ளது, மேலும் இயங்குகிறது /etc/rc.installer_cleanup
  • /etc/rc.cleanup இயக்கப்படுகிறது. இது பல Unix மற்றும் Mac குறிப்பிட்ட கோப்பகங்கள்/கோப்புகளை "சுத்தம்" செய்கிறது.
  • BootCache தொடங்கப்பட்டது.
  • பல்வேறு sysctl மாறிகள் அமைக்கப்பட்டுள்ளன (அதிகபட்ச எண்ணிக்கையிலான vnodes, System V IPC போன்றவை). /etc/sysctl.conf இருந்தால் (கூடுதல் /etc/sysctl-macosxserver.conf Mac OS X சர்வரில்), அது படிக்கப்பட்டு, அதில் உள்ள sysctl மாறிகள் அமைக்கப்பட்டுள்ளன.
  • syslogd தொடங்கப்பட்டது.
  • Mach சின்னக் கோப்பு உருவாக்கப்பட்டது.
  • டீமன் செயல்முறை கர்னல் அல்லது கிளையன்ட் செயல்முறைகளில் இருந்து தேவைக்கேற்ப கர்னல் நீட்டிப்பை ஏற்றுகிறது.
  • /usr/libexec/register_mach_bootstrap_servers இல் உள்ள பல்வேறு Mach பூட்ஸ்ட்ராப் அடிப்படையிலான சேவைகளை ஏற்றுவதற்கு இயக்கப்படுகிறது. etc/mach_init.d
  • portmap மற்றும் netinfo தொடங்கப்பட்டது.
  • என்றால் /System/Library/Extensions.mkext/System/Library/Extensions ஐ விட பழையதாக இருந்தால் , /etc/rc ஏற்கனவே உள்ள mkext ஐ நீக்கிவிட்டு புதியதை உருவாக்குகிறது. ஒன்று இல்லாவிட்டால் ஒன்றையும் உருவாக்குகிறது.
  • /etc/rc தொடங்கும் /usr/sbin/update , உள் கோப்பு முறைமை தற்காலிக சேமிப்புகளை வட்டில் அடிக்கடி ஃப்ளஷ் செய்யும் டீமான்.
  • /etc/rc மெய்நிகர் நினைவக அமைப்பைத் தொடங்குகிறது. /private/var/vm என்பது swap கோப்பகமாக அமைக்கப்பட்டுள்ளது. /sbin/dynamic_pager பொருத்தமான வாதங்களுடன் தொடங்கப்பட்டது (இடமாற்று கோப்பு பெயர் பாதை டெம்ப்ளேட், உருவாக்கப்பட்ட ஸ்வாப் கோப்புகளின் அளவு, கூடுதல் ஸ்வாப்பை எப்போது உருவாக்க வேண்டும் என்பதைக் குறிப்பிடும் உயர் மற்றும் குறைந்த நீர் எச்சரிக்கை தூண்டுதல்கள் கோப்புகள் அல்லது ஏற்கனவே உள்ளவற்றை நீக்கவும்).
  • /etc/rc தொடங்கும் /usr/libexec/fix_prebindingதவறாக முன்கூட்டிய பைனரிகளை சரிசெய்ய.
  • /etc/rc செயல்படுத்துகிறது /etc/rc.cleanupகோப்புகளையும் சாதனங்களையும் சுத்தம் செய்து மீட்டமைக்க.
  • /etc/rc இறுதியாக /sbin/SystemStarter /System/Library/Startup Items மற்றும் /Library/StartupItems போன்ற இடங்களிலிருந்து தொடக்கப் பொருட்களைக் கையாள StartupItem என்பது ஒரு நிரல், பொதுவாக ஷெல் ஸ்கிரிப்ட் ஆகும், அதன் பெயர் கோப்புறை பெயருடன் பொருந்துகிறது. கோப்புறையில் விளக்கம், வழங்குகிறது, போன்ற முக்கிய மதிப்பு ஜோடிகளைக் கொண்ட சொத்து பட்டியல் கோப்பு உள்ளது தேவை, OrderPreference, தொடக்க/நிறுத்த செய்திகள் போன்றவை. நீங்கள் இயக்கலாம் SystemStarter -n -D நிரல் பிரிண்ட் பிழைத்திருத்தம் மற்றும் சார்புத் தகவலை (உண்மையில் எதையும் இயக்காமல்) பெற ரூட்டாக.
  • The CoreGraphics தொடக்க உருப்படி ஆப்பிள் வகை சேவைகள் டீமானைத் தொடங்குகிறது (ATSServer ) அத்துடன் விண்டோ சர்வர் (WindowServer).

பின்னர் உங்கள் மேக் துவக்கப்பட்டது!

இந்தச் செயலில் சிலவற்றை நீங்களே வெர்போஸ் பயன்முறையில் பார்க்கலாம் (இதை நீங்கள் ஒரு துவக்கத்திற்கு வெர்போஸ் பயன்முறையில் துவக்கலாம் அல்லது நீங்கள் எப்போதும் பார்க்க விரும்பினால், வெர்போஸ் பயன்முறையில் எப்போதும் பூட் செய்ய மேக்கை அமைக்கலாம். யுனிக்ஸ் ஸ்டைல் ​​பூட்), ஆனால் இது ஒரு அழகான முழுமையான விளக்கம்.

ஆப்பிள் மேக் பூட் செயல்முறையில் சில ஆவணங்கள் இங்கே தங்கள் டெவலப்பர் டாக்குமென்டைட்டன் லைப்ரரியில் கிடைக்கிறது.

மேலே உள்ள தகவலை வழங்கும் அசல் URL இனி செயலில் இல்லை என்பதை நினைவில் கொள்ளவும், எனவே அந்த இடுகை தற்காலிக சேமிப்பு வழியாக சந்ததியினருக்காக மேலே சேர்க்கப்பட்டுள்ளது. அசல் ஆதாரம் பின்வரும் url இல் உள்ள KernelThread இல் ஒரு த்ரெட் ஆகும்: http://www.kernelthread.com/mac/osx/arch_startup.html இது தற்போது ஆஃப்லைனில் உள்ளது மற்றும் புதிய இடத்திற்குத் திருப்பிவிடாது.

Mac OS X துவக்க வரிசையில் சேர்க்க ஏதேனும் குறிப்புகள் அல்லது வேறு சேர்த்தல்கள் இருந்தால், கருத்துகளில் பகிரவும்!

Mac OS X துவக்க செயல்பாட்டில் என்ன நடக்கும்?