txt.version   



:: 7.7 :

7.7

brk . :


brk(endds);


endds ( ). , :

oldendds = sbrk(increment);

oldendds , increment , oldendds . Sbrk , brk. , , ; , . , - , , , ( 7.26). , growreg, (, ) , . ; , ( 9). brk , ; , , .


brk

:

:

{

;

if ( )

if ( ) {

;

return ();

}

( growreg);

;

;

}

7.26. brk


7.27 , brk, , AT&T 3B20. signal (segmentation violation), sbrk . , , , , , . , sbrk , 256 ; , .. , 3B20, . , , , , , .. (, ). , ( 7.27): sbrk 140924, , 388 , 3B20 2 . , , , 141312. 256, 141180 , , . , , 141312. sbrk , , 2 , 143360, . , sbrk, . , , .

, , , brk. , exec, . , . , . , . .


#include signal.h

char *cp;

int callno;

main() {

char *sbrk();

extern catcher();

signal(SIGSEGV, catcher);

cp = sbrk(0);

printf("original brk value %u\n", cp);

for (;;) *cp++ = 1;

}

catcher(signo)

int signo;

{

callno++;

printf("caught sig %d %dth call at addr %u\n", signo, callno, cp);

sbrk(256);

signal(SIGSEGV, catcher);

}


original brk value 140924

caught sig 11 1th call at addr 141312

caught sig 11 2th call at addr 141312

caught sig 11 3th call at addr 143360

( 10- sbrk)

caught sig 11 10th call at addr 143360

caught sig 11 11th call at addr 145408

( 18- sbrk)

caught sig 11 18th call at addr 145408

caught sig 11 19th call at addr 145408

-

-

7.27. , brk,




