, "- " . - . "" , - . : ( ) +----------------------+-----------+ | | 0 | +----------------------+-----------+ | | 1 | +----------------------+-----------+ | | 2 | +----------------------+-----------+ | | 0 | +----------------------+-----------+ | | 1 | +----------------------+-----------+ | | 0 | +----------------------+-----------+ | | 1 | +----------------------+-----------+ | | 2 | +----------------------+-----------+ | | 3 | +----------------------+-----------+ | | | +----------------------+-----------+ 9.19. "" 275 1. , "" - : "" - ; . - ( - ), . 2. - ( ), - ( ), pfdata . 3. , - , - . "" , 1 3. , - , - , . , - . , "" - . - , . - , - , - , - , , - . - , , - . "" , - , . , - : , , - , "" . , - , , 9.1.2. - , ( - ), . - , , , . , - pfdata. 0, pfdata - . 0, , ( - fork) , - . , , - . , , , , 276 , . , - , "- " . , , "" 30, 40, 50 20 A, B, C D, , 64 . 9.20 - , "" - : A, B, C, D. "" 64 30 A 34 B. 64 6 B, 50 C 8 D. . "" 12 D , , - . ( ), . , . "" , - , . ( ), - , pfdata 64 +--------------------+ +-------------------+ +-------------------+ | A 30 - | | B 6 - | | D 12 - | | | | | | - | | B 34 -| | C 50 -| | - | +--------------------+ | | | - | - - | D 8 - | +-------------------+ - -+-------------------+ - - - - - - - - - - - - - - - - - - - - +-------+-------------------+-------+-----------------+----------+ | | A 30 B 34 | | B 6 C 50 D 8 | | +-------+-------------------+-------+-----------------+----------+ 9.20. 0, . , . 9.2.3  : - () . - , , - . , 277 , , ; , . 9.2.3.1 -  , , - () (- 9.21). , , , , . - , - . , - , "" , - . - , - - " " (. 7.25). - , , , - , , "" . , - - . , , : 1. . 2. . 3. . 4. " ". 5. " ". . , ( 1), , - , - "" . , , , , . - , , - , pfdata - ( ) . - -; , . 9.22 , 66. - , - , 847 ( , ): , . , 847. , - . 1776 ( 9.23), - - 1776. - 278 +------------------------------------------------------------+ | vfault /* - | | () */ | | : , | | : | | { | | , , -| | , , | | , ; | | ( -| | ) | | { | | (SIGSEGV: ) - | | ; | | out; | | } | | ( ) /* , -| | - | | */ | | out; | | ( ) | | { | | ; | | ; | | ( -| | ) /* , | | * */ | | ; | | } | | /* */| | { | | ; | | | | , - | | pfdata; | | ( | | " ") | | ; | | | | { | | -| | ; | | ( -); | | } | | ( | | ); | | } | | ; | | "" ; | | ; | | out: ; | | } | +------------------------------------------------------------+ 9.21. - (- ) 279 , , , pfdata, , 847 . - - -, , ( 2). , - - . - , - . , - . , , - - - - - - - - - +-----+--------+++-------+---------+ +----+------+----+ 0 | | ||| | | | | | | +-----+--------+++-------+---------+ | | | | 1 | 1648| - ||| | 3 | | | | | | | ||| | | | | | | +-----+--------+++-------+---------+ | | | | 2 | | ||| | | | | | | +-----+--------+++-------+---------+ | | | | 3 | | - |||| 5 | | | | | | | ||| | | | | | | | | ||| -| | | | | | | | |||| | | | | | +-----+--------+++-------+---------+ +----+------+----+ 4 | | ||| | | |1036| 387 | 0 | +-----+--------+++-------+---------+ +----+------+----+ - | | ||| | | | - | | | - | | ||| | | | - | | | - | | ||| | | +----+------+----+ - | | ||| | | |1648| 1618 | 1 | +-----+--------+++-------+---------+ +----+------+----+ 64 | 1917| - ||| -| 1206 | | - | | | | | ||| | | | - | | | +-----+--------+++-------+---------+ | - | | | 65 | | - |||-| | | - | | | | | ||| | | | - | | | | | ||| -| | | - | | | | | |||| | | - | | | +-----+--------+++-------+---------+ +----+------+----+ 66 | 1036| - ||| -| 847 | |1861| 1206 | 0 | | | ||| | | +----+------+----+ +-----+--------+++-------+---------+ | | | | 67 | | ||| | | | | | | +-----+--------+++-------+---------+ +----+------+----+ 9.22. - 280 64 ( 9.22). - , , 1861 1206. - 64 1861, . , - pfdata, . , - , - , . - - - - - - - - +-----+--------+++-------+---------+ +----+------+----+ 66 | 1776| -||| -| 847 | |1776| 847 | 1 | | | ||| | | | | | | +-----+--------+++-------+---------+ +----+------+----+ 9.23. A B +------------------------------------------------------------ | - - - | - - | - - | - - | - - | - - | - - - | - - | - - | - - | - - | - - | - - | - - - | -- - - | - - | - - | - - | - - | - - | - | - - | - - - | - - | - - - | - - - | - v 9.24. 281 , . , - , , - , . 9.24. , ( 3), . - , , , , - . , - exec. . , , - , 1, , , - 3 (. 9.22). , " " " " ( 4 5), - . " ", . " - " " " . , - , . , 3 65 (. 9.22): , exec. - () . , - , - . , , , - , - . 9.2.3.2  , , , , , , , . ( , ; . 7.22). , - , - fork . , , , - - . - , , - ( 9.25). , "" , . , , - , ; 282 . - pfdata, . - 9.26, 828. B , - , . - 786, 828, 786. , , - . - ( ), - , - . pfdata , - +------------------------------------------------------------+ | pfault /* */ | | : , | | : | | { | | , , -| | , , | | , ; | | ( ) | | out; | | ( ) | | out; /* - */| | ( > 1) | | { | | ; | | ; | | - | | ; | | - | | ; | | } | | /* , | | * */ | | { | | ( )| | , | | ; | | ( - ) | | -; | | } | | , | | ; | | ; | | , ; | | out: ; | | } | +------------------------------------------------------------+ 9.25. 283 . , - , 0, - (. 9.11). , , , - , , - - ( - 9.17). , , - , "" . - ( ), - . - , . , - - , , "" . - 9.27. - A +-----------------------------------------------+ | 828: , +-+ +-----------------------------------------------+ | | - B | +-----------+ +-----------------------------------------------+ +->| | | 828: , +--->| 828 | +-----------------------------------------------+ +->| | | | 3 | - C | +-----------+ +-----------------------------------------------+ | | 828: , +-+ +-----------------------------------------------+ () , B - A +-----------------------------------------------+ +-----------+ | 828: , +-+ | | +-----------------------------------------------+ | | 828 | +->| | - B +->| 2 | +-----------------------------------------------+ | +-----------+ | 828: ++| +-----------------------------------------------+|| +-----------+ +|->| | - C | | 786 | +-----------------------------------------------+ | | | | 828: , +-+ | 1 | +-----------------------------------------------+ +-----------+ () B 9.26. - - 284 - , . , , , , - - . , "" +------------------------------------------------------------ | - - | - | - - | - | - - | - | - - | - - | - | - - | - - | - | - , | - | - | - | - - | - - | - - | - - | - - | - - | - | - - | - - | - - - | - v 9.27. - 9.2.4  (- ) , - , " ". , , . , - , - , - , , - . , , VAX-11 (. [Levy 82]). - - . - , , , 285 , . "" , , - ; "" "" , , . , "" . "" , "" - , - - - - - - - - - - - - - +---------+----------+---------+ +---------+----------+---------+ | | | | | | | | +---------+----------+---------+ +---------+----------+---------+ () () 9.28. "" - . 9.28. 9.3  , , , "" - - . - , , - . "" - , . - , , . V , . , , - " , ".