Лекция 15. Загрузка системы

Запуск системы не является, конечно, самой впечатляющей частью ОС Lion, но и он, несомненно, важен. Компания Apple совершенствует про­цессы запуска и времени выполнения с каждой новой версией Mac OS X. Когда все работает правильно, процесс загрузки компьютеров Мае на базе процессоров Intel выполняется менее чем за 30 секунд. Очевидно, что система должна запускаться быстро и правильно, а пользователи - не беспокоиться о том, что происходит во время запуска.

Однако когда при запуске что-то идет неправильно, многие зачастую боятся худшего. Неопытные пользователи могут предположить, что если Мае не загружается, они потеряют важные документы. Но запуск системы может пойти неправильно по множеству причин, которые, скорее всего, не приведут к утрате каких-либо данных. Поэтому важно точно диагно­стировать проблемы с запуском, чтобы можно было вернуть работоспо­собность Мае или как минимум попытаться восстановить данные.

В этом уроке рассматривается процесс, через который проходит Мае с момента нажатия кнопки питания и до открытия приложения Finder. Сначала мы идентифицируем файлы и процессы, требуемые для успешно­го запуска ОС Lion, что позволит вам эффективно диагностировать про­блемы с загрузкой и входом в систему.

Последовательность загрузки.

главные этапы процедуры загрузки систе­мы Lion. Они могут быть выделены в категории инициирование системы (system initiation) - процессы, которые требуются для запуска опе­рационной системы, и пользовательский сеанс (user session) - процессы, которые требуются для инициализации рабочей среды пользователя. На каждом этапе Мае выдает звуковой или визуальный сигнал, показывая со­стояние хода процесса загрузки. Обсуждаемые здесь сигналы выводятся пользователю в ходе типичной загрузки.

Четыре основных этапа инициализации системы ОС Lion.

Прошивка. На этом этапе проверяется и инициализируется оборудо­вание компьютера Мае, находится и запускается загрузчик. Успешное завершение этого этапа сопровождается мелодией запуска и яркой вспышкой индикатора питания, весь экран заполняется светло-серым фоном.

Загрузчик. Его главная работа состоит в загрузке в основную память ядра системы и основных драйверов оборудования, известных как расширения ядра (kernel extension, КЕХТ); затем ядро берет на себя управление системой. Этап загрузчика сопровождается темно-серым логотипом Apple на основном экране.

Ядро. Оно обеспечивает функционирование системы и загружает до­полнительные драйверы и базовую систему BSD UNIX. На это ука­зывает темно-серая вращающаяся звездочка ниже логотипа Apple на основном экране.

Системный процесс launchd. Когда базовая операционная система за­грузится, она запускает первый, не относящийся к ядру процесс, launchd, который отвечает за загрузку оставшейся системы. Этот этап

обозначается исчезновением темно-серой вращающейся звездочки и белым фоном на всех мониторах. При успешном завершении это­го этапа открывается либо окно входа в систему, либо приложение Finder, если пользователь настроил автоматический вход в систему.

Три основных этапа рабочей среды пользователя в ОС Lion.

► loginwindow. Этот процесс отвечает за предоставление экрана входа в систему и вход в нее пользователя. Успешное завершение этого этапа приводит к инициализации рабочей среды пользователя, то есть мо­гут запускаться пользовательские приложения.

► Пользовательский процесс launchd. Этот процесс работает вместе с про­цессом loginwindow для инициализации рабочей среды пользователя и запуска любых пользовательских процессов или приложений.

► Рабочая среда пользователя. Это «пространство», в котором суще­ствуют пользовательские процессы и приложения, когда пользователь находится в системе. Очевидно, что рабочая среда пользователя об­служивается процессами loginwindow и пользовательским launchd.

Инициализация системы: прошивка

Прошивка Мае,-называемая также BootROM, находится в микросхемах флэш-памяти, встроенных в материнскую плату компьютера. В этом слу­чае при включении питания Мае, даже до запуска «реальной» операци­онной системы, прошивка действует как минимальная операционная си­стема, обладающая необходимым для выполнения своей задачи набором возможностей. А именно: прошивка выполняет проверку и инициализа­цию оборудования, а затем находит и запускает загрузчик операционной системы.

Прошивка в компьютерах Мае на базе процессоров Intel основывается на технологии Extensible Firmware Interface (EFI) компании Intel. Помимо поддержки оборудования процессора Intel, EFI позволяет компьютеру Мае загружать Lion, Windows или любую другую совместимую с процессорами Intel операционную систему.

Самотестирование при включении питания

Прошивка Мае при включении питания в первую очередь выполняет са­мотестирование (POST, Power-On Self-Test). POST тестирует встроенные аппаратные компоненты, такие как процессоры, системную память, сете­вые и периферийные интерфейсы. Когда Мае проходит POST, вы слыши­те мелодию запуска и видите светло-серый фон на всех мониторах. После успешного теста POST прошивка начинает искать файл загрузчика.

Если Мае не сможет пройти POST, монитор останется пустым или выключенным, и вы сможете получить коды ошибок оборудования. В зависимости от возраста и модели компьютера, коды ошибок могут про­являться как звуковые сигналы или последовательности вспышек инди­катора внешнего источника питания или же могут загореться внутренние диагностические индикаторы. Можно также увидеть комбинацию этих индикаторов. Независимо от кода ошибки, все они указывают на пробле­мы с оборудованием за пределами контроля ОС Lion.

Выбор загрузчика

По умолчанию прошивка выберет файл системного загрузчика, который ранее был указан в окне настроек Загрузочный том (Startup Disk) в Lion или на панели управления Boot Camp в Windows. Расположение файла загрузчика сохраняется в долговременной памяти (NVRAM) и остается там при перезагрузках системы. Если файл загрузчика будет найден, EFI инициирует процесс загрузчика и Lion начнет запускаться. На это указы­вает темно-серый логотип Apple в центре основного экрана.

Если прошивка не может найти файл загрузчика, вы увидите мигаю­щий значок папки со знаком вопроса.

Инициализация системы: загрузчик

Загрузчик запускается прошивкой Мае и отвечает за загрузку ядра ОС Lion и ряда ключевых расширений ядра, достаточных для того, чтобы оно могло взять управление системой на себя и продолжить процесс загруз­ки. Прошивка Мае также передает все специальные инструкции режима запуска, такие как нажатие пользователем клавиши I Shift |. Это говорит о том, что Lion должна запускаться в безопасном режиме (Safe Mode). Сам по себе процесс загрузчика находится в файле /Система/Библиотеки/ CoreServices/boot.efi (/System/Library/CoreServices/boot.efi).

Для ускорения процесса запуска загрузчик будет загружать кэширо- ванные файлы везде, где только возможно. Кэшированные файлы содер­жат оптимизированное ядро и КЕХТ-расширения, которые загружаются значительно быстрее, чем если бы система загружала их с нуля. Эти кэши находятся в папке /Система/Библиотеки/Caches/com.apple.kernel.caches (/System/Library/ Caches/com.apple.kernel.caches). Если система обнаружи­вает проблему или вы загружаете Lion в безопасном режиме, кэши будут проигнорированы и процесс загрузки ядра займет гораздо больше времени.

Как говорилось ранее, загрузчик обозначает себя при запуске темно- серым значком Apple в центре основного экрана. Если загрузчик успешно загружает ядро, он подтверждает это с помощью темно-серой вращаю­щейся звездочки под значком Apple.

 


 

Если Мае настроен на загрузку с сервера NetBoot и прошивка успешно находит файл загрузчика на сервере NetBoot, вы снова увидите темно-серый значок Apple. Однако в этом случае загрузчик и кэшированная информация ядра должны загружаться с сервера NetBoot. Данный процесс обозначается небольшим темно-серым вращающимся значком земного шара под значком Apple. Когда ядро успешно загрузится с сервера NetBoot, значок земного шара заменится стандартным значком вращающейся звездочки.

