Архитектура ОС Windows

Автор: Пользователь скрыл имя, 28 Февраля 2013 в 14:00, курсовая работа

Описание работы

Операционная система Microsoft Windows XP, создана на основе технологии NT и является прямой наследницей системы Windows 2000. Вместе с тем, все лучшие нововведения, включенные в Windows Me, можно обнаружить и в Windows XP. При сохранении высоких показателей надежности, безопасности и быстродействия, система стала более простой в освоении, в ней появилось множество средств, предназначенных для индивидуальных домашних пользователей.

Содержание

Введение
3
1 Основные понятия. Архитектура ОС Windows
4
1.1 Ядро и вспомогательные модули ОС
4
1.2 Ядро в привилегированном режиме
6
1.3 Многослойная структура ОС
7
1.4 Процессы, потоки и задания
11
2 Общая структура операционной системы Windows XP
15
2.1 Уровень абстрагирования от оборудования
15
2.2 Ядро операционной системы
15
2.3 Драйверы устройств
16
2.4 Исполняющая подсистема (NT Executive)
16
2.5 Диспетчеризация управления программами
17
3 Системный реестр Windows
22
3.1 Использование реестра компонентами Windows
23
3.2 Организация системного реестра
24
3.3 Кусты и файлы реестра
25
Заключение
26
Литература
27

Работа содержит 1 файл

ОС курсовая.doc

— 551.50 Кб (Скачать)

 

  Модуль NT Executive состоит из микроядра и подсистем диспетчеризации управления программами с доступом к виртуальной памяти, окнам и графической подсистеме. Виртуальная память предоставляет пользовательским программам виртуальные адреса адресного пространства процессов и соответствующие физические страницы оперативной памяти компьютера. Графическая подсистема предназначена для создания оконного интерфейса, рисования элементов управления, расположенных в окнах. К исполняющей подсистеме относятся системные файлы Ntkrnlpa.exe, Kernel32.dll,Advapi32.dll, User32.dll, Gdi32.dll.

Операционная  система Windows XP в значительной мере использует возможности процессоров, совместимых с семейством Intel x86. В их аппаратной архитектуре предусматривается четыре уровня привилегий выполнения кода программ от 0-го наивысшего привилегированного до 4-го пользовательского режима с ограниченным набором команд процессора. Программы режима ядра операционной системы Windows XP функционируют в нулевом, защищенном и привилегированном режиме, а остальные пользовательские программы работают в менее привилегированных режимах, находясь под контролем программ режима ядра.

Недоступные в пользовательском режиме операции и приложения обращаются к системным  вызовам ядра операционной системы Win32 API. В состав API входит более 250 функций, обращение к которым осуществляется при помощи системных вызовов, основанных на подпрограммах ядра операционной системы. Все вызовы Win32 API обслуживаются как системными службами NT, так и модулем NT Executive – исполняющей системы Windows XP. Модуль NT Executive представляет собой несколько программных потоков, которые выполняются в режиме ядра. Код практически всех подсистем этого модуля находится в файлеntoskrnl.exe (кроме подсистемы Win32, код которой расположен в файле win32k.sys) и уровне абстрагирования от оборудования HAL, который содержится в файле hal.dll. В модуле NT Executive сосредоточены все самые важные части операционной системы.

Микроядро отвечает за выделение памяти для  приложений и распределение процессорного  времени, т. е. за реализацию многозадачности. Для этого в состав микроядра входит планировщик потоков (threads scheduler), который назначает каждому из потоков один из 32 уровней приоритета. Уровень 0 зарезервирован для системы. Уровни от 1-го до 15-го назначаются исполняемым программам, а уровни от 16-го до 31-го могут назначаться только администраторами. Планировщик делит все процессорное время на кванты фиксированного размера. При этом каждый программный поток выполняется только в течение отведенного ему времени, и если по окончании кванта он не освобождает процессор, планировщик в принудительном порядке приостанавливает этот поток и меняет программное окружение процесса, настраивая его на выполнение другого потока, обладающего тем же приоритетом. Микроядро также осуществляет всю работу, связанную с обработкой программных и аппаратных прерываний.

 

2.5  Диспетчеризация управления программами

 

Модуль  состоит из следующего набора системных  программ:

Диспетчер ввода-вывода – интегрирует добавляемые в систему драйверы устройств в операционную систему Windows XP;

