cave_canem_lj (cave_canem0) wrote in ru_mac,
cave_canem_lj
cave_canem0
ru_mac

Categories:

Процесс загрузки Mac - ваши отзывы о прочитанном

Здравствуйте!

Я тут расписал процесс загрузки Mac и OS X, скомпилированный из различных источников.
Пожалуйста пишите свои замечания о допущенных ошибках, несуразицах и т.п.



Что происходит во время загрузки Mac и OS X

После включения компьютера процессор начинает выполнять программу, записанную в Flash memory. Начиная с Intel Mac (2006г.) эта программа называется Extensible Firmware Interface ROM (которую Apple продолжает называть BootROM).

Сначала выполняется та часть EFI, которая называется Power On Self Test
Если POST не пройден, могут воспроизводиться сигналы загрузки. и процесс прерывается.

После успешного прохождения теста, проигрывается звук «Startup Chime» (F# мажор).

Экраны всех подключенных к компьютеру мониторов «окрашиваются» в светло-серый цвет, (Экраны, отображаемые при загрузке компьютера Mac), а затем управление передается той части EFI, которая управляет загрузкой OS (ранее называлась OpenFirmware).
Этим процессом можно управлять путём удержания клавиш для изменения процесса загрузки)
Комвнда bless настраивает EFI на загрузку с определенного тома.
Apple не использует EFI System Partition (ESP) который, впрочем, всегда создается (blank) при схеме разделов GUID_Partition_Table (без которой современный Mac не загрузится) .[rEFIND, Memtest используют ESP]
(прим. Реализация EFI от Apple не полностью совместима со спецификацией UEFI 2.x., у меня (MacBookAir4,1
Версия Boot ROM: MBA41.0077.B12 Memtest пишет что версия UEFI - 1.10))
(Более подробно - в статье Apple's EFI implementation)
Если EFI не может найти адекватное загрузочное устройство, то на экране появится значок папки с вопросительным знаком в ней .
Если все в порядке, загружаются device drivers а затем boot.efi со всеми значениями user configurable NVRAM грузит OS X путем загрузки kernel и kext (После OS 10.9 - kernelcache).

Если ядро успешно загружено, то вы увидите под логотипом Apple вращающуюся шестеренку/progres bar.
(посмотреть детально что происходит можно в консоли по поиску «bootlog»)
Также, в этот момент стартует launchd, который является родительским процессом для других процессов в системе и помогает им запускаться.

Далее, в Mac OS X светло-синий экран говорит о том, что launchd запустил другой  процесс WindowServer, использующийся для отрисовки пользовательского интерфейса.

А еще через некоторое время опять-таки launchd запустит loginwindow.app, являющийся одновременно фоновым процессом и приложением, либо отобразит рабочий стол.

Приблизительно так и происходит включение компьютера/загрузка OS X.
P.S.
Официальное описание, спасибо hayate_ :
https://developer.apple.com/library/mac/documentation/Darwin/Conceptual/KernelProgramming/booting/booting.html#//apple_ref/doc/uid/TP30000905-SW2-BAJJBJEG

Спасибо!
Tags: hardware, os x (системные вопросы), полезное: статьи|обзоры|информация|фичи
Subscribe
  • Post a new comment

    Error

    Comments allowed for members only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments