Методические указания к лабораторной работе Механизмы ос microsoft Windows



Скачать 433.23 Kb.
страница1/3
Дата21.01.2018
Размер433.23 Kb.
#9786
ТипМетодические указания
  1   2   3

НИЖЕГОРОДСКИЙ ГОСУДАРСТВЕННЫЙ ТЕХНИЧЕСКИЙ УНИВЕРСИТЕТ

Методические указания к лабораторной работе



Механизмы ОС Microsoft Windows

Составил доц. кафедры ВСТ

Кочешков А. А.

Нижний Новгород

2006 г.

План работы

1.Общая архитектура Windows.

Изучить архитектуру Windows, состав и функции основных компонентов, работу компонентов в режиме пользователя и в режиме ядра.

Рассмотреть структуру основных системных каталогов, состав и расположение

наиболее важных системных файлов.

(ntldr, ntdetect, boot.ini, bootsect.dos, ntoskrnl.exe, hal.dll,ntdll.dll, csrss.exe,

kernel32.dll, user32.dll, gdi32.dll, advapi.dll, win2k.sys ...)

Рассмотреть типовые группы системных файлов, найти их среди зарегистрированных

типов файлов.(.exe,.dll,.sys,.ini,.msc,.cpl,.inf,.pif,.lnk,.bat,.log,.tmp,.chm...)

2.Процесс загрузки Windows.

Описать основные действия на этапах загрузки и средства управления загрузкой.

Найти основные файловые компоненты, необходимые для начальной загрузки.

Выполнить загрузку с протоколированием загрузки драйверов

(добавить ключ /bootlog в файле boot.ini и найти файл ntbtlog.txt)

3.Стартовое меню.

С помощью стартового меню выполнить загрузку в различных режимах.

Описать специфику и назначение режимов загрузки из стартового меню.

4.Установка, выполнение и удаление приложений.

Изучить свойства многозадачности Windows.

Особенности использования DOS- , WIN16- , Win32-приложений.

Научиться управлять программами и процессами с помощью диспетчера задач,

Найти основные системные процессы и определить их идентификаторы, количество

потоков, приоритет, используемую память.

5.Управление системой с помощью консоли управления.

Запустить MMC, создать собственную консоль, рассмотреть состав оснасток системы,

включить в собственную консоль оснастку "Управление компьютером".

Запустить консоль и изучить ее основные возможности.

6.Общее описание реестра.

Ознакомиться с назначением, общей структурой и правилами использования реестра.

Воспользоваться редактором реестра regedit.exe или специализированными утилитами

для получения информации из реестра.

Правила обеспечения сохранности реестра и восстановления системы после сбоя.

7.Графический интерфейс.

Изучить и опробовать управление элементами интерфейса пользователя.

(Рабочий стол, главное меню, панель задач, ярлыки, контекстное меню, шрифты,

управление файлами и каталогами . . .)


Отчет

Отчет должен содержать протокол выполнения лаб.работы по пунктам с комментариями:

рассматриваемый вопрос -> изученный материал -> примеры операций ->

последовательность действий для выполнения операции -> выводы или результаты.


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

Вопросы соответствуют пунктам выполнения лаб.работы.





  1. Архитектура Windows XP

Чтобы сделать Windows XP как можно меньше зависимой от архитектуры процессора, Microsoft сократила объем кода ОС, привязанного к специфике оборудования. При переносе на другую платформу меняются только три части ОС:

* уровень абстрагирования от оборудования (уровень HAL) обязан сгладить различия между разными моделями определенного семейства микропроцессоров. Для разных ОС этот уровень может быть различным. Предназначение HAL состоит в том, чтобы ОС получила стандартный набор компьютерного оборудования. Реализован уровень HAL библиотекой hal.dll.

* ядро ОС (ntoskrnl.exe) Система Windows XP построена по модульному принципу, поэтому необходим "главный менеджер" операционной системы, который называется ядром (kernel). Основная задача ядра - планирование запуска задач на компьютере. Если одновременно работают несколько программ, то ядро выявляет программу с наибольшим приоритетом и запускает ее в первую очередь. Именно ядро несет ответственность за своевременную загрузку процессора.

* драйверы специфичных для данной платформы устройств (видеоплата, сетевой адаптер и мышь). В ОС необходима поддержка отдельных частей оборудования компьютера. Компания Microsoft могла бы включить поддержку мыши Microsoft в ядро ОС, но это не слишком удачная идея. Если на компьютере будет мышь другой модели, то выделенная в ядре память окажется неиспользованной. Поэтому в Windows XP, как и во всех остальных ОС, поддержка оборудования распределена по программным модулям, называемым драйверами устройств (device driver).

