Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Выполнение программного кода




ОС типа Windows использует два режима: пользователя и ядра. Архитектура Intel 80386 определяет 4 уровня привилегий. Для ядра используется нулевой, самый высокий уровень привилегий. 3-й уровень выделен для режима пользователя.

Режим ядра.

ПО, выполняющееся в режиме ядра:

1. Имеет прямой доступ к аппаратуре

2. Имеет доступ ко всей памяти

3. Не может быт вытеснен в страничный файл на диске

4. Выполняется с большим приоритетом, чем процессы пользователя

В режиме ядра выполняется операционная система. В ОС Windows 95/98, для совместимости, разрешается 16-разрядным драйверам работать в режиме ядра и следовательно иметь прямой доступ к аппаратуре. В Windows NT/2000 такой уровень не предоставляется, поэтому зачастую DOS - е программы не работают в Windows NT/2000

Режим пользователя.

Режим пользователя предоставляет меньше привилегий, нежели режим ядра, - в частности процессы этого режима имеют следующие особенности:

1. Не имеют прямого доступа к аппаратуре. Это защищает систему от ошибок в приложениях

2. Ограничены выделенным им адресным пространством. Таким образом ОС обеспечивает свою целостность

3. Могут вытесняться из физической памяти в виртуальную память на диске

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

Для вызова системных сервисов используется интерфейс прикладного программирования (API) Windows.

Многозадачность

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

Процессы и потоки

Процесс - это выполняемая программа. Ему принадлежит адресное пространство и ресурса. Поток - это основная единица, которой ОС выделяет процессорное время(кванты). Поток работает в адресном пространстве процесса. Каждый процесс 16-разрядного Windows - приложения имеет только один поток, 32-разрядные - несколько. Ресурсами владеют процессы, а потоки лишь их используют. Например, любой поток процесса может обратиться к порту, но ни один не вправе самостоятельно запросить использование порта.

Вытесняющая многозадачность

Архитектура Windows позволяет ОС получать контроль над процессором без согласия выполняющегося приложения. Лишение приложения контроля над процессором называется вытеснением. Windows NT/2000 обеспечивает вытесняющую многозадачность для 16 и 32 разрядных приложений. Windows 95/98 только для 32-разряднях (для совместимости)

Планирование

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

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

Переменные приоритеты (0-15) - определяет приоритет для приложений

Уровни приоритетов включают:

Низкий (приоритет 4)

Обычный (7)

Высокий (13)

Реального времени (24)

Не рекомендуется запускать без необходимости приложения с уровнем 24, это может привести к нестабильности в работе ОС

Управление памятью

В Windows каждый процесс имеет свое адресное пространство, что позволяет адресовать до 4 Гб памяти. Отметим что выделяется адреса памяти, а не физическое ОЗУ. Физическая память ограничена имеющимися системными ресурсами (ОЗУ и дисковым пространством). Windows выделяет приложению лишь 2 Гб адресов, а другие 2 Гб резервирует для нужд ядра. Большинство компьютеров не располагает 4 Гб памяти и по этой причине используется механизм виртуальной памяти. Таким образом, Windows переносит часть содержимого физической памяти на жесткий диск, когда объем доступного ОЗУ будет исчерпан. Этот процесс известен как подкачка. Виртуальные адреса, используемые процессом, не совпадают с адресами физической памяти. Поэтому для каждого процесса ядро поддерживает таблицу страниц - внутреннюю структуру, которая позволяет преобразовать виртуальные адреса в физические. Физическое и виртуальное адресное пространство каждого процесса разделено на страницы, размер которых зависит от компьютера. Для компьютеров, х86 размер страницы составляет 4кб

Выполнение приложений.

В отличии от DOS, Windows для управления приложениями использует механизм сообщений. Сообщение генерируется всякий раз, когда происходит какое-то событие (например нажимается кнопка мыши). Сообщение помещается в очередь сообщений. У каждого 32-разрядного приложения своя очередь. У 16 разрядных приложений, в целях совместимости, Windows 95/98 использует общую очередь. Активное приложение постоянно проверяет свою очередь и извлекает поступившие сообщения

Виртуальные машины.

