Содержание

Свопинг что это такое

Привет, Друзья! Термином свопинг называют наихудший способ черной SEO-оптимизации. Использование данного метода состоит в полном замещении контента веб-страницы, которая уже была проиндексирована поисковыми роботами. Иными словами, это прямое жульничество, ведь во время перехода из результатов поисковой выдачи происходит подмена контента, в результате чего пользователь попадает на страницу, содержимое которой разительно отличается от того, за которым он пришел на сайт. Например, человек хотел посмотреть рецепт пасты, а попал на страницу магазина продовольственных товаров. Конечно, это вызывает справедливое недовольство со стороны юзеров.

Кто и зачем применяет свопинг

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

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

Пример: На протяжении долгого времени SEO-оптимизатор работал над SEO-продвижением сайта, и ему удалось поднять его в ТОП 10 поисковой выдачи по запросу «как стать успешным SEO-специалистом». Первые позиции выдачи характеризуются хорошим трафиком и рейтингом сайта. Но к сожалению, передача своего опыта не была подлинной целью оптимизатора. Он поднял рейтинг ресурса только для того, чтобы выйти в ТОП поисковой системы. Что происходит дальше? Полезный контент удаляется, а страница превращается в линкопомойку: текст и изображения не несут никакой важной пользователю информации, однако пестрят различными и ненужными ему ссылками. Зато черный оптимизатор получает финансовое вознаграждение за размещение таких ссылок.

К чему свопинг приводит

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

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

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

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

Борьба со свопингом

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

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

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

Обучение продвижению сайтов

Более подробно о том, как выводить сайты в ТОП 10 поисковых систем Яндекс и Google, я рассказываю на своих онлайн-уроках по SEO-оптимизации (смотри видео ниже). Все свои интернет-проекты я вывел на посещаемость более 1000 человек в сутки и могу научить этому Вас. Кому интересно обращайтесь!

На этом сегодня всё, всем удачи и до новых встреч!

hozyindachi.ru

Свопинг

Разновидностью
виртуальной памяти является свопинг.

На рис. 4.19
показан график зависимости коэффициента
загрузки процессора в зависимости от
числа одновременно выполняемых процессов
и доли времени, проводимого этими
процессами в состоянии ожидания
ввода-вывода.

Рис.
4.19. Зависимость загрузки процессора

от числа задач и интенсивности
ввода-вывода

Из
рисунка видно, что для загрузки процессора
на 90 % достаточно всего трех счетных
задач. Однако для того, чтобы обеспечить
такую же загрузку интерактивными
задачами, выполняющими интенсивный
ввод-вывод, потребуются десятки таких
задач. Необходимым условием для выполнения
задачи является загрузка её в оперативную
память, объем которой ограничен. В этих
условиях был предложен метод организации
вычислительного процесса, называемый
свопингом. В соответствии с этим
методом некоторые процессы (обычно
находящиеся в состоянии ожидания)
временно выгружаются на диск. Планировщик
операционной системы не исключает их
из своего рассмотрения, и при наступлении
условий активизации некоторого процесса,
находящегося в области свопинга на
диске, этот процесс перемещается в
оперативную память. Если свободного
места в оперативной памяти не хватает,
то выгружается другой процесс.

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

4.4.4. Методы повышения пропускной способности оперативной памяти

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

Выборка широким словом

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

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

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

Примером организации
широкой ОП является система Alpha AXP21064, в
которой кэш второго уровня, шина памяти
и сама ОП имеют разрядность 256 бит.

studfiles.net

Свопинг (swapping)

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

Основное применение – системы разделения
времени со стратегией RRпланирования процессов вCPU.
Процесс, которому выделенCPU,
временно перемещается в основную память,
в случае прерывания работы процесса он
возвращается во внешнюю память.

Свопинг иногда используется при
приоритетном планировании CPU.
В этом случае только низкоприоритетные
процессы перемещаются во внешнюю память.

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

    1. Управление виртуальной памятью

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

    1. Управление внешней памятью. Файлы.

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

Любой файл имеет имя, которое записывается
в соответствии со стандартом POSIX:
до 255 символов имени + 3 символа расширения.

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

Обычные файлыможно подразделить
по их содержимому на текстовые и бинарные.
Текстовые файлы содержат символы кодаASCII, простейшие управляющие
символы (CR– возврат
каретки,LF– перевод
строки,TAB– табуляция,NP– новая страница).

Бинарные файлы– файлы с
произвольной последовательностью бит,
которые имеют некоторую внутреннюю
структуру, например, архивные файлы.

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

Цикл обработки файла:

  • Открытие файла – занятие устройства
    (точнее, его контроллера), на котором
    файл размещен, создание в ОЗУ управляющего
    блока, в котором записывается справка
    о состоянии файла и буфера для хранения
    текущей обрабатываемой записи файла;

  • Организация цикла, управляемого файлом
    (заканчивается по исчерпании записей
    файла – наступление состояния EOF–end-of-file),
    после чего выполняется освобождение
    устройства. Цикл должен содержать
    команду типаREAD(заголовок
    цикла),GET(ввод записи),PUT,WRITE(вывод записи),REWRITE(обновить запись).

  • Закрытие файла – выполнение операций
    по внесению всех изменений в файл,
    освобождение памяти, отведенной под
    файл и устройства, на котором он
    размещался.

Таким образом, цикл обработки файла
выглядит так: считывание (ввод) порции
(блок) данных с ВЗУ через его контроллер
→ помещение его во входной буфер в ОЗУ
→ извлечение данных из буфера, их
обработка и помещение обратно или в
другой (выходной) буфер → вывод (запись)
результатов на выходной накопитель в
виде одного или нескольких блоков.

Основная задача ОС по управлению
внешней памятью – осуществлять связь
между адресом данных на накопителе и
именем (файла)!

Магнитная поверхность накопителей
разбивается на дорожки (нумеруются с
0-го), каждая из которых – на секторы
(начиная с 1-го). Пакет магнитных дисков,
каждый из которых имеет по 2 стороны,
называется цилиндром (нумеруется с 0).
Таким образом, мельчайшей единицей
хранения информации на магнитном ВЗУ
является сектор (512 байт).

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

Файловая система создается при
инициализации (разметке) тома с помощью
операции форматирования, затем
корректируется ОС при работе с файлами.

Кластер– минимальный размер
места на диске, которое может быть
выделено файловой системой для хранения
одного файла. Размер кластера определяется
автоматически при форматировании тома
в зависимости от размера последнего!
Кластер может иметь размер от 512 байт
до 64 Кбайт, соответственно содержать
от 1 до 128 секторов.

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

Файловая система включает таблицу
содержания и область данных. Таблица
содержания может иметь разные имена –
VTOC,FAT,MFT,FDT. Эта таблица состоит
из 3 областей:

  • Область файлов – таблица с их именами
    и блоками, занимаемыми файлами.

  • Список свободных блоков

  • Список сбойных блоков

Кроме того, поддерживается иерархия
ФС: каталоги обеспечивают связь между
именами файлов и собственно файлами.
Каждый элемент каталога содержит имя
файла и ссылку на конкретный файл. В
корневом каталоге может быть не более
512 файлов.

studfiles.net

это… Свопинг и виртуальная память — RUUD

Содержание статьи:

С повсеместным распространением компьютеров в русский язык проникло много иностранных словечек, о которых обычный человек знать ничего не знает. Их ранее употребляли только специалисты в той или иной сфере. А массовое использование слов такого плана началось относительно недавно. Одно из них — «свопинг». Это одно из немногочисленных слов, которое может означать кардинально разные операции. Причем принадлежит оно сразу двум сферам деятельности. Поэтому многие люди путают его значение. Стоит сразу отметить, что это слово нужно определять по контексту. Только тогда будет понятно, к какой именно сфере оно относится в данный момент. А теперь рассмотрим основные понятия, связанные с этим словом.

Вам будет интересно:MiniDLNA — настройка сервера, советы по установке, концигурации

Что такое свопинг?

Данное слово произошло от английского swapping. Перевод (дословный) выглядит как «обменивать». Это слово в английском языке присутствует уже давно. И там оно является обычным глаголом. И только в русском языке у него совсем другой смысл. Есть несколько вариантов толкования данного слова, и все они относятся к различным сферам деятельности:

  • Свопинг в мире акций. Таким термином брокеры на биржах обозначали быстрый обмен акциями. В настоящее время свопинг тоже присутствует на крупных биржах. На «Форексе» тоже есть такое понятие, но там оно обозначает быструю продажу всех акций.
  • Свопинг в компьютерном мире. В мире ПК и ноутбуков этим термином обзывают процесс освобождения части оперативной памяти и перенесение данных в заранее созданный файл подкачки на жестком диске. Весьма полезная опция для тех, у кого мало оперативной памяти.

Вам будет интересно:Делаем запись с экрана в Windows 10: советы по захвату происходящего на мониторе

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

Работа ОС с файлом подкачки

Стоит сразу отметить, что при катастрофическом недостатке RAM свопинг и виртуальная память здорово выручают операционную систему компьютера. Вообще, специалисты рекомендуют использовать файл подкачки тем, у кого имеется всего 4 гигабайта физической оперативной памяти на борту. Обязательно его использование и в том случае, если памяти меньше. А вот если больше, то файл подкачки и не нужен вовсе. Каков же принцип работы «оперативки» с файлом подкачки? Рассмотрим его подробнее.

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

Настройка файла подкачки в «Виндовс»

Свопинг — это весьма полезная штука. Но он будет работать только в том случае, если на жестком диске компьютера был заранее создан файл подкачки. Если на компьютере его до сих пор нет, то стоит его создать. Даже если физической оперативной памяти хватает. Даже самый большой объем RAM можно быстро заполнить. Так что файл подкачки точно не помешает. Инструкция по созданию этого самого файла такова:

  • На рабочем столе кликаем правой кнопкой мыши по значку «Мой компьютер» (стоит заметить, что в «Виндовс 10» он называется по-другому).
  • В меню щелкаем пункт «Свойства».
  • Выбираем надпись «Дополнительные параметры системы» и кликаем по ней.
  • В блоке «Быстродействие» жмем кнопку «Параметры».
  • Переходим на вкладку «Дополнительно».
  • В блоке «Виртуальная память»нажимаем кнопку «Изменить».
  • Теперь в первом окне выбираем раздел, на который нужно поместить файл подкачки.
  • Чуть ниже указываем желательный размер. Он должен быть не меньше установленного объема физической оперативной памяти. А еще лучше, если это объем существующей RAM, помноженный на два.
  • Жмем кнопку «Задать».
  • Нажимаем «ОК».
  • Закрываем окно.
  • Перезагружаем компьютер.
  • Теперь на вашем компьютере будет работать свопинг. Это очень хорошо, так как ПК или ноутбук перестанет зависать и перезагружаться в том случае, если ему не будет хватать физической оперативной памяти. Однако не все так радужно при использовании файла подкачки. Этот метод имеет определенные недостатки. И о них пойдет речь в следующей главе.

    Недостатки

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

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

    Вердикт

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

    Заключение

    Свопинг — это весьма полезная опция, которая позволяет предотвратить тормоза и зависания компьютера или ноутбука при нехватке физической оперативной памяти. Данный способ рекомендуется использовать даже тем, у кого объем физической RAM довольно приличный. Но перед тем как использовать данную опцию, необходимо создать файл подкачки и поместить его на жесткий диск. Только тогда функция сможет нормально работать. Инструкция по созданию файла подкачки написана выше. Нужно только все делать именно так, как сказано в инструкции. Тогда проблем никаких не будет.

    Источник

    ruud.ru

    Свопинг Википедия

    Подкачка страниц (англ. paging; иногда используется термин swapping от swap, /swɔp/) — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ во вторичное хранилище (жёсткий диск или другой внешний накопитель, такой как флеш-память), освобождая ОЗУ для загрузки других активных фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти.

    Временно выгруженные из памяти страницы могут сохраняться на внешних запоминающих устройствах как в файле, так и в специальном разделе на жёстком диске (partition), называемые соответственно swap-файл и swap-раздел. В случае откачки страниц, соответствующих содержимому какого-либо файла (например, memory-mapped files), они могут удаляться. При запросе такой страницы она может быть считана из оригинального файла.

    Когда приложение обратится к откачанной странице, произойдет исключительная ситуация PageFault. Обработчик этого события должен проверить, была ли ранее откачана запрошенная страница, и, если она есть в swap-файле, загрузить её обратно в память.

    История[ | ]

    Изначально под свопингом понималась выгрузка процесса из оперативной памяти целиком, в результате чего неактивные процессы могли полностью отсутствовать в ОЗУ. При наступлении условий активизации процесса диспетчер памяти загружал образ процесса обратно.

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

    Отказы страниц[ | ]

    Основные функции механизма подкачки выполняются при попытке программы получить доступ к страницам, в данный момент не отображенным в физическую память (ОЗУ). Эта ситуация называется отказом страницы. В этот момент операционная система должна получить управление и обработать отказ страницы в прозрачной для программы форме. Таким образом, операционной системе необходимо:

    1. Определить расположение требуемой страницы во вторичном хранилище.
    2. Получить пустой страничный кадр в физической памяти для использования в качестве контейнера для данных.
    3. Загрузить запрошенные данные в полученный страничный кадр.
    4. Обновить таблицу страниц, чтобы она указывала на новый страничный кадр.
    5. В прозрачной форме вернуть управление программе, повторно выполнив вызвавшую ошибку страницы инструкцию.

    Если при получении пустого страничного кадра не хватает свободной оперативной памяти, выполняется алгоритм замены страниц, осуществляющий выбор одного из использующихся страничных кадров для выгрузки. Если выгружаемый страничный кадр был выделен динамически во время выполнения программы, либо если он является частью сегмента данных программы и изменялся с момента чтения в память (другими словами, если он стал «грязный»), перед освобождением он должен быть сохранён во вторичном хранилище. В противном случае, содержимое страничного кадра в оперативной памяти не отличается от содержимого страницы во вторичном хранилище, поэтому его выгрузка не требуется. Если позже в процессе работы произойдёт обращение к выгруженной странице, возникнет другой отказ страницы и нужно будет снова выделить страничный кадр, чтобы содержимое страницы во вторичном хранилище можно было повторно загрузить в ОЗУ.

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

    ru-wiki.ru

    Свопинг

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

    Рис.
    8.7 Зависимость загрузки процессора от
    числа задач и интенсивности ввода-вывода

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

    Выводы

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

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

    Стековая организация
    памяти применяется при вызове подпрограмм,
    временном хранении данных.

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

    Вопросы и задания

    1. Оцените,
      какой процент адресного пространства
      вашего компьютера реально заполнен
      под память.

    2. Какие
      методы адресации вы знаете?

    3. Что
      такое виртуальная память?

    4. Что
      такое свопинг?

    5. В каких режимах
      может работать IA-32?

    6. Как формируется
      физический адрес при сегментной
      адресации?

    7. Как
      формируется физический адрес при
      страничной адресации?

    Лекция 9. Методы адресации

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

    Прямая
    или абсолютная адресация
    .Физический адрес операнда содержится
    в адресной части команды. Формальное
    обозначение:

    Операндi
    = (Аi),

    где
    Аi– код, содержащийся вi-мадресном поле команды.

    Рис.
    9.1  Прямая адресация

    Пример:
    mov
    al,[2000]
    – передать операнд, который содержится
    по адресу 2000h
    в регистр AL.

    Add
    R1,[1000]
    – сложить содержимое регистра R1
    с содержимым ячейки памяти по адресу
    1000h
    и результат переслать в R1.

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

    Непосредственная
    адресация
    . В команде содержится
    не адрес операнда, а непосредственно
    сам операнд.

    Операндi=
    Аi.

    Рис.
    9.2  Непосредственная
    адресация

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

    Пример:
    mov eax,0f0f0f0f0– загрузить константу 0f0f0f0f0hв регистрeax.

    Косвенная
    (базовая) адресация
    .
    Адресная часть команды указывает
    адрес ячейки памяти (рис.
    7.3,а
    ) или номер регистра
    (рис.
    7.3,б
    ), в которых содержится
    адрес операнда:

    Операндi
    = ((Аi)).

    Рис.
    9.3   Косвенная адресация

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

    Пример: mov al,[ecx]– передать в регистрALоперанд (содержимое) ячейки памяти,
    адрес которой находится в регистреECX.

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

    В этом случае речь идет о базовой
    адресации со смещением
    .

    Пример: mov eax,[eci+4]– передать вEAXоперанд,
    который содержится по адресуECIсо смещением плюс 4.

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

    Регистровая
    адресация
    . Предполагается,
    что операнд находится во внутреннем
    регистре процессора.

    Например: mov eax,cr0– передать вEAXсодержимоеCR0 или

    mov ecx,ecx– сбросить регистрECX.

    Индексная
    адресация
    (со смещением) –
    содержимое РОН используется в качестве
    компоненты эффективного адреса (как
    правило, работа с массивами).

    Пример: sub array
    [
    esi],2– вычесть
    2 из элемента массива, на который указывает
    регистрESI.

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

    Операндi
    = (базаi
    + смещениеi).

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

    Рассмотрим
    два примера.

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

    Рис. 9.4
      Относительная
    адресация

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

    Рис.
    9.5  Базово-индексная
    адресация

    Главный недостаток относительной
    адресации
    – большое время вычисления
    физического адреса операнда. Но
    существенное преимущество этогоспособа
    адресации
    заключается в возможности
    создания «перемещаемых» программ
    – программ, которые можно размещать в
    различных частях памяти без изменения
    команд программы. То же относится к
    программам, обрабатывающим по единому
    алгоритму информацию, расположенную в
    различных областях ЗУ. В этих случаях
    достаточно изменить содержимое базового
    адреса начала команд программы или
    массива данных, а не модифицировать
    сами команды. По этой причинеотносительная
    адресация
    облегчает распределение
    памяти при составлении сложных программ
    и широко используется при автоматическом
    распределении памяти в мультипрограммных
    вычислительных системах.

    studfiles.net

    Свопинг Википедия

    Подкачка страниц (англ. paging; иногда используется термин swapping от swap, /swɔp/) — один из механизмов виртуальной памяти, при котором отдельные фрагменты памяти (обычно неактивные) перемещаются из ОЗУ во вторичное хранилище (жёсткий диск или другой внешний накопитель, такой как флеш-память), освобождая ОЗУ для загрузки других активных фрагментов памяти. Такими фрагментами в современных ЭВМ являются страницы памяти.

    Временно выгруженные из памяти страницы могут сохраняться на внешних запоминающих устройствах как в файле, так и в специальном разделе на жёстком диске (partition), называемые соответственно swap-файл и swap-раздел. В случае откачки страниц, соответствующих содержимому какого-либо файла (например, memory-mapped files), они могут удаляться. При запросе такой страницы она может быть считана из оригинального файла.

    Когда приложение обратится к откачанной странице, произойдет исключительная ситуация PageFault. Обработчик этого события должен проверить, была ли ранее откачана запрошенная страница, и, если она есть в swap-файле, загрузить её обратно в память.

    История

    Изначально под свопингом понималась выгрузка процесса из оперативной памяти целиком, в результате чего неактивные процессы могли полностью отсутствовать в ОЗУ. При наступлении условий активизации процесса диспетчер памяти загружал образ процесса обратно.

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

    Отказы страниц

    Основные функции механизма подкачки выполняются при попытке программы получить доступ к страницам, в данный момент не отображенным в физическую память (ОЗУ). Эта ситуация называется отказом страницы. В этот момент операционная система должна получить управление и обработать отказ страницы в прозрачной для программы форме. Таким образом, операционной системе необходимо:

    1. Определить расположение требуемой страницы во вторичном хранилище.
    2. Получить пустой страничный кадр в физической памяти для использования в качестве контейнера для данных.
    3. Загрузить запрошенные данные в полученный страничный кадр.
    4. Обновить таблицу страниц, чтобы она указывала на новый страничный кадр.
    5. В прозрачной форме вернуть управление программе, повторно выполнив вызвавшую ошибку страницы инструкцию.

    Если при получении пустого страничного кадра не хватает свободной оперативной памяти, выполняется алгоритм замены страниц, осуществляющий выбор одного из использующихся страничных кадров для выгрузки. Если выгружаемый страничный кадр был выделен динамически во время выполнения программы, либо если он является частью сегмента данных программы и изменялся с момента чтения в память (другими словами, если он стал «грязный»), перед освобождением он должен быть сохранён во вторичном хранилище. В противном случае, содержимое страничного кадра в оперативной памяти не отличается от содержимого страницы во вторичном хранилище, поэтому его выгрузка не требуется. Если позже в процессе работы произойдёт обращение к выгруженной странице, возникнет другой отказ страницы и нужно будет снова выделить страничный кадр, чтобы содержимое страницы во вторичном хранилище можно было повторно загрузить в ОЗУ.

    Для обеспечения эффективной работы система подкачки должна выбирать для выгрузки те страничные кадры, обращение к которым в ближайшее время наименее вероятно. Существуют различные алгоритмы замещения страниц. В операционных системах используются алгоритмы LRU (англ. Last recently used), FIFO (англ. First In First Out) либо алгоритмы с учётом рабочего множества процесса[1].

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

    Алгоритмы определения устаревших страниц

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

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

    Наиболее часто используемые критерии поиска:

    • Least recently used. Удаляются те страницы, доступ к которым производился наиболее давно. Считается, что в последующем к таким страницам будет происходить минимум обращений.
    • Last recently used. Удаляются недавно освободившиеся страницы. Подразумеваются страницы только что завершившихся процессов.

    Пробуксовка

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

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

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

    Для исключения пробуксовки пользователь может предпринять следующие действия:

    • Увеличить объём оперативной памяти компьютера.
    • Сократить число одновременно выполняющихся программ.
    • Изменить приоритеты процессов так, чтобы часть из них завершилась быстрее и освободила часть ресурсов.

    Недостатки и возможность их преодоления

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

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

    В 32-разрядной Windows XP, Vista, 7 для своп-файла можно использовать оперативную память за пределами 3-го гигабайта, используя сторонние программы по созданию электронных дисков, хранящихся в памяти.

    В Linux поддерживается сходный механизм, zswap, размещающий своп в памяти в сжатом виде.

    Файлы и разделы подкачки

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

    Фрагментация файла подкачки

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

    Рекомендации по размещению файла подкачки

    • Одним из способов выделения места для swap‐файла (раздела), рекомендуемым в течение многих лет[источник не указан 2348 дней], является кратное выделение памяти, когда объём этого файла равен объёму оперативной памяти, умноженному на константу от 0,5 до 2 или 3.
    • Если на компьютере имеется более одного жёсткого диска, то для более быстрого обращения к файлу подкачки его желательно разместить на наименее нагруженном запросами чтения/записи физическом диске. Хорошим выбором будет физический файл подкачки на диске, который имеет наибольшую скорость чтения/записи.
    • В Windows скорость чтения из небольших разделов больше у FAT32 по сравнению с NTFS, однако, благодаря более высокой устойчивости NTFS к сбоям и значительным объёмам современных жестких дисков, разделы с FAT32 ныне редко используются.
    • При наличии на компьютере значительного объёма ОЗУ (16-32 гигабайт) и использовании большинства популярных ОС семейств GNU/Linux можно полностью отключить подкачку.

    Безопасность при работе со swap-файлом

    Из файла (раздела) подкачки зачастую можно извлечь конфиденциальную информацию, используемую при работе вычислительной системы. Поэтому при работе с секретными данными обычно производится очистка swap — например, с помощью утилиты sswap из комплекта secure remove.

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

    В Linux можно зашифровать swap-файл или раздел (например в дистрибутиве Ubuntu это делается автоматически при выборе опции шифрования домашнего каталога пользователя в процессе установки ОС). Такое решение несколько повышает нагрузку на процессор, но гарантирует сохранность конфиденциальной информации даже при внезапном отключении питания.

    Использование файла подкачки может приводить к заражению некоторых ОС компьютерными вирусами, так как существует уязвимость[источник не указан 2869 дней], позволяющая вытеснить выполняемые программы в виртуальную память и изменить выполняемый код с помощью прямого доступа к жёсткому диску.

    Unix

    В ОС Unix, и подобных ей, swap обычно помещается на отдельный раздел жёсткого диска, что ранее ускоряло доступ к данным, по сравнению с расположением swap на обычном разделе. В ядрах Linux 2.6 и новее работа swap-файла не уступает по производительности swap-разделу[2][3].

    Пример создания swap-файла для GNU/Linux:

    # dd if=/dev/zero of=/swap bs=1024 count=128K
    # mkswap /swap
    # sync
    # swapon /swap
    

    Oracle Solaris может использовать тома ZFS в качестве разделов подкачки:

    # zfs create -V 2G pool/swap
    # swap -a /dev/zvol/dsk/pool/swap
    

    Кроме использования при работе системы, некоторые дистрибутивы GNU/Linux используют SWAP раздел для организации режима сна («спящий режим», hibernation или «suspend to disk» — режим S4 ACPI). Для поддержки этого режима размер SWAP следует задать равным размеру оперативной памяти, увеличенному на 10-15%.

    ОС Microsoft Windows и Windows NT

    Область жёсткого диска, предназначенная для свопинга, располагается в отдельном файле, который называется файл подкачки, своп-файл (от англ. swap file). Он называется pagefile.sys и по умолчанию создаётся системой в корневом каталоге диска C:. В дальнейшем пользователь может управлять размером и размещением файла подкачки, например, используя панель управления, пункт Система.

    В Windows 9x файл подкачки называется win386.swp и располагается в каталоге Windows. Однако правкой файла system.ini его можно перенести в корневой каталог для последующего совместного использования с Windows NT.

    Также, начиная с Windows Vista появилась возможность создавать выделенный раздел подкачки, аналогичный по назначению используемым в UNIX-системах.

    Примечания

    wikiredia.ru

    Отправить ответ

    avatar
      Подписаться  
    Уведомление о