Процессоры, совместимые с Intel 80386, поддерживают четыре уровня привилегированности, обеспечивающие различные степени защиты и привилегий для исполняемых программ. В каждый момент времени процессор может работать только на одном уровне привилегий. Windows XP пользуется двумя режимами: уровень 0 (Kernel) и уровень 3 (User). Уровни 1 и 2 не используются, поскольку процессоры RISC поддерживают только два уровня привилегий, а ОС обязана работать и на других процессорах. Прикладные программы и многие части операционной системы могут выполняться только в третьем кольце. В режиме ядра приложению кроме прочего разрешено выделение памяти всем другим приложениям. Такое приложение может изменить таблицы, содержащие сведения о границах областей памяти, выделенных всем остальным приложениям и сведения о запросах приложений на дополнительные области памяти. Вполне понятно, что такие таблицы служат основой защиты памяти.

Состав основных компонентов ядра, системных каталогов и файлов.

1. Режим ядра — это привилегированный режим работы, в котором код получает прямой доступ ко всем аппаратным ресурсам и всей памяти, включая адресные пространства всех процессов режима пользователя. Функциональные возможности компонентов режима ядра включают:

— прямой доступ к оборудованию;

— прямой доступ ко всем видам памяти компьютера;

— возможность работы без передачи на жесткий диск в файл подкачки виртуальной памяти;

— более высокий приоритет исполнения, чем процессы режима пользователя.

Компоненты режима ядра структурированы по функциям. Основную работу по управлению объектами выполняет система Windows NT (Windows NT Executive).


NT Executive управляет объектами, операциями ввода – вывода. Имеются менеджеры, каждый из которых представляет собой набор внешних подпрограмм для взаимодействия с другими процедурами и экспортирует процедуры, поддерживающие взаимодействие с ядром.

Менеджер объектов — управляет основными системными объектами, такими как пространство имён, совместно используемые ресурсы, объекты пользователя, объекты, обеспечивающие контроль доступа к ресурсу.

Менеджер IPC — менеджер межпроцессорного взаимодействия, в основе работы которого лежит механизм передачи сообщений. Существуют два типа компонентов: LPC и RPC – локальный и удалённый вызовы процедур соответственно. Менеджер IPC может преобразовывать RPC в LPC, если и клиентская и серверная части находятся на одной машине.

Менеджер виртуальной памяти (VMM) — выполняет операции с памятью, формирует виртуальное адресное пространство процессов, реализует разделяемые области памяти, управляет подкачкой страниц, файлами подкачки и т.п.

Менеджер процессов – создаёт и завершает процессы и потоки, приостанавливает, возобновляет и управляет дескрипторами.

Менеджер PnP — централизованно управляет процессами Plug-and-Play, обеспечивает распознавание устройств — для этого «заставляет» драйверы шин проводить энумерацию, конфигурирование, запуск устройств. Служит средством связи между драйверами, HAL, NT Executive. Взаимодействует с PnP-частью прикладного уровня.

Монитор безопасности — устанавливает правила защиты на локальном компьютере, выполняет регистрацию и защиту исполняемых объектов, формирует маркер доступа, который наследуется от родителя.

Менеджер управления питанием — в BIOS необходимо включить поддержку ACPI для работы (Advanced Configuration Power Interface) — продвинутый интерфейс конфигурирования питания. Он включает в себя четыре режима потребления энергии для устройств и шесть режимов для системы. Переход в эти состояния возможен, если все драйверы поддерживают эти режимы. Менеджер управляет API — интерфейсами питания, координирует события питания, генерирует возвратный пакет питания (IRP).

Оконный менеджер и интерфейс графического устройства (GDI) — управляет системой отображения на экране и принтере.

Подсистема ввода-вывода включает:

— Менеджер ввода-вывода — предоставляет службы ядра драйверам устройств, преобразует команды чтения/записи в возвратные пакеты запросов ввода-вывода IRP (Input/Output Request Pockets). Возможность асинхронного ввода-вывода позволяет приложению продолжать выполняться, не дожидаясь ответа на запрос.

— Менеджер файловой системы — работает с драйвером файловой системы FSD (File System Driver), который поддерживает различные типы файловых систем (FAT12, FAT16, FAT32, NTFS, HPFS, CDFS…) Драйверы принимают файл-ориентированные запросы и транслируют их в аппаратно-зависимые вызовы.

— Сетевой редиректор и сетевой сервер.

— Менеджер КЭШа — производит кэширование дисковых операций. Кэширование выполняется для всех файловых систем однотипно.

