Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Низкоуровневое программирование > Win Api
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 25.11.2012, 23:47   #1
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию Помещение процеса в память

Здраствуйте. Каким образом с помощью winapi можно поместить процес в определенный участок памяти на выполнение?(если это вообще возможно)
lowercase вне форума Ответить с цитированием
Старый 26.11.2012, 06:28   #2
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

какой памяти? чьей?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 26.11.2012, 09:17   #3
waleri
Старожил
 
Регистрация: 13.07.2012
Сообщений: 6,330
По умолчанию

Загрузив процесс вручную.
Только вот вопрос - зачем это нужно?
waleri вне форума Ответить с цитированием
Старый 26.11.2012, 20:33   #4
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

в универе лаба такая по спо(системное програмное обеспечение). нужно сделать менеджер управления памятью который согласно с заданой стратегией распредиления памяти берет из очереди задачу на выполнение и помещает ее в соответственный участок свободной памяти.

пол беды если б это было только моделирование. но ведь тут реальные процесы, правда они используют определенное количество памяти в (1-20% общего количества памяти).

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

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

Последний раз редактировалось lowercase; 26.11.2012 в 20:41.
lowercase вне форума Ответить с цитированием
Старый 26.11.2012, 20:45   #5
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Если я вас правильно понял, вы берете exe фаил и проецируете его в память и запускаете оттуда?

Или вы хотите взять уже запущенный exe и скопировать его в др. область памяти?

Первый вариант возможен.
На вскидку, в гугле вбейте "Запуск процесса из памяти" 2 и 3 ссылки - там есть много инфы, и далее по гуглу тоже.
wasm.ru - та так же много полезного.


А вот второй из ring3 вам просто система не даст выполнить, т.к. существует реальная физическая связь между запущенной программой и её exe файлом.

Сделать дамп памяти процесса - возможно, и ввернуть этот дамп обратно в память - так же возможно. Но никак не переместить и не запустить из др. области. Система не даст, не из ring3 уж точно.
Человек_Борща вне форума Ответить с цитированием
Старый 26.11.2012, 21:24   #6
lowercase
Пользователь
 
Регистрация: 15.05.2010
Сообщений: 88
По умолчанию

скорее всего нужно делать второй вариант. тогда уж походу только моделирование, если система не позволит переместить процесс в другую область памяти, ибо по заданию менеджер памяти должен уметь:
1) поместить процесс в память
2) освободить выделенную под процесс память
3) делать уплотнение памяти(по сути дефрагментация свободной памяти)

Последний раз редактировалось lowercase; 26.11.2012 в 21:31.
lowercase вне форума Ответить с цитированием
Старый 26.11.2012, 22:18   #7
Человек_Борща
Старожил
 
Аватар для Человек_Борща
 
Регистрация: 30.12.2009
Сообщений: 11,426
По умолчанию

Тогда либо вам дали "Mission Impossible", либо вы не так поняли задачу.
Думаю что,
Цитата:
поместить процесс в память
Имеется ввиду создать процесс из памяти т.е. создать его там. Ссылки я вам уже привел.
Человек_Борща вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
2 процеса одновременно..? на Си pufystyj Общие вопросы C/C++ 16 30.03.2011 19:17
Программное завершение процеса Vladya Помощь студентам 2 07.05.2010 15:51
Ускорение процеса проверки данных! $T@LKER БД в Delphi 0 25.04.2010 02:03
Проверка и востанавление процеса %( Pirotexnik Общие вопросы Delphi 5 27.03.2009 14:27
Завершение процеса aesoem Общие вопросы Delphi 10 28.08.2008 16:44