, . , . , . , . , , , , .
:
- (swapping) ;
- (virtual memory) (, . .) .
, , . : , , , , , . , . , . , , , : , .
1 , UNIX, SVR4, , .
- 1. , , , , .
, , . , , , . .
|
|
- , .
- , ,
- - : , . . .
, , , , , . (page file, paging file). , : , ( ). , , . , .
. 5.12 . , , (virtual pages). , .
, ( , ). : 512, 1024, 4096 . . .
. 5.12.
( ). . . , .
, , :
- , ;
- , , ;
- , , , ;
- , , , .
, , . , . , , . . .
|
|
, , , 1. , , , , . , . , , . ( ) . , , , , .
, , . , . , , , . . , .
1 , .
(, - ).
(, sv), ( 0), a sv . (n, sf), n , a sf . (, sv) (n, sf).
, .
|
|
, 2k. , s k , ( , ). , 1 (210), 50718 = 101 000 111 0012 , , 102 1 000 111 0012 (. 5.13).
. 5.13.
, k , . , ( ^ ), . .
, , , sv sf (. 5.14).
. 5.14.
(. 5.15). , , . , , , .
, . :
1. AT . , ( ) L ( ) : a=AT+(pxL).
2. n.
3. s ( ).
3-4 ( , , ). , . , .
. 5.15.
. , , (). , , , , .
|
|
, , , , , . , , .
, : , . , , . , . , , , , , , , . , . , , . .
. . . . , - , . . - 1 ( ), 0, . - , , . , .
, , , . : , , .
. ? , , . , , . , , . , , . , . , , 86 Pentium Intel, , , 4096 (4 )1.
1 Pentium 4 - ' 4 .
. , . , , , 4 (232), 4 (212) 4 4 ! , , , .
|
|
, , (. 5.16). , . (2k 2" ), , : k , , ( ) .
. , . , Pentium 4 4 , , 1024. , . , . . , , , .
, . , , , , , , . , .
. 5.16.
(. 5.17).:
1. k+n , .
2. . , . , .
3. , . .
4. ( ) , . , k . .
. 5.17.
, . . , . , -, , -, , . , ( Novell NetWare 3.x 4.x).
, . , , . , . , , , .
, . , , , . . , , . (. 5.18).
, , . , . . , . , 32- 4 . N , 4 . 0000000016 FFFFFFFF16. , , : .
1 (reentrantable) , . , .
. 5.18.
, . . . , , , . , , . , , , , .
( ), :
- ;
- ;
- ;
- , , .
, , .
, .
, , , . (g, s), g , a s . , g s (. 5.19).
. 5.19.
, . , , , . , , . , , . , , . .
. , , . , . , .
, - . , . , , , .
: , , , .
. , , , , , , . .
-
.
, . .
, . , , .
- (. 5.20, ) (. 5.20, ).
- . -, , , -, , , . , - . - , .
. 5.20.
, () . , , . . , , ( . 5.20 SI, S2, S3, fl, f2, f3).
, ( , ), , .
, . , . , . , . , . , .
. .
(. 5.21):
1. . , ( , ), . . . , , , , .
2. . . , , ( , ). , . , . , 2k, k , , , . , : , , , , , , .
. 5.21. -
, . - , , . , , . . , , . , . , , . Intel 1386, i486 Pentium.
, . , , , , . , , . ( , , ).
, , . , . , .
, . , . - .
. 5.22. -
. 5.22 .
1. , , .
2. , , , .
3. .
, (shared memory).
, , , . , , , . , , ( ). , , , , , . .
. , .
, , , . : - ( , ). , . - .
, (. 5.23, ) ( , - ). .
. 5.23.
, , (. 5.23, ). ( ) , .
, , . . , , , ( ). , , : shared () private ().
, . , : , (/) . , , , .
, . . , , . - , , , , .
, .
(), , (. 5.24). , , . ( ), . .
( 1 10-20 ) ( ) , DRAM.
, , SRAM, , 8 .
1 . , .
, , . , 2-3 .
. 5.24.
, , . , . , . - .
-
-, (cache), , , , , , , .
- . ; , , .
-, , , .
, , . , -.
, , . , . - , , - , . , . , , , , . , .
-
(. 5.25). - . :
- ;
- , ;
- , .
- , . - , . :
- -, - (cache-hit), ;
- -, - (cache-miss), , -.
. 5.25. -
, . -. tl -, t2, , t2<tl. t -, -. :
t - t1(d - ) + t2p - (t2 -t1)p + t1
- t1 =0 - t2 =1. , - -.
, , , , , , , , . - - 90 %. - : .
- . , .
- . , .
, , , , , . , - , : , , , . , , , , , , .
-: , - , , , . , , - . , , . , .
- , , . - ( ), , *-, . - . , -, , -, -, -. - - , , , , .
. , , . :
- (write through). , , . , . , , , .
- (write back). , , . -, ( ), , , .
, , , . - , , .
, -. , - . : .
-. , , , . , . - . , , (. 5.26). , , (tag). - . , . - , .
, , , - . . , , , , , .
. 5.26.
, , -. - , 1 . - : ( ) .
, - ( ). , - 1024 , 1024 , 0 1023. - 10 (. 5.27).
1 .
, . , , . - , . -.
. 5.27.
-, . -, , , . , - - . -, , -, .
- , . -* (