The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Брюс Шнайер и Эдвард Сноуден используют Linux-дистрибутив Ta..."
Отправлено Аноним, 20-Апр-14 02:41 
>> Если каждая прога будет для себя память резервировать на будущее прозапас, ничего хорошего из этого не выйдет.

...
>> Так совесем без памяти остаться можно.
> главное чтобы не было бы утечек памяти. а если утечка памяти есть
> -- то хоть  с манагером-памяти хоть без манагера-памяти -- всё
> равно результат будет плачевный.

Звездец, я такого бреда как здесь давно не читал. Что вы курите?!

Итак. Программы резервируют ВИРТУАЛЬНУЮ память. Грубо говоря, они говорят операционке: "Дай мне 2 Гб памяти", а она тебе: "Держи, вот тебе начальный адрес этих 2 Гб". А на самом деле, ничего не дала. Это как вклад в банк. Вроде у тебя есть деньги, а на самом деле ими пользуются совсем другие люди (берущие в кредит). А вот реальное выделение страниц памяти начнётся, когда туда данные писать начнут. То есть равносильно, что ты из банка захотел часть денег забрать и он тебе возвращает те, которые в резерве есть.

Именно поэтому у вас может быть 10 прог, каждая из которых выделила себе по 4 Гб оперативки на компе, где стоит всего 2 ГБ. При этом ещё и свободно будет около половины оперативки.

Но, разумеется, если все процессы будут делать этой памяти memset, забивая нулями (очищая), то памяти всем не хватит, ибо понадобится сразу 40 Гб оперативки. Большая часть процессов просто будет убита и всё рухнет. Это как с банками. Если сразу все пользователи захотят забрать свои деньги, то банк не сможет их вернуть (резерв не такой уж и большой) и банк рухнет.

И да, если до кого-то не дошло ещё, по умолчанию malloc _не очищает память_. (man 3 malloc, первый абзац).

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру