Главная » Просмотр файлов » Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС

Курынин Р.В., Машечкин И.В., Терехин А.Н. - Конспект лекций по ОС (1114685), страница 17

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

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

сохранить содержимое тех регистров, которые использовались впрограмме на данном текущем уровне).g:.........CALL f(x).........Сохранение/восстановлениерегистров, используемых вподпрограмме g.Рис. 44.Вложенные обращения к подпрограммам.Накладные расходы при смене обрабатываемой программы.

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

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

тот модуль, который можно загрузить в оперативную память иначать его исполнять, причем момент создания исполняемого модуля и момент запуска его наисполнение разнесены во времени. Исторически первые исполняемые модули настраивались на теадреса оперативной памяти, в рамках которых он должен был исполняться. Это означает, что еслипамять в данный момент занята другой программой, то эту программу поставить на счет неудастся (пока память не освободится). И, соответственно, возникает проблема перемещаемостипрограммы по ОЗУ: ресурс свободной памяти в ОЗУ может быть достаточно большим, чтобы вней разместилась вновь запускаемая программа, но в силу привязки каждой программы кконкретным адресам ОЗУ эту программу запустить не удается.57Буфер программ,ожидающих началаобработкиОСПрограмма 1Программа 2…Загрузка и началовыполнения…Программа K…Соответствие адресов, используемых в программе, областиОЗУ, в которой будет размещена данная программаРис. 45.Перемещаемость программы по ОЗУ.Фрагментация памяти.

Положим, что предыдущая проблема, связанная сперемещаемостью кода, решена в нашей системе: любой исполняемый модуль может бытьзагружен в произвольное место ОЗУ для дальнейшего выполнения. Но в этом случае возникаетиная проблема.Пускай наша система работает в мультипрограммном режиме. И в начале работы былизапущены на исполнение Программа 1, Программа 2 и т.д., вплоть до некоторого номера K.

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

Таким образом, система начинает деградировать: имея ресурс свободнойпамяти, мы не можем его использовать, а это означает, что система используется в усеченномкачестве.Буфер программ,ожидающих началаобработкиОСПрограмма N11V1своб.Программа N22Программа 1V1прог.Программа 2V2прог.V2своб.несмотря на то, что ∃i:…Программа KKПроблема фрагментации:Viпрог. > Vjсвоб. , ∀i, j,VKсвоб.⇒ деградация системы…Программа LVLпрог.Рис. 46.Фрагментация памяти.58После того, как мы указали основные проблемы, возникающие при исполнении программ,рассмотрим, как эти проблемы могут решаться.1.2.6.3Регистровые окнаОдно из более или менее новых решений, предназначенное для минимизации накладныхрасходов, связанных с обращениями к подпрограммам, основано на использовании в современныхпроцессорах т.н.

регистровых окон (register windows). Суть этого решения заключается вследующем (1.2.6.3). В процессоре имеется некоторое количество K физических регистров,предназначенных для использования в пользовательских программах. Эти регистрыпронумерованы от 0 до K–1. Также имеется понятие регистрового окна — это набор регистров, поколичеству меньший K, который в каждый момент времени доступен для программыпользователя.

Соответственно, эти K физических регистров разделяются на регистровые окнанекоторым способом. Один из способов предполагает, что с нулевого физического регистраначинается нулевое физическое окно, причем в этом нулевом физическом окне программепользователя доступны физические регистры с номерами от 0 до L–1. Первое физическое окнопредставляет собою очередные L регистров, которые внутри окна также имеют нумерацию от 0 доL–1, но в реальности им соответствуют физические регистры с номерами, начинающимися с L–1.Т.е. окна организованы таким способом, что последний регистр предыдущего окна отображаетсяна тот же физический регистр, что и нулевой регистр следующего окна.Итак, имеющиеся K физических регистров разбиты на N окон, в каждом из которыхрегистры имеют номера от 0 до L–1. Соответственно, в системе организована логика такимспособом, что все окна расположены в циклическом списке: нулевое окно пересекается с первым,первое — со вторым, и так далее, вплоть до N–1-ого окна, которое пересекается снова с нулевым.Также в системе имеется команда смены окна.

Соответственно, при обращении к подпрограммечерез пересекающиеся точки передаются адреса возвратов, а внутри окна можно работать срегистрами, причем при обращении к подпрограмме не встает необходимость их сохранения.Считается, что достигается эффект оптимизации при четырех окнах, что означает, что среднийуровень вложенности подпрограмм не более четырех. Недостатком такого решения являетсяфиксированный размер каждого окна, что на практике часто оказывается неоптимальным (т.к.иногда требуется больше регистров, иногда — меньше). Ниже на 1.2.6.3 приведены схемы работыс регистровыми окнами.59000Окно 0Окно 1L–1…L–10Окно N–1Окно 0CWP — указательтекущего окна (currentwindow pointer)SWP — указательсохраненного окна(saved window pointer)L–1Окно 1…Окно N–10K–1L–1МножествофизическихрегистровВиртуальные регистрыРис. 47.Регистровые окна.При вызовеподпрограммыПри выходе изподпрограммыCWP = (CWP + 1) % NCWP == SWPCWP = (CWP – 1 + N) % Nнет(CWP+1)%N == SWPданетдаПрерываниеПрерываниеОткачка окна SWP впамятьВосстановление окна(CWP + 1) % NSWP = (SWP++) % NЕсли еще есть сохраненные окнаSWP = (SWP–1+N) % NИспользование окна CWP,вызов функцииИспользование окна CWP, вызовфункцииРис.

48.Регистровые окна. Вход и выход из подпрограммы.Модель организации регистровой памяти в Intel Itanium. В современных компьютерахимеется возможность варьирования размера регистрового окна. В частности, в 64-разрядных60процессорах Itanium компании Intel размер окна динамический. В данном процессоре врегистровом файле первые 32 регистра (с номерами от 0 до 31) являются общими, а на регистрах сномерами от 32 по 127 организуются регистровые окна, причем окно может быть произвольногоразмера (например, от 32-ого регистра до регистра с номером 32+N, где N=0..95).

Такаяорганизация позволяет оптимизировать работу с точки зрения входов-выходов из функций изамены функциональных контекстов.1.2.6.4Системный стекБудем рассматривать системы, в которых имеется аппаратная поддержка стека. Этоозначает, что имеется регистр, который ссылается на вершину стека, и есть некоторый механизм,который поддерживает работу со стеком. Системный стек может применяться для оптимизацииработ, связанных со сменой контекстов программ. В частности, этот механизм можетиспользоваться при обработке прерывания: если в системе возникает прерывание, процессорпросто скидывает в стек содержимое необходимых регистров. Если же возникнет второепрерывание, то процессор поверх предыдущих данных скинет в стек новое содержимое регистров,чтобы обработать вновь пришедшее прерывание.Регистровый буфер (специальныерегистры или КЭШ L1)Вершина стекаSP (указатель стека)Оперативная памятьКоманды работы со стеком:PUSH — добавить новыйэлемент.POP — изъять элемент извершины стекаОснование стекаРис.

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

Во-первых, в процессоре могутиспользоваться специальные регистры, исполняющие роль буфера, аккумулирующего вершинустека непосредственно в процессоре. Во-вторых, работу со стеком можно организоватьпосредством буферизации в КЭШе первого уровня (L1).1.2.6.5Виртуальная памятьСледующий аппарат компьютера, который также сильно связан с поддержкойпрограммного обеспечения, — это аппарат виртуальной памяти. Что понимается подвиртуальной памятью и виртуальным адресным пространством? Неформально виртуальноеадресное пространство можно определить как то адресное пространство, которое используетсявнутри программ (написанных, например, на языках программирования высокого уровня).

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

С одной стороны, его можноинтерпретировать как абсолютный исполнительный адрес, когда физический адрес в некоторомсмысле соответствует исполнительному адресу программы (Aисп.физ.= Aисп.прог.). Например, требуется«прочитать ячейку с адресом (абсолютным адресом) 0», или «передать управление по адресувхода в обработчик прерывания».

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

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

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

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