Для чего служит уровень общей оперативной памяти ооп

Обновлено: 07.07.2024

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

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

• параметры электрических сигналов, которыми обмениваются тех­нические устройства, тоже должны соответствовать друг другу: амплитуды импульсов, полярность, длительность и т.д.;

• алгоритмы взаимодействия (последовательности сигналов по от­дельным проводам) не должны вступать в противоречие друг с другом.

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

Уровни и средства комплексирования

1) прямого управления (процессор — процессор);

2) общей оперативной памяти;

Рекомендуемые файлы

Ответы на сертификацию Google Рекламы по проведению кампаний для приложений 2021 Ноябрь

3) комплексируемых каналов ввода-вывода;

4) устройств управления внешними устройствами (УВУ);

5) общих внешних устройств.

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

Уровень общей оперативной памяти (ООП) является наиболее предпочтительным для оперативного взаимодействия процессоров.

Глава 5. Опыт боевого применения прицела - лекция, которая пользуется популярностью у тех, кто читал эту лекцию.

Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объектов информации между блоками оперативной памяти, сопрягаемых ЭВМ. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал-канал» (АКК) и команд «Чтение» и «Запись». Адаптер — это устройство, согласующее скорости работы сопрягаемых каналов.

Уровень устройств управления внешними устройствами предпо­лагает использование встроенного в УВУ двухканального переклю­чателя и команд «Зарезервировать» и «Освободить».

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

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

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

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

Уровень комплексируемых каналов ввода-вывода предназначается для передачи больших объектов информации между блоками оперативной памяти, сопрягаемых ЭВМ. Обмен данными между ЭВМ осуществляется с помощью адаптера «канал-канал» (АКК) и команд «Чтение» и «Запись».

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

Уровень устройств управления внешними устройствами предпо­лагает использование встроенного в УВУ двухканального переклю­чателя и команд «Зарезервировать» и «Освободить». Двухканальный переключатель позволяет подключать УВУ одной машины к селек­торным каналам различных ЭВМ. По команде «Зарезервировать» канал-инициатор обмена имеет доступ через УВУ к любым накопи­телям на дисках НМД или на магнитных лентах НМЛ.

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

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

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




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

Уровни 1, 3, 4, 5 обеспечивают построение разнообразных машин­ных комплексов. Особенно часто используется третий в комбинации с четвертым. Целесообразно их дополнять и первым уровнем.
Пятый уровень комплексирования используется в редких специальных случаях, когда в качестве внешнего объекта используется какое-то дорогое уникальное устройство. В противном случае этот уровень малоэффективен. Любое внешнее устройство — это недостаточно надежное устройство точной механики, а значит, выгоднее использовать четвертый уровень комплексирования, когда можно сразу управлять не одним, а несколькими внешними устройствами, включая и резервные.

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

Привет, Хабр! Представляю вашему вниманию перевод статьи «Demystifying memory management in modern programming languages» за авторством Deepu K Sasidharan.

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

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

Часть 1: Введение в управление памятью

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

Для чего используется оперативная память?

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

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

Стек используется для статичного выделения памяти. Он организован по принципу «последним пришёл — первым вышел» (LIFO). Можно представить стек как стопку книг — разрешено взаимодействовать только с самой верхней книгой: прочитать её или положить на неё новую.

  • благодаря упомянутому принципу, стек позволяет очень быстро выполнять операции с данными — все манипуляции производятся с «верхней книгой в стопке». Книга добавляется в самый верх, если нужно сохранить данные, либо берётся сверху, если данные требуется прочитать;
  • существует ограничение в том, что данные, которые предполагается хранить в стеке, обязаны быть конечными и статичными — их размер должен быть известен ещё на этапе компиляции;
  • в стековой памяти хранится стек вызовов — информация о ходе выполнения цепочек вызовов функций в виде стековых кадров. Каждый стековый кадр это набор блоков данных, в которых хранится информация, необходимая для работы функции на определённом шаге — её локальные переменные и аргументы, с которыми её вызывали. Например, каждый раз, когда функция объявляет новую переменную, она добавляет её в верхний блок стека. Затем, когда функция завершает свою работу, очищаются все блоки памяти в стеке, которые функция использовала — иными словами, очищаются все блоки ее стекового кадра;
  • каждый поток многопоточного приложения имеет доступ к своему собственному стеку;
  • управление стековой памятью простое и прямолинейное; оно выполняется операционной системой;
  • в стеке обычно хранятся данные вроде локальных переменных и указателей;
  • при работе со стеком есть вероятность получать ошибки переполнения стека (stack overflow), так как максимальный его размер строго ограничен. Например, ошибка при составлении граничного условия в рекурсивной функции совершенно точно приведёт к переполнению стека;
  • в большинстве языков существует ограничение на размер значений, которые можно сохранить в стек;


Использование стека в JavaScript. Объекты хранятся в куче и доступны по ссылкам, которые хранятся в стеке. Тут можно посмотреть в видеоформате

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

  • операции на куче производятся несколько медленнее, чем на стеке, так как требуют дополнительного этапа для поиска данных;
  • в куче хранятся данные динамических размеров, например, список, в который можно добавлять произвольное количество элементов;
  • куча общая для всех потоков приложения;
  • вследствие динамической природы, куча нетривиальна в управлении и с ней возникает большинство всех проблем и ошибок, связанных с памятью. Способы решения этих проблем предоставляются языками программирования;
  • типичные структуры данных, которые хранятся в куче — это глобальные переменные (они должны быть доступны для разных потоков приложения, а куча как раз общая для всех потоков), ссылочные типы, такие как строки или ассоциативные массивы, а так же другие сложные структуры данных;
  • при работе с кучей можно получить ошибки выхода за пределы памяти (out of memory), если приложение пытается использовать больше памяти, чем ему доступно;
  • размер значений, которые могут храниться в куче, ограничен лишь общим объёмом памяти, который был выделен операционной системой для программы.

Почему эффективное управление памятью важно?

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

Различные подходы

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

Ручное управление памятью

Язык не предоставляет механизмов для автоматического управления памятью. Выделение и освобождение памяти для создаваемых объектов остаётся полностью на совести разработчика. Пример такого языка — C. Он предоставляет ряд методов (malloc, realloc, calloc и free) для управления памятью — разработчик должен использовать их для выделения и освобождения памяти в своей программе. Этот подход требует большой аккуратности и внимательности. Так же он является в особенности сложным для новичков.

Сборщик мусора

Получение ресурса есть инициализация (RAII)

RAII — это программная идиома в ООП, смысл которой заключается в том, что выделяемая для объекта область памяти строго привязывается к его времени существования. Память выделяется в конструкторе и освобождается в деструкторе. Данный подход был впервые реализован в C++, а так же используется в Ada и Rust.

Автоматический подсчёт ссылок (ARC)

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

Автоматический подсчёт ссылок всё так же не позволяет обрабатывать циклические ссылки и требует от разработчика использования специальных ключевых слов для дополнительной обработки таких ситуаций. ARC является одной из особенностей транслятора Clang, поэтому присутствует в языках Objective-C и Swift. Так же автоматический подсчет ссылок доступен для использования в Rust и новых стандартах C++ при помощи умных указателей.

Владение


Это сочетание RAII с концепцией владения, когда каждое значение в памяти должно иметь только одну переменную-владельца. Когда владелец уходит из области выполнения, память сразу же освобождается. Можно сказать, что это примерно как подсчёт ссылок на этапе компиляции. Данный подход используется в Rust и при этом я не смог найти ни одного другого языка, который бы использовал подобный механизм.


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

Читайте так же другие части серии:

Ссылки

Вы можете подписаться на автора статьи в Twitter и на LinkedIn.

За вычитку перевода отдельное спасибо Александру Максимовскому и Катерине Шибаковой

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

Как работает оперативная память и зачем она нужна - иконка статьи

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

Ну, а сейчас, приступаем.

  • Вводная
  • Общее
  • Как же работает оперативная память?
  • Подробнее
  • Зачем нужна эта самая оперативная память?
  • Компоновка модулей
  • Температура, лаг, энергозависимость и вообще "на пальцах"
  • Послесловие

Вводная

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

Почему самый простой?

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

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

Общее

ОЗУ (оперативное запоминающее устройство), оно же RAM (" Random Access Memory " - память с произвольным доступом), представляет собой область временного хранения данных, при помощи которой обеспечивается функционирование программного обеспечения. Физически, оперативная память в системе представляет собой набор микросхем или модулей (содержащих микросхемы), которые обычно подключаются к системной плате.

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

Примечание.
Совсем новички часто путают оперативную память с памятью жесткого диска ( ПЗУ - постоянное запоминающее устройство), чего делать не нужно, т.к. это совершенно разные виды памяти. Оперативная память (по типу является динамической - Dynamic RAM ), в отличие от постоянной - энергозависима, т.е. для хранения данных ей необходима электроэнергия, и при ее отключении (выключение компьютера) данные удаляются. Пример энергонезависимой памяти ПЗУ - флэш-память, в которой электричество используется лишь для записи и чтения, в то время как для самого хранения данных источник питания не нужен.

По своей структуре память напоминает пчелиные соты, т.е. состоит из ячеек, каждая из которых предназначена для хранения мёда определенного объема данных, как правило, одного или четырех бит. Каждая ячейка оной имеет свой уникальный «домашний» адрес, который делится на два компонента – адрес горизонтальной строки ( Row ) и вертикального столбца ( Column ).

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

Для передачи на микросхему памяти адреса строки служит некий сигнал, который зовется RAS ( Row Address Strobe ), а для адреса столбца — сигнал CAS ( Column Address Strobe ).

С этим разобрались, идем дальше. Затронем еще один немаловажный вопрос:

Как же работает оперативная память?

Работа оперативной памяти непосредственно связана с работой процессора и внешних устройств компьютера, так как именно ей последние «доверяют» свою информацию. Таким образом, данные сперва попадают с жесткого диска (или другого носителя) в саму ОЗУ и уже затем обрабатываются центральным процессором (смотрите изображение).

Как работает оперативная память - Схема - взаимодействие компонентов ПК

Обмен данными между процессором и памятью может происходить напрямую, но чаще все же бывает с участием кэш-памяти.

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

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

Как работает оперативная память - Управление оперативной памятью

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

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

Сейчас Вы поймете, о чем это я.

Подробнее

Дело в том, что современные устройства оперативной памяти являются достаточно объемными (привет двухтысячным, когда хватало и 32 Mб), чтобы в ней можно было размещать данные от нескольких одновременно работающих задач. Процессор также может одновременно обрабатывать несколько задач. Это обстоятельство способствовало развитию так называемой системы динамического распределения памяти, когда под каждую обрабатываемую процессором задачу отводятся динамические (переменные по своей величине и местоположению) разделы оперативной памяти.

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

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

Ещё (для общего развития) следует знать, что поддержка памяти зависит от разрядности системы, например, операционная система Windows 7, разрядностью 64 бита, поддерживает объем памяти до 192 Гбайт (младший 32 -битный собрат "видит" не больше 4 Гбайт). Однако, если Вам и этого мало, пожалуйста, 128 -разрядная Windows 8 заявляет поддержку поистине колоссальных объемов – я даже не осмеливаюсь озвучить эту цифру. Чуть подробнее про разрядность мы писали тут.

Что это такое разобрались.

Дальше, на очереди, как и гласил заголовок, у нас не менее интересный вопрос:

Зачем нужна эта самая оперативная память?

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

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

Данные, записанные в оперативной памяти, передаются в CPU (он же не раз упомянутый процессор, он же Central Processing Unit ), там обрабатываются и записываются обратно. И так постоянно: дали команду процессору взять биты по таким-то адресам (как то: обработатьих и вернуть на место или записать на новое) – он так и сделал (смотрите изображение).

Как работает оперативная память - процессор и оперативная память - взаимодействие

Все это хорошо до тех пор, пока ячеек памяти ( 1 ) хватает. А если нет?

Тогда в работу вступает файл подкачки ( 2 ). Этот файл расположен на жестком диске и туда записывается все, что не влезает в ячейки оперативной памяти. Поскольку быстродействие винта значительно ниже ОЗУ , то работа файла подкачки сильно замедляет работу системы. Кроме этого, это снижает долговечность самого жесткого диска. Но это уже совсем другая история.

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

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

Компоновка модулей

Кстати, давайте рассмотрим из чего же состоит (из каких элементов) сам модуль.

Так как практически все модули памяти, состоят из одних и тех же конструктивных элементов, мы для наглядности возьмем стандарт SD-RAM (для настольных компьютеров). На изображении специально приведено разное конструктивное исполнение оных (чтобы Вы знали не только «шаблонное» исполнение модуля, но и весьма «экзотическое»).

Итак, модули стандарта SD-RAM ( 1 ): DDR ( 1.1 ); DDR2 ( 1.2 ).

Как работает оперативная память - компоновка модулей памяти

  1. Чипы (микросхемы) памяти
  2. SPD ( Serial Presence Detect ) – микросхема энергонезависимой памяти, в которую записаны базовые настройки любого модуля. Во время старта системы BIOS материнской платы считывает информацию, отображенную в SPD , и выставляет соответствующие тайминги и частоту работы ОЗУ ;
  3. «Ключ» - специальная прорезь платы, по которой можно определить тип модуля. Механически препятствует неверной установке плашек в слоты, предназначенные для оперативной памяти;
  4. SMD -компоненты модулей (резисторы, конденсаторы). Обеспечивают электрическую развязку сигнальных цепей и управление питанием чипов;
  5. Cтикеры производителя - указывают стандарт памяти, штатную частоту работы и базовые тайминги;
  6. РСВ – печатная плата. На ней распаиваются остальные компоненты модуля. От качества зачастую зависит результат разгона: на разных платах одинаковые чипы могут вести себя по-разному.

Теперь обощая, упрощая.

Температура, лаг, энергозависимость и вообще "на пальцах"

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

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

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

Информация в ячейках со временем "теряется", причем, чем выше температура, тем быстрее это происходит.

Чтобы избежать потери сохранённых данных, они должны регулярно обновляться, чтобы восстановить заряд (если он есть) до первоначального уровня. Этот процесс обновления включает чтение каждого бита, а потом запись его обратно. Это происходит не целиком, а блоками. В процессе такого «обновления» память занята и не может выполнять обычные операции, такие как запись или хранение битов. В общем случае из-за этого обновления память тормозит каждые 7,8 мкс.

Послесловие

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

На сим всё. Как и всегда, если есть какие-то вопросы, комментарии, дополнения и тп, то можете смело бежать в комментарии, которые расположены ниже. И да, не забудьте прочитать материал по выбору этой самой оперативной памяти.

Белов Андрей (Sonikelf) Заметки Сис.Админа [Sonikelf's Project's] Космодамианская наб., 32-34 Россия, Москва (916) 174-8226

Читайте также: