%!PS-Adobe-1.0 %%Creator: devps (Pipeline Associates, Inc.) %%CreationDate: Fri Sep 13 13:03:26 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 /Times-Bold 1 AEnc-def pop /B-1{/Times-Bold-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(CHMEM)S 1108(\()S 1150(1)S 1208(\))S 2696(Eighth)S (Edition)296 2989 A 4739(CHMEM)S 5127(\()S 5169(1)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(chmem)S 10 R-1 1401(-)S 10 R 1483(change)S 1793(memory)S 2153(allocation)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(chmem)S 10 R 1432([)S 10 B 1466(+)S 10 R 1523(])S 1595([)S 10 B-1 1629(-)S 10 R 1686(])S 1758([)S 10 B 1792(=)S 10 R 1849(])S 10 I (amount)301 1921 A 2260(\256le)S 1536 V 9 R 720(E)S 722(EX)S 780(XA)S 848(AM)S 916(MP)S 998(PL)S 1050(LE)S 1108(ES)S 1166(S)S 1656 V 10 B 1080(chmem)S (=50000)307 1419 A 1751(a.out)S 10 R 2080(#)S 2155(Give)S 10 I 2376(a.out)S 10 R 2604(50K)S 2802(of)S 2911(stack)S (space)224 3143 A 1824 V 10 B 1080(chmem)S 10 B-1 1419(-)S 10 B (4000)200 1476 A 1701(a.out)S 10 R 2080(#)S 2155(Reduce)S 2482(the)S 2630(stack)S (space)224 2862 A 3111(by)S (4000)200 3236 A 3461(bytes)S 1992 V 10 B 1080(chmem)S (+1000)257 1419 A 1701(file1)S 10 R 2080(#)S 2155(Increase)S (each)185 2517 A 2727(stack)S 2959(by)S (1000)200 3084 A 3309(bytes)S 2160 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 2280 V 10 R 1080(When)S 1351(a)S 1427(program)S 1799(is)S 1897(loaded)S 2196(into)S 2383(memory,)S 2774(it)S 2861(is)S 2959(allocated)S (enough)295 3354 A 3680(memory)S 4046(for)S 4195(the)S 4349(text)S 4531(and)S 4708(data+bss)S 5093(seg-)S 2400 V 1080(ments,)S 1373(plus)S 1568(an)S 1691(area)S 1888(for)S 2034(the)S 2185(stack.)S 2470(Data)S 2689(segment)S 3052(growth)S 3365(using)S 10 I 3610(malloc)S 3912(,)S 3965(brk)S 4127(,)S 10 R 4180(or)S 10 I 4292(sbrk)S 10 R 4492(eats)S 4676(up)S 4803(stack)S (space)224 5037 A 2520 V 1080(from)S 1316(the)S 1479(low)S 1670(end.)S 1905(The)S (amount)301 2102 A 2443(of)S 2567(stack)S (space)224 2814 A 3079(to)S 3198(allocate)S 3553(is)S 3661(derived)S 4004(from)S 4241(a)S 4327(\256eld)S 4547(in)S 4666(the)S 4830(executable)S 2640 V 1080(program's)S 1530(\256le)S 1695(header.)S 2050(If)S 2154(the)S 2313(combined)S 2745(stack)S 2988(and)S 3169(data)S 3373(segment)S 3743(growth)S (exceeds)319 4063 A 4417(the)S 4575(stack)S (space)224 4817 A 5076(allo-)S 2760 V 1080(cated,)S 1343(the)S 1491(program)S (will)157 1857 A 2039(be)S 2159(terminated.)S 2928 V 1080(It)S 1167(is)S 1259(therefore)S 1649(important)S 2065(to)S 2169(set)S 2307(the)S (amount)301 2456 A 2783(of)S 2893(stack)S (space)224 3126 A 3376(carefully.)S 3811(If)S 3905(too)S (little)185 4059 A 4270(is)S 4363(provided,)S 4771(the)S 4920(program)S 3048 V 1080(may)S 1283(crash.)S 1576(If)S 1674(too)S 1832(much)S 2085(is)S 2182(provided,)S 2594(memory)S (will)157 2959 A 3146(be)S 3271(wasted,)S 3606(and)S 3781(fewer)S 4042(programs)S (will)157 4452 A 4639(be)S 4764(able)S 4962(to)S 5070(\256t)S 5183(in)S 3168 V 1080(memory)S 1462(and)S 1654(run)S 1835(simultaneously.)S 8 R 2530(MINIX)S 10 R 2818(does)S 3049(not)S 3224(swap,)S 3503(so)S 3639(that)S 3838(when)S 4104(memory)S 4487(is)S 4602(full,)S 4815(subsequent)S 3288 V 1080(attempts)S 1452(to)S 1561(fork)S (will)157 1760 A 1948(fail.)S 2164(The)S 2352(compiler)S 2741(sets)S 2923(the)S 3077(stack)S (space)224 3315 A 3570(to)S 3679(the)S 3833(largest)S 4133(possible)S 4493(value)S 4741(\(for)S 4923(the)S 5076(Intel)S 3408 V 1080(CPUs,)S 1367(64K)S 10 R-1 1567(-)S 10 R 1651(text)S 10 R-1 1829(-)S 10 R 1913(data\).)S 2192(For)S 2359(many)S 2609(programs,)S 3041(this)S 3213(value)S 3459(is)S 3554(far)S 3695(too)S 3851(large.)S 4131(Nonrecursive)S 4702(programs)S 5110(that)S 3528 V 1080(do)S 1206(not)S 1360(call)S 10 I 1532(brk)S 1692(,)S 1743(sbrk)S 1942(,)S 10 R 1993(or)S 10 I 2103(malloc)S 2403(,)S 10 R 2454(and)S 2625(do)S 2751(not)S 2905(have)S 3121(any)S 3292(local)S 3514(arrays)S 3787(usually)S 4103(do)S 4229(not)S 4383(need)S 4599(more)S 4831(than)S 5029(8K)S 5177(of)S 3648 V 1080(stack)S (space.)249 1312 A 3816 V 1080(The)S 10 I 1272(chmem)S 10 R 1593(command)S 2024(changes)S 2383(the)S 2541(value)S 2794(of)S 2913(the)S 3071(header)S 3376(\256eld)S 3591(that)S 3778(determines)S 4256(the)S 4415(stack)S 4658(allocation,)S 5116(and)S 3936 V 1080(thus)S 1286(indirectly)S 1711(the)S 1873(total)S 2091(memory)S 2465(required)S 2840(to)S 2957(run)S 3130(the)S 3292(program.)S 3722(The)S 3918(=)S 4014(option)S 4309(sets)S 4499(the)S 4660(stack)S 4905(size)S 5100(to)S 5216(a)S 4056 V 1080(speci\256c)S 1415(value;)S 1688(the)S 1838(+)S 1922(and)S 10 R-1 2094(-)S 10 R 2178(options)S 2500(increment)S 2930(and)S 3102(decrement)S 3549(the)S 3699(current)S 4013(value)S 4259(by)S 4387(the)S 4538(indicated)S (amount.)326 4935 A 4176 V 1080(The)S 1262(old)S 1415(and)S 1585(new)S 1778(stack)S 2010(sizes)S 2231(are)S 2380(printed.)S 4344 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 4464 V 10 B 1080(install)S 10 R 1343(\(1\),)S 10 B 1511(brk)S 10 R 1668(\(2\).)S 7903 V 720(Page)S 941(1)S 4455(September)S 4911(13,)S (1996)200 5061 A 8143 V EP %%Trailer %%DocumentFonts: Times-Roman Times-Bold Times-Italic %%Pages: 1