Диспетчер объектов – служит для управления всеми разделяемыми ресурсами компьютера. В момент обращения приложения к какому-либо ресурсу диспетчер объектов сопоставляет с этим ресурсом объект (например, окно) и отдает приложению дескриптор этого объекта. Используя дескриптор, приложение  взаимодействует с объектом, совершая в его отношении различные операции. Монитор системы безопасности следит при этом за тем, чтобы с объектом выполнялись только разрешенные действия;  

Диспетчер процессов – предоставляет интерфейс, при помощи которого другие компоненты Windows NT Executive, а также приложения пользовательского режима могут манипулировать процессами и потоками. Во время работы диспетчер процессов сопоставляет с каждым процессом и потоком идентификатор процесса (PID– Process Identifier) и идентификатор потока (TID – Thret Identifier) соответственно, а также таблицу адресов и таблицу дескрипторов;  

Диспетчер виртуальной  памяти – служит для управления организации подсистемы памяти, позволяет создавать таблицы адресов для процессов и следит за корректностью использования адресного пространства приложениями. Кроме того, обеспечивает возможность загрузки в оперативную память исполняемых файлов и файлов динамических библиотек. Диспетчер виртуальной памяти представляет физическую память для пользовательских приложений – каждому процессу выделяются 4 Гб виртуального адресного пространства, из которых младшие 2 Гб используются процессом, а старшие 2 Гб (общие для всех процессов) отводятся на нужды системы. Каждый процесс работает в своем изолированном адресном пространстве и «не знает» о других процессах. Процессы обмениваются данными через разделяемую память, которая может быть спроецирована на виртуальное адресное пространство нескольких процессов. Главная задача диспетчера виртуальной памяти – организация логической памяти, размер которой больше размера физической, установленной на компьютере. Это достигается благодаря тому, что страницы памяти, к которым долго не было обращений, и которые не имеют атрибута неперемещаемых, сохраняются диспетчером в файле pagefile.sys на жестком диске и удаляются из оперативной памяти, освобождая ее для других приложений. В момент, когда происходит обращение к данным, находящимся в перемещенной на винчестер странице, диспетчер виртуальной памяти копирует страницу обратно в оперативную память, затем обеспечивает доступ к ней. Этот механизм обеспечивает выделение дополнительной памяти программам, которые нуждаются в ней, и при этом следит за тем, чтобы все работающие в системе программы обладали достаточным объемом физической памяти для того, чтобы продолжать функционирование;

Диспетчер кэша – используется для кэшированного чтения и записи и позволяет существенно ускорить работу жестких дисков и других устройств. При этом наиболее востребованные файлы дублируются диспетчером кэша в оперативной памяти компьютера, и обращение к ним обслуживается с использованием этой копии, а не оригинала, расположенного на сравнительно медленном долговременном носителе. Кэш в Windows XP является единым для всех логических дисков, вне зависимости от используемой файловой системы. Кроме того, он является динамическим, а это значит, что диспетчер управляет его размерами в зависимости от доступного объема свободной физической памяти в каждый конкретный момент;

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

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

–      файлы, располагающиеся в корневом каталоге загрузочного диска: Ntldr, Boot.ini, Bootsect.dos (файл необходим только при использовании мультизагрузки), Ntdetect.com;

–      файлы, располагающиеся в системном подкаталоге /system32: Ntoskrnl.exe, Hal.dll, разделы реестраSYSTEM;

–      файлы, располагающиеся в системном подкаталоге /system32/drivers: (необходимые драйверы устройств).

Процесс загрузки компьютера начинается с процедуры  начального тестирования оборудования (POST –Power-On Self Test). Код, выполняющий POST, зашит в базовой системе ввода-вывода (BIOS) каждого компьютера, при включении питания ему передается управление. Если в процессе тестирования обнаруживаются какие-либо ошибки, то BIOS генерирует коды ошибок (POSTcodes), которые отличаются для BIOS разных производителей, и звуковые коды. Если процедура POST завершается успешно, то BIOS передает управление главной загрузочной записи (MBR – Master Boot Record) и первая «аппаратная» стадия загрузки компьютера, когда процесс зависит только от аппаратуры компьютера, завершается.

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

Если  в файле boot.ini зарегистрировано более одной операционной системы, то после первичной инициализации загрузчик предоставляет пользователю возможность выбора путем вывода Ntldr приглашения о выборе операционной системы. Если выбрана операционная система Windows XP, загрузчик запускает файлNtdetect. сот. Этот компонент считывает из CMOS-памяти системную дату и время, после чего производит поиск и распознавание аппаратных средств, подключенных в данный момент к компьютеру. Завершив работу, Ntdetectвозвращает управление и собранную им информацию обратно в Ntldr. Далее загружается и инициализируется ядро операционной системы Ntoskrnl.exe и уровень абстрагирования от оборудования Hal.dll. При инициализации ядро производит ряд действий в определенной последовательности:

–     инициализация диспетчера памяти;

–     инициализация диспетчера объектов;

–     установка системы безопасности;

–     настройка драйвера файловой системы;

–     загрузка и инициализация диспетчера ввода-вывода;

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

В состав системных сервисов входят следующие  модули:

–     Smss.exe (диспетчер сеансов) – модуль управляет другими сервисами и службами Windows; запускает:Win32 (Csrss) и некоторые системные утилиты, выполняемые на этапе загрузки; реализует графический пользовательский интерфейс и запуск процессов Csrss.exe и WinLogon.exe;

–     Csrss.exe – модуль предназначен для организации взаимодействия между компьютером и пользователем;

–     Lsass.exe – служба, запускаемая WinLogon.exe и отвечающая за безопасность системы (предоставляет возможность пользователю зарегистрироваться в системе).

После загрузки операционной системы пользователь должен пройти процедуру аутентификации – ввести собственное регистрационное имя (логин) и пароль. Процедура подключения к системе позволяет определить, обладает ли пользователь правом входа и работы с системой. Эту процедуру выполняет служба WinLogon. При этом в системе происходят следующие события:

–     процесс WinLogon отображает на экране фон рабочего стола и приглашение к вводу пользователем логина и пароля. Введенные данные передаются подсистеме безопасности;

–     подсистема безопасности обращается к базе данных SAM (Security Accounts Manager) и проверяет, обладает ли пользователь полномочиями работы с системой.

Если  пользователь является авторизированным пользователем системы, то подсистема безопасности формирует для него идентификатор доступа, который вместе с управлением передает обратно процессуWinLogon. Процесс WinLogon посредством обращения к подсистеме Win32 создает новый процесс для пользователя и прикрепляет ему идентификатор доступа. Каждый процесс, в дальнейшем создаваемый пользователем, отмечается принадлежащим ему идентификатором доступа, поэтому доступ пользователя к ресурсам системы контролируется и отслеживается. Благодаря обязательной процедуре подключения к системе упрощается реализация механизмов: аудит системы и квоты на использование ресурсов. Пользовательский идентификатор доступа содержит идентификатор пользователя, а также идентификаторы всех групп, к которым принадлежит данный пользователь.

Если  операционная система не загружается корректно, то при нажатии в процессе загрузки Windows XPклавиши F8 происходит переход в расширенное меню запуска, содержащее пункты:

–     Безопасный режим – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств;

–     Безопасный режим с загрузкой сетевых драйверов – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с поддержкой подключения к сети;

–     Безопасный режим с поддержкой командной строки – загрузка Windows XP с минимальным требуемым количеством системных файлов и драйверов устройств с загрузкой режима командной строки;

–     Включить протоколирование загрузки – режим позволяет записать этапы загрузки Windows XP в файлNtbtlog. txt;

–     Включить режим VGA – режим, загружает драйвер стандартного монитора VGA с разрешением 640 на 480 точек на дюйм и 16 цветами;

–     Загрузка последней удачной конфигурации – режим, восстанавливает последнюю неиспорченную копию реестра Windows XP. 

 

 

 

Рисунок 8 - Структура Windows XP

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

3 Системный реестр Windows

 

В операционной системе Windows практически вся конфигурационная информация (приложений, служб, параметров оборудования и т. п.) хранится в системном  реестре (System Registry).

 

Эти компоненты реестра наглядно показаны на рисунке 9.

 

 

Рисунок 9 - Компоненты реестра.

 

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

Поддеревья  включают разделы. Разделы и подразделы, в свою очередь, могут включать подразделы и параметры. Разделы и параметры могут быть двух типов.

Постоянные - разделы  и параметры сохраняются на диске  и загружаются после перезагрузки компьютера. Большинство данных, хранящихся в реестре - постоянные.

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

Реестр представляет собой иерархическую структуру, состоящую из поддеревьев, разделов, подразделов и параметров. Для просмотра и редактирования системного реестра Windows предусмотрены две специализированных программы - regedit и regedt32.

 

3.1 Использование реестра компонентами Windows

 

Ниже приведены сведения об использовании системного реестра основными компонентами и приложениями Windows.

Информация о работе Архитектура ОС Windows