|
îáú÷áîéå
sbrk, brk - pacÐpeÄeÌÑeÔ ÐaÍÑÔØ × ceÇÍeÎÔe ÄaÎÎÙx
óéîôáëóéó
char *sbrk (incr) int incr; int brk (addr) char *addr;
ïðéóáîéå
Sbrk É brk ÉcÐoÌØÚyÀÔcÑ ÄÌÑ ÄÉÎaÍÉÞecËoÇo ÉÚÍeÎeÎÉÑ paÚÍepa
ceÇÍeÎÔa ÄaÎÎÙx ÔeËyÝeÇo ÐpoÃecca; cÍ. exec(3). éÚÍeÎeÎÉe
paÚÍepa ÄeÌaeÔcÑ ÐyÔeÍ ycÔaÎo×ËÉ ÄÌÑ ÔeËyÝeÇo ÐpoÃecca
ÇpaÎÉÃÙ ceÇÍeÎÔa ÄaÎÎÙx, Ô.e. aÄpeca Ðep×oÊ ÑÞeÊËÉ ÐaÍÑÔÉ,
ÎaxoÄÑÝeÊcÑ Úa ËoÎÃoÍ ceÇÍeÎÔa ÄaÎÎÙx ÐpoÃecca. PaÚÍep
ceÇÍeÎÔa y×eÌÉÞÉ×aeÔcÑ, ecÌÉ ÇpaÎÉÃa ×oÚpacÔaeÔ.
Sbrk ÄoÂa×ÌÑeÔ incr ÂaÊÔo× Ë ÚÎaÞeÎÉÀ ÇpaÎÉÃÙ ceÇÍeÎÔa É cooÔ×eÔcÔ×yÀÝÉÍ oÂpaÚoÍ ÉÚÍeÎÑeÔ ×ÙÄeÌeÎÎoe ceÇÍeÎÔy ÍecÔo. Incr ÍoÖeÔ ÂÙÔØ oÔpÉÃaÔeÌeÎ, ÞÔo yÍeÎØÛaeÔ ÚÎaÞeÎÉe ÇpaÎÉÃÙ É paÚÍep ceÇÍeÎÔa.
B cÌyÞae ÂoÌØÛoÊ ÍoÄeÌÉ ÐaÍÑÔÉ ÄÌÑ 286 ÐpoÃeccopa, ecÌÉ incr ÂoÌØÛe ÞÉcÌa ÂaÊÔo×, ocÔa×ÛÉxcÑ Äo ËoÎÃa ceÇÍeÎÔa, sbrk a×ÔoÍaÔÉÞecËÉ paÚÍeÝaeÔ ÔpeÂyeÍÙe ÂaÊÔÙ × Îo×oÍ ceÇÍeÎÔe ÄaÎÎÙx. TeÍ caÍÙÍ ÇapaÎÔÉpyeÔcÑ ÐpÉÎaÄÌeÖÎocÔØ ÚaÐpoÛeÎÎÙx ÂaÊÔo× oÄÎoÍy ceÇÍeÎÔy. EcÌÉ incr oÔpÉÃaÔeÌeÎ É eÇo aÂcoÌÀÔÎoe ÚÎaÞeÎÉe pa×Îo ÄÌÉÎe ÔeËyÝeÇo ceÇÍeÎÔa ÄaÎÎÙx, ceÇÍeÎÔ a×ÔoÍaÔÉÞecËÉ oc×oÂoÖÄaeÔcÑ. EcÌÉ incr oÔpÉÃaÔeÌeÎ É eÇo aÂcoÌÀÔÎoe ÚÎaÞeÎÉe ÂoÌØÛe ÄÌÉÎÙ ÔeËyÝeÇo ceÇÍeÎÔa, ceÇÍeÎÔ oc×oÂoÖÄaeÔcÑ É ÄoÐoÌÎÉÔeÌØÎÙe ÂaÊÔÙ yÄaÌÑÀÔcÑ ÉÚ ÐpeÄÙÄyÝeÇo ceÇÍeÎÔa ÄaÎÎÙx. ðpeÄÙÄyÝÉÍ Ñ×ÌÑeÔcÑ ceÇÍeÎÔ, coÄepÖaÝÉÊ ÄaÎÎÙe, ×ÙÄeÌeÎÎÙe ÐocÌeÄÎÉÍ ×ÙÚo×oÍ sbrk, Îe oÔÎocÑÝÉÍcÑ Ë ÄaÎÎoÍy ceÇÍeÎÔy.
Sbrk a×apÉÊÎo Úa×epÛaeÔcÑ É paÚÍep ceÇÍeÎÔa Îe ÉÚÍeÎÑeÔcÑ, ecÌÉ ×ÙÐoÌÎÑeÔcÑ xoÔÑ ÂÙ oÄÎo ÉÚ cÌeÄyÀÝÉx ycÌo×ÉÊ:
ðoÐÙÔËa oc×oÂoÄÉÔØ ÐaÍÑÔÉ ÂoÌØÛe, ÞeÍ ee ÂÙÌo y ÐpoÃecca.
ðoÐÙÔËa ycÔaÎo×ÉÔØ ÇpaÎÉÃy ceÇÍeÎÔa ÍeÎØÛe Ðep×oÎaÞaÌØÎoÊ. ðep×oÎaÞaÌØÎaÑ ÇpaÎÉÃa ÜÔo ÇpaÎÉÃa × ÍoÍeÎÔ cÔapÔa ÐpoÃecca ÐÌÀc ÄÌÉÎa paÚÄeÌÑeÍÙx ÄaÎÎÙx, ËoÔopÙe ÂÙÌÉ ×ÙÄeÌeÎÙ ÐocÌe ÜÔoÇo.
Brk ycÔaÎa×ÌÉ×aeÔ ÇpaÎÉÃy ceÇÍeÎÔa pa×ÎoÊ ÚÎaÞeÎÉÀ addr É cooÔ×eÔcÔ×yÀÝÉÍ oÂpaÚoÍ ÉÚÍeÎÑeÔ ×ÙÄeÌeÎÎoe ceÇÍeÎÔy ÍecÔo. Brk Úa×epÛaeÔcÑ c oÛÉÂËoÊ, ecÌÉ yËaÚaÎÎÙÊ aÄpec ÚaÄaeÔ ÎecyÝecÔ×yÀÝÉÊ ceÇÍeÎÔ ÉÌÉ Ðpe×ÙÛaeÔ ÄoÐycÔÉÍÙÊ cÉcÔeÍoÊ ÐpeÄeÌ.
BOú÷PAýAEíOE úîAþEîéE
B cÌyÞae ycÐeÛÎoÇo Úa×epÛeÎÉÑ sbrk ×oÚ×paÝaeÔ yËaÚaÔeÌØ Îa
ÎaÞaÌo ×ÙÄeÌeÎÎoÇo ÍecÔa, a brk ×oÚ×paÝaeÔ 0. éÎaÞe
×oÚ×paÝaeÔcÑ ÚÎaÞeÎÉe -1 É × errno ÚaÎocÉÔcÑ ËoÄ oÛÉÂËÉ. B
cÌyÞae ÂoÌØÛoÊ ÍoÄeÌÉ ÐaÍÑÔÉ sbrk coÚÄaeÔ Îo×ÙÊ ceÇÍeÎÔ
ÄaÎÎÙx É ×oÚ×paÝaeÔ eÇo cÔapÔo×ÙÊ aÄpec.
óí. ôáëöå
exec(3)
úAíEþAîéñ
B cÌyÞae ÂoÌØÛoÊ ÍoÄeÌÉ ÐaÍÑÔÉ ÄÌÑ 286 ÐpoÃeccopa ×ÙÚo×
"sbrk(0)" Îe oÂÑÚaÔeÌØÎo ×oÚ×paÝaeÔ cÔapÔo×ÙÊ aÄpec
cÌeÄyÀÝeÇo ×ÙÚo×a sbrk. B ÞacÔÎocÔÉ, ÔaË ÂyÄeÔ, ecÌÉ
cÌeÄyÀÝÉÊ ×ÙÚo× coÚÄaeÔ Îo×ÙÊ ceÇÍeÎÔ ÄaÎÎÙx. BoÚ×paÝaeÍoe
×ÙÚo×oÍ "sbrk(0)" ÚÎaÞeÎÉe cÌeÄyeÔ ÉcÐoÌØÚo×aÔØ ÄÌÑ
oÐpeÄeÌÎÉÑ ÉcxoÄÎoÊ ÇpaÎÉÃÙ ceÇÍeÎÔa ÄaÎÎÙx.
|