Подкачка страниц по запросу
Традиционно считается, что наиболее рационально загружать в основную память страницы, необходимые для работы процесса, по его запросу. Не следует переписывать из внешней памяти в основную ни одной страницы до тех пор, пока к ней явно не обратится выполняющийся процесс. В пользу такой стратегии можно привести несколько аргументов:
1. Теория вычислимости говорит о том, что путь, который выберет программа при своем выполнении, точно предсказать невозможно. Поэтому любая попытка заранее загрузить страницы в память в предвидении того, что они потребуются в работе, может оказаться неудачной - будут загружены не те страницы.
2. Подкачка страниц по запросу гарантирует, что в основную память будут переписываться только те страницы, которые фактически необходимы для работы процессов.
3. Накладные расходы на то, чтобы определить, какие странницы следует передавать в основную память, минимальны. Стратегии вталкивания с упреждением могут потребовать значительных дополнительных затрат процессорного времени.
Подкачка страниц по запросу имеет свои проблемы. Процесс должен накапливать в памяти требуемые ему страницы по одной. При появлении ссылки на каждую новую страницу процессу приходится ждать, когда эта страница будет передана в основную память. В зависимости от того, сколько страниц данного процесса уже находятся в основной памяти, эти периоды ожидания будут обходиться все более дорого, поскольку ожидающие процессы будут занимать все больший объем памяти.
Подкачка страниц с опережением
Один из основных критериев управления ресурсами, в том числе памятью, может быть сформулирован следующим образом : интенсивность использования ресурса определяется относительной ценностью этого ресурса. Поскольку стоимость аппаратных средств (и микросхем оперативной памяти) в настоящее время снижается, то снижается и относительная ценность машинного времени по сравнению с временем, затрачиваемым человеком. Поэтому необходимо уменьшать количество времени, в течение которого пользователю приходится ждать получения результатов от компьютера. Одним из перспективных в этом смысле является метод подкачки страниц с опережением.
При опережающей подкачке операционная система пытается заблаговременно предсказать, какие страницы потребуются процессу, а затем, когда в основной памяти появляется свободное место, загружает в нее эти страницы. Пока процесс работает со своими текущими страницами, система запрашивает новые страницы, которые будут уже готовы к использованию, когда процесс к ним обратится. Если решения о выборе страниц для подкачки принимаются правильно, то удается значительно сократить общее время выполнения данного процесса.
Метод подкачки страниц с опережением характеризуется следующими преимуществами:
1. Если в большинстве случаев удается принимать правильные решения о выборе страниц для подкачки, то время выполнения процесса значительно уменьшается. Поэтому имеет смысл пытаться создавать механизмы упреждающей подкачки, даже если от них нельзя ожидать абсолютной точности.
2. Во многих случаях вполне можно находить правильные решения. Если такое принятие решений удается реализовать при относительно малых затратах, то выполнение данного процесса можно значительно ускорить, не замедляя при этом работы других активных процессов.
3. Поскольку аппаратура вычислительных машин все более дешевеет, последствия неоптимальных решений становятся менее серьезными. Сейчас мы можем позволить себе приобрести дополнительную основную память, обеспечивающую накопление дополнительных страниц, которые механизм упреждающей подкачки будет передавать в основную память.
Освобождение страниц
При управлении памятью по рабочему множеству программы сообщают, какие страницы они хотят использовать, явно обращаясь к этим страницам. Страницы, которые больше не нужны, должны каким-то образом выводиться из рабочих множеств. Существует обычно период времени, в течение которого ненужные страницы все еще остаются в основной памяти.
Когда выясняется, что некоторая страница больше не понадобится, пользователь может по собственной инициативе выдать сигнал об удалении страницы из памяти (отказаться от страницы) с освобождением соответствующего страничного кадра. Благодаря этому будет исключен период задержки, неизбежный в случае, если предоставить системе возможность естественным порядком вывести эту страницу из рабочего множества процесса.
Включение команд освобождения страниц в прикладные программы пользователя может значительно замедлить их разработку.
Размер страниц
В системах со страничной организацией оперативная память разбивается на страничные кадры фиксированного размера. Как уже отмечалось ранее, от размера страницы зависит эффективность использования памяти, поэтому выбору оптимального размера страницы уделяется достаточно большое внимание. Факторы, которые необходимо при этом учитывать, заключаются в следующем.
1. Чем меньше размер страницы, тем большее количество страниц и страничных кадров будет в системе и тем больше будут таблицы страниц. Такое неэффективное использование памяти из-за чрезмерно больших таблиц называется табличной фрагментацией. Здесь мы отметим, что подобной аргумент в настоящее время не столь актуален, поскольку выпускается недорогая память очень большой емкости.
2. При крупных размерах страниц в первичную память при подкачке попадают большие объемы информации, которая, вообще говоря, может и не понадобиться. Это указывает на необходимость уменьшения размеров страниц.
3. Поскольку обмены данными с дисковой памятью занимают относительно много времени, мы хотим свести к минимуму число обменов, которые будут производиться для программы во время ее выполнения. Это указывает, по-видимому, на необходимость увеличения размеров страниц.
4. Программы, как правило, проявляют свойство локальности обращений, причем размеры подобных локальных участков невелики. Таким образом, уменьшение размера страницы должно способствовать тому, что у программы образуется более компактный набор страниц, т. е. страницы рабочего множества, размещаемые в реальной памяти, будут содержать более интенсивно используемые объекты.
5. Поскольку блоки процедур и данных редко представляют целое число страниц, в системах со страничной организацией наблюдается внутренняя фрагментация. Чем меньше размер страницы, тем меньше потери из-за внутренней фрагментации.
В большинстве существующих операционных систем размер страницы установлен в 256 четырехбайтных слов.
УПРАВЛЕНИЕ ПРОЦЕССАМИ
Одна из важных характеристик операционных систем - возможность одновременного выполнения взаимосвязанных процессов. Процесс в общем случае состоит из множества событий, которые соответствуют выполнению действий и возникают в определенном временном порядке. Процесс создается, когда выполнение задания пользователя начинается, и уничтожается, когда задание завершается. Во время своего существования процесс может переходить из одного дискретного состояния в другое. Выбор процесса пользователя во внешней памяти (планирование) осуществляется управляющей программой - планировщиком, а выделение центрального процессора готовому процессу для выполнения вычислительной работы согласно некоторой стратегии - диспетчеризация - другой программой - диспетчером. Обычный порядок исполнения потока команд может быть изменен в результате прерывания. Если сначала полностью выполняется один процесс, а затем - второй, то такие процессы будут называться последовательными. Процессы называются параллельными, если они существуют одновременно. Два параллельных процесса могут быть независимыми либо взаимодействующими. Взаимодействовать могут либо процессы,конкурирующие за обладаниемресурсом, либо процессы, совместно выполняющие общую работу. Для обеспечения корректного исполнения конкурирующие процессы должны быть взаимно исключающими (т.е. не иметь возможности одновременно обращаться ни к общим переменным, ни к общим ресурсам), а совместно исполняемые процессы должны иметь средства их синхронизации (семафоры, мониторы, сообщения).
В этом разделе сначала будут исследованы состояния процесса, переходы последнего из одного состояния в другое, а также последовательность событий, происходящих в ответ на прерывание. В п.4.2 рассматриваются проблемы взаимодействия параллельных процессов, а в п.4.3 - условия возникновения тупиковых ситуаций и средства борьбы с ними.
Концепции процесса
Не нашли, что искали? Воспользуйтесь поиском по сайту:
©2015 - 2024 stydopedia.ru Все материалы защищены законодательством РФ.
|