Архитектура ОС 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 Кб (Скачать)

Содержание 

 

Введение

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


 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Введение

 

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

Следует отметить, что  для эффективной работы с операционной системой Windows XP требуется достаточно мощный современный компьютер. Прежде всего, в компьютере должно быть установлено не менее 128 мегабайт памяти. Лучше установить 256 мегабайт, чтобы система работала быстрее. Процессор может использоваться любой, но не слишком старый. Если тактовая частота процессора не менее 300 мегагерц, то он подойдет. Хотя лучше, конечно, использовать процессор с частотой более одного гигагерца. Жесткий диск должен вмещать не только файлы операционной системы и временные файлы, но и иметь достаточно свободного места, например, для создания образа компакт-диска перед его записью. Реально требуется диск размером не менее двух-трех гигабайт. А если учесть, что на диске надо установить другие программы и оставить место для разных документов, то диск объемом 10 гигабайт нельзя назвать слишком большим.

Любая сложная  система должна иметь понятную и  рациональную структуру, то есть разделяться  на части — модули, имеющие вполне законченное функциональное назначение с четко оговоренными правилами взаимодействия. Ясное понимание роли каждого отдельного модуля существенно упрощает работу по модификации и развитию системы. Напротив, сложную систему без хорошей структуры чаще проще разработать заново, чем модернизировать.

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

Большинство современных  операционных систем представляют собой  хорошо структурированные модульные системы, способные к развитию, расширению и переносу на новые платформы. Какой-либо единой архитектуры ОС не существует, но существуют универсальные подходы к структурированию ОС.

1 Основные понятия

 

1.1 Ядро и вспомогательные модули ОС

 

 Наиболее общим подходом к структуризации операционной системы является разделение всех ее модулей на две группы:

 - ядро — модули, выполняющие основные функции ОС;

 - модули, выполняющие вспомогательные функции ОС.

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

 В состав ядра входят  функции, решающие внутрисистемные задачи организации вычислительного процесса, такие как переключение контекстов, загрузка/выгрузка станиц, обработка прерываний. Эти функции недоступны для приложений. Другой класс функций ядра служит для поддержки приложений, создавая для них так называемую прикладную программную среду. Приложения могут обращаться к ядру с запросами — системными вызовами — для выполнения тех или иных действий, например для открытия и чтения файла, вывода графической информации на дисплей, получения системного времени и т. д. Функции ядра, которые могут вызываться приложениями, образуют интерфейс прикладного программирования — API.

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

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

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

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

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

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

 Некоторая  программа может существовать определенное время как пользовательское приложение, а потом стать частью ОС, или наоборот. Ярким примером такого изменения статуса программы является Web-браузер компании Microsoft, который сначала поставлялся как отдельное приложение, затем стал частью операционных систем Windows NT 4.0 и Windows 95/98, а сегодня существует большая вероятность того, что по решению суда этот браузер снова превратится в самостоятельное приложение.

 

Рисунок 1 - Нечеткость границы между ОС и приложениями

 

 Вспомогательные модули ОС обычно подразделяются на следующие группы:

- утилиты — программы, решающие отдельные задачи управления и сопровождения компьютерной системы, такие, например, как программы сжатия дисков, архивирования данных на магнитную ленту;

- системные обрабатывающие программы — текстовые или графические редакторы, компиляторы, компоновщики, отладчики;

- программы предоставления пользователю дополнительных услуг — специальный вариант пользовательского интерфейса, калькулятор и даже игры;

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

 Как и обычные приложения, для выполнения своих задач  утилиты, обрабатывающие программы  и библиотеки ОС, обращаются к функциям ядра посредством системных вызовов (рисунок 2).

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

 

 

Рисунок 2 - Взаимодействие между ядром и вспомогательными модулями ОС

 

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

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

 

1.2 Ядро в привилегированном режиме

 

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

 Обеспечить привилегии  операционной системе невозможно  без специальных средств аппаратной  поддержки. Аппаратура компьютера  должна поддерживать как минимум  два режима работы — пользовательский  режим  (user mode) и привилегированный режим, который также называют режимом ядра  (kernel mode), или режимом супервизора  (supervisor mode). Подразумевается, что операционная система или некоторые ее части работают в привилегированном режиме, а приложения — в пользовательском режиме.

 Так как  ядро выполняет все основные  функции ОС, то чаще всего именно  ядро становится той частью  ОС, которая работает в привилегированном  режиме (рис 3). Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».

 

Рисунок 3 - Архитектура операционной системы с ядром в привилегированном режиме

 

1.3 Многослойная структура ОС

 

Вычислительную  систему, работающую под управлением  ОС на основе ядра, можно рассматривать  как систему, состоящую из трех иерархически расположенных слоев: нижний слой образует аппаратура, промежуточный — ядро, а утилиты, обрабатывающие программы и приложения, составляют верхний слой системы (рис 4). Слоистую структуру вычислительной системы принято изображать в виде системы концентрических окружностей, иллюстрируя тот факт, что каждый слой может взаимодействовать только со смежными слоями. Действительно, при такой организации ОС приложения не могут непосредственно взаимодействовать с аппаратурой, а только через слой ядра.

 

Рисунок 4 - Трехслойная схема вычислительной системы

 

Многослойный  подход является универсальным и  эффективным способом декомпозиции сложных систем любого типа, в том числе и программных. В соответствии с этим подходом система состоит из иерархии слоев. Каждый слой обслуживает вышележащий слой, выполняя для него некоторый набор функций, которые образуют межслойный интерфейс. На основе функций нижележащего слоя следующий (вверх по иерархии) слой строит свои функции — более сложные и более мощные, которые, в свою очередь, оказываются примитивами для создания еще более мощных функций вышележащего слоя. Строгие правила касаются только взаимодействия между слоями системы, а между модулями внутри слоя связи могут быть произвольными. Отдельный модуль может выполнить свою работу либо самостоятельно, либо обратиться к другому модулю своего слоя, либо обратиться за помощью к нижележащему слою через межслойный интерфейс.

Такая организация  системы имеет много достоинств. Она существенно упрощает разработку системы, так как позволяет сначала определить «сверху вниз» функции слоев и межслойные интерфейсы, а затем при детальной реализации постепенно наращивать мощность функций слоев, двигаясь «снизу вверх». Кроме того, при модернизации системы можно изменять модули внутри слоя без необходимости производить какие-либо изменения в остальных слоях, если при этих внутренних изменениях межслойные интерфейсы остаются в силе.

Ядро может состоять из следующих слоев:

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