Преглед садржаја:
Дефиниција - Шта значи самосељенски програм?
Програм самосељавања је онај који своја упутства осетљива на адресе премешта у друге делове меморије. Програм врши сопствено пресељење и не захтева повезивање. Само-премештање се користи у оперативним системима за дељење времена где се адреса учитавања програма може мењати за сваку различиту изведбу.
Тецхопедиа објашњава програм самосељења
Програм за самопремештање се мења да би се извршио са друге локације меморије. Самопремештањем се елиминира потреба да на диску имате неколико копија програма, при чему свака копија има различито порекло учитавања. Међутим, програми самопремештања нису потребни када рачунар користи виртуелну меморију.
Током процеса пресељења, програм премешта своја осетљива упутства осетљива на адресе, што му омогућава да извршава било који део меморије. Услови за процес пресељења су следећи:
- Табела упутстава осетљивих на адресу. Програм мора знати преведено порекло и почетну адресу извршења као и адресе упутстава осетљивих на адресу.
- Логика пресељења, што је код који изводи процес пресељења.
Две функције су уграђене у програм; почетна адреса кода за пресељење обично се наводи као почетна адреса извршења програма. Једном када се програм учита у меморију ради извршавања, логика пресељења преузима контролу и врши пресељење користећи адресу за учитавање и информације у вези са упутствима осетљивим на адресу.
Процес само-пресељења може бити или статичан или динамичан. Статичка селидба врши се пре извршења програма, док се динамично пресељење врши током извођења програма. Динамично премештање може прво обуставити извршење програма и извршити пресељење, или користити регистар селидби.
Програми за самопремештање су мање ефикасни у поређењу с програмима који се могу преузимати.
Осим оригиналних програма самопремештања, малваре програми користе исту методу само-пресељења за ширење кроз системе и мреже за ширење свог злонамерног кода.