Драйверы устройств — драйверы низкого уровня, обращаются к оборудованию на физическом уровне.

Исполнительная система основывается на системах микроядра. Микроядро выполняет планирование процессов и потоков, обработку прерываний и исключительных ситуаций, синхронизацию процессоров, восстановление системы после сбоев, отложенный вызов процедур. В отличие от остальной исполняемой части операционной системы, ядро никогда не выгружается из оперативной памяти, его выполнение никогда не прерывается другими потоками. Код ядра написан в основном на Си, а части, дающие наибольшую нагрузку на процессор, на языке Ассемблера. Микроядро реализует полный механизм переключения контекста, сохраняет КЭШ, настраивает карту памяти нового потока и загружает его регистры.

Ядро предоставляет поддержку двух специальных классов объектов: управляющие объекты и объекты диспетчеризации. Система строит объекты пользователя на основе этих объектов.

Микроядро вместе с HAL обеспечивают переносимость системы, независимость от оборудования. HAL (Hardware Abstraction Layer) — слой абстракции от оборудования изолирует ядро, драйверы устройств и исполняемую часть NT от аппаратных платформ, на которых должна работать операционная система. Этот программный слой позволяет скрыть особенности аппаратных платформ, предоставив ОС стандартные точки входа в процедуры, благодаря чему для нее исчезают различия между платформами и архитектурами. Поэтому ОС может функционировать на разных платформах с разными процессорами. HAL имеет вызовы для связывания процедур обработки прерываний с вектором прерывания.


2. Режим пользователя — менее привилегированный по сравнению с режимом ядра работы процессора. Компоненты режима пользователя:

— не имеют прямого доступа к аппаратуре. Это сделано в целях защиты от неверно работающих приложений или от несанкционированного доступа. Запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;

— ограничены размерами выделенного адресного пространства, что позволяет обеспечить дополнительную защиту ОС. Системные службы он вызывает через интерфейсы прикладных программ (Application Program Interface — API);

— могут быть выгружены из физической памяти в виртуальную память на жестком диске. Виртуальная память (virtual memory, VRAM) использует пространство на жестком диске как дополнительную оперативную память;

— приоритет процесса пользовательского типа ниже, чем у процессов режима ядра.

Поэтому ему, как правило, предоставляется меньше процессорного времени. Это предохраняет ОС от снижения производительности или возникновения задержек, связанных с ожиданием завершения работы приложений.

Компоненты пользовательского режима принято называть защищенными подсистемами, так как они формируют определенную операционную среду для приложений. Защищенные подсистемы работают в защищенном адресном пространстве и обмениваются сообщениями.

Подсистемы принято делить на внутренние и внешние:

1. Внутренние (интегральные) подсистемы — исполняют задачи самой операционной системы. Включают в себя множество системных процессов — сервисов или служб.

Подсистема безопасности:

— принимают запросы аутентификации пользователя;

— проверка подлинности входа в систему;

— проверка подлинности входа в систему;

— отвечают за аудит в системных ресурсах.

Служба сервера — внутренняя сетевая подсистема, предоставляющая интерфейс IP для доступа к сетевому серверу. Служба рабочей станции предоставляет IP доступа к редиректору.

2. Внешние подсистемы среды (окружения) — реализуют соответствующие интерфейсы приложений. Важнейшая система — Win32.

Функции защищенных подсистем:

1. Обеспечение нескольких программных интерфейсов API.

2. Изолирование базовой ОС от изменений или расширений API.

3. Защита окружения API от прикладных программ и других окружений.




2. Процесс загрузки Windows XP

Необходимо выполнение двух условий для успешного старта системы.

• Корректная инициализация аппаратных средств компьютера;

• Наличие всех файлов, необходимых для загрузки системы.

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

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




Файлы

Местоположение

Описание

NTLDR

корневой каталог загрузочного диска

Загрузчик операционной системы

Boot.ini

корневой каталог загрузочного диска

файл, задающий пути к каталогам, в которых установлены копии ОС.

Bootsect.dos -   присутстует только в системах с двойной загрузкой.

корневой каталог загрузочного диска

Скрытый системный файл, содержащий копию загрузочного сектора, используемого для загрузки альтернативных ОС (MS-Dos, Windows 3.1- Me)

Ntdetect.com

корневой каталог загрузочного диска

Распознаватель аппаратной конфигурации. Передает загрузчику (NTLDR) информацию об обнаруженных и распознанных аппаратных средствах.

Ntbootdd.sys
(только для SCSI)

корневой каталог загрузочного диска

Драйвер, используемый для доступа к жестким дискам SCSI. Содержимое файла зависит от используемого контроллера.

