You are on page 1of 434
Sistemas operativos Aspectos internos y principios de disefio Quinta Edicién WILLIAM STALLINGS Traduccién y revision técnica Jost Marta Pea Stnchez ico *Sanafé de Bogodt + Buenos Aires «Cartas San Jag» San Jon» Saatags* Say Paalo* DERECHOS RESERVADOS 192005 respecio ala primes eicién ex Depts ia 6289862007 TRENTICE HALL ern sella ios orizade de PEARSON EDUCACION SA, Como siempre, ami amada y genial esposa A. ya su leal comparero Geoffroi fl ( ‘ L ee PAGINA WEB PARA SISTEMAS OPERATIVOS: ASPECTOS INTERNOS Y PRINCIPIOS DE DISENO, QUINTA EDICION proporciona apoyo a profesores y estudiantes MATERIAL PARA APOYO DE CURSOS. El material para apoyo de los cursos ineluye + Copia de las figuras del libro en formato PDF. + Un caojuato de transparencias PowerPoint para uilizarlas como ayuda en + Notas de clase en HTML que pueden servir como material de ayuda para el estudio, iantes pueden encontrar inde las matematicas + Una hoje de errtas del DOCUMENTOS COMPLEMENTARIOS Los documentos complementariosincluyen: copia'en PDF de todos ls algortmos del libeo en un pseudo-céigo de tipo Pascal de fil vo a Windows. UNIX, y Linux; reproducido en tes documentos PDF d& + Varios documentos que amplian I dad 6e los algortms, esindares de In ibro,Incluye aspectosrelatvos ala compleli= Sockes. CURSOS DE SISTEMAS OPERATIVOS. PAGINASWEB UTILES LLapégina web de OSSe incluyeambién enlaces a ces piginas de interés, Los enlaces cubren un amt pis spectro de temas y permatitinalosestudiants exploraraspectos concretoscon gran profundided LISTA DE CORREO ELECTRONICO ‘Se mantene una lista de coreo para que formacin,sugereniasy preguntas ence en la pgina web del libro. PROYECTOS DE SISTEMAS OPERATIVOS Lapégina web incluye en vven come entomos para Com informacicn de apoyo. Véase el Apéndice C para més informacién Contenido Prélogo xi oO Guiadel tector Organizacién Orden de presentacin d jos temas 3 uemeryenlaWeb 4 Recursos e PRIMERA PARTE:ANTECECENTES 7 Capitulo { — Ineroduccién aos computadores 9 1 Elementos Otsicos 10 12 Regisuos del processdar 12 13 Ejecucisn de instrucciones 14 14 Iiemupcianes | 17 1s Lajerarquiade memoria 27 16 Memodaceche 30 ur Técnicas de comvnicacion dx EIS 34 1s 9 3 repasoyy problemas 38 nto de las memoras de dos niveles 4 Apéndice 1B Contil de procedimientos 48 Capitulo 2 —_Introduecidn a los sistemas operatives $3 21 Objetivesyfancones des sistemas operatives $4 22 ——_Leevolutiéndelos sistemas opeaivos 58 23 -Paincpals logos 67 24 asarrllo ue an evad ao stems operaivs modemas 79 25 Desetipcién global de Microsoft Windows 82 26 Sisemas UNIX tdicionsles 91 27 Sistemas UNIX mderos 94 | 28 Linx 95, | } 29 Lecturasy sitios web recomendados 101 210 Términos cave, cuestiones de repaso y problemas 203 X Contenido ‘SEGUNDA PARTE: PROCESOS 105 Descripeién y control de procesos 107 iQubesun proceso? 108 Extados de pre Ho Deseripeién de los procesos 126 Control de procesos 135 Gestién de procesos en UNIX SVR4 143 Resumen 149 Lecturas recomendadas 149 ‘Términos clave, cuestioes de repaso y problemas 150 Desarrollo de inérprete de mandatos 154 Hilos, SMP y micronticleos 157 Procesosehilos 158 ‘Muliprocesamiento simétrico 172 Microndeleos 176 Gesti6n de hilos y SMP en Windows tn de bilos y SMP en Solaris 187 Gestién de procotos ehilos en Linux 193 Resumen 196 Lecturasrecomendades 196 ‘Términos lave, cuestiones de reps y problemas {97 Concurrencta. Exetusi6n mutua y sincronizacién 201 Principios de laconcurencin 203, ExclusiGn mutus: soporte hardware 212 Seméforos 215 Mooitores 229 Pasode mensajes 235 El problema de los Lectores/Escrtores 241 Resumen 245 Lecturasrecomendadas 247 ‘Términos clave, cuestiones de repasoy problemas 248 Concurrencia.Interbloqueo einanicién 257 Fundamentos del interblogueo 258 Prevencin del interblogueo 267 63 64 65 66 67 68 69 6.10 611 612 613 Contenido x! Elpproblema de los Aldsofos comensales 2 ‘Mecanismas de concurrencia de UNIX 280 TERCERA PARTE: MEMORIA 305, Capitulo i 12 13 14 15 16 1” Capitulo 8 81 82 83 84 85 86 a7 88 Mecanismos de concurrenca del nicieo de Linux 284 Funciones de sineronizaci6n de los ¢e Solaris 291 ‘Mecenismas de concurrencia de Windows 294 Resumen 296 TLecturas recomendadas 297 “Téxminos clave, cuestiones de repaso y problemas 297 Gestion de memoria 307 Requisites de gestidn de memoria 308 sit Segmentecién Resumen 327 Lectura recomendadas 327 308 “Tenminos clave, cuestiones de repasoy problemas ‘Apéndice TA Cargayenlace 331 339 Hardware y estructras de control 340 Software del sistema operativo 358 inde memoria de UNIX y Solaris 378 de memoriaen Windows 386 Resumen 388 Leewura recomendada y piginas wed mes de repaso y problemas 390 Términos clave, cv Apéndice SA Tablas Hash 395 CUARTA PARTE: PLANIFICACION 399 109 Planificacin uniprocesador 401 Tipos de planificacisn de procesador 402 acién 406 Algoritmo de Contenido 93 Planificacign UNIX tradicional 427 94 Resumen 429 95s Lecturasrecomendadas 431 96 ‘Términos clave, cvestones de repaso y problemas 431 ‘ApSodice 9A Tiempo de respuesta 436 Apéndice 9B Sistemasde colas 438 Proyecto de programacién dos. EI plonficador de HOST 444 Capitulo 10 1 rrocesador v de tiempo real 451 452 102 Panificacién de tempo real 463 103 Planificacién en Linux 477 104 Planificacion en UNIX SVR4 480 105 Plapificecién en Windows 482 wos Resumen 484 107 Lecturasvecomendadas 485 los. ‘Términos clave, cuestiones de repaso y problemas 485 QUINTA PARTE: ENTRADA/SALIDAY FICHEROS 489, Gestion dela EIS y planificacton det diseo 491 Disposiivas deE/S 492 OrgenizaciOn del sistema de ES 493 Aspectes de diseo del sistema operative 496 cin de bufers de EIS $00 ieacign del disco $03, la RAID Stl Cache dediseo 520 E/S de UNIX SVR4 522 E/SéeLinux 527 E/Sde Windows 530 Resumen $32 Gestin de ficheros $87 Deseripcisn bisica 548 Organizacién y acceso aos icheros 553 ‘SEXTA PARTE: SISTEF Capitulo 13, Bt 132 B3 4 Bs 136, 137 Capitulo 14 waa M42. 143 14.10 Capitulo 15 152, 153 Directorios 559 Companicién de ficheros loques y registios 564 renamiento secundario 566 inde ficheros de UNIX, 574 368 ‘sistema de ficheros de Windo Resumen 587 ecomendadas 588 mos clave, cuestones de repasoy problemas ~ 589 JAS DISTRIBUIDOSY SECURIDAD 591 Redes 595 sor 1. de una arguitecrura de prosocolos recture de promenlos TCRNP 599 605 Redes'en Linux 609 Resumen 6 ‘Lestuas y sitios web recomendados 61) de repeso y problemas 612 “Términos clave, cuestiones ie de transferencia de Gcheros 614 ‘Apéodice 13A EL Prescoto si Procesamiento dstrbuldolinteereidor 3 laters 61? Compotacién lieateservider 620 Paso de mensajes disibuido 630 LLiamadas a procedimiento remota 653 Clusrers 636 Servidor Cluster de Windows 642 Sun Cluster 643 ‘Clusters de Beswolly Litux 646 ' Resumen 648 Lectura recomendadas y sitios wed 948 Tarminos lave, evesionesderepas problemas $50 Gestion de procesos distribuides 653 Migracign de procesos 654 Estados globalesdistribuidos Exclusién monua istibuida 665 660 CConteniso 4 155 156 157 Capitulo 16 161 162. 163 164 165 166 167 168 169 APENDICES Apéndice A AL Ad Aa Aa Apéndlice B BI B2 BS Ba BS Apéndice C ca 3 ca cs Inecblogueo dstribuido 675 Resumen 655 Lecturasrecomendadas 685 ‘Términos clave, cuestiones decepaso y problemas 636 Seguridad 689 Amenazas de seguridad 690 Proveecién 695 Inieutos 701 Software malcioso 713 Sistemas confiables 722 Seguridad en Windows 725 Resumen 731 Lecturasrecomendadss y sitios web 732 “Terminas clave, cuestiones de repaso y problemas 733 Apéndice 16A Cifrado 736 73 ‘Temas de concurrencia 743 Exclusién mous, Ténicas de software 744 nes decarera y seméforos 748 Darberia 738 Disefo orientado a objetos 765 Movvacién 766 Conceptos de erienacién aobjetos 767 ‘Beneficins del dst orientado a objetos 771 CORBA 772 Lecturasy sitios web recomendados 775 Proyectos de programaciéa y de sistemas operatives 777 Proyectos para laensefanza de sistemas operatives 778 NACHOS 779 . Proyectos de investigacién 780 Proyectos de programacién 780 Tareas de lecturay de andlisis 781 Apéndice D Da D2 D3 Apéndice E Ed E2 E3 Bs ES Glosario 801 Referer Contenido xv ‘OSP, Un entorno para proyectos de sistemas operativos 783 Introduccién 784 ‘Aapectos innovadores de OSP_— 785 fe sistemas operativos 786 ‘Comparacidn con ots herramienas docenes op BACL Bl Sistema de programacién concurrent Ge Ben Ari - 789 Tauroduccion 790 BACI 790 jemplos de programas BACI Proyectos BAC] 797 Mejor el Sistema BACI 800 oo) au ‘Acrénimos 827 Indice 829 2s operatives. Su pro- a8 de los In velocidad de las pido activa la inves Apesarde esta _guen siendo aplicables en todo mom tecnologia y de los requisites pac estudio profundo de Ios funda seo comemportnees y con ‘paramente con- tematvas de diseio det mporantes fro se ovupa de a comercial fencteiran en SVR UNIX. Incluye procesamiento multihilo you ayoria de las otras versiones de UNIX. ign font et spore brement qe ¢5 ‘Une versi6n de UNIX euyo. 2zada actualmente xvii Freloge Secor slo, y se expica Ia ‘oncepios de diseo est Est lito et ena io a aulecia de carder aca. fa Cone bree ef ei peso pr cu desea pints de seen uss tulcione tomenéados por ore eqip de eabajo conju para planes deetiio de Curia) dln sociedad infec (Computer Socey) de IEEE io” anterior a este prdlogo para mis informacin, Se ha nee libro puedan intereambiar informacién, superencias Prdioge xix oe timo, hay que eestcar que ef aus aan saStalings com/StadentSuppor hi de un curso de sistemas operaivos es un proyecto 0 Far nto de proyentoy mediante lo cies eesti obtinne un experienc ue fe per un conju re eepioe det bro Ese i propotcionaun incomparable grado de spoy9 e325 pest, incluyendo un componente de proyectos encour libro se definen dos pro: eotos de programacién pineipales I ios estudiantes para abordar estos proves ‘Para muchos insrveores in elemento import traguetes da sofware qu srven como entoros de trabajo Pa PINACHOS pace deserolar components de ua ssa oP ¥ NACHOS par ese ome cto we dl profsa nyo ula sei de pquetieprovess jorado la claridad dela redacciony de las ths Tarios problemas de arte 22159, {lustraciones que acompaian “Adems de mejoras pedag6lens yen so pres cose ha actualizado completamente, pars {adi de Linux se ha extend io de Windows sea at bias actuals en at, basdandose en sci evs: Lieut 2.6 ws XP y Windows Server 2003. Se ha foy extendid el material dediendo ala cone fra mejor su claridod, moviendo parte de ae nd sobre condiciones de carrera. El ratamieno de Ia inclaye un esto de és de Sockets. Ademds. se ha ampliado de Michigin Se ‘be Arkansas Technological te otodo el libro. ladas de uno o més cap sa mucha gente que cali revisiones Apdcew Cheese, Robert Kaiser, Bhavin G “Joshua Cope, Luca Ve b ‘Andrew Huo Zhigang. Yibing Wang, Da- rio Alvarez y Ts fa agradecer a Tigran Aivazian, autor dl éo- ‘cumento sobre los aspects internos del nicleo de Lintx (Linux Kernel In yecto.de documentacin de Linux (Lime Documentaion Proje) por surevisin del 2.6. Ching-Kuang Shene (Universidad de Michigan Tech) proporcions los ejemplos usades Cin sobce condiciones de eareray revisé dicha sec. ‘Asimismo, Femnd Ariel Gon contituy con diveros eres parsel etude y leva cabo ones dtladae de todos lo apts lautor quent por contribt ? School of Mines) por pester saya en el Apésdic SteveTaylor (Worcester Pol 1) pos aba en oe proyesas Ge programacin yen a aes deer y ais profesor al profesor fan N. Nguyen (Universidad de Gcorge Mason por ro. Oskars Rieksts (Universidad de Kutztown) permitié de forma ge- ios y proyectos. Esto ineluye al person ce Hall paticulanmente alos editores Alan Apt y Toni Holm, su ayudante Patrick Lindner, l directo ra de produccién Rose Kernan, y la direcora de suplementos Sarah Parker. Este apradecimiento se ex: Jake Warde de Warde Publishers qu ditigié el proceso de revision, y a Patricia M. Daly cAPITULO 0 ———————— TT Guia del lector oa, 0.2. Orden de presentacién do fos tomas 103. Recursos en intemet y.en 1a Weby 1 operstvos.Agpector interes yprncoios de SHPO HOO HO eee OOH EEH HEH Heeeees ‘ran cantided de material A cantimacisn,s& HOPE HOHE HEHEHE HEH HEHEHE EED PICU Et libro est organizado en siete pares Primera parte. Antecedentes. Proporciona una intoduccién & Ia arquitectaa y organizaci6n el comput is cionados con el dsefio de sistemas ‘operatives, presentando, asimismo, uns visi general de los temas de sistemas operatives tra- tados en el resto del libro. Segunda parte, Procesos. Presats un andliss deallado de los procesos, el procesamiento ‘multhilo, ef mutiprocesamiento simétrico (Symmetric Multiprocessing, SMP) y los micrond- lees, En esa pat se estudian también los aspectas principales dela concurenca en un sste— ‘a uniprocesador, haciendo hincapié en los temas de a exclosién mutua y dels interbloqueos. ‘Tercera parte. Memoria, Proporciona un extenso estudio de las téeicas de gesti6n de me- ‘moria,ineluyendo Ia memoria viral Cuarta parte, Planificacién. Ofrece un estudio comparativo de diversas eststeiss de p ficacidn de procesos. Se examinaré también Ia pl fa parte, Entrada/slida y ficheros. Examina los aspects involucrados en el control de las operaciones de E/S por paste del sistema operativo. Se dedica especial stencién al EIS del disco, que es fundamental para el endimienio del sistema. Asimisma proporciona una vision general de Ia gestin de fcheros. Sexta parte. Sis fe computador, describe a as distribuidos y seguridad. Estudi luyendo TCPAP, procesami nas dreas de dsefo fundantenales en CCapfiulo 16 proporciona un principales tendencas en redes ters. simismo, Este libro esté dedicado a dar a conocer @ los lecores los principlos de diseo y los aspectos de implementaci6n de los sistemas operativos contemporineos. Por tanto, seria inadecuado wa trate tmiento puramentete6rio o concepru stra los concepts y asocarlas a opciones de dise fo que se deben tomar en la vida real, se han seleccionado dos sistemas eperativos conio ejemplos + Windows. Un sistema opertivo mutitacea dsefado para ejecutar en diversas computadores personales, estaciones de wabsjoy servidores, Es ano de Ios pocos sistemas apeativos comer ciales recientes diseiado esencizimente desde ceo, Debido a esto est en una pera incorparae de una manera ntida los ms recientes desarrllas en Ia teen operativs. + UNIX. Un sistema operstivo multiarea dstinado originalmente a minicomputadores pero in plemertado en un amplio rango de miquinas desde poderosos microprocesadores a supercon putadores, Dentco de esta familia de sistemas operatives, se incluye Linux El estudio de ls sistemas de ejemplo ests ‘nico eapftulo 0 apéndice. Concurencia de cada sistema de ejemplo y se discute la Iares. Con esta estategi, diatamentereforzados con EXIT ee Seria natural que los Leto eoipor ejemplo, el tema de planidicaién (Capttalos 9y 1 ia (Capitel io inmedi a iit reside en qu os rosetta memos ae il hve fe 1 Fa to de pagina. oro lad, ambien es ot ae cvudian Getiones de plaifiacén Ext po memoria Cn dio dela plafcacion requee alguns noc y viceversa, ‘La Figura 0.1 sugiere can relaciones muy estrechs. ados en este diagrama, frespondé con el Capitule 3. Después de es0, cia. Ge sistemas operativos te ‘Ast durame el es s concepts de diselo est Jos ejemplos del mundo rea. res cuestonaran el orden particu ramente desputs de estos temes. sos temas estén estrechament jaa los aspect pl signa laces importantes ente os eas Ls = ‘desde el punto de vista de las decisiones de di ee camnzar on tow ein BS rc rer pa oa ec ahe oon pan Y stibuido através de libro en vez de agrupado en un ide la concurrenci, se describe el mecanismo de vaca de las opciones de disefio patew en un detenninado capftlo son inme: ia de posescn de os temas en esi cud my rlasonac co os decals Sy 6) el tema general de procesos (Capitulo 3), por o que podria see terrlacionados. Por ejem- icacin relaciona- i referige algunos aspectos de gestisn de ‘ejemplo se puede repetirin- imientos de Ia gestin de E/S ie procesos, que co- io. Muchos watados pus tatan otros (e- nappies 82 essen l 4 sistemas operstwos. aspectes mernes y én de memoria, a decisidn de al 3 en ese orden 15. Sin embargo, aungue el cerebro hu osible (y caro) taba ‘mano puede llevar Jar con éai ‘iferentes, Dada la necesidad de un orden line bro es el mas efectivo. seguir Se rata de un grupo de noticias moder: egscom/08/0SEehtml. Consi- * ggrposres gob cen eee mun galseteon 8 + compuunixinternals cs sux.development.system “ $e reproducen todas los &l- lenguaje de pseudo-cédigo es + comps. En cuanto se detecte cualquier error tipogrfico o de oto tip, se publicard una lista de erratas de este libro en el sitio web. Por favor, informe de cualquier error que detece en el libro. En ( ‘anizan en cuatro catege + Matemsti colas y ‘Aconseja y guta al estadiante para resolver sus ejercicis, escribir informes tenicos y breparar presentaciones snicas. PARTE. | ANTECEDENTES ‘esta primera parte se proporcionan fos antecedentes necesariog y se establece el contexts para el resto de este libro, presentando los concepts fundamentals Sobre arguitectura de com= putadores y sobre los aspects internos de los sistemas operatives. CAPITULO 1. INTRODUCCION A LOS COMPUTADORES tema operative hace de inteamediario entre, por tn lado, los programas de aplicaci, las hese -dware del computador. Para apreviarcéme funciona el slucrados, se debe tener algén conocimiento de la or | proporciona un breve estudio del ‘opertivo y los aspectos de dsefio cidn y Ie arguitectura de los computadores. El Ca pracesador, la memoria y los elementos de E/S de un computador, CAPITULO 2, INTRODUCCION A LOS SISTEMAS OPERATIVOS El tema del diseio de un sistema operativo (S.0.) abarea un enorme campo, resultando fécil envedar- -3¢ en Js dealles, perdiendo el conlento general durante e esta de un tse en particular. El Capt tulo 2 proporciona una vsiGn general ala que el letor puede volver en cualquier panto de itr para recuperar el contexto global. Se comienza con una exposicién de Ios objets y funciones del siste~ sa operativo. A continvacin, por su relevanciahistria, e describen algunos sistemas y funciones el $.0. Este estudio permite presentar algunos principios de diseno del 8.0. fundamentales en un eniorno sencillo, de manera que queden clara las relaciones entre varias funeiones del 8.0. A eonti- ruacién, el cap “importantes de os sistemas operatives modems. ‘A to lango de este libeo, cuando se presentan diversos temas, es necesario hablar tsto de principios fundamentalesy bien consolidadas Como de las mds recientes ianovaciones en el disefo de S§,00. lector que se debe de abordar este mezcla de téenicas de di- safe ya consolidadas con otts recientes. Finalmente, se pvesents una inrodueci6n de Windows y tra general de estos sistemas. proporcionando un contextO para lis discusionesdetalladas que serealizan mas adelante CAPITULO 4 Introducci6n a los computadores | 14. Elomantos bésicos 10 Sistemas operativos, Arectosinteros yprinciplos de diseo POPE HOO HEHE HOHE eH esesesesoree Un sistema operative explo los recursos hardware de uno 0 mds processdores para proporcionar tun conjunta de servieoe fos usuario del sistema. &|sistoma operativa tambicn gestona la memo- tio secundaria y los elspostvos de B/S (entradas {ener algunos aonocimientos del hardware del computador subyaconte antes de nila ef etudlo de los sistemas operatives SOOO HHO HEHEHE HE SEH OHO eees mds ato nivel, un computador consta del procesador, la memoria y los componentes de E/S, iluyendo uno o més médulos de cada tipo. Estos componentes se interconectan de manera que se pueda logrrlefuncién principal del computador, que es ejecutar programas. Por tanto, ina cuatro elementos estucturales principales: + Procesador. Conroa ef funcionamiento del computador y realiza sus funciones de procesa: rmiento de datos. Cuando sélo hay un procesador, se denomina usualmente unidad central de proceso (Central Processing Unit, CPU). jpal, Almacene datos y programas. Esta memoria es habitualmente voli ‘spaga el computador, & pierde su contenide. Er contrase, el contenido de la uso cuando se apaga el computador. Ala memoria princi real memoria primaria + Médulos de B/S, Tansferen los datos entre el computador y su entomno exiemo, BI entomo exter esté formato por diversos dispositives,incluyendo disposiivos de memoria secunda~ Fa (por ejemplo, discos), equipos de communicaciones y terminales, + Bus del sistema. Proporciona comunicacin entre los procesadores, la memoria principal y los médulos de ES La Figura 1-1 muestra esis componentes de mis alto nivel. Una de las funciones del procesador ro de direccién de memoria ( ‘memoria de la siguiente lectura oescrtura;y un registro de d ‘ne os datos que se van a escribir en la memoria 0 que reci ito de dieccign de E/S (RDIE/S)especifica un determinado dispositivo de E/S, {yun regisro de datos de E/S (RDAE/S) permite el intercambio de datos entre ur mddulo de F/S y el procesador. LU asédlo de memoria consta de un conjunto de posiciones definidas mediante direcciones nu rmeradas secuencialmente, Ceda posicién contiene un pate de bits que se puede inerpretar como una instrucein o como datos. Un médulo de E/S tansfiee datos desde los dispositivos externos ha- cia el procesadory a memoria, y viceverss. Contiene bufers (es decir, zones de almacenamientoin- temas) que mantienentemporalmente los datos hasta que se puedan enviar. Inweduccién alos computadores 11 cpu ‘Memoria principal | Bus del : q [ae] om | Be Lt — oan (see | } [Roam] : [Ror] a Non = eiecucit, [RDAE/S| | a Médulo de EIS : 3 jute ee 1] | Ba ktkepae vdieo demas | aujers RDAM = Registro de datos de memoria LS Rates = gi eds de enraution RDA EIS ~ Registro de datos de enradnslida Figura 14, Componentes de un computador: vi 0 nivel TEs o de regitros que proporcionan un tipo de meraria que es més ri Un roy cided que la memoria prinepal. Los restos del procesadr sien para dos pida y de menor capacidad que funciones Permiten al programador en lengu + Regitos vss para es aor nr stent a memoria petal opiizando eso des ‘pele velco oe eae oot inet tem Se ies ee ables gna a egaton cuales a poslones de memo trae eo es ona. peter al programodor suger comp pal. Alguns lenguajes de alto sive qué variables deberin almacenarse en egistos. sonrolar sv operacin y por ru controls estado, Usados por el procesador para jstros de controls estado, Ustdos por el pr la me + Re s ‘del sistema operativo para controlar la ejecuci¢ tna pains No ay wn casein ad egies ox eager Por ao eB nas muse contador program atl uri, porch mts oes soe na maa et gure pee coves, coaveriene wz es eH Lz sistem operavvos. aspec 1 8 eine REGISTROS VISIBLES PARA EL USUARIO Los registros de direccién contienen direcciones d de nen direeciones de memoria principal de datos ¢ insruccio~ nes, o una parte de Ia direccién que se utiliza en el eélculo de la direcci6n efectiva 0 completa edicados a.una for- mentos, que son bloques de palabras’ de long consta de una referencia un determinado segmento y un desplazamiento dentro del seg- es ef responsable de guardar den men edie tee las fnctones de salvar 9 estaurar se pueden realizar en hardvare 0 en sofware, diendo de! procesador. » p ne ofr, depen REGISTROS DE CONTROLY ESTADO 1s del procesadr par Cor is para ef usu + Contador de programa (Program Counter, PC) racitn que 8 leerd dete metwaris. de procesador “ds Jos i ado del usualmente como is cao valor fo sina no lode las operaciones. Por eje™- ‘negative, 70 0 desbordsm fn en concordancia ie puede comprare e640 & fi de eddigo de cc ‘se agrupall en UNG O Mt ro de contrel, Gene 5 pd proporcionan Sisto be inierapeie. i mia operativo, en sspectos as de usuario. ecisiGn de disefio fundamental es el reparto ‘motia, Es habitual dedicar la primeras (as de ropésitos de contr. El disefador debe yk ‘ras de memoria para p Sistemas operatives Aspects intorns yprinepos de deer en la memoria principal, menos répida y Un programe que va a ejecutarse en un procesador consta de un conjunto de instrucciones almace- nado en memoria. En el pracesamiento de una instrocci6n consta de dos pa arama que para el procesador. BUSQUEDAY EJECUCION DE UNA INSTRUCCION ue oe le indique otra ejecutada, de mara que aque el contador del programa est truceién dela posicién 300, En suces leerka instrucciones de las posiciones 3 terar, coma se explcaré posteriormente, erp se dividen en cute categoras + Procesadorsmemoria, Se pusden tmsferir datos desde ef procesador ala memoria oviceversa + Procesador-E/S. Se pueden enviar datos un dispsitvo peritéico ocecbieos desde el mis- éndolos entre el procesador y un médulo de E/S Fase de bisqueds Fase deejecuciéa Figure 12. Ciclo de instracionbésico, Introcuocién alos computadores 15 fe datos. El procesedor puede realizar algunas operaciones aritméticas 0 1égi- cas sobre Tos datos. ol Una instruceién puede especificar que se va a altera la secuencia de ejecucién. Por 49, que espectica que Iz. rama cen la siguiente fase de bisqueda, se leerd {rucein dela posiién 182 en vex de a 150 ‘ina ejecucién de una insrucidn puede involucrar una combinacin de estas aciones. Considers un ejemplo se smostradas en In Figura AC). Tanto las instrucciones como los zada como una sccuencia de palabras de gid de 16 bi seein proporciona 4 bits para el 2 pucgen diseccio- 2s digtos hexadecirales). 2, mostrando las partes relevantes de la {La Figura 14 ilustra una ejocuci6n parcial de un programs do Is pa memoria y de los restos del procesador. El fragmento de prograsia mostrado sua inp de memories a decign 940 a dla ire. nando el rested en eta ii, Se 1 raciones ut soeaponéen © es fas de by mos esrb 3c ° sa 8 TSE isa } 16 Sictomae operatvos, Aspecosinterncsy princoos de clseio ate de biequeda Fase de eecucién Reger 6 2. Los primeros 4 lk dircein de la memoria. Los restants 12 bits (tres digitas nn Ls 12 bits (tes digits hexadecimales) especiticen la 3, Se lee la siguiente instrccisn (5 ) dela posicign 301 y se inerementael PC... io previo del AC yel contenido de la cop ¥ el contenido de laposiién 941 se suman y el resultado se alma- 5. Selee asi 6, Se almacena el contenido del AC. jenteinstruccin (2941) de posicién 302 y e incremental PC. 1a posicidn 941 acing pn pecs lel nein eo ue ep a de fg le rf ein pr near coer psn 9 emi maori descends mote cle nice ave coco as de ura deci: a ae de jc dane determiada scion psdeinvoluar dt Ge wa fe cia a mesnoria. Asimismo. en vex de referencias cin menor ‘de referencias a memoria, una instrucci6n puede especificar una inwoduccién eos computadores 17 SISTEMA DE E/S jo, un controlador de bien pede leer 0 escribic datas en apecifico que estécontrolado por a seeveneia de intracciones similar & icjones que hacea referencia « memons. ri etemtinado médulo de B/S. Por 3010, posts pros ide le Figura 14, con instucciones de EyS en vex 0 rrenae casos, es deseabe permite qo tos inferembios de IS se proves Ors acral procesar de a taea de IS. Ea aes ses procesador concede a onizacidn para leer o ese ma de manera que la transferencia ise memoria E/S puede levarse a cabo sini sferencia, el crt de EYS emite mandaios de lecura y escrtare [8 ad del intercambio, Esta operacion, conocid saeagss, DMCA) se examina al final de este capitulo jonan un mecanismo por el cual onto nocmal del procesador. La Tebl iacign del procesador. Tentos que el procestdor. Supén- ando el exquera de cielo de ins- rend traeita de esrlura, el procesador debe para y perma ora rece esis o incluso millones de cclos de instruccin Caramente es ‘apacidad del procesador. ‘esta pause puede ser del orden de sun enorme desprdicio de Ia ‘Tabla 141. Clases de interrupciones Ganerada por alguna condiién que Sx Sen de una instruct, Wslin por et Ing roterencis Generada por un temporzador det procesador. Perma ra funelones 2 frre 9 fare Generads por un ‘ira de paridad en Tororo patiad an enero __—— onal que opersse a 10H, fo que le Wo! Un uipico disco duro tiene una aengn in amen er | concreto, considere un computador pers instruceiones por segundt Pra dar un fa ejecutar aproximadament mise nv damned p00 epee asics aes como, raStaiogcom ten 4700r ® ‘Sistemas oparativos. AspectosInternas y piaclpi de diseho isn ‘que coresponde con un tempo de fo que el procesador aro realiza una serie de Hamada de Dy 3 se refieren avetna como 4 ag, para pre dts de salidsen un br espe metros de un mandato parse disp + El mandato rea de E/S. Sia programa debe esperar a que el Innroguecion alos computedores 18 INTERRUPCIONES Y EL CICLO DE INSTRUCCION interupcions, el procesador puede dedicarse a ejecu levando a cabo. Consider el fujo dec ho esté ocupado aceptando datos de Ia memoria del computador nurrente con la ejecucion de fsirocciones en el programa de usuario, cuando esté preps dispositivo de E/S, jador de Sn original des ndido al i is Figura 1.5b se indican con una X los puntos en los que se produce cada int ceata 40 se puede produci una interrupein en cualquier punto de la ejecucidn del programa prin- Cipal, no s6la én una determinada intrucin rrupei6n suspende la secves De cara al programa de usuario, una sn, se reanuda la ejecuci Cuando se completa el procesamiento de Ia inter tanto, el programa de usaro no tiene que content ning’ nes; el procesador y el sistema operat posteriormente, eanudatlo en: fel manejador de andr ener =/= —__ ——____1 Figuea 16, Transter rpsiones. 20 Sistas operas, Aspectaeinterncey princinos de ceo Fase de nigquede Fase de ecu ase go imerupcién temente cone} uso de imerrupciones, Para aprecia In ganancia en eficiencia,consiere la Figura 1.8, ue es un disgrama de tiempo be- RA antes de que se complet la operacin de E/S generada por le primera llamada. El resultado ¢s que programa de ususrio se queda colgado en ese punto, Cuando se completa la operacin de EIS prece> dente se puede procesar la nueva llamada de ESCRITURA y se puede empezar una nueva operacs de EIS. La Figura 1.9 muestra ellas. Se puede abservar que hey ura ga (que se realza Ia operacin de E/S se solapa con la ejecucin de las insirucciones del usuario, PROCESAMIENTO DE INTERRUPCIONES La aparicin de una iter dispara varios events, tanto en e] hardware del procesador como en el sofware. La Figura 1,10 muestra una secuenciatpiea, Cuando un dspositivo de E/S completa una ‘operacin de ES, se produce la siguiente seevencia de eventos en el hardware: 0 genera una seal de iterpcida hacia el procesadar: termine Is ejecucién dela instruccién actual antes de responder ala interrup- cin, como se indica en la Figure 12. -tneoduction aos cornputagores 4 figure £8, Temporeacén de progeame: espera breve de E'S. erropcin pendine, etemina ie hay so gon pedo fa terri. ES = at de nerve 3. El processor comprosta si hay wna pe ‘una y manda una seit de recon dela siguiente instruccién que s rama Esta informacign se puede aise en ils 8 con- ince 1B), carga el contada dl programa con Ie posicidn el punto de ea- a oe Paar ders interrupcién. Dependiendo f 3 Braye de unerupelon qu responded rend ie a yh deo el sea opera, pode abe ot ae programa, uno por eada tipo de interruph Si hay ms de una ring de manejo ci, Esta informacion pede es cn i seal de interrapi6n origins! o el procesador |. Sistemas operatives, Aspects interno yprncpios de diseno Tengo —__ ® —! ees Pacis stsnes ge realizar una peticién el dispositive que generé Is inerupein park obtener ‘una respuesta que co macidn requeria, {Ena vex que se ba cargado el contador del progrania, el procesador contina con loa insmuccign. que comienza con una lecture de instuccidn, Dada qe a lecture oe Er steiner el contenido det contador de programa, el resultado ws que se wancteny sho sor a Prose mancisdor de intemupcign, La ejcuciin de este programa sonleva ke epee, gram y la SW vinculados con el programa inerunpidy hay otra informa Introdveeion alos camputadores 23 Softare ——. Baageae tclpeese (ren pe = ecuperan los valores (como ejemplo, véase la Figura reanudaci6n, Eso se debe aque Ia intrrupeién noes una rutina Hamada desde el programa, En su lu~ 24 Sistemas operatives. Aspects ators ¥srinchios de dlseho alquier punto de 1 La unidad pods consistir lo d ‘a interpeiones Por nf, cnn se cua un programa de usuario ys prodve una iver gar Si el primer lote de datos no sea procesado 35 datos pueden perderse porque el bufer del dispostivo de EyS puede I Una segunda estategia es definir prioridades para las interrupciones y pemmitir que une intrrup- cid de mis priordad cause que se interrumpa la ejecurién de un manejador de una interupcign de unda esratega, consdere un sistema con i, con prioridades cre= de que llegue el segun y desbordarse, ‘ona prioridad superior ala de ISR de la impresors, se almacena -mente se queda en espera, ye ISR de fa linea de comunicacign se ejecuta hasta su conclusion Cuando se completa la ISR dela linea de comunicacisn proceso, que conesponde con la ejecuciGn de la ISR de ‘que pueda ejecutarse una sola ~~ truoduceidn ¢ les compuradores so veer viene da 9 Reno eine ° ‘elt instruccién en Ia posicién N vain MULTIPROGRAMACION, ax pcs sg in nando ners de geo pro | en Peer, qu demuestra ura me tna oprecién de Ei Jno de eos sim- euta ds progr. U _ e ee ner easials ‘extemo; el otro ¢s algdn 1a Fee doe Sa meron CO Peep que implica mocho cdlcuo. El prosesador Ps 26 Sistemas operativos Aspects interno vprincpias de disoio Prgans Mado ce sews Inept wna} Manejo ineapesinY unin NI Figura 112. Trassorenci de contol con mi ener slide nite un manda de esr al dispositive exemo Efendi pain Cuda ocean on ars gem & ‘que se ejecutan los programas dependerd de su prioridad relat ‘con in esyerands taza ea prac de BS Cuando ineranpe n prota y etre ona un manejador de interrupcién, una vez que se ha completado la rutina del angjador de intertup, Cig, puede our ue nose devia inmedatsmenee consol al prose i suri lat nes eee momen, En liar ecm pade pa agin ao prog on re equ eg an idad mayor. Posteriomeste, se reanudard ef programs de usuario interrumpido previamente, en el momento en que tenga re concepto ‘de multiples programas que ejecutan en tumos se Tiiprosrnseion yao evade ies progrand ae cesomina mltprogransclon sc estuirs tts empezar la 4 EEE Las restricciones de dis trodveeién los computedores 27 Figura 1.12. Elemplo de szevenee do tempo con mills intrrpciones fo en la memri de un computador se pueden resumir en tes Preguntas {oval es su capacided? {Cudl es su velocidad? {Cul es st coste? Gor va ejecutando instracciones, no del coste de aque no tiene Iimite, Si se dispone de una iones que ls usar La cuestin acer= respuesta ni fei, Para alcanzac un rendiniento imo del procesador, Es decir, eatin e procesa- ora haber pausas esperando que estén disponibles las instr Tos operandos, Se debe considera tambien la diima pregunta, Para un sisteme pri is memoria debe sez razonabe en relacié con los otros Componentes. caracerstices Fundamentals dela me~ et momento dado, se utlizan diversas sobre cusnta debe ser su capacidad es algo 1, probablemente se desarollain aplicacs pln las siguientes relaiones: + Cuanto menor tiempo de acceso, mayor coste por bit + Cuanto mayor eapaidad, menor coste po bit. + Cuanto mayor eapscidnd, menor velocidad de acceso. Queda claro el {que proporcionen una memoria de gran ca Jorque su coste por bil PP glsehador necesita wrilizar memorias de capacidad relativamen ripidos. lema al que se enfrenta el disefador. A él le gusta ar weenologlas i gnto porgue se necesita esa capacidad como separa curmplir con Tos requisitos de rendimiento, ie baja coo tiempos de acceso 5 bajo. Sin embar 28 Sistemas operatives. Aspects toes yprinciioe de csero sie nob nu. compan enema eh na jerarquia de memoria. En la Figura Ilse muestra una jerarquia ranula ogee! or 4) Disminuctn el coste por bit. ») Aumento de la capacidad ©) Aumento del tiempo de acceso. ‘)Disminucin de la frecuencia de acceso ala me por pate del procesador. Supéngase que el procesador tiene acceso a do bytes y tiene un tiempo de acceso de 0.1 us: et r acceso de Is. Asuma que si un byte que se va a acoederesté en e nivel Figura 14. (a jecarqus de memoria rectamente, Sin embargo, siestéen el eggerida por el sa la fora gees ces0s e acceso al nivel ly T, po medio que 1 95% de os accesos memoria se eneventan eh 1a cache para acceder aun bye se pusde expresar como: nth 1 “up mi de ie -———— nen dscns ge isla st aie a seo: Figura 118, Rendlmiente do una memeria simple se dos nivees > gape meas cuca te mena i ign, eee cme ac ers AS camden acess wntenensneoi 8E, 30 Sistemas operatives. Aspects intemos y princpis de sho Jo tro, a propscions que se exh usando van camiando, pero enn prod coro, el poset Tea andpatente eben con prpos fos de reereneas a memor sees Por consiguiente,s posible organizar expt feria mayorade ase Exe principio se psde slic mt ce os iveles de memo. lp de menor mf suciay 2 nr ros iron da posed Nara pena ole Jst0s, aznque algunas méquinas conienen cienos de resists. ies el sistema de memoria itera fundamental ine a programadoro, inluso, al process Se tara de und 7 or. Se trata de un dispositive que conrola el movimiento Ge datos ente Ta memoria principal y ls registra de procesador con objeto de mejorar el rendimienco. Las tes formas de memoria descrtas son, normalmente, voles y emplean tecnologia de semi a span pete acceso on wr de indo se accede al disco. “ ice 1A estutiaIas implicectones en el rendimiento de las estructuras de memoria de a operaivo, interact con 0 ‘usados en ls esquemas de me- Introduesibn alos computadores 31 ‘Morivacion nals, para ler y/o almacenar ls 5 nsceiones est claramentelimitads po procesador rmenado constantemente de for encuentra con un compror retort prveipal con a misma tecnologia que la de os registeos pos de clo de memoria comparables alos Hempos de ccto dtp festlado demasiado costs La en aprovecharse Tonnes an memoria pequeta y sida ene el procesadar y a memoria principal FUNDAMENTOS DE LA CACHE cache es proporcionar un tiempo de acceso & memoria primo al de as un tara de memoria grande que mora, ge hace una comprobacin pars determing ‘Dye enh er Ix eae, Sies ‘yte al procesedor. En caso contrat, se lee in~ Seite ee ofe a ache un blogue de memoria principe, que const. de wn cleo nmero fo de 1 Mele eatega e byte pedido al provesador. Debldo al fenémeno de ad de reer and se lee eitrroduce dentro dela cache Meferencia de memories probable que muchas las ‘Guando el processdor inten le La Figura 1.17 cepreser principal const de hasta 2° Bits A efectos de cores era que: Es deci, hay M= 2 fambién leas) de K palabras ead 90 admero de bioques dela memoria principal Intvoduetién a los computadores 33 32 Sistemas operator. Aspectosinternas y principio de dso ria Vil y & a cache de disco. Se i sspectos de diseo similares al ratar el siseo de Ie den elas siguientes categotas + Tamano de la cache, 1+ Tamate del Bloque. + Funcign de comespondencia + Algoritmo deremplazo Algoritmo de empl t sade esritura Se ha traado ya el tema del tamaio de la ca ‘un tamafo razonabfemente peqoetio puede tener 0. ‘La Figuea 1,18 muestra la operacign de lectura. El procesador genera fa drecci6n DL de la pala- Iva. que pretend eer. Silt cache conten a palabra, se la entege al proceso. En caso conto, stain ache eBlog ue contin pal, poprsennd procera Fara tiorekna er geen erie dase a anos mayoral pep a8 arenes amet ede al pincpio do DISENO DELA CACHE proimidd: I a oe er ecsan ene fur medio a ox datos que esti eo Ia o a tia qo ha hecho referer, Seg se icremera cama ge Woase, ( Jo del dseo de a ache queda fuera dl sleance de ese libro. A contiuaci, se evan a cache nds datos les st deaceros comerzaré a dececer cuando el “ le que hay que afontar rman del hloque sigue ereciendo, ya que Ja proba ver a usar Ios datos recientemente ‘ 1 fos elementos fundan ss a Bloque ( || Ph aiecionde ¢ a} Bloque C > pins) ef pee ‘pocede ola memoria is Sealed ieee ‘k palabras) ————> . ‘ (=) Cache : Cyaan ] i ( pr Seeks ‘ ( Pa ] [ ( a eps leas) ‘ (6) Memoria principal ( Figure 112. Estucure de caenenos pra rigura i, Opetan de cra de cate : 34 Sistemas operatives Aspetos Interne yprneipios de diseio nace menor gue Ia de ‘al nuevo blogue izar nuevemente los datos que se v sa expulsar dels cache para sign de correspondenci inar si un bloque da bee prod mente wsado (Least Rec que menos recientemente ninguna sefecencis 4 . Esta police se denomina Used, LRU). Se necesita mecinismos ha do are para identficar el blo se aliera el contenido de un blogue en ls cache, es necesaro volvero escribir en Ia memoria, principal La politiea de esertura dicta cuando tiene lugar Ia ope itu en memoria. Una al es que la esritur se produzca cada ver qu se realicesélo cuando se remplaza ra en memoria peso deje Ja memoria pene eric con el modo de operacién de un multiprocesadar y con el 1 por log meédulos hardware Ge E/S Hay tes senicas para evar a cabo las operaciones de ES + EIS programade + B/S dirgida de itemupeiones. rect Memory Access. DMA). tucsion sles eomputadores 35 Con esa véenia, et procesudor es responsable de extrac ‘operacion de sald y de almacenarls en ella en una oper ene de maners que el procesador eject layendo comprobar el categories: var un dispositive extemo y especificarle qué debe hacer. Por fe puede inicar a una tnidad de cinta magnética que se rebobine © avance un + Control izadas para comprobar diversas condiciones de estado asociadas « un médulo de i fo escribir datos ene lo registos del procesador y los de da. ‘La Figura 1.192 proparciona an ejemplo det uso de E/S programada pars leer ea tun registro de ci facenaro en mem wor do undspstvaexerno cca palabra palabra (bree paar ue es ee Pa ads compobecn del estado haa qu dterina que palabra est ispont a de flujo subraya las desventajes princips- jque mantiene al procesador de HIS. Este di Jamiar") CPU-2 DMA fem tin s Lima ion Mas cru Set aio are [essere cru menor (crv memes un bloque de 08 36 Sistemas operatvos, Aspctos interne y principio ae eeeho E/S DIRIGIDA POR INTERRUPCIONES El problema de la E/S programada es que el imédulo de E/S correspondie dor, mieneas est esperan mano de ES pan dl tee ses pus ci a edt come anes) dep ear poss Considere e6mo funciona es va, primero desde el punto de vista del médulo de ES. 10s de un peifricoasociado. Una vez que los dates ‘mdulo genera una interrupcign al procesidor a trav ces espera hasta que el procesadorpida sus datos, Cuando (0 pata otra epersci6n Se hace [a pete abs Desde ef punto de tura son las que se de 1 igre 90 mara odes eos ines pr eu Baur dats 12 iin por emcees mi ef gi 8 pogo geen era esa: Sh nt ES dig eet dav oman ma ane & iio sha manera ibe para waves el rseaio Ne SS Gee scale, he hips is nn conor loge sein sree om ue ear sume pc mein) nea tendré una prioridad difer re a ee espn sr dain dient ACCESO DIRECTO A MEMORIA 1a BS difsid por interop 1a ES dia por ftemupones, aunque més efcenie qu i ES programa simple, todavia r- oR M nenetin sina dl pacer pas wf as eae mena yu ml de 5, let asec ee aa nein vst parca Per Inirodueciona os computadores 37 Jocidad con lage el procesador puede fpr la ¥ ofrecesle servi ‘ena gestion de una tansferencis de E/S; se deben ejecutar sferencia de EIS. 1. Latasa de wansferencia de E/S comprobarel estado de un disp 2. El procesador est invotwerado ‘arias insiruceiones por cada trans randes volimenes de datos, requier Access, DMA). La funcién de DMA aids enw ‘o escribl «+ Sise trata de una lecura o de una escrta + La direccin del dispositive de BIS involucrado, «+ La posicgn inicil de memeria en fa que s& des «+ Elindmero de palabras que se pretende leer 0 fa con otro trabajo. Ha delegado esta ope ime, El médulo de DMA wansferiré cia Ia memoria d desde ella sin pasar a1 i involucrado al principio y al final de ‘A continuacién, el procesador 60 al médule de DM. 4 de datos, pal ‘el procesador solamente est gua 1.19e), “I médulo de DMA necesita gmat el conirl del bus para transfert Gatos hacia Je NET? tose st ae bata competeniaen el uso del Ds, puede habe veces ens gs <1 prs desde ele, Debio be eapearal do de DMA. Nose que eo noes. un inerypere el $e ccdor no salva un contexto y pasa a hacer ova cost En ag 3h fprocesador se detene du- Proceso, ae el uempo ques ard en wane una palabra a wavés del bs) 09 ‘Jabal ca causar que el procesadorejecote més entamente Gar 8 ttansferencia de DMA en ae cr arscesndosrequera acceso albus, Sin embargo, pera une anseencs E/S de hea of gran el DMA es mucho més eficene qe Ia E/S dings por Ierupiones © a programada {el procesador. ransferencia (Fi jo. Ademés, hay muchos oes libros sabre argu sos fs notables et os siguientes TPAT O98. Me un libro is avanzado que enfatiza 50 los temas de este ide computadores. Entre los ‘de Tos mism0s autores, Approach. Sen Mat HENNOZ Hennessy, J, y Peterson, D. Computer Arcitecture:A Quantitative ‘CA: Morgan Kaufinann, 2002 [STALO3) cubre en det tecruray organizacién purtoe pverson Day Heqresy J. Gomputer Organization and Design The HewarSonate be we ssce Sen Hate, OX Morgan Kaufmann, 1888 rw. Computer Organization and Aritecture td Upper Saad Fiver, NI: Pre 38 Sistemas operatives. Aspects internos y principio de ‘SITIOS WEB RECOMENDADOS + sh Comptes Arehtectre Home Pgs Un es plo nomi ea Jur os imengaores en smectie de comptes inuyendo grupos ypoyoson de iceur epaneconesWaic,bbigeafa empleo inomacn come + CPU Info Center Iforsibn sobre procesadores espe Sinton de pour) oe dines nuns 30 direto s memoria (oma) | marco de} cache pntero de memoris principal puntoro de segmento ecunderia médulo de ES sultiprogramscisn pila procedinlen procesador proxies ‘unldad contrat ce proceso (CPU) ided espacial (CUESTIONES DE REPASO 1.1. Baumerey detina brevemente los cuatro elementos principals de un computador. 1.2, Defina las dos categoras principals de los registros del procesador. 1.3. En términos generales,ceusles son las cust srergat generale, ceusles son las evatto acionesdistntas que puede especiicar una Le {Qoées tna inept? 15 {Comoe ate mips nemapions? 16. Qué caters dining ‘ et dint os divers elementos de na jenn de memoris? 1.7. {Qué es una memoria cache? Fes ge memory 1. numer defina evenent tn wets pals period 1.9. 2Cudl es ta. ae 110, Fnac Invoduccion sos computsdores 39 PROBLEMAS. 1.1 Soponge gue la quinn ipottic de ln Figura 1.3 ene también dos istueiones de B/S 0011 = Carga el AC eon un valor ldo de un dispositive de EIS O11 = Almacena el AC en un dispositivo de B/S En estos casos, la direcein de 12 bits identifics un determinado disposi tre la ejecucién del programa (ilizando el formato de ¥ suiente Fragment: 1. Carga el AC con un valor Iefdo del dispositive 5. 2. Suma al AC 2 eontenido de le posicia de weaorit HO. 3, Almacens el ACen el dispostivo 6. 44 Asuma que el siguiente veloc lefdo del dispositive 5 es 3y que I el valor. 1.2. La ejecucn del programa deta Figura 1.4 se describe en el texto uslzando seis pasos Traade est deseipein para mostra el uso del RDIM y del RDAM. osicidn 940 contiene 1.3, Considere un hipoético micropracesador de 32 bits que ten instruciones de 32 bis com: tae de dos campos el primer bteconriene el e&digo de opeaci y el resto un ope- Pando iamediato ola ereccion de un operando. 2) Cuil esl mfxima capacidad de memoria drceameat dessionabl en Exes? 1) Eataiee impacto en Ia velocidad del sister dependiendo desi el bus de micropoce sador tiene 1. un bus de ditecciones local de 32 2. un bus de diecciones local de 16 bits se nevestan para el contador del programa y para el registro de instruc yun bus de datos local de 16 bts © Jy un bus €e datos local de 6 bits. ©) «Cuintas que genera una dreci6n de 16s (por elem, 1.4, Considere un microprocesador hip * iusistos de direceida tienen un ancho de 16 Bits) asuma que el contador de program y J ave tiene un bus de datos de 16 5. 4) {Cuil es el miximo espacio de dreccions de mem icherdirectamente si se conects & una amemoria Ge 16 bits»? by gCuil os el mximo espacio de eirecciones de memoria al que el processor puede #- aor directmente si se conecta 2 una «memoria de 8 bits»? ©) gQue ceracersicas arquitectnicas pemitrin a este microprocesador acceder & un “espacio de E/S» separado? 4) Siuna instruccin de entradas bits, gcusntos puertos de E/S de de 16 bits? Rezone la respuesta. 52 bits, con un bus de datos externo & 16 bits fh por un cele) de entrada de 8 Miz, Asuma que est microprocessdos bus euya duracién minima es ig elo] de enteada, {Cul es ee cncia de dats maxima en el bus qe este miroprocesadar puede mantener medi) areal? Pea inctementar su fenimieno, seta mejor acer que su bus. de datos © po tenga 32 ada al microprocessor? a al que el procesador puede ac- ida puede especificar un aimero de puerto de B/S de 8 ' bits puede manejar el micropcocesador? CY cusntos 5. Consdere un microprocesador de Sistemas operatives. Aspectosinernos y princpios de seo ualquier otra suposicién que se realice, razonando la misma, Sugerencia: deerm era de bytes que se pueden transfer por cada ciclo de bus cng ine ni ES son directamente con el bus del * . RSAL: Registro de salida, 8 bits INE: Indicador de entrada, | bi impresom. Ht ¥ descodificar se activa cus ipo. El indicadar de sali- es capaz de codificar un tuna palabra de & bits en un simbolo se seduce une pal ‘enel registro de entrada del a se activa cuando ® imprime una palabra ta CPU, ulizando ie cuatro primers registros enuinerados en este problema, pede realizar ES cone} pene Fe vere 1) Deseriba oémo se puede realizar més efcientemente la funcién empeando también Des Js fncionerpiendo tabi 1.7. Bn prctcaments todos los sistemas que incuye 7 ioe Fidad alos acceso del mdslo de DMA ala memoria principal que alos acesos del peo- ‘ad oxo Drineipal qu alos secesos del 1.8. Un méduilo de DMA estétansfriendo earacteres al io caraceres a la memoria principal desde un disposi- tivo extemo tansmitiendo a 9600 bits por segundo (bps). El procesador puede ler insu clones a una velocided de I millén de instrucciones por segundo, ;En cuanto se ralentizard el procesador debido a Ia actividad de DMA? 1.9. Un computador consta de una CPU y un dispositive D de E/S conectado a la memoria principal M mediante un bus compartido con una anchura de bus de datos de una pa- ‘La CPU puede ejecutar un méximo de 10° instrueciones por segundo. Uns ins- truccidn media requiere cinco clos de méqu 5 icles utilzan el bus de ‘memoria. Una operacién de lectura o esei un cielo de méqui- que 1a CPU esté ejecutando constantemente programas en segundo pla- ‘que requieren el 95% de su tasa de ejecucisn de instrucciones pero binge insirccion de 1S. Asuma que um ciclo de procesaor egal aun ilo de 98. Ahora suponga que se tienen que transferir blogues de datos muy grandes entre wea 4 blogues de datos muy grandes ent 1.10. Considere el siguiente cédigo: for (i= 0;1<20; i++) FERRE oes aoe nes Yioduceién alos computadores 41 lo de proxiiidad espacial en el c6ig id proximidad temporal ene] c68i20, ice 1A para jerarguias de memoria de 8) Proporeione un ejem iporcione un em 1a, Generelt euseiees nivel 112, Comsidere un items e memoria con fos siguemes parts 1.= 10088 ¢.=001 cfainostit T= 120008 +0001 eénimosi 4) {Cutlesel coste de IMByte de memoria pri +) {Cues el cose de IMbyle é memariaprincipl ‘cache? tiempo de acceso efectivo es un 10% mayor que et fs Ta tasa de acertos A? po de acceso a 1a cache, yun isco wsdo pare sen 20s preset Sesto vs panera en ncace (50 one cin. Ia re carers me oop encore y Weg 5 sd incace es 09 adele memoria pri ipra cee aa ple ee LB. as ravo. Slap rs ple el ico ui de 60 aa erst avec. La asad cies ce uf es el emp medio eS Fess soon iza uni wadas a procedimiemto ¥ 4 Son l pcsr a sexi ve amo condo de ova? awe : sincpal pul, ex hace etre cate q at coo serene a memoria pil En cpl pen mer de or ves Esa es Hs : vo a ura memoria de un nivel equiparble,explotando una Coma un rendimiento mejorado con respect , > C, $6 require que M, << Mi, La Figura 122 mues- wafer Seguiamente,considete el empo de acceso, Par que una memoria de dos nivelesproprcione una mejoasignifialiva de rendimiemo,s© necesita tener T, aponimagament igual «7, (7, = 7) oad que 7, e macho menor que T,(Z, ce.) se necesita wna asa de scienospréxima a iene, se pretende que Mi sea pequoia para nnener el cost aj 10, por tn, ef endente (0 hasta un punto razonable? Se puede responder esta cuestin mediante una serie de preguntas adicional + {Qué valor de fa tase oe acias se necesite para satscere ea + Qué samafio de MI ssegurard Ia tasa de aciertos requeida? de coste? de renimiento planteado? + Satisface est temafo el requis asleep a 46 Sistomes operatvos. Aspectos Interos vpricipos de dso (xe) 100 Cone combiner) (10) Para responder a estas preguntas, considere la cantidad T/T, que se conoce como eficiencia de ‘acceso. Es una medida gue refleja hasta qué punto el tiempo de ssceso medio (T,) est ce pode accesa de MI (7,). pair dela eeuacion a de asad aces con ln cand TT fehna asa de ce snl iervlo 08 409 par ssc el requisto de rendimieato. En este momento se puede expresar ms exactamente la pregunta sobce el memoria. (Es rezonable una tasa de asiertos mayor o igual 0,8 para D, << D,? Esto dependess de varios Factores, incluyendo las earacteritics del software que se est ejec ls, evidentemet Tos elementos de M2 estin también en MI y In tase de se 05. Sin embargo, en le prietica, hay agin grado de proximided en tes referencias. En la figura se Efcieca de seceso= 147, oot 01 Figura 123. sa delete Introduceién a los computsdores a as 06 os “ase de acertn = Eeioncia de aceso en funaibn de a tsa de aiertos = TY a7 48 xe pequeto. Pore na asa (por ejemplo ajo entre 1K y 6. TAGARSS], [PRZYS8). 8K palsas es gene aie relativa de las dos solo una memoria de ni- medio por bit de Tos Un eric habia para conor eur do y los retormos de los ‘mismos es ulilizar una pila. Este apsndice resume la propiedades bisicas de tas pls y revisa su uso paral contol de procedinienos. rropeddes bss dees iasy IMPLEMENTACION DE LA PILA Una pia es un conjunte ordenado de elemen de uno dels (mis reetement ime de elementos dl pil, onost como una iad planient ol ero gue sale (Last. nar ch iplementacign de una pil require qu haya un canuno de porcones dedieado Se tes est parcial P i y el esto estd disponible para el crecimiento de la pia. Se nevesitan tes ditecciones pars un funcionamiento adecuado, que habitualmente se almacer en regstos del procesadon “8 tment sealmasenan + Pantero de pila. Conien la elireecién a cima dela il a irecign dela cima del pila, Sse aiade un elemento (APILA) © se elimina (EXTRAB), el puntero se decremenao se nerementa para contener le dec de fa nueva cima dela pla , wae la. Contiene Ia direc de fa posicién inferior en et Bloque reservado. Se tata pila vacta. Si se hace 12, del bloque reservado, Si se se indica el error Inurosuecién soe compuredores, 48 mse as a 1 | x ao Loe oe (Teta gil nena Figura 125. Orgerzecién habitual de ls LLAMADASY RETORNOS DE PROCEDIMIENTOS 1 las amadas y 10 retornos de los procedi Ja dreei de retoro en api na (extae) 53 i Cuando se ejecuta un retomo, se reccign dela pl. La Figura 1.27 ‘dos en la Figura 1.26. Es también necesario con frecuencia pasar pa podrian pasar en los registos. Ora posibilidad es buds de fs instrucciones de larmada, En ese ca pardmevos. Ambas Soy el que realiza Ia llamada deben esribirse de manera que tapropiadamente. El almacenamiento de parémeiros en menor viral de pada. ‘Una eases ms flexible para el paso de pastes es pl. Cuando el proceador cata ar retrain ambien oe pret qu = desean pasar al procedi into invocado puede acceder & los pardmeiros en Ia pits. Ales Tema, lou pareve de retro se pueden devjo ds ia decion de retomo. Et conjunto completo de partes, eo, ques almacen en tn inocu de procedimieto Se denoraina marco Pl procedimiente. Estos se memoria justo des etorno debe estar en Le posicion sigui izan los regst0s el program segure que 0s registos se witzan feccambiar us ndmero eros en una lamad 2 i hace difcl empl se reir un rceimiento Pen e que se Ena Figura 1.28 se muesiraun ejemplo. El ei eclaran las variables locales x1 y 22, y el procedimiento a ‘Variables yl y 72. El primer elemento almacensde en ca frinepio del marco previo, Esta técnica se neces si el mimero 0 {Q, al cual puede lamar Py en el reo de fongitud de los pardmetros que 50 Sistemas operatives. Aspects intrnos y preps de diseso Deestines — Memada ppl ‘#0 4 a 4 Pi “9 ist ia | LLL (Uta y eos Figura 126. Procedimiantosenidados. ip (Sepa ctcaata mt a lasiguiente: LLAMADA Qts)) (Cuando se ejecuta esta lamada,s¢ eres un nuevo marco de pila para Q ae P vane RETORNO imientos anisedos ds Figura 126 ble 1. Por tanto, en un lenguaje de elt nivel, habris una instrucci6n ae la ria P sil ura 280). que inelu- sara Q. a Irtrodueeién aos computedores $1 Patna 3 izando los procedimientos do oamelo Py otra variabe focal emente a po Q ens Sead de nla lus variables locales eae masco de pil PROCEDIMIENTOS REENTRANTES ‘permite un uso més fel codigo del programa en memoria principal. pero ms de una 9 ueante debe tener una parte permanente (las instrucciones que se temporal (un puntero de retorno al ied rmarete pero Jal ascii con antes es mediante una pla del procedimiento se puede CAPITULO 2 Introduccion a Jos sistemas operativos Obletives y fur 22. La evolucién & 23. Principales logros sistemas operatives modemos 24. Desarollne que han levado 25. Descripcién global de Microsoft Windows 26. Sistemas UNIX tradicionales 27. Sletemas UNIK modemos 28. Linux 29. Lecturas y sitios web recomendados 54 Sistemas operatives. Aspects Interas yprncpiog de deeno POOH EH OOH o eee ses ee sees Hoees Comanzamos nusstro estudio de los sistemas operatives con una brave historia. La historia es into- fsonte y también por Ua primera seccion ‘muestra como an Vibro. Todo el material de est capitulo 20 cubre en mayor profundised en SOHO O OH HOHE H Heese ee eeeoeeeees PEE ee ins aplicaciones y ef hardware del computador. Se puede consi- sistema operativo s un programa que controla la ejecucin de aplicaciones y programas y {que acta como inter en derar que un sistema operativ tiene los lentes tes objetives: ta et uso de un computador. te que los recursos de un sistema de computacin se sma operstive se debe cons puedan desarrollar, proba e introducir nuevas funciones en el ji de tal forma que se sma sin interferic con su Sevan examiatr en orden ests tes aspectos de un sistema operatvo, EL SISTEMA OPERATIVO COMO UNA INTERFAZ DE USUARIO/COMPUTADOR Et hardware y softvare izados para proporcionar aplicaciones a los usuarias se pueden verde fr ‘na erirqucs oen capas, tal y como se muestra en la Figura 21. Blusuato de dichas aplicaciones, es eci,l usuario final, nomalmente no se preocupa por los detalles del hardware del computador. Por ‘oto, el usuario final ve un sistema de Pomputacién en terminos de un coajunto de aplicaciones. Une junto de instruceiones en edigo méquina que se encargaran de cor el computador, enfrentaria a una labor extreriadamente compleja, Para filitar esta tarea, se Pr porcionaa un eonjunto de programas de sistema, Algunos de estos programas se conocen como ‘fades, Estos programas unclones que asisten al programador en las fases de Programador ys In aplicacién el acceso y uso de dichas utilidades y servicios. De forma revmida, el sistema operativo proporciona normalmente servicios en las siguientes istema operative propo lidades y ser- Vicios, ales como editres y depuradores, para asistr al programador en la ereacién de los Ineroduecin to Progra Figua 22. Cepaey vistas do un sistema de computa programas. Normalnente esos evils © ofecen ene fomna Posen parte del nicieo del sistema operatio, se ofrecen con ‘Como hetramientas de esarollo de programas de aplicacin. ecuein de programas. Se neces reaiza uma sre de pss par ef Peers iss datos se deben cargar en memoria prin ipa Los isposi vos ae Eas instucciones at, y otros reeutsos deben pre feaion en nombre del usuario. so contrat ero. Par ef 6es0 2 arena conprnsen etaliad sed sd ara erent de datos cones ser aot eel eo un sea. cOn pecans protect acon os, ess os Ua acs ys date evan 8090 fences de ent 8 wees _y respuesta errores, Se ee putaciSn. Estos incluyen ecrores de hard un fallo ex un dispos nto de seceder a una posen tapacided el site operative gara conceder Isso u es propio coa)ont 9 stoma operativo proporcions una ‘programadores puedon acceder a ritvo: ¥ diferentes errores sofware wos 85 in des que, aunque no 0 sistema y se caocen un program. os de EIS y opeativo coo clade ase be Po. road dos Sos lad de erores dura a jecuciba internas y esters femora potibida ieacién, En cada c3s0. et Intoiueion a lor sisemes aperativs 9 56 Sistemas operativos. Aspects interne yprinsbios de aieehe ema de computacion EL SISTEMA OPERATIVO COMO GESTOR DE RECURSOS Up computador es an conjunto de recursos que se wizan para e sranspone, almscenamis cesamiemto de los dato ‘vose encarga de gestionar estos Se puede de Ta respuesta es afimaliva:g eador. el sistema opecavo tiene ef sono! de las funciones bees del misma Pero este comme gestor ds recursos. Figura 22. El slstema ope + Las funciones del sistema opertivo sma forma que el set del sofware; es ir, se rata de un programs 9 conjunte de programas ejecwiados pore! proceseder. ( programs 9 cor Hesueados pore FACILIDAD DE EVOLUCION DE UN SISTEMA OPERATIVO * i sneia operative fecveremente cede consol y depends dl procs lver a seiomarto, Un sisteme eperativo importante debe evolucionar en el tempo por las siguientes razones sneoDe Netosel sista operatives un conjunt de programs, Como ove programas, rogrcona ara qu el proces a procesador que teclice cabo esto quedarén més cla frafico normalmente permite at so de aventanas» cn la pantalla. Esto requiere una gestén més sof sma operat, + Nuevos servicios. En Ios gestores de sistema, ‘petativo debe ofrecer nuevos ‘mantener un buen rengimiento con las herramti pee on sa operativo nuevas herramientas de medida y cot un Sispartivo de de las aplicaciones requieren clones importantes en et ‘To largo det capitulo. 2 2.2 muesie los principales recursos gestion operative se encue iones det ‘otras parciones del sisemta operative actualmente en t80. El programas y datos de usuario, La asignacn de este reu ro soporte ventanas 4 fallos. Eso fallos se desvbren: (implica la introduccign de nuevos falls. cin de un pogma debe sem po ods + Resoucin de ftlos Cahier sister ope tans del ierpo ye resveie. Por sues usuatio parila Enel eas de los processes: Sisemes operator. Aspates intenos y principe de disano La necesdad de cambiar replarmente un sstems operative iniraducecieros requisites en su di seo, Un hecho obvig es sma debe tener un disefo madar, con interfaces entre los méci Y que debe estar bien documentado, Para programs grandes, tl como el Contemporineo, llevar a cabo una modularizacién sencil requisites claves de un sistema oper ‘contompordneo, es stil considera Ia evolucis de los sisters PROCESAMIENTO SERIE eros computadores, desde finales de los aos 40 hasta mediados de los aos 50, el po Aipostive deere y uns npesor: Los programas eee de tarjetas). $i un eorprovocaba la pat forma normal, [a sali aparcia en Is impresore. Estos sistemas inciales presentabar dos problemas preipaies podi tener problemas, tes de resolver el problema, + Fiempe de eosfiguracién. Un Gnico programa, denominado trabajo, posta implicar la carga cen memoria del compilad rograma en cédigo funciones comune. Este mode de operon puede dena acceden al computador en sri. tas de software de sistemas con el fin de realizar el procesamiento serie mis eficiemte. Estas hera- ineluyen bibl enlazadores, cargadores, depuradores, y rutinas de gestiin de EIS cisporibles cama sottvare comin pars todos fs usuarios SISTEMAS EN LOTES SENCILLOS Las primeras méqulnas ean muy cares. ¥ Bo po malgastado en Ireouecién istemas operatives 59 Para mejorar eu uilizacisn, se deserol6 ef concepto de sistema operativo en loves. Parece ser ‘que el primer sistema operativa en lots (y el primer sistema operativo de cualquier rrollado a mediados de los aos $0 por General Motors so de un IBM 7 cxpto fue subsecuent se clientes de 5 operatives ma operativo de IBM para los computado~ tes 7090/1094, es particularmente notable por su gran inflven: aides contra) del computador, que de trabsjas en dispositive de entrade, su protesamiento, devueve el cont el siguiente programa, ara comprender eémo funciona este esquems, se puede a 1 del procesador. cl programa de usuar ‘uno 10s trabajos ie, (por ejempl, ana impresara), pace entregae~ Frcccnieande Figura 23, Disposicién de memoria do un monitor resgente 60 ernos yprncpios de cseho Sistemas operatives. Aspectos + Punto de iste del processdor. ra punta, et procesador efecucx faseueciones de te zona de memoria principal que eontene el monitor. Estas instwcciones provocan que se lea el abajo y se almcene en otra zana de memoria principal, Una vez que el abajo se do, el procesador encontard cin de saligen el monitor que le indi cesador que continde Ia ejtcucién al tjecutard las insiucciones del programa usuario hast gue encuenre una con tacién o de error, Cualquiera de estas condiciones hace que el procesadorejec instruceién del programa monitor, Pr tanto, la frase «se pasa conto 3] trabajos mente significa qu el procesador ler ejecutardinstucciones del programa de ust frase se cevueive el control al monitor» indica que el procesador leery ejecutaré insttucio~ res del programa monitor al format pi radu ipo eapica de legs de prosranasin iad Para oun progam os por el po jo inlay isresines ce el smal 'S EL amiento (normalmente un ‘ual se almacena en memoria en el sistema de almacena I operacign se denomina scompilay, carga, y ejecular. Enel caso de que se almacene en ruceiGn y recupera el dr, que exiza el progrs- De esta forma, se puede ‘sJecutaren un momento determinade, secacén del progama de wsvaria, cualgulerinsirucin de entada implica a ectura La istucln de entrada del programa de suaro supe la invocacin de una "wwe forma parte del sistema operative. La ritina de entrada comprueba que el pro- Intodvecion aloe sistemas opersives 61 imird un mensaje de ear y carparé el trabajo monopolies el sis: 2 un temporizador para evitar qu ‘emporizador expira, se ‘el tempotizadar al comienza de cada I para el programs entra ej transfiera al desea realizar operaciones de YS, debe les no tenfan esta capacidad. Esta carae- dad para dear y retomarel conto des- fe los programas de usuario. Ciertas considerations sobre la poteccn de memoria y las insrucciones privilegiadas leva concepto de modos de operacisn. Un programa de usuario ejecuta en modo usuario, en el cual Jos usuarios no pueden scceder 2 ciestas dreas de memoria y no puede ejectarcieras incacciones. ‘monitor ejecuta en modi sisiema, o lo que se denamina modo nile, en el cual se pueden ejecutar instruccianesprvilegiadasy se puede acceder a teas de memoria protepida, Por supuesto, st puede construir un sistema operativo sin estas caacteristcas, Pero lo fabrican- tes de computadores rdpidamentes© dion cueata de que Jos resultados no eran buenos, y de esle modo, se consinyyeran Sistemas operatives er ots primitivos con estas carsctensices hardware. cn Jtes, el tiempo de snfquinaaltemaIs.ejecucién de programas de Con un sistema operat usuario y Ia ejecucia de principal y consume parte del dempo de Sarde esta sobrecarza. el sistema en loes simple mejor SISTEMAS EN LOTES MULTIPROGRAMADOS I procesador se encuentra frecuentemente ocioso, incluso con el secuenciamiento de trabajos av- tomitico que proporciona up sistema operaivo en Joes simple. El problema coasisie en que los ispositivas de E/S fon lenis comparados con el procesador. La Figura 24 detalla un edleulo re- presentatvo de este hecho, que corresponde a un programa que process un fichero con regisirs y 62 ‘gama, o gue se de tes de continua. deel fiche Figura24, Elemplo do uiizacién cl Progam Ppa Ccmbinde Prune Popa Pog e canine re. La Jina monoprogramaciéa, El procesador {que aleanza una ininuccign de E/S. Entonces debe esperar que i ee ve epi dl kes 1s stron era eo Figura 2.52 mues fo tn on tee ae ove ee el ee el Ep {91 Meprapamatrcon ds eps ewe ft efoto Introduecién alos sistemas operatives 63 tase. Se sabe que existe suiciente memoria para contene Supéngase que hay es abajo necesita esperar por Ia PIS. se Esta ineficiencis puede ‘© més programas fconoce como multiprogramacién 0 mu moderas, ara mostrar los ben ‘computador con 250 Mby’ simos de procesador para sy disco por parte del uabajo TRABAJOB. En un entomo por ltessencilln, estos ta tarén en secuencia, Por ta TRABAJO? esperaré El trabajo TRABAI viado, La media de columns de moni sgora 2.6a. Es evidente que existe una peeto al periodo de 30 minutos requri ‘Tabla2.1. Atributos de ejecucién de slomplos de programas TRABAJO 1 ‘TRABAJO 2 TRABAJO 3 “Tipo de erabeio Computacion pasade GranantidaddeS Gran contidad de E'S Duractén minutos sSeloutes som 000 No No of No si No No No si Tabla 22. Efectos dela cién de recursos sobre la multiprogremacién. Monoprosramacfon ‘Muttiprogramacién Uso de procesador 20% 40%, Uso de memoria 33% ore Use de dieeo 30% ore | Uso de imp 33% ork 30 transeurride ‘0 minutos ‘Sminutor hore bajostara tos a minutor Product “Thampo de respuesta medio 64 Sistemas operativos, Asctos interes yprinibas de aseho ma operativo mejecutar cas npo de procesador para mantener so TRABAION todavia requerié 5 minutos pare 'RABAJO2 habyré completado un tercio de su abajo y inatos. La mejora es evidence al ido del histograma mosirado en ccompletase, pero TRABAIOS la extminar la coh Ia Figura 2.6, ware del computador. La caracteristica adicional més ‘el hardware que soporta las interrupciones de EAS y remia). Con la ES esticnade através de inte procesador puede ‘iedaro de E/S para un tabajo y contnar con a trabajo mientras el del dispositivo gestiona dicha operacién de EIS, tel procesador es intrrumpido y se pasa el control oun progre- “al sistema operaivo, Entonces, el sistem operatvo pastré el cados, comparados con los 3s deben guard Los sistemas operativos multiprogramados son basta ‘mas monoprogramados. Para tener varios trabajos isos para ejecut ‘ota prinepal. equirendo alguna forma de gestion de memoria. A ‘estén lsios para su ejeeuida, el procesadar debe decidir cust deel tn algortme pavaplanificacin, Esos concepts se diseuten mas adelante en ete cx SISTEMAS DETIEMPO COMPARTIDO procesumiento en fotes puede ser bastante eficient. Sin em accion di no de tan- ‘Con el uso de Ia multprogramaci ‘argo, para muchos trabajos, es devesble proporcionar un mado en el eu el uswario rectanente con el computador. De hecho, pra algunos trabajos, tl eomo el procesami sacciones, un modo interactive es esen Hoy en da, los eomputadores persontles dedicados o éstaciones de trabsjo pueden cumplit, y fie~ cuentemente Jo hacen, los requisites que necesita una uilidad de computacién interactiva. Est 0p- ‘ign no esta disponible hasta los afos 60, cuando la mayoria de los eomputadores eran grandes y costosos. En su lugar, se desaroll6 el coneepto tal jrocesadorgestonar milples trabajos en Totes en un determinade tempo, la multiprogeamacion también se puede wilizar pare gestionar r= ples trabajos interactives. Ea ‘técnica se denomina tiempo compartido, porque = Compare el tiempo de procesador enire milipes usuarios, En un sistema de tiempo compasio, jstema a través de terminals, sends e sistema ope- (decade programa de usuario en pequetios intervals de sSo un servicio ala vez, Ta sobrecarga lento de ar al de Del mismo mado que la multiprogramacién per ‘ative el encargado de entelazar la jet tiempo o cuantns de compuaciGn. Por tanto si hay 7 usuarios actives sol cada usuario slo verd en media I/n de le capacidad de computaién efectva, sn con Sntrodvcida pore sistema operative, Sin embargo, dado el tiempo de reaccin relativament po de respuesta de un sistema diseRado adecuadamente debera ser si un computador dedicado. Ambo pos de paces en os emp crpei, wan utiprgramscion. 18 8 Tabla23. site vere Inviodvecion a fos atemes operstivos 6 Figura 25. Histopramas de utiescion, 66 ‘Sistemas operatives, tpectos intros y pinclbios de dizer ‘Table 23. Multiprogramecién em laces frente a tempo campartde, ‘Muttiprogramacién en totes | Tinmpo compartide ‘Maximisar ol ute dal procesador | Minimizar al tempo de es ‘Mandates invoducidos Mandatos de! lengus terminal ie contra ce tabsjon proporsionados pore wabsjo Uno de los primeros sistemas operativas de tiempo compartido desaroliads fue ef sistema CTSS (Comparible Time Sharing Systen) [CORBS2), desarzollado en el MIT por un grupo conocido como Proyecto MAC (Machine-Aided Cognition, Mukiple-Access Computes, El sistema fue ini Cialmente deserolado para el IBM 709 en 1961 y més tarde transferido al IBM 7094, ‘Comparado con sistemas postriores, CTSS es primitvo. El sistema ejecut6 en una maquina con memoria principal con 32.000 palabras de 36 bis, con el monitor esidenteceupendy $000 palabras. Cuando el control se asignzbs a un usuario interactive, el programa de usuario y los datos se carga- than las rstantes 27.000 palabras de memoria ara azrancar, Un programa siempre §@ catgaba al epmienzo de Ta palabra 5000; eso simplificaba tanto el monitor como la gestién de memo- a, Un stema generaba Una interapeién cada 0.2 segundos aproximadamene. En cada in- terrupeién de rel, el sistema opetativa recomaba el contol y podta asignar el procesador a otro {svatie. Por tanto, a intervalas regulares de tiempo, et usuario actual podria ser desslojado y otro ‘usuario puesto 9 ejecuar Paa preservar el estado del programa de usuario antiguo, los prograinas de Usuario los datos se esriben en el disco antes de que se lean los nuevos programas de usvario y ‘huevos datos. Posteriorment,e) cédiga y ls datos del programa de usuario antigua se restauran et ‘cuando dicho progtama vuelve a ser pla a disca cuando el pro- 7. Sean euatea usuarios + TRABAJOI: 15.000 + TRABAJO2: 20.000 + TRABAJO3: 5000, + TRABAJO4: 10.000 trabajo TRABAJOI y le wansfiee conto (2). Despe rabajo TRABAJO2. Debido a que primero el TRABAIOI en disco, y ef TRABAJO? para ecutarse, Si TRABAJOR, una porcién de ese d ae cargarse el TRABAJO2 (b). A continu Dargo, debido a que el TRABAJO3 es mis pequefio que ‘memoria. reduciendo el tiempo de eseritura de disco (©). Posteciorente |ABAJOI. Una porcisn adicional de TRABAJOZ carga de nuevo el TRABAJOL en memoria (@). Cuando se carga el TRABAJOS, parte del trabajo TRABALOL y la porcin de TRABAJO? permanecen en memoria (). En este pun- de estos trabajos (TRABAJOI o TRABAJO?) son activades, slo se requiere una En este ejemplo, es el TRABAJO? el que ejecuta de nevo. Esto requiere que el TRA- de el TRABAJOL se escriban ene! disco y fa pane que fala de el TRABAIOZ lea oe ° q sexo [Mesto se09[— seo el Fanos TRABAIOL sasoz et sooo} — creanaso2) ike 23000} 00) Uke Lie 200 sooo sam @ ° 5 o 9 p soap sou ee sag BHO 4 | Taba! 00) loo sem on ABO ‘TRasio2 en [ama woe ABAD oo Le ve Live 2200! >a ae @ © © Fgura Operscin del CTSS. Le sence wiizads por CTSS es primitiva compareda con las técnicas de tempo companido 4c twales, pero funcionabe. Era extremadament se To que minimizaba el tamafo del monitor. De- bido a que un trabajo siempre se cargaba en is misma direciéa de memoria, no habla necesidad de nimero maximo de 32 ususios, La compartci6n de tiempo y Ia operatvo. Si inmoraiivos,e sistema de ficheros debe ser prot acceso a un ichero particular. También debe gestio impresoras y disposi cones, e deserbirin alo lego de est libro de os ss principales avanceste6rcos en el desar + Provesos + Gestién de memoria. + ProtecciGn,ysepusiad de le iaformacis, sgestin de los recursos, + Estructura del sistema 285 de software mAs complejas jamds desarrolla- lad de aleanzar determinadas abet ienciay capacidad de evolucién. (DENNSOa} propone cinco mas operatives: iar téenicas de reubieacign en tiempo de earza (que se discutirdn més adelante). El hecho de s610 9 cuando es necesrio, minimiza la actividad dal disco. Rjecutando sabre el 7094, iprogramacin implican nuevos problemas para el sistema les tabajos en memoria, tos deben prategerse para evita que interfietan entre si. porejempla. 2 reves de la modifescin de los datos de los mismes, Con m fo, de forma que s6lo ustariosautorizados tengan ure los canicos entre los recurso 08 de almacenamiento masivo. Estos y ots problemas, con ss os 8, algunas 83 Sietomes oneetves, Aspectas teres yBrinepios a sero PROCESOS El concepto de proceso proceso ncluy ho de que una ratna se suspend esperendo + Un programa en eject lo, un programa que iicia una lectura de E/S debe estado ae secuencial de ejecucién, vnidad de tual. y un conjunto de recur Ese concepto se aclarar a YS, el procesador es plaificado para Una segunde linee de desarolo fu e tiempo compatido de propésito ‘debido a tiempo de eaceién rio. Par ejemplo, si bn usuario tpico necesie wna me- dia de 2 segunéos de tiempo de procesamiento por minuto, entonces una cantidad de 30 usua sproximadamente podria compartir el mi lerferencias notables. For supuest, tema debe tenerse en cuenta para realizar estos célculos. temas de processmiento de transacciones de que dos 0 amas podria 16m (por ejemplo, Una copia de un mas ka tomado contol de uno de los dspositives ye ea prog positive, Cada uno de eos est esperando a que el cto rogram Seen, Dicho Lo que se neces Ta ec fundamentos. Se puede comsierar que un proceso es formado po varios programas en el procesider. E concepto de proceso propor os siguientes wes components: + Un programa ejecuiale + Los datos asociados que accesit et programa (variables, espacio de tabajo, buférs. et.) + Elcontexto de ejecucién dl progs Exe akimo elemento es esencal Ef contexta de efecucidn,o estado de proceso, es el conjunto de datos interno por a cual el sistema aperaivo es capaz de supervisar y controlar el proces, usuario con e abajo interrumpide o alga otro trabajo. infermacign interaestéseproda del procesc, porque el sistema operative tiene informacién a Ta que 0 Sistemas opecatvos. Aspects nternos ¥prnepios de disco el proceso no puede accede ontextoinclye toda nfomacia qu el Fo gunna el prose y gurl poceador reves pre eal proceso spropiadament inluye el onan de ated, aes coo comtor de Pog tay lo regatos iad del proceso y sun proceso estdesperando por la fnalizacién de wn evento de E/S pat ‘La Figura 28 indica una forme en la us ifn de memoria px de ejecucin del proceso. ver junto al propio proceso (como (queda reflejzdocea la dice del proceso contiene el Tista de procesos, El contador de programa apunta @ fy i regia de memoria ocupad ie la regia de memoria y el regis i Memoria Registos del principal procesadoe fae pees TJ Ba | Gnas | Figura 28, mplementeibn do proces Introduccion aos sistemas op twos 74 y no deben exceder el valor proce isto sndice dl proceso indica que el proceso B est ejecutando. E! proce: amente, peto fue interampido temporelmente. Los contenidos de todos wenado enel rei te. Esto previe ando Se cerga el contador de programs Con un V a Ie ejecuetinsuromedicumente, para dat sopone a dicha ceract bro, veremes un gean n= ‘mero de ejemplos donde se utiliza esta estructura de proceso pata resolver los problemas provocados ‘or la muliprogramacién o la companicién de recursos, GESTION DE MEMORIA ¥-e1 uso flexible de Ios datos puede In jerarqua de memoria. Las ir no debe preocuparse de aspect programacién modular Los programadores deben ser capaces de definit mécis- + Sopor el tama de los muédulosdindmicamente {os de programacign y crear. deter a + Proteceién y control de acceso. La comparicién de memoria, en cualquier nivel de La jar aula de memoria, permite que un programa dire ls comps as formas a porciones de menor + Almacenamiento a largo plazo. Muchas aplicaciones requiren formas de almacenar a infor- ‘macign durante largos periods de tiempo, desputs de que el computador se haya apagaco, n Sistemas operatives. Aspetoe interac yprincsioe de deeho paso eta eliminar el re inearente. Todas les pginas e un proce encuenttan en ‘memoria virtual que ficheros 6 parte de los smanipulen, span Le ‘mantignen en un almacenamiento 8 largo plz. Los 10s &¢ pueden copia en Iz memoria virual para que los programas los 1a 2.10 destaca los atpectos de dreccionamsiento de un esquema de memosia viru. B1 1 est compuesto por memoria principal directamente dieccionable (21a PROTECCIONY SEGURIDAD DE INFORMACION El crecimiento del uso de Jo sistemas desempe comparido y. més recintemente. tes redes de con putadores ha originado un inerereato de la prencupacin por a poveccién de a informacin La ns turaleza de las amenazas que conciemen a una organizacin variarén encemamente dependiendo de Inwrosucrion a lo sistemas opersuves 19 Figura 29. Conceptos de momora vival Sin embargo, hay alguns heramienta de propésito general que se puedes wt temas operatives pars Soportar ana Bran verieded de mecanistnos be pz ral el principal problema ex el control del acceso a los sistemas de compu acenada en ellos. trabajo en seguridad y proteccin relacionada con fs sistemas ope ‘enérica en cuatro categorias: las cireunstanc 9 Jos computadores y vos se pue= ente alas interrupciones, lad, Relacionado con la proteecign del sistem: dad. Asegura que los usuarios no puedan leer los datos sobce Tos eves note peratves.Aspedtos intsnoe prncpios de deeso Figura 2.10. Diteclonamiento de memoria virtua. PLANIFICACION Y GESTION DE LOS RECURSOS ividad, Normalmeate, se desea que todos fos procesos que compiten por un determi- Jo recurso, ses conceda un acceso ea ialmente cierto categoria, es decir, este proceso pa sue vo para posterores demandas de otras + Bficiencia. El sistema operativo debe intentar maximizar la productvided, minimizar el tiem po de respuesta, y en caso de sistemas de vemipo compete, acomodtr canto usuarios como posible. Estos eriterios entran en conflict; encontrar un compromiso adecuado en una si- Inoduccin los sistemos operatives 75 Cu ela consist en signals depo. it tos procesos en ordeh de saad girls p conden ‘La cola a largo plazo€s una sta de nuevos tat cont plago. En este punta, $2 debe asigner una pos tanto, el sistema operativa debe a. Hay wna cola de B/S por cada smo disp ‘operativo debe detenninar a qué proceso le asigna un dis Si ocurre una inerropcin, e sistema opes -manejador de interrupcio racivo, cal eomo un caso, un manejado aso, una vez que 0. En cualquier lamada a sistema, se invoca al planificador a corto Lo que se had de esta porcin del scone Ee Figura 2.11. Elementoe eave de un la muldorogremasin, 6 Sistemas opereivos. Arpectos intrnosy principles de sero ESTRUCTURA DEL SISTEMA ‘A medida que se han afadido mas caracterfsticas a Jos sistemas aperativas y ef hardware subyacente se ba vuelto ms poiente y er el tamato y Ia complejidad de ids pequetios, pero ‘ios inevitablemente se hacen mds complejas a medida que el hardware subyacente y los reguistos de usutia se inerementan, Por tanta el sistema UNIX de faye nfs complejo que el sis- tema casi de juguele puesto niga comienzo de Jos afos 70, y el sereillo sistema MS-DOS supuso el c ¥y complejos sistemas plo. Windows NT -L0 contiene 16 millones de lineas de eédigo y Wine ta dificulad det vada «esta diseiplina a cuatro desafortunados, aungue de ‘primer lugar, Jos sistemas operativos se entregan tarde de forma evince. Et ‘operatives ¥ frecuentes actualizaciones a viejos sistemas, En segundo lugar, 10s sistemas tienen flloslatentes que deben ser planteados y resueltos. En tecer lugar, el endimiento no es frecuentemente el esperado. En imo lugar, s ha comprobado que es imporibie constivi un sistema operative complejo que m0 sea vulnerable a una gran cantidad de araques de seguridad, incluyenda virus, gusanos y #¢cesos no autorizades. Para gestionar la complejidad de los sistemas operativs y eliminar estos problems, = ha puesto ueho énfasis en Ia estructura software del sistema operative a lo Jargo de los ses. Ciertos puntos re debe Ser modular, Esto aybdaré a organizar el proceso de desarollo de Software y limita el esuerao de éiagnostcary corregiterores. Los médulos deben tener interfaces bien definids, y ests interfaces deben ser tan sencillas como sea posible. De nuevo, exo facia la programacin. Tambnfacilita la evolucin del sistema. Con mfimas interfaces ente fos mésulos, se puede modifiar un mégulo con un mimo impacto en otros mus. Para sistemas operatives grandes, que ejecutan desde millones a decenas de millones de ness 4 cédigo, no es suficiente Ia programacién modular. De hecho, ha habido un inesemento en e} uso e log concepts de caper jerdrqucas y abstraccién de informacién, La estructrajerdrquica de un sistema operative modemno separa sus funciones de acuerdo a las earacterfsicas de su escala de tiempo y su nivel de abstraccin. Se puede vere sistema como wna serie de niveles, Cada nivel rea- liza tn Subconjuntorelacionado de funcionesrequeridas por el sistema operative, Dicho aivel confi ten les nivelesinmadiatamene inferiores para realizar fenciones ms primitives y ocultar los detalles de esas fanciones, Cada nivel proporciona servicio a la capa inmediatamente Superior. Idealmente, estos niveles deben definirse de tl forma que los eambios en un nivel no requieran cambias en 0s niveles. Por tanto, de esa forma se ha descompuesto un problema en un adeno de subprotiemas ids manejsbies. En general, las capasinferiorestratan con una escala de tiempo menor. Algunes partes del sist rma operativo deben interaecionar dicectamente con el hardware del computador, donde Jos eventos pueden tener una escals de tiemipe ea fnfima como unas pocas mail millonésimas de segundo, En el ‘ro extremo det especto, algunas partes del sistema opersiiv se comunican con el usuario, que i voea mandatos en una escala de tiempo mucho ms larga, tal vez unos pocos segundos. El uso de un conjunto de niveles se adapta adecuadamente aeste entomo, Ls Forma en que estos principios se aplican varia enormemente ent ls sistemas operativos con- tempordnes, Sin embargo. es el prop6sito de mostrar los sistemas operatives, problema que afrona dicho Mhasiado comunes, problemas DENNSS| ¢5 ‘Tabla 24 08. donde los objtostrarados son regis. cel as, Las operaciones definidas en estes objetos son acciones, n de memoria + Nivel 1. Est formada pore das de memara, pastas ‘cam poner a cero un registro o leer una posi Las operaciones a este nivel son aguélas taciones de Hamada y al procesador guardar el contexto actual € 12 Inrprete de mandiee Senvencias en 2 Procasps de ueusro Proeesos de usuario ” Direcrrion Directors 10 Disposiives 8 Sistoms de fiheros 3 Comunicaciones Programas de poston Tnveropeiones raps se goa 3 Procecimientee de aciveen Pile de evatuscin, Carga 0 Ingrpret de stzopraprames, esta sate ‘Gissascalires y recorale Aegitros, puerta. 2 Conjunto deinetoccones lac omer cn te acne 8 Sistemas operavot. Aspacto Intonos yprinelpis de cise Estos cuss rimerosniveles no son pare del sistem operative, sno qe conse el ar ware dl poceata Sin embargo, alguns elementos del sistema opetatvo se empieza 2 mostrar en Sos eet, por dempl, Is rutin de etait de itemupcones. Es el Nivel 8 el que ones. Shade con el ssn opertvopopiamene dicho yen el gil concent as0cagas 83 lpr. ‘ramocién aparece, a elecuetsn, 5 de los sistemas operatives para dar saps a matiples proce. ar los proceso. Esto requiere guard mit Ip ejecuein de un proceso e ‘coopera, Se necesitan algunas mét sencilla que se analiza en Tos sistemas operativos es el semsforo, una técnica de setalizac el Capito 5 [Nivel 6, rata los dispotitivas de slmacensmiento secundario del computador. En este eso solicitane de laf ten el disco de los datos requerdos y proporcionan una peticién del blogue de datos epropisdo fun contofador de cispsitivo del Nivel 5 ivel 7. Crea un espacio de diecciones légicas para los procesos, Este nivel organiza el espa- cio de direcciones vireales en blogues que pueden moverse entre memoria principal y merte- Jia secundaria, Tres esquemas son dasa comdn:aguéitos que wilizan péginas de tamato fio, aquélos que uilizan segmentos de longinud variable y aquellos que utilizan ambos. Cuando ‘bn blogue de memoria necesrio no se encueria et memoria principal a Ldgic de este aivel require una tansferencia desde el Nivel 6 Hasta ete punto el sistema oper on el Nivel 8 el sistema opesativo te des y computedores conectados a a red. Los objeto de estos nivees superiores son obj ligcos eon nombre, que pueden conspire ene procesos del mismo computador o entre mis ples computadores. vel 8, Teta con la comunicecién de informacisn y mensajes entre las procesos. Mientras que Nivel 5 proporcionan mecanismo de seiaizacin pi ida de process, este nivel gata con una companicidn de inf herrnnientas més poteies para exc propdsito es la uber o pipe, que es un canal lbgico para flujo de datos entre los procesos. Una tuberia st define pot su slida de un proceso y st en- teads en oto proceso, Se pde también utiltar pars el3zardispositvos exterm0s 0 ficheros & proceso El concepto se discue en el Cap fcedor extern es un rombre que ada intero es una direcién de oro iden interiores de sistema operative par Io | nes se mantienen en un directorio, Las entia: adores exterov/intemos, sino también earscter ‘no s6loineluyen la asociaciéa ente ide ticas como los derechos de atoeso. registtos del procetador asotiados con un proceso, ms Ia ldgiea de los procesos de planifica- cin, Enel Nivel 12, se da sonare a rod le informacidn aecesara pare (4 pestign Ordena los procesos. Esto incluye el espacio de direcciones virtuales de los proceso, una std ob- {etsy procesos eon la cual puede interactuary las resricciones de esta ineracciGn, parsime= fos pasados al proceso en la cteaciGn. Tambin se incluye cualquier otra earaetetstica que pu ier utilizar el sistema eperativa para controlar el proceso, + Nivel 13. Proporciona uns interfax de! sistema operaivo al usuario. Se denomina shel! (capa ‘az6n), Porque separa al usuari de los detalles de Ios sistemas operatives y presents ‘opzrativo simplemente como una coleccin de servicios. El shel acepa mandato de su sentencias de control de trabsios, los interpreta y crea y eoattola los procesos que nec ‘para su ejecucin. Por ejemplo, 2 este nivel a intetfaz pods implementarse de Und ti {réfice proporcionando al usuario mandatos através de una lista preseatada como ti mend rmastrando los resultados utlizendo una sala prafea conectads 9 un dispositive espectfica, tal y como una pantalla, to hipottico de un sistema operativo proporciona una estructura deseptiva il y sive implementacién. Elector puede volver a exnudiar esta estrcture dante eldest ro DESARROLLOS GUE HAN LLEVADOTAILOS SISTEMAS OPE RATIVOS MODERNGS io un gran mimera de nuevos wevas versiones de sistemas ope fundamental en Ie naturaleza de los sistemas operatives. sos sistemas operativos modemos responden a nuevos desanalios en hardware, nuevas aplicecio= nes y nuevas amenazas de seguridad Ente las causas de hardware principale se encuentran las mi 108 de conexi6n de alta velocidad a la red, y el tamatio ereciente y variedad de dispos vos de almacenamiento de memoria, En el campo de Ins aplicaciones. las aplicaciones muliimedia, Tncemety el acceso a la Web, y la computacincliente/sevidor han influido en el dserio del sistema coperativa, Respecto ala seguridad, e) acceso a Inemet de los commputadores ha incrementad en gran medida Ie amenaza potencial y ataques sof como virus, gusanos, ténicas de hacking. Toque ba supuesto un slo de los sistemas operativos La velocidad de cambio en tas demandas de los sistemas operativosrequiere no slo moditieacio- reso mejoras on arquitecturas existentes sino también nuevas formas de organiza el sistema oper vo. Un amplio rango de diferentes técnias y elementos de disefo se han probado tanto ‘operatives experimentales como comerciales, pero la mayoria de este trabajo encaja en las categoria + Arquitetura micronécleo o miorokere d Sistemas operat. Arpacts inlarnaevprncpios de dso in, proporciona flexibilide y se adapta perfecamen. nile ineracia con procesos locals y remotes del dng es Gl yaa as aplicaciones clalente independienes que no neesitan ser (que escucha y procese mumevosas paiones de ‘mo proces, inercabiar la elecucin eng ls cambiar la ejecucién ene diferentes procesos pesados. Los hos son ambién stiles parae esos que sam pare del aleg del stems operaivo, como se describe en Jos capil sguienes, les y estaciones de trabejo vi asta hace poce tiempo, los computadares pet ‘nico usuario contenia un dnico pre dimento se inremena y el enste de ma operativo que explo dicha arqutectura. Se puede de dor simétien como un ssieraa de computacisn sislodo com las siguientes carecersticas: 1, Tiene maliple procesadors. idades de memoria principal y de E/S interco: interna 3 Todos ls procesadares pueden realizar las mismas faciones (de ahi e strain sinéivice) frcoducciona fs sistemas opeiawwos 0 un proceso puede jos en un p strico. debido a que Procesaéores pueden méquina. Por el pueden ofiecer un rango de productos con diferente precio y earac~ 3s basadus en] nimero de procesadores configurado en el sistema. omantenorar que es Tiempo + Proceso t Process 2 Proceso 3 Proceso) Ceara eee ———— em emma (tne ysoipmis tnsipcee ds eee) Proceso2 Proceso3 TZZABioqueato —IEjecutando ‘Figure2.32. subiprogramacibn y muliproces, 82 ‘Sistmss operativos. Asectosinternos yprncplos do cero ng y SMP son frecventemeate analizados juntes, pero son dos uilidades 3 Inluso en un nodo monoprocesador, la tésnica de mithibreading es dit para estes cluso para procesos que no con: in embargo, ambas tilidades se indepen tapi progres ale, Ura mga SMP et paralelo, izar de forma conjuniaefectivamente de un SMP es que Is existencia de méltples provesadores es transpa reate al usuario, El sistema operativo se encarga de planifica as hil o procesos en procesadores in dividules y de i sineronieacidn entce los procesadores, Este libro diseue la planificacion y los me. ‘caismos de sincronizacién utlizados para proporcinnar une apsriencia de Unico sistema al usuario Un problema diferente es proporcionar la apariencia de un soo sistema aun cluster de computadoces separado-Un sistema mulljomputador. En este caso, ge tala do una colecci6n de entidades (computa. Ne, que program del envo de un mensaje. EI menseje se encemi El servider lieve a cabo fa operacion requerida y devuelve por medio de otro mensaje, que se encaming de voelt al cliente mediante el servicio ej ts dela arqutecturacliente/servidor son Js siguinntes: ma ejecutiv, Es posible consrui diversos API sin conflicts @ duplicacio- cutivo. Se pueden afadir féritmente nuevas imerfaces. lad. Cada médulo de los servcis Prado, con su propia particion de metmora, proves np pueden acceder direct riacena el sistema ejecutivo, Un Unico servidar puede fal elresto del sin provocar el fllo 0 eorromper 4, Las aplicaciones cliente esconden el proceso de ‘paso de mensajes através de regards de funciones. que son contenedores no ejectablesal- acenados en bibiotecas de enlace dindmieas ‘Dynamic Lint Libraries, DLL). Cusndo une Jovrodcign alos sistemas operatives 89 dsisiema de entorna, et cespustda de smada y Ios envia come Un mens fnpente, la co base adecuade pars le computacin distibuida. Normal ‘condiciones de varga actuals ya fos cambios dindmicos de configuracin HILOSY SMP los para procesar peticiones de més de un + Windows proporcions mecanismes pare compartir datos y recursos entre procesos y capacida- des flexible de eomunicacin nice procesos ‘OaJETOS DEWINDOWS: Windows te apoya enormement en los conceptos del disefioorieatado a objetos. Este enfogque Facil 12 lg conpatcidn de recursos y datos et ces08y la proteccin de recursos frente al acceso ‘conceptas clave del diseio orentado& objets uilizados por Windows se en- + Encapsulacisn, Un objeto esté compuesto por uno 0 més elementos de informacisn, denomi- inadgsatibatos y uno p mds procedimientos que se podrfan llevar a cabo sobre esos datos de- © pueden proiger ficilmente del uso no autorizadao incorseto (por ejemplo inteniando ejecutat una picza de datos no ejecutable). + Clases einstancias de objetos. Uns clise de objeto es una plantilla que lista ls atributos y los servicios de un objeto y define cierascaractersticas de los objeos. El sistema of ‘ede crear instancas espectfcas de una clase de cbjetos cuando lo neceste Por ejemplo. hay de prcceso y un objeto de procese por cade proceso actaimenteac> ica la creacin y gestidn de los objet : 1g es sopartada # nivel de usuario sino por dentto del satya ejeutiva. Por ejemplo, os eros vectoro son eermplos de objeto conte rnedor. Una propiedad de un objeto conteedor es que los obj © pueden heredar 3s que cont 90 Sistemas operatives, Arpactos intrnos y principe de dsono propiedades del contenedor misme. Como un ejemplo, supongamos que hay vio en elsistema de ficheros que est# comprimido, Entonces, cualquier fichero que se cree dentro det Contenedor directorio también estaré compeimido, + Polimorfismo. ntemamente, Windows uti un eonjunte comin de funciones para manip lar objetos de eualguie tipo; ésta es una caracteristica de polimocfismo, tal y como se define cn el Apsadice B. Sin embargo, Windows no es completamente polimérfico, porque hay mu ches API que son especifices para tipos de objetasexpecificos. 1do con los conceptos orientados a objetos debe revisar el Apéndi- El lector que no esté ce B. que se encuentra al final de! libro. No todas las entidades de Windows son objetos. Los objtos se uilizan en casos donde los datos se usanen todo usuario y cuando el acceso a os datos es compartidao restringido. Entre las entida des representa por los obetos se encuentran los ficheros, procetos, los, semsfores, temprizado- res y ventanas. Windows crea y gestiona todos los tipos de objetos de una forma uniforme, através del gestor de objetos. El gestor de objeto es responsable de crear y destruir objcos en nombre de las los servicios y datos de los objetos, algunas veces den bjetos que no son ge ‘como un blogue de memoria gestionado por el ncleo y que es aces cleo, Algunes elementos de Ia estructura de dates (por ejemplo, el nombre del objeto, parémerros de dad de uso) son comunes a todos fs tipes de objetos, mientras que otros e {0$ son espetficos de un tipo de objeto particular (por ejemplo, la prioridad cel objeto hil). ricleo puede acceder a estas estructuras de datos de los objets del nicleo; es imposible que una aplicacién encuente esas estructuras de dats y las Tea o escrba directamente. En su lugar, as caciones manipula lo objetos indirectamente a través del eonjunt de fu ‘bjetos saperada por el sistema ejecuivo, Cuando se crea un objeto, Is aplicacién que creacin recibe un manejador del objeto, Esencialmente un manejador e$ un puntero al objeto re renciado, Cualg puede utilizar este manejedor dentro del mismo proceso para invocar ls funciones Win3? que trabajan con objetos Los objetos pueden tener informacisn de seguridad asociada con ello, en l forma de un desrip- tor de seguridad (Security Descripior, SD), Esta informacin de seguridad se puede utlizar para res. objeto. Por ejemplo. un proceso puede crear un objeto semiforo con el objetivo de ‘que s6lo cieros usuarios deben ser eapaces de abrir y utilizar el semaoro. El SD de dicho objet se- ‘miforo puede estar compuesto por la lista de aquellos usuarios que pueden (0 no pueden) aeceder a ‘objeto seméforo junto con el conjunto de acces0s permits (lectus, escritura, cambio, et.) En Windows, os objetas pueden tener nombre w no. Cuando we proceso crea un objeto sin nom: bre el gesior de objetos devuelve un manejador para dicho objet. y el manejador es de ete bre. Por ejemplo i un proceso A desea sincronizarse con el proceso B podria crear un objeto de tipo ‘evento con nombre y pasar et combre del evento a B. El proceso B podria entonces abricy u objeto evento. Sin embargo. si simplemente desesra uilizar el evento para sincronizar dos ‘rearia Un objeto evento sin nombre. porque no necesita que otros procesos pue tringirel acceso Como ejempla de 1 as ds catego tas de objetos que gest iados para controlar las operaciones del nicl ny Ia sineronizaei6n. La Tabla 2.5 Intosuecién sos sstemes operativos 91 saciGn y la sineronizacién de las operaciones del sistema, + Objetos dispatcher, Con io6. Eos objetos se describen Interupeion entegar Proceso Reprosanta ol espacio de creeconss vitalos« iformacién da control a coma de sistema, Windows no es un sistema operativo completamente orientado 2 objetos. No esé implementado jencado a objets. Las estructura de datos que residen completamente dentro lema ejecutivo no estin repiesentadas como objeles. Sin embargo, Windows ia dela tecnologia oriemada a objetcsy representa la tenJencia cada vez més signi- ficatva del uso de esta teenologi en el disefo de los sistemas operatives. HISTORIA La historia de UNIX es un rls narrado con frecnencia y no s€ reper con muchos detalles squi. Por el contaro, equ se realizaré un breve resumen, UNIX se desarro en 1970. Algunas de do en el trabajo de tiempo compartda desarra ‘st encargé primero del desarollo de CTSS y de UNIX original fue uns vers estar ms influenciados por CTSS [RITC7S]. No obstante, UNIX incorpo aij El tabajo de UNIX en los laborstori jummo de versiones de UNIX. PDP-11. Esta fue Ia primera pis UNIX esti eseritas en C. 82 Sinemas operetivos, Aapsctaeinternosyprincpics de sea sargadob) Le capa externa estéformada or las 0a compiladorC. r 215 muestra una vista més cercana del pote as poms Figura 214, Arquitecura general de UNIX de procesos xe encarga dela gestion de memoria, la ae Ficheros y de la ES. asf como dels sincronizaciony la comunicacién entre los Planificaci discos: entre el espacio de direc {fer da sistema en memoria princi eccin se refiere alo que se han denorinad Sentenias generale pueden afimmarse sobre un jecutar Sobre un drico processdor y azecen de la capaci- dad para proteger sus estructras de datos del acceso cancutente por parte de Su ntcleo no es muy vers, sopomand un ince tipo de sistema de fiche ejecumble, El cle 194 Sistemas operatives. AxpeetasIntern0s yprincpios de seo Pe eee Cuando UNDX evolucions, un gran P autes proporeions lgunas caracteristicas tiles. Fue necessia sn que unifieara muchas de Is importantes innova peratvas modemos, y projere una aa Figura 216 moesira Jos aepeess pions de un des, excras de forma modular, que proporcionafunciones y serv Mi para procesos del sistema operative. Cada uno de los cfrelos extern representa funciones y ‘ns imerfaz que podria implementarse de diferentes for ‘Abaca se verén algunos ejemplos de sistemas UNIX moderns. SYSTEMV RELEASE 4 (SVR4) istemas. combina carateisticas de recsritura completa del ncleo del SVRé, desasollado conjuntamente por AT&T y Sun Mi 'SVR3, 43BSD, Microsoft Kenix System y SunOS. Fue ca Pesinede ro os eteiee st | Uiiidaes S / Conidae isa comin Cone Figue 2.18. (Wicleo UNIX moderne IVAHASS) ‘eiraduccién alos sistemas operatives 95 System V y produjo una implementacin bien organizade. aunque compleja Las queyas caracteristi- cas de esta version incluyen soporte al procesamiento fleacin de pr ‘esos, eusturas de datos dindmicamentessignadas, getién dela memoria viral, sistema de fiche- ros viral y un cleo expulsivo. SVR4 mezcl6 los esfuer20s de los diseiadores comerciales y académicos y se desarroll6 parn proporcionar una plataforma uniforme que permitiera el despegue comercial de UNIX. Logrs su ob- ites de UNIX. Incorpora Ia mayoria 6 las carace- ema UNIX y jo hace de una forma intezrade y co ingo de miiquinas, desde los micropracesadores J& fuchos de los ejemplos UNIX de est libyo Son ejemplos de able. SVRS ejecuta supercomputadores SOLARIS $ Solaris es una versién UNIX de Sun bessda en SVR4, La Ultima version es la 9, y proporci las caraterfsticas de SVR4 més un coajunto de carectersticas avanzadss, como un aileo muliilo, completamente expulsiva, con soporte completo para SMP. y una interfz orientada a objetos para Jos sistemas de fcheros, Solris es ia implementaciéa, UNIX mds utilzada y comercialmente mas exit sa, Para elgunas caractersicas de lo sistemas operatives, se utiliza a Solaris como ejemplo en este ib, sodas a.4BsD papel importante en el de- Las series de UNIX BSD (Berkeley Software Dist ado ampliamentee rolled Ia teorfa de diseio de lo sistemas ope laciones académicasy ha servido como base de algunos productos comerciales UNIX. Es probable ve BSD es seguramente responsable de gran parte de la popularidad de UNIX y que la mayorta de Js mejoras de UNIX apareceron en primes lugar en las versiones BSD. 4.4BSD fue la versén final de BSD que Berkeley produjo,disolviéndose posteriormente la orga- nizncign encargada del dis lementacién. Se trata’ de una act ae 43BSD. cue ineluye un nuevo sistensa de memoria viral, cambios en la estructura del nce, y una tanga Het de otras mejoras. Ladi de Macintosh, Mac OS X. se basa en 4 4BSD. rey a, escibi6 Ia vers ‘en una alternative para ots estaciones 1s IBM. Hoy en dla. Linux es un sste- ‘que ejecutaen todas esas plataformas 9 algunas més. incluyendo Intl Pentium & Mari, y et PowerPC de Mocorot/IBM, 96 Sistemas operatives. AspectosInteos vpincibos de dsero los paquetes de software libre bajo los SP), Esta fundacisn se fe de plataforma,e 1 herramienias para desarolladores de soft- (GPL: GNU! Pubic tas GNU para el desarollo del nice, que fue poster es Linu gue aparecen hoy en el proyecto GNU de FSF. os esfuer20s in ‘g0 del mundo, igual. Lins ha hee lo copoaivo. Exo ebido al software libre ho adores con talento han contribuido a {a versién present, Miso. Linn es uy mslr yee tar lenient de un varied e lataformas han fegniie. ls dsirbuidres pueden apr fe spicacones ¥ pectic. Al lag deeb © proporcionan det ESTRUCTURA MODULAR -0s. Como se mencioné anteriormente en el ca ament® toda Ia funcionalidad del sistema operativo ‘inico proceso con un dnico espacio de dreecions into. Tedos ls component leo tienen acceso a todas as estroturasintemss datos y tins. Silos cambios se hacen sobre cualquier porciéa de un sistema operative moneli ‘0, todos los médulos yrutinas deben volverse a enlazarreinstala,y el sistema debe ser reinicisdo ‘ava que los cambios tengan efecto. Como resultado, cualquier modificaci6n, como por ejemplo aa- fir un nuevo controlador de dsposiive o func del sistema de fichero, es difel. Este probleme es especialmente agudo para Line, cuyo desartelo es global y ha sido realizado por in grupo de pro- sgramadoresindependientes asoeiados de forma difus. La mayoria de fos nieleos Linux son monol venajas potencies de rurado como una cole ales pueden cargarse y descarguse aufomiéticamente bsjo deman- tes se denominan médulos cargables [GOYESS) Esen ia una tenica de micron ata algunas funcioges expecificas, como un sistema ficheros, en ctntrolador de dispositive o algunas carateritces dela capa superior del mcleo. Un flo nose eecuta como su propio proceso o filo, aunque puede crear lo hilos del ncleo que ne- or varios propsits. Ens lugs, un médul Se ejcuta en modo niceo en nombre del proce: -mpo real. Normalmente, un médvlo impl iano, aunque Linox se puede considerar moncttco, su estructura modular elimina algunas e las dificultades para desarrollary evolucinarel nico. Los médulos cargables de Linux nen dos caractersicas importantes + Enlace dindmico. Un mdulo de aicleo puede cagarsey enlazarse al micieo mientras en cleo e:téen memoria y ejecutindose. Un mule también puede desenlazasey eliminarse de Ja memoria en cualquier momento. troduccién a los estemas operatives 97 lables. Los medulos se gestionan como una jerarqufa. Los médulos individuales ‘irven como bibiotecas cuando los médulos elite los referencian desde Ia parte superior de clan com clientes cuando referencian 2 médulos de Ia parte inferior de a para un conjunto de médulos se puede mover mi ar que los médulos necesaros estin presentes, impidiendo descargar lun méulo del eval otros médulos que ejecutan dependen y cargando algunos médlos adcio nalmenterequeridas cuando se carga un nuevo médul, Ja tabla de sfmbolos. La tabie de médulos inluye los siguientes elementos siguiente médulo, Todos los médulos e organizan en una lista enlazada, La (n0 mostrado en la Figura 2. + next, Br ist + size. Tama del malo en péginas de memoria + usecount, Co | médulo, El contador se increment cuando una operscién ionala con las funciones del médulo comienzay se decrementa cuando la operacién fnaliza. + flags. Opciones del médulo. + nsyms. Numero ée simbolos exporados. + ndeps. Nimero de mdulos referenciados, + *syms, Puntero a la tbla de sfimbolos de este médulo. + *deps, Puntero ala lista de méulosreferenciados por este mésulo 2 de méulog que use este médto + ets. Ponte 2 I de simbolos define aquellos sfmbolos controlados por este médulo que se witizan en La Figura 2.17 muestra que el médulo VFAT se carga después del méduto FAT y que el médulo EAT es dependiente del médulo FAT. ‘COMPONENTES DEL NUCLEO internosy prinipios de dsoho médulo tabla de sfimbolos 1a ejemplo de médulosée ncieo de Linux process ejecutando encima del aleo, Cada caja indica un proceso separado, mienras que ina cabeza de flecha representa un hilo de ejecucién®. ido flechas 0 irdware. Todos los componentes del nicleo, por supe 1s principales componentes dl nicleo son lo lamar a un proceso. Por ejemplo, ls seales se ut isi6n por cero. La Ta cual un proceso requiere un wena, gu pueden agar proceso, planificacién. comunieacion os. La Tabla 2.7 define unos pocos ejemplos de cada i i j 1 Nace Fas feerd cele | Pe + Sistemas de ficheros. Proporciona un espacio de nombe + Protocolos de red. Da soporte a I interfaz Socker para los usuarios, + Controtado + Controtadores de + Controladores de + Traps yfalos. Gestions + Interrupciones. Gestion las interupciones de los disposi 18: Componentas del nicleo de Linux, + Procesos y planicador Crea, gestiona y planifica procesos + Memoria virtual. Asigna y gestona la memoria virtual para los proceso. i y otros objetos relacionados con los ficheros. AdeméS, proprciona ls funcio ae Ficheros. tocolos TCP AP ae para enviar o recibir positivo tipo bloque. Gestona dspositvos que leen y esciben datos en formas de memoria secundaria (discos magnéicos, CDROM, et), Blogues. cal como eras de interfaz de redy los puertos de comunicaci6n ‘come los puentes los enc adores CPL, como los fllos de memoria Sinas de memoria vw 100 Sistemas opernvos Aspetiog interes y principio ae dieo Table 26. Algunas sefales de Linux, SIGHUP —Descoreni6n dewnterminal _SIGCONT sigur sigtstP SigTRAP starTOU ieaus siGxcru Sigkitt SIGVTALAM sigseqv sicwncl sigpipe sicpuin SictenM sicarian SIGCHLD Cambioenetestado del iio SIGRTAMAX Cima sel de dem rest Tobla 2.7. Algunas llamadas al sistema de Linux, _y posiblemente ces un fcher0 0 dispositive, Lao un desriptor de fichero. sclbe a ras de un descriptor 6 Rehove, et priority. max. ieacion (por i setschedutor schol er. get interval timespee apuntsds por ol parémet to de tempo round obi shed yield tonese se movers 0 proceso se pon: Lusva a abo opereciones en determinados miembros dal conjunta de semap femsforos sent hme shmett ind -Esiabigee ura conexién entre el socket dado yo socket arocad te con socked, ‘gothosename send setsockopt Envi ‘erento module partes an memeria 9 un fcreo 8 un disco y aspera | gostve Informa ue lode Ie poas atén 8 feyne. ‘query module es una eolecign excelente de anfeulos que cubren operativos& lo lzgo de los aos. tmiento excelente de ls aspecos temas de UNIX, que proporciona un anilisis compa ran nimero de variantes, es [VAH496). Pera UNIX SVRS, (GOODSSI proporcions un 3s detalles écricos. Para el sistena académicamente popular Berke ley UNIX 44BSD, [MCKU96) es altamente recomendado. [MAURO] proporciona un buen lomes operatives, Aspoctos lates y princinis de diseho miento de los aspectos intemos de Solaris. Dos buenos tratamientos de los aspetos intemos de Linux Se recogen en [BOVED3] y (BAROO} bles tbos sobre vari versiones de Windows, hay curiosamente poco mate- ial disponible sobre los aspects intomos de Windows. [SQLOOD} proporsiona un treamiento exce~ elas aspects intermos de Windows 2000 y gran parte de este material es vido para poserio- nes. [BOSWO3] cube part de los aspectosinternos de Windows 2003. Aunque hay neo ‘BAROO Bar, M. Linux internols. NewYork, MeGraw Hil, 2000. ‘BOSWOS Boswell W. inside Windows Server 2003, Resing, MAsAddson- Wesley, 2008, 1A: O'Rei, 2008. ‘BOVEGS Bovet, Dy Cosa, M Understanding the Linux Kernel, Sebstog RIND Brinch Hamat, P Classe Operating Svoteme From Butch Processing to Distributed Systm Now Nod: Spang Verag, 200 1 Ihe Magi Garden Exlaned The internals of UX Syste Vl ice .G00004 Geedhest 584. Englewood [MAUROI Mauro, J ¥ MeDoupll, R Sl rosystems Pros, 200% MexUR MeKusek Ml: Boat K; Karls, Mz y Qusrtermai, J “14880 UNIX Operating System. Reading, NA Aaizan We is Internal: Core Kemal Architecture. Plo Alto, CA: Sun Mi- Design and implementation ofthe "0. INUTTOS Nut.6. Operting Syatem, Reading, MA: Adsison Wesie, 2008 ‘11808 siberchat, A Galvin, P:y Gagne,G. Operating Syatem Concepts with Java, Reading, “adcison Wesley, 2008 {801000 Selomen,D. Inside Mirosoh Windows 2000, Redmond, WA: Microsof Pres, 2000 “TANEDY Tenenbavin, A. Modern Operating Systems Upper Saddle River, NL: Prentice Mal, 001, rnalesThe New Frontiers. Uppor Saddle Fiver, NJ: Prentice \VaHA9s Vatalis, U. UND SITIOS WEB RECOMENDADOS + El centra de recursos del sistema operative. Una coleccién wil de documentos y ariculos sobre un ampli rango de teas de sistemas opertivos, e los sistemas operativas. Una extensa re ibn de sistemas opertivos comerci- rmacign sobre una varied de sistemas operativos. + Grupo especial de interés ACM sobre los sistemas operatives. Informacin sobre publica- clans y canferencias SIGOPS, + Comité Téenico IEBE sobre + La FAQ composresearch. FAQ amplio y wlido que cubre aspects de diseio de los siste= sae operatives. Introduccion aos sistemss operatives 103 + Unlverso Guru UNIX, Fuente excelente de informacién sobre UNIX. + Proyecto de documentacidn Linux. El nombre describe el sitio, Context de Mentor Procesamiento seis Direscién fi Direceisn rat Monitor residente Proceso Rounet-obin 6 turn rotetorio Sistoma batch 0 on lotas Sistema bat en lates sultiprogrameds Monoprogremacisn Diesen views Estado dol proceso GGestsn de mamaria Sistema de tiempo compara Intorupeisn instuccién privlegieds Lengusie de control de rob 9joe Microncieo Procesamiento batch © en lotes ‘Tiempo compartdo (CUESTIONES DE REPASO 2.1. {Culles son fos tes objtivos de dsedo de un sistema operative? 22. {Qué es el nécleo de un sistema operativo? 23. {Qué es multiprogramacis 24. Que es un proceso? 25. ¢Cém9 utiliza el sistema operative el conexto de ejecucién de un process? 26. idades relacionadas con la gestién de alma: 2.7. Explique la distincin entre una direecién rely una direccin viral. 28. Describe ls ienica de pl 29, Explique la diferencia ente un nlcleo monol 2.10, :En qué consiste el uso de PROBLEMAS iene un computador multipeo En un periodo de computaci¢a 7. un wabsjo gosta po en BIS y Ia otra mitad en activided del procesador. Cada trabajo ejeeuta un 104 ios de ciseo 3 ASpectos ineres yp Siiomas opera robin simple, que las operacio- periados, Asémase que se liza una planifieai6n Tas siguientes res de E/S se pueden solapar con las operaciones del processor cantdades + Tiempo de servicio =T mpo gue el procesadoresté active (no es- 20s, asumiendo que el pe ERS, segun ) Primero y cuarto euaros F/S, segundo y tercercuanes procesador. 2.2. Un programa ‘operaciones de E/S que Yo contario. Supéngsse un al programas que han utilizdo poco tempo de lgoritmo favoree & los pros po de procesador a los programs dos pr el procesador. 2.3, Contaste las polticas de planificacién que se podefan uilizar cuando se intenta opt ‘un sistema de tiempo compatda y aquellas que se ul de IBM, 05/390, uno d System Res Jos espacios 2.5, Enel sistema ope gestr de recursos dl sistema ($ ble de Ia asignacion de recurs ‘maria realy candles de ES. SRM acumula estad procesador,canales y varias estueturss de Gimiento ptimo basado en moniterizacién y varios objetvos de renéimiento y ésas sven como guta al SRM, que modifica dinémicamente la instalacién y las caracterisicas de readimiento de 1s uabajs baséndose tema. Adicionalmente. SRM propercionainformes que permiten al ‘operador entrenadorefinas ls configurscionesy el establecimiento de parémetros para me- e usuario. 1 se divide en bloques de igual aio lamados marcos, de los cuales podria haber muchos miles. Cada marco puede contener un bloque de memoria viru, conocido coma pégina. SRM recibe el contol sproximadamente 20 veces cada segundo, inspecct 2. Sila pégina no se ha referenciado o cambiado, PARTE II PROCESOS izaci entre proceso, Para consegu tna estrctura determinada para cada proceso que escriba: stem operatvoestabecer el contol sobre los procesos. rocesos que se ejecuten de forma sim la problemitica deta gestidn de procesos se encuentra roduccign del concepto de ilo iead). En un sistema multi, cancepto de iene los aributos de la propiedad de recursos, mientras que los aspects de la ejecucién ‘que ejecutan dentro de ese CAPITULO 3. DESCRIPCIONY CONTROL DE PROCESOS El objetivo de los sistemas operativastradicionales es Ia gestion de procesos. Cada proceso se en- ‘venta, en un instante dado, en uno de los diferentes estados de ejecueién, que inelayen tando. y Bloqueado. HI sistema operativo sigue la taza de estos estados de ejecucion yg ‘movimiento de procesos entre ios mismos. Con este fin ef sistema operativo mantene unas estructu- 12s de datos complejas que describen cada proceso, El sistema operativo debe re ‘operaciones de planificaciny proporcionar servicio para la companicién entre procesos y la sincrontzaci6n, El CCaptulo 3 repasa esis esructuras de datos y las tGenicasuslizadas de forma habitual por los ras operatives para la gestion de proceso, 108 stivos. Aspects intrnos ¥pacipios de aisedo CAPITULO 4, HILOS, SMPY MICRONUCLEOS dimiento. mas que tienen rm sistemas operatives modernos son las multiprogramacin y sdamental para ambos, y Fundam’ El Capitulo 5 repasa dos aspect ratamjento de los aspectos 4 le concutreaca, comenzando por un repaso de les coasideraciones de dsefo implicadss la proporciona una zevisién del soporte hardware para la concursencia presentando vs importantes para dare soporte: semsforos, monitors, y paso de mensajes, CAPITULO 6, CONCURRENCIA, INTERBLOQUEO E INANICION de la concurencia, Un inerblogueo €s una situa en la EI Capitulo 6 muestra dos aspect info completen una eperacién cual das 0 mis procesns estén esperando a que otros miembros del co CAPITULO 3 Descripcion y control de procesos 34. 20 un proceso? 32. Estados de fos pracesos 3.3. Doscripcin de los procesos 3.4, Control de procesos 35. G do procesos en UNIX SVS 26. Resumen 3.7 Lecturas reeomendadas Términos clave, cuestionss de repaso, y problemas 08 Sistemas operatives. AspectoeIntoras y principos de asero| + El sistema operative debe intercalar a ejecucin de maltples procesos. para maximizar la ut- n del procesador mientras se proporciona un tempo de respuests razonable Se comienza el estudio dello de los sistemas operatives e Jos procesos. Después de una introduccin al contepio de pr Jos proceso, qu carat ‘ejecvcién de los lo 4 proporciona, CONCEPTOS PREVIOS finr el srmino proceso, esti recapitular algunos de os conceptas ya presentados en los y2: 4. Une pltaforma de computacign consste en una coleccién de recursos hardware, como proce sador, memoria, médulos de E/S, eles, unidades de disco y similares, 2. Las splicaciones para computndores se desartollan para tealizar determinadas tareas. Svelen sceplar entradas del mundo exterior, realizar alin procesamiento y genera salida. ~ Besetipeién y onto! e procesas 109) = peta opin ma epee wom» as lanes pueden saitary accede. Los recur cidn de aplicaciones de forma, + Los recursos estén disponibles para mii + El processor fisico se conmute entre miltipls aplicaciones. d forma que todas Heguen 2 procesarse. + Elprocesador y os dispostives de E/S se puedan usar deforma eficiene El enfoque adoptado pot tados lo sistemas operativos moderns zcae en un modelo bajo ef cual la eecucin de une apliaciéa se correspond coa la existencia de uno 0 mds process. PROCESOSY BLOQUES DE CONTROL DE PROCESOS Se debe recordar que en el Capitulo 2 se sugirieron diversas deiniciones 4 téehino proceso, i+ cluyendo: + Un programs en ejecuci6n, + Una instancia de un programa ejecutado en un computador + Laentiéad que se puede asgnar y ejeeutaren un procesador + Una unided de actividad que se caracteriza por la eecucisn de una secwencia de instucciones, ‘um estado actual, y un conjunte de recursos del sistema asocis. También se puede pensar en un proceso como en na entidad que consistéen un nimero de ele- renos. Los dos elementos eseacisies serfan el cédigo de programa (que puede compartrse con ‘otros procesos que estén ejecutando el mismo program) y un conjunto de datos asociados & dicho 1 fT 0 Sistemas operative. Aspects intnos y prnapioe de sero + Identificador. Un identificador tnico asociado a este proceso, para distingutlo del resto de procesat + Estado, Siel proceso est actualmente coriendo, esté en el estado en ejecucin, 1 eltivo al resto de process. + Punteros 9 memoria, Incluye Jos punteros a} céidigo de programs y los dates asociatos «ci ‘cha proceso, ademas de cualquier Bloque de memoria compartid can otros proceso. + Datos de contexto. Estos son datos que estén presente en los registos del procesador cuando el proceso esti cortendo, crea y bogie vo en relacién al bloque d= control de proceso, o BCP, es que con un instante determina, como miximo un dico proceso puede estat corriendo y dicho precesae en el estado en ej Deseripcln y contol de procesos 111 Teeieatoe Figure at. Bloque de conta de programs (8CP) riza el comnpontamiento de un determinado proceso, stand la secuentia de instue- pare dicho proces A. uta 4 instrucciones y se asume que la cuara intruccién invoce una operacién de EIS. 9 la cual el proceso debe esperar. ‘ora vea esas trazas desde el punto d twelazades resultante de los 52 primero celos de nes han sido numerados) opesador. La Figura 34 muestra ls cucién (por conveniencia los ciclos de tema oper 12 10s, Aspects intenos y principe de sesho Diss Mess Coniadoe de programa ‘de control de proces [No Ejecutando. El pr 2000 reprises Figure 3.2. letantinen de un ejemplo de ejecus Figura ) en cco de Instuzcibn 18 002 (0) Traa dt Proceso B eel programa del Proceso A ‘8000 Diresian de cemienco ei poyrama del Proceso B 12000 = Dress de comienco del po ‘Temporauisn| de temporizacign. el procesador vuelve proceso B ain estrd espera que se ‘nuevo al proceso C. 14 Sistemas operatives. Aspactos Interns yprinciies de diseho 8 ejecutar. El proceso salente pasaré del estado Ejecutando a No Ejecutando y pasard a Bjecutando un nuevo proceso Deeste modelo simple, ya se puede aprecia algo del disefo de ls elementos del sistema oper vo. Cada proceso debe representarse de tal manera que el sistema operativo pueda segirle Ia pi Es decir, debe haber informacion corespondiente a cada proceso, incuyendo el estado actualy su, calizacién en memoria; exo es el bloque de control de programa, Los procesos que no estin ee ‘do deben estar en una especte de cola, esperando su tumo de ejecucicn. La Figura 3.5b sugiere esta ‘xtrctura, Existe una sola cole cuyes entradss son punteros el BCP de un proceso en particular. Al. temativamente, la cola debe consitc en una lista enlazada de bloques de datos, en la cual exda Blo. aque representa a proceso; exploraremias posteriorment esta tltima implementacia, Podemos describir el comportamiento del activador en términos de este diagrama de colas. Un proceso que se inerrumpe se transfer le cola de procesos en espera. Altemativameate, sl proce- 2ado 0 ha sido abortado, se descana (sale del sistema). En cualquier easo, el actvadr se proceso dela cola para ejecutar. (CREACION Y TERMINAGION DE PROCESOS ‘Antes de intentar refinar nuestro sencilla modelo de dos estados, resulta i! hablar dela crescign y terinacién de los procesos; por thtimo, y de forma independiente del modelo de comporiamiento de procesos que se use, Ia vida de un proceso estéacotada entre su creaciny su terminacin Creacion de un proceso. Cuando se va a aadir un nuevo proceso a aquellos que se estén ges- tionando én un determinado momento, el sistema operativo consiuye las esteucturas de datos que se usan para manejar el proceso (como se descrbid en la Seccién 3.3) y reserva el espacio de di- ‘ecciones en memoria principal para el proceso. Estas acciones constituyea Ia creacin de un nuevo proceso. oF Enda THI aciaciin fs Sate ve | Figuia 35, Modslo de proceso de dos estados. Deseripcién y contol de prosesos 118, Existen cuatro eventos comunes que llevan a la creacién de w bla 3.1. En un entomo por lotes, un proceso se crea como respuesta a una solicitud de trabajo, En un un proceso Se crea cuando un nuevo usuario entia en el sistema, Ea amos casos 19s responsable dels creacin de nuevos procesos, Un sistema opera in, crear procesos. Por ejemplo, si un usuario solicita que se imprime un fe ‘hero, el sistema operative puede crear un proceso que gestione la impresi6n. El proceso puede, de esta manera, opetarindependientemente del tempo requerido para com impresin. TABLA 31, Sesion ‘creado por active 1, un sistema operativ creabs todos los pracesos de una forma que era transpa- rente pars usuarios y programas. Eso anes bastante comin en muchos sistemas operativos contem: pornos. Sin embargo, cin esté gene ejecuta en paraela con el proceso org otganizaciGn puede ser may dil en la estructura cin. Oto ejempl, un pro or (por ejemplo, un servidor de impresoras. servidor de fcheros) puede generat un proceso por cada Solicitud que esté manejando. Cuando un sistema operativo erga un proceso 8 ‘otro proceso, dichaaecin se denomina ereacin del proces. procesos necesita comunicsci6n y coope ‘area complicada para un programador; este as- en un sister de vempo companido. el proceso de un usuario en particular puede terminar cuando el usuario sale de sistema o apaga su terminal En un ordenador personal ona exta- cidn de trabajo. el usuario puede salir de una splicacién (por ejemplo, un procesidar de texto 0 116 Siewomas operatives. Aspectos interes y princpos de sero Tabla 32, Razones para la terminasién de un proceso. Memoria ne dsponibie Votsionas de rontere or tempo un fiero, al ave no Error de proteceion fala de una forme no propia, rrr arti te de ampe process i 1} esuliedo do 9 838 > vn bv02-d0 tee ya Intan 2e eecute” thes dates), proces inteta ular una istics reserva a itema opertivo, Une porcién de detos es de po erréneo 0 no se encuentra Descrincisn yeomal de socszos 117 Por timo. en cienos sistemas operatives un procescrpuede tennitanse arpa de-proceso ge lo cre6 © cuando dicho proceso padre a su vez ha teminado MODELO DE PROCESO DE CiNicO ESTADOS em prepurados pars ejecutr a gestién de cokes proporcionada « 42 tipo FIFO y el pracesader opera siguiendo una Si todos los grocesos estuviese 108, para ejecuar y regress d 12 e bloguee). Sia embargo, hata cq e seco ejemplo que vimos antes, est implen lacidn es inadecuada: algunos procesos que estén en el estado de No Bjecurande ex ‘loqueados,esperando & que se complete una operasién de E/S, Por etivador ng puede seleccionr Unieamente los procesos que leven ds tiempo ep Ja cola En so han ig buscando Jos poscescs que no estén blo {queados ¥ que lleven en la cola mis tiempo. ‘Una forma mas natural param ips 3.6, Para genionaro cor + Bjecutando, El proceso esté acualmente en ejecucidn. Para este capitulo asumimos que el ccamputador ene un nico procesador, de frma que sélo un proceso puede esar en este esta- {doen un instante determinado, + Listo. Un proceso que se prepara para ejecutarcuande tenga oportunia. + Bloqueado, Ua proceso que no puede ejecuar hasta que se cura un evento dete se-complete una operacién ES, + Nuevo, Uin proceso que se acaba de crear y que ain ng ha sido admitido en el grupo de proce- 08 ejcutabes por el sistema operativo.Tipicamente, se tata de un nvevo proceso sido catgado en memoria prinsipal, aungue su blogue de control de process (BCP) creado, + Salient. Un proceso que ha sido liberado del grupo de procesosejecutables por el sistema ope- ava, debido aque ba sido detenido 0 que ha sd xborado por alguns raz, => @- @- inado 0 Figura 36. Modelo d proces de cinco estados 18 10 y prinlpos decison Sistemas operativos. Aspectos Los estados Nuevo y Salient son tiles para consul gestion de procesos. El estado Nuevo se cortesponde con un proceso que acaba de ser defnigo. Por ejemplo, si un nuevo usuario intent entrar ‘Geni de un sistema de tempo compart o cuando se solicit un nuevo trabajo aun sistema de proce $50 por fotes,e sisters operaivo puede definir un nuevo proceso en dos craps. Primero, favo realna todas Tas trea iatemas que estespondan. Se ascca un id reservany consiuyen todas aquells tabs que se neces proceso se encuents el estado Ni significa que 1s necesarias para eear el proceso peo el proceso en el nmero de procesos que puede haber en el sistema por rez jeiones de memaria principal. Mientras un proceso esté en el estado Nuevo, Operative se mantene en tables ar al proceso. En este punto. el sistema operativo ta realizado todas las ta- inno se ha puesto en ejeeuein, Por ejem- no se encuentra en memoria prin ‘en memoria principal, y nose be reser- arama, Cuando un proceso se encuenira en el estado secundario, normalmeate en disco, stem en dos fases. Primero, el proceso termina cuando De forma ,cvando es abortado debido a'un error no recuperable, 0 sleanza su punto de ‘cuando otre proceso Se crea un nuevo proceso para ejecutr un programa, Este evento ocurre por ines indicadas en Ia tabla 3.1 + Nuevo —> Listo, El sistema operative mueve 2 un proceso del estado nuevo al estado listo cuando éste se encvenre preparado para ejcutar un nuevo proceso. La mayoria de sistem Fijan un limite basado en el nimero de pracesos existentes 9 la cantidad de memoria vinuel ‘que se por rlzar por pane de los procesos existentes. Este limite asegura que no haya de ‘asiados proceso activosy que se degrade el rendimiento + Listo ~»Ejecutando, Cuando iega el momento de seleccionar un nuevo proceso pata ejecuar, tema opertivo slecciona uno les procesos que se ehcuentre ene estado Lisa, Esta es una lanficador. El panfieadr se estudiar mis adelante en Ia Pu Curto. fe cciaed sme dooe nel op ‘nsecipcion conto! de procesos 119 + Ejecttando > Listo, Ls raz6n mas habitual para esta transicién es que el proceso en eje- cucién hays alcanzedo el méximo tiempo posible de ejecucién de forma ininterrumpi pricticamente todos los sistemas operativos multiprogeamsados imponen este sipo de res ign de tiempo. Existen otras posibles causasalterativas para est transicion, que no estén Jncluidas en todos los sistemas operatives. Bs de particular importancia el c8s0 en el eval ef sistema operatvo asigna difereates niveles de prioridad a diferentes procesos. Supénsase por ejemplo, que el proceso A esté ejecutando a un determinado nivel de proceso B, aun nivel de prioridad mayor, y que se encuentra bloqueado. Si el sistema ope- tativo se da cuenta de que se produce un evento al cual el proceso B esté esperando, move- eso A y poner en ejecu sado al proceso jonalmente, un proceso oluntariamente 2 ‘ejemplo ton los process que re forma peridaics, + Ejecutando -> Bloqueado. Un proceso se pone en el estado Bloqueado si solicita alg por lo cual debe esperar. Una soicitud al sistema opeativo se realiza habit por medio de sistema; esto, una llamada del proceso en ejecucidn a un pracedimiento que parte del eéigo del sistema operativo, Por ejemplo, un proceso ha solicitado un servicio {que el sistema operativo no puede por ejemplo le. Cuando un proceso quiere iniciar une aceién, tal como una aperacién de EIS, que debe completarse antes de que el proceso contin. Cuando un proceso se comunica con otro, un proceso puede bloguearse mientras esté esperando a que otro proceso le propor- Cone daios 9 esperando un mensaje de ese otro proceso. Bloqueado > Listo. Un process ea estado Bloqueado se mueve al estado Listo cuando suce- Ge el evento pore cis estaba esperando, lente, Por claridad, esta transcidn no se muesia en eh diagrama de estados, En padre puede terminar la ejecuci6n de un proceso hijo en exalquier mo- pare termina, todos los procesos hijos asociados con dicho padee pue~ + Liste > lema, se colocs en la cols de ‘otro proceso ejecutar. se 39. cuando sucede un evento, cualquier proceso en la mente estéesperando a dicho evento, se mueve ala cola de Listos. Esta reac Epcen et endo ¥ pe Oo tres Jeti assess aura Figura 37. Estado los procetot dele 14s operativos con muchos proceso eto puede significa cientos 0 ‘mucho mds eficent tener una cola por cada evente, De lisa envera de pracesos de fa cola comespondiente se mover do éstas en orden. PROCESOS SUSPENDIDOS in del sistema qpeativo. Se han construida algunos: esiados. una buena justi sor y 1a E/S es tal que seria muy habitusl que todos ls peras de dichas operaciones procesader puede este ocioso la mayor parte Qué se puede os falos en esta sol Deseripcion y contol de pr sean TT 1 de bytes, comienza a incrementarse sean nos acercamos a un almacenamiento i de memoria ha crecido tan répido como ha s memorias, De forma que las grandes memovas atuales han Nevado a ejecutar rocesos de gran tamaita, 00 ads proceso, " ‘otra solcign es el swapping (memoria de inercambjo), que implica mover parte @ todo el proceso anda ningune de los proces ex memoria principal se encuentra en es- El swapping, sin embargo, es una oper de EIS, portato ex aque ef problema empoore. Perm debido a que Ia E/S mplo, comparad con ci ssenpping tal y como se hs escrito, debe aadiese un nuevo estado 9 nuestro modeTo {be comportamiento de procesas (Figura 3.99): el estado Suspendide, Cuando todos los procesos en d 22 Sistemas operatives. Aspatosinternos y princlnos de csoho ‘memoria principal se encvenian en estado Bloqueado, el sistems operativo puede suspender un pro 230 poniéndolo en elestido Suspensido y ansfriéadolo# disco. El espacio que se libera en memo. ria principal puede usase para traera otro proceso stems operative ha realizado la operacién de swap (transferencis iene dos opciones para seleecionar un nuevo proceso para traerlo a memo encontrase en estado de Suspendido, Parece que seria preferibletraer un proceso que anterior estuviese suspendido, para proporcionar dicho servicio en lugar de incrementar la carga total del tearse todavia estado Suspen¢ Jar, Cuando el eve su ejecucisa, De esta forms, necestamos replantear este aspecto del disefio. Kay dos conceptos independientes qut: si un proceso esté esperaaia a un evento (Blogueado 0 no) y si un proceso estétransferido de moria a disco (Suspendio o no). Para describe ests combinaciones de 2 * 2 necesitamos CUstro ads ‘buer trier un proceso bioyseade de nuevo a memoria porgue podria no encon- 0 para Ia ejecucidn. Se debe reconocer, sin embargo, que ‘das los procesos en cede, el proceso no esté Bloqueado y est potencislmente disponible para + Listo. El proceso estéen memoria principal disponible para su ejecucin, + Bloqueado. E proceso ests en memoria principal y esperando in evento, + BioqueadolSuspendido. EI proceso est en smacenamiento secundaro y esperando ua evento, + ListolSuspendida. E proceso est en almacenamiento secundsséa pen etl disponible para su Listo/Suspendido. Normalmente, un proceso en ejecucién se mueve a la cola de Listos cuando su tiempo de uso del procesadot finaliza. Sin emiba is le lel processdat finaliza Sin embargo, si el sistema ‘operativo expulsa al proceso en ejecucién porque un proceso de mayor prioridad en Ia cola ‘operativo puede mover al pro- estado Salent, Habinsmen un proses pia cuando et jean, bien ou ha compo ject oto au conn de al in ‘tnbargo, en stem prio on ne ones re Peo eo ee puede moverse al estado Saliente. Frame cio ts ses en cuales eso Otros usos para la suspension de proces. cps, hi efit conse de roe ss Speier eae cein nme ie, Uh pana eo a she cp nt apni de mata pu es, penne osemos aia concep de pois suspend, defen elqiecinple a sigetr cance Po tnon Minera posi redo cone 1. Bl proceso so est rediatament disponible para su eecucin Descrgeibn yeontot de procesos 125 do logue rade on event. laquea, e500 endido.y s sucede el 2V0N0 EE proceso puede estar ono ala esp nie de Ia condicisn estar 8 fta al proceso para su ejecucién medias ido por un agete roceso ‘sw jee. puesto en estado ss sna operativo, cn el propdsto de peer de este esto hasta que el agente explisiamenté asf 10 4. El proceso no puede set recuperado ara la suspension de un proceso. Tebla 33. Razones p ra operaivo necesita vere utente mernoi rnc: seriaiprosesoenestaco isto de ecucion. ‘swapping me opera puede suepender un proceeo en segundo paiand on proceso qoe se sospecka pus ca Ser alatn problema | ures razones del sisters operative Un usuario puede desear suspende Wa Son motve de su depurain o para ext Un proceso puede sect five mostor de . Fnceree mientras espe el 9 querer suspender ro modifeat sda Solicitud interactva dal usuario Temporiacion el proceso pace Moco de. La‘Tabla 3.3 muestra una lista de las condiciones para la suspensiGn de un procese. Lin de las zones gue heron dscutidoanerionmente es proporcona espacio de memoria para watt potsns ©) eitscendidos 0 para increment el espacio de memoria disponible para Ios procesos estado Cae Pecan operative puede tener ores motivos pare suspender un proceso. Por ejemplo, Se peeac tsar am poveso de raza ode aio para monitorizar una avid esses! Bos, eaersde rocoger datos a nivel de wlizacion de vaios recursos (procesidon memoria, cas)» it rooesos en el sistema. El sistema operatvo, balo el control del opera ino de progreso de wo ae er eat detotvar ee proce con deteminaa prod, Sel sitema operat de> races pec qe poede haber un problem, puede saspender procesos. Un ejemplo dees “sloguro, que'ya fe dscutrd en el Capitulo 6, Oto ejemplo, se dtecan problemas ne operador solicit al sistema opersivo que suspends el proceso que ines hasta realizar algunas pruebas ‘on el uso interactivo dl sistema. Por ejemplo, si los tipo de bug. se puede detener Te ejecucién de dicho fos yreanudéndolo de nuevo. O puede ha dscns, el cual puede ser activado por (Otro tipo de razones estén relacionadas usuarios sospechan de un programa con alain programa, examinando y modificando el programa y sos da ‘ecun proceso en segundo plano que recolecta trazasy ex pare del ussario, ‘Algunas consideraciones de tiempo también pueden tlevat jenn un proceso se activa periéicamente pero est cioso la mayor par del empo pds ot correio's disco entre cada una de las ejecuciones que realiza Un ejemplo es un programa que moni foriza la utilzacién de sistema y ls actividad del usua0. a activar decisiones de swapping. Por ender un proceso descendiente. Por ejemplo, proces proceso B encuep. side al proceso B e ica al proceso A. El proceso A tun proceso Suspend se solicta yor medio de agente que feu memoria virwal. Cada proceso, durante el idl E'S que est asignada a Pl, tanto suspendide, Explorarermos los deualles dela gestin de estos recursos por pane del sistema operativo en los 3s eapitulos. Aquf os interess una cuestin més fundamental: ;qué informacion necesita ‘Sistema aperativo para contol los pocesos y gestionar los recursos de estos? ESTRUCTURAS DE CONTROL DEL SISTEMA OPERATIVO ie cepa Descrioein y control ao proceses 127 «+ Todos los arbutos de proteccidn que resting el uso de fa memeria principal y virtual, de for- sna gue fos process puedan acceder a ceras reas de memoria Compa + Le inform in neceseria para mane)ar la memoria virtual. Veremios en detalle las estrctras de informain para la gestién de memoria en la Parte Tres. El sistema operativo debe ccanales del computador. Pero, en un vo antiga pede mtn ss tabas de Ficheros Ess was popriontn ft \én en almacenamiento secundario, su estado se pie — ("| LJ igure. svc gener eas abs do contrl dsl sisters operative 128 ioe ae soho Sistemas operative. Aspectosinternosv prin tual, y ows atributos. La mayorfa de. précis mene toda, esta informacién se puede gestionar por Ps las de proces es. Primero, a pesne de que la Figura 3 ar claro que estas tablas se encuentran entclezadas y referenciadas entre sf de alguna manera, Me moria, E/S, y Ficheros se gestionan por porte de los procesos, de forma que debe haber algunas referencias en estos recursos. directa indiretamente, desde las tabla de process. Los ficheros in- dicados en las tablas de fichetos son accesibles mediante dispositivos E/S y estaréa, en algin caso residentes en memoria virual 0 principal Las tablas sor también accesiles para el sistema operat vo, ¥ adem estén controladas por la gesti6n de m de tabs debe que- ales? Ciertame ‘como: cusnia, Segundo, :c6mo puede el operative debe 3, Est es una acceso ash: (0s de contiguracidn que definen el entomo bésico y estos dates se deben crear fuera del ss fem operativo, con asistencia humana © pot medio de alg software de autoconfiguraién cvesticn de configuracion. sgunos ESTRUCTURAS DE CONTROL DE PROCESO Se considerard qué informacién debe conocer e sistema operative si quiere manejr y contra ls pro ‘esos. Primero, debe conacer dénde esti localzados los proceso, y segundo, debe conocer ls arb tos de los proceses que quire gestionar (por ejempl jeador de proceso y estado del mismo), Localizacién de los procesos. Antes de que podamos tatar Ia cuestén de dénde se encuentran los procesos o cules son sus aributos, deberostrtar una cuestién mds fundamental: ,qué es Ia re presentac de un proceso? Como minima, un proceso debe ineluir un programa 0 un conjunto e programas a ejecutar. Asociadas con estos programas existen unas posiciones de memoria para los Gatos de variables locales y globales y de cualquier constante definida, Ast, un proceso debe consisie oaal- das a procedimientos y los parémeuos pasados entre dichos proc cada proceso estfasociado a un nero de aibutos que son wilizados por el ‘controlar el proceso, Normalmente, el conjunto de estos arutos se dnt del proceso (BCP). Nos podemos refei al conjunto de program, da imagen del proceso (Tabla 3.4), ‘La posicién de ia imagen del proceso dependers del esquema de gestién de memoria que se ce. En el easo més simple, le imagen del proceso se mantiene como tn blogue de memoria contigo. © continuo. Este bloque se mantiene en memoria secundaria, habitualmente disco. Para que el sistema operative pueda gestionar el proceso, al menos una pequefa porcién de su imagen se debe mantener Y atributos, conto ae deep del proc. Descrselén yeontol de procssos 128 seipal Pa eecutrel proceso a imagen dl proceso completa se be cargarenme- "I 2 bs ismo, el sistema operative necesita conocer 1a ne eo menor piesa spo SS losin an poco mie complee det esque £08 St €138, ee cape 2 Can CTS. can un poses resis # Geo tnagen del paces pemarese eh sta forma, ete a ee gages de ls tage el proceso se eneenta fdas en ‘Table 34. Elementos tipicos dela imagen de-an proceso, Detos dol usuario cuir datos de Programa de usuario Pla de sistema logue de conto de proceso cinos oponen a exitecia de hardware e ogni gue per ao congress prciame eee eh rp par dela agen del proceso se puede entra en dict i eri ecu De eta Toma, as as masters ind af gina de a iagen de rosso. dg de a sigue forma. Hay Jn enrade sonnel e705. ie logue, est infor Sponble prefer. ade memo For sopesio, esa sue epost B= ese tno propio de orgaizar esta nfomacicn ‘una tabla primar de procesos con un tn pureco ala imagen del proceso. Si main se marsiene directamente en sprogramade de i actusiad eqiere Atrbutos de proceso, Cuslgier stems operative malipror a Sn gn ed ino pt i tn p(B), os es a ra afgmacn de frnae Sets. lial deat apilo» enl pbs ae etaptrrenos smote el ipo de infemaca que ee doar caller Gale deco ets informacion 6 » exstenpnsin pa pr ein i, Cretan ee Teen Bees oman mens sora ene be a er ec mnt pia eve fal cop 8 PON SONI atc ride cn rman poco derorel en 180 Sistemas apecatvos. Aspectosintrn0s y prinipios de ‘bs Tabla 3.5 mucsia la fists de es tpos de categoras de informacin que e require para cada proceso, Resulia Sorprendente la eantidad de informacion neces sando se vaya apreciando con mayer exactitud las respoasabilidades del a parecerd mas razonable Poderossgrupar la informa del blogue de contol del proceso en tres categriasgenerales: + Identfcaci det proceso + Informacion de estado del procesador + Informacin de cont de proceso Tablas. Elementos ic08 de un blogue de control del proceso {8CP) Idemtiticecisn del procsse Idontiticadores leadoras numtricos que se pusden Guardar dentro del bloque de contol del proceso: identiadoree del proceso 8 este proceso (proceso padee) Informacién de estade dol procesador Registros vsiblos por e seuarto det lengusje sega Fegistros de estado y contro} fey un eran varades de regisos dl procesador que so bordamiento * lalemmacin do estado: inclyen los fags ee interupciones habiltadastie 898, Una ait se na defn prosecitricny homscoee H Esta es Elomentos + sto del proceso Indza #2 listo noel proceso para sor sanificado pare eu ejecucién [por Eloctan + Prerdact una 0 mis campos ou prozeso. Er elgunoa sistemas, avordiepont ipo que et proceso estaba esperand y 1a eantidad de tempo que el proceso "vez que estivo Coen, + Evento: denticr el evento a cual ! proceso ost esperando para continua su elagscién, structuractén de datoy Comunicacisn entre pracetos Se pueden asocarcferentes fags 40s indepenslentes.Alguna © toda Goetién de memoria ata seccin puede inlur puntoros tablas de sagmentos vo péginas que descrben la memoria vie ‘ual asignada a este proceso. 8 gu procera se ene asignda ca regi, Pueden apereer referents irs en Ficheros, Cuando un proceso se com dep ceso informa al sistema operacvo del destino de I cor proceso pa y icadores de proceso, a un proceso s¢ le puede asignar un identficador de suari es responsable del trabajo. 132 Sistemas oportivor Aapectoeinternoey princes de oizeso 2 Ys contends de tos registros del procesador. i es, por supueso. en los regi ttos depende del diseio del procesador. Ni bles por usuario, registros de contol y de estado, y Capito 1 de esa nfo fo en los sucesivos capitulos, parecer més clara Ia necesidad de algunos de los elementos de esta El contenido de esta figura no deberia modifcaree. La taduccign dels regisros de contol de una arquitectura en concreto no tiene mucho sentide, puesto que ls sizlas con las que se denotan estén en Inglés. El significado de dichat siglasy la taduceign det término se encuentran en a siguiente tabla. La Figura 3.13 sugiere cestuctura de las imagenes de los procesas en memoria viral. Cada Imagen de proceso consist van Bloque de contro de proceso, una pila de usuario, un espacio de di- fe drecciones que eb procevo compara con fe no tiene por qué sr el caso; dependerd del esquema de gestin 2 encuentrenoranizadas las estructura de control por pare del 0 ODI TISZL ALF PL JF,Fiele|FiP| P| iF DE = (ndicador de aie IF = (Inticador de inteupcioneshablitadas) TOPL = (Nivel de privilegio de E'S) (OF = (Indicedor de desbocdamient) (CE = (ndicador de acateo) Figura 3.12, Rogistra EFLAGS de un Peni 10 identi Bits de control AC Alignment check) AE (Resume fog) {0PL (0 privilege le 1 (Direction Nes) 1 Unneruptin enable fag) “TF (Tap fag) INT (Wested task ag) ‘VM (Virtua! 8086 mode iP (Vial interrep pending) UF (Virtual Interruption = peseiisny contrde precesos 123 ‘abla 36, ise registro EFLAGS de un Perum. eee 20, este procosador soporte faton fea) fan proporcionainfermgsi8n 80° 1 extensones de dopurecién expats ce inmesiatomenteoespoes Cuando ests sctivad, hace ae el procesede anres Sodas Tos ateeaos a lepestve de BS dure une OD ‘de modos de oporscién esactva el modo vitusl 8085, reione come # fuse una még a indicat que uns o més ite rmupeiones [Usado en mode virtual 8086 en lugar de Cédigos de condictén careo 0 resto entre medios bytes de une opert resent AF unr carry f28) a orltica « Wagien de 8 bits usando el registro AL tendo sary tren ttre 9 feo Pore oF (Gory fh _quierda después de una operacién Tanbite s Seren Spas operons oe So tow tena desl owe ow fo Indie un desordaiasts lover OF over . ‘suma o resta. yresutedo de ue operate arma o ge. Prey foo) Jad par; 0 indica paridad impar. acm atta 0 SF sion es) rm dn co print 2etzero m9) Fre ue el ead go une oper ete 0 ee Wesienorae cel el proseo Pade wa Como indi ral ncluyendo alas que se bloques d2 control de proceso, Por ejemph renter tl y como sugiere la Figura 3.14 ‘ue permitenenlazar bloques de e on et Ja seccin anterior pueden imple igua 38a se puede imple EI papel del bloque de contrat de proceso. El bloque de control de proceso es la més importan= ras de datos del sistema operativ. Cada bloque de contol de proceso contiene toda Los bloques se leen y/o se modifi iq sbbre un proceso que necesita can por {a prctice totalidad de Tos médulos del cin, la reserva de recurs esd del sistema operative, Esto muestra un aspecto imp. como un manejador de iterupcisn. puede daar fs bloques de fe destruir la eapacided del sistema para manejar los procesos 5 de control de proeesos paste Deseripeln yconitol de procesos 135, age const ‘Sces smodos de ejecucién, Ciertas in mere achive cay os & res de E/S ori ie pueden acceder en [0s m0 aria, porque fot programas de 9 Benrina modo sistema - legiado « menudo se denon! ms fodo, El modo ms priv fema aperatvo, que eS el sistema. La Tabla 3.7 fs mis importantes to del nicl del 136 Sistemas overatves. Aspectosinternos y principe de dseho Tabla 37. Funciones a a + Greacionyterminacién de procesos * Plonitleacisny sevacion de procesos lereamble ge proceso + Sineronizacin de procesosvsoposte para camunicscién entre proceso | + Gee#6n cto wioaues de contol de proces Gestion memorta + Reserva de espacio alreciones para los procesos + Swapping [+ Semon detain yeemanioe | + Gestion de butors Reserva de canales de 65 y de dispostivos ane Lome sador y de sus ‘or seguridad no es reco instrucciones,registros, y memoria, Este nivel de control no es neveson ‘sendabie para los programas de usvario, jAvaecen dos cvestons: mo condce el procesdo en gue modo es ‘node puede modifere? Eno referent apne cunion ee ea gs fe io de programa (PSW) que indica e! modo de ejecuciés determinados eventos. Habitalment, cuando as sasec 33 operative o evando una ierrpciondspars a shoves ae a odo nice sl fleas modo fe es canideranos el proceso intel hain go eter sl procesaor ten up esto de estado (par) us seh uprvite lve) EL Nivel O even ental cove oe s reso. La mayor dels ceo y uno dels oor nveles como mayor parte de fos bits en por rocesade layendo el in lng taser atemente pone en Ol ep. Al ral dela rina de mance de menane és, rena ei or ge leu es it iteupe recur). Esa instlceon hace got el eee aa Un see ear interumpido, que resaa au veel nivel de pegs deka oe si lamada al sistema, Para los Tanium, una aplicecién ma indicando un identificador de lamada de sisteme Descripcdn y contol de procesos 137 ndo una instruc reas definidas y poseriomente ej 0 usaria que tiene coma objeto tra especial que te puede lever eveacién de uno proceso, Unt vee vistas estienpositién de deserbir breve ver que et iteador de proceso inico al proces, Fn este instante, se afade una nueva ia primaria de procesos, que contene una e 1 igen del proceso, spocio de di ores se pueden asig 30 de proceso, o pueden fijaree en base la solicitud de creacign del trabajo remiide por el usuario. Si un proceso es creado por otto proceso, el pro- ceio padee puede pasar los parimitrosrequeridos por el sistema operativo como parte de la solicnud de lacreacin de proceso, Si existe una pane del espacio direcciones compari¢o por este nvevo proceso, se fijan los enlaces apropos. Por ultimo, se debe reservar el espacio para el blogue de contol de procesa (BCP). izaciin de} Mogae de control de proceso. La parte de igetiicacién de proceso del ‘el identificador del proceso asi como otros posible proceso padre. En le entradas a0, excepto el contador de programa (ido en el pu- {to entrada del programa) y los punteros de pita de sistem (fijads para defini os I pila del proceso). La pane de informacién de control de procesos se lores par omisin, considerando también los atbutos que han sido $0. or ejemplo, testo del proceso se pede in ido La prisda se puede fr, or defect, 4s piridad ms baja, a menos qe Ua nud explicit a eleve a una priordad mayor. niialmente, el proceso no debe poseer ‘gn recurso (disposivos de EJ, ficheros) a menos que existe wns indicacién explicta deel ‘ que haya sido heredados del pase. _Estabiecer los enlaces apropiados. Por ejemple, sie sistema operativo mantiene cada cola el planificador como una lista enlezada, el nuevo proceso debe situarse en la cola de Listos 0 cen a cola de Listos/Suspendidos. nar por defecio basindonas en el CAMBIO DE PROCESO A primera vista, la operacién de cambio de proceso puele parecer sencilla. En algunos cases, un pro- eso en ejecurign se interrumpe para que el sistema opertivoasigne a ot proceso el esto de Eje- cutando y de esta forma establecer el turno entre ls process, Sin embargo, es necesario tener en 138 Sistemas operatives, Arpetos Interns yprincpios de zona cuenta algunas conse nes de diseio. Primero, ,qué evento dispara los cambios de proceso? lebe tener en cuenta es Ia distineién entre cambio de proceso (process 0, que debe hacer el sistema opertiva con fe proceso puede ocuri en cuslguier ine 30 actualmente en ejoctcién. La ‘puede tomar dicho contol, Las primeras se producen 0eeso actualmente en ejecucién, por denominada rodaja de tiempo iad de tiempo que un p ado BloqueadosSuspendido al estado 1,s0/Suspendide)-F sistema operativo puede dee is eject de proceso actualmente en estado Fjecutando o silo expilsa para proce- er con a ejecucion de un proceso Interupeién eaceidn arte un evento externa Tap Manejo de una condiciin de enor 0 | ‘de miemoria se pase al estado de Blogueado; el sistema operative reuli un cambio de proceso y pone a ejecutar a otro proceso. Después de que el blogue de ‘memoria soiczado Se haya traido, el proceso pasar al estado Listo. un procedimignto de recupe tanto un cambio de proceso como J Por slkimo, el sistema operativo se puede acivar por medio de una Mamada al sistema proceden- te del programa en ejecuci6n. Por ejemplo, si se estéejecutando cin que in com abrir un archivo. Esta fa que es pare del cédigo del implica en elgunos easos que el proceso que Is realiza pase al tado de Bloqueado. bio de modo, Ea Ceplias 2, discutinos in de una fase de interupcion éémo pare Juento a ararce,devaeve decor acta Sa cara ra wae so Soe proporconar Un Imensale de err sproplado, Ente mandsto debe modifies también la variable de entoma in bin lavage de ent are pata de shacton> 1 conten de iv, environ muestra todos las variables de entorno ‘ean - muestra 0 ‘os miles otabuladves se reducen a un 3 vs ne1p~ muestra sh anual de uaro usando elitr mor. 6 mandatos hata que se puts ‘onde #seher- loses se supone que conten tinea de mandates par lntepete Guendo se 19a inal dol cher, a iterpret de mandton be termina Obvioment, se) pret se Invose Sn argumentos de ented, soistaré os mandatos el usveri via corsa Jc mandats cob epanerredesin de 5, sobre stsinylo sou Fr elem, a promot al usar, 6, El prompt debe indicarl ruta dl directorio actu iretain ><, Sie en at Requlstos ete un ni ‘os Pattorma UND sec fen sean (m2 deforma que Eonceptoconsiceraciones ‘heros del proyect ste mansal de jaded y bien sineado es mucho mas au eéaigo puods entender conf f conpLant/a¥ tutor: Ones Fl syahell: myshell.e uthiity-< 1 dl aakesie de eaxetite syshelle veanty.€ | eadne ato Biaral programe. Si ae incuye une ‘que todos [os argumentas en ‘ybauxground a) eetarin separa ii por espacios en'blanca = uno © mas espacio Wo tab 1, El céigo fuante DEBE ostarextensamente cor Goa sus colages compronderte y dete manteni Descrincién y contol de procetos 155; ona fs entomno into 6 £1 nake 1 (on eas mindseules, por favor) DEBE gsnorar un Unajemple da raxetite f Pepe Potene, 21294687 ~ Proyecto 1 de 60 3 syste. fee all myanelL.e vtslity.¢ -0 ryshelL | expragrame mysheLi se genorerd simplemente teclesndo nate 60 lo DEBE comenzar par un tebulado: 2. Enel eemplo mostradasrriba ls feherosincluidos en el un naxefie. Todos foe feherosincluldos en 34 fo, El aaeetsie debe i ieee usacefize debe constuir dich tba cimo usar el Intrprto. EI manual debe contaner suf i pincpiante on UNIX pueda use i seadne ¥ debe s3t UN docu ign, fcheros fuente 0 cbaigo. Est er un Manus de Usuario noun encillo que satistags los crterios antes mencionsdos 2 imple. Por ejem programs, si de Dosa 1 de mandats. iretoro deer 186 Sistemas opevetivos.Aspsetoeinernaey prince do sano CAPITULO 4 ———— Hilos, SM : y microntcleos” ‘ Procesos ¢ hls ‘ 442, Multiprocesamientosimetrica 43, Micromicteos 44, Gestién de bites v SMP en Windows fl 45. Gestién de hilos y SMP en Solas 46. Gestiin de procesos e ios en Linux 42% Resumen 48, Lecturas recomendedas Términos clave, euestiones de repaso y problemas — 158 ivos a a gestion de procesos que se pue- er lugar, S€ maesea 6m el concepto de be 1 dos Conceptos diferentes y poteciaimente independientes: uno relatvo ala propieded de recursos y otto felativa ala ejecacidn, En muchos sistemas operativos esta distincin a levado al desa tructurds conacidas como bilo (lireads). Después de analiza los hilos se pasa aver el de plaificarsimuleénzamente diferentes procesos en miltiples procesadores. Por el eoncepto de micronileo, una fora dil de estructura el sistema opeativo para de soporte al a- nejo de procesos y sus restantestareas. Tee Hasta este momento se ha presentado el concepto de un proceso como poseedor de dos caracte- risicas + Propiedad de recursos. Un proceso incluye un espacio de diecciones virtuale pare el miane- {jo ela imagen det proceso: como ya se expics en el Capitulo 3 la imagen de un proceso esta ‘oleccién de program, datos, ue de contol del proceso. De vez en evando a un proceso se le puede asignar contol 0 propiedad de recursos tales como 1a memoria pine i funcidn de poteccién para evita interferencias no degead8s ente procesos en relacifn can los + Planificactén/ejecucién, La ejecuci6n de un proceso sigue une ruta de ejecuein (raza) a tr vés de uno o ms prograrsas. Esta ejecuciSn puede estar interalada con e5¢w otros proceso. En la mayor pate de los te, esencia de un proces dependiestes y podrfan se civos, sobre todo en Los dest Unidad que se activa se suele deo Uahreai), 9 peaceso propiedad de recursos se suele denominar proceso 0 tarea’ n ole proceso. El enfoque tradicional de un solo 3 con el coacepto de hilo, se eonoce como estrategia mono sane a pare izquierds dela Figuea 4.1 son estategia monohilo. Un eje Hilos, MP ymictonéeteos 189 4 “a ee Figura 41. Hos yprocesos (ANDESTI 1 Gnico proceso de usurey un dic ila es el MS-DOS, Otros ss vdades de UNIX. soportan enltiples proceso: de “0 sa oprativo gue soprts ‘opeativos, como algunas varie Fig por proceso. La parte deecha de la Figaro 4.1 representa las esate sae Java es in ejeniplo de sistema con un Gniso proceso ¥ mt general det mecanismo m ‘ques de Windows, lars y Linux. En un entomo multhio, un proceso s€ define como la unidad de asignacién de recursos y una una de protesisa, Se asoeian con procesos los sigulenes espacio de direscions vrtuales que soport la imagen deh prosesa. archivos 1+ Acceso proegido a proesadores, ots procesos (para comunicacinentte proceso {recursos de ES (ispositvos y canales Deniro de un proceso puede haber uno o ms ilas. cada uno con: + Unestado de ejecucién por hilo (Ejecutando, Lis. et). «Un contexto de hilo que se almacena cuando ny est en ejecucién: una forma de vera un hi ts como un contater de programa independiente dentro de un proceso pila de ejecucin a, espacio de almacenamiento ara vriables locales. 160 Sistomes operativos. Aspectos internat y prnepioe de dseno + Acceso a la memoria y recursos de su proceso. c proceso Ia ejecuch lan por ee posto, cuando el proceso nose es jerds tnacen ef cetenio de eos regisros, En un entoro multiilo, sigue habiendo un dico bloque de contol del proceso y un espa cia de direcciones de usuario esociado al proce 5 varias pilas separadas para cada 3s valores de los repstros, la prior- del mismo proceso puede los provienen de Ia consecuencias del rendimient: ‘avevo hilo en un proc izadas por los que des westran que a ereacign de UNIX (TEVA87}, 2, Leva menos tiempo fi zmpo cambiar entre do tlos dentro del mismo proceso, 3 mejoran I efciencia ferns progam que esti je catando En la mayor pan dis sstmasopersiver: a commen ee posse inde ar un bilo que un proces Mele prose con oso de proceso ve inc inte ‘i [nee] [ies foe Figura 4.2. Modelos de proceso con un nico hilo y muti, Filos, SMP ymicrondeloos 161 0 para proporcionar proteccién y Jo os dentro de si se desea implementar jonadas, es mucho mis ef sun servidor de archivos. Cade vez ‘el programa de gestin de archivos puede ejecutar un nuevo crear y fnalzarén muchos hilosen un cor- une multiptacesadar, pueden estar ejecutando voceso en diferentes procesadores. Adem, ya que las ivos deben compart archivos de datos y, por tanto, coor 'y memoria compartda que sar procesos y paso de mem dor ya que ayudon asi tura de programas que realizan varias funcionts die [LETW86] offece cuatro ejemplos de uso de files en vi sistema de muliprocesamiento de un lo ejecua los lo, Eats forma de trabajo a menudo inremen- rmandatos de usuario y actualiza tala velocided que se percibe dela ‘mandeto antes de que el mandato anterior esté completed. Procesamiento asinerono, Los elententos asfneronos de un programs se pueden imple ontar como hilos. Por ejemplo, se puede diseBar un procesador de textos con proteccién Contra un flo de corrente gue eseiba el bujfer de su memoria RAM 2 disco una vez por minuto. Se puede crear un hilo cuyo Unico trabajo sea crear una copia de seguridad perid- icamente y que se planfigue dictamente 2 través del sistema operativo; no se necesita ‘c6digo adicional en el programs prineipal que proporcione control de tiempo o que coordi se Ja entrada/slida. + Velocidad de ejecucién. Un proceso multiilo puede computar une sere de datos mientras aque le los siguientes de un dsposiivo. En un sistema mukiprocesadar pueden estar ejecu- indo simaténeamente mvitiples hlos de ua mismo proceso. De esta form, aunque un ilo ‘boqueado por tna operacién de EIS mientras lee datos, oto hilo puede estar de programas. Los programas gue religan diversas taeas o que tienen plementar més facilmente ios, a planificacén y a etvacin se realizan a nivel de ayer pate de lain e estado relativa a a ejecucién se mantengs en inten, sin embargo, diversas aciones que afectan a todos los iw debe gestonara nivel de procebo. Suspender un proce- rel espacio de irecciones de un proceso de memoria principal para dejar hueco a oviones de otro proceso. Ya que todos los hilos de un proceso comparten el mismo En un sistema ope lo; de aqui que aructuras de datos a nivel de tle

You might also like