Инициализация системы: ядро

Когда загрузчик успешно загрузил ядро и основные КЕХТ-расширения, ядро берет управление процессом загрузки на себя. Теперь загружено до­статочно расширений ядра, чтобы прочитать всю файловую систему, и ядро загружает любые дополнительные КЕХТ-расширения, а также запус­кает базовую систему BSD UNIX. Вращающийся серый значок звездочки под значком Apple указывает на ход процесса запуска ядра. Наконец, ядро запускает первый обычный процесс (не ядро) - системный процесс launchd, являющийся родительским для всех других процессов. Появление индика­ции на белом загрузочном экране с логотипом Apple является подтверж­дением того, что ядро полностью загружено и процесс launchd запускает другие объекты.

В большинстве случаев ядро загружается загрузчиком из кэширо- ванных файлов. Однако оно расположено также на системном томе в /mach_kernel. Этот файл обычно скрыт от пользователей в графическом интерфейсе пользователя, поскольку им не надо к нему обращаться. Си­стеме BSD UNIX требуются и многие другие скрытые файлы и папки в корне системного тома, но среднему пользователю не нужен доступ к этим объектам. Как говорилось в уроке 8, КЕХТ-расширения располагаются в папках /Система/Библиотеки/Extensions (/System/Library/Extensions) и /Библиотеки/Extensions (/Library/ Extensions).

64-разрядный режим ядра

Наконец, если загрузчик не сможет загрузить ядро, то вместо значка Apple появится темно-серый запрещающий значок. О том, как устранить эту По умолчанию ОС Lion запускает ядро в 64-разрядном режиме на обо­рудовании, которое его поддерживает. Однако 64-разрядное ядро Lion не позволит использовать 32-разрядные КЕХТ-расширения. Многие КЕХТ- расширения поддерживают только 32-разрядный режим. Как рассматри­валось в уроке 8, приложение /Программы/Утилиты/Информация о си­стеме (Applications/Utilities/System Information) позволяет узнать, какие из установленных КЕХТ-расширений поддерживают 64-разрядный режим.

Чтобы разрешить проблему с КЕХТ-расширениями, которые под­держивают только 32-разрядный режим, можно принудительно загру­зить ядро Lion в 32-разрядном режиме, удерживая при загрузке нажаты­ми клавиши (3) и (2). Как и в случае со всеми модификаторами запуска, это не постоянное решение. Чтобы заставить Lion постоянно загружать­ся в 32-разрядном режиме ядра, понадобится использовать команду systemsetup. А именно, в командной строке нужно ввести команду sudo systemsetup-setkemelbootarchitecture 1386. И, наоборот, чтобы вернуть обрат­но стандартное 64-разрядное ядро, нужно ввести команду sudo systemsetup- setkernelbootarchitecture х86_64. Наконец, можно убедиться, что Мае рабо­тает с 64-разрядным ядром, открыв приложение Информация о системе (System Information) и выбрав категорию ПО (Software).

(System Information) и выбрав категорию ПО (Software).

 

Инициализация системы: системный launchd

Когда ядро загружено и работает, Мае готов запускать процессы от лица системы и в конечном счете от имени пользователей. Первым обычным (не ядро) запускаемым процессом является системный процесс launchd, рас­положенный в /sbin/launchd, который запускается от имени пользовате­ля root и которому присваивается идентификатор процесса с номером 1. В терминах UNIX системный процесс launchd - это первый родительский процесс, который порождает все другие дочерние процессы, а те, в свою очередь, порождают следующие.

Первая задача для системного процесса launchd - завершить инициали­зацию системы, запустив все остальные системные процессы. В предыду­щих версиях Mac OS X показывалось диалоговое окно Welcome to Mac OS X (Добро пожаловать в Mac OS X) с индикатором хода выполнения для обозначения состояния инициализации системы в процессе загрузки раз­личных системных процессов. Однако в Mac OS X 10.5 процесс launchd был значительно оптимизирован, поэтому инициализация системы занимает только несколько мгновений и обозначается белым фоном на всех мони­торах. Когда отображается белый фон, процесс launchd запускает процесс WindowServer, который отвечает за прорисовку пользовательского интерфей­са Lion, и это явный признак того, что все идет хорошо.

Процесс launchd ускоряет инициализацию системы, запуская несколь­ко системных процессов одновременно, где это только возможно, и ини­циируя сначала только самые важные системные процессы. После запуска системный процесс launchd по мере необходимости автоматически запуска­ет и останавливает дополнительные системные процессы. Динамически управляя системными процессами, launchd повышает эффективность и бы­стродействие Мае.

Объекты системного процесса launchd

Как было рассмотрено в уроке 4, процесс launchd управляет системны­ми процессами, как задано в файлах настроек launchd в папке /Система/ Библиотеки/LaunchDaemons (/System/Library/LaunchDaemons). Процессы сторонних поставщиков также могут управляться этим процессом, если они описываются файлами настроек процесса launchd в папке /Библиотеки/ LaunchDaemons.

Компания Apple рекомендует разработчикам использовать систему launchd для всех автоматически запускаемых процессов. Но системный про­цесс launchd также поддерживает устаревшие процедуры автоматического запуска. К ним относятся поддержка выполнения традиционного сценария UNIX /etc/rc.local в ходе инициализации системы (если он присутствует), хотя по умолчанию данный сценарий не включен в состав Lion. Систем­ный процесс launchd запускает также процесс /sbin/SystemStarter, который управляет устаревшими объектами запуска Mac OS X. Lion не включает никаких встроенных объектов запуска, но процесс SystemStarter все равно проведет поиск сторонних объектов запуска в папках /Система/Библиоте- ки/StartupItems (/System/Library/Startupltems) и /Библиотеки/Startupltems (/Library/Startupltems).

 

Инициализация системы: прошивка, загрузчик, ядро, системный launchd

 

 

Основная литература:1 [23-26], 2 [5-92], 3[801-815]

Дополнительная литература:6

Контрольные вопросы:

1. Назовите основные этапы инициализации системы и инициализации рабочей среды пользователя в Lion. В каком порядке они идут?

2. Какие существуют визуальные и/или звуковые признаки этапов инициализа­ции системы?

3. Какова функция прошивки? Что такое POST?

4. Какую роль выполняет системный процесс launchd в процессе загрузки системы?

5. Какие объекты запускаются автоматически системным процессом launchd в ходе инициализации системы?

6. Какую роль играет процесс loginwindow в загрузке системы?

7. В чем разница между демонами запуска, объектами запуска, агентами запуска и объектами входа в систему?

8. Что происходит во время выхода пользователя из системы?

9. Что происходит во время выключения системы?

10. В чем различие между режимами Безопасная загрузка (Safe Boot), Безопасный режим (Safe Mode) и Безопасный вход в систему (Safe Login)?

11. Какие объекты не загружаются во время безопасной загрузки Lion?

12. Какие клавиатурные комбинации используются для безопасной загрузки Lion?

13. Как решить проблемы, которые обходит загрузка в безопасном режиме?

 

 








Дата добавления: 2015-09-18; просмотров: 684;


Поиск по сайту:

При помощи поиска вы сможете найти нужную вам информацию.

Поделитесь с друзьями:

Если вам перенёс пользу информационный материал, или помог в учебе – поделитесь этим сайтом с друзьями и знакомыми.
helpiks.org - Хелпикс.Орг - 2014-2024 год. Материал сайта представляется для ознакомительного и учебного использования. | Поддержка
Генерация страницы за: 0.016 сек.