SiStemaS OperativOS CentralizadOS y diStribuidOS
SiStemaS OperativOS CentralizadOS y diStribuidOS
M.C. Beatriz Beltrán Martínez M.C. r afael afael de la r osa osa flores M.C. Hilda Castillo zaCatelCo M.C. letiCia Mendoza alonso dra. darnes Vilariño ayala
BeneMérita UniVersidad aUtónoMa de PUeBla
dcc G Foo eo
BeneMérita UniVersidad aUtónoMa de PUeBla
eq agü iáñ Rector
José r egí Cc Secretario General
l Co rí Vicerrector de Extensión y Difusión de la Cultura
Cos Cos C Director Editorial
mo. José J váq l Vicerrector de Docencia
d. po Hgo Há tj Vicerrector de Investigación y Estudios de posgrado
d. mo ross l dco Fc Ccs Coc
p c, 2009 iSbn: ©bé us ao p dcc G Foo eo 2 no 1404 téfoo fx 2 46 85 59 p, p. iso hcho méxco Printed and made in Mexico
prólOGO
l s ofso c céc s jo ocso sñj, cox c os coos cos co o s coc s hs s soo ofso q á c ssfcc ofso, so soc. ac s c co g foc ácco oo o s ccs cocos, s go s os q o o o so, o cs os áscos cocos fs fs s q cofo cíc c Ccs Coc. es o o q s s s xo, ú ácco q s oá cos cq oo q o cs sá x Sss oos, q s sño, co co os s so coo x c oso. e o co cco cíos q s s ss q co g coo. e os os os cíos s s s os cocos fs Ss oo, o co, coo so; sg cío s o gs ocsos hos so oí os goos os cocc scoc ocsos s cos sos. e co cío so gs o úo s o h ogc o so os co cíos os: so sockets J. a o go os cco cíos coá jos, gfcs s q xá focá c so, o s fo fác o c o cc oocoo. 5
i intrOduCCión a lOS SiStemaS OperativOS CentralizadOS y diStribuidOS
1.1. CoMPonentes BásiCos de la arqUiteCtUra de Von neUMan l c oo vo n coss c s sccos og coo s o o, ogo sí q áq sg os sos fos o s og co. p co fc ocso, coo co qc von Neuman sá cos o co coos áscos: 1. mo c. S cos co o raM roM. e s os os ocs, og áq jc os sos. 2. l éc gc. p ocos écs gcs so oos q s os gsos o o c, os sos so cos gsos o o c. 3. l coo. l fc c s s g scc sos oo q coo co cco coo jcc scc, hc so co os s sccos q cos og. los sos jc scc cq so os sgs: • • • •
l o s sccos áq q fo og. i c scc í ejc c scc. ps sg cs o gss so i.
4. l /s. S cg hc sfc foc o c o os gsos os fécos. S o c ocso (UCP, qí , q é s coú fs coo CPU, o ss sgs gés: Central Processing Unit) co éco gc coo. l fc UCP s c: jc sccos. po o cs cs ss cocos: • •
Q s sccos s s o UCP Q sé cs o
1.2 r egistros egistros BásiCos del ProCesador u ocso c cojo gsos q ooco o, q s ás áo qño q o c. e os gsos s c o os jcc og. e coo s so g os gsos ss so gsos coo so. Registros visibles de usuario
esos gsos ogo gj áq o so so s fcs o c, oo so sos gsos. Co gjs o , coo q oc cgo á hc scc g qé s sg gsos cás ccos o c. ls css gso q o sá sos so: sg os o ogo ss fcos, gos • Registros de datos : s sgos csos so oso g s os o cq scc s cc áq q co ocos so os os. scc os • Registros de dirección : co ccos o c os sccos o co cc, q s cáco cc co o fc, jos sos gsos so: - Registro de índice: e ccoo xo s oo oo coú ccoo, ccoo, q c s íc í c o s, s, o cc fc. 8
- Apuntador al segmento: sgc, o s sgos, fc o cos fc fc sgo c so o sgo.
e gs áqs, oco o s oocá q os gsos ss so s s oác, go sos o, so q c oco s os gsos fo . e os áqs, s sos ogo s os coos os gsos so ss q s s s hc oco, co sccos og co oso. Registros de control y de estado: so os o ocso coo s
ocos s gs ss oo coo jcc os ogs, gos sos gsos s s coc: ): Co cc scc s cc s í. • Contador de Programa (PC , Program Counter ): ): pos ú scc í. • Registro de Instrucción (ir , Instruction Register ): • Registro de Banderas : ic so c áq so oco.
1.3 ejeCUCión de instrUCCiones l coo coo coo s q sc fcoo so. es fcoo c s sos: 1. lc scc o coo og 2. ico coo og 3. ejcc scc
es scc os os f: l q s o q fo c fo ( s scc xco coos co scc Halt. exs csos q s jcc , os csos áscos scc so os sgs: • • •
ls sccos “áq so o fcc” ls cos s o xs l scc áq traP 9
1.4 interrUPCiones ds o s og so, c s so so, c scc o jcc. Co o c s , jcc coú, o o q og so o q so gú cgo sc c s cos; ocso ss oo so os soss ss og so o sés so o. p c c, s ñ cco c cco scc. e cco c, ocso co s h oco g c, co o sc sñ c. S o h cos s, s, ocso coú co cco c x scc og cso. S h c , ocso ss jcc og cso jc o c. es software s s sc o ogo sss, s á scfc o c, o cs ccos s css. 1.5 taxonoMia de flynn l xooí F csfc s coos o s qc ss sss oos; so co cc ss ocs o o ás fjos sáos os ( s) sccos (sco s). •
•
•
– Single Instruction, Single Data Stream: (u scc, o) Coo scc q o xo so s sccos scc os fjos os. ejos qcs sisd so s áqs ooocso cos coo PC o os gos mainframe. siMd – Single Instruction, Multiple Data Stream: (u scc, ús os) - u coo q xo os fjos os o úco fjo sccos ocos q s s . po jo, ocso co. MisM – Multiple Instruction, Single Data Stream: (mús sccos, o) - poco coú o hcho q fc os ús fjos sccos s cs ús fjos os. S go, s o s s scos so , coo o jo gc é, o s cs sisd
10
•
os sss so cso q o f. té s h oso gs qcs cs q hc so Misd, o g g ocs s. MiMd – Multiple Instruction, Multiple Data Stream: (mús sccos, ús os)vos ocsos oos q jc sá sccos fs so os fs. los sss sos s csfcs coo qcs MiMd; s xoo úco sco coo o, o o so.
1.6 arqUiteCtUra de MUltiProCesadores es o qcs c co os o ás coocsos (CPUs), gcs so, ocso jc sá os hos cs so ocso o ocsos fs. ls qcs co ocso s os sño q o s -c qcs ooocso. esos os hcho q os ogs jcs sá , oc, fs sí. Coc, o q s f s cs scs o. exs os qcs q s sos os: • •
l qc nUMa ( Non-Uniform Memory Acces ), o c ocso ccso coo xcso o. l qc sMP (Symmetric Multi Processing ), o oos os ocsos co o o.
es ú co o coherencia de caché . C coocso c co s o o cché oc. d q co coocso sc cc o, o hc úc so s co oc cché. S oo coocso c s cc o s cché, sá q j co co oso o co. p q ocso o coc cs ss oo sc sño o. l oí os sss oos cs os s cc. 1.7 definiCión de sisteMas oPeratiVos e ss oo s og f oos os ogs ss, og os ogos coj hw, coocáos sofw o so hw coo os s s ss s so f o áq . p coss q ss oo s ojos: 11
• Comodidad : ss oo hc q coo s ás coo . • Eficiencia: ss oo q os csos ss foáco s •
och ás fc. Capacidad de evolución: ss oo coss oo q soo fco, fcc occ s fcos ss , , o f os scos q .
e Ss Oo so s sgs s: • • • •
asc jos asc os asc sosos (os cooos so oocoos o os fcs) Sg (so cc)
ejerCiCios 1. p q scc jcs : ) es c o os os s cos xcs os gsos CPU. ) S ocso; os os s o o c coo sc. c) es c o; os os s cos os gsos CPU o c. ) S ocso; os os s cos o c.
2. So coos oo vo n: ) ) c) )
mo, dsosos e/s, CPU mo, dsosos e/s, u Coo mo, u Coo, u aéc lgc dsosos e/s, u Coo, CPU
3. Sog q os cojo sccos q cco (loop), c coo. e cco s s os q s c c g o, so s co gso scfco s cc. ¿Qé gsos sá ocos ss ocos?
12
) ) c) )
los gsos oso g ax, Cx, dx, ss. los gsos oso g ax, Bx, Cx, dx. los gsos sgos ds y Cs os os si, di los gsos os si, BP os gsos oso g ds, ax, Cx
4. p q scc s jc s cso q ocso og os os csos s scc. e o q ocso o os os s: ) e bus os
) u cooo
c) e sgo os
) e stack
5. ls PC q so ocso sá csfcs o xooí F coo: ) sisd
) siMd
c) MiMd
) Misd
6. los sss sos sá csfcos o xooí F coo: ) sisd
) Misd
c) siMd
) MiMd
. Co oc o cc oo s c : . . c. .
e gso sgo ss e gso o iP e sgo ss e sgo Cs
8. los ocsos CoMa coo ccísc c: ) ) c) )
u o oc c jcc og t soo sco ccos gco coso o s os cché t soo sco ccos gco coso o s os ocs u s o go c
9. So s cocos q f ásc ss oo: ) Sñs, pocsos, mo ) Ss oo Red , asc o, aso sosos c) pfco ocsos, ss chos, sc o ) mjo sosos e/s, scho ocsos
13
10. nUMa s o ____________ csfco txooí F coo _____________ ) ) c) )
pocso, MiMd mocso, siMd pocso, sisd mocso, MiMd
r eferenCias t, aw S. Sistemas Operativos Modernos. Sg ec. pc H. pso eco. méxco, 2003. Co pé, Jsús; d mg asgs, po; Gcí C, Fé; pé Coso, Fo. Sistemas Operativos. Una visión Aplicada. mc Gw H. esñ,2001. W Sgs . Sistemas Operativos , pc , 4 ec. pc . F, i m.; mci mcHos, a. Sistemas Operativos . tc ec. thoso lg. méxco, 2001.
14
ii COnCeptOS de SiStemaS OperativOS
2.1 eVolUCión de los sisteMas oPeratiVos l oc os so s co hsc co qc s coos. p coo g, gés áco Chs bg (192-181). Primera generación de computadoras (1945-1955): Bulbos y conexiones
• • • • •
a os os 40 How, ak, Joh vo n, J. ps, W mch Ko zs ogo cos áqs cáco os. ls coos os, s coí s os. u soo go sos sñ, cosí, og, o o. e gj o gj áq (coxos). a cos os 50 s ojo s js fos (co js).
Segunda generación (1955-1965): Transistores y sistemas de procesamiento por lotes
• • • • • • •
a os os 50’s s oc sso, so o og coos ás cofs, ás q s oí fc s s. H c sc os sños, oos, ogos, c. ls coos s ss cos co co cocoo qo oos ofsos cgo s jcc. u js fos. los gjs os : fortran, ensaMBlador y jCl (lgj Coo tjo). S sc o co. e cs, so s oí q gs coocos ss. 15
• • • • •
p g ocso s s ss ocso o os (os jos .). So s cácos cífcos gí os. los so cos : fMs ( Fortran Monitor System), iBsys q so iBM 094. S c os sos so: sso so. ac s cos gso cos ( int. de hw y de sw ), MMU, ás fécos ás os ff (os s) co o buffering.
C s
C u c
C ss
Ss ocso o os
Tercera generación (1965-1980): Circuitos integrados y multiprogramación
• • • • • • • •
a cos éc os 60 s coos cs hí os os coos: cífcs cocs, s cs cos sí. iBM ojo ss/360 q f í coos q os ccos gos qñ sc, s s fc coos cos. C o coo í s oo ss oo. S so co q s o cojo, os/360 ( Fred Brooks ). do é o e/s s co o s s, sí c jo so, ogc. Co c q cí so oí cg o jo sco c soc jc, s écc s soog (Simultaneous Peripheral Operation On Line [operación simultánea y en línea de periféricos]). l fc buffering spooling s q o cos e/s
jo co s ocso, s q sgo cos (soos) e/s os ocsos co oo ocso so. e ocso o os ogo í chíso o co so oo co s qoc. 16
• • • • • • •
ac sc ( oo o s fcos ss). C so í í, c o coo ( timesharing ) p ss o coo: Ctss (1962) dsés: MUltiCs c o f o o f os sss sscs H cco s coos, o jo deC PdP-1 1961 Unix hc s c – K thoso o c PdP-7 ac os sss o
Cuarta generación (1980-1990): Computadoras personales
• • • • • • • • •
( Large Scale Integration). nc os so os so sos. ac os os cogfí q sg c, g sj fcc so. nc Msdos q CPU 8088 ss scsos 80286, 80386 ... Unix ocso risC. S so coco áq q s os áqs fo coc (os). eso c s o soo co fo jaVa q s gj áq . uso sss gs ss os. so : e s o ss os sos sá coscs xsc s coos ocos co s. so sos: es q q c ss sos coo so co soo ocso, co sé coso os ocsos. lsi
2.2. fUnCiones de los sisteMas oPeratiVos u s cs fcos ss oo s oc o coj ooco ogo cojo sccos ás co sccos co c j. e ss oo s jc : • Modo central o modo de supervición, c s ogo, so o sc s
oo cooo cos sco o jo ( Hw o o ) • Modo usuario, o s oo s jc os coos os os, s so q sc s oo o o hc.
1
ls principales características os s.o. so: • • • • • •
df “if uso” Co hardware sos p os sos co os os os pfc csos sos Fc /s rcs os os
los principales recursos administrados o os s.o. so: • • • •
pocsos aco dsosos e/s dos
los s.o. so interfaz co: • • • • • •
Oos pogos ccos pogos sss (sos s.o.) pogs Hw usos
e Ss Oo s so q áq x o áq q s s fác og q hw sc. • • • • • •
df f so Co hardware os sos p os sos co os pfc csos sos Fc s foc rcc os
18
2.3 llaMadas al sisteMa los ogs so soc scos Ss Oo s s ss, s cs so cojo s q Ss Oo q s cocs co hw fo . a c coso oco: • • • •
po os áos g scífco go jc scc o “trap” oco ogo c s.o. lgo “trap” s.o. c coo, x os áos s so áos jc jo soco. lgo , s.o. cooc cgo so gso co s o éxo o fcso jc scc o “ return from trap” gs coo oco. e oco gs og o co cgo so coo o fc; o os áos gs os cos.
2.4 estrUCtUra de Un sisteMa oPeratiVo 2.4.1 Micronúcleo
u coúco (microkernel ) s qño úco ss oo q ooco s ss cos os. e coúco sá oo o s ssss cocos fo q fc g fos. 2.4.2 Núcleo monolítico
los os sss oos soos os os ccs, fo sños s s occ o sc. no hí g xc sss software gs, o o q o s oo c os os oocos o cc c . eso f sos co Ss Oo c oocos coss (hos o ís cgo), s o Sss Oos s cosos o úco ooíco. 19
u úco ooíco s úco o kernel Ss Oo q sá ogo fo o o o o q microkernel . S go cq co cq sco q coc úco co ss c os os cos. u Ss Oo co úco ooíco coc os s fcos oss o g og. toos os coos fcos úco ccso os ss scs os ss s. esos Sss Oos h sgo, o, Sss Oos scos qños os q s s h o ño úo o fcos. 2.4.3 Capas Virtuales
e áss os Sss Oos s s fcos jáqcs, s s ccos áq s hs s ás s, so q o coo coo áq (o ocso, o c.), so coo sq sño jo foc, s ocs so o s coo gsos, ccos, cé. e sq q s sgs so os Sss Oos sá foo o “cs”, ss o cs f soo o e.w. djks 1968, foso tHe (Technische Hogeschool Eindhoven-Holanda) c cos 6 cs. 5 4 3 2 1 0
e oo pogs so Coo e/S Cocc oo-ocso asc o sco asgc ocso ogc
f oo ss q gc cs ás o. e g cs MUltiCs s ogo coo s os cocécos, so os os os os gos. MUltiCs
máqs s: •
es coco f oco o Swgh mcKo 199 ss og o CP/CMs q ho s VM/30. 20
•
•
e oo áq s co ss, s jc hw s ogc, oocoo o , so s áqs s sg c so, ss áqs s o so áqs xs, co chos os ccíscs cs, so cos xcs hw s, co s oo úco/ so, e/S, cos oo o ás q os áq . po o o c áq jc fs so. ls s ss so s o s oo ss oo s áq .
e c s cs q fo Ss Oo so “cs” cocécs o úco. l cojo jáqco ogs q fo Ss Oo c cs o úco (kernel , gés). ls os cs o ssss s cg jo o, ocso, os sosos /s, os chos, cé. mjo foc mjo i/O mjo ocso mjo o K
Cs s Ss Oo ac 2.4.4
Otras estructuras virtuales
Modelo cliente-servidor
• • •
l c os so oos s úco ío o oí s fcos so os ocsos so. p soc sco ocso so (ocso c) í sj ocso so q s c jo gs co ss. e so s jc coo ocso oo so o s sj, s s s oc o oo. 21
Soc sco So
C rss
2.5 tiPos de sisteMas oPeratiVos 2.5.1 Sistemas Operativos Centralizados
u ss oo co s ss q hardware so PC. e ocso s hc soo qo o o o ás ocsos. 2.5.2 Sistemas Operativos de Red
So qos q os o ás coos s és gú o cocc, co ojo o co os fs csos foc ss. los Sss Oos é s f coo qos q cc c co Sss Oos os coos o o o ss co ojo c foc, sf chos, jc coos oos s f os cs. e o cc sos sss s q so s sxs cojo coos o s ss jc ss ocos, ás cc os csos q s ccs. 2.5.3 Sistemas Operativos Distribuidos 2.5.3.1 Definición
e Ss Oo so os sos cc csos oos s q o hc os csos ocs. p s jos, s o ocsos, cojo ocsos. p s q s cojo ocsos sé qo o f o c s s so. 22
los Sss dsos s cofs ss q s coo ss s scoo oo coo s c o o fc os ocsos ss. e os fs Sss Oos sos q xs os os sgs: Sprite, Solaris- mc , CHorus, Amoeba, Taos, c. 2.5.3.2 Aspectos de Diseño de un Sistema Distribuido
•
tsc. e Ss so s ss soo oco sc os sos.
CPU,
Css sc os Sss dsos: • Acceso. los sos cc csos ocs oos o ocos écs • Localización. los sos o q scfc s c os csos • Migración. los csos s o s c s o • Réplica. los sos o q c cás cos xs • Concurrencia. vos sos co csos oác • Paralelismo . dfs cs oc o s cooco os sos
• Flexible ( Heterogéneo)
u ss so coss s fs s, Sss Oos, hardware coos gjs ogc. los oocoos cocc scs sc s fcs s middleware co s fcs ss. •
Confiable ( Seguridad )
S cc ooco occ c os csos coos sc foc ss co s s sj és , ás gos csos s ogos ccsos o oos. Tolerante a fallas
los sss sos s sñ oc o ás os s fs os sos. Concurrencia
l sc ús sos ss so s f cos cocs ss csos. C cso s sño s cof oo coc. 23
• Escalable
u ss s sc s coso ñ so s c cos éos csos q s á ñ. 2.5.3.3 Ventajas y desventajas de un Sistema Distribuido Ventajas so sss cos: • • • • • •
Económicas : Ofc co/fcoo jo. Velocidad : t oc coco o o. Inherentes : ags ccos so h ss. Confiable : S áq f, ss coo oo fco. Incremental : S s o oc coco. Flexibilidad : ds cg jo so s áqs sos jo fo
os. Desventajas • Software : exs oco software so sss sos. • Interconexión: ls s s s ocso oos os. • Seguridad : e fác ccso é s c foc sc.
ejerCiCios 1. Sog q s sá o c cho sco o, o q s cc so. e Ss Oo q och os csos oo cojo coos. e s cso ¿qé o Ss Oo sá o? ) Co ) dso c) d ) d o coo 2. Sog q s c s áq sá jo sod, s sá cos os ocsos, ss oo cooc os ocsos o ás cog s s cooco. ¿Qé o sc sá jo? ) d gc ) d éc c) d ccso ) d occ 3. l c hardware q Ss Oo s o fs. a s ccísc s : ) tsc ) dsño c) esc ) Cof 24
4. Sog q s jc q xh so go fo sod, q coss cojo coos sos co soo ocso. l ccísc q sod q s í fc co s o jos s: ) dsño ) Fx c) esc ) Cof 5. l sc ss oo o úco co fcos áscs os fcos o áscs jo sño s : ) mooíco ) mcoúco c) exok ) Hío 6. l fc c Ss Oo Ss Oo so s (Scco os s q q): ) e so och csos coo sco o o os coos so so ocso. ) e so so och csos os coos q so o s c, so o. c) e so so cocs áq q q, so so o o . ) e so so c so coo g úco ss so o. . los Sss dsos so: ) sss f coos software f coos hardware ) sss f coos software é coos hardware c) sss é coos software f coos hardware ) sss é coos software é coos hardware 8. Sog q sos jo sod s coo coo x áq 1 s coo s sg: ho.x jgos og.c a s coo c x áq 2 os so coo sí c s áqs cocs ss. dcos ocs q sod c co ccísc : ) tsc ) Fx c) Ss chos go ) rcofgc 25
9. mco c sj sod ____________________ 10. los sss sos so ) Sss f coos software f coos hardware f) Sss f coos software é coos hardware g) Sss é coos software f coos hardware h) Sss é coos software é coos hardware
r eferenCias t, aw S. Sistemas Operativos Modernos. Sg ec. pc H. pso eco. méxco, 2003. Co pé, Jsús; d mg asgs, po; Gcí C, Fé; pé Coso, Fo. Sistemas Operativos. Una visión Aplicada. mc Gw H. esñ, 2001. W Sgs. Sistemas Operativos , pc , 4 ec. pc . H, Kh; S, b. ux Ss pogg. aso-Ws pshg Co. F, i m.; mci mcHos, a. Sistemas Operativos. tc ec. thoso lg. méxco, 2001. Chow, Jhoso. Distributed Operating Systems & Algorithms , aso Ws.
26
iii GeStión de prOCeSOS e HilOS en ambienteS CentralizadOS y diStribuidOS
3.1 ConCePtos BásiCos de ProCesos e Hilos Proceso. es og jcc, cos og jc, os ,
coo, gsos foc co cs jc og. e cgo s coo sccos áq os scos ss. to foc soc ocso s c so cooc coo tabla de procesos . e intérprete de comandos o shell s ocso q os coos , c ocso q s cg jcc coo. los ocsos cos o oo ocso s procesos hijo. • • • • • •
a cs s o q os ocsos s coq sí, cocc ocsos s so áq o áqs ss ( és ) so sjs o sñs (áog c hw o sw). es o s qé so c c ocso. C so soco id (o 16 32 bits ). vos ocsos co so og, o c o os s ocso so co s oo so. u ocso coss cgo, os ás os. e cgo s coo sccos áq os scos ss.
e so ocso coss os: •
e cgo og jcáos 2
• • • • • • •
los os sácos og jcáos esco os ácos e coo og, co x scc u stack jcc co stack pointer vos gsos CPU u cojo csos so so (chos os, coxos oos ogs, c.) e so ocso
Entorno del proceso. es cojo s q s s ocso oo
s cc, c sá foo o noMBre-Valor q s c ocso. el noMBre scfc o Valor s o. ejo oo Unix: PatH=/s/:/ho// terM=100 HoMe=/ho/ Pwd=/ho//os/o
Grupo de procesos . los ocsos fo gos q ss os, s
ss ocos so oos os ocsos o go, o jo oos os ocsos cs so go. io na t e r m i
ejcáos
doo
e s p ra p or un v nt o
dscho Co
lso
v e n t o e l e e r O c u r
dg tsc esos 28
eso
Estados de un proceso • Dormido. pocso xs. So s c so ocsos • Listo. Co ocso s co s s co ocsos sos jcs os
ocsos sos o csos sgos. • Ejecutándose . e ocso oos os csos csos s jcc. S s so soo ocso, so ocso s jcáos. es s o s co sos. • Esperando. es q oc o xo, o csos sgos. Co o oc ocso sso o s co sos s q s oog o so ocso.
e úco Ss Oo s cg hc s scos os fs ocsos f q os s cos, jcos os. Implantación de los procesos (Tabla de procesos)
e Ss Oo g o foc q cs cooc cc ocso c sc os o oq coo ocso o sco ocso (PCB). e oq coo ocsos co chs s foc socs co ocso scífco, co: • • • • • • •
eso ocso. Coo og. ic cc sg scc q jc ocso. rgsos CPU. ví úo o o qc coo. ic: cos, gsos íc, gsos oso g cq foc coc cgo. ifoc jo o. ic oo o foc cc o q sá so o ocso. ifoc co. ic: o CPU so, o í, úo c, úo ocso, c. ifoc so e/s. ic so s socs s s o ocso, os sosos sgos é, s chos os, c ifoc scho ocso. ic o ocso, os s cos scho cq oo áo cso scho ocso. 29
ls ocsos so ls ocsos oos
ls ocsos sos
t coo ocsos to foc os PCB´s s g oqs coo ocsos. e c s og ss ocsos sos, ss ocsos ssos s ocsos oos. Cambio de contexto
Co oc sc ocso q s sá jco oo so, úco scco oo ocso co sos jcs. eocs s sc 30
co jcc ocso sccoo, s c fc os gsos CPU, s coo og, c. a s c s o co coxo. Servicios del Sistema Operativo para el manejo de procesos
e os os ss oo xs cojo scífco jo ocsos os cs s co os sgs: • • • • •
C ocso ( fork ) bo ocso C o ocso i ocso O os os ocso
Procesos ligeros (subprocesos o threads, hilos)
u ocso go s og jcc q co g o os focos co oos ocsos gos. C ocso go foc o o co co oos ocsos gos, coo: • • • •
Coo og p rgsos eso ocso go (jco, so o oqo)
toos os ocsos gos so ocso co foc so. Coo: • • • • • • •
esco o vs gos achos os pocsos hjos toos Sñs sáfoos Co 31
e so ocso sá coc os sos ss ocsos gos. u j os ocsos gos s q cc. Coo so os ocsos gos co os socos s c q os ocsos gos so s cos sí coo q s ss oqs o ocso go. e ocso coco co soo ocso go o h so s ss oqs. vos ocsos cocos cooo so o co s, o o q cocc cos cho o.
e so q os ocsos gos, o q co o ( s gos q oos os), ogc coc. e s o ogc h q g q ccso os os coos s hg fo coc. Planificación en posix Posix scfc s oícs fcc, cs ocsos ocsos gos.
C jc soc oíc fcc o. C oíc fcc soc go os. Posix scfc q c c í ofc go, os, 32 s o. e fco gá s jc ocso o ocso go co o ás . ls oícs fcc sos Posix so s sgs: •
: los ocsos q s fc sgú s oíc s oc f co s o soc. u ocso co s oíc fcc sá xso CPU úc co jc oq ss o co c ss ocso co ás o. e cooo s o scho s sg:
fifo
• • •
S ocso s xso CPU o oo o o, ocso xso s o co soc s o. Co ocso oqo s so jc, ocso s oc f co soc s o. Co ocso c s o o s oíc fcc, o os scos cos, s fcc. S coo so és ocso s xso, és s oc f co ocsos s o. 32
Cíclica: los ocsos c o s fc sgú oíc
•
fcc cícc co oj o. e cooo scho s sg: •
Co ocso c s oj o, s oc f co ocsos s o. Co ocso s xso o oo o o, s oc co s co s s s oj o. d s fo, co ocso coú s jcc, o há hs q cos so s oj o.
•
•
Otra: es c c. d co sá Posix, oo
ss oo q sg sá Posix ofc oícs os s os oícs os, o ás ofc cq o. Planificación en Windows nt /2000
e Wows nt ásc jcc s ocso go , o o, fcc s so s o ocsos. los sos ocso go q j s ss oo so: • Listo. pocso so jcs. • Reserva. pocso go q sá sg ocso go jc ocso •
• •
•
o. So h ocso go s so o ocso. Ejecución. e ocso go c jcáos hs q s c s sgs cocos: ss oo o xs jc ocso go o o, oj o ocso o ocso go f s jcc. Bloqueado. Co ocso go j s oqo , o s o, co s jcc o s so so jc. Transición . u ocso go s so co s so jc, o q ss oo s ocso o s o c. Co ág o, ocso go sá so so jc. Finalizado. Co ocso go f s jcc s s so. u o, ocso o o s o ss. e cso o s o, oí s o.
33
Wows nt fcc cícc co os co xs. e Wows nt xs 32 s o, 0 31, so 31 o áxo. esos s s s cgoís: • • •
dcsés s co os o (s 16 31). Qc s co os s (s 1 15). u ss (0).
toos os ocsos gos so s jc sgú oíc fcc cícc co o. e cgoí, oos os ocsos o fj. e sg, os ocsos co s jcc co o és co ocso, o s g 16. es o s ofc sgú cooo q ocso s jcc. así, ocso c s o s c o. e co, s ocso s oq, s o á. Co so s sg jo o ss o ocsos cos q /s. 3.2 desPaCHo en sisteMas Centralizados dscho. Cojo oícs csos cosos ss oo q go o c s cg jo ss. dscho. mo ss oo q scco sg jo s o ss sg ocso jcs. e ojo c scho s o fcc ss co co cos cosos os ss oo. 3.2.1 Criterios de despacho
pocj c CPU. es fcc o c CPU sá oco. Throughput . l c jo o o o. to c. to q sc s oo q og o jo s soo hs q s o o ss. to s. to q jo s o sgo cso o so coo csos s ogc. to s = o c – o jcc 34
to ss. e sss o coo s o q sc s q s so úo cc coo hs q s cc ss. e sss o s o q sc s q oc o hs q s jc scc s sco. • • • •
agoos scho. exs os os scs scho: -no -. ls q q ocso jcc g o -p-.
3.2.2 Tipos de despachadores • De largo plazo. e scho go o, co xs, j co co os
jos os scco sg jo os jcs. S ojo c s ooco c c jos scho coo o. es o scho s oco c q ocso o ss. S c s oco fc. e éos g sc sos ocso, scho go o s cg sc ocso so oo so so. • De mediano plazo . Co xs ocsos q cs so so s fcs s, q o o c ssos, s q ésos ocsos s q o o c s g o sc, hs q s coc s h coco ( s c s cooc coo ]“ swapping ”), oo oos ocsos q q s os. e scho o o s cg jo ocsos q o s h o o sc. e éos g sc sos, scho o o s cg sc sso so. • De corto plazo. e scho coo o sg CPU os ocsos sos o c. S ojo c s x fcc ss co co cos cos. y q s cg s scos so jcáos. e ácc, scho coo o s oc c q oc o q ofq so go ss. agos os q ooc s cos so: • • • • •
psos oj (cos o) icos cos e/s l oí os os ocos Ss Oo eío cc sñs acc ogs cos 35
3.2.3 Algoritmos de despacho
esos goos s g : • • •
Cc sss o os Cc sss cos Cc sss o
a) Calendarización en sistemas por lotes:
• • • • 1. 2. 3.
po g, o s tjo ás coo o to s ás coo coc Cc s s Co s Co o Co CPU
CPU
Memoria principal Trabajo que llega
Calendarizador de admisión
Calendarizador de CPU
Disco
Calendarizador de memoria
b) Calendarización en sistemas interactivos
• •
Cc o o cc (ro-ro). u co 20-50s s o. Cc o os. p q gú ocso j o s f s o, c q ocso o s scho s j s o, o s , o c q ocso j o 36
•
s sco s c coo. Co coo g s g , ocs scho o oá sco. ls sgc os os ocsos s ác o sác. mús cos Prioridad 4
Más alta prioridad
Prioridad 3 Prioridad 2 Prioridad 1
Más baja prioridad
En cada turno se baja la prioridad al proceso que se acaba de ejecuta
• • •
•
pocso ás coo coc. Cc g. d c ocso o q s ás c é. Cc o oí. S oos os ocsos scho g o; ocso go s q s jco. S ocso s ás o o ás s q os ás, s ás oos, sí s o g ocso s ás . los ocsos q coo sí c oos ás os g CPU. Cc o oc q. S os ccs o os fos.
c) Calendarización en sistemas en tiempo real
S csfc sos sss : • •
to sco. aq q o os, ss os so soos. to o sco. p cos ocsos.
los scsos Ss to r s csfc : • •
pcos. S s os gs acos. C occ c
los goos cc sss o s sácos o ácos. 3
los os o ss csos cc s q ss coc jcs. los sgos o s csos o jcc. 3.3 desPaCHo en sisteMas oPeratiVos distriBUidos los ocsos o co so sco ccos o q o co oo. p cocs s cocc coo o co, ís so sjs. 3.3.1 Modelos de Sistemas El modelo de estación de trabajo
es oo coss scos jo (ws) sss fco o cs cocs sí o o lan. ls ws jo scos ocs o o. Estaciones de trabajo sin disco
S s ws cc sco, ss chos s o o o os sos chos . vjs • • • •
pco ás jo. Fác o so. a c s software o s o o, so s q s ocos sos. So scoss (o os). pooco sí fx. u so cq sc jo ss.
dsjs • •
S co co o o ás sos chos qos co scos os áos os cs s ccso lan. G so q cos o.
38
Estaciones de trabajo con disco
Fos s q s sco: 1. p gc chos os, os cs s f ss. S j s c cg coo co cso s sco, s sj s o coso o g úo scos os. 2. p gc, chos os os ss, s coo coos, os xo, cooos coo cco, c. es sq c ú ás cg so . S sj s o coso coj co c os os. 3. p gc, chos os, os ss ss oco chos. los sos cg chos s os sos chos hs ss oos scos, os sc os fo oc, sés gs os chos ofcos f ss. e ojo s co co go o, o c cg . S c sj s q os cossc cché. 4. u ss oc chos coo. S j s scs cg q cs os sos chos. po h é sc s ás co ss oo .
Oos os coos co s oo so os sgs: S os ccos sg áos oo sá os ooco c so os CPU, o sí sos soo g; ás sgí oo o, sgc csos sí fc q gos sos cí csos q o cs s q oos sos s os cs. Uso de estaciones de trabajo inactivas
e o oo scos jo (ws) s q xs ws cs o ss. l soc s o f ooco coo rsh (Unix Berkeley ), co s coo s jc áq o coo. p co jcc o coo áq c sh s gso cc cá ws s c. aás ocso
39
q s jc áq o sgá jcáos q g so, q c sño o s ss o sc o áq. pos c soco co sco s scos jo cs: 1. ¿Co co sc jo c? 2. ¿Co og q ocso oo s jc fo s? 3. ¿Qé oc s gs oso áq?
1. l sc jo sá c co oc o co os os o s jc gú ocso co o so. los goos oc ws c s os cgoís: • •
Cooos o so Cooo o c
e cso co ws sá c c s so gsáos cho o s os, s o, cc os. Co so s jc coo ws c, coo sc gso ws c ( gso ws cs s co co gs cos). O s q ws c í sj o . ls ás ws gs sj s oo gso. así úsq o coso o c. l sj s os s áqs q s cg gso. p h cocos coc s os sos sc s áq coo c. p soco s o, s í sj áq c c s so, s ú sá , áq c s gso. eocs q ho s c ocso oo. e sgo éoo, cooo o c, áq q sc ws(ws) c s soc o c og q s jc, os qos o, ocso, c. a gs ss s g ws c. ls ws cs s ss sss, co so ooco cg c. así, ss áq co o cg g o s scco. 2. aho h q jc og. e so cgo s fác. S cofg ocso oo oo q so q í cso oc co co s fo q cso oc. 40
ncs s s ss chos, so coo jo, ss s . Problemas al ejecutar un proceso en otra máquina.
•
• • •
ls s ss ¿ gs? ¿ áq og o áq o? po jo, c co sc so fcos q g soc áq og; o s s q q co os o ño o g s soc áq o. ls ss cos co o Sgo esc sosos hardware
3. es fác q oso áq gs o hc , o s ws sos. O os s ocso so, éo o q g o c chos, sc os úfs os sco, c. So s sés os sgos ocso s o. Oo éoo s hc q ocso g o áq, s áq og o g o sc jo c. eso s ocso cojo. e ocso j áq so so xc coo co. El modelo de pila de procesadores
S cos ocsos, CPU, co áqs, os cs s jc fo ác os sos sgú . a c so s gáfc o, coo s s x, cso s s ascii . vjs • • •
pco e socc úo sos Fc cco o cos
ws
d hcho s co o co ws cs, s q s ccso ác. aqí o xs coco o. 41
e c go cc o co coo ocsos o oí cos. los sss cos so ús, so q s os oos fo íc. S λ s s os socs o sgo oos os sos coos. S μ s ocso socs o so. p oc s os μ > λ . S so ocs os socs q s q os sos g, co ccá s í. e oo o s soc oc ss co sá coo co λ μ f: t=1/(μ - λ )
1)
S os coos, t sá o c coo coo 1). aho s os sos qños csos o o g q s cs ás ooso, ocs os: t=1/(μ - λ ) = t/ S c o oo ss cs. po so ocsos jo sño, q sé co os oos sss sos. S go o oo ss o o s oo. té sá coso, cof oc fs. u c o ss é f. aás chos jos o s cs jo, s o oos os jos s jc o. aú sí, oo ocsos s fo ás o o co co q úsq scos cs. ngú ocso c g, o h áq og, o h go q oso gs. Scco ocsos o scos jo cs jo q s so. Modelo híbrido
S sc c ooco c so ws so ás ocsos. eso s ás co. p ocsos cos sí jo ws. p ocsos q q g o ocso o so cos s ás co ocsos. 42
3.3.2 Planificación en sistemas distribuidos
S os goos o, roun robin, oí, c. a o os qs hos ooco cs s q so scfc goo scho sc s os (s s cso). Implantación de un paquete de hilos
exs os éoos, sco so sco úco. Implantación de los hilos en el espacio de usuario
e úco o s xsc os hos. vjs • • • •
e ss oo o soo hos. po jo Unix. l fcc co so Ss to ejcc so. S q c ocso g s goo fcc o. los hos s sco jo sc, so q os hos úco q gú sco ss s s úco, o c s o s xs úo g hos.
dsjs •
•
l c s s ss co oqo. po jo, c cío. S oqo ho o q o fc os ás. Co s s ss co oqo so o s og. u os soc sí ofc s s ss, o c ss oo o s co. aás o os ojos q hos so s o jc os Sss Oos xss. u co ss qí chos cos chos ogs so. O s s o s ss s oqá o seleCt. eocs ss oq s o seleCt go ss. seleCt fc s s sg (o s oq), s s sí s co, s o o s jc. e cgo q s cooc jo ss hc fcc c o jck. es éoo q sc oc s. boqo s s ss fo ágs. S ho cs fo ágs, úco q scooc xsc os hos, oqá oo ocso hs q ág cs s c q s co oos hos. 43
• • •
S ho co s jcc, gú oo ho s ocso jcs, os q ho g fo o CPU. do ocso, o xs cos oj, o q os fcc o o. Scoc. Co ho s oc so ss ho, cs cos oj. l s oc s c co s s ss á coso sáfoo s o, o s oqos. los ogos s os hos ccos o so s oq o, o jo so chos.
Implantación de hilos en el núcleo
e úco s os hos co jos. És co co o c ho, co os gsos, so, os ás foc ho. ls s q oq ho s coo s ss, co coso cos. Co ho s oq úco jc oo ho so ocso o oo ocso. po ogo sí q s jc ho so ocso. agos sss cc ss hos; co ho s s, s c coo o jc o ss scs os úco o s fc so q s oc co s c oo ho. eso c hoo. los hos úco o q s s ss s oqo, o coc oqos co s s oc. S ho ocso ooc fo ág, úco jc oo ho s q s q ág q s í sco. los hos sco so o úco socos oos os. mchos ocos o so s, o jo co os hos errno o gú búfer sáco. eso sc oq sos ocos o fo scos hos so soo ocso. u soc sí sc o oc. O soc coss ooco c q s jacket q c sáfoo mutex go c oco. d hcho oc s co o oo. ls sñs é s fcs. Asignación de procesadores
ls sgs sgc ocsos s os cgoís s: • •
no goos. Co ocso s co s c cooco. u cooco áq ocso cá hí hs q s jcc. mgoos. u ocso s s q h co s jcc. es o cgoís jo c cg. 44
u goo q sg ocsos ocsos coo o gú sco, o jo os sgs: • •
mx so CPU m o ss
Aspectos del diseño de algoritmos de asignación de procesadores
ls csos q o os sños s s cco scos: 1. 2. 3. 4. 5.
agoos ss s. híscos agoos cos s. sos agoos os s. sos agoos ocs s. gos agoos cos o so s. cos o co
los goos ss so cos co s s o oo cc cooo os ocsos o o o os oxc o. Co cg ss s co c s éccs híscs. t o foc soo g o jo cs, o s os os cooc cg s áq c. So fs os scos, o cc ács cs. eco jo sgc, ás , s ás co, s h q coc ás foc ocs ás. e ácc s sc socos ss, hícs ss. Oo sco o oíc sfc é s o, q co jc ocso áq oc o sfo; s cs cg áq. u sc c q cs s o co sco foc áq oc, s sá socg (sá o so c) ocs h q g ocso, s o ocso s jc áq oc. O sc c q s jo coc o foc ss c jc ocso. e úo sco q co o q s oíc occ, c o q s h co g ocso. e cso os goos cos o so, s so ( áq oc q cs cooc s ocso o áq) q í socs s ás áqs sc g oo s ocso. e cso os goos cos o co, 45
s co q c q sá scg q cs jo, sí q sjs s ás áqs qé cs . Aspectos de la implantación de algoritmos de asignación de procesadores
•
mc cg • • • •
•
los goos so q c áq cooc s cg. agos goos c úo ocsos s cg. u jo co o s co so os ocsos jcc o sos. O fo cg s fcc o q CPU sá oco.
Coso xcso • •
•
mchos goos cos go coso coc s s os ocsos qí á. a s ocso s fc s h gc hco. p so h q o c so o, o CPU cho .
Coj •
exs goos q sño oco jo q oos, o so ás cojos. • eg so s sco, o j co s goos. S so q c o ocso áq és s socgá, o o o h q s ocso oo g. 1. S g áq s í ocso, s áq sá scg ocs cá ocso, cso coo s oc hs q g c ocso o s xc coo o. 2. S g áq s g s sá scg, s s ss s f ocs áq og í ocso, s o s oc co o áq g sí hs co áq c o s xc úo s, co cso cá so s cc. 3. S k áqs ss cgs xcs. e ocso s í áq co cg ás qñ. e jo goos s 3, s go goo 2 sño cs g 3, o s ás sco. l cocs q g eg f: “S so goo sco ooco cs s gc q o ás co ás cojo, s jo ás sco”.
46
•
es •
e ss c sá qo o cc cos s s s áqs, sí áq oí s q o sá c s q s sí.
Ejemplo de algoritmos de asignación de procesadores, un algoritmo determinista según la teoría de gráficas
p sss q cos ocsos co qos coocos CPU o, ás cooc co áfco oo c j ocsos. S úo CPU s o q úo ocsos, há q sg os ocsos so CPU. l s co s sgc fo q s c áfco . S sg gáfc ocsos, os cos c cocc os ocsos. u os sgc s sg: CPU1
CPU2
3
CPU3
B
2
C
3
D
A 1
2
2 E
8
F
5
4
6 3
1
30 s
5
4 G 4
2
H
CPU1
I
CPU2
3
B
CPU3
2
C
3
D
A 1
2
2 E
8
F
5
4
6 3
1
28 s
5
4 G 4
H
2
I
poos os q sg sgc s jo. 4
Un algoritmo centralizado
a-jo (mk l, 198) s co. us so, co o c sc jo so. S ocso s jc o áq, áq og c os c c sgo. S socs s o ssfchs, os os c s s s sos. S o xs socs s gú ocso s so, sos s s co úo os hc co. S c soc sc jo sos s os, c q sc jo s so os csos ss. S c g c q cs csos, s s co s . e ojo s goo s sg cc js. S sj s q sss gs co chos oos c cos o. Un algoritmo jeráquico
p s o goo s cs g c ocsos, os cs s g o jqís, ( ás o) go ocsos fo coé cooos, sg sá os jfs o. los s s , oo á úo ocsos. e úo sá os jos. es goo s o ss MiCros. Co q os ocsos, ocs soc s hc os jfs o (o o os jos), s ésos o so í s jf o, hs c o s so o. e so soc s os sc os sos o jo é, qs oc hs g os jos. S sñ os ocsos gos coo ocos s fo gso áo. Comité de Coordinadores
coordinadores
Jefes de departamento
Trabajadores
48
Un algoritmo heurístico distribuido iniciado por el emisor
es s sgo goo Eager coo ágs os. l sj és s q s cs os s ws sá socgs ocs s á s fo cos o. l s socgá co ás jo xs. Un algoritmo heurístico distribuido iniciado por el receptor
es goo s coo o. Co ocso , ss fc s ws o ocso sfc jo. e cso coo, g g áq soc jo. S o c jo n s, co j g o co o, o. es goo c áfco co s ws sá scgs (ss), o s jo s oo c áfco co ss sá socgo. u os ofcc s goo s co goo o és. S ws sá socg á shcs jo, co sé scg cosg jo. S j hso áqs q sé cc scgs o socgs. Un algoritmo de remates
es goo f co o Fgso. e s cso s c co coc o os ocsos co o CPU s jo. los ocsos ss ccos jo oso. e co ocso co s oc, ño o, hardware o q g úo c, cso o ss. Co s s c ocso hjo, fc s g ofc sco q cs j jo. G of. los ocsos ú os s ofs g . S fo os gos os. 3.4 CoMUniCaCión entre ProCesos en aMBientes distriBUidos l fc ás o ss so ss co ocso s cocc ocsos. e ss co ocso s so xsc o co, o c o xs ss so. l cocc ocsos s gs s oocoos. 49
3.4.1 Modelos por capas
p q os ocsos og cocc s o co os scos coo, cáos oos h q sñ 0 1; co c f sj, c. p fc s jo ogc co sás ( internacional standards organization- iso) h soo oo fc o oo fc cox sss os, o c s coo iso, osi o oo osi. e oo osi sá sño cocc os sss os. u ss o s q o cocs co cq oo ss o sás q go foo, coo sgfco os sj os cos. u oocoo s co s s cc co sos cocc. e oo osi j os os gs oocoos (coxos). • Protocolos orientados a la conexión . as c os, so co
sc fo xíc cox oocoo. • Protocolos sin conexión. no s cs gocc . e oo osi cocc s s s o cs. C c s j fo s cg sco scífco. C c ooco f co c o c . l f s cojo ocos q js f sco q c sá ofc ss sos.
l j oocoo o cs s s c, q c ofcs o jos s fc s ás. e oo osi co s sj és s o os s cs coo acc. C c cooc co f o f, g sj oo o, c c o so, qáo co q coso; c q c sj s c físc. Capas Física, Enlace de Datos, Red, Transporte, Sesión, Presentación, Aplicación
l cocc oocoos os ss c s s oocoos o oocoos. 50
Capa física
S oso s so fjo bits áq o. e oocoo c físc s cg sc s fcs éccs, cács sñc. mj os coo s sñ , cs, chfs, ojs, scs cs. Capa de enlace de datos
l c s c s g os bits s s cos o s, c cog os. uo os csos cc os s sg úos sccs s s c cooc s fcc, s o sá coc s fcc ho c co, ocs co sso q s co x. Capa de red
l c c s g jo ( s c s o), ás co o s s jo, o o s c so, so coc os goos o. l c j os oocoos: x.25 (oo cox) iP (s cox). Capa de transporte
l c so s ooco coxos cofs cocs. ls coxos cofs (os cox) s cos o x.25 o iP. e x.25 os qs g o, iP o, ocs c so s cg oos o. e oocoo so ofc iso cco s, tP0, tP1,… tP4. los oocoos ás os s c so: tCP (tss Coo poocopoocoo Coo tssos), oo cox UdP (us dg pooco- oocoo dg us) q s oocoo s cox. Capa de sesión
es s sc s jo c so. pooco coo áogo fcs scoc, os sc coxos s ssos os sf os so s ssos fo o. e ácc s ccos soo s c. 51
Capa de presentación
es c os os coos co sc sgfco os os. Capa de aplicación
es cocc os oocoos cs cos coo coo cco, sfc chos cox s os s coos . es c co os ogs so. poocoos os: x.400 coo cco, x.500 so coos. 3.4.2 Modelo cliente servidor
e oo c-so s oo coc q ocso qo jc cc o cojo ccos cos s os o ás ocsos q coo sí. us oí jo so s hc ocso o so ocso c so s oc cc co so. los cs coos sq c-so so ocs os Cs, os Sos fsc coccos. los Cs cú co so, s fo gáfc. Fc s coc co ocsos xs q s cg sc cox co so, o, c ss, j s fs cs scoc sg. los Sos ooco sco c os sos. e gos csos xs ocsos xs q s cg c s socs c, fc occ, c ocso so ssfc o, c s ss c. aás j os oqos, cc fs, oos scos fs. po s os os fo coco soc co os sos s ás oos q os cs. po s s PCs oosos, scos jo, coos o sss gs. aás j scos coo sc , sjs, coo sc ss (“login”), oí cc co. us os sos xs gú o sco ss os. p q os cs os sos cocs s q fsc coccos c ooco os csos áscos ccoo so. l oí os sss C/So cs s s s 52
ocs o o o oocoos o oos cox, o c c q s ccos hc s fccos. l ccíscs cs sño, cof, sc sc. Coo jos cs cs fcs so coos so, aPis soo ccos ss, hs c hc ccso sos oos (o jos sos sql) o ccos q soc ccso sos gos scos. Coo jos sos cs sos s coo x-windows , sos chos coo nfs, sos jo ss os, coo os sos sql, sos sño fc ssos o coo, c 3.4.3 Llamada a un procedimiento remoto ( rpc )
b nso oo s 1984. e s sq ogo o s oc o sfc sjs. m rPC s oc jcc oco áq a q o sá a, so B. Oc ásc rPC. d coco, co oco s oco, cc q gso o x scc ( iP) s c , gso o sá cgo co cc oco oco, co oco oco , ocs gso iP s cgo co cc q s o sg jcc og. e oí os csos s cso áos o áo s. los gjs ogc coo C, os os so áos: o o o o fc. e so áos o o s s o o h o, so q o s ofc . e cso so áo o fc, o q s s s cc, s os ofccos so s . exs o fo s áos q o j gj C, s cso s co/sc. Q c co , coo o o, ocs co gso sés , sco so o og. e ojo rPC s q s c o ás os oc (sc). Co so s jc o , o o q hc s xo s f, so s, o os scos ss áos, scfco s so áos 53
o s, s s, s fco úco s s. u ocso o coco s q c f gso. e coco ás gso so o j sc gú so. l s sco s o s c s so h so co o o. así coco coá s ús sos os sos. es éoo xoc oc s fx. po jo, j os sos q j s f. po ss sjs. e coco s co co o, ás ocso o coo o o xo fcs s sgfco. Semántica de rpc en presencia de fallas
e ojo s oc cocc, hc q s s os ocos oos s c os ocs. S go, so o s sco. exs cco css ss fs q oc os rPC’s. • • • • •
e c o oc so S sj soc c so S sj ss so c e so f s c soc e c f sés soc
El cliente no puede localizar al servidor
do q so c cc c o s c ( g s q s c). e Unix s o -1 go o, o s -1 s o áo, há cofs cc s f o o so g oc. Oo cso q o sj o s q o ooq xcc. po jo s oí sñs. po o oos os gjs xccos /o sñs. aás so sos csos, s sc. Pérdida de mensajes de respuesta
S coo, s o g ss oo o, s í soc . ¿po qé s , soc, ss o so s o? S s ss q s , ocs so s ás fíc f. ags 54
ocos s chs cs s fcos cos s cs ños. a s o s oc. po xs ocos q o so s, o jo o cjo oáco. u os soc s soc úo scc c soc. eocs úco so gso úo scc ás c, sí oá o fc soc og s ssos. Coo occ co s oí cooc bit co sj sg s socs ogs s ssos. Fallas del servidor
p sc q so f sés so o q so f s so. exs s scs oo o q s hc s cso: 1. Sác os . Sg o hs cosg ss ( so o c o s coc o so). G q rPC s os o ás cs. 2. Sác o ás . S o co fo f. l rPC s o ás o so . 3. no g . Fallas del cliente
Co c f sés soc s q h co ss, xsá o co c s ss. a s o co o s s héfo. pos q ooc héfo. • • •
dsc ccos CPU boq chos o c csos osos C cofs (s c c o rPC, ss s ocs o sá o q s)
¿Qué hacer con los huérfanos?
nso (1981) ho so cc s o oso o sg: •
exc. as soc, sgo c c gso o q s hc o c dusci . a o c ( c) s fc coo gso s héfo. 55
• • • • • •
dsj. Gso sc sco. S h ás héfos s o q o s oc no s éoo. rcc. S o éocs. Co c c o í sj os s áqs q c co éoc. S os cos oos q sé f éoc. rcc s. u é éocs, o q sá jco rPC fc s xs ño rPC co g sj c éoc, s o xs oc. exc. S sg c rPC c o, s o s o oo quantum, so ocs s ocso.
e ácc go s co. l c héfo cosccs. Protocolos rpc
Oo cox • vj. Cocc fác • dsj: pé sño S cox • e s cso s oocoo g sg. • agos sss UdP o UdP go iP. • vjs • e oocoo h so sño • esos oocoos so os cs oos os sss Unix. • UdP iP so sooos o chs s xss. • dsjs • C oocoo fo q co os cos ás os s fcc. • lo o hc q s sño. • a • u oocoo sco rPC, q s sño o o ogo.
Co sco og q sj, s ás co hc 64 rPC 1k q 1 rPC 64k. po o o oocoo s ssos gs ( Sun Microsystems 8k, í Ethernet s 1536 bytes ). 56
Reconocimientos
1. poocoo s s. eí q s cooco. los qs so os o o. 2. poocoo choo. e c í oos os qs oo coo . así so cooc oo sj c oo q, o o o o. Propiedades del protocolo detenerse y esperar
S s ñ o q, c o c o cooco, o o q s q fcoso. e oocoo choo sí s q 1 o g coc; o oo s q c s oo sj o s co s q 3 g go c q í q 1. a so s c sc. 3.4.4 Comunicación en grupo
p rPC cocc so s os s: c so. a cs xs csos o s cso q os ocsos s coq (o jo, sj oos os sos so q ss sá o j o o). u go s cocc ocsos q cú jos co ss o g fo o so. l o f go s q co s í sj oo go, oos os os és o c. a s o cocc s ochos ( c-so s cocc ). los gos so ácos, s c os s os. u ocso s go o jo. u ocso s o os gos . l c cocc go hardware g . • Multitransmisión. Co s í sj go és s c oác
•
os s áqs q scch s cc. C go scch cc ss. Transmisión simple . los ocsos s cocs cc cá go c oq sj o fc oos so os os go c go sj o o. l sj s q s ocso o c go ocs sc sj, o so c sco o. 5
•
Unitransmisión. e sj s o c ocso o o, s c, s go
os, s í qs. Grupos cerrados vs. Grupos abiertos
los ocsos csfcs gos cos gos os. e go co so os os go sjs go. e go o cq sjs go. Grupos de compañeros vs. grupos jerárquicos
O fo csfc os gos s gos coños gos jáqcos. e go coños oos os ocsos so gs, j s q s o f os ás sg jo. l sj s q o cs s o, so c o so coso. e cso go jáqco xs jf o cooo, j s q h os so coso, sj s q s f jf, go hc o. Membresía del grupo
p j cc c gos, sí coo os ocsos q s o j gos s so gos. es so s os cc qé gos xs qés o fo. l sj s q s so f, s foc cc gos s cosos os gos o. Oo éoo s j sí go fo s. e go o xño sj oos os os go c s sc. e go co s cso go s. p s go s sj s oos. S o f, o h sj s, os oos os s á c cocs co é, ocs so so, o s go.
58
3.5 sinCronizaCión en sisteMas distriBUidos 3.5.1. Sincronización de relojes
e g os goos sos s sgs os: 1. 2. 3. 4.
l foc s s s áqs los ocsos o s csos so co s foc d s o fo ss no xs oj coú o g o f cs o go
Algoritmo de Lamport
lo sñ q scoc ojs o q s so. S os ocsos o cú o s cso q ss ojs sé scoos. aás o q o o s q os ocsos coc xc ho, so q coc o c oc os os. así c cs goos o q o s cossc os ojs, o s c ccí o. p sos goos os ojs s o ojs gcos. lo f c “ oc s “ (→ ). es c s os c os scos: 1. S so os so ocso oc s , ocs → s o. 2. S s o ío sj o ocso s o cc sj o oo ocso, ocs → é s o.
e goo lo coss o sg, co ocso í sj sj cosgo s c o C(), s ocso co o C() o q ocso , ocs sj s co o s . po s c o , s c C() s o q C(), ocs ocso js s oj, o c o C() s o (v sg fg). lo q os os o oc xc so o. Co s goo s o o o oos os os ss.
59
0
1
0 2 4 6 8 10
0 3 6 9 12 15
12 14 16 18 20
18 21 24
2 0 1 2 8 9 10 25 26
3 0 4 8 12 16 20 24 28 32
2
28
40
30
2
36
Algoritmo de Cristian
Co ss hc so so o (qá oq so co wwV o o ), s s goo Cs. es goo coss q oos os cs s scoc co so o fo c. Sgú goo Cs o o co hc, o o o co s fo g, so s cosg hco o sg, s s g 100 cos o sgo, o o s q s g q ñ 10 sgos c c. eocs s s q s oj, s oí ñ 9 o os sgos c c hs q oj sé scoo. S o q s q s oj ocs c c h q ñ 11 sgos hs ogo. Oo o s goo s q o q so so so s so co. po s so fcos coo, o jo cg s oo ss. u fo o s oo o c ti o f tf o fc o 2, (tf – ti)/2. Algoritmo de Berkeley
e goo Cs so o s so. e cso goo bk sá co so fo c os s áqs 60
gs s o. e s o os s áqs céos é so, o oo s c c áq cáo o s o ss og scoc. a g q Cs, o s oj h q hco co s cos q g coo. poco 1. e so o í c áq s o 2. ls áqs c c úo sgos q sá s o ss co sco o so, s s úo oso ocs sá s s s go sá ss. 3. e so s oos sos os os úo áqs céos é so. 4. e so o s s oo o oo t, cc úo sgos q f o so áq g s o t, s o í áq. lo so hc c áq. 5. ls áqs c so sco s o.
u ofcc s cos o q os sjs so ss so. ejo: Sogos q os co áqs s s so o. ls áqs os sgs os ( s cso jos o os): t=(-62+48+24)/4=+2 l s 2 so.
15:12
15:14
+24 -62 14:10
-22 +64
+48 16:00
14:10
15:36
-46 16:00
15:36
u jo s os os q sé jos o so.
61
3.5.2 Exclusión mutua Un algoritmo distribuido
(e goo rc agw ) es goo q o o oos os os ss. p cq j sjs q co qé oc o. Co ocso s g cíc, cos sj co o és, s úo ocso ho c, í oos os ás ocsos fo coc é so. S cocc go cof. Co ocso c sj soc oo ocso g cíc, sg s csos: 1. S co o sá g cíc o s , í gso sj ok so. 2. S co s g cíc, o so, so q fo soc f. 3. S co s g cíc, o o o h ogo oí, co c o sj co co c co sj q c o. l o s cs g. S sj co s o, co í sj ok. S s oo sj c o, co fo soc f o í .
u ocso g cíc s o so oos. S s sí, co s í sjs ok oos os ocsos s f os os f. Co s éoo xcs q g s oqo c. e úo sjs csos o s 2(-1), o s úo o ocsos ss. ejo: Sogos q os co ocsos os 0 3, os ocsos 1 3 s g cíc, 0 o s g cíc 2 sá o g cíc. los ocsos 1 3 í sj cs so o, o c 3 s o 1 (1 c o g 3 3 c o g 2). Co 0 c sj 3 oog so, coo c o 3 s o q 1 ocs 1 sj ok 3, 2 sá o g cíc o o q fo sj 3 f. 62
Co 0 c sj 1 so co ok, 3 c sj 1 chc s o c o, coo s c o s o q 1 ocs fo soc 1 s f o so . e ocso 2 c sj 1, fo sj f q 2 sá .c. 3 0
1 2
3
Los procesos 1 y 3 envían mensajes con su marca de tiempo
3 2
2
3 2
Esta dentro de la
región crítica
ok 0
1
Respuesta de los procesos al mensaje de 1 y3
ok ok
3 1 fila
2
1
3 2
fila
e ocso 3 so 0 1 g cíc, ocso 1 so 0. Co 2 s g cíc í sjs ok os ocsos s f, s cso, os ocsos 3 1.
63
0
1
2 sale de la
región crítica
ok ok 3 1 fila
3
2
1
e ocso 3 so oos o o o .c., s q ocso 1 s q 3 sg g cíc. Co 3 sg g cíc sj ok ocso 1. aho xs os f. So h ss, s á coo gc so, ú co ocso h o, oí h oqos. u os ofcc s sg, c q s hg soc h ss g o os. Fco co cocc go, o s g gso os gs go, qés qés h so o h fo. Fco co gos qños. e goo s ás o, ás cojo ás co os oso q co. po s s sgos oc goos ús.
64
Algoritmo de anillo de fichas
S cs cos o gco, o c ocso s sg osc o. S fch ocso, c cc oo o. S cs g cíc fch, ocs , co s g fch sg ocso. no s sg g cíc co s fch. S ocso o sá so g cíc so s fch. pos. l fch s , h q g ¿Cáo o ocso s cos q fch s h o? t g sé oco. S ocso f, s soco soco cooco co c fch. S o h cooco s o o s g sg fch sg ocso. S c go ocsos. 3.5.3 Algoritmos de elección
e chos goos sos s cso q ocso cú coo cooo ¿co go? Soos q c ocso soco úo úco. e g, os goos cc oc ocso co áxo úo ocso sgo coo cooo. aás soos q c ocso cooc úo ocso oos os ás. e ojo goo cc s g q co cc, és coc co co oos os ocsos co sco o cooo. El algoritmo del grandulón (García-Molina 1982)
u ocso P cc co s c q cooo o so, sg fo: 1. P í sj cc os ás ocsos co úo o. 2. S so, P g cc s co cooo. 3. S o os ocsos co úo o so, o coo. e jo .
P
Co ocso o cooo sj cooo os ás ocsos q ésos s o os. S ocso ácco s c, cc. S úo o, gá cc. d hí o “goo g”. 65
falla elección 5 0
ok
4
3 1 2
falla
falla
5
5
0
4
0
4
3
3
1
1 2
2
falla
5 0
4 coordinador
3 1 2
66
Un algoritmo de anillo
es goo o fch. Soos q os ocsos o q cooc s scso. Co gú ocso os q cooo o fco, cos sj cc co s oo úo ocso í sj s scso. S és sá co, so s so scso hc sg úo o. e so ñ s oo úo ocso s sj. Co sj o ( ocso c sj co s oo úo). eocs cc o sj co q s o cooo ( úo ás g) ás s c qés so os o. ejo: Sogos q os 6 ocsos os 0 5, ocso 5 s cooo o h fo, o s c ocso 2, sí q í sjs cc, co c ok, s q s j h o. 3 í sjs cc o so q 4, 4 o c gú ok, o o q s q é s o cooo. 3.5.4. Transacciones atómicas
So scc o , q oc scos éccos os ogos cocs os goos fo q os ocsos j jos o. Co ocso s co scc s g os ocsos q á co s ocos s s coo, cso q s coo oos, ocs os sos s s, s o os o ás o s coo ocs scc s o. y oo gs so hs s scc, s q xs fcos cos. u jo scc s co s co oc c. El modelo de transacción
S so q hardware sc j s os os cocc (ssos, co foc úfs, c.)
6
Almacenamiento estable
e co s s cgoís: 1. raM 2. dsco o, q ñs o os co c co sco. 3. aco s. S co os sco oos.
C oq 2 s co xc oq coso . S so q 1 s coc. Primitivas de transacción
los sss q j sccos os s sgs s. 1. Begin _ transaCtion 2. end _ transaCtion 3. aBort _ transaCtion 4. read 5. write lo q sá o Begin _ transaCtion y end _ transaCtion s co oo o . Propiedades de las transacciones ( acid )
ls sccos co os fs. ls sccos so: 1. acs. p o xo, scc oc s. 2. Cosss. l scc o o os s ss. 3. ass. ls sccos cocs o f sí. S os o ás sccos s jc so o, c s os ás ocsos, so f c coo s os s sccos s jcs scc co o ( so o s fco cso c os ocsos). 4. ds. u coo scc, os cos so s. Transacciones anidadas
ls sccos co ssccos, o s sccos. l scc so oc hjos q s jc o sí, ocsos sos, jo sño. C hjo s ás hjos. 68
S sscc f, ocs scc o so ( c os) o, sí os coosos hchos o s ás ssccos shcs. po o o so s c s sccos ás o. Implantación Espacio de trabajo privado
Co ocso c scc s oog sco jo o, s scc s coo, s co so sco jo o ; o s o, o s sco jo o s ofc. u jo s c sco jo o, os os oqs co os cs scc j; s oc s sc, s co oq sco o s ofc. Co scc s coo, os os s s hc sco jo fo c, os q s sco jo s c coo oqs s. S oc s c o h cs co os oqs. S scc o, os oqs sco jo o (s cos) s c coo oqs s os os s . Bitácora de escritura anticipada
e s cso s c cq oq, o s sc gso áco sc c scc q co, cho oqs ofcos os os o o. dsés so s co cho. S scc s coo s sc gso áco cc s cc, s scs os o q ofcs so q sá ofcs. e cso q scc o, so h q s ocos áco ú shc c co o. a s cc s oc. Protocolo de compromiso de dos fases
e ss so co scc q, chs s cs, cooc os ocsos fs áqs. l oocoo os fss s sg: uo os ocsos fg coo cooo s q 69
jc scc. e oocoo cooso co co cooo sc áco co co oocoo, sés í sj c o os ocsos cos q sé sos cooso. Co o os ocsos cos c sj, fc s sá so coos, sc áco í gso s cs. Co cooo c os s sss, s s sc cooso o o. S o o ás ocsos o s coo (o o so), scc o. d cq oo, cooo sc áco í ocs sj c soo fo cs. e so áco q s cooo f cs so q oo o h sco áco. Control de concurrencia Cerradura
Co ocso cs o sc cho coo scc, o c cho. e coo cs s és cooo co o o oc c áq, és cooo á s os chos cos chá os os oos ocsos o c cho co. p jo s sq s oí sg s cs c s sc. S co c c (os ocsos so cho o s xc os scos q o ofc cho), o c sc s xcs soo ocso. Cerradura de dos fases
l qsc c s cs cso oo q s cs o s j cs coc c cossc oqos. e so, s ocso s jcc cs s cs, o s q fs cco s fs cocc. así s ocso o q os s cs q cs, ocs s q hs oo, s co.
0
Cerradura estricta de dos fases
e s cso ocso q o os s cs s so hs q scc h o o o. Control optimista de la concurrencia
e coo os cocc gso os chos íos o os q s h sco go. e oo cooso s fc os s ás sccos s go os chos h so ofco s co scc. S so oc, scc o, s o s cooso. eso s j jo s s sco jo c. 3.5.5 Bloqueos en sistemas distribuidos Prevención distribuida de bloqueos
l c oqos coss sño coso ss, q c ocso oc so cso , xg q os ocsos soc os csos s co hc q oo co soc o o. l so ácc s oco fíc. exs os goos áscos sgo s . 1. Espera-muerte
e s s csfc os ocsos os: gos jos.(v fg. 3.25). Co so os os csos: • •
e ocso o sá oco cso, o q go cho o jcc h coso csos co o, s o o j q ocso s hs q jo q co s jcc. u ocso jo q cso q sá so oco o o jo. aqí s o o ocso jo q jo coú s jcc, o c q ocso s jo oá h s oco oco sés, o o q gú oo jc s ocso coá cso .
1
2. Herida-espera
e s s o o ocso jo jo o o q oos os sos csos. (v fg. 3.26) • •
u ocso jo q csos ocos o o jo. aqí s scc ocso jo ocso jo o s g. u ocso jo q csos q ocso jo. aqí ocso jo s hs q jo , s oo s s o ocso co.
2
3.6 toleranCia de fallas Fallas de componentes
u f s sfco cso o o sño, fcc, ogc, físco, o, cocos s, c. ls fs s csfc : • Transitorias . Oc sés sc. • Intermitentes . dsc c. • Permanentes . Co xso hs coo co sfco.
e ojo sño coscc sss os fs coss g q ss coú fcoo coc coo oo, cso sc fs. Fallas del sistema
S sg os os fs ocso: . u ocso q fs so s o so s s • Fallas silentes sscs oc ás s (é s fs c). • Fallas bizantinas . u ocso q f coú s jcc, oocoo sss cocs s gs, os jo cos jo co oos ocsos q h fo, s q oos fco coc q o s sí. Sistemas síncronos vs. asíncronos
e coxo sgc oc fs, ss q o so s sj o í fo cooco, s sícoo. u ss q o s o s sícoo. Uso de redundancia
e éoo g oc fs coss so c. exs s os oss: 3
• Redundancia de la información. S gg bits o c os bits os. • Redundancia del tiempo. S cc cso cso s . es
o c s co s fs so sos o s. • Redundancia física. S gg qo co.
Fos og ocsos • •
réc c rso o
Tolerancia de fallas mediante réplica activa (método de la máquina de estados)
ls socs s cs ocsos so o. u ss s o k fs s so fs k coos, ocs so csos k+1 coos. Tolerancia de fallas mediante respaldo primario 2.Realiza el trabajo 1.Solicitud Cliente
3.Actualiza Primario
Respaldo
6.Respuesta
5.Reconocimiento
Acuerdos en sistemas defectuosos
• •
e o os os jécos e o os gs os
4
4.Realiza el trabajo
ejerCiCios 1. Sog q s jc ocso lx, c o sá co jc ocso s c s jcs ás. us s o s coo cco o coso sá sco og c o ocsos. c. ¿Cáos ocsos s coxo (so s coxo s o c bash) xs? ) 3 ) 6 c) ) o s s 2. Sog q ocso oc down so sáfoo co o s co, ¿ qé so s és ocso? ) doo ) lso c) boqo ) e jcc 3. Sog q PCB’s cos 100 s, s cs 50 s sá cís, 20 so ocsos sos, 29 so ocsos oqos ¿cáos ocsos sá so oo? 4. e scho ________ j s ocos q q co co so os ocsos oqos sos. ) d go o ) d o o c) d coo o ) d os s 5. Sog q os 4 ocsos ss sg o. e ocso 1 o jcc 100 s, sgo 120 s, co 20 s, co 5 s. Sog é q s sá o goo round robin (s o) q quantum ( o) s 30 s co coxo s 1s. ¿Cá sá o c ocso 3 oo c q ocso 2 s oqá s o 10s?, ocso 1 s q sá o jcs? 6. l PCB’s co foc f os ocsos ss, s coo fco ocso, os gso, c. exCePto: ) ao s scos ) Cgo ocso c) dcc sg scc jcs ) eso ocso 5
. Co ocso s o o scho jcc oo ocso, s sc ocso jcs, c ocso o. a s c s ____________ ) spooling ) Co coxo c) ico ) Fo ág 8. Sog q PCB’s cos 100 s, s cs 50 s sá cís, 20 so ocsos sos, 29 so ocsos oqos ¿cáos ocsos sá so oo? 9. Sog sos o scho ____________, s o scho os ocso so oo so ) d go o ) d o o c) d coo o ) d os s 10. Sog q os 4 ocsos ss sg o. e ocso 1 o jcc 100 s, sgo 120 s, co 20 s, co 5 s. Sog é q s sá o goo round robin (s o) q quantum ( o) s 30 s co coxo s 1s. ¿Cá sá o s ocso 2, oo c q ocso 1 s q sá o jcs? 11. Sog q os 10 ocsos, c o c 300s. 3 ocsos so o 3, 3 o 2 4 o 1. e goo scho q sos o s cos ús, c j so 3 os o 1 s áx o. e quantum o s 50s, sg 60s c 100s. ¿e cáo o sá schos oos os ocsos? 12. Sog q os 10 ocsos os cs 5 so ocsos ss, 4 ocsos so (s s o s ocsos). los ocsos ss c 200 s c o, hc ss c 90s. los ocsos 6
so so cos hc oc e/S c 80s, s c s 300s. ¿Qé ocso s o ?¿Qé ocso s úo ? 13. Sog q os ss o o s s cho cc cooo os ocsos, o s cso g s scho, s ocso cos o. ¿Qé cs sgc ocsos ocsos íos? ) Go, o, hísco ) ico o so, hísco, co c) ico o co, so, go ) loc, hísco, so 14. Sog q s sá o ss oo so, q s oo ofc, co gs os ocsos sos so gos os áqs. ¿Qé oo ss sá o? ) escos jo ) p ocsos 15. Co ocso s go o áq xs cs ocos q s s áq og os áq so. mco os c . Og: ______________________________________ dso: _______________________________________________ 16. l c oo osi q q co o os qs s ) ec os ) r c) tso ) psc 1. mco sj q os oos o cs s os sss sos. _________________________________________ 18. atM s oc q f c co f f os oos osi tCP/iP. ¿Cá f s f? _______________________________________
19. u jo goo sgc ocsos ocsos co s ) dísco sgú oí gfos ) a – jo c) Jáqco ) rs 20. e s sos, co os ocsos q s coc s sá jco oos fs, sí o jo s sño, q os ss scos oos s sch xc so s o. a s écc s : ) pfcc s ) Sch c) roc ) Cofcc 21. Sog q s s sño ss oo so s cso q sñ s cocc c–so. ncs g q co so jc send co o sé so sj o s . aás g q sj g s so. ¿Qé o s sñ? (Scco os s q coso) ) ps síncronas ) psasíncronas c) ps cs buffer ) ps o cs buffer ) ps cofs f) ps o cofs 22. uo os os os cocc go o ss s: ) e oo qs hardware ) e ) los oocoos os ) los coocos
8
23. e o so áos o o rPC c oc q rPC co so áos o fc s : ) Coo ) vo/coo c) Co/no ) Co/sc 24. rPC j f oo c – so. ¿Cá s? ) tsc ) dsño c) Cof ) esc 25. Co ocso q o c go ocsos sj oo s go ocsos, cos q s go ocsos s: ) Jáqco ) d gos c) ao ) Co 26. l j os sáfoos f écc o s scoc ocsos s (scco os s q q) ) Q s ocos os sáfoos o so oqs ) Q os sáfoos g ss c) Q s ocos os sáfoos so cs ) Q os sáfoos s os és gos 2. Co os ocsos sá áqs fs, qé os sco ocsos? ) moos ) pso sjs c) Sñs 28. Sog q os 5 ocsos sos fs coos, c s j o q f o 10 os c s, s c, áq a o 3:25, b o 3:35, C 3:45, d 3:55, e 4:05. aq lo sco s áqs, q s c ío úo sjs. 9
29. Sog q os sco o, o ho os so o c o 3:40. aq goo Cs sco o c s áqs. 30. Sog q os goo bk sco ojs gcos. e so o 4:34, c1 10:02, c2 4:45, c3 4:20 c4 4:35. S s o c ho c1 oíos o so sgo os ás cs. eocs ¿qé hc goo bk sco os ojs os s áqs co c1 s q c o s s ho so o s ás áqs? dsés ocos co goo bk q co s q o s c áq. 31. Sog q os 4 ocsos. dos os sá coo o s g cíc, os ocsos 2 3; ocso 1 o s g cíc; ocso 4 sá o g cíc. l c o sj ocso 3 s 45 c o sj ocso 2 s 48. ¿Cá s oc so c o os ocsos sés c sj ocso 3? 32. Co oc s s cs q s s fcos cos s gú ño, s c q s oc __________ 33. mco os os éccs c sccos cs _________________________________________________________________ 34. l scc a s c o x, scc b o x+10. Sog q scc a cs cso q s o scc b, s s sá o écc s- oqos ocs scc a ) ) s c) jc s cho o
80
35. l écc coo cocc o s cs so s soo co scc s coo s ) Coo os cocc ) C os fss c) C sc os fss ) mcs o
reFerenCiaS r Chow, thoo Jhoso, Distributed Operating Systems & Algorithms , aso-Ws Ssch G, Sistemas Operativos, Pearson, 5 ec. aso-Ws log. W Sgs. Sistemas Operativos , pc , 4 ec. pc . Coos Gog, doo J, Kg t. Sistemas Distribuidos, Conceptos y Diseño, 3ª. ec, aso Ws.
81
iv GeStión de memOria en ambienteS CentralizadOS y diStribuidOS
sisteMas Centralizados l ss oo q s o s so o. Ss s so: 1. l gso s s o q s sé o qs q o, o sg sco o os ocsos q cs co . 2. as co o c sco (co o c o g oos os ocsos). 3. asc o s co o gc.
los sss sc o s csfc os os: 1. los q s os ocsos o c sco cs, jcc (co gc). 2. los q o o hc, q so os ás scos. Monoprogramación sin intercambio o paginación
•
p sq: Soo xs og o c s.po: og í co oos os cooos os sosos e/s q oc. 83
•
Sgo sq: C q ss oo cg o ocso, o sc c o. aás s c o raM hí ss oo. oo. Fg )
dsés s sq oco s og so o e/s q og í roM ss oo, ú sí os cooos coocs o és. Fg ). así q sq c hs o q f o o s PC’s iBM, c cooc os cooos sosos roM (o q coocos coo Bios), og so s cooc raM s s o raM ss oo oo.. Fg c). Programa de usuario
SO en ROM Programa de usuario
SO en RAM Figura a)
Controlado res de dispositivo s en ROM Programa de usuario SO en RAM
Figura b)
Figura c)
Multiprogramación y uso de memoria
l ogc: • • •
Fc ogc cc os o ás ocsos. Hc fc sco co q s s s sos so o ( ss so) Hc fc e/s sco; s xs ocsos jcáos, o h q s hs q e/s coc.
84
Modelos de multiprogramación
¿Qé jos s ogc? ¿Qé js o ás o áq? 4.1 Manejo de MeMoria Con PartiCiones fijas d o s ños sos. p sq: pcos fjs o co cos s c c, o s cos fs ños. e s cso c ocso s foá c q ás cog o s ño. e o s cso s q s g s s qñs s foá co c qñ és s sá, ás q s cos gs s scá. (Fg ).
Partición 1 Partición 2
1m
800K
Partición 3 Partición 4 SO
Figura a)
85
290K
Sgo sq: pcos fjs o co úc co . así c q g ocso és s foá úc co; s c g socs f so g sg ocso, ú sí s sgí s c s ocso s o h c ás qñ soc. Fg ). Co s sq s sc o so q há ocsos qños cos gs, ás s os goo scho o fifo oí sc q ocso g jcc os os sgs ocsos oq so s sá o cos qñs, s ocso o sá scho hs q c g s , s os ás q s; o o o s s sgs ofccos s sq: C q s c s oí cg jc ás cc f co q s js ch c, o s cso s q oí s f ocso qño ás és ocsos oco ás gs q s js jo j o s cos cé s; o o o s ocso s sí sco co. aás q s gsí cho o fc cá s ocso q jo s js c cé . u soc s o s c qñ q jcc s qñs. O s o xc ocso ás k cs, ocs c q ocso s xco o o, co q k os, o oá s xco . . Reasignación y protección
los os os scs ogc so: sgc occ. Co og s g ( og c, os ocos scos o so os ocos oc s coj sco co so cc), go cooc cc o co og o. S cc so s q o o so o s c o s sco ccos, cco s, ocs o cc c s sco ccos s cc so. a s o s cooc coo o sgc. u soc s ofc s sccos co og s cgo o, s c, ñ os s ccos cc c s c. c. 86
po so o s o occ; s og oí s c q o s é. e os sss so o s s q os ocsos o sc o c oos sos. eocs o c oq í cosñ, sí c q s ccs cc o, o s í coo cosñ, s és á ocs og sgí co s jcc. l o soc s q coo co hardware sc q gc occ os ocsos. Intercambio
e ss so xs g chos ocsos, os cs q s o, o s os gos oos, o o q s cso xcso os ocsos sco. e so os ocsos o c sco cs s co. 4.2 Manejo de MeMoria Con PartiCiones VariaBles do sco o q xs co s cos fjs, ho s á cos s. ls cos c úo, ño osc co ño úo ocsos o. do o o sgc occ o s ás fíc. Co s o goo xs co. Cocc o: Co oos os hcos o g coocos fo s s os (o o g o s co oq cos cho o). ¿Qé c o s sg ocso? • •
S os ocsos s c co ño fjo, ocs sgc o s á js sc. los sgos os cc (o jo co os sgc ác). e s cso s h hco c, ocso cc hc hco. d o coo ocso s sgo hco o sfc g, o há q c o o ás ocsos c hco g.
S ocso o cc o á co sco sá o, ocso á s s qo. 8
u os soc s o s sg: s os ocsos cc s jcc ocs s sg oco o co c gso xcso soco co so o co ocsos. a c, so j sco oc o q s sá o o o co. Registro del uso de memoria
e g xs s fos s o os sss oos gso so o: • •
ms bits lss (gs)
Administración de la memoria con mapas de bits
S c s q s os s ccos o xss (o oqs o), s bits s 1, cc soc és sá oc, s s 0, ocs sá soc. Administración de la memoria con listas ligadas Lista ligada
1 ProcA 2
ProcA 1 4
3 4
Hueco 5 3
5
ProcB
6
ProcB 8 3 ProcC
7 8
Hueco 16 2
9 ProcD 10
ProcD 181
Memoria
88
Algoritmos de asignación de memoria
1. 2. 3. 4. 5.
e o jss e sg jss e jo jss e o jss ajs áo
4.3 MeMoria VirtUal en sisteMas oPeratiVos Centralizados p q ocso so g jcs s oqs o cs, sí gos oqs s cá o sc (sco o) oos, ás oq q s sá jco , s cg o físc. a s écc o s co so o físc o sc s mo v. e co s j ogo sos s og cs, sés s j s sos Ss Oo. exs os éccs os jo o : pgc Sgc. e sco ccos gs o os ogs fo sco ccos s. Co ocso g cc, s cc s cc s o cc físc coso. exs o q s cg o, MMU, u asc mo. l o s ágs o físc cos ágs. e ño ág s g ño co ág. S cc c hc fc ocso q s sá jco sá ág q o s c o físc, ocs so o sc ág o sc cg o físc, s oc s Fo ág. Co oos os cos ág o físc s ocos, ss soj (xs) ág cooc o sc sco, o ho s c c qé ág á s soj. p so xs s goos os agoos ro ágs q c, co s fs cos, qé ág s xs.
89
4.3.1 Paginación
e úo ág s coo íc cos ágs co coso s ág . e s s c úo co ág, s o h, s úo s x xo o o sc, sso úo ág foo cc físc q s o. e oso ágs s sfo ágs s cos ág. exs os os so: ágs s x g sfoc s á. Co 32 bits , o c ág s 4K, os ágs. C ocso cs s o ágs. e sgo o s q sfoc o físc s c fc o. a cs o c scc h q hc fc , os o ás cs ágs. e sño ás sco s so ágs, q coss go gsos áos hardware , co ág o o úo ág . Co s c ocso, Ss Oo cg os gsos co ágs ocso. e éoo s sco, o coso s o, s h q cg ágs c coc. Oo éoo coss o ágs o c. es foq cs c s s. Tablas de páginas multinivel
Número de marco de página
Número de marco de página
Caché inhabilitado
Referida
Protección
Presente/ausente
Modificada
90
Entrada de tabla de páginas representativa
los bits occ c o ccso. e s fo ás sc so s bit s 0 c/sc 1 so c. e bit ofco s c co s sc ág. e bit fo s c co s hc fc ág c o sc. e cché ho h coocc cché ág. - Buffers de consulta para traducción
tlb
ls fcs ágs o c scc hc q o ss s c c . S soc s s osc q chos ogs fc g úo fcs úo qño ágs, o és. l soc s o coss q s coos co qño soso hardware sfo s ccos s físcs s s o ágs. e soso o tlB (buffer cos cc – Traslation Lookaside Buffer ) o é o soc, g s c MMU coss qño úo s (ocs cs s 64). C co: úo ág , bit ofco, cgo occ co ág físco. Fcoo: co s s cc MMU s c, o o q hc hw s fc s s úo ág sá s tlB, coáoo co os s s sá. S s c s o tlB s c ágs. S cc o s c tlB, ocs MMU úsq o ágs, soj s s tlB ss o ágs q co. Administración de tlb por software
ags áqs os risC (MiPs, Alpha, HP Pa) cs o sc ágs sofw. Co cc o s c tlB, MMU fcú fo tlB j oo ss oo (co ág, tlB cooc tlB, c scc q f. ags jos s h hcho, s coo q Ss Oo g cás s s ágs s cgs tlB. 91
Tablas de páginas invertidas
e s sño h o co ág o , o o c ág sco ccos . l c cá (ocso, ág ) sá s co ág. l sj s q cc físc s ás fíc. Co ocso hc fc ág , hw o co ág físc so coo íc ágs , ho sc o ágs (,). y s so s c fc o, sc s . u soc s s tlB, q c fo tlB h q sc o ágs. S s s ss coo íc ágs , úsq s í co ás á. Algoritmos de reemplazo de páginas El algoritmo de reemplazo óptimo
Fác sc o os . ro c ág co úo sccos q s á co s q s hg fc s ág, sí ág q s soj s q úo ás g. es goo o s o ácc so q o s cás sccos s jcá s ág, os q s ogs q s h jco os co os sos os. eocs s gso cc hso os ocsos o ácc s goo, ú sí o s goo ú. El algoritmo de reemplazo de páginas no usadas recientemente
p s goo c ág s soc os bits r q s c c q s hc fc ág o sc M q s c c q s sc ág, s c, s ofc. a co os bits sá co, s h fo ág s o r 1 s s sc s o bit r 1 M é 1, sos bits s sá co c c oj. así c q h fo ág so xá s csfcá 4 cgoís: 92
• • • •
Cs 0: no soc, o ofc Cs 1: no soc, ofc Cs 2: Soc, o ofc Cs 3: Soc, ofc
e goo o so c (nrU: not recently used ) soj ág cs úo ás jo q o sé cí. es goo s s sosc q s f soj ág ofc q o s h hcho fc o o os c oj, ág q s sá so cho. vjs: fác , c o fc, sño c. El algoritmo de reemplazo de páginas de primero en entrar, primero en salir (fifo: first-in, firstout ). El algoritmo de sustitución de páginas se segunda oportunidad
es goo coss scco ág ás j, s s bit r s 0, ocs s ág s soj s h so ofc s sc sco, s s bit r s 1 ocs s cooc f s, s bit r s so 0 s c s o cg coo s c s í o. lo q hc s goo sg oo s sc ág j q o s h hcho fc o oj o. El algoritmo de sustitución de páginas por reloj
Coss os s ágs s cc. Fco g q goo sg oo. El algoritmo de sustitución de páginas menos recientemente usadas ( lru ).
S soj ág q h so ás o s ss. S jcí hardware s csí x bits , o s úo cos. C q s hg fc ág k, s c oos os bits g k s g oos os s co k, g co o o s ág os c s.
93
po jo 3 cos. O fc: 2 0 1 0 1
0
1
2
0 1 2
0 1 2
0 1 2
0
1
2
0
0
1
1
0 0 0 1
0 0 1 1
0 0 0 1
0
0
0
0
1
0
0
0
1 1 0 1
1 0 0 1
1 1 0 1
1
0
0
0
2
0
1
0
2 0 0 0
2 0 0 0
2 0 0 0
2
1
1
0
Simulación de lru con software
s s co goo no s fc ( nfU; not frequently used ). e cso o nfU, c ág coo. e c c oj Ss Oo xo os s ágs q sá o s bit r s coo ( coo s s qé o s hc fc s ág). Co s s fo ág s scco ág co coo ás jo. e o co s goo s q nfU c o (s h os coos gs o sos cá s ág ás j). l soc s o s ofc nfU s lrU, goo q s sc s o jco. Sg os sgs sos: lrU
1. toos os coos s s bit ch s s bit r . 2. e bit r s s x q.
po jo: Bits r s ágs 0-3
1010
0010
0111
94
1001
Tic de reloj
pág 0 1 2 3
0
1
2
3
10000000 00000000 10000000 00000000
01000000 00000000 11000000 00000000
00100000 10000000 11100000 10000000
10010000 10000000 01110000 11000000
Buffering de páginas
Coss cojo cos ág s. Co s oc fo ág s s co ág (s oo) o s c goo o. Co Ss Oo c q úo cos ág s o jo , c goo o ágs hs q úo cos s s sfc. ls ágs s q o sá ofcs s s cos s. ls q h so ofcs s s ofcs. ls ágs q sá cq s os ss cs s fcs. es fo o cí ocos s. ls ágs s ofcs s sc s soso o jo o. Co ág ofc s h sco soso, s c s cos s. Retención de páginas en memoria
no os s ágs ss o so cs o. po jo s ágs Ss Oo. l oí os sss oos s o fjo o c. ls ágs q sá o co ocos s, o dMa (accso dco mo) sfc c o ocso. Éss o s s hs q oc. agos Sss Oos ofc sco s ccos o o ás ágs s . es sco s ú ocsos o , o s s s sc fc g o ss. 95
Aspectos de diseño de los sistemas con paginación Paginación por demanda
l gc o s co s hc sfcs s o sc hc c so co ocso cs cc ág q o sá o c, s c, so s cg ágs co s cs. S ág s o sc s c q o h sco o c (o h cos s), sá cso xs ág o c hc sc. Prepaginación. e fo ág o so s ág cs, so é
s ágs cs, q s os q ocso s cs coo o o. l fc s écc s h co s cc. Políticas de administración de la memoria virtual • Política de reemplazo. d qé ág s o c
j so ág (goos o ágs). • Política de asignación de espacio a los procesos . dc co s o físc os ocsos xss o s. Política de asignación de marcos de página
asgc fj. S sg c ocso úo fjo cos ág. no s o sgc soc sg o oc. asgc ác. e úo cos sgos ocso í sgú s css q g ocso fs ss o. Co s o sgc s s o sgs o ocs coo gos. Hiperpaginación (thrashing)
es sc c s oc úo o fos ág o q úo cos ág sgos ocso o s sfc c s ágs fcs c o so. Co sgc fj so ocso q hág s fco, so o. 96
e sgc ác s fcos oos os ocsos. Co s ss hág s ss o o os ocsos. Políticas de asignación local y global
¿los goos o ág soj ág ocso q ooc fo ág o ág cq o? S s cso, ocs o ágs s oc s s o sgo o ágs s go. p c ocso fo ág hgc, s oí sg cojo cos ág o ocso co fcc fos ág (Pff; page fault frequency ). exs goos q o oc o go, coo o so fifo lrU ss ss; s go xs goos q so so sg oc coo os cojo jo wsCloCk. Control de carga
S o sá s oo q h fos ág o hgc. p so o s cso j sco gos ocsos oos ss cos ág sgos os ocsos q sá hgos. aho o s ¿qé ocso os c?, s coss ss ccíscs (goos scho). Estrategia del conjunto de trabajo. e cojo jo ocso s cojo ágs ccs o ocso s ús fcs. e úo s o cojo jo. 4.4 MeMoria CoMPartida distriBUida (dsM) 4.4.1 Manejo de memoria compartida en multiprocesadores
los ocsos so fícs cos fács og. ls coos so fícs og fács cos. e ojo o co s s q hardware q s s s fác cos fác og. e 1986 l ás Hk, oso cso jo o sss sos o o co s ( dsM). S os f 9
cocc scos jo cocs o lan coo soo sco ccos s co ágs. l sj s sq s q xh sño o, q s ágs o oo . l j s q s oo fác og cos. Oo éoo coss o co oo sco ccos, so so oc scco, hcho, so qs s o scs os q s cs ás ocso, o c oc o scc, s o s s oc o, so cocc s. u os oc coss s s cos s áqs, o s cso s cosss s cos. ls cs s hc oc, s gú áfco s scs oocoo cc co s cos. O os oc s co ojos. 4.4.1.1 Multiprocesadores basados en un bus.
CPU
CPU
CPU
Memoria bus
p q os o ás CPU’s ccso o so o, s cs gú o j bus . e CPU so cosg bus . l cocs hcs fo c, o soso j bus , o fo sc, o CPU q c soc bus gá cq cofco. l sj s socg bus . u soc sí q c CPU co cché hso. CPU
CPU
CPU
Cache
Cache
Cache
Memoria
bus
98
u oocoo c coú s sc és cché. Co CPU o o, s s o bus g cché CPU soc. p sc q c s oc os o ás CPU so o. Operación de lectura
• •
S o sá cché, ocs sc o co s cché. S sá cché, o o hí.
Operación de escritura
• • •
S gú CPU s cché, ocs s c o, coo s oco o h so o. S CPU (q sc) úc co , s c s cché é o bus . S os o ás CPU , ocs s c cché o, s s s s os chés os oos CPU. así so á o so cché.
u os s cché s cs os, o so s ás o.u j s oocoo s q s fác , sj s q os s scs s. exs oo o oocoos coo oocoo sí. u s s oocoo o sg: S j oqs cché, c o os cs s o os sgs sos: 1. 2. 3.
invÁlidO: es oq cché o co os áos. limpiO: l o sá c, oq s oos cchés. SuCiO: l o s coc; gú oo cché co oq.
A
B
C
W1
La memoria es correcta
Estado inicial. La palabra W que contiene el valor w1 esta en la memoria y también está en el caché
W1 limpio
bus
99
de B
A
B
W1
W1 limpio
A
B
W2
W1 sucio
C
B
W3
W1 sucio
limpio
C
W1
La memoria ya no es correcta
bus
C
W1
invalido
La memoria ya no es correcta
bus
B
C
W3
W1
W3 invalido
A lee la palabra W y obtiene W1. B no responde a la lectura, pero la memoria si.
bus
A
invalido
W1
invalido
A
La memoria es correcta
W1
sucio
La memoria ya no es correcta
bus
100
A escribe un valor W2. B husmea en el bus, ve la escritura e invalida su entrada. La copia de A se marca como sucio.
A escribe W de nuevo. Esta y las escrituras posteriores por A se realizan de manera local, sin tráfico en el bus.
C lee o escribe W. A ve la solicitud al husmear en el bus, proporciona el valor e invalida su propia entrada. C tiene ahora la única co ia válida.
l c so sUCio hs q s cché o s c c o os sco. e s oo sc oos os cchés s sc o. es oocoo s os os: 1. l cossc s og hco q oos os cchés hs bus . 2. e oocoo s g o sc o. 3. too goo s cco o.
l sj s q o fco ocsos o ño s áo o co s. 4.4.1.2 Multiprocesadores basados en un anillo
u jo ocsos sos o s Memnet. e Memnet , sco ccos s co. l co s oqs 32 bytes , c s s sfcs s áqs. ls áqs Memnet sá cocs o fchs ofco. e o cos 20 cs os, q jos 16 bits os 4 bits coo c 100 osgos, oc os 160 m/sg.
MMU
Cache
Interrupción Dispositivo Memnet Exclusivo
Mem. de
CPU Memoria Privada
Valido
101
Origen
Posición
u oq xcso c s s s áqs, o csc s s so áq. los bits soso Memnet c o o ás os sgs sos: • • • • •
vÁlidO: e oq sá s cché sá co. eXCluSivO: l co oc s úc. OriGen: S c s és s áq og oq. interrupCión : S fo cos. pOSiCión: ic occ oq cché s sá s s áo.
Protocolo Memnet Lectura
Co CPU s o co, cc o o s sf soso m, c fc oq s sá s. S s sí, soc s ssfch o. e cso coo, soso m s hs c fch q cc; sés, cooc q soc o ss CPU. e q soc co cc s co cío 32 bytes . C soso m o fc s oq. d s sí, cooc oq co cío ofc co q h cc s áqs osos. S bit xcso oq sá co, s . Co q gs so, s g q co oq soco. e CPU q í soc g oq, ssfc soc CPU. S áq soc o sco s cché co oq co, ocs o oq oco o í s og, co o q sco cché. los oqs co bit og sá cos c s g, s s c s og. Escritura
tos s csos: • •
S oq co o sc sá s s úc co ss, ( xcso s co) so s sc oc. S sá s oq o o s úc co, s í o q c o o q s os áqs sch ss cos oq o 102
•
sc. Co q c gs soc, bit xcso s c s oq s oc sc oc. S oq o sá s, s í q q co soc c c. l áq q g oq o co q sch s co. tos s áqs osos so sch oq ss cchés. Co q gs so, és o g sc é.
l j s oocoo s q s c coos. 4.4.2 Principales aproximaciones a dsm
exs s oxcos c o co s, s cs oc so hardware , o o ocs soo. esos o so xcss cs. Basada en hardware . po jo Dash PlUs. e cojo ocsos os
os o sá cocos í oc. e o s sc. Basado en páginas . po jo Ivy, Munin, Mirage, Clouds, Choices, COOL y Mether,
os dsM coo g o q oc so go cc sco ccos c ocso c. e c cso k cossc os o s gos dsM coo jo fo ág. Basado en bibliotecas . agos gjs o xsos gj s coo orCa
l soo fos dsM.
103
ejerCiCios 1. ls ccos s so ccos gs o: ) los ogs ) po gc
c) l ágs
2. Sog q úo bits os cc s 20, s oc 8 s úo ág 12 so ¿Cás ágs s j o ? __________ 3. d co g o, ¿qé c o s sá jo? _________________________ 4. e ojo tlB s: ) e jo s ág gs c) e tlB s ágs
) ac gc
5. l fc sos os goos f úc sc os , o s oíc o s s ) nrU y lrU ) d sg oo o oj c) fifo Cojo jo 6. Sog q os cco ágs (0 4) q os coos cs c ág so: 0 s 01101100, 1 s 00000111, 2 s 10000101, 3 s 10000000, 4 s 11011110. e os sgs cs oj so fcs s sgs ágs: c0 1,3; c1 0,2,4 , c2 1,4. Sog q s úo c h fo ág. ¿Qé ág á s soj? uc goo jco sc cooo coos c c oj. . Sog q s sá o goo fifo o ágs. S os s ágs B5, d1, C2, d6, a3, d3, a5, d1, B1, a1, d7, s o (b5 s ás g d ás c); d3 oc fo ág (oc d9), ¿Qé ág os soj s s sá o oíc sgc oc? ____
104
8. Sog q s sá o oocoo sí s 6 CPU, CPU 1, 4 5 ‘w’ s cché s so s o. d oo CPU 3 cs sc ‘w’. ¿Qé ocos s á cá sá so os cchés o? 9. ¿po qé s g úo o fos ág hgc (hshg)? _________________________________________________________ 10. ¿los goos o ág soj ág ocso q ooc fo ág o ág cq o? __________________________________________________________________
reFerenCiaS
1. aw t. Computer Network . us S r, nJ:pc H, 2. H, Kh; S, b. Unix System Programming . aso-Ws pshg Co. 3. Coos Gog, doo J, Kg t. Sistemas Distribuidos, Conceptos y Diseño,3ª . ec, aso Ws. 4. r Chow, thoo Jhoso, Distributed Operating Systems & Algorithms, aso-Ws.
105
v SOCKetS en Java
exs os oocoos so f tCP/iP q so tCP UdP; os cs s s os o oo co cocc ccos. tCP s sco so oo cox q c: Transmission Control Protocol (poocoo Coo tss). Co xs cocc tCP é xs c so co, c q s c foc cco. es oocoo oc goos cc cocc os ss os; g q g os qs os tCP (gs tCP), s co, o q os so. es oocoo scfc o sg. ms q so í g tCP, s co c ás co o. Co o c so o h co gú sj cofc cc tCP co, ocs g s í o. e oocoo tCP ooco cof iP. Co oocoo tCP, s coccos s fjos bytes . r, cocc físc s s qs os (gs); o tCP s fjo gco coo bytes . e c ás jo, oocoo tCP c fjo os cc, fg os os gs q o xc 65535 bytes í c g c , o sá sfoo q iP. a g os gs iP oo so, és os s cc tCP coso, q cos fjo coo bytes . a cs c q xs so co cocc tCP, oocoo s co co sco fco: s sc cox, s sf os os , o úo, s c cox. 10
Fg 1. esq g tCP. e co fo g os os. e ocso ío foc oos, os gs tCP s cs gs iP.
Fg 2. esq fcoo oocoo tCP.
108
e oocoo gs so (UdP, User Datagram Protocol) , s sco so s cox: sj so s scoo qs UdP (gs UdP); c g s í co o co q s í ooo, fo os oos. los gs g cq o co (cso o g), so go s h go coc o o. po s oo, UdP s cos co sco os: s í os os s q cox ( c s s q s s s xs cc so o s g í).
Fg 3. esq g UdP. e co fo g os os.
e ío foc oos s co cso os gs UdP gs iP. los oocoos tCP UdP s sockets (, “cocos” o “chfs”; éo oc os s coxos q s s s cs fcs, s o coc s ís fcs s hcí o) coc ogs sí qc c-so. u socket s o o xo c cocc os ccos (q, o o g, s jc oos sos). ls ccos s coc ío cc sjs socks. u socket tCP s éfoo; socket UdP, coos. los sockets c o o sos gos: • •
Sockets cos: c os és cox . Sockets sos: s os cox. Co g cox , sg socket co. no s o c os.
109
e socket s scc software s s os s cox os áqs. p cox , h socket c áq, s g c hoéco coo s os áqs co c xo c chfo socket . ds go, hardware físco co áqs, s co scooco. e o f scc s q o csos cooc ás o cso. l scc socket
Fg 4. l scc socket .
Fg 5. ucc coc os sockets . 110
Fg 6. Cocc sockets .
Fg . Cocc sockets co os. 111
Sgú bc eck, os sockets so cos o Ss Oo ofc f ogc ccos (aPi) c s ccos sjs os ccos, s ocs o os. ls ocos os sockets (, c, c.) s coo s Ss Oo oos os oos so; cho o : os sockets fo úco so. e gjs oos ojos coo J o C++, s css sockets s so s fcos ofcs o so sockets . Cosos so W (s c, HttP) q sá os cs o o sá (80). los cs s oocoo tCP (HttP s s oocoo o fco). ¿Co so s qé c coso c c? l ss s s fg 8.
Fg 8. esc cocc co sockets tCP. po jo, oocoo HttP:
Fg 9. u cocc HttP s o s os sockets.
112
ls fcs s coccos co sockets tCP co sockets UdP s ss s q xs o éfoo c. po jo, co s o éfoo g, so cocc s cooc oo oo: q s s éfoo sá oco o o ( gos csos, so é s s g ); c cáo co cocc (co c os os gos s o); s s s sá go so s (so q o gñ) sg cáo cocc h coco o s h o (co cs o oco s o os os s). po oo o, co s í c oc s o o: go s gá s so o s cá ss ( cc o xs; so o í; c s g ofc coos co xcso jo). no h, sgo coo so cocc S o c ss, o sá sgo s c g s so; o so oc oocoo UdP: so gs UdP scooc s g o o s so. po so, q s co cocc c-so, c sc sockets cocos sockets so. los sos q s sg cocc íc co sockets tCP so ésos: • • • • • • •
S c os sockets c so. e so sc o o q oocoá sco. e so c scch cos os cs o o fo so o. u c coc co so. e so c cox. S co os. e c o so, o os, c cox.
p co, so s jcc s q os cs cocs é co socket so q c s cos s. dsés, c c sock co c s scfq cc iP úo o cc q ooco sco so. m s socket , c co cox tCP co so. e c 113
g, o cox tCP sc q so c socket co c ( s o , o oá s sgo oos cs). F, s sc cox tCP socket c socket co so. a ocs, o oo os o cos és cox. u socket s sc cox ss foc os ccos ogo J, s jc so oo o os. es scc o socs os s q c jo (cosos os oocoos scs). p os socks tCP, q j. J ooco os css: ServerSocket Socket . l s sock so q s coxos os cs q s c o so. l sg s sock co q c os ( cs so c). poos s q socket cocs qo és o, o c os c cox sc. toos os s os oocoos , físc s s coccos os sss oos ocos s oc os ogos. S o f sí, o hí chos ás ogos ccos s q sosos sásco. El Paquete Java.Net De Java
J ooco f sockets o ojos q sfc chíso jo . Cocs co os ccos és i s s o so és coso o chos co s gj, cos co o q sc gjs coo C. J f gj ogc o c s os és s coo e/S co chos. j. ooco f o ojos c j sockets , coxos HttP, ocos Url, c., co css q s os gos: ) Css q coso s aPi (ifcs pogc accos) os sockets: Socket, ServerSocket, DatagramSocket , c. ) Css cosos hs j co Url: Url, UrlConnection, HttpUrlConnection, Url Encoder , c.
114
e coo coo j. J2Se 1.2 s sg: Css: Authenticator ContentHandler DatagramPacket DatagramSocket DatagramSocketImpl HttpUrlConnection InetAddress Jar UrlConnection MulticastSocket NetPermission PasswordAuthentication ServerSocket Socket SocketImpl SocketPermission Url UrlClassLoader UrlConnection Url Decoder Url Encoder UrlStreamHandler
exccos: BindException ConnectException MalformedURLException NoRouteToHostException ProtocolException SocketException UnknownHostException UnknownServiceExcepti o
115
ifcs: ContentHandlerFactory FileNameMap SocketImplFactory SocketOptions URLStreamHandlerFactory
e q j. j co os oocoos tCP UdP. l cs java.net. Socket c socket tCP c; cs java.net.ServerSocket hc o so so. p s coccos UdP, j ofc cs java.net.DatagramSocket os os os cocc UdP, cs j..dgpck c gs UdP.
Clases MulticastSocket Basadas DatagramPacket
DatagramSocket
Conexión mediante data ramas sin conexión Clases Socket
ServerSocket
Basadas
Comunicación sin conexión
URL
URLEncoder
InetAdress
Mani ulación de direcciones de internen
Fg 10. esq s css ss tCP UdP
116
La clase java.net.ServerSocket
es cs so oocoo tCP c coxos os cs. to cc q cé coo so á c sc cs ServerSocket sí oá s éoo accept() ; so há q cc q cú coo so s oq (o s, cá so) so hs q gú c soc cox. Co c h soco cocs so, éoo accept() cá sc cs java.net.Socket c sá s cocs co c. es os q so g úco ojo ServerSocket chos ojos Socket socos. ServerSocket sá s ojo so. S h coso occ S gos oos os q SeverSocket so “ sockets so”, s fcc s g, so sock s sá q q s so, s so (ServerSocket) o co (Socket ).
Aplicación de cliente
ServerSocket
Socket
Aplicación cliente Sock
Sock Sock
Socket
Aplicación de Servidora
Fg 11. ls css sock ssock fcoo. 11
los coscos ás os o ServerSocket so os sgs: • • •
public ServerSocket(int puerto) throws IOException public ServerSocket(int puerto, int longitudCola) throws IOException public ServerSocket(int puerto, int longitudCola, InetAddress dirinternet) throws IOException
los s éoos c co go “o” c s scfc úo o q socket so scch s cos tCP oos os cs, oo go s “ogCo” q c og áx co coxos s o úo go i s ojo InetAddress. C co q co coxos s s o fifo ( First In First Out : o , o s) og áx s co sá o Ss Oo s s so ogo, s cso s g co, ojo ServerSocket chá s coxos hs q s soc gú g co. ls scs cs java.net.InetAdress s ccos iP. es cs o co coscos úcos. p o o ojo InetAddress os q éoo sáco byName() co go o String q s o coo c sá sco cox co so, InetAddress ooco éoo getHostName() q cooc o oo oc. a coc s osá gos jos os cs fs so cs java.inet.Address ( jo qá cox ): InformarConexionUV.java
o j.o.*; o j..*; // pooco foc so cox ág w // us vc. c css ifoCoxouv { c sc o (Sg[] gs) { 118
Sock sock = ; { iass cco = iass.gbn(“www..s”); Ss.o.(cco); sock = w Sock(cco, 80); Ss.o.(“Coco “ + sock.giass()); Ss.o.(“o o “ + sock.gpo()); Ss.o .(“s o oc “ + sock. glocpo()); Ss.o.(“ s cc oc “ + sock.glocass()); } cch (ukowHosexco 1) { Ss.o .(“no s o co áq co s o.”); } cch (Sockexco 2) { Ss.o .(“no s o coc co áq o o sco.”); } cch (iOexco 3) { Ss.o.(3); } f { { sock.cos(); } cch (iOexco 4) { // no s hc : o s o c sock. } } } }
119
l s og o s:
Fg 12. ejo
DireccionLocal.java o j j..*; ..*; c css dccoloc { c sc o (Sg gs[]) { { iass cco = iass.glocHos(); Ss.o.(cco); } cch (ukowHosexco ) { Ss.o .(“eo o o áq oc.”); } } } 120
l s og o s:
Fg 13. ejo so cs iass.
l sg cc iP 12.0.0.1 s cc sc c s o oo oc s q sé o o cocos i. p q s cc s á, oo á s ás cofg c oocoos tCP/iP (c o h q ocs o so oq os sss oos s cg so; ogos coo jo Windows 3.1, s í q s o so software tCP/iP). a coc coos os éoos s sos cs ServerSocket :
Método Descripción accept() Escucha conexiones a este socket de servidor y las acepta getInetAdress()
Devuelve la dirección
IP local del socket de servidor
getLocalPort() Devuelve el puerto con el que escucha el socket de servidor close() Cierra el socket del servidor
121
coxos. u q s • public Socket accept() throws IOException: es éoo s coxos. c cox , ojo ServerSocket á cox cá ojo Socket . e cso q f coxos ServerSocket cá so oqo. oqo. Ocá csos os q c ojo Socket s ocá xccos s cofgc sg oo o s ServerSocket. • public InetAddress getInetAddress() : es éoo oá ojo InetAddress c co cc iP oo c sá coco socket . e cso q so o s c c coco s oá null . • public int getLocalPort(): es éoo oá o o c Socket So sá sccho s coxos s os sockets cs. • public void close() throws IOException: es éoo cc c Socket
So á os csos socos. S s oc o f os (o jo, o q h so co), s cso sá xcc o IOException.
e s cs o xs éoos o x os fjos os s: s cso s éoo cc(); c os éoos getInputStream() getOutputStream() cs Socket q s coc so socket o. ejo: // S h sccoo o 9000 scch s // cos os cs SSock sockso = w SSock(9000); // S cá sock co c hg c Sock sockc = sockso socks o.cc(); .cc(); S os q ServerSocket q scch os o o q sá oco o oo ServerSocket ocs s sá xcc o java.net. BindException.
122
Aplicación de cliente
ServerSocket
Socket
Puerto accept
Aplicación cliente Socket
Socket
Socket
Aplicación de Servidora
Fg 13. e éoo accept () ch. La clase java.net.Socket
es cs sockets tCP cos (ccs c s os). Ss coscos so: oc Sock () hows Sockexco oc Sock (Socki ) hows Sockexco c Sock (Sg hos, o) hows ukowHosexco, iOexco c Sock (iass cco, o) hows iOexco c Sock(Sg hos, o, iass loc, oloc) hows iOexco c Sock (iass cco, o, iass loc, oloc) hows 123
iOexco c Sock (Sg hos, o, oo fjo) hows iOexco c Sock (iass hos, o, oo fjo) hows iOexco oc Sock () hows Sockexco oc Sock (Socki ) hows Sockexco c Sock (Sg hos, o) hows ukowHosexco, iOexco c Sock (iass cco, o) hows iOexco c Sock(Sg hos, o, iass loc, oloc) hows iOexco c Sock (iass cco, o, iass loc, oloc) hows iOexco c Sock (Sg hos, o, oo fjo) hows iOexco c Sock (iass hos, o, oo fjo) hows iOexco e cosco public Socket(String host, int puerto) throws UnknownHostException, IOException s os ás so. e c c ojo o Socket coco o co o o q o hos. S o s oc q co o hos s oc xcc o java.net. UnknownHostException.
e áo o coso úo o q so. S o s scfc úo oc co socket , és s sgo o áq J. i xs os coscos q scfc o oc. Método getInetAddress() getPort()
Descripción Devuelve la dirección InetAddress a la cual está conectado el socket Devuelve el número de puerto al que está conectado el socket
getLocalAddress()
Devuelve la dirección local a la cual está conectado el socket
getLocalPort()
Devuelve el número de puerto local al cual está conectado el socket Devuelve un flujo de entrada para el socket
getInputStream() getOutputStream() close()
Devuelve un flujo de salida para el socket Cierra el socket
124
• public InetAddress getInetAddress() : es éoo cc ip o ( fo ojo o InetAddress) áq q sá coco socket. • public int getPort(): es éoo o oo c sá coco socket . • public InetAddress getLocalAddress(): es éoo cc iP oc ( fo ojo o InetAddress ) q sá coco socket . • public int getLocalPort() : es éoo o oc c sá coco socket . • public void close() throws IOException: es éoo c socket os csos socos.
S oc o s os (o jo, oq h so co), s xcc IOException. a c socket , é s c os fjos s socos. • public InputStream getInputStream() throws IOException: es éoo fjo socket . Co é, cc c foc oc áq so (s c, oo o cox). • public OutputStream getOutputStream() throws IOException: es éoo fjo s socket , q ss foc áq so (s c, oo o cox).
Co s sockets cos h os éoos q so sss: so o q socket cs c foc. p o q q java.net oc q java.io, c s css java.io.InputStream java. io.OutputStream. ess os css ooco éoos scos c sc bytes arrays de bytes, éss s x s fco cs coo java.io.Reader y java.io.Writer , q s os fo ccs Unicode , o coo ss bytes . Co jos co aPi java.net, os s sosc s css aPi java.io q oos oc x fco os ojos os o getOutputStream() getOutputS (): •
• •
bffr. t os éoos q os s ús () l(). e o ésos o o coso các ío ( -1 co hos co f fjo), sgo String coso í xo. aos ooc oqo: o jcs hs q h os sos o hs q s c xcc. pS. ic os éoos () (), q os os ojos Sg. e éoo w() s s s. los s éoos oq e/S. pW. es cs s o c é os éoos print() println() . l c fc s q ccs cofcos ss cofccos (iSO l, utF-8...). aos éoos oq e/S. 125
ejos: // 1 cos sock co o hos o o o Sock sockC = w Sock(“go.cs..x”, 25); // 2 S c sock co cc ip o 25. Sock sockC = w Sock(“26.56.8.140”, 25); // 3 S c sock co cc ip o 1025. Sock sockC = w Sock(“26.56.8.140”, 1025); // S o o oo q c sock. Ss.o.(sockC.giass()); // S o úo o soco sock. Ss.o.(sockC.gpo()); // 4 S c sock co cc ip o 25. Sock sockC = w Sock(“26.56.8.140”, 25); // u sc cox, s x os fjos e/S socos sock. iS = sockC.giS(); OS s = sockC.gOS(); // S so éoo (). .(); // S í so éoo w(). s.w(64); // S s cs pW coo ooo OS c // ccs fjo s. lgo, s c sock. pW w = w pW(s, ); w.(“esco s”); sockC.cos(); 126
// 5 S c sock co cc ip o 25. Sock sockC = w Sock(“26.56.8.140”, 25); // u sc cox, s x os fjos e/S socos sock. iS = sockC.giS(); OS s = sockC.gOS(); // S s cs bffr coo ooo iS ís // cos fjo . bffr = w bffr(w iSr(sockC.giS())); // S í co s c sock. .l(); sockC.cos(); l c cq og so J sg s scc sos: 1. S c ojo ServerSocket scch s cos q g o soco sco. 2. Co s éoo ccept() , sock so c s cos cs o o. 3. a g soc s sg s sos: 3.1. S c cox, o c g ojo Socket soco c. 3.2. S soc ojos s css cos q java.io os fjos ( streams ) s socket . 3.3. S os fjos s sc os; s c, s ocs os sjs s s í s sss os cs. 4. S c os fjos. 5. S c socket co c. 6. e socket so coú s s cos. ig, os ogs c s sí: 1. S c ojo Socket , q soco oo so o o s jc sco és. 2. S soc ojos s css cos q java.io os fjos ( streams ) s socket . 3. S os fjos o s sc os. 12
4. S c os fjos. 5. S c socket .
e c os sockets o ss o o: o s cco cos ss csos, o áq J coo ss oo. u socket s c co • • • •
f og q o c; s s éoo close(); s c o os fjos e/S socos; s o o coco s.
Cof coco s c os socks o os fjos e/S s ácc oco co. Cosos, o jo, s éoo: c o scacho() { { F fcho = w F(“C:\o.x”); bffOS s = w bffOS(w FOS(f cho)); s.w( () ‘a’); // esc coso các ‘a’ s.fsh(); } cch (iOexco ) { .Scktc(); } } Coo ojo salida o s c xíc, qá co coo os “s” coco s co éoo. Co coco s o “cc”, o cá á s o. a cs ojo salida, é s cá FileOutputStream. pfco. es o q s q, ¿? ¿p qé h q ocs c os fjos? H os oos ch cgo o o fo cho o q q sf os ojos os o coco s: 128
1. Hs q coco s cú, cho cá o. S s oo o oo , s ojí xcc q cí q cho sá o so. 2. l coco s coss o os ojos J q o s s, o csos ss oo (scs os, c.). l úc “” csos so sos o os ojos J s s éoos –close(), dispose()– q s cg cgo sco scífc c fo (s s sco C o C++).
agos ogos s o c os socks os fjos co sos cooc cgo o éoo finalize() (s éoo s o o coco s co s so o gú ojo c o xs fcs). así, os csos so s á co ojo s o o coco s. e g, s ácc s fs. Sogos, o jo, og q chos chos o os c. p sc q í fchos os o o so s cc s q coco s h co –, o , s q s h o finalize() , o s cgo –; s coco so os oso fs s ñs co q oc o , o co q ocos csos s Ss Oo. e s cso, og s cogí o sí c ás chos. a, s s cofí coco s csos o finalize (), cooo og sá f c c MVj, s c ss éccs coco s: s q coco f co, fcoí ; s q o, oí ooc fos xcs s s. l o sc s í s cos s coco s ( scfcc MVj sc c q coco s s oso), ícs os sosos qños. los os os o c os socks o os cosos os os fjos e/S socos chos: os sockets cox cco q s s s q s áqs o sá. p , s s chos csos ss oo s oc cos ío gs iP s áqs. no c os socks co s h o sos cos co sco csos. Co socket o s c coc oq cc h fo, ss oo os cosg co. do MVj so, 129
“sc” socket s hc s close () s o sock oo xo coo f ío os, s úo socket cogs hs q s c og. Un ejemplo de aplicación cliente-servidor con java.net
p os c J os sos sc ccos cso, co s jo:
RegistroConexiones.java o j..*; o j.o.*; /** * es cs í sj os cs q s coc c * cox. no ás c. S h gú o * sj c (o jo, oq s h co * s cocs), cc s c. */ c css rgsoCoxos { c sc o (Sg gs[]) { SSock sockSo = ; Sock sockC = ; pW s = ; // S c sock so o 4000 { sockSo = w SSock(4000); } cch (iOexco 1) { Ss.o.(“no s h oo c so.”); // S c sock so. f (sockSo != ) { sockSo.cos(); 130
} cch (iOexco 2) { // no s hc } Ss.x(-1); } wh () { // c fo { // S c cos os cs. sockC = sockSo.cc(); // S fjo s. s = w pW(sockC. gOS()); // S s foc so cox s í // sj // c. Ss.o.(“Cox c co cc “ + sockC.giass(). gHosass() + “ o o “ + sockC. gpo()); s.(“Ho s”); s.cos(); // S c sock. sockC.cos(); } cch (iOexco 3) { f (s != ) { s.cos(); } f (sockC != ) { { sockC.cos(); } cch (iOexco 4) { 131
} // no s hc } f (sockSo != ) { { sockSo.cos(); } cch (iOexco 5) { } // no s hc } 3.Scktc(); Ss.x(-1); // S s og. } } } } e og c o s cs sco: hc telnet (Sg fg).
Oo c sco gso coxos 132
S c sco gso coxos.
e jo cs RegistroConexiones o s c g cc ofso: so s c sá c. ms o c co o, o oá co co sg. l soc ás sc o s hos (hs). u ho o s ás q fjo coo o cc. e og o, s s sg ho c c q s coc, og c oá sg co coxos.
133
váoso co cgo:
Re istroConexionesHilos. ava o j..*; o j.o.*; /** * vs co hos rgsoCoxos. es cs í sj * os cs q s coc c cox. p * sá os cs. S h gú o * sj c (o jo, oq s h co s cocs), s * c ho coso s c, o o cc. */ c css rgsoCoxosHos { c sc o (Sg gs[]) { SSock sockSo = ; Sock sockC = ; pW s = ; // S c sock so o 4000 { sockSo = w SSock(4000); } cch (iOexco 1) { Ss.o.(“no s h oo c so.”); // S c sock so. f (sockSo != ) { sockSo.cos(); } cch (iOexco 2) { // no s hc } Ss.x(-1); } wh () { // c fo { 134
// S c cos os cs. sockC = sockSo.cc(); w thC(sockC); } cch (iOexco 3) { f (sockC != ) { { sockC.cos(); } cch (iOexco 4) { } // no s hc } } } // f wh } } css thC xs th { Sock sockC; c thC(Sock sock) { sockC = sock; s(); // S c ho. } c o () { pW s = ; { // S fjo s. s = w pW(sockC.gOS()); // S s foc so cox s í // sj c. Ss.o.(“Cox c co cc “ + sockC.giass(). gHosass() + “ o o “ + sockC.gpo()); 135
s.(“Ho s”); s.cos(); // S c sock. sockC.cos(); } cch (iOexco 1) { f (s != ) { s.cos(); } f (sockC != ) { { sockC.cos(); } cch (iOexco 2) { } // no s hc } 1.Scktc(); } } }
r eferenCias 1. H, Kh; S, b. ux Ss pogg. aso-Ws pshg Co. 2. F, i m.; mci mcHos, a. Sss Oos. tc ec. thoso lg. méxco, 2001. 3. Chow, Jhoso . ds Og Sss & agohs ,aso Ws 4. m.l.l, Coc ds, Fos accos. 5. escfcc api pfo J 1.5, h://j.s.co/j2s/1.5/os//x. h 6. J sock api, h://j.s.co/ocss/jk/1.2/ocs//x.h
136
COntenidO
pogo
5
Cío 1: iocc os Sss Oos Cos dsos 1.1 Coos áscos aqc vo n 1.2 rgsos áscos ocso 1.3 ejcc sccos 1.4 icos 1.5 txooí F 1.6 aqc ocsos 1. dfc Sss oos ejccos rfcs
8 9 10 10 11 11 12 14
Cío 2: Cocos Sss Oos 2.1 eoc os Sss oos 2.2 Fcos os Sss oos 2.3 ls Ss 2.4 esc Ss oo 2.4.1 mcoúco 2.4.2 núco ooíco 2.4.3 Cs s 2.4.4 Os scs s 2.5 tos Sss oos 2.5.1 Sss oos cos 2.5.2 Sss oos 2.5.3 Sss oos sos 2.5.3.1 dfc 2.5.3.2 ascos sño ss so 2.5.3.3 vjs sjs ss so ejccos rfcs
15 1 19 19 19 19 20 21 22 22 22 22 22 23 24 24 26
13
Cío 3: Gs ocsos hos s cos sos 3.1 Cocos áscos ocsos hos 3.2 dscho sss cos 3.2.1 Cos scho 3.2.2 tos schos 3.2.3 agoos scho 3.3 dscho sss oos sos 3.3.1 moos sss 3.3.2 pfcc sss sos 3.4 Cocc ocsos s sos 3.4.1 moos o cs 3.4.2 moo C-So 3.4.3 los ocos oos ( rPC) iocc éoos oos (rMi) 3.4.4 Cocc go 3.5 Scoc s sos 3.5.1 Scoc ojs 3.5.2 excs 3.5.3 agoos cc 3.5.4 tsccos cs 3.5.5 boqos 3.6 toc fs ejccos rfcs
2 34 34 35 36 38 38 43 49 50 52 53 5 59 59 62 65 6 1 3 5 81
Cío 4: Gs o s cos sos 4.1 mjo o co cos fjs 4.2 mjo o co cos s 4.3 mo sss oos cos 4.3.1 pgc 4.4 mo co s ( dsM) 4.4.1 mjo o co ocsos 4.4.1.1 mocsos sos s 4.4.1.2 mocsos sos o 4.4.2 pcs oxcos dsM ejccos rfcs
85 8 89 90 9 9 98 101 103 104 105
Cío 5: uso sockets J rfcs
10 136 138