- •1.Введение в операционные системы
- •2. История пк
- •6. Ос с точки зрения пользователя.
- •7. Структура пк и его состав.
- •10. Контролер
- •Ресурсы ос.
- •15. Планирование процессов выполнения
- •16. Планировщик задач.
- •17. Принципы функционирования очереди.
- •18.Многоуровневые очереди.
- •19. Планирование с использованием многоуровневой очереди с обратными связями.
- •20.Управление памятью.
- •21. Управление памятью при работе взаимосвязанных процессов.
- •22. Смежное размещение процессов.
- •24. Разделение памяти между отдельными разделами.
- •Режим set.
- •25. Динамические методы выделения памяти
- •26. Страничная организация памяти
- •Логика работы с оп.
- •27. Аппаратная поддержка страничной организации памяти.
- •28. Сегментная организация памяти.
- •29.Управление виртуальной памятью
- •31. Замещение страниц.
- •32. Алгоритм выбора «жертвы»(замещаемой страницы).
- •33.Критические ресурсы.
- •34. Файловая система.
- •Типы файловых систем.
- •35. Файл на диске.
- •36. Структура загрузочного сектора.
- •37. Структура корневого каталога.
- •Область файлов.
- •38. Поддержка длинных имен файлов.
- •Генерирование коротких имен.
- •Введение в операционные системы
29.Управление виртуальной памятью
4 Гб
SWAP SPASE
n-му процессу не хватает памяти для загрузки на выполнение, поэтому ОП должна выполнить какие-либо действия, чтобы событие получило реакцию. Не важно, как грузятся процессы.
ОП может посмотреть, какой процесс может быть выгружен (ожидающий, остановленный, выполненный процесс).
Если задача одна и очень большая: адресуемое пространство продолжается на физическом устройстве, например, жестком диске.
Эта задача также разбивается на страницы, которые могут быть valid - правильные (загружаются в ОП), invalid – неправильные (лежат на внешней памяти).
При установки ОС, она автоматически создает .swp-файл.
М еханизм работы .swp-файла:
Если не хватает места для .swp-файла, ОС добавляет ему памяти.
Рекомендуется делать .swp-файл размером 1.2-1.3 от ОП. Это позволяет ускорить доступ к .swp-файлу.
.swp-файл только нарастает, уменьшить его нельзя.
Появились программы, делающие .swp-файл целостным, дефрагментируют его.
Виртуальная память используется, когда не хватает оперативной памяти для выполнения программы.
Пусть имеется многозадачная система. Оперативная память должна выполнить какие-либо действия, чтобы это событие (нехватка памяти) получило соответствующую реакцию. Неважно, как грузятся процессы. Первая реакция оперативной памяти: желание выгрузить процесс, т.е. ставится вопрос о том, какой i-ый процесс может быть выгружен (например, остановленный, ожидающий, выполненный).
Если же задача одна, но очень большая (например, расположение объемного изображения в Автокаде под разными углами), то адресуемое пространство продолжается на каком-либо физическом устройстве (например, на жестком диске). Эта задача точно также разбивается на страницы. Эти страницы могут быть valid – правильные (загруженные в оперативную память) и invalid – не загруженные в оперативную память, а лежащие на внешней памяти. Эту внешнюю память называют Swap Space.
Механизм работы .swap-файла: .swap-файл лежит где-то на диске. Если не хватает памяти, то ОС постепенно добавляет для .swap-файла еще где-то место на диске.
Swap Space рекомендуется делать размером 1.2-1.3 от размера оперативной памяти.
Если Swap Space лежит на диске в одном месте непрерывно, а не «раскидано» по диску, то обращение к Swap Space дает более быстрый доступ.
.swap-файл можно только увеличить, уменьшить нельзя, также .swap-файл является неперемещаемым.
В результате вышеуказанных неудобств по использованию .swap-файла вскоре появился speed-диск, который позволяет регулировать .swap-файл и положить его в начало диска, делая его непрерывным.
Рассмотрим процесс перезагрузки: при перезагрузке определена некоторая задача, которая разбита на отдельные части (сегменты), которые должны грузиться в оперативную память, причем некоторые из них могут не умещаться в ОП.
Рис 5.1
30. Механизм работы при использовании виртуальной памяти: имеется некоторая область, где расписаны сегменты задачи (любым образом распределенная логическая память), таблица страниц, которая при работе с виртуальной памятью таблица имеет еще один бит (valid или invalid). Еще одна используемая таблица – это таблица страниц процесса, которая отображается на физической памяти.
Как только процесс обращается к какой-либо странице памяти, то обязательно определяется его физический адрес в ОП.
При обращении к логическому адресу первоначально проверяется, есть ли он в таблице страниц. Если есть и этот адрес – загруженная страница, то он копируется в физическую память и для него выделяется определенная страница.
Второй вариант – это, когда процесса в таблице страниц нет, тогда происходит обращение к таблице процессов, если адреса нет и там, то происходит его поиск в ОП. Если адрес найден, то он вписывается в таблицу страниц процессов, которая дублируется в таблицу страниц и бит invalid меняется на valid (сегмент В на рис 5.1). После появления сегмента В, которую мы рассматриваем, в физической памяти, появляется доступ к физической памяти.
Такой механизм дает следующее: задача может начинать выполняться, когда она не целиком загружена в память.
При больших задачах могут быть использованы отдельные сегменты при загрузке, при этом не требуется перезагружать страницы, если они уже есть в ОП.
Пусть, например, требуется загрузить сегмент Е в ОП и получить доступ к его логическому адресу. Первый вопрос, который встает перед ОП – это куда загружать С. После обращения к С, происходит поиск свободных страниц в физической памяти, затем С записывается в таблицу процессов (в очередной адрес, при этом добавляется смещение), затем С записывается в таблицу страниц и invalid меняется на valid.