Привет всем. Хочу реализовать уменьшение потребления оперативной памяти засчёт убирания из памяти ненужных кусков кода и данных. Можно загружать всё в память и пользоваться тем, что система вскоре сама сохранит долго невостребованную страницу в памяти. 1: Как в таком случае помочь системе, то есть говорить что ей выгружать из памяти в swap и что загружать в память? Загружать наверно можно с помощью создания фонового процесса, который в нужный момент будет читать какой-нибудь байт, и система не трогая основной процесс загрузит страницу в память. При использовании динамической компиляции отдельных частей программы: 2: Как реализовать добавление, удаление и изменение страниц(сегментов) кода под windows, *nix, и других системах? 3: Как к этим действиям относятся антивирусы? 4: Если что-то не синхронизировалось как обрабатывать исключения вроде #GP вручную? Спасибо.
А вы таки учтите, что нужно до последней строчки кода знать, как работает система. Ладно никсы, а под форточками вы как собрались так трюкачить? Да, ваш драйвер и имеет полную власть над системой, но вы мало что можете знать о таких глубинах архитектуры.
> зачем все это? Я пока начинающий программист, но уже очень увлекаюсь ассемблером. Хочется написать небольшой язык программирования близкий к ассемблеру. Может и не получится, может и не требуется, но всё равно какой-то опыт. Если программа разделена на несколько независимых частей, и эти части точно знает программа, хотелось-бы уметь: 1: Или хотя-бы помогать системе сохранять их в swap 2: Или самостоятельно загружать данные из файла как исполняемый код и удалять из памяти ненужное