Feb. 21st, 2017

ewoke: (Default)
https://board.flatassembler.net/topic.php?t=8005

Ахах, хваленые DLL библиотеки Виндовс. Да, мы экономим место на диске, ведь у нас не нужно таскать DLL-ки со своими файлами, потому что DLL-ки лежат в system32. Но мы будем немерянно жрать память, этими же самыми dll-ками, снова и снова загружая их в каждую программу при ее запуске.

Я только сейчас это понял. Думал, что пускай адресное пространство каждого процесса изолировано, то туда "зеркалируется" где-то лежащая в памяти DLL, к примеру, обязтельный для всех KERNEL32. Ничего подобного, он(они) не зеркалируют, экономя память, а тупо копируют еще раз, раз за разом. Если я все правильно понял.

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

Век учись (с) :)

Profile

ewoke: (Default)
ewoke

October 2025

S M T W T F S
   1234
5 67891011
121314 15161718
19202122232425
262728293031 

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Jun. 20th, 2026 02:25 pm
Powered by Dreamwidth Studios