Что такое абстрактная память

Абстрактные типы памяти

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

См. также

Смотреть что такое «Абстрактные типы памяти» в других словарях:

Абстрактные типы данных — Абстрактный тип данных (АТД) это тип данных, который предоставляет для работы с элементами этого типа определённый набор функций, а также возможность создавать элементы этого типа при помощи специальных функций. Вся внутренняя структура такого… … Википедия

Экспериментальные исследования памяти (memory experiments) — В одной из ранних работ У. Бернхем описал эксперим. методы измерения памяти в отношении вербального или визуального материала, к рые включали метод воспроизведения, введенный Германом Эббингаузом, и метод узнавания, используемый ранее Эрнстом… … Психологическая энциклопедия

Носители компьютерной информации — НЖМД объёмом 45 Мб 1980 х годов выпуска, и 2000 х годов выпуска Модуль оперативной памяти, вставленный в материнскую плату Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной машины, физическое… … Википедия

Память (компьютер) — НЖМД объёмом 45 Мб 1980 х годов выпуска, и 2000 х годов выпуска Модуль оперативной памяти, вставленный в материнскую плату Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной машины, физическое… … Википедия

Память (компьютерная) — НЖМД объёмом 45 Мб 1980 х годов выпуска, и 2000 х годов выпуска Модуль оперативной памяти, вставленный в материнскую плату Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной машины, физическое… … Википедия

Устройство хранения данных — НЖМД объёмом 45 Мб 1980 х годов выпуска, и 2000 х годов выпуска Модуль оперативной памяти, вставленный в материнскую плату Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной машины, физическое… … Википедия

Устройство хранения информации — НЖМД объёмом 45 Мб 1980 х годов выпуска, и 2000 х годов выпуска Модуль оперативной памяти, вставленный в материнскую плату Компьютерная память (устройство хранения информации, запоминающее устройство) часть вычислительной машины, физическое… … Википедия

Абстрактный тип данных — Для улучшения этой статьи по информационным технологиям желательно?: Найти и оформить в виде сносок ссылки на авторитетные источники, подтверждающие написанное. Проставив сноски, внести более точные у … Википедия

Haskell — Класс языка: функциональный, ленивый, модульный Тип исполнения: компилируемый, интерпретируемый Появился в: 1990 … Википедия

Limbo — Семантика: Конкурентное программирование Появился в: 1995 Автор(ы): Шон Дорвард, Фил Винтерботтом, Роб Пайк Типизация данных: строгая Испытал влияние: C … Википедия

Источник

Мозг программиста

Спасибо за статью habrahabr.ru/post/191210! Хорошую тему подняли.

Поделюсь и своим опытом. Ниже — идентичное содержание и первой, и заключительной лекции в программе подготовки стажеров.

В программировании, помимо ЭВМ, методик и софта с разных сторон, есть еще такой ключевой элемент, как программист.

Почему он самый главный? Потому что, как знают многие, большую часть решений можно создать без ЭВМ, без методик и без софта – карандашом на бумаге или вовсе в воображении. А без программиста создать программу нельзя. Потому что он, программист, как раз программу и создает.

О программисте, как о решающем факторе, и о его мозге, как об основном инструменте, мы сейчас поговорим.

Рациональное использование ресурсов

Станочник ознакамливается с конструкцией станка до начала работы. Автомобилист изучает устройство автомобиля, его механику и физику, хотя бы на базовом уровне. Швея изучает швейную машинку. Многие художники практически знакомы с поведением ворса на различных видов кистей в различных условиях, с разной силой нажима и углом прикосновения…

Для создания программ ЭВМ программист помимо прочего использует устройство /dev/brain, также известное в миру как головной мозг.

Помимо аналитической части, принципы работы которой до сих пор малоизвестны и сомнительны, основные функциональные части /dev/brain – это каналы восприятия и память. В том числе “оперативная память”, работу которой можно ассоциировать с мышлением.

Так получилось, что каналы восприятия соответствуют разделам памяти, и имеют некоторые связанные свойства. Используя тот или иной канал восприятия – задействуется соответствующий вид памяти.

Каналы восприятия

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

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

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

Зоны памяти

Кинестетическая память

Самая сильная. В детстве будущего физиолога Павлова укусила собака. Собака укусила и позабыла. А Павлов вырос и не позабыл…
Не знаю, как охарактеризовать объем. Скорость доступа – наивысшая, этот механизм очень близок к инстинктам и рефлексам.

Визуальная память

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

