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

Автор: Пользователь скрыл имя, 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 Кб (Скачать)

     Содержание

Введение  ………………………………………………..……………………..........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. Основные принципы построения операционных систем

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

    1. Принцип модульности

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

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

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

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

     При формировании состава ядра требуется  удовлетворить двум противоречивым требованиям. В состав ядра должны войти  наиболее часто используемые системные  модули. Количество модулей должно быть таким, чтобы объем памяти, занимаемый ядром, был не слишком большим. В  его состав, как правило, входят модули по управлению системой прерываний, средства по переводу программ из состояния  счета в состояние ожидания, готовности и обратно, средства по распределению  основных ресурсов, таких как оперативная  память и процессор. В микроядерных операционных системах само ядро очень  компактно, а остальные модули вызываются из ядра как сервисные. При этом сервисные  модули могут размещаться и в  оперативной памяти. В противоположность  микроядерным в макроядерных операционных системах главная супервизорная  часть включает в себя большое  количество модулей. Более подробно о микроядерных и макроядерных операционных системах см. далее. Помимо программных  модулей, входящих в состав ядра и  постоянно располагающихся в  оперативной памяти, может быть много  других системных программных модулей, которые получают название транзитных. Транзитные программные модули загружаются  в оперативную память только при необходимости и в случае отсутствия свободного пространства могут быть замещены другими транзитными модулями. В качестве синонима термина «транзитный» можно использовать термин «диск-резидентный».

     1.2 Принцип особого режима работы

     Ядро  операционной системы и низкоуровневые драйверы, управляющие работой каналов  и устройств ввода-вывода, должны работать в специальном режиме работы процессора. Это необходимо по нескольким причинам. Во-первых, введение специального режима работы процессора, в котором  должен исполняться только код операционной системы, позволяет существенно  повысить надежность выполнения вычислений. Это касается выполнения как управляющих  функций самой операционной системы, так и прикладных задач пользователей. Категорически нельзя допускать, чтобы  какая-нибудь прикладная программа  могла вмешиваться (преднамеренно  или в связи с появлением ошибок вычислений) в вычисления, связанные  с супервизорной частью операционной системы. Во-вторых, ряд функций должен выполняться исключительно централизованно, под управлением операционной системы. К этим функциям мы, прежде всего, должны отнести функции, связанные с  управлением процессами ввода-вывода данных. Все операции ввода-вывода данных объявляются привилегированными. Это  легче всего сделать, если процессор  может работать, как минимум, в  двух режимах: привилегированном (режим  супервизора) и пользовательском. В  первом режиме процессор может выполнять  все команды, тогда как в пользовательском набор разрешенных команд ограничен. Естественно, что помимо запрета  на выполнение команд ввода-вывода в  пользовательском режиме работы процессор  не должен позволять обращаться к  своим специальным системным  регистрам — эти регистры должны быть доступны только в привилегированном  режиме, то есть исключительно супервизорному коду самой операционной системы. Попытка  выполнить запрещенную команду  или обратиться к запрещенному регистру должна вызывать прерывание (исключение), и центральный процессор должен быть предоставлен супервизорной части операционной системы для управления выполняющимися вычислениями.

     Поскольку любая программа требует операций ввода-вывода, прикладные программы  для выполнения этих (и некоторых  других) операций обращаются к супервизорной  части операционной системы (модуль супервизора иногда называют супервизором задач) с соответствующим запросом. При этом процессор должен переключиться  в привилегированный режим работы. Чтобы программы не могли произвольным образом обращаться к супервизорному коду, который работает в привилегированном  режиме, им предоставляется возможность  обращаться к нему в строгом соответствии с принятыми правилами. Каждый запрос имеет свой идентификатор и должен сопровождаться соответствующим количеством  параметров, уточняющих запрашиваемую  у операционной системы функцию (операцию). Поэтому супервизор задач  при получении запроса сначала  его тщательно проверяет. Если запрос корректный и программа имеет  право с ним обращаться, то запрос на выполнение операции, как правило, передается соответствующему модулю операционной системы. Множество запросов к операционной системе образует соответствующий  системный интерфейс прикладного  программирования (Application Program Interface, API).

     1.3 Принцип виртуализации

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

     Чаще  виртуальная машина, предоставляемая  пользователю, воспроизводит архитектуру  реальной машины, но архитектурные  элементы в таком представлении выступают с новыми или улучшенными характеристиками, часто упрощающими работу с системой. Характеристики могут быть произвольными, но чаще всего пользователи желают иметь собственную «идеализированную» по архитектурным характеристикам машину в следующем составе.

     • Единообразная по логике работы память (виртуальная) достаточного для выполнения приложений объема. Организация работы с информацией в такой памяти производится в терминах работы с  сегментами данных на уровне выбранного пользователем языка программирования.

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

     • Произвольное количество внешних устройств (виртуальных), способных работать с  памятью виртуальной машины параллельно  или последовательно, асинхронно или  синхронно по отношению к работе того или иного виртуального процессора, которые инициируют работу этих устройств. Информация, передаваемая или хранимая на виртуальных устройствах, не ограничена допустимыми размерами. Доступ к  такой информации осуществляется на основе либо последовательного, либо прямого  способа доступа в терминах соответствующей  системы управления файлами. Предусмотрено  расширение информационных структур данных, хранимых на виртуальных устройствах.

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

     Одним из важнейших результатов принципа виртуализации является возможность  организации выполнения в операционной системе приложений, разработанных  для другой операционной системы, имеющей  совсем другой интерфейс прикладного  программирования. Примером реализации принципа виртуализации может служить VDM-машина (Virtual DOS Machine) — защищенная подсистема, предоставляющая полную среду типа MS DOS и консоль для  выполнения DOS-приложений. Как правило, параллельно может 

     выполняться практически произвольное число DOS-приложений, каждое в своей VDM-машине. Такие VDM-машины имеются и в операционных системах Windows компании Microsoft, в OS/2, в Linux.

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

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