Man pages íà ðóññêîì

         

SBRK(3)XENIX System V (21 èþíÿ 1987)


ÍÀÇÂÀÍÈÅ

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ì. . Èçì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âèé:

[ENOMEM] Çaïpoøeío áoëüøe ïaìÿòè, ÷eì äoïycêaeò cècòeìa (cì. ulimit(3)).

Ï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.

ÑÌ. ÒÀÊÆÅ

Ç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.



Ñîäåðæàíèå ðàçäåëà