Learning Platform
Глоссарий Troubleshooting
Урок 02.03 · 14 мин
Начальный
MemoryRAMIntuitionBeginner

Что такое оперативная память — на пальцах

Мы уже знаем: ОС — администратор, который раздаёт ресурсы процессам. В прошлом уроке разобрали один ресурс — процессор (тот, кто выполняет работу). Теперь второй важнейший ресурс: оперативная память, она же RAM. Это место, где процессы держат свои данные, пока работают.

Как и в предыдущих двух уроках — никакого кода, только интуиция и наблюдение.


Аналогия: рабочий стол ограниченного размера

Представьте, что вы работаете за письменным столом. На столе вы раскладываете то, с чем работаете прямо сейчас: открытую книгу, листы, калькулятор, чашку кофе. До всего на столе вы дотягиваетесь мгновенно — протянул руку и взял.

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

Вот это и есть разница между памятью и диском:

  • Оперативная память (RAM) — это рабочий стол. Быстрый доступ, но места мало. Сюда процессы кладут данные, с которыми работают прямо сейчас.
  • Диск — это шкаф. Места много, и содержимое не пропадает, когда компьютер выключают. Но доступ к нему гораздо медленнее.
Память -- это рабочий стол, диск -- это шкаф
Память (RAM)Рабочий стол: маленький, но всё под рукой и мгновенно доступно. Здесь данные процессов, пока они работают. При выключении компьютера стол очищается
ДискШкаф: места много, содержимое сохраняется при выключении, но добираться медленно. Здесь хранятся файлы и сами программы

Важное следствие: память очищается при выключении компьютера. Поэтому если вы не сохранили документ на диск и выключили устройство — работа пропадёт. «Сохранить» как раз и означает «переложить со стола в шкаф», чтобы не потерялось.

[!note] Не путайте оперативную память (RAM) с местом на диске. Когда говорят «у меня 16 гигабайт памяти» — обычно имеют в виду RAM, рабочий стол. А «512 гигабайт» — это уже диск, шкаф. Числа диска почти всегда сильно больше.


Почему память приходится делить — и зачем тут ОС

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

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

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

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

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

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


Попробуй сам

Наблюдательное задание, без кода:

  1. Откройте тот же инструмент, что в прошлом уроке: диспетчер задач (Windows), Мониторинг системы (macOS) или Системный монитор (Linux). Найдите колонку или вкладку, связанную с памятью (Memory / Память).

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

  3. Найдите, какой процесс потребляет больше всего памяти. Часто это браузер с множеством вкладок. Прикиньте, какую долю стола он занял.

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

  5. Сравните в настройках устройства объём оперативной памяти и объём диска. Убедитесь, что диск (шкаф) обычно во много раз больше памяти (стола).

Запишите наблюдения.


Куда мы пойдём дальше

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

А дальше — интереснее. В следующих модулях те же идеи разберём по-настоящему, уже с конкретикой и примерами кода:

  • Системные вызовы (syscalls) — те самые «универсальные кнопки», через которые программа просит у ОС что-нибудь сделать (сохранить файл, выделить память). Мы увидим, как это выглядит на деле.
  • Виртуальная память — точный механизм, как ОС создаёт каждому процессу иллюзию собственного отдельного «стола» и держит границы.
  • Планировщик (scheduler) — как именно ОС решает, какому процессу дать процессор следующим, и по каким правилам строит очередь.
  • Примеры на C и других языках — мы начнём смотреть на реальный код, который обращается к ОС.

[!tip] Если слова «syscall», «виртуальная память», «планировщик», «код на C» сейчас кажутся непонятными — это абсолютно нормально и так и задумано. Этот модуль был концептуальным, нарочно без кода. Дальше каждое из этих понятий мы разложим по полочкам и подкрепим практикой. Сейчас главное — что у вас в голове есть верная общая картина, к которой можно всё привязывать.


Проверка знанийKnowledge check
Знакомый жалуется: 'Купил ноутбук с маленьким объёмом памяти. Когда открываю много вкладок и программ сразу, всё начинает жутко тормозить, хотя на диске места полно. Почему так и при чём тут вообще операционная система?'
ОтветAnswer
Главная мысль: тормоза от нехватки оперативной памяти (стола), а не места на диске (шкафа) -- это разные вещи, и за переключение между ними отвечает ОС. Сначала разделим два понятия через аналогию: оперативная память (RAM) -- это рабочий стол, маленький, но всё на нём доступно мгновенно; диск -- это шкаф, места много, но добираться медленно. 'Места на диске полно' и 'мало оперативной памяти' -- про разные хранилища. Тормоза вызваны именно нехваткой стола, диск тут не помогает количеством. Что происходит при многих открытых программах: каждый процесс хочет разложить данные на столе, а стол ограниченного размера. Когда всё перестаёт помещаться, ОС начинает выкручиваться -- временно перекладывает данные, которые прямо сейчас не нужны, в шкаф (на диск), чтобы освободить место. Как только эти данные снова понадобятся, ОС достаёт их обратно. Почему это тормозит: возня со шкафом (диском) гораздо медленнее работы за столом. Если программ много, ОС вынуждена постоянно бегать туда-сюда, перекладывая данные между памятью и диском, и на это уходит масса времени -- отсюда заметные тормоза. При чём тут ОС: именно она следит за столом, выделяет каждому процессу место, держит границы между ними и решает, что переложить в шкаф, когда стол переполнен. Это часть её работы администратора ресурсов. Итог: помочь может либо меньше открытых тяжёлых программ одновременно (меньше нагрузка на стол), либо больше оперативной памяти. Дополнительное место на диске эту конкретную проблему не решает.

Проверьте понимание

Результат: 0 из 0
Концептуальный
Вопрос 1 из 5. Какая аналогия точнее всего описывает разницу между оперативной памятью (RAM) и диском?

Закончили урок?

Отметьте его как пройденный, чтобы отслеживать свой прогресс

Войдите чтобы оценить урок

Прогресс модуля
0 из 3