7.7 :

 
UNIX : 1.1 :
1.2 : 1.3 :
1.3.1 : 1.3.2 :
1.3.3 : 1.4 :
1.5 : 9 :
1.1 : 1.2 :
1.3.1 : 1.3.2 :
1.3.3 : 1.3.1 :
1.3.2 : 1.3.3 :
1.4 : 1.5 :
20 2.1 UNI :
2.2 : 2.2.1 :
2.2.2 : 25 :
2.2.2.1 : 2.2.2.3 :
2.2.2.4 : 2.5 :
2.1 UNI : 2.2.1 :
2.2.2 : 33 :
2.2.2.1 : 2.2.2.3 :
2.2.2.4 : 2.2.1 :
2.2.2 : 2.2.2.1 :
2.2.2.3 : 2.2.2.4 :
42 2.2.2.1 :
2.2.2.3 : 2.2.2.4 :
2.5 : 3. () :
3.1 : 3.2 ( ) :
3.3 : 3.4 :
3.5 : 3.6 :
3.7 : 55
3.1 : 3.2 ( ) :
3.3 : 3.4 :
3.5 : 3.6 :
3.7 : 4. :
4.1 : 4.1.1 :
4.1.2 : 4.2 :
4.3 : 4.4 ( ) :
4.6 : 4.7 :
4.9 : 4.10 :
74 4.1 :
4.1.2 : 4.1.1 :
4.1.2 : 4.2 :
4.3 : 4.4 ( ) :
4.6 : 4.7 :
4.9 : 4.10 :
5. : 5.1 OPEN :
5.2 READ : 5.3 WRI :
5.5 , - LSEE : 5.6 CLOS :
5.7 : 5.8 :
5.9 : 5.12 :
5.12.1 pip : 5.12.2 :
5.12.3 : 5.12.5 :
5.13 DU : 5.14 :
102 : 5.14.1 :
5.14.2 : 5.15 LIN :
5.16 UNLIN : 107 :
5.16.1 : 5.16.2 :
5.17 : 5.18 :
5.20 : 113
5.1 OPEN : 5.2 READ :
5.3 WRI : 5.5 , - LSEE :
5.6 CLOS : 5.7 :
5.8 : 5.9 :
5.12.1 pip : 5.12.2 :
5.12.3 : 5.12.5 :
5.12.1 pip : 5.12.2 :
5.12.3 : 5.12.5 :
5.13 DU : 5.14 :
5.14.1 : 5.14.2 :
134 5.14.1 :
5.14.2 : 5.15 LIN :
5.16 UNLIN : 5.16.1 :
5.16.2 : 141
5.16.1 : 5.16.2 :
5.17 : 5.18 :
5.20 : 6.1 :
6.2 : 149 :
6.2.1 : 6.2.2 :
6.2.3 : 6.2.4 :
6.3 : 6.4 :
6.4.1 : 6.4.2 :
6.4.3 : j159.html
6.5 : 161 :
6.5.2 : 6.5.3 :
6.5.4 : 6.5.5 :
6.5.8 : 6.6 :
6.6.1 , , : 6.6.2 :
6.7 : 6.8 :
6.1 : 6.2 :
6.2.1 : 175
6.2.1 : 6.2.2 :
6.2.3 : 6.2.4 :
6.3 : 6.4.1 :
6.4.2 : 6.4.3 :
j184.html 6.4.1 :
6.4.2 : 6.4.3 :
j188.html 6.5 :
6.5.2 : 6.5.3 :
6.5.4 : 6.5.5 :
6.5.8 : 195
6.5.2 : 6.5.3 :
6.5.4 : 6.5.5 :
6.5.8 : 6.6.1 , , :
6.6.2 : 6.6.1 , , :
6.6.2 : 6.7 :
6.8 : 7. :
7.1 : 7.2 :
210 : 7.2.1 :
7.2.3 : 7.3 :
7.4 : 7.5 :
7.6 : 7.7 :
7.8 SHELL : 7.9 :
7.10 : 7.11 :
222 7.1 :
7.2 : 7.2.1 :
7.2.3 : 227
7.2.1 : 7.2.3 :
7.3 : 7.4 :
7.5 : 7.6 :
7.7 : 7.8 SHELL :
7.9 : 7.10 :
7.11 : 8.1 :
8.1.2 : 8.1.3 :
8.1.5 : 8.1.6 :
8.2 , : 8.3 :
246 : 8.3.2 - :
8.3.3 : 8.3.4 :
8.5 : 8.1.2 :
8.1.3 : 8.1.5 :
8.1.6 : 8.1.2 :
8.1.3 : 8.1.5 :
8.1.6 : 8.2 , :
8.3 : 8.3.2 - :
8.3.3 : 8.3.4 :
264 8.3.2 - :
8.3.3 : 8.3.4 :
8.5 : 9. :
9.1 : 9.1.1 :
9.1.2 : 273 :
9.1.3 () : 9.2 :
276 : 9.2.1 , :
278 : 9.2.1.1 fork :
9.2.1.2 exec : 9.2.2 "" :
9.2.3 : 9.2.3.1 - :
9.2.3.2 : 9.2.4 :
9.3 : 9.4 :
9.5 : 289
9.1.1 : 9.1.2 :
292 : 9.1.3 () :
9.1.1 : 9.1.2 :
296 9.1.3 () :
9.2 : 9.2.1 , :
300 : 9.2.1.1 fork :
9.2.1.2 exec : 9.2.2 "" :
9.2.3 : 9.2.3.1 - :
j306.html 9.2.4 :
308 9.2.1 , :
9.2.1.1 fork : 9.2.1.2 exec :
312 9.2.1.1 fork :
9.2.1.2 exec : 9.2.2 "" :
9.2.3.1 - : 9.2.3.2 :
9.2.3.1 - : 9.2.3.2 :
9.2.4 : 9.3 :
9.4 : 9.5 :
10. - : 10.1 :
10.1.1 : 10.1.2 :
328 : 10.1.2.1 Open :
10.1.2.2 Clos : 10.1.2.3 Read Writ :
10.1.2.4 : 10.1.2.5 Ioctl :
10.1.3 : 10.2 :
10.3 : 337 :
10.3.1 : 10.3.2 :
10.3.3 : 10.3.4 :
10.3.5 : 10.3.6 :
10.3.7 : 10.4 :
346 : 10.4.1 :
10.4.2 : 10.5 :
10.6 : 351
10.1.1 : 10.1.2 :
354 : 10.1.2.1 Open :
10.1.2.2 Clos : 10.1.2.3 Read Writ :
10.1.2.4 : 10.1.2.5 Ioctl :
10.1.3 : 10.1.1 :
10.1.2 : 10.1.2.1 Open :
10.1.2.2 Clos : 10.1.2.3 Read Writ :
10.1.2.4 : 10.1.2.5 Ioctl :
368 10.1.2.1 Open :
10.1.2.2 Clos : 10.1.2.3 Read Writ :
10.1.2.4 : 10.1.2.5 Ioctl :
10.1.3 : 10.2 :
10.3 : 10.3.1 :
10.3.2 : 10.3.3 :
10.3.4 : 10.3.5 :
10.3.6 : 10.3.7 :
384 10.3.1 :
10.3.2 : 10.3.3 :
10.3.4 : 10.3.5 :
10.3.6 : 10.3.7 :
10.4 : 10.4.1 :
10.4.2 : 395
10.4.1 : 10.4.2 :
10.5 : 10.6 :
11.1 : 11.2 V :
402 : 11.2.1 :
11.2.2 : 11.2.3 :
11.2.4 : 11.3 :
11.4 : 11.6 :
11.1 : 11.2 V :
11.2.1 : 11.2.2 :
11.2.3 : 11.2.4 :
416 11.2.1 :
11.2.2 : 11.2.3 :
11.2.4 : 11.3 :
11.4 : 11.6 :
12.1 , : 12.2 :
12.3 : 427 :
12.3.2 : 12.3.3 :
12.3.3.1 : 12.3.3.3 :
12.3.3.4 : 12.6 :
12.1 , : 12.2 :
12.3 : 12.3.2 :
12.3.3 : 12.3.3.1 :
12.3.3.3 : 12.3.3.4 :
442 12.3.2 :
12.3.3.1 : 12.3.3.3 :
12.3.3.4 : 12.3.3.1 :
12.3.3.3 : 12.3.3.4 :
12.6 : 13. :
13.1 : 13.2 NEWCASTL :
13.3 "" : 13.4 :
13.5 : 13.6 :
458 13.1 :
13.2 NEWCASTL : 13.3 "" :
13.4 : 13.5 :
13.6 : :
: : UNIX

(375)
(102)
(75)
(49)
(29)
(16)
(6)


Microsoft Office    32  5  2006    34  18  2006