Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ргз ОС.docx
Скачиваний:
3
Добавлен:
22.09.2019
Размер:
57.97 Кб
Скачать

Содержание

Введение……………………………………………………………………………….…3

1 Тип ядра………………………………………………..…………...…….….……....4

2 Управление процессами и потоками……………………………………………….5

3 Управление памятью…………………………………………………………..……....7

4 Управление устройствами ввода/вывода…………………………………………..8

5 Блокировка и безопасность…………………………………………..….………….9

Заключение………………………………………………………………………..……13

Список использованных источников…………………………………………………14

Введение

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

Тип ядра

Операционная система Windows server имеет гибридный тип ядра.

Гибридное ядро — модифицированные микроядра, позволяющие для ускорения работы запускать «несущественные» части в пространстве ядра.

Наиболее тесно элементы микроядерной архитектуры и элементы монолитного ядра переплетены в ядре Windows Server. Хотя Windows Server часто называют микроядерной операционной системой, это не совсем так. Микроядро Windows Server слишком велико, чтобы носить приставку «микро». Компоненты ядра Windows Server располагаются в вытесняемой памяти и взаимодействуют друг с другом путем передачи сообщений, как и положено в микроядерных операционных системах. В то же время все компоненты ядра работают в одном адресном пространстве и активно используют общие структуры данных, что свойственно операционным системам с монолитным ядром. Причина проста: чисто микроядерный дизайн коммерчески невыгоден, поскольку неэффективен.

Таким образом, Windows Server можно с полным правом назвать гибридной операционной системой.

Смешанное ядро, в принципе, должно объединять преимущества монолитного ядра и микроядра: казалось бы, микроядро и монолитное ядро — крайности, а смешанное — золотая середина. В них возможно добавлять драйвера устройств двумя способами: и внутрь ядра, и в пользовательское пространство. Но на практике концепция смешанного ядра часто подчёркивает не только достоинства, но и недостатки обоих типов ядер.

Управление процессами и потоками

Основная структура, которая описывает процесс в винде - это блок управления процессом (PCB, Process control block). В состав PCB обычно включают:

1) состояние, в котором находится процесс;

2) программный счетчик процесса или, другими словами, адрес команды, которая должна быть выполнена для него следующей;

3) содержимое регистров процессора;

4) данные, необходимые для планирования использования процессора и управления памятью (приоритет процесса, размер и расположение адресного пространства и т. д.);

5) учетные данные (идентификационный номер процесса, какой пользователь инициировал его работу, общее время использования процессора данным процессом и т. д.);

6) информацию об устройствах ввода-вывода, связанных с процессом (например, какие устройства закреплены за процессом; таблица открытых файлов).

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

Подобно процессам потоки (нити, threads) в системе описываются структурой данных, которую обычно называют блоком управления потоком (thread control block, TCB).

Блок управления процессом (PCB) реализован в виде набора связанных структур, главная из которых называется блоком процесса EPROCESS. Соответственно, каждый поток также представлен набором структур во главе с блоком потока ETHREAD.

Этапы создания процесса.

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

2. Выполняется обращение к системному сервису NtCreateProcess для создания объекта "процесс". Формируются блоки EPROCESS, KPROCESS и блок переменных окружения PEB. Менеджер процессов инициализирует в блоке процесса маркер доступа (копируя аналогичный маркер родительского процесса), идентификатор и другие поля.

3. В уже полностью проинициализированном объекте "процесс" необходимо создать первичный поток. Это, посредством системного сервиса NtCreateThread, делает библиотека kernel32.dll.

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

Наконец, запускается первичный поток, для чего формируются его начальный контекст и стек, и выполняется запуск стартовой процедуры потока режима ядра KiThreadStartup. После этого стартовый код из библиотеки C/C++ передает управление функции main() запускаемой программы.