Супервизорный и пользовательский режимы работы процессора и их отличие

Автор: Пользователь скрыл имя, 13 Февраля 2012 в 10:55, курсовая работа

Описание работы

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

Содержание

Введение ………………………………………………..……………………..........5
1. Основные принципы построения операционных систем……………………..6
1.1 Принцип модульности…………..………………………………………6
1.2 Принцип особого режима .......................................................................8
1.3 Принцип виртуализации………………………………………………..9
1.4 Принцип мобильности ………………………………………………….12
1.5 Принцип совместимости ……………………………………………….14
1.6 Принцип генерируемости ……………………………………………...15
1.7 Принцип открытости …………………………………………………..16
2. Архитектура оперрационной системы………………………………………...17
3. Супервизорный и пользовательский режимы работы процессора и их
отличие…………………………………………………………………………….22
Заключение………………………………………………………………………..28
Литература…….………………………………………………………………...……29

Работа содержит 1 файл

principy_postroeniya_operacionnyh_sistem.docx

— 271.68 Кб (Скачать)

     

     Рисунок 2.1. Нечеткость границы между ОС и приложениями

     Вспомогательные модули ОС обычно подразделяются на следующие  группы:  

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

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

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

     

     Рисунок 2.2. Взаимодействие между ядром и вспомогательными модулями ОС

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

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

3.    Супервизорный и  пользовательский  режимы работы  процессора, и их  отличие .

     Обеспечить  привилегии операционной системе невозможно без специальных средств аппаратной поддержки. Аппаратура компьютера должна поддерживать как минимум два  режима работы — пользовательский режим (user mode) и привилегированный  режим, который также называют режимом  ядра (kernel mode), или режимом супервизора (supervisor mode). Подразумевается, что операционная система или некоторые ее части  работают в привилегированном режиме, а приложения — в пользовательском режиме.

     Так как ядро выполняет все основные функции ОС, то чаще всего именно ядро становится той частью ОС, которая  работает в привилегированном режиме (рис. 3.1). Иногда это свойство — работа в привилегированном режиме — служит основным определением понятия «ядро».

     

     Рисунок 3.1. Архитектура операционной системы с ядром в привилегированном режиме

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

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

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

     Между количеством уровней привилегий, реализуемых аппаратно, и количеством  уровней привилегий, поддерживаемых ОС, нет прямого соответствия. Так, на базе четырех уровней, обеспечиваемых процессорами компании Intel, операционная система OS/2 строит трехуровневую систему  привилегий, а операционные системы Windows NT, UNIX и некоторые другие ограничиваются двухуровневой системой.

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

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

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

     Повышение устойчивости операционной системы, обеспечиваемое переходом ядра в привилегированный  режим, достигается за счет некоторого замедления выполнения системных вызовов. Системный вызов привилегированного ядра инициирует переключение процессора из пользовательского 'режима в- привилегированный, а при возврате к приложению —  переключение из привилегированного режима в пользовательский (рис. 3.2). Во всех типах процессоров из-за дополнительной двукратной задержки переключения переход на процедуру со сменой режима выполняется медленнее, чем вызов процедуры без смены режима. 

     

     Рисунок 3.2. Смена режимов при выполнении системного вызова к привилегированному ядру

     Архитектура ОС, основанная на привилегированном  ядре и приложениях пользовательского  режима, стала, по существу, классической. Ее используют многие популярные операционные системы, в том числе многочисленные версии UNIX, VAX VMS, IBM OS/390, OS/2, и с определенными  модификациями — Windows NT.

     В некоторых случаях разработчики ОС отступают от этого классического  варианта архитектуры, организуя работу ядра и приложений в одном и  том же режиме. Так, известная специализированная операционная система NetWare компании Novell использует привилегированный режим  процессоров Intel x86/ Pentium как для работы ядра, так и для работы своих  специфических приложений — загружаемых  модулей NLM (рис. 3.3). При таком построении ОС обращения приложений к ядру выполняются быстрее, так как нет переключения режимов, однако при этом отсутствует надежная аппаратная защита памяти, занимаемой модулями ОС, от некорректно работающего приложения. Разработчики NetWare пошли на такое потенциальное снижение надежности своей операционной системы, поскольку ограниченный набор ее специализированных приложений позволяет компенсировать этот архитектурный недостаток за счет тщательной отладки каждого приложения.

     

     Рисунок 3.3. Упрощенная архитектура операционной системы NetWare

В одном  режиме работают также ядро и приложения тех операционных систем, которые  разработаны для процессоров, вообще не поддерживающих привилегированного режима работы. Наиболее популярным процессором  такого типа был процессор Intel 8088/86, послуживший основой для персональных компьютеров компании IBM. Операционная система MS-DOS, разработанная компанией Microsoft для этих компьютеров, состояла из двух модулей msdos.sys и io.sys, составлявших ядро системы (хотя название «ядро» для  этих модулей не употреблялось, по своей  сути они им являлись), к которым  с системными вызовами обращались командный  интерпретатор command.com, системные утилиты  и приложения. Архитектура MS-DOS соответствует  архитектуре ОС, приведенной на (рис. 2.2.) Некорректно написанные приложения вполне могли разрушить основные модули MS-DOS, что иногда и происходило, но область использования MS-DOS (и многих подобных ей ранних операционных систем для персональных компьютеров, таких как MSX, СР/М) и не предъявляла высоких требований к надежности ОС.

     ПРИМЕЧАНИЕ

     Появление в более поздних версиях процессоров Intel (начиная с 80286) возможности работы в привилегированном режиме не было использовано разработчиками MS-DOS. Эта  ОС всегда работает на процессорах  данного типа в так называемом реальном режиме, в котором эмулируется  процессор 8086/88. Не следует считать, что реальный режим является синонимом  пользовательского режима, а привилегированный  режим — его альтернативой. Реальный режим был реализован только для  совместимости поздних моделей  процессоров с ранней моделью 8086/88 и альтернативой ему является защищенный режим работы процессора, в котором становятся доступными все особенности процессоров поздних моделей, в том числе и работа на одном из четырех уровней привилегий. 

 

     Заключение

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

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

     Данная  курсовая работа даёт полное представление  о сложном конгломерате взаимосвязанных  программных модулей и структур данных, которые должны обеспечивать надежное и эффективное выполнение вычислений. Позволят понять архитектуру системы — ее структуру и основные принципы построения.

       
 
 
 
 
 
 
 

     ЛИТЕРАТУРА

     1. Гордеев А. В. Системное программное обеспечение: Учебник для вузов, 2-ое издание —СПб.: Питер, 2004. 416 с.

     2.Орловский Г. В. Введение в архитектуру микропроцессора 8086. — СПб: Сеанс-Пресс Ltd; Инфокон, 1992. 240 с. 

Информация о работе Супервизорный и пользовательский режимы работы процессора и их отличие