Ntoskrnl.exe

/system32

Ядро операционной системы. Содержит тот самый Boot-screen.

Hal.dll

/system32

Hardware Abstraction Layer - Уровень аппаратных абстракций. Изолирует низкоуровневые подробности функционирования аппаратных устройств от остальной ОС и предоставляет API для обращения к однотипным устройствам.

Куст реестра SYSTEM

/system32/config

Ключ  реестра   HKEY_LOCAL_MACHINE\SYSTEM

Драйверы устройств

/system32/Drivers

файлы драйверов устройств, установленных на локальном компьютере.

При включении питания процессор выдает в BIOS сигнал, который инициирует загрузку низкоуровневой микропрограммы BOOT-ROUTINE. Запускается подпрограмма самотестирования POST (Power-On Self Test), которая проверяет работоспособность процессора, оперативной памяти, а также вспомогательных и периферийных элементов. После проверки оборудования BIOS распределяет системные ресурсы между найденными устройствами. Результат этой работы BIOS отображается в загрузочной таблице. Затем BIOS запускает программу DOOTSTRAPOADER, которая является начальным загрузчиком. Эта программа считывает главную загрузочную запись (Master Boot Record), которая располагается в первом секторе жесткого диска. После загрузки MBR в память, управление передается коду, содержащемуся в MBR, который в свою очередь сканирует таблицу разделов в поисках системного раздела. Когда системный раздел найден, MBR загружает в память его нулевой сектор, который является загрузочным. В нем располагается код, предназначенный для нахождения и загрузки в память загрузчика ОС (NTLDR). После этого, загрузочный сектор должен распознать файловую систему для поиска загрузчика. Затем загрузочный сектор загружает в память NTLDR и передает ему управление.

После того, как управление получает NTLDR, он начинает свою работу, когда система работает в реальном режиме процессора x86. Первое, что он делает, - переключает процессор в режим использования 32-х разрядной модели памяти с прямой адресацией. После этого NTLDR с помощью встроенного кода файловой системы считывает из корневого каталога boot.ini.

Далее NTLDR очищает экран и, если в файле boot.ini имеется более одной записи о доступных для загрузки операционных системах, выводит загрузочное меню. После выбора одного из вариантов загрузчик загружает и запускает ntdetect.com, 16-разрядную программу реального режима, которая получает от BIOS сведения о базовых устройствах и конфигурации компьютера:

• время и дату, хранящиеся в энергонезависимой памяти CMOS;

• типы шин в системе и устройствах, подключенных к этим шинам;

• число, емкость и тип дисков, присутствующих в системе;

• тип подключенной мыши;

• число и тип параллельных портов, сконфигурированных в системе.

Эти сведения, записываемые во внутренние структуры данных, на более поздних этапах загрузки будут сохранены в разделе реестра HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION.

Затем NTLDR очищает экран и выводит индикатор процесса загрузки с надписью «Запуск Windows». Индикатор остается на нулевой отметке до начала загрузки драйверов устройств. При нажатии F8 выводится дополнительное стартовое меню.

Далее NTLDR начинает загружать необходимые для инициализации ядра файлы.

1. Загружает Ntoskrnl.exe и Hall.dll. Если загрузчику не удается загрузить какой-либо из этих файлов, он выводит сообщение «Не удается запустить Windows из-за испорченного или отсутствующего файла», за которым следует имя файла.

2. Для поиска драйверов устройств, которые нужно загрузить, считывает в память содержимое куста реестра SYSTEM.

3. Сканирует загруженный в память куст реестра SYSTEM и находит все загрузочные драйверы устройств. Для того, чтобы определить какие драйверы из какого набора управляющих параметров нужно загрузить, загрузчик обращается к разделу HKEY_LOCAL_MACHINE\SYSTEM\Select. Если выбрана конфигурация по умолчанию, то загрузчик берет значение параметра Default и загружает набор управляющих параметров, на который указывает значение этого параметра. Соответственно, если в дополнительном меню был выбран пункт «Последняя удачная конфигурация», то загрузчик использует значение параметра LastKnownGood. Для поиска требуемых драйверов загрузчик просматривает раздел HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services. На данном этапе загружаются только те драйверы, для которых параметр Start равен 0х0.

4. Вносит в список загрузочных драйверов устройств драйвер файловой системы, отвечающий за реализацию кода для конкретного типа раздела, на котором находится системный каталог.

5. Загружает драйвера, обязательные для запуска системы. Ход загрузки отражается индикатором «Запуск Windows». Если в boot.ini указан параметр /SOS, то вместо индикатора загрузчик выводит имя драйвера каждого загрузочного драйвера. На этом этапе драйверы лишь загружаются, а их инициализация проходит позже