Простой тест, чтобы хорошо понять это. Вы можете вспомнить лица практически каждого человека, с которым когда-либо встречались в свой жизни. Представляете, какой это объем информации? Причем вспоминание займет 1-2 секунды.

Для решения задач программирования – вполне приемлемые, и даже отличные параметры.

Аудиальная память

А здесь у разных людей по разному. У кого-то она развита хорошо, а у кого-то не развита вовсе. Но всем полезна. Каким образом – покажу ниже.

Абстрактная память

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

Имеет самый маленький объем! Человек в состоянии одновременно удерживать в голове от 3 до 7 абстрактных фактов. Если его фамилия не Вассерман – в тот момент, когда он попытается учесть восьмой фактор в анализируемой системе – из области логической видимости пропадет один из ранее актуализированных.

И все это можно и нужно учитывать.

Юзкейсы

Покажем, каким образом каналы восприятия работают в различных случаях из работы программиста.

Тупить в монитор

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

Как избавиться от проблемы тупления в монитор?

Весьма просто. Достаточно поместить часы в область зрения, и каждые 20 минут обязательно покидать рабочее место на 10 минут. Хорошая идея – занять это время физическими занятиями или общением.

Не самые лучшие, хотя и популярные решения – покурить или посмотреть телевизор. Вредно для здоровья, но тоже помогает.

Нарисовать картинку

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

Есть академические приемы использования этой методики. Во-первых, это прекрасный UML. Во-вторых, это методы XP (экстремального программирования) и SCRUM. Эффективность этих методов неоспорима.

Вообще визуальные методы – самые эффективные для обучения. Помните девочек-отличниц из средней школы? (Осторожно, сейчас будет разновидность юмора — сарказм) Большинство из них – дуры… Но ничто не мешает им систематически получать пятерки. Если вы заглядывали в их тетради – информация всегда хорошо структурирована, и представлена ЦВЕТНОЙ графикой. Поэтому они отлично запоминают материал, и легко используют его даже для абстрактных выводов.

Умные не зубрят. Они конспектируют и рисуют.

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

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

Обсудить с коллегами

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

Что происходит при этом?

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

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

Яркие примеры многие из читателей сотни раз встречали в курилках и на планерках у талантливых руководителей.

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

Их, идей, много. Они гениальны и цена их низка – обычно за получасовую беседу рождается от 5 до 10 великолепных решений.

Из ТРИЗ. Японские инженеры на внутренних семинарах (планерках, мозговых штурмах – не суть) используют интересный метод. Вначале все участники высказывают как можно более глупые, дикие и сумасбродные идеи. В результате происходит, простите за терминологию, критичное расширение незавершенного гештальта, которое приводит к мгновенному расширению менталитета и получению новых ракурсов восприятия. Таким образом они рождают действительно гениальные, эффективные решения.

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

Источник

Презентация была опубликована 6 лет назад пользователемПетр Тунин

Похожие презентации

Презентация на тему: » Вопросы: 1.Память без использования абстракций 2.Абстракция памяти: адресные пространства 3.Абстракция памяти: свопинг 4.Абстракция памяти: управление.» — Транскрипт:

2 Вопросы: 1. Память без использования абстракций 2. Абстракция памяти: адресные пространства 3. Абстракция памяти: свопинг 4. Абстракция памяти: управление свободной памятью 5. Виртуальная память 6.Подкачка. Алгоритмы замещения страниц

3 Размер компьютерных программ растет быстрее, чем объем памяти!

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

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

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

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

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

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

10 1. Память без использования абстракций Запуск нескольких программ без абстракций памяти (Вариант 1) Для одновременного запуска нескольких программ операционная система должна: 1. сохранить все текущее содержимое памяти в файле на диске, а затем 2. загрузить и запустить следующую программу. Поскольку одновременно в памяти присутствует только одна программа, конфликтов не возникает. Эта концепция называется заменой данных (свопинг)

11 1. Память без использования абстракций Запуск нескольких программ без абстракций памяти (Вариант 2) Наличие специального дополнительного оборудования позволяет осуществлять параллельный запуск нескольких программ без использования свопинга. IBM 360. Память делилась на блоки по 2 Кбайта, каждому из которых присваивался 4-битный защитный ключ, содержащийся в специальных регистрах за пределами центрального процессора. Машине с объемом памяти в 1 Мбайт нужно было иметь лишь 512 таких 4-битных регистров, и все хранилище ключей занимало в итоге 256 байт памяти. Слово состояния программы PSW (Program Status Word) также содержало 4-битный ключ. Аппаратное обеспечение IBM 360 перехватывало любую попытку запущенного процесса получить доступ к памяти с ключом защиты, отличающимся от ключа PSW. Поскольку изменить ключи защиты могла только операционная система, пользовательские процессы были защищены от вмешательства в работу друг друга и в работу самой операционной системы.

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

