home *** CD-ROM | disk | FTP | other *** search
open in:
MacOS 8.1
|
Win98
|
DOS
browse contents |
view JSON data
|
view as text
This file was processed as: Mailbox/MIME Entity
(archive/mbox).
Confidence | Program | Detection | Match Type | Support
|
---|
100%
| dexvert
| Mailbox/MIME Entity (archive/mbox)
| magic
| Supported |
100%
| dexvert
| Internet Message Format (text/imf)
| magic
| Supported |
1%
| dexvert
| Text File (text/txt)
| fallback
| Supported |
100%
| file
| Mailbox text, 1st line "From jsq@cs.utexas.edu Thu Jan 3 20:15:19 1991", ASCII text
| default
| |
100%
| TrID
| E-Mail message (Var. 2)
| default
| |
100%
| checkBytes
| Printable ASCII
| default
| |
100%
| perlTextCheck
| Likely Text (Perl)
| default
| |
100%
| siegfried
| x-fmt/111 Plain Text File
| default
| |
100%
| detectItEasy
| Format: plain text[LF]
| default (weak)
| |
100%
| xdgMime
| application/mbox
| default
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 46 72 6f 6d 20 6a 73 71 | 40 63 73 2e 75 74 65 78 |From jsq|@cs.utex|
|00000010| 61 73 2e 65 64 75 20 20 | 54 68 75 20 4a 61 6e 20 |as.edu |Thu Jan |
|00000020| 20 33 20 32 30 3a 31 35 | 3a 31 39 20 31 39 39 31 | 3 20:15|:19 1991|
|00000030| 0a 52 65 63 65 69 76 65 | 64 3a 20 66 72 6f 6d 20 |.Receive|d: from |
|00000040| 63 73 2e 75 74 65 78 61 | 73 2e 65 64 75 20 62 79 |cs.utexa|s.edu by|
|00000050| 20 75 75 6e 65 74 2e 55 | 55 2e 4e 45 54 20 28 35 | uunet.U|U.NET (5|
|00000060| 2e 36 31 2f 31 2e 31 34 | 29 20 77 69 74 68 20 53 |.61/1.14|) with S|
|00000070| 4d 54 50 20 0a 09 69 64 | 20 41 41 31 37 30 35 32 |MTP ..id| AA17052|
|00000080| 3b 20 54 68 75 2c 20 33 | 20 4a 61 6e 20 39 31 20 |; Thu, 3| Jan 91 |
|00000090| 32 30 3a 31 35 3a 31 39 | 20 2d 30 35 30 30 0a 50 |20:15:19| -0500.P|
|000000a0| 6f 73 74 65 64 2d 44 61 | 74 65 3a 20 33 20 4a 61 |osted-Da|te: 3 Ja|
|000000b0| 6e 20 39 31 20 30 39 3a | 34 32 3a 30 34 20 47 4d |n 91 09:|42:04 GM|
|000000c0| 54 0a 52 65 63 65 69 76 | 65 64 3a 20 62 79 20 63 |T.Receiv|ed: by c|
|000000d0| 73 2e 75 74 65 78 61 73 | 2e 65 64 75 20 28 35 2e |s.utexas|.edu (5.|
|000000e0| 36 34 2f 31 2e 39 32 29 | 20 0a 46 72 6f 6d 3a 20 |64/1.92)| .From: |
|000000f0| 67 75 69 64 6f 40 63 77 | 69 2e 6e 6c 20 28 47 75 |guido@cw|i.nl (Gu|
|00000100| 69 64 6f 20 76 61 6e 20 | 52 6f 73 73 75 6d 29 0a |ido van |Rossum).|
|00000110| 4e 65 77 73 67 72 6f 75 | 70 73 3a 20 63 6f 6d 70 |Newsgrou|ps: comp|
|00000120| 2e 73 74 64 2e 75 6e 69 | 78 0a 53 75 62 6a 65 63 |.std.uni|x.Subjec|
|00000130| 74 3a 20 52 65 3a 20 71 | 66 6f 72 6b 28 29 20 28 |t: Re: q|fork() (|
|00000140| 54 68 65 20 53 70 61 77 | 6e 20 6f 66 20 73 70 61 |The Spaw|n of spa|
|00000150| 77 6e 28 29 29 0a 4d 65 | 73 73 61 67 65 2d 49 64 |wn()).Me|ssage-Id|
|00000160| 3a 20 3c 31 36 34 37 38 | 40 63 73 2e 75 74 65 78 |: <16478|@cs.utex|
|00000170| 61 73 2e 65 64 75 3e 0a | 52 65 66 65 72 65 6e 63 |as.edu>.|Referenc|
|00000180| 65 73 3a 20 3c 31 36 30 | 36 36 40 63 73 2e 75 74 |es: <160|66@cs.ut|
|00000190| 65 78 61 73 2e 65 64 75 | 3e 20 3c 31 36 32 37 31 |exas.edu|> <16271|
|000001a0| 40 63 73 2e 75 74 65 78 | 61 73 2e 65 64 75 3e 20 |@cs.utex|as.edu> |
|000001b0| 3c 31 36 33 30 37 40 63 | 73 2e 75 74 65 78 61 73 |<16307@c|s.utexas|
|000001c0| 2e 65 64 75 3e 20 3c 31 | 36 33 36 39 40 63 73 2e |.edu> <1|6369@cs.|
|000001d0| 75 74 65 78 61 73 2e 65 | 64 75 3e 0a 53 65 6e 64 |utexas.e|du>.Send|
|000001e0| 65 72 3a 20 6a 73 71 40 | 63 73 2e 75 74 65 78 61 |er: jsq@|cs.utexa|
|000001f0| 73 2e 65 64 75 0a 58 2d | 53 75 62 6d 69 73 73 69 |s.edu.X-|Submissi|
|00000200| 6f 6e 73 3a 20 73 74 64 | 2d 75 6e 69 78 40 75 75 |ons: std|-unix@uu|
|00000210| 6e 65 74 2e 75 75 2e 6e | 65 74 0a 44 61 74 65 3a |net.uu.n|et.Date:|
|00000220| 20 33 20 4a 61 6e 20 39 | 31 20 30 39 3a 34 32 3a | 3 Jan 9|1 09:42:|
|00000230| 30 34 20 47 4d 54 0a 52 | 65 70 6c 79 2d 54 6f 3a |04 GMT.R|eply-To:|
|00000240| 20 73 74 64 2d 75 6e 69 | 78 40 75 75 6e 65 74 2e | std-uni|x@uunet.|
|00000250| 55 55 2e 4e 45 54 0a 54 | 6f 3a 20 73 74 64 2d 75 |UU.NET.T|o: std-u|
|00000260| 6e 69 78 40 75 75 6e 65 | 74 2e 55 55 2e 4e 45 54 |nix@uune|t.UU.NET|
|00000270| 0a 0a 53 75 62 6d 69 74 | 74 65 64 2d 62 79 3a 20 |..Submit|ted-by: |
|00000280| 67 75 69 64 6f 40 63 77 | 69 2e 6e 6c 20 28 47 75 |guido@cw|i.nl (Gu|
|00000290| 69 64 6f 20 76 61 6e 20 | 52 6f 73 73 75 6d 29 0a |ido van |Rossum).|
|000002a0| 0a 70 65 74 65 72 40 66 | 69 63 63 2e 66 65 72 72 |.peter@f|icc.ferr|
|000002b0| 61 6e 74 69 2e 63 6f 6d | 20 28 50 65 74 65 72 20 |anti.com| (Peter |
|000002c0| 64 61 20 53 69 6c 76 61 | 29 20 77 72 69 74 65 73 |da Silva|) writes|
|000002d0| 3a 0a 0a 3e 59 65 73 2c | 20 66 6f 72 6b 28 29 20 |:..>Yes,| fork() |
|000002e0| 69 73 20 61 20 63 6c 65 | 61 6e 65 72 20 6d 65 74 |is a cle|aner met|
|000002f0| 68 6f 64 20 6f 66 20 63 | 72 65 61 74 69 6e 67 20 |hod of c|reating |
|00000300| 6e 65 77 20 70 72 6f 63 | 65 73 73 65 73 2e 20 59 |new proc|esses. Y|
|00000310| 65 73 2c 20 69 74 20 74 | 61 6b 65 73 0a 3e 61 20 |es, it t|akes.>a |
|00000320| 66 61 69 72 6c 79 20 63 | 6f 6d 70 6c 65 78 20 63 |fairly c|omplex c|
|00000330| 61 6c 6c 69 6e 67 20 73 | 65 71 75 65 6e 63 65 20 |alling s|equence |
|00000340| 74 6f 20 67 65 74 20 73 | 70 61 77 6e 28 29 20 74 |to get s|pawn() t|
|00000350| 6f 20 68 61 76 65 20 61 | 6e 79 74 68 69 6e 67 20 |o have a|nything |
|00000360| 6c 69 6b 65 0a 3e 74 68 | 65 20 66 75 6e 63 74 69 |like.>th|e functi|
|00000370| 6f 6e 61 6c 69 74 79 20 | 6f 66 20 66 6f 72 6b 28 |onality |of fork(|
|00000380| 29 2e 2e 2e 65 78 65 63 | 28 29 2e 20 42 75 74 20 |)...exec|(). But |
|00000390| 49 20 74 68 69 6e 6b 20 | 69 74 27 64 20 62 65 20 |I think |it'd be |
|000003a0| 77 6f 72 74 68 77 68 69 | 6c 65 20 74 6f 0a 3e 6c |worthwhi|le to.>l|
|000003b0| 65 74 20 61 20 6c 69 74 | 74 6c 65 20 68 65 72 65 |et a lit|tle here|
|000003c0| 73 79 20 69 6e 20 69 6e | 20 65 78 63 68 61 6e 67 |sy in in| exchang|
|000003d0| 65 20 66 6f 72 20 6d 61 | 6b 69 6e 67 20 50 4f 53 |e for ma|king POS|
|000003e0| 49 58 20 6d 6f 72 65 20 | 70 61 6c 61 74 61 62 6c |IX more |palatabl|
|000003f0| 65 20 74 6f 0a 3e 66 6f | 6c 6b 73 20 69 6e 20 70 |e to.>fo|lks in p|
|00000400| 6f 6f 72 65 72 20 65 6e | 76 69 72 6f 6e 6d 65 6e |oorer en|vironmen|
|00000410| 74 73 2e 0a 0a 49 20 6b | 6e 6f 77 20 6f 66 20 70 |ts...I k|now of p|
|00000420| 72 65 63 65 64 65 6e 74 | 73 20 65 76 65 6e 20 69 |recedent|s even i|
|00000430| 6e 20 4f 53 27 65 73 20 | 74 68 61 74 20 73 75 70 |n OS'es |that sup|
|00000440| 70 6f 72 74 20 66 6f 72 | 6b 28 29 3a 20 41 6d 6f |port for|k(): Amo|
|00000450| 65 62 61 20 61 6e 64 0a | 54 6f 70 61 7a 20 73 75 |eba and.|Topaz su|
|00000460| 70 70 6f 72 74 20 61 20 | 76 61 72 69 61 6e 74 20 |pport a |variant |
|00000470| 6f 66 20 77 68 61 74 20 | 79 6f 75 20 63 61 6c 6c |of what |you call|
|00000480| 20 73 70 61 77 6e 28 29 | 2e 20 20 28 4e 6f 74 65 | spawn()|. (Note|
|00000490| 20 74 68 61 74 20 74 68 | 65 0a 73 70 61 77 6e 28 | that th|e.spawn(|
|000004a0| 29 20 66 75 6e 63 74 69 | 6f 6e 73 20 66 6f 75 6e |) functi|ons foun|
|000004b0| 64 20 69 6e 20 4d 69 63 | 72 6f 73 6f 66 74 20 43 |d in Mic|rosoft C|
|000004c0| 20 66 6f 72 20 4d 53 2d | 44 4f 53 20 65 6d 75 6c | for MS-|DOS emul|
|000004d0| 61 74 65 20 65 69 74 68 | 65 72 20 6a 75 73 74 0a |ate eith|er just.|
|000004e0| 65 78 65 63 28 29 20 6f | 72 20 66 6f 72 6b 28 29 |exec() o|r fork()|
|000004f0| 2b 65 78 65 63 28 29 2b | 77 61 69 74 28 29 2c 20 |+exec()+|wait(), |
|00000500| 77 68 69 63 68 20 69 73 | 20 6d 75 63 68 20 6c 65 |which is| much le|
|00000510| 73 73 20 70 6f 77 65 72 | 66 75 6c 2c 20 62 75 74 |ss power|ful, but|
|00000520| 0a 61 6c 6c 20 74 68 61 | 74 20 4d 53 2d 44 4f 53 |.all tha|t MS-DOS|
|00000530| 20 63 61 6e 20 73 75 70 | 70 6f 72 74 20 28 6c 61 | can sup|port (la|
|00000540| 73 74 20 74 69 6d 65 20 | 49 20 6c 6f 6f 6b 65 64 |st time |I looked|
|00000550| 29 2e 29 0a 0a 41 6d 6f | 65 62 61 27 73 20 55 4e |).)..Amo|eba's UN|
|00000560| 49 58 20 65 6d 75 6c 61 | 74 69 6f 6e 20 73 75 70 |IX emula|tion sup|
|00000570| 70 6f 72 74 73 20 66 6f | 72 6b 28 29 2c 20 62 75 |ports fo|rk(), bu|
|00000580| 74 20 73 69 6e 63 65 20 | 41 6d 6f 65 62 61 20 68 |t since |Amoeba h|
|00000590| 61 73 20 6e 6f 20 76 69 | 72 74 75 61 6c 0a 6d 65 |as no vi|rtual.me|
|000005a0| 6d 6f 72 79 20 28 79 65 | 74 29 2c 20 69 74 20 69 |mory (ye|t), it i|
|000005b0| 73 20 66 61 69 72 6c 79 | 20 65 78 70 65 6e 73 69 |s fairly| expensi|
|000005c0| 76 65 2e 20 20 41 6e 20 | 61 6c 74 65 72 6e 61 74 |ve. An |alternat|
|000005d0| 69 76 65 20 66 75 6e 63 | 74 69 6f 6e 20 69 73 0a |ive func|tion is.|
|000005e0| 70 72 6f 76 69 64 65 64 | 2c 20 22 6e 65 77 70 72 |provided|, "newpr|
|000005f0| 6f 63 28 29 22 2c 20 77 | 68 69 63 68 20 63 72 65 |oc()", w|hich cre|
|00000600| 61 74 65 73 20 61 20 63 | 68 69 6c 64 20 70 72 6f |ates a c|hild pro|
|00000610| 63 65 73 73 20 72 75 6e | 6e 69 6e 67 20 61 0a 64 |cess run|ning a.d|
|00000620| 69 66 66 65 72 65 6e 74 | 20 70 72 6f 67 72 61 6d |ifferent| program|
|00000630| 20 28 61 6e 64 2c 20 62 | 65 63 61 75 73 65 20 69 | (and, b|ecause i|
|00000640| 74 20 69 73 20 41 6d 6f | 65 62 61 2c 20 61 6c 73 |t is Amo|eba, als|
|00000650| 6f 20 72 75 6e 6e 69 6e | 67 20 6f 6e 20 61 0a 64 |o runnin|g on a.d|
|00000660| 69 66 66 65 72 65 6e 74 | 20 70 72 6f 63 65 73 73 |ifferent| process|
|00000670| 6f 72 2c 20 69 6e 20 74 | 68 65 20 61 76 65 72 61 |or, in t|he avera|
|00000680| 67 65 20 63 61 73 65 29 | 20 6a 75 73 74 20 6c 69 |ge case)| just li|
|00000690| 6b 65 20 66 6f 72 6b 28 | 29 2b 65 78 65 63 28 29 |ke fork(|)+exec()|
|000006a0| 20 77 6f 75 6c 64 0a 64 | 6f 2c 20 6f 6e 6c 79 20 | would.d|o, only |
|000006b0| 6d 75 63 68 20 63 68 65 | 61 70 65 72 20 73 69 6e |much che|aper sin|
|000006c0| 63 65 20 74 68 65 20 70 | 61 72 65 6e 74 27 73 20 |ce the p|arent's |
|000006d0| 61 64 64 72 65 73 73 20 | 73 70 61 63 65 20 6e 65 |address |space ne|
|000006e0| 76 65 72 20 67 65 74 73 | 0a 63 6f 70 69 65 64 2e |ver gets|.copied.|
|000006f0| 0a 0a 41 6d 6f 65 62 61 | 27 73 20 6e 65 77 70 72 |..Amoeba|'s newpr|
|00000700| 6f 63 28 29 20 6c 65 74 | 73 20 79 6f 75 20 63 68 |oc() let|s you ch|
|00000710| 61 6e 67 65 20 74 68 65 | 20 74 77 6f 20 70 65 72 |ange the| two per|
|00000720| 68 61 70 73 20 6d 6f 73 | 74 20 69 6d 70 6f 72 74 |haps mos|t import|
|00000730| 61 6e 74 0a 62 69 74 73 | 20 6f 66 20 22 6b 65 72 |ant.bits| of "ker|
|00000740| 6e 65 6c 20 73 74 61 74 | 65 22 20 74 68 61 74 20 |nel stat|e" that |
|00000750| 70 72 6f 67 72 61 6d 73 | 20 66 69 64 64 6c 65 20 |programs| fiddle |
|00000760| 62 65 74 77 65 65 6e 20 | 66 6f 72 6b 28 29 20 61 |between |fork() a|
|00000770| 6e 64 20 65 78 65 63 28 | 29 3a 0a 74 68 65 20 73 |nd exec(|):.the s|
|00000780| 65 74 20 6f 66 20 73 69 | 67 6e 61 6c 73 20 74 6f |et of si|gnals to|
|00000790| 20 62 65 20 69 67 6e 6f | 72 65 64 20 61 6e 64 20 | be igno|red and |
|000007a0| 74 68 65 20 73 65 74 20 | 6f 66 20 6f 70 65 6e 20 |the set |of open |
|000007b0| 66 69 6c 65 20 64 65 73 | 63 72 69 70 74 6f 72 73 |file des|criptors|
|000007c0| 2e 0a 54 68 65 20 69 6e | 74 65 72 66 61 63 65 20 |..The in|terface |
|000007d0| 6c 65 74 73 20 79 6f 75 | 20 73 70 65 63 69 66 79 |lets you| specify|
|000007e0| 20 61 20 62 69 74 6d 61 | 73 6b 20 6f 66 20 73 69 | a bitma|sk of si|
|000007f0| 67 6e 61 6c 73 20 74 68 | 61 74 20 61 72 65 20 74 |gnals th|at are t|
|00000800| 6f 20 62 65 0a 69 67 6e | 6f 72 65 64 20 69 6e 20 |o be.ign|ored in |
|00000810| 74 68 65 20 63 68 69 6c | 64 20 28 6f 72 20 2d 31 |the chil|d (or -1|
|00000820| 20 74 6f 20 69 6e 68 65 | 72 69 74 20 74 68 65 20 | to inhe|rit the |
|00000830| 70 61 72 65 6e 74 27 73 | 20 69 67 6e 6f 72 65 64 |parent's| ignored|
|00000840| 20 73 69 67 6e 61 6c 73 | 29 0a 61 6e 64 20 61 6e | signals|).and an|
|00000850| 20 61 72 72 61 79 20 6f | 66 20 66 69 6c 65 20 64 | array o|f file d|
|00000860| 65 73 63 72 69 70 74 6f | 72 73 20 77 68 69 63 68 |escripto|rs which|
|00000870| 20 70 72 6f 76 69 64 65 | 73 20 61 20 6d 61 70 70 | provide|s a mapp|
|00000880| 69 6e 67 20 62 65 74 77 | 65 65 6e 20 66 69 6c 65 |ing betw|een file|
|00000890| 0a 64 65 73 63 72 69 70 | 74 6f 72 73 20 69 6e 20 |.descrip|tors in |
|000008a0| 74 68 65 20 70 61 72 65 | 6e 74 20 61 6e 64 20 69 |the pare|nt and i|
|000008b0| 6e 20 74 68 65 20 63 68 | 69 6c 64 20 28 61 6c 73 |n the ch|ild (als|
|000008c0| 6f 20 77 69 74 68 20 61 | 6e 20 6f 70 74 69 6f 6e |o with a|n option|
|000008d0| 20 74 6f 0a 69 6e 68 65 | 72 69 74 20 61 6c 6c 20 | to.inhe|rit all |
|000008e0| 66 69 6c 65 20 64 65 73 | 63 72 69 70 74 6f 72 73 |file des|criptors|
|000008f0| 20 66 72 6f 6d 20 74 68 | 65 20 70 61 72 65 6e 74 | from th|e parent|
|00000900| 29 2e 0a 0a 41 6d 6f 65 | 62 61 27 73 20 6c 69 62 |)...Amoe|ba's lib|
|00000910| 72 61 72 79 20 66 75 6e | 63 74 69 6f 6e 73 20 70 |rary fun|ctions p|
|00000920| 6f 70 65 6e 28 29 20 61 | 6e 64 20 73 79 73 74 65 |open() a|nd syste|
|00000930| 6d 28 29 20 68 61 76 65 | 20 62 65 65 6e 20 63 68 |m() have| been ch|
|00000940| 61 6e 67 65 64 20 74 6f | 0a 75 73 65 20 6e 65 77 |anged to|.use new|
|00000950| 70 72 6f 63 28 29 2c 20 | 61 6e 64 20 74 68 65 20 |proc(), |and the |
|00000960| 73 68 65 6c 6c 20 75 73 | 65 73 20 6e 65 77 70 72 |shell us|es newpr|
|00000970| 6f 63 28 29 20 66 6f 72 | 20 6d 6f 73 74 20 73 69 |oc() for| most si|
|00000980| 6d 70 6c 65 20 70 72 6f | 67 72 61 6d 0a 69 6e 76 |mple pro|gram.inv|
|00000990| 6f 63 61 74 69 6f 6e 73 | 20 28 65 6e 76 69 72 6f |ocations| (enviro|
|000009a0| 6e 6d 65 6e 74 20 6d 61 | 6e 69 70 75 6c 61 74 69 |nment ma|nipulati|
|000009b0| 6f 6e 73 20 61 6e 64 20 | 61 20 66 65 77 20 6f 74 |ons and |a few ot|
|000009c0| 68 65 72 20 74 68 69 6e | 67 73 20 6d 61 6b 65 20 |her thin|gs make |
|000009d0| 69 74 0a 66 61 6c 6c 20 | 62 61 63 6b 20 6f 6e 20 |it.fall |back on |
|000009e0| 66 6f 72 6b 28 29 29 2e | 20 20 54 68 65 20 70 65 |fork()).| The pe|
|000009f0| 72 66 6f 72 6d 61 6e 63 | 65 20 67 61 69 6e 20 77 |rformanc|e gain w|
|00000a00| 61 73 20 77 65 6c 6c 20 | 77 6f 72 74 68 20 74 68 |as well |worth th|
|00000a10| 65 20 68 61 63 6b 69 6e | 67 2e 0a 0a 54 68 65 20 |e hackin|g...The |
|00000a20| 6e 65 77 70 72 6f 63 28 | 29 20 69 6e 74 65 72 66 |newproc(|) interf|
|00000a30| 61 63 65 20 63 6f 75 6c | 64 20 61 6c 73 6f 20 62 |ace coul|d also b|
|00000a40| 65 20 69 6d 70 6c 65 6d | 65 6e 74 65 64 20 6f 6e |e implem|ented on|
|00000a50| 20 55 4e 49 58 20 75 73 | 69 6e 67 0a 5b 76 5d 66 | UNIX us|ing.[v]f|
|00000a60| 6f 72 6b 28 29 20 61 6e | 64 20 65 78 65 63 28 29 |ork() an|d exec()|
|00000a70| 2c 20 61 6c 74 68 6f 75 | 67 68 20 65 78 74 72 65 |, althou|gh extre|
|00000a80| 6d 65 20 63 61 73 65 73 | 20 6f 66 20 66 69 6c 65 |me cases| of file|
|00000a90| 20 64 65 73 63 72 69 70 | 74 6f 72 0a 70 65 72 6d | descrip|tor.perm|
|00000aa0| 75 74 61 74 69 6f 6e 73 | 20 63 6f 75 6c 64 20 66 |utations| could f|
|00000ab0| 61 69 6c 20 69 66 20 6e | 6f 74 20 65 6e 6f 75 67 |ail if n|ot enoug|
|00000ac0| 68 20 73 70 61 72 65 20 | 66 69 6c 65 20 64 65 73 |h spare |file des|
|00000ad0| 63 72 69 70 74 6f 72 73 | 20 77 65 72 65 0a 61 76 |criptors| were.av|
|00000ae0| 61 69 6c 61 62 6c 65 2e | 0a 0a 54 68 65 20 54 6f |ailable.|..The To|
|00000af0| 70 61 7a 20 6f 70 65 72 | 61 74 69 6e 67 20 73 79 |paz oper|ating sy|
|00000b00| 73 74 65 6d 20 28 61 6e | 20 55 6c 74 72 69 78 20 |stem (an| Ultrix |
|00000b10| 63 6c 6f 6e 65 20 66 6f | 72 20 46 69 72 65 66 6c |clone fo|r Firefl|
|00000b20| 79 20 6d 75 6c 74 69 70 | 72 6f 63 65 73 73 6f 72 |y multip|rocessor|
|00000b30| 73 0a 64 65 76 65 6c 6f | 70 65 64 20 61 74 20 44 |s.develo|ped at D|
|00000b40| 45 43 27 73 20 53 79 73 | 74 65 6d 20 52 65 73 65 |EC's Sys|tem Rese|
|00000b50| 61 72 63 68 20 43 65 6e | 74 72 65 20 69 6e 20 50 |arch Cen|tre in P|
|00000b60| 61 6c 6f 20 41 6c 74 6f | 29 20 68 61 73 20 61 20 |alo Alto|) has a |
|00000b70| 73 69 6d 69 6c 61 72 0a | 62 75 74 20 6d 6f 72 65 |similar.|but more|
|00000b80| 20 63 6f 6d 70 6c 65 74 | 65 20 66 65 61 74 75 72 | complet|e featur|
|00000b90| 65 20 69 6e 20 69 74 73 | 20 4d 6f 64 75 6c 61 2d |e in its| Modula-|
|00000ba0| 32 2b 20 28 61 6e 64 20 | 6e 6f 77 20 4d 6f 64 75 |2+ (and |now Modu|
|00000bb0| 6c 61 2d 33 3f 29 20 76 | 65 72 73 69 6f 6e 0a 6f |la-3?) v|ersion.o|
|00000bc0| 66 20 74 68 65 20 4f 53 | 20 69 6e 74 65 72 66 61 |f the OS| interfa|
|00000bd0| 63 65 2c 20 6e 6f 74 20 | 62 65 63 61 75 73 65 20 |ce, not |because |
|00000be0| 54 6f 70 61 7a 20 64 6f | 65 73 6e 27 74 20 68 61 |Topaz do|esn't ha|
|00000bf0| 76 65 20 76 69 72 74 75 | 61 6c 20 6d 65 6d 6f 72 |ve virtu|al memor|
|00000c00| 79 20 28 69 74 0a 64 6f | 65 73 29 2c 20 62 75 74 |y (it.do|es), but|
|00000c10| 20 62 65 63 61 75 73 65 | 20 74 68 65 20 61 76 65 | because| the ave|
|00000c20| 72 61 67 65 20 4d 6f 64 | 75 6c 61 2d 32 2b 20 62 |rage Mod|ula-2+ b|
|00000c30| 69 6e 61 72 79 20 69 73 | 20 73 65 76 65 72 61 6c |inary is| several|
|00000c40| 20 6d 65 67 61 62 79 74 | 65 73 2e 0a 0a 49 6e 20 | megabyt|es...In |
|00000c50| 54 6f 70 61 7a 2c 20 79 | 6f 75 20 63 72 65 61 74 |Topaz, y|ou creat|
|00000c60| 65 20 61 20 64 65 73 63 | 72 69 70 74 6f 72 20 66 |e a desc|riptor f|
|00000c70| 6f 72 20 74 68 65 20 6e | 65 77 20 70 72 6f 63 65 |or the n|ew proce|
|00000c80| 73 73 2c 20 77 68 69 63 | 68 20 72 65 70 72 65 73 |ss, whic|h repres|
|00000c90| 65 6e 74 73 0a 69 74 73 | 20 72 65 6c 65 76 61 6e |ents.its| relevan|
|00000ca0| 74 20 6b 65 72 6e 65 6c | 20 73 74 61 74 65 2e 20 |t kernel| state. |
|00000cb0| 20 54 68 65 20 64 65 73 | 63 72 69 70 74 6f 72 20 | The des|criptor |
|00000cc0| 69 73 20 69 6e 69 74 69 | 61 6c 69 7a 65 64 20 74 |is initi|alized t|
|00000cd0| 6f 20 69 6e 68 65 72 69 | 74 0a 61 6c 6c 20 73 74 |o inheri|t.all st|
|00000ce0| 61 74 65 20 66 72 6f 6d | 20 74 68 65 20 70 61 72 |ate from| the par|
|00000cf0| 65 6e 74 2c 20 61 6e 64 | 20 79 6f 75 20 63 61 6e |ent, and| you can|
|00000d00| 20 63 61 6c 6c 20 6c 69 | 62 72 61 72 79 20 66 75 | call li|brary fu|
|00000d10| 6e 63 74 69 6f 6e 73 20 | 74 68 61 74 0a 6d 6f 64 |nctions |that.mod|
|00000d20| 69 66 79 20 76 61 72 69 | 6f 75 73 20 70 61 72 74 |ify vari|ous part|
|00000d30| 73 20 6f 66 20 74 68 65 | 20 64 65 73 63 72 69 70 |s of the| descrip|
|00000d40| 74 6f 72 3b 20 74 68 69 | 73 20 69 73 20 74 68 65 |tor; thi|s is the|
|00000d50| 20 65 71 75 69 76 61 6c | 65 6e 74 20 6f 66 20 77 | equival|ent of w|
|00000d60| 68 61 74 0a 79 6f 75 20 | 77 6f 75 6c 64 20 64 6f |hat.you |would do|
|00000d70| 20 62 65 74 77 65 65 6e | 20 66 6f 72 6b 28 29 20 | between| fork() |
|00000d80| 61 6e 64 20 65 78 65 63 | 28 29 20 69 6e 20 72 65 |and exec|() in re|
|00000d90| 61 6c 20 55 4e 49 58 2e | 20 20 46 69 6e 61 6c 6c |al UNIX.| Finall|
|00000da0| 79 20 79 6f 75 20 6d 61 | 6b 65 0a 61 20 73 79 73 |y you ma|ke.a sys|
|00000db0| 74 65 6d 20 63 61 6c 6c | 20 74 68 61 74 20 70 72 |tem call| that pr|
|00000dc0| 65 73 65 6e 74 73 20 74 | 68 65 20 64 65 73 63 72 |esents t|he descr|
|00000dd0| 69 70 74 6f 72 20 74 6f | 20 74 68 65 20 6b 65 72 |iptor to| the ker|
|00000de0| 6e 65 6c 20 66 6f 72 20 | 63 72 65 61 74 69 6f 6e |nel for |creation|
|00000df0| 2e 0a 59 65 73 2c 20 69 | 74 27 73 20 61 20 62 69 |..Yes, i|t's a bi|
|00000e00| 74 20 6d 6f 72 65 20 74 | 65 64 69 6f 75 73 2c 20 |t more t|edious, |
|00000e10| 62 75 74 20 69 74 20 68 | 61 73 20 61 6c 6c 20 74 |but it h|as all t|
|00000e20| 68 65 20 72 65 71 75 69 | 72 65 64 0a 66 75 6e 63 |he requi|red.func|
|00000e30| 74 69 6f 6e 61 6c 69 74 | 79 2c 20 75 6e 6c 69 6b |tionalit|y, unlik|
|00000e40| 65 20 28 69 74 20 73 65 | 65 6d 73 20 74 6f 20 6d |e (it se|ems to m|
|00000e50| 65 29 20 74 68 65 20 70 | 72 6f 70 6f 73 65 64 20 |e) the p|roposed |
|00000e60| 71 66 6f 72 6b 28 29 20 | 77 69 74 68 20 69 74 73 |qfork() |with its|
|00000e70| 0a 6e 6f 74 2d 77 65 6c | 6c 2d 75 6e 64 65 72 73 |.not-wel|l-unders|
|00000e80| 74 6f 6f 64 20 72 65 73 | 74 72 69 63 74 69 6f 6e |tood res|triction|
|00000e90| 73 20 6f 6e 20 6d 6f 64 | 69 66 79 69 6e 67 20 6d |s on mod|ifying m|
|00000ea0| 65 6d 6f 72 79 2e 0a 0a | 2d 2d 47 75 69 64 6f 0a |emory...|--Guido.|
|00000eb0| 0a 2d 2d 0a 47 75 69 64 | 6f 20 76 61 6e 20 52 6f |.--.Guid|o van Ro|
|00000ec0| 73 73 75 6d 2c 20 43 57 | 49 2c 20 41 6d 73 74 65 |ssum, CW|I, Amste|
|00000ed0| 72 64 61 6d 20 3c 67 75 | 69 64 6f 40 63 77 69 2e |rdam <gu|ido@cwi.|
|00000ee0| 6e 6c 3e 0a 22 57 65 6c | 6c 20 49 27 6d 20 61 20 |nl>."Wel|l I'm a |
|00000ef0| 70 6c 75 6d 62 65 72 2e | 20 20 49 20 63 61 6e 27 |plumber.| I can'|
|00000f00| 74 20 61 63 74 2e 22 0a | 0a 56 6f 6c 75 6d 65 2d |t act.".|.Volume-|
|00000f10| 4e 75 6d 62 65 72 3a 20 | 56 6f 6c 75 6d 65 20 32 |Number: |Volume 2|
|00000f20| 32 2c 20 4e 75 6d 62 65 | 72 20 35 35 0a 0a |2, Numbe|r 55.. |
+--------+-------------------------+-------------------------+--------+--------+