Меню Закрыть

Архитектура операционной системы windows

Содержание

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

Архитектура Windows NT имеет модульную структуру и состоит из двух основных уровней — компоненты, работающие в режиме пользователя, и компоненты режима ядра. Программы и подсистемы, работающие в режиме пользователя, имеют ограничения на доступ к системным ресурсам. Режим ядра имеет неограниченный доступ к системной памяти и внешним устройствам. Ядро системы NT называют гибридным ядром или макроядром. Архитектура включает в себя само ядро, уровень аппаратных абстракций (HAL), драйверы и ряд служб (Executives), которые работают в режиме ядра (Kernel-mode drivers) или в пользовательском режиме (User-mode drivers) [1] [2] .

Пользовательский режим Windows NT состоит из подсистем, передающих запросы ввода-вывода соответствующему драйверу режима ядра посредством менеджера ввода-вывода. Есть две подсистемы на уровне пользователя: подсистема окружения (запускает приложения, написанные для разных операционных систем) и интегрированная подсистема (управляет особыми системными функциями от имени подсистемы окружения). Режим ядра имеет полный доступ к аппаратной части и системным ресурсам компьютера.

Содержание

Режим пользователя [ править | править код ]

Режим пользователя состоит из подсистем, которые передают запросы вводавывода соответствующему драйверу режима ядра посредством менеджера ввода-вывода. Уровень пользователя состоит из двух подсистем — подсистема окружения (Environment) и интегральная подсистема (Integral).

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

Подсистема окружения состоит из следующих подсистем — подсистема Win32, подсистема OS/2 и подсистема POSIX. Подсистема окружения Win32 запускает 32-разрядные Windows приложения. Она содержит консоль и поддержку текстового окна, обработку ошибок для всех других подсистем окружения. Поддерживает VDM (Virtual DOS Machine), которая позволяет запускать 16-разрядные DOS и Windows (Win16) приложения. VDM запускается в своем собственном адресном пространстве и эмулирует систему MS-DOS, запущенную на компьютере с процессором Intel 80486. Программы Win16 запускаются в режиме Win16 VDM. Каждая программа запускается в одном процессе с использованием одного адресного пространства, но для каждой программы используется свой отдельный поток. Однако Windows NT позволяет запускать Win16-программы в отдельных Win16 VDM-процессах, реализуя вытесняющую многозадачность. Процесс подсистемы окружения Win32 — csrss.exe также включает в себя функциональность менеджера окон, то есть обрабатывает входящие события, такие, как нажатие клавиш клавиатуры и мыши, и передает их на обработку соответствующим приложениям. Каждое приложение само производит перерисовку окон в ответ на эти сообщения.

Подсистема окружения OS/2 поддерживает неграфические 16-разрядные приложения операционной системы OS/2 и эмулирует систему OS/2 2.1.x.

Подсистема окружения POSIX поддерживает приложения, написанные в соответствии со стандартом POSIX.1.

Интегрированная подсистема (Integral subsystem) следит за некоторыми функциями операционной системы от имени подсистемы окружения. Состоит из подсистемы безопасности, службы рабочей станции и службы сервера. Служба безопасности обращается с маркерами доступа, позволяет или запрещает доступ к учётной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Служба Рабочая станция обеспечивает доступ компьютера к сети — является API для сетевого редиректора (ПО, эмулирующее доступ к удаленной файловой системе как к локальной). Служба Сервер позволяет компьютеру предоставлять сетевые сервисы.

Режим ядра [ править | править код ]

Режим ядра Windows NT имеет полный доступ к аппаратной части компьютера и системным ресурсам. Работает в защищенной области памяти. Управляет памятью и взаимодействием с аппаратной частью. Предотвращает доступ к критическим областям памяти со стороны приложений и служб пользовательского режима. Для выполнения подобных операций процесс пользовательского режима должен попросить режим ядра выполнить её от своего имени.

Архитектура x86 поддерживает 4 уровня привилегий — от 0 до 3, но используются только 0-й и 3-й уровень. Режим пользователя использует уровень 3, а режим ядра — 0. Это было сделано для возможности переноса на платформу RISC, которая использует только два уровня привилегий. Режим ядра состоит из исполнительных служб, которые представляют собой различные модули, выполняющие определённые задачи, драйвера ядра, само ядро и уровень аппаратных абстракций HAL.

Исполнительная подсистема [ править | править код ]