6. Подготавливает регистры процессора для выполнения Ntoskrnl.exe.

На этом участие NTLDR в процессе загрузки заканчивается. Для инициализации системы загрузчик вызывает главную функцию из Ntoskrnl.exe.

Вызывая Ntoskrnl.exe, NTLDR передает структуру данных с:

• копией строки из Boot.ini (представляющий выбранный вариант загрузки);

• указателем на таблицы памяти (для описания физической памяти в системе);

• указателем на загруженные в память копии кустов реестра HARDWARE и SYSTEM;

• указателем на список загруженных драйверов.

Ntoskrnl.exe начинает первую из двух фаз процесса инициализации. Большинство компонентов исполнительной системы имеют инициализирующую функцию, которая принимает параметр, определяющий текущую фазу.

В фазе 0 прерывания отключены. Предназначение этой фазы в том, чтобы сформировать необходимые структуры, необходимые для вызова сервисов в фазе 1. Главная функция Ntoskrnl вызывает KiSystemStartup, которая в свою очередь вызывает HalInitializeProcessor и KiInitializeKernel для каждого процессора. Работая на стартовом процессоре, KiInitializeKernel выполняет общесистемную инициализацию ядра, в том числе всех внутренних структур данных, разделяемых всеми процессорами. Затем каждый экземпляр KiInitializeKernel вызывает функцию ExpInitializeExecutive, отвечающую за управление фазой 0.

ExpInitializeExecutive начинает с вызова HAL-функции HalInitSystem, позволяющей HAL взять управление инициализацией системы на себя. Одной из задач HalInitSystem является подготовка системного контролера прерываний каждого процессора к обработке прерываний и конфигурирование таймера, используемого для учета распределяемого процессорного времени.

Далее ExpInitializeExecutive вызывает процедуры инициализации для диспетчера памяти, диспетчера объектов, справочного монитора безопасности, диспетчера процессов и диспетчера Plug and Play. Эти компоненты выполняют следующие инициализирующие операции.

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

2. При инициализации диспетчера объектов определяются объекты, необходимые для создания его пространства имен, чтобы другие компоненты могли помещать в него свои объекты. Также создается таблица описателей для поддержки учета ресурсов.

3. Справочный монитор безопасности инициализирует объект типа «маркер доступа» и использует его для создания и подготовки первых маркеров, назначаемых начальным процессам.

4. Диспетчер процессов производит большую часть своей инициализации в фазе 0, определяя типы объектов процесс и поток и создавая списки для отслеживания активных процессов и потоков. Он также создает объект процесс для начального процесса и присваивает ему имя Idle. Наконец, диспетчер процессов создает процесс System и системный поток для выполнения процедуры Phase1Initialization. Этот поток не запускается сразу же после создания, поскольку прерывания пока запрещены.

5. Наступает фаза 0 в инициализации диспетчера Plug and Play, в ходе которой просто инициализируется ресурс исполнительной системы, используемый для синхронизации ресурсов шин.

Когда на каждом процессоре управление возвращается к функции KiInitializeKernel, она передает его циклу Idle. В результате системный поток, созданный, как было описано в п.4, начинает фазу 1.

На последних шагах ОС запускает проводник, в результате чего на рабочем столе появляются все объекты. В этот же момент проверяется содержимое папки Автозагрузка.

Все шаги загрузки фиксируются в файле BOOTLOG.TXT. Там же можно посмотреть результаты загрузки любого модуля (Если в процессе инициализации или загрузки устройства или драйвера произойдёт ошибка, то в завершающей строке SUCCESS заменится на FAILED), что позволяет выявить проблемы при загрузке или инициализации модуля.


Каталог: files -> stud
stud -> Инфекционные болезни
stud -> «Создание cd-rom раздела на usb-флеш-накопителе»
stud -> Контрольные вопросы Свойства одноранговых лвс. Харатеристика одноранговых лвс на базе Windows
stud -> Лабораторная работа №1 по дисциплине: «Программное обеспечение вычислительных сетей» Одноранговые лвс
stud -> Винирные покрытия
stud -> Конспект и на закрепление выполнение вопросы. Вклеенных распечатанных конспектов быть не должно
stud -> Лабораторная работа №1 по курсу "Операционные системы" "Механизмы ос microsoft Windows"
stud -> «Установка и конфигурирование ос windows Server 2003R2»

Скачать 433.23 Kb.

Поделитесь с Вашими друзьями:
  1   2   3




База данных защищена авторским правом ©vossta.ru 2022
обратиться к администрации

    Главная страница