Подкачка страниц по запросу и с упреждением. 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Подкачка страниц по запросу и с упреждением.



Подкачка страниц (англ. Paging; иногда используется термин swapping от swap, /swɔp/) — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ на жёсткий диск (или другой внешний накопитель, такой как Флеш-память), освобождая ОЗУ для загрузки других фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти.

 

Временно выгруженные из памяти страницы могут сохраняться на внешних запоминающих устройствах как в файле, так и в специальном разделе на жёстком диске (partition), называемые соответственно swap-файл и swap-раздел. В случае откачки страниц, соответствующих содержимому какого-либо файла (например, memory-mapped files), они могут удаляться. При запросе такой страницы она может быть считана из оригинального файла.

 

Когда приложение обратится к откаченной странице, произойдет исключительная ситуация PageFault. Обработчик этого события должен проверить, была ли ранее откачена запрошенная страница, и, если она есть в свопе, загрузить ее обратно в память.

 

35) Управление процессорами. Планирование загрузки процессоров. Цели планирования.

 

11.2 Цели планирования

 

Дисциплина планирования должна:

 

· Быть справедливой. Дисциплина планирования считается справедливой, если ко всем процессам она относится одинаково, и ни один процесс не может пострадать от бесконечного откладывания.

 

· Обеспечивать максимальную пропускную способность системы. Дисциплина планирования должна стремиться к обслуживанию максимально возможного количества процессов в единицу времени.

 

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

 

· Быть предсказуемой. Данное задание должно выполняться приблизительно за одно и то же время и с приблизительно одинаковой стоимостью независимо от нагрузки на систему.

 

· Минимизировать накладные расходы.

 

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

 

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

 

· Исключать бесконечное откладывание. Во многих случаях бесконечное откладывание процессов может приводить к не менее неприятным последствиям, чем тупики. Чтобы исключить бесконечное откладывание, лучше всего учитывать старение процесса — с увеличением периода времени, в течение которого процессу приходится ожидать некоторого ресурса, приоритет этого процесса должен расти. В конце концов, приоритет окажется настолько высоким, что процессу будет предоставлен нужный ресурс.

 

· Учитывать приоритеты. В системах, в которых процессам присваиваются приоритеты, механизм планирования должен оказывать предпочтение процессам с более высокими приоритетами.

 

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

 

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

 

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

 

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

 

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

Уровни планирования

 

Мы рассмотрим три основных уровня планирования (рис. 11.1).

 

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

 

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

 

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

Планирование с переключением и без переключения. Интервальный таймер.

 

Планирование с переключением и без переключения

 

Если после предоставления ЦП в распоряжение некоторого процесса отобрать ЦП у этого процесса нельзя, то говорят о дисциплине планирования без переключения. Если же ЦП можно отобрать, то говорят о дисциплине планирования с переключением.

 

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

 

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

 

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

 



Поделиться:


Последнее изменение этой страницы: 2016-08-16; просмотров: 250; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.144.233.150 (0.011 с.)