it4lpr
@it4lpr

Современные ОСи так делают? Компрессия кода в оперативке?

Нубский вопрос, но надеюсь - объяснят знающие.

Все наверное наблюдали в ежедневной работе, что сейчас в многоядерных системах RAM бывает вся занята, а процы - отдыхают. И начинаются тормоза. А вот интересно, эта память RAM занята сжатыми данными (кодом, данными)? Не быстрее будет отдать половину ядер процессам, чтобы они внутри памяти все паковали и распаковывали при обращении (или хотя бы с опережением куда-то). А то задолбался по 3 минуты ждать переключения между экселевскими окнами, когда их много открыто. В них текста - максимум на 100 Мгб (до сжатия), памяти - аж целых 4 Гб, и переключение между окнами такое долгое и ...
Можно пинать ногами :) если вопрос глупый, но попутно объясните - почему
  • Вопрос задан
  • 186 просмотров
Пригласить эксперта
Ответы на вопрос 5
Jump
@Jump
Системный администратор со стажем.
что сейчас в многоядерных системах RAM бывает вся занята, а процы - отдыхают
Бывает и так, бывает и по другому, это просто один из вариантов.

А вот интересно, эта память RAM занята сжатыми данными (кодом, данными)?
Такое бывает иногда.

Не быстрее будет отдать половину ядер процессам, чтобы они внутри памяти все паковали и распаковывали при обращении
Нет.

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

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

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

Сейчас норма для комфортной офисной работы - это 8Гб оперативной памяти и SSD диск под систему.
Ответ написан
Комментировать
@pfg21
ex-турист
тормоза это своп на на жесткий диск.
ram сейчас дешевый - просто добавь воды ram.

а использование сжатыйх tmpfs разделов старо как мир.
в линукс для ентого есть стандартный модуль ядра ZRam.
дает небольшой выигрыш при определенных условиях.
Ответ написан
@Xilian
Программист 1С, сетевые технологии, SQL
Танненбаума читали? Компрессия памяти через потоковые алгоритмы появилась уже очень давно. Только смысла в ней не особо много - своп / разреженные файлы с учетом TLB и прочего быстрее.
Ответ написан
Комментировать
@chromimon
Сжатие в оперативной памяти использовалось еще в конце 20 века.
Ответ написан
Комментировать
Компрессия кода в оперативке?
Код - это команды, которые показывают, что надо делать с данными. Зачем его сжимать?

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

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

Можно пинать ногами
Даже нужно некоторых разработчиков.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы