![]() |
|
Модераторы: Snowy, bartram, MetalFan, bems, Poseidon, Riply |
![]()
|
|
| MadCoder |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 478 Регистрация: 24.8.2007 Где: Москва Репутация: 1 Всего: 2 |
Приветствую!
Видел много программ для очистки оперативки от мусора. Интересует, как это выполнено на уровне кода. Также интересно, как очистить файл подкачки. |
|||
|
||||
| ASGDeveloper |
|
|||
|
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: нет Всего: 1 |
Вроде сначала они выделают большой кусок памяти, а потом сразу его освобождают. В результате те проги, которые сейчас неактивны - скидываются в своп и память освобождается для нашего "чистильщика". А потом "чистильщик" освобождает память и эта память остается свободной. |
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
ASGDeveloper, неее, чето чушь ты сказал ;) Можно распределить память с таким атрибутом, чтобы не свопилось и делает любая программа, по одной простой причине, что в каждый процесс грузятся kernel32.dll и еще более серьезные библиотеки и я не знаю, но предполагаю, что там есть код который заказывает странички памяти, которые нельзя свопить.
Вот к примеру одна из интересных констант:
|
|||
|
||||
| ASGDeveloper |
|
|||
|
developer ![]() ![]() Профиль Группа: Участник Сообщений: 389 Регистрация: 1.4.2006 Репутация: нет Всего: 1 |
||||
|
||||
| dumb |
|
|||
![]() sceloglauxalbifacies ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2929 Регистрация: 16.6.2006 Репутация: 7 Всего: 158 |
извини, но чушь(если уж ты сам употребил это слово) пронес ты. весь пост из разряда "слышал звон, да не знаю где он". ASGDeveloper совершенно верно описал общую схему работы этих программ. оно не обязательно происходит именно через "выделение большого куска", но суть остается той же - всем работающим программам делается "харакири" - усекновение рабочего набора.
|
|||
|
||||
| EvilsInterrupt |
|
|||
|
Executables research ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1019 Регистрация: 14.7.2007 Где: Железнодорожный, МО, Россия Репутация: 1 Всего: 9 |
ЗЫ:
Перечитал заново, че написал и понял, нельзя посты после большого количества пива писать ))) ASGDeveloper сорри за грубость ;) dumb, Видимо я хотел сказать, что можно выделить память так, чтобы ее невозможно было выгрузить в своп ! Да, такое возможно, а это говорит о том, что полной очистки не возможно.
Не совсем корректно выразился. В 9x да, каждому процессу назначается либо уже имеющаяся копия dll или же грузится новая. В NT все по другому, каждому процессу своя копия любой dll, если два процесса А и Б используют kernel32.dll, то у каждого в виртуальном адресном пространстве есть своя спроецированная копия kernel32.dll. Теперь посмотрим на то что же такое проецирование? Читая совместный труд Марка Руссиновича и Девида Соломона можно грубо сказать, что копирования из файла данных происходит только тогда, когда они действительно нужны в данный момент времени. Тогда что выгружать в своп? (Дальше идут предположения, то как это на самом деле надо уточнять) А в в своп думаю стоит выгружать только текущее состояние дел,т.е. значения разнообразных хэндлов, HDC, etc. Думаю оно так и происходит, но тогда смысл в очистке то какой? Кинуть в своп, если потом это же самое и загрузится в память? Можно конечно положить, что фрагментации меньше будет, но что-то сомнительно Это сообщение отредактировал(а) EvilsInterrupt - 23.11.2007, 08:59 |
|||
|
||||
| MetalFan |
|
|||
![]() Аццкий Сотона ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 3815 Регистрация: 2.10.2006 Где: Moscow Репутация: 16 Всего: 128 |
да, не грузится, а отображается:
-------------------- There are always someone smarter than you... |
|||
|
||||
![]()
|
| Правила форума "Delphi: WinAPI и системное программирование" | |
|
|
Запрещено: 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, bartram, MetalFan, bems, Poseidon, Rrader, Riply. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Delphi: WinAPI и системное программирование | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |