Реферат Курсовая Конспект
Управление памятью - раздел Образование, Обзор операционных систем Лучше Всего Потребности Пользователя Удовлетворяются Вычислит...
|
Лучше всего потребности пользователя удовлетворяются вычислительной средой, поддерживающей модульное программирование и гибкое использование данных. Нужно обеспечить эффективный и систематичный контроль над размещением данных в запоминающем устройстве со стороны управляющих программ операционной системы. Исходя из сформулированных требований, операционная система должна выполнять такие функции.
• Изоляция процессов. Операционная система должна следить за тем, чтобы
ни один из независимых процессов не смог изменить содержимое памяти,
отведенное другому процессу, и наоборот.
Автоматическое размещение и управление. Программы должны динамически размещаться в памяти в соответствии с определенными требованиями.
Распределение памяти должно быть прозрачным для программиста. Таким
образом, программист будет избавлен от необходимости следить за ограничениями, связанными с конечностью памяти, а операционная система повышает эффективность работы вычислительной системы, выделяя заданиям
только тот объем памяти, который им необходим
• Поддержка модульного программирования. Программист должен иметь
возможность определять модули программы, а также динамически их создавать, уничтожать и изменять их размер.
• Зашита и контроль доступа. При совместном использовании памяти на каждом
ее иерархическом уровне есть вероятность, что одна программа обратится к
пространству памяти другой программы. Такая возможность может понадобиться, если она заложена в принцип работы данного приложения. С другой
стороны, это угроза целостности программ и самой операционной системы.
Операционная система должна следить за тем, каким образом различные пользователи могут осуществлять доступ к различным областям памяти.
• Долгосрочное хранение. Многим приложениям требуются средства, с помощью которых можно было бы хранить информацию в течение длительного периода времени после выключения компьютера.
Обычно операционные системы выполняют эти требования с помощью средств виртуальной памяти и файловой системы. Файловая система обеспечивает долгосрочное хранение информации, помещаемой в именованные объекты, которые называются файлами. Файл — это удобная для широкого использования структура данных, доступ к которой и ее защита осуществляются операционной системой.
Виртуальная память — это устройство, позволяющее программистам рассматривать память с логической точки зрения, не заботясь о наличии физической памяти достаточного объема. Принципы работы с виртуальной памятью были разработаны, чтобы задания нескольких пользователей, выполняясь параллельно, могли одновременно присутствовать в основной памяти. При такой организации процессов нет задержки между их выполнением: как только один из процессов заносится на вспомогательное запоминающее устройство, считывается следующий процесс. Из-за различий в количестве памяти, требующемся для разных процессов, при переключении процессора с одного процесса на другой трудно компактно разместить их в основной памяти. Поэтому были разработаны системы со страничной организацией памяти, при которой процесс разбивается на блоки фиксированного размера, которые называются страницами. Обращение программы к слову памяти происходит по виртуальному адресу (virtual address), который состоит из номера страницы и смещения относительно ее начала. Страницы одного и того же процесса могут быть разбросаны по всей основной памяти. Система разбивки на страницы обеспечивает динамическое соответствие между виртуальным адресом, использующимся программой, и реальным (real address), или физическим, адресом основной памяти.
Следующим логическим шагом развития в этом направлении (при наличии аппаратного обеспечения, позволяющего выполнять динамическое отображение) было исключение требования, чтобы все страницы процесса одновременно находились в основной памяти; достаточно, чтобы все они хранились на диске. Во время выполнения процесса только некоторые его страницы находятся в основной памяти. Если программа обращается к странице, которая там отсутствует, аппаратное обеспечение, управляющее памятью, обнаружит это и организует загрузку недостающих страниц. Такая схема называется виртуальной памятью; она проиллюстрирована на рис. 2.9.
Рис. 2.9. Концепция виртуальной памяти
Аппаратное обеспечение процессора вместе с операционной системой предоставляют пользователю "виртуальный процессор", который имеет доступ к виртуальной памяти. Это хранилище может быть организовано в виде линейного адресного пространства или в виде набора сегментов, представляющих собой непрерывные блоки переменной длины. При каждом из этих способов организации с помощью средств языка программирования можно обращаться к ячейкам виртуальной памяти, в которых содержится программа и ее данные. Чтобы изолировать процессы друг от друга, каждому из них можно выделить свою область памяти, не пересекающуюся с областью памяти другого процесса. Общее использование памяти можно организовать, частично перекрывая участки двух областей виртуальной памяти. Файлы создаются на долговременном запоминающем устройстве. Чтобы с ними могли работать программы, файлы или их фрагменты могут копироваться в виртуальную память.
Рис. 2.10 поясняет концепцию адресации в схеме виртуальной памяти. Хранилище состоит из основной памяти, открытой для прямого доступа, осуществляемого с помощью машинных команд, а также более медленной вспомогательной памяти, доступ к которой осуществляется косвенно путем загрузки блоков в основную память. Между процессором и памятью находятся аппаратные средства преобразования адреса. Программы обращаются к ячейкам памяти посредством виртуальных адресов, преобразующихся в ходе обращения в реальные адреса, основной памяти. Если происходит обращение к виртуальному адресу, который не загружен в основную память, то один из блоков реальной памяти меняется местами с нужным блоком, который находится во вспомогательной памяти. Во время этого обмена процесс, который обратился к данному адресу, должен быть приостановлен. Задача разработки такого механизма преобразования адресов, который бы не требовал больших дополнительных ресурсов, и такой стратегии размещения данных в хранилище, которая бы сводила к минимуму перемещение данных между различными уровнями памяти, возлагается на разработчика операционной системы.
Рис. 2.10. Адресация виртуальной памяти
– Конец работы –
Эта тема принадлежит разделу:
ЭВОЛЮЦИЯ ОПЕРАЦИОННЫХ СИСТЕМ... Пытаясь понять основные требования предъявляемые к операционным систе мам а также значение основных возможностей...
Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Управление памятью
Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:
Твитнуть |
Новости и инфо для студентов