Windows NT/2000 выполняет приложения в рамках виртуальных машин (Virtual Machine, VM). Фактически VM - это создаваемая ОС среда для выполнения приложения, которая полностью эмулирует все ресурсы компьютера. С точки зрения приложения, виртуальная машина - это полноценный компьютер с ресурсами. Каждое 16-разрядное Windows - и MS-DOS приложения под управлением Windows NT/2000 выполняются в отдельном адресном пространстве, называемом DOS-машиной (Virtual DOS Machine, VDM). При этом обеспечивается защита программ, а Windows NT/2000 может реализовать вытесняющую многозадачность. В Windows 95/98 также предусмотрено выполнение MS-DOS-приложений в отдельных VDM, однако, поскольку часть памяти доступна всем виртуальным машинам, то MS-DOS-приложения представляют потенциальную угрозу стабильности системы.

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

Windows использует драйверы для: дисплеев, звуковых карт, устройств связи, принтеров, сетевых адаптеров. В зависимости от того для какой ОС Windows разработан драйвер может принадлежать к одной из двух групп: защищенного и реального режима. Драйверы реального режима разрабатываются для работы с MS DOS. Они не так безопасны и устойчивы, как драйверы защищенного режима. Драйверы защищенного или драйвера виртуального устройства (Virtual Device Driver,VxD) обеспечивает быстрый разделяемый доступ к устройствам. Windows 95/98 поддерживают оба типа, Windows NT/2000 -только защищенного режима.

Интерфейс прикладного программирования Win32

ОС типа Windows имеют множество стандартных функций, используемых при разработке 32-разрядных приложений. (например MessageBox). Интерфейс прикладного программирования (Application Programming Interface, API) Win32 обеспечивает единообразный доступ к этим функциям. Многие функции интегрированы в состав Visual Basic, Delphi и пр. Базовый код API содержится в трех библиотеках динамической загрузки (DinamicLink Library, DLL): USER32, GDI32, Kernel32

USER32

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

GDI32

Gdi32.dll и Gdi.exe контролируют интерфейс графических устройств (Graphics Device Interfase). GDI выполняет графические операции при создании изображения на дисплее и других устройствах, включая:

Вывод на экран

Вывод на принтер

Включение/отключение пикселей

Kernel32

Kernel32.dll выполняет базовые функции ОС, в том числе:

Управление памятью

Файловый ввод-вывод

Загрузку программы

Выполнение программы

Примечание. При объявлении функций API 32-разрядные чувствительны к регистру, а эквивалентные 16-разрядные нет. Это необходимо иметь ввиду при преобразовании 16-разрядных в 32-разрядные

Реестр Windows

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

Структура реестра

Реестр - это древовидная иерархическая структура. Она хранится в двух файлах. Обычно их два: один содержит настройки пользователя (User.dat), а другой настройки компьютера (обычно System.dat). Каждый узел дерева называется ключом. Реестр напоминает файловую систему, любой ключ может содержать вложенные ключи (аналог каталогов). В ключе хранится произвольное число значений данных любого типа. Каждое значение называется элементом реестра. Компоненты ключей содержат:

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

Класс - не обязательный. Имя класса объекта. Предназначен для использования в коде методов классов, экземпляры которого хранятся в реестре

Дескриптор защиты - не обязательный. Содержат дескрипторы защиты Windows NT/2000. Допускают управление доступом

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

Элементы - не обязательный. Имя для идентификации значения. Тип и сами данные

Реестр Windows

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

Структура реестра

Реестр - это древовидная иерархическая структура. Она хранится в двух файлах. Обычно их два: один содержит настройки пользователя (User.dat), а другой настройки компьютера (обычно System.dat). Каждый узел дерева называется ключом. Реестр напоминает файловую систему, любой ключ может содержать вложенные ключи (аналог каталогов). В ключе хранится произвольное число значений данных любого типа. Каждое значение называется элементом реестра. Компоненты ключей содержат:

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

Класс - не обязательный. Имя класса объекта. Предназначен для использования в коде методов классов, экземпляры которого хранятся в реестре

Дескриптор защиты - не обязательный. Содержат дескрипторы защиты Windows NT/2000. Допускают управление доступом

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

Элементы - не обязательный. Имя для идентификации значения. Тип и сами данные




Поделиться с друзьями:


Дата добавления: 2014-01-04; Просмотров: 755; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.