Главная Случайная страница


Полезное:

Как сделать разговор полезным и приятным Как сделать объемную звезду своими руками Как сделать то, что делать не хочется? Как сделать погремушку Как сделать так чтобы женщины сами знакомились с вами Как сделать идею коммерческой Как сделать хорошую растяжку ног? Как сделать наш разум здоровым? Как сделать, чтобы люди обманывали меньше Вопрос 4. Как сделать так, чтобы вас уважали и ценили? Как сделать лучше себе и другим людям Как сделать свидание интересным?


Категории:

АрхитектураАстрономияБиологияГеографияГеологияИнформатикаИскусствоИсторияКулинарияКультураМаркетингМатематикаМедицинаМенеджментОхрана трудаПравоПроизводствоПсихологияРелигияСоциологияСпортТехникаФизикаФилософияХимияЭкологияЭкономикаЭлектроника






Структура операционной системы Windows 2000. Реестр. Прикладной интерфейс программирования





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

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

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

1. Уровень аппаратных абстракций

Одна из целей создания Windows 2000 заключалась в возможности переносить систему на другие платформы. Реализация данного уровня представляет собой сокрытие многих из аппаратных различий в тонком уровне, на самом дне системы, который назвали уровнем аппаратных абстракций (HAL Hardware Abstrction Layer).

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

2. Уровень ядра.

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

3. Исполняющая система

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

Менеджер объектов управляет всеми объектами операционной системы. К ним относятся потоки, процессы, файлы, каталоги, устройства ввода-вывода и многое другое.

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

Менеджер процессов управляет процессами и потоками, включая их создание и завершение. Он занимается механизмом, который используется для управления ими. Менеджер процессов основывается на объектах потоков и процессов ядра и добавляет к ним дополнительные функции. Это – ключевой момент многозадачности в Windows 2000.

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

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

Менеджер КЭШа хранит в памяти диска данные, которые использовались в последнее время, чтобы ускорить доступ к ним, в случае если они понадобятся вновь. Его работа состоит в том, чтобы определить, какие блоки понадобятся снова, а какие нет. Операционная система Windows 2000 может одновременно использовать несколько файловых систем. В этом случае менеджер КЭШа обслуживает все файловые системы, таким образом, что каждой файловой системе не нужно заниматься управлением собственного КЭШа. Когда требуется блок, он запрашивается у менеджера КЭШа. Если у менеджера КЭШа нет блока, он обращается за блоком к соответствующей файловой системе. Поскольку файлы могут отображаться в адресное пространство процессов, менеджер КЭШа должен взаимодействовать с менеджером виртуальной памяти, чтобы обеспечить требуемую непротиворечивость. Количество памяти, выделенной для КЭШа, динамически изменяется и может увеличиваться или уменьшаться при необходимости.


Менеджер plug-and-play получает все уведомления об установленных новых устройствах. Для некоторых устройств проверка производится при загрузке системы, но не после нее. Другие устройства, например устройства USB (Universal Serial Bus – универсальная последовательная шина), могут подключаться в любое время, и их подключение запускает пересылку сообщения менеджеру plug-and-play, который находит и загружает соответствующий драйвер.

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

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

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

Исполняющий модуль Win32 GDI обрабатывает определенные системные вызовы. Интерфейс графических устройств GDI (Graphic Device Interface) занимается управлением графическими изображениями для монитора и принтеров. Он предоставляет системные вызовы, позволяющие пользовательским программам выводить данные на монитор и принтеры, независящим от устройств способом. Он также содержит оконный менеджер и драйвер дисплея.

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

При загрузке операционная система Windows 2000 загружается в память как набор файлов. Основная часть операционной системы, состоящая из ядра и исполняющей системы, находится в файле ntoskrnl.exe. Уровень HAL представляет собой библиотеку общего доступа, расположенную в отдельном файле hal.dll. Интерфейс Win32 и интерфейс графических устройств хранятся вместе в третьем файле win32k.sys. Наконец загружается множество драйверов устройств. Большинство из них имеет расширение.sys.

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

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


Существуют драйверы для реально видимых осязаемых устройств ввода-вывода, таких как диски и принтеры, но также есть драйверы многих внутренних устройств и микросхем. Кроме того, как уже было сказано, файловые системы также представлены в виде драйверов устройств. Самый большой драйвер устройства – для интерфейса Win32 и GDI, он обрабатывает множество системных вызовов и управляет большей частью графики.

Реестр

Системный реестр Windows представляет собой централизованную базу данных параметров настройки системы и работающих в ней приложений.

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

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

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

Основу реестра Windows составляют корневые разделы. Каждый корневой раздел содержит вложенные подразделы и параметры – элементы данных реестра.

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

Данные реестра, хранятся в виде параметров, расположенных в соответствующих разделах реестра. Каждый параметр характеризуется: именем, типом данных и значением. Различают следующие основные типы данных в реестре Windows 2000:

Тип данных Описание
REG_BINARY Необработанные двоичные данные. Большинство сведений об аппаратных компонентах хранится в виде двоичных данных и выводится в редакторе реестра в шестнадцатеричном формате.
REG_DWORD Данные представлены в виде значения, длина которого составляет 4 байта (32-разрядное целое). Этот тип данных используется для хранения параметров драйверов устройств и служб. Значение отображается в окне редактора реестра в двоичном, шестнадцатеричном или десятичном формате.
REG_EXPAND_SZ Строка данных переменной длины. Этот тип данных включает переменные, обрабатываемые при использовании данных программой или службой.
REG_MULTI_SZ Многострочный текст. Этот тип, как правило, имеют списки и другие записи в формате, удобном для чтения. Записи разделяются пробелами, запятыми или другими символами.
REG_SZ Текстовая строка фиксированной длины.


С точки зрения прикладного программиста, Windows 2000 (как и любая другая операционная система) характеризуется в первую очередь тем, каким именно образом программы взаимодействуют с ней. Все приложения "общаются" с Windows 2000 через интерфейс, базирующийся на вызовах. Базирующийся на вызовах интерфейс Windows 2000 — это весьма обширный набор системных функций, которые предоставляют доступ к функциональным возможностям операционной системы. В совокупности эти функции обозначаются термином Application Programming Interface (интерфейс прикладного программирования) или сокращенно — API. API содержит несколько сотен функций, которые могут использовать ваши прикладные программы, чтобы выполнять все необходимые операции для успешного взаимодействия с операционной системой.

Существует две основных разновидности API, получивших широкое распространение: Win16 и Win32. Win16 — более старая 16-разрядная версия API. Win32 — современная 32-разрядная версия, интерфейс которой применяется программами в Windows 2000. В целом, Win32 охватывает множество функций Win16. На самом деле в большинстве случаев функции имеют одинаковые названия и применяются аналогичным образом. Тем не менее, будучи одинаковыми по сути и назначению, эти API отличаются друг от друга в двух фундаментальных аспектах. Во-первых, Win32 поддерживает 32-разрядную прямую адресацию, тогда как Win16 поддерживает только 16-разрядную сегментированную модель памяти. Это различие приводит к тому, что Win32, как правило, использует 32-разрядные значения аргументов и возвращаемых результатов в тех случаях, в которых Win16 применяет 16-разрядные значения. Во-вторых, Win32 включает функции API, которые поддерживают основанную на потоках многозадачность, защиту и другие функциональные возможности, недоступные в Win16.


Сети







Date: 2016-06-06; view: 868; Нарушение авторских прав



mydocx.ru - 2015-2024 year. (0.01 sec.) Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав - Пожаловаться на публикацию