Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Теория операционных систем


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Установка и настройка ОС / Теория операционных систем

Выпуск № 65
от 10.02.2007, 12:35

Администратор:Калашников О.А.
В рассылке:Подписчиков: 389, Экспертов: 44
В номере:Вопросов: 1, Ответов: 2


Вопрос № 74197: Здравствуйте! Расскажите общую схему устройства ОС. На чем ее можно написать. Какие файлы сначала запускаются и т.п....

Вопрос № 74.197
Здравствуйте!
Расскажите общую схему устройства ОС. На чем ее можно написать. Какие файлы сначала запускаются и т.п.
Отправлен: 05.02.2007, 12:11
Вопрос задал: Troyan (статус: 7-ой класс)
Всего ответов: 2
Мини-форум вопроса >>> (сообщений: 1)

Отвечает: QDSota
Здравствуйте, Troyan!

Общая схема устройства ОС (3 главные части):
1. Интерфейс пользователя - что пользователь видит на экране и т.д.
2. Интерфейс абстракции оборудования - чтобы запускаемые программы не зависели от конфигурации железа.
3. Менеджер задач - чтобы запускать и останавливать задачи.

Все можно прочитать в учебнике "Теория операционных систем", или например на страничке http://sysbin.com.
---------
Открыть глаза навстречу солнцу
Ответ отправил: QDSota (статус: Профессионал)
Россия, Зеленоград
Тел.: 8-916-53-43-916
ICQ: 84611301
----
Ответ отправлен: 05.02.2007, 13:27
Оценка за ответ: 4

Отвечает: Alexey G. Gladenyuk
Здравствуйте, Troyan!
Если уж Вы замахнулись на столь обширный вопрос, то давайте рассмотрим для общего развития и понимания процесс загрузки всеми любимой операционной системы Windows XP.
Если опустить этап от нажатия кнопки включения до инициализации оборудования, то загрузка происходит примерно так.

Если первым является жесткий диск, BIOS проверяет самый первый сектор диска на наличие Master Boot Record (MBR). Для дисковода проверяется Boot Record в первом секторе.
Master Boot Record - первый сектор на цилиндре 0, 0 головке, 512 байт размером. Если она находится, то загружается в память по адресу 0000:7C00, потом проверяется на правильную сигнатуру - два последних байта должны быть 55AAh. Отсутствие MBR или этих проверочных байт останавливает процесс загрузки и выдает предупреждение. Сама MBR состоит из двух частей - системного загрузчика (partition loader или Boot loader), программы, которая получает управление при загрузке с этого жесткого диска; таблицы разделов, которая содержит информацию о логических дисках, имеющихся на жестком диске. Правильная MBR запись записывается в память и управление передается ее коду. Дальше Boot Loader проверяет таблицу разделов в поисках активной. Загрузчик дальше ищет загрузочную запись (Boot Record) на самом первом секторе раздела. В данном случае Boot Record это еще 512 байт - таблица с описанием раздела (количество байт в секторе, количество секторов в кластере и т.п.) и переход на первый файл опер ационной системы (IO.SYS в DOS). Boot Record проверяется на правильность и если код признается правильным то код загрузочного сектора исполняется как программа. Загрузка Windows XP контролируется файлом NTLDR, находящемся в корневой директории системного раздела. NTLDR работает в четыре приема:
- Начальная фаза загрузки
- Выбор системы
- Определение железа
- Выбор конфигурации

В начальной фазе NTLDR переключает процессор в защищенный режим. Затем загружает соответствующий драйвер файловой системы для работы с файлами любой файловой системы, поддерживаемой XP. Если в корневой директории есть BOOT.INI, то его содержание загружается в память. Если в нем есть записи более чем об одной операционной системе, NTLDR останавливает работу - показывает меню с выбором и ожидает ввода от пользователя определенный период времени. Если такого файла нет, то NTLDR продолжает загрузку с первого раздела первого диска, обычно это C:. Далее проверяется нажатие F8, создается резервный набор (последняя удачная конфигурация загрузки) и т.д. NTLDR находит и загружает DOS-овскую программу NTDETECT.COM для определения железа, установленного в компьютере. NTDETECT.COM строит список компонентов, который потом используется в ключе HARDWARE ветки HKEY_LOCAL_MACHINE реестра.
После выбора конфигурации NTLDR начинает загрузку ядра XP (NTOSKRNL.EXE). В процессе загрузки ядра (но перед инициализацией) NTLDR остается главным в управлении компьютером. Экран очищается и внизу показывается анимация из белых прямоугольников. Кроме ядра загружается и Hardware Abstraction Layer (HAL.DLL), дабы ядро могло абстрагироваться от железа. Оба файла находятся в директории System32. NTLDR загружает драйвера устройств, помеченные как загрузочные. Загрузив их NTLDR передает управление компьютером дальше.
NTOSKRNL в процессе загрузки проходит через две фазы - так называемую фазу 0 и фазу 1. Первая фаза инициализирует лишь ту часть микроядра и исполнительные подсистемы, которая требуется для работы основных служб и продолжения загрузки. На этом этапе на экране показывается графический экран со статус баром. Вызывается HAL для подготовки контроллера прерываний. Инициализируются Memory Manager, Object Manager, Security Reference Monitor и Process Manager.
Инициализация Менеджера ввода/Вывода начинает процесс загрузки всех системных драйверов. С того момента где остановился NTLDR загружаются драйвера по приоритету. Сбой в загрузке драйвера может заставить XP перезагрузиться и попытаться восстановить Last Known Good Configuration. Последняя задача инициализации ядра - запуск Session Manager Subsystem (SMSS). Подсистема ответственна за создание пользовательского окружения, обеспечивающего интерфейс NT. SMSS работает в пользовательском режиме, но в отличии от других приложений SMSS считается доверенной частью операционной системы и "родным" приложением (использует только исполнительные функции), что позволяет ей запустить графическую подсистему и login. SMSS загружает win32k.sys - графическую подсистему. Драйвер переключает компьютер в графический режим, SMSS стартует все сервисы, которые должны автоматически запускаться при старте. Если все устройства и сервисы стартовали удачно процесс загрузки считается удачным и созд ается Last Known Good Configuration.
Процесс загрузки не считается завершенным до тех пор, пока пользователь не залогинился в систему. Процесс инициализируется файлом WINLOGON.EXE, запускаемым как сервис и поддерживается Local Security Authority (LSASS.EXE), который и показывает диалог входа в систему. Это диалоговое окно показывается примерно тогда, когда Services Subsystem стартует сетевую службу.
(по материалам сайта http://www.xakep.ru/)
Ответ отправил: Alexey G. Gladenyuk (статус: Академик)
Россия, Сегежа
Тел.: +7 911 402 18 57
Организация: ОАО "Сегежский ЦБК"
WWW: Мой город
ICQ: 279076419
----
Ответ отправлен: 05.02.2007, 16:40
Оценка за ответ: 5
Комментарий оценки:
Спасибо!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2007, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
ООО "Мастер-Эксперт Про", Москва, 2007
Авторские права | Реклама на портале
Версия системы: 4.44 beta от 26.01.2007
Яндекс Rambler's Top100

В избранное