2011. Машбук (1114722), страница 17

Файл №1114722 2011. Машбук (2011. Машбук) 17 страница2011. Машбук (1114722) страница 172019-05-08СтудИзба
Просмтор этого файла доступен только зарегистрированным пользователям. Но у нас супер быстрая регистрация: достаточно только электронной почты!

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

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

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

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

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

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

планировщика)команду разгрузить буфер печати данной конкретной программы.И, наконец, ещё одна серьезная проблема, которая может возникнуть приорганизации мультипрограммного режима, связана с появлением в выполняемой втекущий момент программе семантической ошибки — программа зациклилась.Соответственно, если в этом цикле не встречаются команды, которые могут привести ктем или иным прерываниям, то в этом случае вся вычислительная система «зависает»:никакие новые задачи не ставятся на счет и пр. Решение данной проблемы может бытьдовольно простым: необходима функция управления временем.

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

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

Первая стратегия (котораяиспользуется в Windows, в «ширпотребовской» Unix) состоит в том, что любой процессберёт время ЦП до тех пор, пока его не убьют. Тем не менее, при этой стратегиизацикленная программа не будет никому мешать, т.к. ОС будет периодически получатьуправление и переключать процессы. Другая стратегия (которая обычно применяется длявысокопроизводительных машин) основывается на том, что процесс предварительнооговаривает, сколько времени ему может потребоваться. Если процесс пытаетсяпревысить это время, то ОС считает, что процесс зациклился.Задание для размышления – попробовать смоделировать корректнуюмультипрограммную систему, которая будет работать, имея аппарат защиты памяти,специальный режим и только прерывание по таймеру.

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

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

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

45). Несколько лет назадпроводились исследования, которые анализировали распределение времени исполненияпрограммы на разных компонентах программного кода, и выяснилось, что в системах,рассчитанных не только (и не столько) на выполнение математических вычислений(например, в системах обработки текстовой информации), порядка 70% времени тратитсяна обработку входов и выходов из подпрограмм. Это объясняется тем, что при обращениик подпрограмме необходимо зафиксировать адрес возврата, сформировать параметры,передаваемые вызываемой подпрограмме, как-то сохранить регистровый контекст (т.е.сохранить содержимое тех регистров, которые использовались в программе на данномтекущем уровне).g:.........CALL f(x).........Сохранение/восстановлениерегистров, используемых вподпрограмме g.Рис. 45.

Вложенные обращения к подпрограммам.Накладные расходы при смене обрабатываемой программы. Это аналогичнаяпроблема, связанная со сменой обрабатываемых программ (или процессов): операционнаясистема должна сохранить контексты процессов. К этому необходимо добавить, что всовременных компьютерах количество одновременно обрабатываемых процессов оченьвелико, что лишь увеличивает объем возникающих накладных расходов.Перемещаемость программы по ОЗУ. Рассмотрим процесс полученияисполняемого кода программы (Рис. 46).

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

Тип файла
PDF-файл
Размер
3,79 Mb
Материал
Тип материала
Высшее учебное заведение

Список файлов лекций

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