PIPE.2
资源名称:os_source.zip [点击查看]
上传用户:datang2001
上传日期:2007-02-01
资源大小:53269k
文件大小:11k
源码类别:
操作系统开发
开发平台:
C/C++
- %!PS-Adobe-1.0
- %%Creator: devps (Pipeline Associates, Inc.)
- %%CreationDate: Fri Sep 13 13:05:49 1996
- %%Pages: (atend)
- %%DocumentFonts: (atend)
- /devps 180 dict def devps begin
- /res 10.000000 def
- /y_offset 843 def
- /X{exch}bind def
- /mm {transform round X round X itransform} bind def
- /r{rmoveto}bind def
- /m{moveto}bind def
- /l{lineto}bind def
- /rl{rlineto}bind def
- /st{stroke}bind def
- /gs{gsave}bind def
- /gr{grestore}bind def
- /cp{currentpoint}bind def
- /np{newpath}bind def
- /ct{curveto}bind def
- systemdict /setpacking known
- { /savepacking currentpacking def true setpacking } if
- /m0{0 0 moveto}bind def
- /xc{//res div}bind def
- /yc{//res neg div //y_offset add}bind def
- /lc{yc X xc X l st}bind def
- /mc{yc X xc X m}bind def
- /el{gs /a X def a div 1 X scale cp np a xc 2 div 0 360 arc st gr}bind def
- /ar{cp 7 2 roll np xc 5 1 roll atan 3 1 roll atan X arc st}bind def
- /sp{yc X xc X 6 2 roll yc X xc X 6 2 roll yc X xc X 6 2 roll ct}bind def
- /V{//res neg div //y_offset add
- currentpoint pop X
- m}bind def
- /H{//res div
- 0 transform X round X itransform pop
- currentpoint X pop
- moveto}bind def
- /h{//res div 0 r}bind def
- /v{//res neg div 0 X r}bind def
- /S{X H show}bind def
- /A{H //res div 1 index stringwidth pop sub 1 index length div 0 3 2 roll ashow}bind def
- /psize 10 def
- /height 0 def
- /cheight { height 0 ne { height } { psize } ifelse } bind def
- /slant 0 def
- /FF{findfont X dup 30 div 0 mm pop setlinewidth /psize X def
- [psize 0 cheight slant sin slant cos div mul cheight 0 0]
- makefont setfont}bind def
- /shade{gs
- /dy X def
- /dx X def
- np m
- 0 /dy rl
- /dx 0 rl
- 0 /dy neg rl
- /dx neg 0 rl
- closepath
- .9 setgray
- fill
- gr}bind def
- 1 setlinecap
- /resolution res 72 mul def
- /startFig {
- /SavedState save def
- userdict maxlength dict begin
- currentpoint transform
- DocumentInitState setmiterlimit setgray setdash setlinejoin setlinecap
- setlinewidth setmatrix
- itransform moveto
- /ury exch def
- /urx exch def
- /lly exch def
- /llx exch def
- /y exch 72 mul resolution div def
- /x exch 72 mul resolution div def
- currentpoint /cy exch def /cx exch def
- /sx x urx llx sub div def
- /sy y ury lly sub div def
- sx sy scale
- cx sx div llx sub
- cy sy div ury sub translate
- /DefFigCTM matrix currentmatrix def
- /initmatrix {
- DefFigCTM setmatrix
- } def
- /defaultmatrix {
- DefFigCTM exch copy
- } def
- /initgraphics {
- DocumentInitState setmiterlimit setgray setdash
- setlinejoin setlinecap setlinewidth setmatrix
- DefFigCTM setmatrix
- } def
- /showpage {
- initgraphics
- } def
- }bind def
- /clipFig {
- currentpoint 6 2 roll
- newpath 4 copy
- 4 2 roll moveto
- 6 -1 roll exch lineto
- exch lineto
- exch lineto
- closepath clip
- newpath
- moveto
- }bind def
- /doclip { llx lly urx ury clipFig } def
- /endFig {
- end SavedState restore
- }bind def
- /globalstart {
- fontnum psize slant height resolution currentpoint
- pagesave restore gsave
- }bind def
- /globalend {
- grestore moveto
- /resolution exch def /height exch def
- /slant exch def /psize exch def /fontnum exch def
- F
- /pagesave save def
- }bind def
- /fontnum 1 def
- systemdict /setpacking known { savepacking setpacking} if
- end
- /BP{
- save mark devps begin m0
- /DocumentInitState [ matrix currentmatrix currentlinewidth currentlinecap
- currentlinejoin currentdash currentgray currentmiterlimit ] cvx def
- }bind def
- /EP{
- end cleartomark restore showpage}def
- /Encoding-1 256 array def
- 0 1 255 {Encoding-1 exch /.notdef put} for
- Encoding-1 8#301 StandardEncoding 8#101 26 getinterval putinterval %A-B
- Encoding-1 8#341 StandardEncoding 8#141 26 getinterval putinterval %a-b
- Encoding-1 8#241 StandardEncoding 8#301 16 getinterval putinterval %accents
- Encoding-1 8#373 StandardEncoding 8#365 1 getinterval putinterval %dotlessi
- Encoding-1
- dup 8#41 /copyright put
- dup 8#42 /registered put
- dup 8#43 /trademark put
- dup 8#44 /logicalnot put
- dup 8#45 /Eth put
- dup 8#46 /eth put
- dup 8#47 /Thorn put
- dup 8#50 /thorn put
- dup 8#51 /brokenbar put
- dup 8#52 /degree put
- dup 8#53 /divide put
- dup 8#54 /multiply put
- dup 8#55 /minus put
- dup 8#56 /onehalf put
- dup 8#57 /onequarter put
- dup 8#60 /threequarters put
- dup 8#101 /Aacute put
- dup 8#102 /Acircumflex put
- dup 8#103 /Adieresis put
- dup 8#104 /Agrave put
- dup 8#105 /Aring put
- dup 8#106 /Atilde put
- dup 8#107 /Ccedilla put
- dup 8#110 /Eacute put
- dup 8#111 /Ecircumflex put
- dup 8#112 /Edieresis put
- dup 8#113 /Egrave put
- dup 8#114 /Iacute put
- dup 8#115 /Icircumflex put
- dup 8#116 /Idieresis put
- dup 8#117 /Igrave put
- dup 8#120 /Ntilde put
- dup 8#121 /Oacute put
- dup 8#122 /Ocircumflex put
- dup 8#123 /Odieresis put
- dup 8#124 /Ograve put
- dup 8#125 /Otilde put
- dup 8#126 /Scaron put
- dup 8#127 /Uacute put
- dup 8#130 /Ucircumflex put
- dup 8#131 /Udieresis put
- dup 8#132 /Ugrave put
- dup 8#133 /Ydieresis put
- dup 8#134 /Zcaron put
- dup 8#135 /aacute put
- dup 8#136 /acircumflex put
- dup 8#137 /adieresis put
- dup 8#140 /agrave put
- dup 8#141 /aring put
- dup 8#142 /atilde put
- dup 8#143 /ccedilla put
- dup 8#144 /eacute put
- dup 8#145 /ecircumflex put
- dup 8#146 /edieresis put
- dup 8#147 /egrave put
- dup 8#150 /iacute put
- dup 8#151 /icircumflex put
- dup 8#152 /idieresis put
- dup 8#153 /igrave put
- dup 8#154 /ntilde put
- dup 8#155 /oacute put
- dup 8#156 /ocircumflex put
- dup 8#157 /odieresis put
- dup 8#160 /ograve put
- dup 8#161 /otilde put
- dup 8#162 /scaron put
- dup 8#163 /uacute put
- dup 8#164 /ucircumflex put
- dup 8#165 /udieresis put
- dup 8#166 /ugrave put
- dup 8#167 /ydieresis put
- dup 8#170 /zcaron put
- pop
- /Enc-dict 30 dict def
- Enc-dict /tmpstr1 50 string put
- Enc-dict /tmpstr2 50 string put
- Enc-dict /tmpstr3 50 string dup (Encoding-) exch cvs pop put
- /AEnc-def { % arguments: the original font's name, encoding nr
- Enc-dict begin
- tmpstr2 cvs /Enc-no exch def % Remember the number in a string
- dup /OrigName exch def % remember the name
- findfont dup maxlength dict /newdict exch def % get dictionary for new font
- { exch dup /FID ne
- { exch newdict 3 1 roll put }
- { pop pop } % Ignore FID
- ifelse
- } forall
- newdict begin
- /Encoding
- tmpstr3 9 Enc-no putinterval tmpstr3 0 9 Enc-no length add getinterval
- cvn load
- def % Replace encoding
- currentdict /UniqueID known
- { /UniqueID UniqueID Enc-no cvi 49999 mul add def } if % Derive New UniqueID
- end % newdict
- /FNlength OrigName tmpstr1 cvs length def % convert name, remember length
- FNlength 1 add Enc-no length add string
- dup 0 OrigName tmpstr1 cvs putinterval
- dup FNlength (-) putinterval
- dup FNlength 1 add Enc-no putinterval
- dup 0 tmpstr1 0 FNlength getinterval putinterval % Add old name
- cvn dup newdict /FontName 3 2 roll put newdict definefont
- end % Enc-dict
- } def
- /Times-Roman 1 AEnc-def pop
- /R-1{/Times-Roman-1 FF}def
- /R{/Times-Roman FF}def
- /B{/Times-Bold FF}def
- /I{/Times-Italic FF}def
- %%EndProlog
- %%Page: 1 1
- BP
- /slant 0 def
- /height 0 def
- 480 V
- 10 R
- 720(PIPE)S
- 936(()S
- 978(2)S
- 1036())S
- 2696(Eighth)S
- (Edition)296 2989 A
- 4911(PIPE)S
- 5127(()S
- 5169(2)S
- 5227())S
- 960 V
- 9 R
- 720(N)S
- 722(NA)S
- 790(AM)S
- 858(ME)S
- 940(E)S
- 1080 V
- 10 R
- 1080(pipe)S
- 10 R-1
- 1278(-)S
- 10 R
- 1360(create)S
- 1627(an)S
- 1747(interprocess)S
- 2259(communication)S
- 2909(channel)S
- 1248 V
- 9 R
- 720(S)S
- 722(SY)S
- 774(YN)S
- 842(NO)S
- 910(OP)S
- 978(PS)S
- 1030(SI)S
- 1082(IS)S
- 1115(S)S
- 1368 V
- 10 B
- 1080(#include)S
- 1482(<unistd.h>)S
- 1608 V
- 1080(int)S
- 1236(pipe(int)S
- 10 I
- 1611(256ldes)S
- 10 B
- 1823([2]))S
- 1776 V
- 9 R
- 720(D)S
- 722(DE)S
- 790(ES)S
- 848(SC)S
- 900(CR)S
- 962(RI)S
- 1024(IP)S
- 1057(PT)S
- 1109(TI)S
- 1167(IO)S
- 1200(ON)S
- 1268(N)S
- 1896 V
- 10 R
- 1080(The)S
- 10 B
- 1263(pipe)S
- 10 R
- 1474(system)S
- 1779(call)S
- 1951(creates)S
- 2258(an)S
- 2379(I/O)S
- 2541(mechanism)S
- 3026(called)S
- 3294(a)S
- 3366(pipe.)S
- 3616(The)S
- 3800(256le)S
- 3956(descriptors)S
- 4425(returned)S
- 4788(can)S
- 4955(be)S
- 5077(used)S
- 2016 V
- 1080(in)S
- 1188(read)S
- 1392(and)S
- 1566(write)S
- 1803(operations.)S
- 2301(When)S
- 2570(the)S
- 2722(pipe)S
- 2924(is)S
- (written)286 3020 A
- 3335(using)S
- 3581(the)S
- 3733(descriptor)S
- 10 I
- 4165(256ldes)S
- 10 R
- 4385([1])S
- 4532(up)S
- 4661(to)S
- 4768(PIPE_MAX)S
- 2136 V
- 1080(bytes)S
- 1317(of)S
- 1426(data)S
- 1620(are)S
- 1770(buffered)S
- 2138(before)S
- 2422(the)S
- (writing)291 2571 A
- 2888(process)S
- 3216(is)S
- 3309(suspended.)S
- 3803(A)S
- 3902(read)S
- 4102(using)S
- 4345(the)S
- 4494(descriptor)S
- 10 I
- 4923(256ldes)S
- 10 R
- 5143([0])S
- 2256 V
- (will)157 1080 A
- 1262(pick)S
- 1460(up)S
- 1585(the)S
- 1733(data.)S
- 2424 V
- 1080(PIPE_MAX)S
- 1598(equals)S
- (7168)200 1880 A
- (under)229 2105 A
- 2359(Minix,)S
- 2654(but)S
- 2807(note)S
- 3005(that)S
- 3181(most)S
- 3401(systems)S
- 3744(use)S
- (4096.)225 3903 A
- 2592 V
- 1080(It)S
- 1167(is)S
- 1259(assumed)S
- 1630(that)S
- 1806(after)S
- 2017(the)S
- 2165(pipe)S
- 2363(has)S
- 2522(been)S
- 2737(set)S
- 2874(up,)S
- 3025(two)S
- 3202((or)S
- 3346(more))S
- (cooperating)475 3613 A
- 4114(processes)S
- 4526((created)S
- 4878(by)S
- 5004(subse-)S
- 2712 V
- 1080(quent)S
- 10 B
- 1328(fork)S
- 10 R
- 1538(calls))S
- (will)157 1782 A
- 1964(pass)S
- 2162(data)S
- (through)312 2355 A
- 2692(the)S
- 2840(pipe)S
- 3038(with)S
- 10 B
- 3242(read)S
- 10 R
- 3463(and)S
- 10 B
- 3633(write)S
- 10 R
- 3883(calls.)S
- 2880 V
- 1080(The)S
- 1262(shell)S
- 1477(has)S
- 1636(a)S
- 1706(syntax)S
- 1993(to)S
- 2096(set)S
- 2233(up)S
- 2358(a)S
- 2428(linear)S
- 2683(array)S
- 2916(of)S
- 3025(processes)S
- (connected)408 3436 A
- 3869(by)S
- 3994(pipes.)S
- 3048 V
- 1080(Read)S
- 1324(calls)S
- 1546(on)S
- 1683(an)S
- 1815(empty)S
- 2103(pipe)S
- 2313((no)S
- 2485(buffered)S
- 2865(data))S
- 3105(with)S
- 3322(only)S
- 3538(one)S
- 3721(end)S
- 3904((all)S
- 4077(write)S
- 4323(256le)S
- 4490(descriptors)S
- 4970(closed))S
- 3168 V
- 1080(returns)S
- 1385(an)S
- 1505(end-of-256le.)S
- 3336 V
- 1080(The)S
- 1262(signal)S
- 1527(SIGPIPE)S
- 1923(is)S
- 2015(generated)S
- 2432(if)S
- 2519(a)S
- 2589(write)S
- 2822(on)S
- 2947(a)S
- 3017(pipe)S
- 3215(with)S
- 3419(only)S
- 3622(one)S
- 3792(end)S
- 3962(is)S
- 4054(attempted.)S
- 3504 V
- 9 R
- 720(R)S
- 722(RE)S
- 784(ET)S
- 842(TU)S
- 900(UR)S
- 968(RN)S
- 1030(N)S
- 1121(V)S
- 1123(VA)S
- 1191(AL)S
- 1259(LU)S
- 1317(UE)S
- 1385(E)S
- 3624 V
- 10 R
- 1080(The)S
- 1262(function)S
- 1622(value)S
- 1865(zero)S
- 2064(is)S
- 2156(returned)S
- 2517(if)S
- 2604(the)S
- 2752(pipe)S
- 2950(was)S
- 3132(created;)S
- 10 R-1
- 3477(-)S
- 10 R
- 3534(1)S
- 3609(if)S
- 3696(an)S
- 3816(error)S
- 4038(occurred.)S
- 3792 V
- 9 R
- 720(E)S
- 722(ER)S
- 780(RR)S
- 842(RO)S
- 904(OR)S
- 972(RS)S
- 1034(S)S
- 3912 V
- 10 R
- 1080(The)S
- 10 B
- 1262(pipe)S
- 10 R
- 1472(call)S
- (will)157 1643 A
- 1825(fail)S
- 1985(if:)S
- 4080 V
- 1080([EMFILE])S
- 1830(Too)S
- 2017(many)S
- 2265(descriptors)S
- 2732(are)S
- 2881(active.)S
- 4248 V
- 1080([ENFILE])S
- 1830(The)S
- 2012(system)S
- 2316(256le)S
- 2470(table)S
- 2691(is)S
- 2783(full.)S
- 4416 V
- 1080([ENOSPC])S
- 1830(The)S
- 2012(pipe)S
- 2210(256le)S
- 2364(system)S
- 2668((usually)S
- 3017(the)S
- 3165(root)S
- 3352(256le)S
- 3506(system))S
- 3844(has)S
- 4003(no)S
- 4128(free)S
- (inodes.)287 4311 A
- 4584 V
- 1080([EFAULT])S
- 1830(The)S
- 10 I
- 2012(256ldes)S
- 10 R
- 2249(buffer)S
- 2521(is)S
- 2613(in)S
- 2716(an)S
- 2836(invalid)S
- 3140(area)S
- 3334(of)S
- 3443(the)S
- 3591(process's)S
- 3991(address)S
- (space.)249 4318 A
- 4752 V
- 9 R
- 720(S)S
- 722(SE)S
- 774(EE)S
- 832(E)S
- 913(A)S
- 915(AL)S
- 983(LS)S
- 1041(SO)S
- 1093(O)S
- 4872 V
- 10 B
- 1080(sh)S
- 10 R
- 1175((1),)S
- 10 B
- 1343(read)S
- 10 R
- 1539((2),)S
- 10 B
- 1707(write)S
- 10 R
- 1932((2),)S
- 10 B
- 2100(fork)S
- 10 R
- 2285((2).)S
- 5040 V
- 9 R
- 720(N)S
- 722(NO)S
- 790(OT)S
- 858(TE)S
- 916(ES)S
- 974(S)S
- 5160 V
- 10 R
- 1080(Writes)S
- 1374(may)S
- 1572(return)S
- 1838(ENOSPC)S
- 2250(errors)S
- 2511(if)S
- 2598(no)S
- 2723(pipe)S
- 2921(data)S
- 3114(can)S
- 3279(be)S
- 3399(buffered,)S
- (because)319 3791 A
- 4135(the)S
- 4283(pipe)S
- 4481(256le)S
- 4635(system)S
- 4939(is)S
- 5031(full.)S
- 5328 V
- 9 R
- 720(B)S
- 722(BU)S
- 784(UG)S
- 852(GS)S
- 920(S)S
- 5448 V
- 10 R
- (Should)284 1080 A
- 1390(more)S
- 1623(than)S
- 1822(PIPE_MAX)S
- 2341(bytes)S
- 2579(be)S
- (necessary)392 2700 A
- 3118(in)S
- 3222(any)S
- 3393(pipe)S
- (among)273 3592 A
- 3891(a)S
- (loop)178 3962 A
- 4166(of)S
- 4276(processes,)S
- 4714(deadlock)S
- (will)157 5104 A
- 5568 V
- 1080(occur.)S
- 7903 V
- 720(Page)S
- 941(1)S
- 2616(()S
- (August)290 2658 A
- 2973(26,)S
- (1985)200 3123 A
- 3331())S
- 4455(September)S
- 4911(13,)S
- (1996)200 5061 A
- 8143 V
- EP
- %%Trailer
- %%DocumentFonts: Times-Roman Times-Bold Times-Italic
- %%Pages: 1