Главная » Просмотр файлов » Гордеев А.В. Операционные системы (2-е изд., 2004)

Гордеев А.В. Операционные системы (2-е изд., 2004) (1186250), страница 30

Файл №1186250 Гордеев А.В. Операционные системы (2-е изд., 2004) (Гордеев А.В. Операционные системы (2-е изд., 2004)) 30 страницаГордеев А.В. Операционные системы (2-е изд., 2004) (1186250) страница 302020-08-27СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

Текст из файла (страница 30)

следующий раздел), решается аналогично. При попыткевыполнить недопустимые команды (ввода-вывода) возникают прерывания, и не­обходимые операции выполняются операционной системой, хотя задача об этом и«не подозревает». При выполнении команд IN, OUT, INS, OUTS, CLI, STI процессор,находящийся в виртуальном режиме и исполняющий код на уровне привилегийтретьего (самого нижнего) кольца защиты, за счет возникающих вследствие этогопрерываний переводится на выполнение высоко привилегированного кода опера­ционной системы.Таким образом, операционная система может полностью виртуализировать ап­паратные 1 и программные ресурсы компьютера, создавая полноценную опера­ционную среду, отличную от себя самой, ибо существуют так называемые нативные приложения, создаваемые по собственным спецификациям даннойоперационной системы.

Очень важным моментом для организации полноцен­ной виртуальной машины является виртуализация не только программных, нои аппаратных ресурсов. Так, например, в Windows NT эта задача выполненаявно неудачно, тогда как в OS/2 имеется полноценная виртуальная машина какдля DOS-приложеиий, так и для приложений, работающих в среде специфика­ций Win 16.

Правда, в последнее время это перестало быть актуальным, посколь­ку появилось большое количество приложений, работающих по спецификаци­ям Win32 API.Речь идет о памяти, портах ввода-вывода, системе обработки прерываний и других устройствах.^яшита адресного пространства задач115Защита адресного пространства задачДля создания надежных мультипрограммных операционных систем в процессоо а х семейства i80x86 имеется несколько механизмов защиты. Это и разделениеадресных пространств задач, и введение уровней привилегий для сегментов кода исегментов данных. Это позволяет обеспечить как защиту задач друг от друга, так изащиту самой операционной системы от прикладных задач, защиту одной частисистемы от других ее частей, защиту самих задач от некоторых своих собственныхошибок.Защита адресного пространства задач осуществляется относительно легко за счеттого, что каждая задача может иметь свое собственное локальное адресное про­странство.

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

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

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

Другими словами, необходимовявном виде отделять системные сегменты данных и кода от сегментов, принадле­жащих пользовательским программам. Поэтому были введены два основных ре-116Глава 4, Особенности архитектуры микропроцессоров J80x86жима работы процессора: режим пользователя и режим супервизора. Большин­ство современных процессоров поддерживают по крайней мере два этих режима.Так, в режиме супервизора программа может выполнять все действия и иметь дос­туп по любым адресам, тогда как в пользовательском режиме должны быть ограни­чения, с тем чтобы обнаруживать и пресекать запрещенные действия, перехватываяих и передавая управление супервизору операционной системы. Часто в пользо­вательском режиме запрещается выполнение команд ввода-вывода и некоторыхдругих, чтобы гарантировать выполнение этих операций только операционнойсистемой.В микропроцессорах i80x86 режим супервизора и режим пользователя непосред­ственно связаны с так называемыми уровнями привилегий, причем имеется не два,а четыре уровня привилегий.

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

Уровень привилегий с кодом 2 может быть использован для созда­ния пользовательских интерфейсов, систем управления базами данных и прочи­ми, то есть для реализации специальных системных функций, которые по отноше­нию к супервизору операционной системы ведут себя как обычные приложения.Так, например, в системе OS/2 доступны три уровня привилегий: с нулевым уров­нем привилегий исполняется код супервизорной части операционной системы,на втором уровне исполняются системные процедуры подсистемы ввода-вывода,на третьем уровне исполняются прикладные задачи пользователей. Однако на прак­тике чаще всего задействуются только два уровня — нулевой и третий.

Таким об­разом, упомянутый режим супервизора для микропроцессоров i80x86 соответствуетвыполнению кода с уровнем привилегий 0, обозначаемый как PLO (Privilege Level 0 —уровень привилегий 0). Подводя итог, можно констатировать, что именно уровеньпривилегий задач определяет, какие команды в них можно использовать и какоеподмножество сегментов и/или страниц в их адресном пространстве они могутобрабатывать.Основными системными объектами, которыми манипулирует процессор при ра­боте в защищенном режиме, являются дескрипторы.

Именно дескрипторы сегмен­тов содержат информацию об уровне привилегий соответствующего сегмента кодаили данных. Уровень привилегий исполняющейся задачи определяется значени­ем поля привилегий, находящегося в дескрипторе ее текущего кодового сегмента.Напомним (см. рис. 4.3), что в байте прав доступа каждого дескриптора сегментаимеется поле DPL (Descriptor Privilege Level — уровень привилегий сегмента, оп­ределяемый его дескриптором), которое и определяет уровень привилегий связан­ного с ним сегмента.

Таким образом, поле DPL текущего сегмента кода становитсяполем текущего уровня привилегий (Current Privilege Level, CPL), илнуровня при-Защита адресного пространства задач117вилегий задачи. При обращении к какому-нибудь сегменту в соответствующем се­лекторе указывается (см. рис. 4.4) запрашиваемый уровень привилегий (Requestedprivilege Level, RPL)'.В пределах одной задачи используются сегменты с различными уровнями приви­легий, и в определенные моменты времени выполняются или обрабатываются сег­менты с соответствующими им уровнями привилегий. Механизм проверки приви­легий работает в ситуациях, которые можно назвать межсегментными переходами(обращениями). К этим ситуациям относятся доступ к сегменту данных или сте­ковому сегменту, межсегментные передачи управления в случае прерываний(и особых ситуаций), использование команд CALL, JMP, INT, IRET, RET. В таких меж­сегментных обращениях участвуют два сегмента: целевой сегмент (к которому мыобращаемся) и текущий сегмент кода, из которого идет обращение.Процессор сравнивает упомянутые значения CPL, RPL, DPL и на основе понятия2эффективного уровня привилегий (Effective Privilege Level, EPL) ограничиваетвозможности доступа к сегментам по следующим правилам, в зависимости от того,идет ли речь об обращении к коду или к данным.При доступе к сегментам данных проверяется условие CPL < EPL.

Характеристики

Список файлов книги

Свежие статьи
Популярно сейчас
А знаете ли Вы, что из года в год задания практически не меняются? Математика, преподаваемая в учебных заведениях, никак не менялась минимум 30 лет. Найдите нужный учебный материал на СтудИзбе!
Ответы на популярные вопросы
Да! Наши авторы собирают и выкладывают те работы, которые сдаются в Вашем учебном заведении ежегодно и уже проверены преподавателями.
Да! У нас любой человек может выложить любую учебную работу и зарабатывать на её продажах! Но каждый учебный материал публикуется только после тщательной проверки администрацией.
Вернём деньги! А если быть более точными, то автору даётся немного времени на исправление, а если не исправит или выйдет время, то вернём деньги в полном объёме!
Да! На равне с готовыми студенческими работами у нас продаются услуги. Цены на услуги видны сразу, то есть Вам нужно только указать параметры и сразу можно оплачивать.
Отзывы студентов
Ставлю 10/10
Все нравится, очень удобный сайт, помогает в учебе. Кроме этого, можно заработать самому, выставляя готовые учебные материалы на продажу здесь. Рейтинги и отзывы на преподавателей очень помогают сориентироваться в начале нового семестра. Спасибо за такую функцию. Ставлю максимальную оценку.
Лучшая платформа для успешной сдачи сессии
Познакомился со СтудИзбой благодаря своему другу, очень нравится интерфейс, количество доступных файлов, цена, в общем, все прекрасно. Даже сам продаю какие-то свои работы.
Студизба ван лав ❤
Очень офигенный сайт для студентов. Много полезных учебных материалов. Пользуюсь студизбой с октября 2021 года. Серьёзных нареканий нет. Хотелось бы, что бы ввели подписочную модель и сделали материалы дешевле 300 рублей в рамках подписки бесплатными.
Отличный сайт
Лично меня всё устраивает - и покупка, и продажа; и цены, и возможность предпросмотра куска файла, и обилие бесплатных файлов (в подборках по авторам, читай, ВУЗам и факультетам). Есть определённые баги, но всё решаемо, да и администраторы реагируют в течение суток.
Маленький отзыв о большом помощнике!
Студизба спасает в те моменты, когда сроки горят, а работ накопилось достаточно. Довольно удобный сайт с простой навигацией и огромным количеством материалов.
Студ. Изба как крупнейший сборник работ для студентов
Тут дофига бывает всего полезного. Печально, что бывают предметы по которым даже одного бесплатного решения нет, но это скорее вопрос к студентам. В остальном всё здорово.
Спасательный островок
Если уже не успеваешь разобраться или застрял на каком-то задание поможет тебе быстро и недорого решить твою проблему.
Всё и так отлично
Всё очень удобно. Особенно круто, что есть система бонусов и можно выводить остатки денег. Очень много качественных бесплатных файлов.
Отзыв о системе "Студизба"
Отличная платформа для распространения работ, востребованных студентами. Хорошо налаженная и качественная работа сайта, огромная база заданий и аудитория.
Отличный помощник
Отличный сайт с кучей полезных файлов, позволяющий найти много методичек / учебников / отзывов о вузах и преподователях.
Отлично помогает студентам в любой момент для решения трудных и незамедлительных задач
Хотелось бы больше конкретной информации о преподавателях. А так в принципе хороший сайт, всегда им пользуюсь и ни разу не было желания прекратить. Хороший сайт для помощи студентам, удобный и приятный интерфейс. Из недостатков можно выделить только отсутствия небольшого количества файлов.
Спасибо за шикарный сайт
Великолепный сайт на котором студент за не большие деньги может найти помощь с дз, проектами курсовыми, лабораторными, а также узнать отзывы на преподавателей и бесплатно скачать пособия.
Популярные преподаватели
Добавляйте материалы
и зарабатывайте!
Продажи идут автоматически
6549
Авторов
на СтудИзбе
300
Средний доход
с одного платного файла
Обучение Подробнее