Абстракция памяти: адресное пространство, свопинг.
Оценка 4.6

Абстракция памяти: адресное пространство, свопинг.

Оценка 4.6
Презентации учебные
pptx
информатика
10 кл—11 кл +1
14.02.2023
Абстракция памяти: адресное пространство, свопинг.
Абстракция памяти: адресное пространство, свопинг,
Абстракция памяти и виртуальная память по ОС и Среды.pptx

Абстракция памяти: адресное пространство, свопинг

Абстракция памяти: адресное пространство, свопинг

Абстракция памяти: адресное пространство, свопинг

Предмет: Операционные системы и среды

Мечта программиста: иметь предоставленную только ему неограниченную по объему и скорости работы

Мечта программиста: иметь предоставленную только ему неограниченную по объему и скорости работы

Мечта программиста:
иметь предоставленную только
ему неограниченную по объему и скорости работы ДЕШЕВУЮ память, которая к тому же не теряет своего содержимого при отключении питания.

Концепция иерархии памяти, согласно которой компьютеры обладают: несколькими мегабайтами очень быстродействующей, дорогой и энергозависимой кэш-памяти, несколькими гигабайтами памяти (ОЗУ), средней как по скорости, так и…

Концепция иерархии памяти, согласно которой компьютеры обладают: несколькими мегабайтами очень быстродействующей, дорогой и энергозависимой кэш-памяти, несколькими гигабайтами памяти (ОЗУ), средней как по скорости, так и…

Концепция иерархии памяти, согласно которой компьютеры обладают:
несколькими мегабайтами очень быстродействующей, дорогой и энергозависимой кэш-памяти,
несколькими гигабайтами памяти (ОЗУ), средней как по скорости, так и по цене,
несколькими терабайтами памяти на довольно медленных, сравнительно дешевых дисковых накопителях,
сменными накопителями, CD(DVD)-диски и флеш-устройства USB.

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

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

Превратить эту иерархию в абстракцию, то есть в удобную модель, а затем управлять этой абстракцией — и есть задача операционной системы.
Часть операционной системы, которая управляет иерархией памяти (или ее частью), называется менеджером, или диспетчером, памяти.

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Ранние универсальные машины (до 1960 года),
ранние мини-компьютеры (до 1970 года) и
ранние персональные компьютеры (до 1980 года) не
использовали абстракции памяти. Каждая программа просто видела физическую память. Когда программа выполняла следующую команду
MOV REGISTER!.1000
компьютер просто перемещал содержимое физической ячейки памяти 1000 в REGISTER1.
Таким образом, модель памяти, предоставляемая программисту, была простой физической памятью, набором адресов от 0 до некоторого максимального
значения, где каждый адрес соответствовал ячейке, содержащей какое-нибудь количество бит, которое обычно равнялось восьми.

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Содержание в памяти сразу двух работающих программ не представлялось возможным.
Если первая программа, к примеру, записывала новое
значение в ячейку 2000, то она тем самым стирала то значение, которое сохранялось там второй программой. Работа становилась невозможной, и обе программы
практически сразу же давали сбой.

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Три простых способа организации памяти при наличии операционной системы и одного пользовательского процесса

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Запуск нескольких программ без абстракций памяти (Вариант 1)

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

Поскольку одновременно в памяти присутствует только
одна программа, конфликтов не возникает. Эта концепция называется заменой данных (свопинг)

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Запуск нескольких программ без абстракций памяти
(Вариант 2)

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

IBM 360.
Память делилась на блоки по 2 Кбайта, каждому из которых присваивался 4-битный защитный ключ, содержащийся в специальных регистрах за пределами центрального процессора. Машине с объемом памяти в 1 Мбайт нужно было иметь лишь 512 таких 4-битных регистров, и все хранилище ключей занимало в итоге 256 байт памяти.

Слово состояния программы — PSW (Program Status Word) также
содержало 4-битный ключ. Аппаратное обеспечение IBM 360 перехватывало любую попытку запущенного процесса получить доступ к памяти с ключом защиты, отличающимся от ключа PSW. Поскольку изменить ключи защиты могла только операционная система, пользовательские процессы были защищены от вмешательства в работу друг друга и в работу самой операционной системы.

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Запуск нескольких программ без абстракций памяти (Вариант 2)
Проблема абсолютного адреса физической памяти!

Память без использования абстракций

Память без использования абстракций

Память без использования абстракций

Запуск нескольких программ без абстракций памяти (Вариант 2)
Проблема абсолютного адреса физической памяти!

Решение:
технология статического перемещения.
Она работала следующим образом: когда программа
загружалась с адреса 16384, в процессе загрузки к каждому адресу в программе прибавлялось постоянное значение 16384.

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Предпосылки

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

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Понятие адресного пространства создает своеобразную абстрактную память, в которой существуют программы.

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

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Примеры:
В США и многих других странах местный телефонный номер состоит обычно из семизначного номера. Поэтому адресное пространство телефонных номеров простирается от 0000000 до 9999999, хотя некоторые номера, к примеру, те, что начинаются с 000, не используются.
С ростом количества сотовых телефонов, модемов и факсов это пространство стало слишком тесным, а в этом случае необходимо использовать больше цифр.
Адресное пространство портов ввода-вывода процессора Pentium простирается от 0 до 16 383.
Протокол IPv4 обращается к 32-разрядным номерам, поэтому его адресное пространство простирается от 0 до 232 - 1 (опять-таки с некоторым количеством зарезервированных номеров).

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Базовый и ограничительный регистры

Динамическое перераспределения памяти. При этом адресное пространство каждого процесса проецируется на различные части физической памяти.

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

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Базовый и ограничительный регистры

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

Абстракция памяти: адресные пространства

Абстракция памяти: адресные пространства

2. Абстракция памяти: адресные пространства

Базовый и ограничительный регистры

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

Абстракция памяти: свопинг Если у компьютера достаточный объем памяти для размещения всех процессов, то все рассмотренные до сих пор схемы будут в той или иной…

Абстракция памяти: свопинг Если у компьютера достаточный объем памяти для размещения всех процессов, то все рассмотренные до сих пор схемы будут в той или иной…

3. Абстракция памяти: свопинг

Если у компьютера достаточный объем памяти для размещения всех процессов, то все рассмотренные до сих пор схемы будут в той или иной степени работоспособны. Но на практике суммарный объем оперативной памяти, необходимый для размещения всех процессов, зачастую значительно превышает имеющийся объем ОЗУ.
На обычных Windows- или Linux-системах при запуске компьютера могут быть запущены около 40-60 или более процессов.
Постоянное содержание всех процессов в памяти требует огромных объемов и не может быть осуществлено при дефиците памяти.

Абстракция памяти: свопинг Для преодоления перегрузки памяти были выработаны два основных подхода

Абстракция памяти: свопинг Для преодоления перегрузки памяти были выработаны два основных подхода

3. Абстракция памяти: свопинг

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

3. Абстракция памяти: свопинг

3. Абстракция памяти: свопинг

3. Абстракция памяти: свопинг

Абстракция памяти: свопинг Если предполагается, что большинство процессов по мере выполнения будут разрастаться, то будет лучше распределять небольшой объем дополнительной памяти при каждой загрузке из…

Абстракция памяти: свопинг Если предполагается, что большинство процессов по мере выполнения будут разрастаться, то будет лучше распределять небольшой объем дополнительной памяти при каждой загрузке из…

3. Абстракция памяти: свопинг

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

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

3. Абстракция памяти: свопинг

3. Абстракция памяти: свопинг

3. Абстракция памяти: свопинг

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