Работает с вводом/выводом, менеджером объектов, управлением над процессами и безопасностью. Неофициально делится на несколько подсистем — менеджер кэша, менеджер конфигурации, менеджер ввода/вывода, вызов локальных процедур, менеджер памяти, монитор безопасности. Системные службы, то есть системные вызовы, реализованы на этом уровне, за исключением нескольких вызовов, которые вызывают непосредственно ядро для большей производительности. В данном контексте термин «служба» относится к вызываемым подпрограммам, или набору вызываемых подпрограмм. Они отличаются от служб, выполняемых в режиме пользователя, которые в какой-то мере являются аналогом демонов в UNIX-подобных системах.

Менеджер объектов [ править | править код ]

Это исполнительная подсистема, к которой обращаются все остальные модули исполнительной подсистемы, в частности, системные вызовы, когда им необходимо получить доступ к ресурсам Windows NT. Менеджер объектов служит для уменьшения дублирования объектов, что может привести к ошибкам в работе системы. Для менеджера объектов каждый ресурс системы является объектом — будь то физический ресурс типа периферийного устройства, файловой системы, или логический ресурс — файл и др. Каждый объект имеет свою структуру, или тип объекта.

Читайте также:  Как бороться со спамом на телефон

Создание объекта делится на две стадии — создание и вставка. Создание — создается пустой объект и резервируются необходимые ресурсы, например, имя в пространстве имен. Если создание пустого объекта произошло успешно, то подсистема, ответственная за создание объекта, заполняет его. Если инициализация успешна, то подсистема заставляет менеджер объектов произвести вставку объекта — то есть сделать его доступным по своему имени или дескриптору.

Что такое операционная система…………………………………………4

Функции операционной системы…………………………………………5

Главные отличия двух режимов………………………………………….13

Компьютеры играют очень важную роль в нашей современной жизни. Они проникли во все сферы деятельности человека. Они позволяют хранить огромные объёмы информации и моментально получать к ним доступ; они способны также обрабатывать эту информацию во много раз быстрее человека, работают дольше по времени и с меньшим количеством ошибок. Если раньше на обработку какой-либо информации человеком уходили дни, то сейчас с помощью компьютера, это занимает секунды, что позволяет сконцентрироваться на задаче, а не на вычислениях. Компьютеры применяются в медицине, что является очень полезным фактом; являются самым дешёвым и быстрым средством общения; при правильном использовании служат нам незаменимым помощником в учёбе, а также просто для отдыха.

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

Как же работает наш персональный компьютер, что он предоставляет нам такой богатый выбор возможностей?

Для начала взглянем на минимальный состав компьютера, в который входит системный блок (который и позволяет ему работать), монитор ( чтобы видеть всё то, с чем мы работаем) и клавиатура (чтобы вводить данные). Также для работы с компьютером используются компьютерная мышь, колонки, принтер, сканер, микрофон, камера.

В системном блоке находятся материнская плата, видеокарта, винчестер( жесткий диск), процессор, блок питания, оперативная память, системы охлаждения, дисковод.

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

Что такое операционная система?

«Операционная система, сокр. ОС (англ. operating system, OS) — комплекс управляющих и обрабатывающих программ, которые, с одной стороны, выступают как интерфейс между устройствами вычислительной системы и прикладными программами, а с другой стороны — предназначены для управления устройствами, управления вычислительными процессами, эффективного распределения вычислительных ресурсов между вычислительными процессами и организации надёжных вычислений. Это определение применимо к большинству современных операционных систем общего назначения».[1]

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

Одну их главных функций ОС отлично характеризует следующая картинка.

Функции операционной системы:

1)осуществление диалога с пользователем;

2)ввод, вывод и управление данными;

3)планирование и организация процесса обработки программ;

4)распределение ресурсов (оперативной памяти и кэша, процессора, внешних устройств);

5)запуск программ на выполнение;

6)передача информации между различными внутренними устройствами;

7)программная поддержка работы периферийных устройств (дисплея, клавиатуры, дисковых накопителей, принтера и др.).[2]

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

Архитектура ОС Windows

Архитектура ОС Windows имеет модульную структуру. Из этого можно сделать вывод, что она состоит из разделяемых компонентов, любой из которых жестко отвечает за собственные функции. Она состоит из двух уровней: компонентов, которые работают в режиме пользователя (user mode), и компонентов, работающих в режиме ядра (kernel mode). Это очень удобно, потому что пользователь, имея доступ к системным программам и внутренним компонентам ОС, может случайно что-то изменить или удалить. Это спровоцирует поломку системы. Поэтому с компьютером мы работаем через пользовательский режим и его приложения, а в режиме ядра выполняются наши команды.

