Автор работы: Пользователь скрыл имя, 21 Ноября 2011 в 18:49, курсовая работа
Windows XP – операционная система от компании Microsoft, в ней было сделано объединение двух, ранее существовавших независимо, линеек W9x и NT. Назвали этот проект Whistler, сейчас он разделился на две линии: WindowsXP, которая пришла на замену W9x и W2kPro,и Windows.NET, пришедшую на замену NT Server.1 Название XP происходит от англ. eXPerience (опыт)
1.ВВЕДЕНИЕ………………………………………………………………………...3
2. АРХИТЕКТУРА WINDOWS NT………………………………………………...7
2.1 Режим пользователя………………………………………………………7
2.2 Режим ядра………………………………………………………………...9
2.3 Исполнительная подсистема……………………………………………..9
2.4 Менеджер объектов……………………………………………………..10
3. MAC OS X……………………………………………………………………….10
3.1. Управление памятью…………………………………………………...10
3.2 Управление процессами и нитями……………………………………..13
3.3. Ввод-вывод и файловая система………………………………………14
3.4. Микроядро Darwin……………………………………………………...17
3.5. Службы ядра…………………………………………………………….20
4. ЗАКЛЮЧЕНИЕ……………………………………………………………….....21
5. СПИСОК ЛИТЕРАТУРЫ……………………………………………………....24
2.2 Режим ядра
Режим ядра Windows NT имеет полный доступ к аппаратной части компьютера и системным ресурсам. Работает в защищенной области памяти. Контролирует потоки, управляет памятью и взаимодействием с аппаратной частью. Предотвращает доступ к критическим областям памяти со стороны приложений и служб пользовательского режима. Для выполнения подобных операций процесс пользовательского режима должен попросить режим ядра выполнить её от своего имени.
Архитектура x86 поддерживает 4 уровня привилегий — от 0 до 3 , но используются только 0 и 3 уровень. Режим пользователя использует уровень 3, а режим ядра — 0. Это было сделано для возможности переноса на платформу RISC, которая использует только два уровня привилегий. Режим ядра состоит из исполнительных служб, которые представляют собой различные модули, выполняющие определенные задачи, драйвера ядра, само ядро и уровень аппаратных абстракций HAL
2.3 Исполнительная подсистема
Работает
с вводом\выводом, менеджером объектов,
управлением над процессами и
безопасностью. Неофициально делится
на несколько подсистем — менеджер
кэша, менеджер конфигурации, менеджер
ввода\вывода, вызов локальных процедур,
менеджер памяти, монитор безопасности.
Системные службы, то есть системные вызовы
реализованы на этом уровне, за исключением
нескольких вызовов, которые вызывают
непосредственно ядро для большей производительности.
В данном контексте термин «служба» относится
к вызываемым подпрограммам, или набору
вызываемых подпрограмм. Они отличаются
от служб, выполняемых в режиме пользователя,
которые в какой-то мере являются аналогом
демонов в UNIX- подобных системах.
2.4 Менеджер объектов
Это исполнительная подсистема, к которой обращаются все остальные модули исполнительной подсистемы, в частности системные вызовы, когда им необходимо получить доступ к ресурсам Windows NT. Менеджер объектов служит для уменьшения дублирования объектов, что может привести к ошибкам в работе системы. Для менеджера объектов каждый ресурс системы является объектом — будь то физический ресурс типа периферийного устройства, файловой системы, или логический ресурс — файл и др. Каждый объект имеет свою структуру, или тип объекта.
Создание объекта делится на две стадии — создание и вставка. Создание — создается пустой объект и резервируются необходимые ресурсы, например имя в пространстве имен. Если создание пустого объекта произошло успешно, то подсистема, ответственная за создание объекта заполняет его. Если инициализация успешна, то подсистема заставляет менеджер объектов произвести вставку объекта — то есть сделать его доступным по своему имени или дескриптору.14
3. MAC OS X
3.1. Управление памятью
При работе с реальной памятью Mac OS обеспечивает работу с адресным пространством размером 16 Мбайт (24-разрядный адрес). Разумеется, все адресное пространство не обязательно поддерживается реальной памятью, заполнение адресного пространства реальной памятью может быть фрагментировано. До 8 Майт в верхней части адресного пространства составляет пространство ввода-вывода.
Память в такой модели выделяется разделами. Нижняя часть памяти (от адреса 0) составляет системный раздел. В нем размещены глобальные переменные системы и системная куча. В системной куче выделяется память для буферов, системных структур данных и системных кодовых сегментов.
Каждому приложению выделяется раздел приложения. В разделе приложения содержится:
"Мир
A5" (название происходит от
имени регистра
Стек приложения используется для сохранения адресов возврата и выделения памяти для локальных переменных. В куче размещаются коды и данные приложения. Кроме того, приложению могут выделяться по запросу блоки памяти вне его раздела.
Память
в куче выделяется блоками переменной
длины. Блоки могут быть перемещаемыми
или неперемещаемыми. Обращение
к неперемещаемому блоку
Перемещаемый блок может также быть объявлен удаляемым: системе разрешается удалять его при нехватке памяти в куче приложения. Работая с удаляемым блоком, программист должен всякий раз, начиная работу с ним, проверить его наличие в памяти и отменить признак, разрешающий удаление.
Введение в компьютеры фирмы Apple динамической трансляции адресов позволило перейти к 32-разрядному размеру адреса и, таким образом, обеспечивать виртуальное адресное пространство размером в 4 Гбайт. Динамическая трансляция адресов использует страничную модель виртуальной памяти для расширения адресного пространства. Страничный обмен использует алгоритм LRU. Структура нижней части адресного пространства (до границы 16 Мбайт) - такая же, как и в 24-разрядной модели, что обеспечивает прозрачное выполнение 24-разрядных приложений в новой среде. Для 32-разрядных приложений могут выделяться дополнительные разделы выше 16-Мбайтной границы.
В описанной выше модели реальной памяти, расширенной затем за счет динамической трансляции адресов, сложилась сегментная архитектура выполнения приложений, которую называют "классической" архитектурой 68K. Приложение в этой архитектуре состоит из сегментов размером до 32 Кбайт каждый. Сегментная архитектура поддерживается Менеджером Сегментов в составе Mac OS. Для каждого приложения автоматически создается и загружается при запуске Сегмент 0, остальные сегменты загружаются по требованию.
Связь между сегментами обеспечивается через таблицу переходов (jump table), которая размещается вместе с "миром A5". Таблица переходов содержит адреса входных точек в сегментах, таким образом, обращения к процедурам в других сегментах производятся через таблицу переходов. Сегменты размещаются в перемещаемых блоках памяти в куче приложения и, таким образом, могут быть перемещены в памяти с коррекцией содержимого таблицы переходов. Загрузка сегментов производится автоматически при первом обращении к любой входной точке сегмента. Сегмент может быть также и выгружен из памяти, но это приложение должно сделать явным образом: выполнить системный вызов, помечающий сегмент как удалаямый. Помеченный таким образом сегментный блок может быть удален из памяти при нехватке памяти.
3.2 Управление процессами и нитями
Mac
OS во всех своих версиях являлась системой
с кооперативной многозадачностью. Процессом
в системе является запущенное приложение
или, в некоторых случаях, открытый аксессуар
рабочего стола. В каждый момент только
один процесс находится на переднем плане
- тот, с которым взаимодействует пользователь,
остальные являются фоновыми. Возможны
также только-фоновые процессы, разработанные
без пользовательского интерфейса. Переключение
процессов происходит только в том случае,
если процесс переднего плана приостанавливается,
если он выдает системный вызов WaitNextEvent или
Другой
формой, использующей процессорный ресурс,
являются в Mac OS задачи (task). Задачи представляют
собой обработчики прерываний. Приложение
имеет возможность установить собственную
обработку некоторых
Все эти менеджеры используют установленную приложениями информацию о задачах, помещаемую в системные очереди.
Когда
задача получает управление, она не
обязательно выполняется в
Корневой структурой в управлении вводом-выводом является Таблица Устройств, неперемещаемая в системной куче. Каждый элемент Таблицы Устройств адресует один Блок Управления Драйвером. Блок Управления Драйвером является перемещаемым в системной куче и содержит адрес тела драйвера и адрес начала очереди запросов к драйверу. Драйверы бывают синхронные и асинхронные. Первые обслуживают обычно символьные устройства и полностью завершают транзакцию ввода-вывода до возвращения управления. Вторые применяются для блочных устройств и только инициируют операцию ввода-вывода; эти драйверы используют прерывания от устройств для того, чтобы вновь получить управление и завершить транзакцию.
Запросы
на ввод-вывод имеют стандартную
форму и выстраиваются в
Все операции, выполняемые драйвером, сводятся к нескольким видам, и каждый драйвер должен иметь входные точки в процедуры обработки следующих видов запросов:
Файловые системы Mac OS называются Иерархическими Файловыми Системами - HFS (Hierarchical File System) и HFS Plus. Как и файл программы, любой файл состоит из двух ответвлений (fork) - ресурсов и данных. В частном случае одно из ответвлений может быть пустым. Ответвление данных не структурировано, ответвление ресурсов содержит карту ресурсов и сами ресурсы, файл может иметь до 2700 ресурсов. Если, например, файл является файлом приложения, ресурсы описывают меню и диалоговые окна приложения, его иконки, события и т.д. и содержат исполняемый код приложения; если файл является, например, документом, ответвление ресурсов содержит размещение окна документа, иконки, шрифты и т.д. Строго говоря, граница между ресурсами и данными не очень четкая. Информация файла может быть помещена как в ответвление данных, так и в ответвление ресурсов. В ответвление ресурсов помещаются те данные, которые ограничены по размеру и количеству значений.
Дисковое пространство состоит из секторов размером по 512 байт каждый, но распределение дисковой памяти ведется кластерами (в Mac OS они называются блоками распределения). Блок распределения содержит целое число смежных секторов. Размер блока распределения фиксирован для данного тома.
Каждый том физической файловой системы HFS имеет заголовок тома, содержащий общую информацию о томе, такую как: дата создания и общий размер тома, число файлов на томе, а также расположение остальных управляющих структур файловой системы. Заголовок всегда располагается в секторе 2, копия заголовка размещается в конце тома.
HPFS Plus для
управления размещением
Информация о работе Сравнительная характеристика архитектуры windows и MacOS