рефераты конспекты курсовые дипломные лекции шпоры

Реферат Курсовая Конспект

Свопинг и виртуальная память в ОС

Свопинг и виртуальная память в ОС - раздел Философия, Общие сведения об операционных системах и средах. Назначение и основные функции   Ответ: Управление Памятью Включает ...

 

Ответ:

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

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

Необходимым условием для того, чтобы программа могла выполняться, являет­ся ее нахождение в оперативной памяти. Только в этом случае процессор может извлекать команды из памяти и интерпретировать их, выполняя заданные дейст­вия. Объем оперативной памяти, который имеется в компьютере, существенно сказывается на характере протекания вычислительного процесса. Он ограничи­вает число одновременно выполняющихся программ и размеры их виртуальных адресных пространств. В некоторых случаях, когда все задачи мультипрограмм­ной смеси являются вычислительными (то есть выполняют относительно мало операций ввода-вывода, разгружающих центральный процессор), для хорошей загрузки процессора может оказаться достаточным всего 3-5 задач. Однако если вычислительная система загружена выполнением интерактивных задач, то для эффективного использования процессора может потребоваться уже несколько де­сятков, а то и сотен задач.

 

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

В мультипрограммном режиме помимо активного процесса, то есть процесса, коды которого в настоящий момент интерпретируются процессором, имеются приостановленные процессы, находящиеся в ожидании завершения ввода-выво­да или освобождения ресурсов, а также процессы в состоянии готовности, стоя­щие в очереди к процессору. Образы таких неактивных процессов могут быть временно, до следующего цикла активности, выгружены на диск. Несмотря на, то что коды и данные процесса отсутствуют в оперативной памяти, ОС «знает» о его существовании и в полной мере учитывает это при распределении процессорно­го времени и других системных ресурсов. К моменту, когда подходит очередь выполнения выгруженного процесса, его образ возвращается с диска в оператив­ную память. Если при этом обнаруживается, что свободного места в оперативной памяти не хватает, то на диск выгружается другой процесс.

Такая подмена {виртуализация) оперативной памяти дисковой памятью позво­ляет повысить уровень мультипрограммирования — объем оперативной памяти компьютера теперь не столь жестко ограничивает количество одновременно вы­полняемых процессов, поскольку суммарный объем памяти, занимаемой образа­ми этих процессов, может существенно превосходить имеющийся объем опера­тивной памяти.

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

Виртуализация оперативной памяти осуществляется совокупностью программ­ных модулей ОС и аппаратных схем процессора и включает решение следующих задач:

□ размещение данных в запоминающих устройствах разного типа, например
часть кодов программы — в оперативной памяти, а часть — на диске;

Q выбор образов процессов или их частей для перемещения из оперативной па­мяти на диск и обратно;

□ перемещение по мере необходимости данных между памятью и диском;

□ преобразование виртуальных адресов в физические.

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

Виртуализация памяти может быть осуществлена на основе двух различных под­ходов:

свопинг (swapping) — образы процессов выгружаются на диск и возвращаются в оперативную память целиком;

виртуальная память (virtual memory) — между оперативной памятью и дис­ком перемещаются части (сегменты, страницы и т. п.) образов процессов.

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

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

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

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

Сегментная виртуальная память предусматривает перемещение данных сег­ментами — частями виртуального адресного пространства произвольного раз­мера, полученными с учетом смыслового значения данных.

Сегментно-страничная виртуальная память использует двухуровневое деле­ние: виртуальное адресное пространство делится на сегменты, а затем сегмен­ты делятся на страницы. Единицей перемещения данных здесь является стра­ница. Этот способ управления памятью объединяет в себе элементы обоих предыдущих подходов.

Для временного хранения сегментов и страниц на диске отводится либо специ­альная область, либо специальный файл, которые во многих ОС по традиции продолжают называть областью, или файлом свопинга, хотя перемещение ин­формации между оперативной памятью и диском осуществляется уже не в фор­ме полного замещения одного процесса другим, а частями. Другое популярное название этой области — страничный файл (page file, или paging file). Текущий размер страничного файла является важным параметром, оказывающим влияние на возможности операционной системы: чем больше страничный файл, тем боль­ше приложений может одновременно выполнять ОС (при фиксированном раз­мере оперативной памяти). Однако необходимо понимать, что увеличение числа одновременно работающих приложений за счет увеличения размера страничного файла замедляет их работу, так как значительная часть времени при этом тра­тится на перекачку кодов и данных из оперативной памяти на диск и обратно. Размер страничного файла в современных ОС является настраиваемым парамет­ром, который выбирается администратором системы для достижения компро­мисса между уровнем мультипрограммирования и быстродействием систем

 

– Конец работы –

Эта тема принадлежит разделу:

Общие сведения об операционных системах и средах. Назначение и основные функции

Ответ... ОС комплекс управляющих и обрабатывающих программ которые с одной стороны... ОС позволяет Управление ресурсами согласовывает работу всех аппаратных средств...

Если Вам нужно дополнительный материал на эту тему, или Вы не нашли то, что искали, рекомендуем воспользоваться поиском по нашей базе работ: Свопинг и виртуальная память в ОС

Что будем делать с полученным материалом:

Если этот материал оказался полезным ля Вас, Вы можете сохранить его на свою страничку в социальных сетях:

Все темы данного раздела:

Понятие вычислительного процесса и ресурса.
Процесс – это минимальный п

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

Супервизор ввода-вывода.
Управление вводом-выводом осуществляется компонентом ОС, который часто называют супервизором ввода-вывода. Основные задачи, возлагаемые на супервизор: 1) Модуль супервизора ОС, иногда назы

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

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

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

Супервизор диспетчера задач.
Один из основных модулей супервизора операционной системы — диспетчер задач — переводит процессы в одно из состояний в зависимости от того, доступен тот или иной ресурс или не доступен

Программные прерывания. Супервизор прерываний в ОС.
Ответ: Прерывания представляют собой механизм, позволяющий координировать параллельное функционирование отдельных устройств компьютера и реагировать на особые состояния пр

Работа супервизора прерываний в ОС.
• При появлении запроса на прерывание система прерываний идентифицирует сигнал и, если прерывания разрешены, управление передается па соответствующую подпрограмму обработки. • В подпрограм

Функции ОС по управление памятью.
Ответ: Под памятью (memory) здесь подразумевается оперативная память компьюте­ра. В отличие от памяти жесткого диска, которую называют внешней памятью (storage),

Стратегия планирования. Дисциплины диспетчеризации в ОС.
Ответ: Операционная система должна распределять ресурсы между процессами в соответствии с заданной стратегией (т.е. предоставляя определенным функциям или приложения

Дисциплина диспетчеризации RR в ОС.
Планирование процессов – распределение процессов между имеющимися ресурсами. Один из методов планирования процессов, ориентированных на эффективную загрузку ресурсов, является методом очер

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

Принципы построения интерфейсов ОС. Понятие операционная среда.
Ответ: Под интерфейсом ОС понимаются спец. интерфейсы системного и прикладного программирования. Интерфейсы выполняют следующие функции: 1)управле

Архитектура Windows
– уровень аппаратных абстракций HAL (Hardware Abstraction Layer); – ядро (Kernel); – исполняющая система (Executive); – защищенные подсистемы (protected sybsystems);

Файловые системы ОС и иерархия данных.
Ответ: В широком смысле понятие "файловая система" включает: à совокупность всех файлов на диске, à наборы служебн

Операционная система Linux. Взаимодействие компонентов ОС.
Ответ: Linux — это современная Unix-подобная многопользовательсткая сетевая операционная система для персональных компьютеров и рабочих станций. Linux имеет сетевую оконну

Устройство ОС Linux
Ядро имеет, как правило, модульную структуру, модули ядра можно задействовать (подгружать) по мере необходимости, чаще всего модулями оформлены драйверы периферийных устройств и файловых систем.

Описание структуры каталогов
l Файловая система Linux, подобно DOS, Microsoft Windows и UNIX, имеет древо­видную структуру. l Основой операционной системы является корневой ка

Обзор программ командного интерпретатора
l В Linux программа командного интерпретатора — это пользовательский интерфейс к компьютерной системе. l Этот интерфейс принимает команды от пользователя и переводи

Организация операционной системы
В операционной системе W2K трудно однозначно выделить микроядро. Вместо этого W2K имеет структуру, которую фирма Microsoft называет модифицированной архитектурой микроядра.

Пользовательские процессы
Операционная система W2K поддерживает четыре основных типа пользовательских процессов: • Специальные процессы системной поддержки. К таким процессам относятся служебные программы, которые

Структура сетевой ОС. Взаимодействие компонентов ОС.
Ответ:   Операционная система компьютерной сети во многом аналогична ОС автоном­ного компьютера — она также представляет собой комплекс взаимосвязанных прогр

Сетевые и распределенные ОС
  В зависимости от того, какой виртуальный образ создает операционная система для того, чтобы подменить им реальную аппаратуру компьютерной сети, разли­чают сетевые ОС и распр

Функциональные компоненты сетевой ОС
На рис. 2.1 показаны основные функциональные компоненты сетевой ОС: · средства управления локальными ресурсами компьютера реализуют все функ­ции ОС автономного компьютера (распредел

Модели сетевых служб и распределенных приложений
  Значительная часть приложений, работающих в компьютерах сети, являются сете­выми, но, конечно, не все. Действительно, ничто не мешает пользователю запус­тить на своем компьютере пол

Двухзвенные схемы
  Распределение приложения между большим числом компьютеров может повы­сить качество его выполнения (скорость, количество одновременно обслуживае­мых пользователей и т. д.), но при эт

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

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

Windows
Операционная среда Windows разработана фирмой Microsoft для IBM-с

ReactOS
ReactOS — свободная и бесплатная операционная система с открытым

NetWare
NetWare — это сетевая операционная система и набор сетевых проток

Miraculix
Miraculix — это русская 32-х битная операционная система. Первая

Хотите получать на электронную почту самые свежие новости?
Education Insider Sample
Подпишитесь на Нашу рассылку
Наша политика приватности обеспечивает 100% безопасность и анонимность Ваших E-Mail
Реклама
Соответствующий теме материал
  • Похожее
  • Популярное
  • Облако тегов
  • Здесь
  • Временно
  • Пусто
Теги