У пользовательского режима и режима ядра есть свои привилегии. У режима ядра их больше. В операционной системе они разделены на уровни.

Сначала мы рассмотрим режим ядра, который, непременно, является очень важной и неотъемлемой частью операционной системы.

Читайте также:  Работа с 3d моделями

Ядро — центральная часть операционной системы, управляющая выполнением процессов, ресурсами вычислительной системы и предоставляющая процессам координированный доступ к этим ресурсам. [3]

По сути это некоторая абстракция, которая позволяет получить доступ к ресурсам вычислительной системы, который нужны пользователю для работы с компьютером. Работа ядра полностью скрыта от пользователя, и он не имеет к нему доступа.

Существует несколько типов архитектур ядер операционных систем:

1) Монолитное ядро;

Но подробнее мы рассмотрим монолитное и модульное ядра, так как сначала операционная система Windows имела монолитное ядро, а позже усовершенствовалась до модульного ядра.

« Монолитное ядро — классическая архитектура ядер операционных систем. Монолитные ядра предоставляют богатый набор абстракций оборудования. Все части монолитного ядра работают в одном адресном пространстве».[4]

То есть в памяти нашего компьютера хранится информация, и каждой её составляющей соответствует число – адрес, который определяет место её хранения.

Кстати, монолитное ядро сейчас всё равно является самой распространённой архитектурой ядер операционных систем.

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

Эти сбои невозможны в модульном ядре, о котором мы сейчас поговорим.

«Модульное ядро — современная, усовершенствованная модификация архитектуры монолитных ядер операционных систем компьютеров. В отличие от «классических» монолитных ядер, считающихся ныне устаревшими, модульные ядра, как правило, не требуют полной перекомпиляции ядра при изменении состава аппаратного компьютера». [5]

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

Но, не смотря на новые возможности, модульные ядра всё равно остаются монолитными. Они по-прежнему работают в адресном пространстве. Это даёт им возможность использовать все функции ядра.

«Модульные ядра удобнее для разработки, чем традиционные монолитные ядра, не поддерживающие динамическую загрузку модулей, так как от разработчика не требуется многократная полная перекомпиляция ядра при работе над какой-либо его подсистемой или драйвером. Выявление, локализация, отладка и устранение ошибок при тестировании также облегчаются».[6]

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

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

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

Ядро является главной составляющей компьютерной системы, благодаря которой она работает. По этой причине так необходимо, чтобы коды ядра были надежны.

На следующем рисунке видно, какую роль работе ОС играет ядро.

Ядро состоит из следующих слоёв:

1)Средства аппаратной поддержки;

3)Базовые механизмы ядра;

5)Интерфейс системных вызовов.

А на этом рисунке наглядно можно увидеть их распределение:

Программное обеспечение, находящееся в режиме ядра:

· может иметь прямой и неограниченный доступ к аппаратному обеспечению;

· имеет доступ ко всей памяти компьютера;

· не может быть вытеснено в страничный файл на жестком диске;

· имеют больший приоритет по сравнению с процессами пользовательского режима. [7]

Сама архитектура ядра позволяет защитить его компоненты от изменения их другими программами.

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

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

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

Режим пользователя имеет гораздо меньше привилегий по сравнению с режимом ядра. У него нет прямого доступа к оборудованию. А также он имеет ограниченный доступ к памяти.

Читайте также:  1С остатки на дату из запроса

«Режим пользователя состоит из подсистем, которые передают запросы ввода и вывода соответствующему драйверу режима ядра посредством менеджера Ввода-вывода. Уровень пользователя состоит из двух подсистем — подсистема окружения(Environment) и интегральная подсистема (Integral)». [8]

Подсистема окружения нужна для того, чтобы запускать приложения, которые написаны для разных видов ОС. Обратим внимание на то, что ни у какой из подсистем окружения нет прямого доступа к аппаратной части компьютера. У ОС есть менеджер Вирт. Памяти. Этот менеджер имеет привилегии, так как работает в режиме ядра. Именно он обеспечивает доступ к ресурсам памяти.

В состав системы окружения входят следующие подсистемы: Win32, POSIX, OS/2. Самой важной из них является Win 32. Она предоставляет компьютерным программам интерфейс программирования приложения (англ. application programming interface, API). Две другие подсистемы тоже предоставляют свой интерфейс программирования приложения. Но для того чтобы им получить пользовательский ввод и показать результаты, им нужно использовать подсистему Win32.

Без подсистемы Win32 Windows работать не может, поэтому Win32 работает всегда. Это её главное отличие от двух других подсистем. Эта подсистема обрабатывает все, что связано с клавиатурой, мышью и экраном, и нужна даже на серверах в отсутствие интерактивных пользователей. Также Win32 управляет окнами и базовыми сервисами.

«Подсистема окружения OS/2 поддерживает неграфические 16-разрядные приложения операционной системы OS/2 и эмулирует систему OS/2 2.1.x.

Подсистема окружения POSIX поддерживает приложения, написанные в соответствии со стандартом POSIX.1»[9]

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

«Служба безопасности обращается с маркерами доступа, позволяет или запрещает доступ к учетной записи пользователя, обрабатывает запросы авторизации и инициирует процесс входа пользователя в систему. Служба Рабочая станция обеспечивает доступ компьютера к сети — является API для сетевого редиректора. Служба Сервер позволяет компьютеру предоставлять сетевые сервисы».[9]

Теперь можно рассмотреть более полную схему архитектуры ОС.

Главные отличия двух режимов

Чем же отличаются программы, работающие в режиме пользователя от программ, работающих в режиме ядра?

Отличия процессов, работающих в режиме пользователя, от процессов, работающих в режиме ядра:

  • не имеют прямого доступа к оборудованию, все запросы на использование аппаратных ресурсов должны быть разрешены компонентом режима ядра;
  • ограничены размерами выделенного адресного пространства;
  • могут быть выгружены из физической памяти в виртуальную на жестком диске;
  • приоритет процессов данного типа ниже приоритета процессов режима ядра, это предохраняет ОС от снижения производительности или задержек, происходящих по вине приложений. [10]

Пример работы ОС

А сейчас мы посмотрим, как работает ОС. Допустим на надо написать и распечатать какой-нибудь текст. Что мы делаем? Открываем текстовый редактор, набираем текст, сохраняем этот документ, а потом распечатываем.

А что же делает наша операционная система, и как взаимодействуют её компоненты? Во-первых, клавиатура и мышь отправляют введённые нами данные в ОС. Затем ОС решает, что текстовый редактор является активной программой и использует нужные модули для работы с ней. ОС принимает данные, которые мы ввели, и отправляет их к себе на хранение. Дело в том, что ОС обладает небольшим объёмом и хранит информацию временно, только при работе с ней. Если вдруг выключить компьютер, то вся информация, хранящаяся в ОС, не сохранится. Поэтому всю информацию мы сохраняем на жёстком диске. Каждое наше редактирование из текстового редактора посылается ОС в центральный процессор. При этом команды переводятся на машинный язык. Процессор работает уже в режиме ядра. На протяжении этого времени ОС предоставляет нам всю информацию на мониторе нашего компьютера с помощью графической карты. Теперь нам нужно сохранить текст. Мы нажимаем кнопку Сохранить. Тем временем текстовый редактор отправляет запрос в ОС. ОС отвечает, позволяя нам выбрать место сохранения файла и его имя. После того как мы выберем нужные нам параметры, ОС направляет эти данные на хранение в устройство с постоянной памятью. Теперь текст нужно распечатать. Нажимаем кнопку Печать. Теперь ОС принимает наши данные и отправляет их на принтер до нужного порта, который мы указываем.

Характеристика режима ядра и пользовательского порядка. Изучение внутреннего устройства Windows. Анализ модели операционной системы. Различия между клиентскими и серверными версиями. Уровень абстрагирования от оборудования. Суть драйверов устройств.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 12.01.2016
Размер файла 70,6 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

МИНИСТЕРСТВО ОБРАЗОВАНИЯ И НАУКИ РОССИЙСКОЙ ФЕДЕРАЦИИ

ФЕДЕРАЛЬНОЕ ГОСУДАРСТВЕННОЕ БЮДЖЕТНОЕ ОБРАЗОВАТЕЛЬНОЕ УЧРЕЖДЕНИЕ ВЫСШЕГО ОБРАЗОВАНИЯ «РОСТОВСКИЙ ГОСУДАРСТВЕННЫЙ ЭКОНОМИЧЕСКИЙ УНИВЕРСИТЕТ (РИНХ)»

«Таганрогский институт имени А.П.Чехова» (филиал) федерального государственного бюджетного образовательного учреждения высшего образования «Ростовский государственный экономический университет (РИНХ)»

ПО ТЕМЕ: АРХИТЕКТУРА ОПЕРАЦИООНОЙ СИСТЕМЫ WINDOWS

Рекомендуем к прочтению

Добавить комментарий

Ваш адрес email не будет опубликован.