Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ОС рулез.doc
Скачиваний:
0
Добавлен:
01.03.2025
Размер:
630.27 Кб
Скачать

Краткий обзор архитектуры Windows.

Процессы поддержки

системы

Процессы

сервисов

Юзерские

приложения

Подсистемы

окружения

DLL-подсистемы Win32

Пользовательский

режим

Исполнительная система

Ядро Драйверы

устройств

Уровень абстрагирования от оборудования HAL

Режим

Поддержка окон и графики

ядра

Все ОС делятся на два режима: пользовательский и режим защиты. Часть ОС находится в пользовательском режиме (кольцо 3), а часть в режиме ядра (кольцо 0). В основном, в режиме защиты, в ОС существует процесс обработки входа в систему:

идентификация пользователя – определение имени пользователя;

аунтификация пользователя – определение пароля пользователя;

авторизация пользователя – определение действий, которые пользователь может выполнить в системе.

Например, Windows 3.х, 9х является вырожденной ОС, так как в ней предусмотрена только идентификация.

Процессы сервиса – сервисные функции: менеджер задач, SQL-сервер. Пользовательские приложения бывают пяти типов: Win32, Win 3.x, MS-DOS, POSIX, OS/2.

Подсистема окружения – это окружения ОС, позволяющие на компьютерах с ОС запускать приложения разных типов. Например, в Windows NT есть три подсистемы: Win32, POSIX, OS/2.

DLL-подсистемы Win32. Назначение: транслировать документированные функции в соответ-ствующие недокументированные функции исполнительной системы и ядра.

Исполнительная система – управляет памятью, процессами и потоками, обеспечивает защиту и взаимодействие между процессами.

Ядро. Ядро содержит низкоуровневые функции ОС: планирование потоков, диспетчеризацию прерываний и исключений. Обеспечивает синхронизацию работы процессов.

Драйверы устройств. Драйверы аппаратных устройств, сетевые драйверы, драйверы файловой системы.

Уровень абстрагирования от оборудования HAL. Изолирует ядро, драйверы и исполнительную систему от специфики оборудования на данной аппаратной платформе.

Поддержка окон и графики. Реализация графического пользовательского интерфейса.

Основные системные файлы Windows 95, nt, 2000.

ntoskrnl.exe - исполнительная система и ядро

hal.dll - уровень абстрагирования от оборудования

win32k.sys - часть подсистемы win32, работающий в режиме ядра.

kernel32.dll, user32.dll, gdi32.dll - основные dll системы win32.

Средства аппаратной поддержки управления памятью.

Основная задача – преобразование логического (линейного) адреса в физический.

1. DOS. Логический адрес состоит из двух составляющих: из 16-разрядного сегмента и 16-разрядного смещения.

сегмент

смещение

:

Например. 5720 : 1А3В

В процессоре 8086 20-разрядный адрес. Получение физического адреса: сегментная составляющая сдвигается на 4 разряда влево (это равносильно умножению на 16). К смещению слева добавляется 0000 и затем числа складываются.

сегмент 0000

0000 смещение

Например. 57200

+ 01A3B

58C3B

Таким образом, можно адресовать в DOS FFFF:FFFF или 1Мб + 64Кб – 16.

Только с появлением 80286 появилась возможность работы с верхней памятью (HMA). В DOS вся память делится на смежные блоки:

0

М ////// SD

M ////////

Z

B

D

MCB (Memory Control Block). Каждый блок начинается с 16-байтного заголовка. MZ

M - занято

Z - свободно

В заголовке указывается размер каждого блока в параграфах и имя программы, которая является владельцем этого блока. Если в качестве имени указана SC значит это системный код, если SD, то системные данные. Как правило SD является первым блоком в MCB. Первый байт каждого заголовка подблока начинается с символа, который определяет тип системных данных:

B - буферы ввода/вывода (в config.sys это BUFFERS= )

D - драйверы

F - системная таблица файлов (FILES= )

S - системные стеки прерываний (STACKS= )

L - структура последнего диска в системе (LASTDRIVE= )

PSP (размер блока в параграфах)