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

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

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

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

В каждом сегменте TSS имеется селектор локальной таблицы деск-128Глава 4. Особенности архитектуры микропроцессоров JSOXRRрипторов (LDT), поэтому при переключении задачи процессор загружает в регистпLDTR новое значение. Это позволяет обратиться к сегментам кода, которые абсо­лютно не пересекаются с сегментами кода любых других задач, поскольку именнолокальные таблицы дескрипторов обеспечивают эффективную изоляцию вирту­альных адресных пространств. Новая задача начинает свое выполнение на уровнепривилегий, определяемом полем RPL нового содержимого регистра CS, котороезагружается из сегмента TSS.

Достоинством этого коммутатора является то, чтоон позволяет сохранить все регистры процессора с помощью механизма переклю­чения задач, тогда как коммутаторы перехвата и прерываний сохраняют толькосодержимое регистров IFLAGS, CS и IP, а сохранение других регистров возлагает­ся на программиста, разрабатывающего соответствующую программу обработкипрерывания.I—Номер прерыванияIDTGDTСегмент TSSДескриптор коммутатора задачиСелекторДескриптор сегмента TSS—•Адрес-ЭРРис. 4 .

1 3 . Схема передачи управления при прерывании с переключением на новую задачуСправедливости ради следует признать, что несмотря на возможности коммутаторазадачи, разработчики современных операционных систем достаточно редко его ис­пользуют, поскольку переключение на другую задачу требует существен но большихзатрат времени, а полное сохранение всех рабочих регистров часто не требуется. В ос­новном обработку прерываний осуществляют в контексте текущей задачи, так какэто приводит к меньшим накладным расходам и повышает быстродействие системы-Контрольные вопросы и задачи1. Как в реальном режиме работы микропроцессоров i80x86 осуществляется преобразование виртуального адреса в физический?т-рппьные вопросы и задачи1 29Какие механизмы виртуальной памяти используются в защищенном режимеработы микропроцессоров i80x86?Для чего в микропроцессоры i80x86 введен регистр-указатель задачи TR? Ка­кой он разрядности?л Как в микропроцессорах i80x86 реализована поддержка сегментного способаорганизации виртуальной памяти?5 Что понимается под термином «линейный адрес»? Как осуществляется пре­образование линейного адреса в физический? Может ли линейный адрес бытьравным физическому?6 Что дало введение двухэтапной страничной трансляции в механизме странич­ного способа реализации виртуальной памяти? Как разработчики микропро­цессора i80386 решили проблему замедления доступа к памяти, которое придвухэтапном преобразовании адресов очень существенно?7.

Что означает термин «плоская модель памяти»? В чем заключаются достоин­ства (и недостатки, если они есть) этой модели?8. Что дало введение виртуального режима? Как в этом режиме осуществляетсявычисление физического адреса?9. Что имеется в микропроцессорах i80x86 для обеспечения защиты адресногопространства задач?10. Что такое «уровень привилегий»? Сколько уровней привилегий в микропро­цессорах i80x86? Для каких целей введено такое количество уровней привиле­гий?И.

Что такое текущий уровень привилегий? Как узнать, чему он равен? Что та­кое эффективный уровень привилегий?12. Объясните правила работы с уровнями привилегий для различных типов сег­ментов.13. Поясните работу механизма шлюзов. Для чего он предназначен, как осуществ­ляется передача управления на сегменты кода с другими уровнями привиле­гий?14. Опишите работу системы прерываний микропроцессоров i80x86 в реальномрежиме.15. В чем заключаются принципиальные отличия работы системы прерываниймикропроцессоров i80x86 в защищенном режиме по сравнению с реальнымрежимом?"• Как осуществляется переход на программу обработки прерываний, если де­скриптор прерываний является коммутатором прерываний?• Как осуществляется переход на программу обработки прерываний, если де­скриптор прерываний является коммутатором перехвата?• Как осуществляется переход на программу обработки прерываний, если дес­криптор прерываний является коммутатором задачи?Глава 5.

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

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

Проблема усугубляется еще и тем,что в большинстве ныне используемых систем эти моменты вообще, как правило,подробно не описаны (исключением являются только системы Linux и FreeBSD,для которых имеются комментированные исходные тексты), а детально описыва­ются только функции API, реализующие ввод-вывод. Другими словами, для техже систем Windows от компании Microsoft мы воспринимаем подсистему вводавывода как «черный ящик». Известно, как можно и нужно использовать эту под­систему, но детали ее внутреннего устройства остаются неизвестными.

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

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

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

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

Помимо раздеемых устройств ввода-вывода (эти устройства допускают разделение посред°м механизма доступа) существуют неразделяемые устройства. Примерами^ -течение — это определенный вид внутреннего прерывания. Этим термином, во-первых, обознат Некоторое множество синхронных прерываний, а во-вторых, подчеркивают, что ситуация, выз•Я запрос на прерывание, является исключительной, то есть отличается от обычной.132Глава 5, Управление вводом-выводом в операционных системахразделяемого устройства могут служить накопитель на магнитных дисках, устрой­ство чтения компакт-дисков. Это устройства с прямым доступом. Примеры нераз­деляемых устройств — принтер, накопитель на магнитных лентах. Это устройствас последовательным доступом.

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

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

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

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

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

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