13 1. Память без использования абстракций Запуск нескольких программ без абстракций памяти (Вариант 2) Проблема абсолютного адреса физической памяти! Решение: технология статического перемещения. Она работала следующим образом: когда программа загружалась с адреса 16384, в процессе загрузки к каждому адресу в программе прибавлялось постоянное значение

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

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

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

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

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

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

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

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

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

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

25 4. Абстракция памяти: управление свободной памятью Битовая матрица

26 4. Абстракция памяти: управление свободной памятью Битовая матрица Битовая матрица предоставляет довольно простой способ отслеживания слов памяти в фиксированном объеме памяти, поскольку ее размер зависит только от размера памяти и размера единичного блока памяти.

27 4. Абстракция памяти: управление свободной памятью Битовая матрица (Недостатки) При решении поместить в память процесс, занимающий k единичных блоков, диспетчер памяти должен искать в битовой матрице непрерывную последовательность нулевых битов. Поиск в битовой матрице последовательности заданной длины довольно медленная операция (поскольку последовательность может пересекать границы слов в матрице), и это обстоятельство служит аргументом против применения битовых матриц.

28 4. Абстракция памяти: управление свободной памятью Связанный список

29 4. Абстракция памяти: управление свободной памятью Связанный список Когда процессы и пустые пространства содержатся в списке отсортированными по адресам, то для выделения памяти новому создаваемому процессу (или существующему процессу, загружаемому в результате свопинга с диска) могут быть использованы несколько алгоритмов.

30 4. Абстракция памяти: управление свободной памятью Связанный список (Алгоритмы) Диспетчер памяти знает, сколько памяти нужно выделить. Простейший алгоритм называется первое подходящее. Диспетчер памяти сканирует список сегментов до тех пор, пока не найдет пустое пространство подходящего размера. Затем пустое пространство разбивается на две части: одна для процесса и одна для неиспользуемой памяти, за исключением того статистически маловероятного случая, когда процесс в точности помещается в пустое пространство. «Первое подходящее» это быстрый алгоритм, поскольку поиск ведется с наименьшими затратами времени.

31 4. Абстракция памяти: управление свободной памятью Связанный список (Алгоритмы) Диспетчер памяти знает, сколько памяти нужно выделить. Алгоритм следующее подходящее работает так же, как и «первое подходящее», за исключением того, что отслеживает свое местоположение, как только находит подходящее пустое пространство. При следующем вызове для поиска пустого пространства он начинает поиск в списке с того места, на котором остановился в прошлый раз, а не приступает к поиску с самого начала, как при работе алгоритма «первое подходящее». Его производительность несколько хуже, чем алгоритма «первое подходящее».

32 4. Абстракция памяти: управление свободной памятью Связанный список (Алгоритмы) Диспетчер памяти знает, сколько памяти нужно выделить. Алгоритм наиболее подходящее. При нем поиск ведется по всему списку от начала до конца и выбирается наименьшее соответствующее пустое пространство. Вместо того чтобы разбивать большое пустое пространство, которое может пригодиться чуть позже, алгоритм «наиболее подходящее» пытается подыскать пустое пространство, близкое по размеру к необходимому, чтобы наилучшим образом соответствовать запросу и имеющимся пустым пространствам. Алгоритм «наиболее подходящее» работает медленнее, чем «первое подходящее», поскольку он должен при каждом вызове вести поиск по всему списку. Как ни странно, но его применение приводит к более расточительному использованию памяти, чем при использовании алгоритмов «первое подходящее» и «следующее подходящее», поскольку он стремится заполнить память, оставляя небольшие бесполезные пустые пространства.

33 4. Абстракция памяти: управление свободной памятью Связанный список (Алгоритмы) Диспетчер памяти знает, сколько памяти нужно выделить. Алгоритм наименее подходящее. попытка обойти проблему разбиения практически точно подходящих пространств памяти на память, отводимую под процесс, и на небольшие пустые пространства, то есть к неизменному выбору самого большого подходящего пустого пространства, чтобы вновь образующееся пустое пространство было достаточно большим для дальнейшего использования. Моделирование показало, что применение алгоритма «наименее подходящее» также далеко не самая лучшая идея.

34 5. Виртуальная память Решения проблемы программ, превышающих по объему размер имеющейся памяти. 1. разбивать программы на небольшие части, называемые оверлеями. При запуске программы в память загружался только администратор оверлейной загрузки, который тут же загружал и запускал оверлей с порядковым номером 0. Когда этот оверлей завершал свою работу, он мог сообщить администратору загрузки оверлеев о необходимости загрузки оверлея 1, либо выше оверлея 0, находящегося в памяти (если для него было достаточно пространства), либо поверх оверлея 0 (если памяти не хватало). Некоторые оверлейные системы имели довольно сложное устройство, позволяя одновременно находиться в памяти множеству оверлеев. Оверлеи хранились на диске, и их свопинг с диска в память и обратно осуществлялся администратором загрузки оверлеев. Разбиение больших программ на небольшие модульные части было очень трудоемкой, скучной и не застрахованной от ошибок работой.

35 5. Виртуальная память Решения проблемы программ, превышающих по объему размер имеющейся памяти. 2. Способ, позволяющий возложить всю работу по разбиению программы на части на компьютер, (Fotheringham, 1961), стал известен как виртуальная память.

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

37 5. Виртуальная память

38 6. Подкачка. Алгоритмы замещения страниц Подкачка страниц (англ. Paging; иногда используется термин swapping от swap, /sw ɔ p/) один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ на жёсткий диск (или другой внешний накопитель, такой как Флеш- память), освобождая ОЗУ для загрузки других активных фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти. Временно выгруженные из памяти страницы могут сохраняться на внешних запоминающих устройствах как в файле, так и в специальном разделе на жёстком диске (partition), называемые соответственно swap- файл и swap-раздел. В случае откачки страниц, соответствующих содержимому какого-либо файла (например, memory-mapped files), они могут удаляться. При запросе такой страницы она может быть считана из оригинального файла. Когда приложение обратится к откачанной странице, произойдет исключительная ситуация PageFault. Обработчик этого события должен проверить, была ли ранее откачана запрошенная страница, и, если она есть в swap-файле, загрузить ее обратно в память.

39 6. Подкачка. Алгоритмы замещения страниц Изначально под свопингом понималась выгрузка процесса из оперативной памяти целиком, в результате чего неактивные процессы могли полностью отсутствовать в ОЗУ. При наступлении условий активизации процесса диспетчер памяти загружал образ процесса обратно. Смысл термина изменился в 60-х годах, когда в операционных системах появилась поддержка виртуальной памяти: под свопингом стали понимать загрузку и выгрузку отдельных страниц.

40 6. Подкачка. Алгоритмы замещения страниц При выделении места для новой страницы бывает необходимо удалить какую-либо страницу, в данный момент находящуюся в памяти. Правила замещения страниц служат для принятия решения о том, какую именно страницу следует удалить из памяти. Идеальным кандидатом является «мёртвая» страница, которая больше не потребуется кому-либо (например, относится к завершённому процессу). Если же таких страниц нет в памяти (или их количества недостаточно), используется правило локального или глобального замещения страниц.

41 6. Подкачка. Алгоритмы замещения страниц Правило локального замещения выделяет каждому процессу или группе взаимосвязанных процессов определённое количество страниц. Если процессу нужна новая страница, он должен заменить одну из собственных.

42 6. Подкачка. Алгоритмы замещения страниц Правило глобального замещения страниц позволяет брать страницы любого процесса, используя глобальные критерии выбора. Для реализации данного подхода необходимо выбрать критерий, по которому будет приниматься решение о страницах, хранимых в памяти.

44 6. Подкачка. Алгоритмы замещения страниц Оптимальный алгоритм замещения страниц гласит, что должна быть удалена страница, имеющая пометку с наибольшим значением количества команд до вызова страницы. Если какая-то страница не будет использоваться на протяжении 8 миллионов команд, а другая какая-нибудь страница не будет использоваться на протяжении 6 миллионов команд, то удаление первой из них приведет к ошибке отсутствия страницы, в результате которой она будет снова выбрана с диска в самом отдаленном будущем.

45 6. Подкачка. Алгоритмы замещения страниц Алгоритм «второй шанс» Алгоритм «часы» Алгоритм замещения наименее востребованной страницы Алгоритм нечастого востребования NFU (Not Frequently Used). Алгоритм «Рабочий набор» Алгоритм WSCIock

46 6. Подкачка. Алгоритмы замещения страниц

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *