Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > MS Windows > Можно ли "украсть" память


Автор: saneea 3.3.2009, 20:25
Если процесс выделяет память, потом по какой-то причине аварийно завершается, то память, захваченная этим процессом целиком и полностью возвращается системе. А возможно ли, каким то хитрым образом захватить память так, чтобы после завершения процесса эта память не возвратилась (к примеру отобразить файл в память или ещё как)?
Вопрос не для написания вирусов, а для заполнения пробелов, полученных в курсе "Операционные системы".

Автор: bartram 3.3.2009, 23:03
Цитата(saneea @  3.3.2009,  22:25 Найти цитируемый пост)
А возможно ли, каким то хитрым образом захватить память так, чтобы после завершения процесса эта память не возвратилась (к примеру отобразить файл в память или ещё как)?

То что вы говорите это абсурд.

Цитата(saneea @  3.3.2009,  22:25 Найти цитируемый пост)
Вопрос не для написания вирусов, а для заполнения пробелов, полученных в курсе "Операционные системы". 

По всей видимости вам преподавали это курс без каких либо подробностей, а поверхностно.
Очень рекомендую к прочтению книгу М. Русиновича "Внутреннее устройство Windows", тогда многое станет понятно и пробелов не будет.

Автор: saneea 3.3.2009, 23:14
Цитата(bartram @ 3.3.2009,  23:03)
Цитата(saneea @  3.3.2009,  22:25 Найти цитируемый пост)
А возможно ли, каким то хитрым образом захватить память так, чтобы после завершения процесса эта память не возвратилась (к примеру отобразить файл в память или ещё как)?

То что вы говорите это абсурд.

0. Что КОНКРЕТНО здесь имелось под словом "абсурд"?
1. Если Вы советуете книгу, то логично предположить, что Вы её прочитали. Так вот, не проще ли ответить на поставленный вопрос?

Автор: Akella 4.3.2009, 00:15
Цитата
Не давайте голодающим рыбы, а дайте им уду, чтобы они эту рыбу изловили
 (с) не моё

Автор: saneea 4.3.2009, 00:17
Всем спасибо. А если все начнут отвечать на вопросы ссылками на определённую книжку? Да возрадятся библиотеки smile 

Автор: Akella 4.3.2009, 00:22
Цитата

Согласен обеими руками. Но! Они-ж не хотят учиться удить рыбу. А попытаешься их научить так ещё и прирежут где-нить.smile 

smile

Автор: bartram 4.3.2009, 08:58
Цитата(saneea @  4.3.2009,  01:14 Найти цитируемый пост)
0. Что КОНКРЕТНО здесь имелось под словом "абсурд"?
1. Если Вы советуете книгу, то логично предположить, что Вы её прочитали. Так вот, не проще ли ответить на поставленный вопрос? 

saneea, дело в том что вы изначально не правильно поставили вопрос.
Что в вашем понятии:
Цитата(saneea @  3.3.2009,  22:25 Найти цитируемый пост)
память, захваченная этим процессом целиком и полностью возвращается системе.

?
Память которая была занята процессом, высвобождается, и становиться доступной для использования другими процессами, т.е. система как вы говорите, себе ее не "забирает". Другой вопрос, что после аварийного завершения процесса память им занятая высвобождается не вся, но это вопрос третий, и выходит за рамки этой темы т.к. он слишком обширный и имеет множество нюансов.

Автор: saneea 4.3.2009, 10:00
Цитата(bartram @ 4.3.2009,  08:58)
Что в вашем понятии:
Цитата(saneea @  3.3.2009,  22:25 Найти цитируемый пост)
память, захваченная этим процессом целиком и полностью возвращается системе.

?
Память которая была занята процессом, высвобождается, и становиться доступной для использования другими процессами.

а не одно ли это и то же???

Я задал конкретный вопрос и жду конкретного ответа, а не "игру слов".

Автор: Thinker 4.3.2009, 12:37
Цитата(saneea @  4.3.2009,  11:00 Найти цитируемый пост)
а не одно ли это и то же???

bartram объяснил же, что ты пытаешься объяснить вопрос обывательским языком, т.е. как понял так и говорю, а это не всегда правильно и понятно остальным. 

Цитата(saneea @  3.3.2009,  21:25 Найти цитируемый пост)
А возможно ли, каким то хитрым образом захватить память так, чтобы после завершения процесса эта память не возвратилась

Память после закрытия процесса всегда освобождается для других процессов (а не передается во власть системе). Если процесс аварийно закончился, то ячейки памяти могут остаться заняты. Их можно освободить, можно не освобождать (радуясь загруженности системы). Искусственно такое сделать более чем возможно. Подразумевая то, что ты захочешь задать вопрос "КАК это сделать?", bartram написал "вопрос выходит за рамки этой темы т.к. он слишком обширный и имеет множество нюансов" и посоветовал книжку, чтобы избежать следующей темы "Как попросить процесс не отдавать память системе?". 

Автор: saneea 4.3.2009, 14:45
Thinker, всё, спасибо за ответ. Я ж не спрашивал как это сделать, а спрашивал можно ли вобще.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)