Как работает оперативная память и зачем она нужна — Заметки Сис.Админа

Ram – оперативное запоминающее устройство

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

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

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

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

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

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

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

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

Это слабое место как платных, так и бесплатных программ-шифраторов информации. Ее важная характеристика – объем и скорость доступа. Понятно, что чем больше и то, и другое — тем лучше. И один важный момент касательно объема: 32-битная система не увидит установленное в ней ОЗУ больше 3 с копейками Гб (если точнее). В 64-битных системах – и небо не предел.

Виды памяти компьютера: внешняя и внутренняя память

Виды памяти компьютера – это именно тот вопрос, изучение которого начинающие пользователи часто откладывают “на потом”. А зря.

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

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

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

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

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

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

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

ЧИТАТЬ ДАЛЕЕ:  Huawei Nova 5i Pro 128GB - характеристики, обзор, видео, фото, дата выхода и отзывы

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

Как-то даже странно сравнивать, например, книжный шкаф с обычной флешкой.

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

Здесь все просто: все, что находится внутри системного блока – внутренняя память, все остальное, что мы покупаем отдельно, носим с собой и подключаем к разным системам (флешки, CD/ DVD диски, карты памяти и пр) – внешняя память.

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

Логическая память

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

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

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

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

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

Расположение сегментов процессов в памяти компьютера

Рис.
8.2.

Расположение сегментов процессов в памяти компьютера

Некоторые сегменты, описывающие адресное пространство процесса, показаны на рис. 8.2. Более подробная информация о типах сегментов имеется в лекции 10.

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

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

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

Оперативная память

Оперативная память компьютера (модули оперативного запоминающего устройства) нужна компьютеру так же, как и процессор. Без модулей ОЗУ процессор не сможет работать.

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

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

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

  • SDR SDRAM (тактовая частота шины 66 — 133 МГц);
  • DDR SDRAM(100 – 267 МГц);
  • DDR2 SDRAM (400 – 1066 МГц);
  • DDR3 SDRAM (800 – 2400 МГц).
ЧИТАТЬ ДАЛЕЕ:  ТОП 7 способов узнать оперативную память на компьютере

Принцип работы оперативной памяти указанных типов одинаков. Они обрабатывают поток команд процессора как своеобразный конвейер.

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

— SDRAM latency) и чем оно короче, тем оперативная память компьютера продуктивнее. Этот параметр, как и частоту шины, также нужно учитывать при выборе ОЗУ.

Например, есть два модуля ОЗУ одного типа с частотой шины 800 МГц и задержками памяти 4-4-4 и 5-5-5. Из них продуктивнее будет первый вариант.

Сложнее сравнить память с разными частотами.

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

Например, DDR3-1333МГц с таймингами 9-9-9 лишь немного опережает DDR2-800МГц с задержками 4-4-4, а DDR3-1333МГц с задержками 7-7-7 по производительности где-то равна DDR2-1067МГц.

Но будущее все же за более новыми типами оперативной памяти компьютера. Уже разработана DDR4 SDRAM (2133 – 4266 МГц), использование которой, по прогнозам экспертов, к 2020 году станет массовым явлением.

Разные типы модулей ОЗУ существенно отличаются также и внешне (разъемом, количеством контактов и т.д.). Если материнская плата рассчитана на использование одного типа памяти, установить на нее другой тип ОЗУ нельзя, поскольку даже физически в слот он не войдет.

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

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

Например, офисному компьютеру с операционной системой Windows XP для работы с текстом, просмотра страниц Интернета и осуществления других несложных операций вполне достаточно даже 512 MB оперативной памяти.

Если на том же компьютере будет установлена операционная система Windows7, для решения тех же задач нужно будет уже как минимум 1024 MB ОЗУ, поскольку сама Windows7 требует больше памяти.

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

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

Во время приобретения модулей ОЗУ важно учитывать еще несколько моментов:

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

В них устанавливается оперативная память в форм-факторе SO-DIMM (англ. small outline dual in-line memory module). В стационарном компьютере как правило используются модули формата Long-DIMM (см.рисунок).

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

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

2. Если на компьютере будет использоваться 32-битная операционная система, ставить на эту машину больше 4 ГБ оперативной памяти особого смысла нет, поскольку система будет «видеть» только 3 ГБ ОЗУ и еще около 25% от того, что осталось (т.е., если поставить 4 ГБ, будет использоваться только 3,25 ГБ). Для использования ОЗУ большего объема необходима 64-битная операционная система;

ЧИТАТЬ ДАЛЕЕ:  Обзор Xiaomi Mi Band 4 (Mi Smart Band 4). Еще один шаг вперед

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

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

вместо 1 модуля ОЗУ объемом 4ГБ целесообразнее приобрести 2 модуля по 2ГБ (по одному в каждый канал).

Страничная память

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

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

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

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

Логическийадрес в страничной системе – упорядоченная пара (p,d), где p – номер страницы в виртуальной памяти, а d – смещение в рамках страницы p, на которой размещается адресуемый элемент.

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

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

Интерпретация логического адреса показана на рис. 8.7. Если выполняемый процесс обращается к логическому адресу v = (p,d), механизм отображения ищет номер страницы p в таблице страниц и определяет, что эта страница находится в страничном кадре p’, формируя реальный адрес из p’ и d.

Связь логического и физического адресов при страничной организации памяти

Рис.
8.7.

Связь логического и физического адресов при страничной организации памяти

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

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

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

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

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

Оцените статью
ObzorTop15
Adblock
detector