Что такое память?
Память — это иерархическая система ячеек с адресами, где хранятся данные и код программы (биты, байты). Программы используют различные области памяти, такие как Стек (для локальных переменных, быстро) и Куча (для динамических данных, медленнее). Программист управляет выделением и освобождением памяти, используя указатели, чтобы избежать утечек и эффективно использовать ресурсы, хотя современные языки часто имеют автоматические сборщики мусора чтобы упростить этот процесс.
Основные концепции
- Адресация: Каждая ячейка памяти имеет уникальный номер (адрес), позволяющий процессору обращаться к ней.
- Единицы измерения: Память состоит из битов, но для удобства работы объединяется в байты (8 бит), слова и т. д..
- Иерархия памяти: Процессор использует быстрые кэши, затем оперативную память (RAM), затем более медленные накопители. Часто используемые данные лучше хранить как можно выше в иерархии.
Жизненный цикл данных
- Выделение (Allocate): Программа запрашивает блок памяти.
- Использование (Use): Программа читает и записывает данные в выделенную область.
- Освобождение (Release): Память возвращается системе, когда она больше не нужна (вручную или автоматически).