Озарения псто
Feb. 21st, 2017 02:55 pmhttps://board.flatassembler.net/topic.php?t=8005
Ахах, хваленые DLL библиотеки Виндовс. Да, мы экономим место на диске, ведь у нас не нужно таскать DLL-ки со своими файлами, потому что DLL-ки лежат в system32. Но мы будем немерянно жрать память, этими же самыми dll-ками, снова и снова загружая их в каждую программу при ее запуске.
Я только сейчас это понял. Думал, что пускай адресное пространство каждого процесса изолировано, то туда "зеркалируется" где-то лежащая в памяти DLL, к примеру, обязтельный для всех KERNEL32. Ничего подобного, он(они) не зеркалируют, экономя память, атупо копируют еще раз, раз за разом. Если я все правильно понял.
Но все верно. Т.к. это многозадачная система, то в каждом выполняющемся приложении тот же KERNEL будет прерван на каком-то своем этапе выполнения, и в каждом случае он будет работать со своим состоянием своих переменных. Поэтому "смешивать" состояния переменных для разных процессов нельзя.
Век учись (с) :)
Ахах, хваленые DLL библиотеки Виндовс. Да, мы экономим место на диске, ведь у нас не нужно таскать DLL-ки со своими файлами, потому что DLL-ки лежат в system32. Но мы будем немерянно жрать память, этими же самыми dll-ками, снова и снова загружая их в каждую программу при ее запуске.
Я только сейчас это понял. Думал, что пускай адресное пространство каждого процесса изолировано, то туда "зеркалируется" где-то лежащая в памяти DLL, к примеру, обязтельный для всех KERNEL32. Ничего подобного, он(они) не зеркалируют, экономя память, а
Но все верно. Т.к. это многозадачная система, то в каждом выполняющемся приложении тот же KERNEL будет прерван на каком-то своем этапе выполнения, и в каждом случае он будет работать со своим состоянием своих переменных. Поэтому "смешивать" состояния переменных для разных процессов нельзя.
Век учись (с) :)