Sunteți pe pagina 1din 434
Sistemas operativos Aspectos internos y principios de disefio Quinta Edicién WILLIAM STALLINGS Traduccién y revision téenica Jost Maria Pea Sénchez Femando Pérez Costoya Maia dels Santos Pérez Heméndox ‘Vitor Robles Foreads Francisco Javier Rosales Gala Departamento de Aruitectray Teonologia de Sistemas nforméticas Facultad de tiformtca Universidad Poldenica de Madrid uen0s Aires» Caracas * Lima Made » México » Sana de Bo ig * Sho Peal» White Pains Montevideo «San Juan «Son José Todos os derechos reseradon ued prohibits, salvo excep penis en Ley csiuler mae Ab reprodacdn, itd, comunisedn pics ytansforrciin Ae esa obra sin cna con auiorzcia de lor itlrs ce pooped intel La incendie os derechos menionsos poe =, ons det con Ia poled ile (ars 2709 28% Chg Poa DERECHOS RESERVADOS 197005 respect al prizes ei ex castellano por PEARSON EDUCACION. $A, C1 Rober de Lola 8 2H042 Madi ap) in reimpresine 202 SISTEMAS OFERATIVOS Willam Stalings ISBN: 978.36-206-4462-5 Depési Legal: M-29.9562007 PEARSON PRENTICE HALL eeu ello editor auorindo de PEARSON EDUCACION S.A. Acted ansion fom te Engl anguae etn, ented OPERATING SYSTEMS, S* Ediion by STALLINGS, WILLIAM, pabshed by Pesson Edun, lee, publishing a Prewsice Hall, Conia 2005 ISBN: 0553.167854-7 Allg served. No port f his bok may be reproduced or assed ia any om or by 89 ‘mean lecroni or mechavra,iecuding photoopng cord or by any infraton Storage ev sytem, witht permis fm tse Eaves Equpo eaioral atc Miguel Marin Romo Tecib eral: Mara Ci Equip de produceisn Dire ose A, aes ‘Teenie feel Moz Diseo de cublerts Tui de dies de Pearson Educacisn, S.A, Imprso por Greve Réger, S.A. TMPRESO EN ESPANA - PRINTED IN SPAIN Como siempre, ami amada y genial esposa A ya su leal companero Geoffroi J PAGINA WEB PARA SISTEMAS OPERATIVOS. ASPECTOS INTERNOS Y PRINCIPIOS DE DISENO, QUINTA EDICION La pégina web en WilliaStallings.com/OS/OSSe.heml proporciona apoyo # profesores y estudiantes que uilicen este libro, Incluye los siguientes elemento. MATERIAL PARA APOYO DE CURSOS El material para apoyo de los cursos instuye: + Copia de as figuras del ib en formato PDF. + Copia de las tblas del libro en formato PDF. + Un conjunto de ansparencias PowerPoint para uilizarlas como ayuds en clase, + Notas de clase en HTML que pueden servir como material de ayuda para el estudio, + Pigina de Recursos dat Estudiante de Informatica (Computer Sclence Student Resource ‘Site):contenen gran ndmerodeealaces y documentos que los estudiantes pueden encontrar it les para su formaciéa en informdtic Esa pga incluye una revisin de las matemticas bisi- ‘as felacionadas; coasejos para la bisqueds deiaformaci6a, redaccién yrealiacién de proble- ‘mas en casa enlaces a repositorios de informacién de informétic, tales come informes y Dibliogratias;y euros enlaces de interés. + Una hoja de erratas del iro. actualizada casi mensualmente DOCUMENTOS COMPLEMENTARIOS [Los documentos complementarios inluyer: + Una copia en PDF de 1odos los algoritmas del libro en un pseudo-cédig de tipo Pascal de fic Teetura + Matera det libro celativo a Windows. UNIX, y Linux; reproducido en tes documentos PDF de ficil eferencia, + Varios documentos que amplian lo watado en ebro. Incluye aspectos relatives ala compleji- dad 6e los algortmos, estindares de Internet y Sorters. CURSOS DE SISTEMAS OPERATIVOS. La pégina web de OSSe incluye enlaces otras piginas de cursos impatidos usando este libro. Estas piginas pueden proporcionar gulas ules sobre cémo plaificary ordenar fs temas tatades,as{ como lan gran ndmero de anotaciones y material divers, PAGINASWEB UTILES Lapégina web de OSSe incuyeambign enlaces sores piginas de ins, Los enlaces ebren un am- TAPES deta ypemtedn a lovestaiantes explore aspects concetos con gan profundiad LISTA DE CORREO ELECTRONICO ‘Se mantene una lista de correo para que los profesores que utlcen este ibro puedan itercambiarin- Fannoctgn sogerencia,y pregantas ene ellos £0 € autor. Lainformacidn de suscticin se proporciona en Ta pégina web del libro. PROYECTOS DE SISTEMAS OPERATIVOS Lapégina web incluye enlnces a las paginas de Nachos y BACT, que son os paquetes software qu sir- saceino entomos pars implementacion de proyectos. Ceda pégina incluye software para descargar om informacign de apoyo. Véase el Apéndice C para més informacién Contenido Prélogo Capitulo 0 on 02 03 Guia detector 1 Organizacign del libro 2 (Osden de presentacin de los temas ‘Recursos en Intema1y en la Web 4 PRIMERA PARTE: ANTECECENTES 7 Capitufo £ ha 12 13 14 1s 16 “r is 1 Capitulo 2 2a 22 23 24 25 26 27 28 29 2.10 Introducciin 2 los computadores 9 Elementos bisices 10 Registos def processdar 22 Ejecucign de instrucciones 14 Interupciones | 17 Lajerangulade memoria 27 Memoriacache 30 Técnicas de comunicacion de RIS 34 Leccurasy sitios web recomendadcs 37 ‘Términos clave, cuestones de repaso y problemas Apéndice 1A Caracteristices de endimiento Apéndice 1B Control de procedimientos 48 38 Inteoduccign a os sistemas operatives $3 Objetivos y fimciones de os sistemes operatives 54 Laevolucisn de ls sistemas operaivas 58 Principles ogres 67 ‘Desarollot que han llevado a ls sistemas operativos modemas Detcripcién global de Microsoft Windows 82 Sistemas UNIX tradicionales 91 Sistemas UNIX modernos 94 Linux 95 LLecturasy sitios web recomendados 101 ‘Términos clave, cestiones de repaso y problemas 103 as memorias de dos niveles 9 X Contenido ‘SEGUNDA PARTE: PROCESOS 105 Capitulo3 31 32. 33 34 35 36 37 38 Descripetén y control de procesos 107 iQubesun proceso? 108 Extados de procesos 110 Deseripei6n de los procesos 126 Control de procesat 135 Gestiin de procesos en UNIX SVR4 143 Resumen 149 Lecuuras recomendadas 149 ‘Términos clave, cuestiones de repaso y problemas 150 Proyecto de programacién uno. Desarrollo de un intérprete de mandaros 154 Capitulo s al 42 43 4 45 46 47 48 49 Capitulo 3 51 52 33 34 35 36 37 58 59 Capitulo 6 6 62 Hilos, SMP y microncleos 157 Procetosehilos 158 Multiprocesamiento simérico 172 Microngcleos 176 Gestidn de hilos y SMP en Windows 181 Gestién de hilos y SMP en Solaris 187 Gestién de procesos e hilos en Linux 193 Resumen 196 Lecturas recomendades 196 Términos clave, cuestiones de repaso y problemas Concurrencta, Exe(usién mutua y sincronizacién Principios de laconcurencin 203 Exclusin mutu: soporte hardware 212 Seméforos 215 Monitores 229 Pasode mensajes 235 Elpproblema de los Lectores/Escritores 241 Resumen 245 Lecturasrecomendadas 247 ‘Teminos lave, cuestiones de repasoy problemas Concurrencia.Interbloqueo einanicién 257 Fundamentos del interblogueo 258 Prevencién del interblogueo 267 197 201 28 Contenido x! 63 Prediceién del interbloqueo 269 64 Deteccin del interbloqueo 273 65 Una estcatepia inteprada de teatamiento del interbloqueo 277 66 Elproblemia de los lésofos comenssles 277 67 ‘Mecanismos de concurrencia de UNIX 280 68 Mecanismos de concurrenca del nicleo de Linux 284 69 Funciones de sineonizacin de ios de Solaris 291 G10 Mecanismos de concurrencia de Windows 294 611 Resumen 296 G12 —_—_Leeturas ecomendadas 297 613 Términos lave, evestiones de repaso y problemas 297 TERCERA PARTE:MEMORIA 305 Capitulo7 Gestion de memoria 307 a Requistos de gestin de memoria 308 12 Partcionamiento de a memoria SUL 3 Paginacida 321 1 Segmentacién 32 15 Resumen 327 16 Lecturasrecomendadas 327 1 Términos clave, vestiones de repaso y problemas 328 ‘Apéndice TA Carga yenlace 331 Capitulo Memoria virtual 339 8 Hardware y estructuras de control 340 82 Software del sistema operative 358 83 Gestin de memaria de UNIX y Solaris 378, 84 Gestida de memoriaen Linux 384 85 Gestién de memoriaen Windows 386 86 Resumen 388 37 Lectura recomendadey paginas web 389 38 Términos clave, cuestiones de epaso y problemas 390 Apéndice 8A Tablas Hash 395 CUARTA PARTE: PLANIFICACION 399 Planificacién uniprocesador 401 Capitulo ou Tipos de planificacién del procesador 402 92 [Algortmos de panifcacion 406 Contenido 93 Planificacin UNIX tradicional 427 94 Resumen 429 95 Lecturasrecomendadas 431 96 ‘Terminas clave, cuestiones de repaso y problemas 431 ‘Apéodice 9A Tiempo de respuesta 436 Apéadice 9B. Sixcemssde colss 438 Proyecto de programacién dos. El planificadar de HOST 444 Planificacién multiprocesador ¥ de tiempo real 451 101 Planitcacién multiprocesador 452 102 Panificacion de tiempo real 463 103 Planificacién en Linux 477 104 Planificacién en UNIX SVR4 480 10s Planificscign en Windows 482 los Resumen 484 107 Lecturas recomendadas 485 Ios. ‘Términos clave, cuestiones de repaso y problemas 485 QUINTA PARTE: ENTRADA/SALIDAY FICHEROS 439, Capitulo HL Gestion de fa E/S y planificacion del diseo 491 ut Dispositives de B/S 492 m2 Organiaacin del sistema de F/S 493 u3 Aspecios do disco del sistema operative 496 ne Utizacign de bufers de B/S 500 us Planificacién del disco 503, 16 RAID si ua Cache de disco 520 8 E/S 6c UNIX SVRA 522 n9 E/SdeLinux 527 110 B/S de Windows $30 M11 Resumen 532 11.12 Lecturasy sitios web recomendados 932 11.13 Términos clave, cuestiones de repaso y problemas 534 ‘Apéndice 114 Dispositvos de slmacenamiento.en disco $37, Capitulo 12 Gestidn de ficheros $47 a Deseripcisn bivica 548 2 Organizacién y acceso alos ficheros 553 Capitulo 13, iB 132 3 34 135 136 137 Capitulo 14 Ma 42 43 4a as 46 47 148 149 14.10 Capitulo 15 13 152 153 Directorios 559 ‘Compantcién de fiers Bloques y registros 564 Gestién de elmacenamiento secundaio Gestign de Ficheros de UNIX 574 made fcheros virwal Linux, 578 indows 582 $83 366 sister sistema de ficheros de Wi Resmen 587 TLecturas recomendadss 588 cave, cuestiones de repaso y problemas ~ 589 ‘Términos . gISTEMAS DISTRIBUIDOSY SECURIDAD 597 Redes 895 sor La necesidad de una aquitecture de protoccles La argutectaede proiseotos TERAP 59° Sockets 605 Redes'en Linux 609 Resumen 61 LLeeturasy sitios web eco! “Terminos clave, Cuestion®s ‘Apéndice I3A El Prcoeoo simle rnendados 611 se repeso problemas 612 ransferenci deficheros 614 Procesamiento dstribuido, lentelsernidor 3 elusers ay Computscisn eliensetervider 620 Faso de mensajes cisuibuido 630 “Llamadas a procedimiento remote Clusters 636 Servidor Cluster de Windows Sun Cluster 643 / ‘Clusters de Beswully Litux 646 Resumen 648 ‘Lecturasrecomendadas y sitios web 68 a ‘Tenminos clave, cuestones d¢repaeoy problemas 63 on - Gestion de procesys distribuides 683 Migracién de procesos 654 Estados globales éistribuidos Exclusién monia distibuide 660 665 ( xl Contenido 134 155 156 187 Capitulo 16 161 162 163 164 165 166 167 168 169 APENDICES Apéndice A AL Al Aa Aa Apéndlice B BI B2 BS Ba BS Apéndice C ca Inerblogueo dstribuido 675 Resumen 685 Lecturasrecomendadas 685 “Términos clave, cuestones 686 Seguridad 689 ‘Amenszas de seguridad 690, Proteecién 695 Inieutos 701 Software malicioso 713 Sistemas confisles 122 Seguridad en Windows 725 Resumen 731 Lecturasrecomendadas ystios web 732 ‘Terminas clave, cuestiones de repaso y problemas 733 Apéadice 16A Cifrado 736 73 ‘Temas de concurrencia 743 Exclusién mous, Teenicas de software 744 Condiciones de carer y semiforos 748 El problema dela barberia 758 Problemas 763 Disefo orientado a objetos 765 Motivacién 766 Conceptos de arienacién acbjetos 767 ‘Beneficias del dst orientado a objetas 771 CORBA 772 Lecturasy sitios web recomendados 715 Proyectos de programacidn y de sistemas operativos 777 Proyectos pars laensefanza de sistemas operatives 778 NaCHos 779 Proyectos de investgacién 780 Proyectos de programacién 780 Tareas de lectura y de andlisis 781 Contenido xv ‘OSP, Un entorno para proyectos de sistemas operativos 783 Introduccion 784 ser movanes 08? 75 Ae ersshramina Soria stems eras 786 , ede Bear - 789 apinceR BACLEISbtema de ror concurrent de BeAr EI tceiesia 79 ce Bact 80 £5 epmpasdprogamas ACT 78 Ee PrysoeRACl 797 Es MrjmsalSkemaBACt 89 Ghar $1 Retrencas 88 ‘Acrénimos 827 Indice 829 Jule los siemas operative. Su prO- ns mec aA ‘los caracteisticas de 168 Exe libro se ocupa de Tos conceptos la estructura peta psi, stale sito es presenta, de la manera mis lara y com Finsemas operatives de oy en sg gs computaores para los que se diseDan : rehuudinclaye desde estaciones de reat na esses compares de t= ‘ ee tats sco shaq espetizadas Be melo tas ape Ce eae q So os dear =I en ce : guns sno ambi see pe eas seni wna I tod cblas aus Ba arc sop sone ee aren ean alt ( Seta investigacion sobre las mistas, af come Sobre oes mies vapeur ee vara yd et ino cambios ise COSY SRO TG, 2 semnt, EOSET Ee en a Fae ea aticaaes dae Ee se an ee zn oe os el de desea cerns oops oe sei contemporineosy cn es endencis a elo de seas Operas. primer Esa tarea es un gto por varios motives. En aria, Esti Jos sistemas operatives presentan tna enorme teabajo y computadrespetsonals para un ico fio medio, hasta grandes sistemas mainframte y aes exe 3 | SISTEMAS DE EJEMPLO. ise los aspects de implemen- . ate on trotanento Paramente Con os a altematinas de diseio det principios be consi ceptos y asa ejemplos reales: i Este libro est destnado # dara conocer al leior ls {aca de Ios sistemas operatives contemparsneos. Pr ceptal 0 t26rico seria inadecuado. Para mostrar os € fuindo real se han Seleccionado tes sistemas operativs co ra computadores persona erm evo sisters oprativo, incorpera = Hes ex la tocnologia de sistemas operatives ios comerciales importantes que est bjtos, Este lipo se oeupa de lat n esacignes de trabajo Y cOm- + Windows XP y Windows 2003, Un sistema operativo nulla P Jes, estaciones de trabajo y servidores. AL tats ‘uns manera nftida muchos de fs wltimos desim ‘Ademds, Windows es uno de Ios primeros sistetns OP& ‘sirechamente basede en prncipios de disco rientado 3 o louis ilzada en as versiones rn recientes de Windows, XP Ps putadoges personales, y 2003 para servidores ane destinado a minicomputadores, pero + UNIX. Un sistema operacvo rautiusvario, originale jimpletentada en un amplio rango de maquinss deste poder ‘icrocoriputedares 2 SUpes- aa eres ge lncluyen dos versiones de UNIX, UNIX SVR4 00 SC wsado que Farman muchas carateristias avanzadas. Soars C818 vero ‘comercial ms uilizada de ( UNIX Lncluye prooesamiento multiloy ots caraeterisiess dos m0 encuentran en SVRSNi ‘en Ia mayoria de las otras versiones de UNL. i «Linus. Una versin de UNIX euyo eign fuente est fisporte h ada actualmente remente, que es muy utils ¢ xviii Frélone ‘ante el estudio de la concurrencia, se describen los mecanismos de concurrencia de cada si decjem: By ape loin es des ps nda won foe conceptos de disefio estudiados en cualquier capitulo se refuerzan mente con employ ds CIN abcess pen ca eas ae em ee SFece okt heopatin eae Dat Pace ‘lisse or Cllr Atocte Degrer acs n Cont Sine 202, sie ce cn pepe acm rei ese od Bien sneer COS Este libro se vide en seis pares (véose ef Captule 0 para una vision general: + Antecedentes + Proceso. + Memoria + Plnifcacin, + Entradfslid y ficheros. + Sistemas dstbuidos y seguridad. Esc libro incluye diversas caracteristicas pedagégicas, como el uso de mumerosas figuras y tblas ar fclarel esa. Cadacap nhieu : [lchie wast etna cave, requis de ep, rb Ferprsts delcu etonlsy dreclone de shes we elvan Atal dpe pas tos profesores una batera de preguntas de tes. Hs unsowsh oid sene vg moro aye lets on rafts Eh Bete enorme Ade era tonenisen PoverPotn ifort pa fendealle en le ita de correo. de Imemet el libro. La pisine web esta. en Sansatings conven ase Sid wb suena pea apes fe lt ip de dara rapa nor, Seu exe a tuts rofesores que usin est iv pueda iteeambiar informacion. sugerenas Preioge xix ge enatas en WiliemStellings.com. Fe tina, hay qu rest quo utr ane publicar una lista Fe rata de inforndtica en WillamStalingscomStudentSopport hil tiene un sitio paral PGE eens 5 1e de un curso de sistemas operativos es un proyecto o "Soiene una experiencia préetica qus fe per- sparable grado de apoyo.en ese as- ‘Pare machos insractores un elemento important a Sonfunto de proyectos redante los cuales el estudiante ae car fos concepts del ib Ete iro proporciana un incor tects eno curso, Enel ntrior de bro st definen dos pro pect, incluyendo un componente de pr : : Pee. epopemertn pips Ei wb et poe aos erm en HS ‘pueden wiizar Yee rans shard esos proyesos deforma gradual. Se proportion infomnenie eee esrints ar owen ea enoros deta pre implementcin de proyecto: OF Fa eGtOs pre Seal companenies un sists operav,¥ BACT ps oe Tos micas NACHOS pa se sg we dl profesor clye wha sei de pune Proysst &e a ci, ca uno peaado para desarllarse coo 0 0s seman abe CO range aos pueden iplemensn en clgueenztle api y srs sta ‘plataforma, asi de temas ya estan tes Ge etry miss. Ee fos apes pars es detalles. RES as innovacionés y mejores que hahabido 20 esta dis kima edieibn, manteniendo un tratamien- oampliay complet de esa materi. Asim impanen esta dsciplina, ast como Wotetionafes que uabajan en ese ipo han revisnd en profi’ 1 Cea edicién, Como conse- Broesonn a nuhes pastes eos a era a laid de Tdaesony 5 as cae pana texto ens, fared vans problemas de concer 3 rade de jos pdagbgin ens0 peesenacin do ar al sai oven one orl, pr jr as carbs ates en est xeng SC Te endo sigueawamee,asinost en it wer: its 221 BL es enn actunlzno pra inci Widows XPy Windows Serves 203 So STS: see Jd mei dead a concuneci ames sucaied: merce el mis- oy extend pelayend exado sre coniines de corer El taamianie pani 0 perce version ince un esto de ie itvesion de pririades, iy Tere capitulo eds ac ha amplado el tratamiento del diseo orien -Enesta queva edicibnet aueot ha intentadorecoger an transurrido desde la sma, varios profesores que Sobre reds, presentandose el API de Sockets, A {ado csjetos. Ss perso jell (Universidad de Miami). Carslina). Amit ain (Universi- cid de Ia revisign realizada por divers cia, nit ello se incluyen Stephen rus), Duncan Buel) (Universidad de Gunesidad de Weshington, StLouis), Mark MeCullen (Universidad these Wicoasin- Madison}, David Middleton (Universidad ‘Seate) todos revsaron la mayor pat~ Esta nueva edicign se he benef tperosamente su tempo y experi Davi Krunmme (Universidad dad de Bosie State) Fred Kul de Michigan State, Jayson Rock (Universi ge Arkaneas Technological) y Bishi Zhu (Universidud dz Monta te ot0do el libro Er autor da ls gracias tabi toe Javier Erato Belauera. Ant Iadas de uno o més capt ida ancha gee que ealzd eisone al Se Joshua Cope, Luca Ve- Grew Cheese, Robert Kaiser, Bhavin Grandi, nuti, Gregory Sharp, Marisa Gil, Balbir Singh, Mrugesh Gaijas, Bice Janson, Mayan Moudgill, Pete Bixby. Sonja Tideman, Siddharth Choughuri, Znhui Zhang, Andrew Huo Zhigang, Yibing Wang, Da- to Alvarez y Michael Tsai. Asimismo. al autor le gustara agradecer a Tigran Aivazian, autor del do- ‘cumento sobre los aspectos internos del micleo de Linux (Lines Kernel Interals), que es part del pro yecto de documentacin de Linus (Lime Docimentarion Proje) por surevisin del material sobre Linux 2.6. Ching-Kuang Shene (Universidad de Michigan Tech) proporcions los ejemplos usades en la sec- in sobre condiciones de careray revisé icha seccin. ‘Asimismo, Femando Ariel Gon contrbuyé con dversos ejericios parael estudianteylev6.acabo revisionesdetalladas de todos los eapitlos -Elautor queria también dar las gracias a Michae! Kifer y Seott A. Smolka (SUNY-Stony Brook) por contribuir al Apéndice D, a Bill Bynum (College of Wiliam and Mary) y Tracy Camp (Colorado School of Mines) por prestarsu ayuda en el Apéndice E; Steve Taylor (Worcester Polytechnic Institu- {e) por colaborar en Ios proyectos de programacién y en las tareas de lectura y andlisis de! manual del profesor, y al profesor Tan N. Nguyen (Universidad de George Mason) por contribu alos proyectos de investigaciGn del manual del profesr, Ian G.Graham (Universidad de Griffith) colabexé con fos dos proyectos de programacién del libro. Oskars Rieksts (Universidad de Kutztown) permitié de forma ge- ‘eros que se iciera uso de sus notas de clase, ejrcicos y proyectos. Por dim e autor queria dar Ins arias alas mumerosas personas esponsables dela publicacién {el libro, todas reaizaron como de costumbre un excelente trabajo. Eso incluye al personel de Prenti- ce Hall, paticularmente alos editores Alan Apt y Toni Holm, su ayudante Patick Lindner, la directo ra de produccién Rose Kernan, y la direciora de suplementos Sarah Parker, Este agradecimiento se ex: liende tambien a Jake Warde de Warde Publishers que ditigié el proceso de evisién, y a Patricia M, Daly que realz6 la edicin de la copia CAPITULO_0 el TT oe Guia del lector 0.2. Orden de prosentacién de los temas Recursos en Intemet yen 18 Web) mas operatvos, Aspector interns yprncoioe de deeho eee eee CeCe eee eee SES See eee SS Este likro, junto con su sitio web aseciads,cubre una eran centidad de material A continscién, s¢ le proporciona al lector ra vision genoral del mismo, SORE H HEHEHE HHO Hee eH HF HHeoees CECI libro ests organizado en siete panes Primera parte. Antecedentes. Proporciona una introducci6n a Ia arquitectura y organizacién el computador, haciendo Enfsis en aquellos aspectos relacionados con el disehio de sistemas ‘opertivas, presentando, asimiso, una visi general de los temas de sistemas operatives ra- tados en el resto del Libr, Segunda parte. Procesos. Preseats un andliss deallado de los provesos, el procesamiento rulthilo,e} muliprocesamiento simétrico (Sprmerric Multiprocessing, SMP) y los microns- cleos. En esa pate se estudian también los aspectes principales dela concurencia en un sist ‘ma uniprocesador, haciendo hincapé en los temas de a exclasin mutua y dels intrbloqueos. ‘Tercera parte, Memoria. Proporciona un extenso estudio de las téenicas de gestién de me- :moria, ineluyendo la memoria Viral ‘Cuarta parte, Planificacion, Ofrece un estudio comparativo de diversas estrateiss de plani- ficacién de procesos. Se examinars también la planificacién de hilos, ce SMP y de tempo real Quinta parte, Entrada/slida y ficheros. Examina los aspects involucrados en el control de las operaciones de E/S por pate del sistema operativo, Se dedica especial atencisn a la EIS det isco, que es fundamental para el rendimiento del sistema, Asimisme. proporciona una vision general de Ingestion de fcheros. Sexta parte. Sistemas distefbuldas y seguridad. Esudia las principales tendencas en redes ‘de computadores,incluyendo TCPAP, procesamiento clienteservidor y clxsters. Asimismo, describe algunas éeas de diseto fundamentals en el desarrollo de ls sistemas operativs ds. teibuidos. El Capitulo 16 proporsiona un estudio de las amenazasy los mecanismes para pro: porcionat seguridad at compuradory ala red. Este libro esté dedicado a dar a conocer @ los leetores 10s principios de diseo y Ios aspectos de implementacién de los sistemas operatives contempordneos. Por tanto, sera inadecuado un tata tmiento puramente te6ric o conceptual. Para mostrar los conceptos y azociarlos a opciones de dise fo que se deben tomar en la vida real, se han seleccionado dos sistemas operativos como ejemplos + Windows. Un sistema opertivo mulitarea diseftado para ejecutar er diversos computadores personales, estaciones de abajo y servidores. Bs uno de fos pocos sistemas operativos comer ciales recientes disehado esencaimente desde cero, Debide a eto, et en una buena posicién para incorporar de una manera ntida los més recientes desaroos en la tecnologia de sistemas operatives. + UNIX. Un sistema aperativo muliarea destinado originalmente a minicomputadores pero im plemertado en un amplio rango de miquinas desde poderosos microprocesadores a supercon putadores, Dentro de esa familia de sistemas operatives, se incluye Linux, El estudio de los sistemas de ejemplo nico capftulo 0 apéndice. Asi, durante el concurrencia de cada sistema de lares, Con esta estategi, Guiaeltector 3 est distebuido a través det libro en vez de agrupado en un I gstdio de Ia concurrencia,s© describe el mecanismo de Sa tea maivacon de es opciones de deo patie rae aac eteiaos en‘ dteinado cap son ime: ‘eva similar, un esto de dieccin de E/S (RDIE/S) especifice un determinado dispositive de B/S. | pal aus eg dao sive oe y Un registro de datos de E/S (RDAE/S) permite el intercambio de datos entre un axdduio de E/S y el Jador qué variables deberian - 46s en Procesador «+ Registras de controls estado, Usados pr el procesador para controlar sv operaciGn Y Po na operative para controlar la ejecuci6n de programas Us eidulo de memoria consta de un conjunto de posiciones definidas mediante drecciones nu- tinas privileging del sis mers seeuenielmente, Cada posicineontiene un patr de bits que se puede icerpeetar como tna istveiéno como dato. Un médulo de E/S transfer datos desde los dspositvasextemos a | cin el procesadory [a memoria, y vcevers. Coniene bers (ex decir, zones dealmacenamiznto ine | temas} que matenentrporment Tos datos hasta qu se pusdan envi, ' mba dos categoras, Por ejemplo, en algu- 0 en Mchas 03s nolo es, Sin liar esas categoria, No hay una elsficacin nid de os esos etre estas as mula e condor de programa es vibe pa el wut, pre renal eu uss resets cominuseidn £5 ONE Me isms opsrawvos. aspecies seri ¥ paris we REGISTROS VISIBLES PARA EL USUARIO An eso visible para el . el wero se psd aceder por ei del lenge de mgin jeu pera iar a nd erermen dpnbl po pronto chad to pe sna de aplieon como programas de stema, Los ips de repstos gu extn rormamente pombls ton regis ded, de design y cigars condn. ineness sos MRE rd vr eit de ae a vi ine En ae os, sone esecia, de propesito general) pueden sre con ealguer nsaccién de maoina neal occ ne i Si cage, ftesmin ‘tn eareciones for Cem Bo. jcndos © operacions Ge coma aan ¥ ctor a operaciones con + Registro indice El dies era Regi cionamiento indexad es un modo comin de diresonanento abe imc suru nin su ard be ar cee ne oson ec . para manne la direcién base (posiién de iii) del segmento, Puede haber ‘miltiples Fh aoe eric ee as + Panterode pit i hy deccionanet de pil isi ydrecionaens de itv para el suri, hay un regis ed cad gap na pl, Eo pri ol de inacloey que ne contre ape de decen,tales como es qe pein ap ph y exter op) canksluntsméauinas, una Lamada a na sbi o un proseiiet implica svar atoms st no lon eae vibes par ssn ge eet a tn prone real 2 5 operons dese y esta co pare de ace dees soclones Lena 3 de too, Exo pee qu ca proceiminto at exo regio ndpedlntent, Ea cat aunts, el proprmtdr ese responsable de guar el coteid de ot regis vibes pa owt atts de une lade un pocodimin, nlyend srccions par lo enol propa er am, asf Y testaurar se pueden realizar en hardware 0 en software, depen sciatic nt ee natant eo mas ese aee ie ep rcs de ep hou i ig aa. nine ‘sera Sn ocr con oe pls fea Speen eurjnda iomnor Bsn de sna, Vee Af GiBdadeosone ceptor sae eaaeile tree emma ein mt, A REGISTROS DE CONTROLY ESTADO seis de rcesador ara conlar froma de misma En ah sistas dl procera Pa pes are usa aguas de los Se pe 2 vil Fy que ve denoti do de cotol od 5 Sse emplean varios a de fas mdquinas,rwvchos {eder mediante instrusciones de maquina ec tema operativo. a istnssorganizaciones de repisiosy uilizarin dif Mune lista razonablemmente completa de tipos de nds ce fs Fegiatios RDIRM, RDAM. ientes son esencales para lee Por supvesto, diferentes miquinas tend ence terminologia, A continuacion, se proporcionet ‘guys, con una breve descrip de cada uno de ls, Ae RDIEVS y RDAEIS mencionados anteriomente (Figo J-1), Tos sig ceucign de instrucciones: «+ Contador ée programa (Program Counter, PC). Convene 1a dinecién de Ie proxi inks rnaceitin que 3 leer de te memoris. «Registro deisteueeldn (nsruction Register, IR) Contes a ima insucion Ie un regis, 0 conjum de regis, conocido mn Status Word, PSW), que contene i Mie condicidn, ademas de otra infor it de modo uss~ ‘Todos los gisefos de procesador incluyen también asualmente vomo [2 palabra de estado del programs (Progra onuscidn de estade. La PSWV contiene aormininente oSdigas ae sce como on bit para hbilitsinbiitas 8 interrupcions y wn bi olsupervisr. : ‘Los cédigos de condicién (también Ia smalmente el hardware de procesador tenien tuna instrucién. 1 de interrupoiones se puede proporcionar un conjunta de 9 ae ds sine de t-tamenio de interupeion. Si se wiliza lamadas a procedimientos), se necesita un re de gestion de memoria, estdiado en regisios en el control de 19s ‘Bn méquinas qve utilizan mites tipo regisiros de intemypeiones, £09 un punter® tha pila para implementar cies funciones (por ejemplo Pintero de pila de sistema (véase el Apéndice 1B) Et hard Fr Captule 7. requiere egistos dedieados.Asimismo se pueden ular ‘operaciones de ES. vera isto del ogezaion dt ego de control yetado infers fects. Ye pees hesdmenel es proporeiona apoyo a sista operative, Cleos paso ‘informacion de con ree escamonte poe el sister operaivo. Sil dseador de rocesade 1c wo sn les cpap operalvo que ve va awl e puede dst a oesnzsh sere manera qu se proporcone soporte pox pst el hardware de canter particulares ese opeauvo, en aapects tales come a proteccién de memoria 18 ‘ultiplenacion entre programas de usuario. ‘tra decisin de disefio fundamental e yy ke memoria. Es habitual deicar las prim jras de memoria para propésites de conto control entee los registros Sientos 0 riles'Ge palae ommacién de control 1 el repano dela informacion dé eras (ls de direcciones mis boas) Bl digehador debe decidir cuss i | | Slstemas operativos. Aspects interne yprnelpos de sero bers estar en registos, mis répidos y mas cars, y cudnta en la memoria principal, menos rips y mds econémica, SEIS TEs Un programe que va a eecutre en un procesadorconsta deen conjunto de intuccions almace- ado en memoria, Ens forma més simple, el rocesamiento de una instruc consta de dos ps fas: el processor lee (busca) insruccones 8 la memoria, una cada vez y ejecua cada na de elas. Le ejecucin del rngrama consists en repetir el proceso de bisqueds y ejecucign de instuc- cones. La ejcucion dela isiuccién puede invoucrar varias operaciones dependiendo dele nau lena de la misma. Se denomina ciclo de instruceién al procesamientorequerido por una nica instvcei6n. En le Fi gura 1.2 se describe el ciclo de insnuecién uilizand la deseripcin simplificada de dos pasos. A es- tos dos pasos se les denomina fase de bisqueda y de ejecucién. La ejecucin del programa se detiene slo si se spaga la méquin, e produce elgin tipo de enor irecuperable ose ejecuta una instrueciéa paede eeu eo Me sitemeios (si pene es Sx Witsoe om StoleSuppert ta! 16 Sistemas operatvos. Aspect ives. Aspects internes princpios de deo Fate de bizqueda Fase de eecucién errs sore Menan Re J haenam Rega mcr} nov Resse WCPU| if Pees inferete foteajad fered] foro mee Viren [ated (Erika ian! vero de nCPO] Newari Tec | eof Brs}ac|0i|s 61 rreiie |e eeT sora0-y (oontenige de la memorisy Tegistros en Rexadectma. lx 980 exci cg eno del wpe de isiacis Ry irerementa el ireceién de memoria, que es 940. eles) especicn Et contenido previo del AC y el co Elcontenito AC y-el contenido de Is psicin 941 se suman yel resultado se alma- 5, Selee la siguiente 5 Se lee insu (2941) de Ia posicién 302 y se increment el PC. 1. Se almacena el contenido del AC en Ia posicion 941 5 nesters aeiesian te ils de nsec sateen los de isc, de forma qu cade uno conta de fa ein rr earl cone cin 0 a cone ce "nt, Conn nes mis compl, srecestaran menes elo isc aor dks rene mare nnn cnt i cite ins de ane ei eta de sda eatin pela mis de rere caitlin. or eee» meno nama ue psi ah intrduccion sos eomputadores 17 SISTEMA DE E/S jo de EIS (por efemplo, un controlador de se pete nescabiar dos dreament ee un mle de ES ee Se Pate rear Al igual quel ocesdor puede inci Se us pi SER a eee eat cus, el pocesaon etic dspostvo pect re est contolado por a le de BS Por ant, pola produ na secacs © Te similar 2 un determina mse uccones e ES en vez de instuciones qe heen se ‘memoria. sn algunos cass. desable peri gue ls ntercanbios de ES 5 TES digctamente con ares ar ibrar al processcor de a tacea de IS. En es eas ‘procesador concede 3 me EF a autrzacién pa lero esrb ds [a menor, Ts Ta transferencia| uno de FI Suede evar aco sin liza a process Done Some transferencia, el enue memes ye mandatos Ge etre y eset a memoria Taran 2) procesador de ln res- dd rca. Esa peacin,conoci como seeeso reco ® memoria (Direct Me- pores access, DMA) se examinard al final de este captlo san un mecanisino por el cual otros méduls (me jcamente todos los compusadores propercion anal del procesador. La Tabla 1.1 detalla los Rania y B/S) pueden interumpir € secuenciamiento er fipos més comunes €eintertupeiones. ssseamone es interupeions consiayen una manera de mejorar 1a wiini®n procesador. or eset ria de os dsposvos de EPS son mco mls ios procesador. Supéa- eo SPO nto ea tranaiendo data a na inpesora wizards ‘esquema de ciclo de ins- gis qe races § espe de cad insti de esis l Postado 09 ge soci eg uc a mprsor eve a cabo. Lalongitid de et ssi poe el orden de muchos les o incluso milones de cic fesun enorme desperdico dela ‘apacidad del procesador ‘abla 14. Clases de interrupciones gion que ee produc como resultado doe os a Genera oo vein tales como un desbordarranta art erator une ineruccion de magus ‘fstbn por evo, un Intent de si Poco gl expaco dela memoria permis pa un casador.Prmie al sieme operat | Generada por algune con Ganerada por un temporizadr del pro erie edge tunclones de frm requ “Cenmrda por uo eantroador de /S para anise concusn nora 2 Genera gn pars indir diversas condiciones de err. en el suminitro de energie © un | Por temporiza Does GGenerada por un flo, como un | Por falo del hardware Str de paridad en la memoria, L pera dar un ejemplo conereto, eonsidere un computador pe peritira ejeutaraproximadamente 10" instuccones por sun sonal que operase a IGH2, fo que Wot Un tipico disco duro tiene una soeam tes com gg t,o pani enim arama RRO = Una dicusion de oe ss pe iiamsiingscomitadetSuppor n= Conn te San Rescue Sen 18 sistemas operatives, Asseetos Interns yprnspios de dseho velocidad de rtecién de 7200 revoluciones por minste, ue conesponde con un tempo de rotacién de media pista de 4 ms, que es 4 millones de veces mas lento que e processor. La Figure 1.51 nuestra esta cuestn, El programa de usuario realiza una serie de Inmadas de ESCRITURA intreladas con el procesimeto. Los segments de céigo 1,2 y 3 se refleren ast encase insivciones que o involucran ES. Las llamada de ESCRITURA invocane una rina de ES que e5 una ulidad del stoma que realizar la operacién real de ES El programa de EIS onsta te seeciones: + Una secvenciade insuesions, quad con Aen figura, pr preparar a opti rel i ES. Emo puede incr copir ey dts de slds enn fr espa y prepara ls par metros de un mandato para el dispositive. oe ® + El mandato real de E/S. Sin el uso de jnterrupciones, une vez que se emite este mandato, el programa debe esperar a que el dsposiivo de E/S realice [a furcién solicitada (0 comprobar ‘perigdicamente el estado, 0 muestear, el dispositivo de E/S) El programa podefa esperar sim- plementerealizando repuidamente una operacin de comprobacién para determina si se ha realizado la operacin de E/S. + Une secueacia de insiruciones, etiquetads como $ en le figura, para completa Ia opetacign, Esto puede incluir establecer un valor que indique el éxito o el falo de la operaci6n. Debido 2 que la operacién d= E/S puede tardar un tiempo relativamente Jargo hasta que se completa, el progeama de E/S se queda colgedo esperando que se complete; por ello, el programa de usuario se detiene en el momento de la llamada de ESCRITURA durante un periodo de tiempo considerable. rr | o ca \ x 485 i alk tee 7 @ 24 i a es S 1 AN ef i“ a ( ea! |escerToR lect alas empower a BS Figura 15, Flo d arograme dal cortol sin interupsionssy con ela Introduccion alos computedores 19 INTERRUPCIONES Y EL CICLO DE INSTRUCCION Gracias a las interupeiones, el procesador puede dedicase a ejecutar otras insirucciones mientras aque la operacia de EJS se esti llevando a cabo, Consiere el flujo de contol mostrado en la Figura TL3b. Com antesormente el programa de usuario alcanza wn punto en el que hace una llamada al siblema que consiste en una lammada de ESCRITURA. El programa de EIS que se invoce en este caso onsta solo del eGidigo de preparacién y el mandato real de E/S. Después de que se ejecuet ests po fas instruccones, se devuelve el control al programa de weuario. Mientras canto, dispositive exter- ho esté ocupado aoeptando datos de [a memoria del computador € imprisigodoles. La operacion de EfS se leva a cabo de forma concurrente con la eecuciéa de instruciones en el programa de usuario, Cando el eispoitvoexero est io pra ser tendo, deci, cuando et prepa pie spr el ce Sle HS ee ping ee al estas nusrpei al pansion El pocsaoresponds sapecind Ince del progr: rence olan a iauthe de servic expected ete dispostivo de E/S,concida como mane- [do dnp eunuands a ein oigial spor tabs ati al postive. Ea eee TSi ence con una X oe pnts en tos que se osc cata interpctn. Tega en Cie punde produc na iterupei en usar put de a ejecucin del programa pi Sipal ne slo en una determina nstuci6a. De cara al programa de usuero, una imerrupcin suspende la secuencia normal de ejecucin Cuando se completa el procesamiento de Ia interupcién, se reanuda Ia ejecucion (Figura 1.6). Por fento e programa de usuario no tiene que contener ning cOdigo especial pera trata Las incerupcio- mess el peovesader y al sistema opérativo son resporsables de suspender el programa de usuario y, posteriormente, eanudsrlo en el mismo punto. ‘Para trata ls interrupciones, se aide una fase de interrupcin al ciclo de instruecién, como se muestra en la Figura 17 (compérese con la Figura 12). En la fase de inerupcign, el procesador ‘Compru si se he producido cualquier incerupciGn, hecho indicado por Ia presencia de una seal de inerrupcign. Si no hay interupsiones pendienes, el procesador continéa con Ja fase de bisqueda y Tee ln siguiente instrccign del programa actual Si esti pendiente una interupeién, el procesador sus- pende la cjecucién del programa actualy ejeuta Ta rutina del manejador de inrerrupei. La rating fel manejar de intertupeitn es generamente parte del sistema operative. Normalment et ruting Progam de weario anc enero beeen —e | eevee ” Figura 16, Transference de conto! mediante interaciones 20 Sistas opertivos. Agpeetos interns yprincipos 6 wieho Fue debingeds _Pasedeceucdn Fase einer _ Liss Cae 4! eee a Some = oar sieet ss) Figura V7. Cito de inetrvesion con intetrupeiones deters ix oaturseza de fa interapcién y realiza 14s aeciones que se requieran, En el ejemplo que s¢ esi usando, el manejador determina qué médulo de E/S gener Ja intertupci6n y puede dar pase a lun programa que escriba mas datos en exe médulo de E/S. Cuando se completa Ia rutina del maneja- Gor de interupeisn, el procesador puede reanudar la ejecucidn del programa de usuatin en el puto de la ieierrapci. Es evidente que este proceso implica cients sobrecarga, Deben ejecutarse insiucciones adiciona- les (en el manefador de intesrupeién) para determinar la naturalezs de Ia interrupcin y deciir sobre ls aceidn apropiada. Sin embargo, debi a le cantidad relatvamente elovada de tiemp0 que se gas ‘in simplemente a l espera de na operacin de EJS, el procesador se puede emplear mucho més ef cientemente con e! uso de interupeiones Para apreciar It genancia en eficiencia,considere la Figura 1.8, ue es un diagrama de tiempo be- ‘ado ene} fyjo de conteot de tas Figuras {5a y | Sb. Las Figuras 1.55 y 1.8 asumen que el tiempo re~ ‘uerido para Ja operacién de E/S es relativamente corte: inferior al tiempo que tarda en completarse la cjecucion de insirucciones entre las operaciones deescritura del programa de usuario. El caso ms tpi= 0, especialmente pars un dispositive lento como una impresora, es que la operacin de E/S tarde mus cho mis tiempo que Ze ejecucidn de una secuenca de instrucciones de usuario. La Figura | Se ilusra este tipo de situacin. En este caso, el programa de usuario alcanza Ia segunda llamads de ESCRITU- RA antes de que se complete la operacién de E/S generada por Ie primera llamada, El resultado es que el programa de usuario se queda colgado en ese punto. Cuando se completa la operacin de B/S prece- ‘dene, se puede procesar fa nueva llamada de ESCRITURA y se puede empezar una nueva operaciin e E/S. La Figura 1.9 muestra la temporizacion de esta situacién en el uso de intertupciones 0 sin ellas, Se puede observar que hay wna ganancia en eficiencia debido a que parte del tiempo durante el (que se realza Ia operacidn de E/S se solapa con laejecucin de las instruceiones del usuario PROCESAMIENTO DE INTERRUPCIONES La aparicin de una interrpci dspara varios events, tenta en el hardware del procesador como en cl sofiware. La Figura 1.10 muestra una secuenciatipica. Cuando un dspositiv de E/S completa una ‘operacin de E/S, se produce la siguiente secuencia de eventos en el hardware |. El dispositive geneva una seal de inerrupcin hacis ef processor, 2, Bl procesador termine Is ejecucién de Ja instrucei6n actual antes de responder ala interrup> cin, como se indica en la Figura 17. teoauccion aes computazores 4 a & cocminonnia ®@ inate Shiner (Siete stesso telah 50 Figura t8. Termporizacén oe progeme: espera brave de ES. ene, tei ge i enor op sy ona pnd eros 2 gy 3B cea ce recone sl dspoiiv qv po fs erie ey i chine tax nero enol dine aaa orto esta pepo pr nsf else stn ne 4. mes mame ee lal formaca request rogre rer mens deere La forse nia eens. a lr de Sean eam ey mec i faa ar Sido dl pega (PS) 1 ogra, Esa foci se pte api en ils de me indne dl apoaie ean crx cg cote logis cn pov prod + Agree ent om len eee ag de en an ol a ste pero leew ES ora po por eae go einer Ts ae dee Semi Si ny ms eo ee et la en fel de interpol oe procesaor 1 con Ia posicign del punto de en- | 22 Sistemas operatives. Aspectos intros y rinciive de dseho Tengo a ® gerade | openee recone | ce a “o ® peat ‘ es 1) © onesi neni Brena oO om ® Cbgmineron eet ‘enfecretrts (3) Sin eserupciones. sere cote i enlsFipu ) Figure 19. Temparisaién eel pop ede lent qu liar ua psn a dispositive que gene i Sra espuess que contin a infrmacgn rue, SM Merupin Para obtener Ua vee qe ha erat lento eens 3 et poramae oso oti onl siete ode nrc qu conenscon una lected sion Dado eee © Erie ott, Ln dl propa yf PS naa con propa ines han amacerado ena is del stema, Sn emg. hy ote ose rare del ead del rogama en ect Ea conto gees sar el ead ee Preenlacpeso git eo exists for pod ar el nee oe Introdueeiin ator computadores 23 Software Sansaeee de stores Pres ra ets proce = Figura 130, Proeasemionta simple de Interunciones. clones, Por tanto, se deben salvar todos estar valores, es como cualquier otra informacién de es tado, Generalmente, el manejador de iterupeién comenzard salvando el contenido de todos los regists ents pis, Enel Capitulo 3 se estdiard gud ota informacidn de estado debe salvase La Figura I.118 muestra un ejemplo sencilo. En este caso, un programa de usuario se interum- ‘= dexpuds de a nsvuccign en Ja posicién N, El contenido de tdos los registro, asf como la d- reccidn de la siguiente insiuceisn (N+ 1) un total def palabras, se apilan en la pla de contol El puntero de pila se actualia para que sefsle ala nueva cime de la pla, mientras que el conta. dor de programa quedaré apuntando al principio de Ia rutina de servictn de deep. 7. Et manejador de ineeripcisn puede en este momento comeizar a procesar Ia interupei6a, Esto incluied un examen de ln iaformaci6n de estado eelacionada con la gperaciGn de E/S © £00 olye evento distnto que haya causado ly interupcidn, Asimismo, puede implicar el envio {de mandatos adcionales 9 reconocimienos al dispositive de £1. 8. Cuando se complete el procesamiento de I insesupein. se recuperan los valores de los reais. eos salvados en la pila y se restituyen en los regiscas (Come ejemplo, véase la Figura |.11b) 9. La dima aceidn consiste en restr de fa pila fs valores de fa PSY y 46) contador de} pro~ uma. Com resultado, la siguiente instructign que se va ejeutar caresponderd al programa DBeeviamenteinerrimpi, importance salvar ide le informacion de estado de} programa interumpido para su posterior reanudacin. Exo se debe a que la interrupeién noes una rutina Yamada desde el programa, En su lu- 24 Sistemas operatives. Arpectes ators yprincllos de dlseho sa, laimtenrupcign puede suceder en cualguier momenta y, por tanta en cualquier punto deta ejecu cid de un programa de usuario. Sy sparicién es imprevsibe (MULTIPLES INTERRUPCIONES. El estudio reatizado hasta el momengo a watado golamente e} caso de que se produzca una dice in- terupci6n. Supéngase, sin embargo, que se producen multiples itercupciones. Por ejemplo, un pro _grama puede estar recbiendo datos de una linea de comunicacién ¢imprimiendo resultados al mismo tiempo. Le impresora generaré una inerrupcion cada vez gue completa una operacign de impresin. El controlador de la linea de comuniescién generaré un inlerrupcién cade vee gu (lega una wnidad de datos. La uidad podria consist en un ince carécter 0 en un Noque, dependiendo dela naturale= 2a del protocolo de comunicaciones. En cualquier caso. es posible que Se produzca una interop ‘de comunicacign mientras se estéprocesando Una interapciG dela impresora Se pueden consderar dos altemativas ala hora de trata con miles intesrupeiones. La primers ¢s inhabilitar la imterrupciones mieniras que se est provesando una inesrupei6n. Una inrerruper inhabiltada significe simplemente que el procesador ignorard cualquier nueva seal de petici6n de intearupeién. Si se produce una inerrupcién duraate este tempo, generalmente permanecers pendien- te de ser procesada, de manera que el procesaée sélo le comprotars después de que se rebabilten las intesrupciones. Por tanto, cuando se ejecuta un programa de usuario y se produce una interupcin. se inhabiican ls interupeiones inmedistamente, Después d2 que se completa la rtina de manejo de Is interrupcin, se tehabiitan Iss interupciones antes de reanudar el programa de usuati, y el procesa- dor comprucba si se han producido interupciones adicionales. Esta estrategia es valida y sencll ‘puesto que las interrupciones se manejan en estieto arden secuencal (Figura 1.122) La desventaja de Ia estategia anterior ex que no tiene en cuenta la priorida relativa ol grado} ‘rgencia de las ilerrupciones. Por ejemplo, cuando lesan datos por Is Jinea de contunicacion, se puede necesitar que se procesenrépidarmente de manera que se dee sito para otras datos que pueden egat. Si ef primer loie de datos no se ha procesado ants de que lege el segundo, 10s datos pueden perderse porque el buffer del dispositivo de E/S puede lenarse y desbordarse Una segunda estrategia es definir prioidades para las interupciones y permtir que una interrup- cidn de ms priordad cause que se interrumpa la ejecucién de un manejador de una interupeida de ‘menor priridad (Figure 1.126). Como ejemplo de esta segunda estategia, considere un sistema con tues dispositivos de EYS: una impresora, un disco y una linea de comunicaci6n, con prioidades ere- ‘iene de 2,4 y 5, espectivamente. La Figura 1.13, basada en an ejemplo de (TANE9T], muestra una Bosible secuenci. Un programa de usvatio comienza en r= O. En = 10, se produce una interrupcién de impresora; se almacens Ia informacién de usuario en is pila del sistema y la ejecucin contintia en la ratina de servicio de interupcin (Interrupt Sersce Rowine, ISR) dela impresora. Mientras todavia se es ejecutando esta ruiina, en r= 15 se produce una interrupcin del equipo de comunicaciones. Debido aque ta linea de comnicacin tiene una priordad superior ala de la impresora, e sire la pe- {icin de interupcin Se interrumpe Ia ISR dela impresors, se almocena su estado en la pila y la ee- cusién contin con la ISR del equipo de comunicaciones. Mientras se esd ejecutando esta ratina, se Produce una intemupcién de disco (1 = 20). Dado que esiainterpeida es de menor priordad, simple- ‘mente se queda en espera, y la ISR de f linea de comunicacén se ejecta hasta su conclusion Cuando se completa la ISR dela linea de comunicacisn (t= 25), se resttuye el estado previo det proceso, que conesponde con la ejecucidn de la ISR dela impresora. Sin embargo, antes incluso de ‘que pueda ejecutarse una sta nstrucein de esta rutina el procesadoraende la interrupciGn de dis- 0 de mayor prioridad y ransiere el control ala ISR del disco. Sélo cuando se completa esa rutina (= 35), se eanuda Ia ISR deta impresora. Cuando esta itima ratina se completa (¢= 40). se vuelve finalmente el contra al programa de usuaria, Iruoducei alos compuredores, 25 om e y 155 1 | LL } wt fre = ; | | | Memoria ‘ect inca errno do iteropeion (4) Lainterapea se produce después (b) Retomo 40 interop dela instuccign en Ta posici6n N “in Figura 111, Cambios ola memoria yen os eaiatos dures MULTIPROGRAMACION . Nemplo, considérese Ja Figura 1.9b, que demuestra una mejor Woe cen been ee elem considers una opreign de E/S ¢8 mucho mayor ane 61 Se el ern eee es rag mei oe 15 programas. Uno de ellos sim Seno. etre Sh oe emer a ta cn sour ocesedor 26 Sistemas operator Apectos intros yprncplos de dieefo roman Mado ce sews Ince Manejo ee ine lo Poesnizi scence ners Progen Major de sy serps NI Figura 112. Transtrencta de contol con mili interrue ue se eecutan los programas dependerd de su prioridad relative, asl como de # estén esperandy nan ecb Chasen pry een Ecetlatngetcin hla Ela ba momento. En su lugar. ef control puede pasar a alg ra pon inerrumpido previamente, en el momen is mayor priordad, Este concepto Invoduetién alos computadores 27 Programa de eter ie terug fone einpesce Econmneion Ce ins de ei seer Figura 1.12. Eemplo de s2euensia do tempo con miliples interrupciones RCM 1 de diseno en la memoria de un computador se pueden resumir en tes preguntas [oudl es su capaciéed? {Cua es su velocidad? ;Cudl es su coste? La pregunta sobre eulnta dee ser su capacidud ex algo que no iene lint, Sse dispone de una deer ads apacidad, probablemente se desarrllarén aplicaciones que Ia usar, La cuestin acer, eerie velocidad tiene, hasta ciemo tempo, une respuesta mis fécil, Para aleanzat un rendimiento Sesto, la memoria debe ser capaz de meatener el itm del procesador. Es desir, sean el process: Friern instueciones, no deberia haber pats esperendo que estén disponibles ls instruc, see Sr taperendoe, Se debe considera tambien la dima pregunta. Para un sistema préctico, el cere sse la memoria debe ser rezonable en relaciGn con Ios Otros components. re as tes caracterstics fundamentals de fa me~ iquier momento dado, se utlizan diversas de tcnologias, se cum- Las restrecione ‘Como se podria esperar hay un compromiso ent mora: a saber, cost, cepacidad y tiempo de acceso, En cual tronologfas para impiementar los sistemas de memoria. En todo este expecio pln las siguientes relaciones: + Cuanto menor tempo de acceso, mayor coste por bit + Cuanto mayor eapacidad, menor este por bit. + Cuanto mayor capscided, menor velocidad de acceso. Queda claro el dilema al que se enfrena el diseiaor. A él te gustaria utilizar ccon9log os que mporsionen una tema de gran capacidd, canto porque se nesesit esa copacdad come targus bu couts por bites aj. Sin embargo, para cumpli on 1s reasitos Ge rendimienio. Bora or aockaraatlzar memorias de capacidad relativamente baja con tiempos de eeveso ripidos. 28 Sistemas oper wos. Aspects invanos yprincpies de olsaho iss ae discon on 9 an on iy cnponr sul it te lms emt nw aon conan de manor on ‘le Sept desiene cn jaqu caneTosgaene ss ™nArmanalemgns 4) Disminucién del cost por ») Aumento de la capacidad ©) Aumento del tiempo de acceso «t)Disminucn de la frecuencia de acceso a ln memoria por parte del procesador ne Pam ls menor spas, cars y pues complemen con memorts memoria virtual. De: cache, y ea posteriores capitulos del libro, cuando se presente Sai roy emis si ie on om bent nee e ceo ele cane T0000 byte ten emp Ths asus ue Suny qué eves cde ea ent nivel vel poco nae Figura 116, La jrarqus de memoria lntrosucion@ os comput 2 1 2, primere so ransfieve el byte absivel 1. 2 continua- Pr prorat emo requerida par el pees pare 115 tues fa fora general de 1a cura rectamente, Sin embargo. si esté en el ni {ién, el procesador lo accede. Para snegifce, ‘eterminay si el byte est ene nivel I o en el 2. La Fig eterna foes, Lo ig owes el emp de aeeso meio g ara eyes 0 15 2 gue EES as de alerts A donde Ase Gein oma a faci dr 9 ree ne encuentra ef emoca ms ida por ejemplo Ince) TS e cee T nivel Como se puede observa. pra pores evades SSo8 a se ie ai ae aces etch ms présne al cotespondint al vel 1 al fel nivel 2. En el ejempla, se supoe que el 958 de Is aceon « memeria ss encena et cache (4.2 095) bora el tempo medio para acceder a un byte se puede express some {0,95y0.) us) +(0,05K0.) ps + 1 ps) = 0.095 + 0.085 = O.1S us treated ets proxi a tempo de acceso de a memoria ms pid. For wave £8 ee fa ee Sak dor nies de remova funciona, po slo ss cumple a congo’ ae ta eine el empleo de diversas tecologs, exie wv range gems ener 181) ace fap conicnes dea () 48). Aforunademente, concn) también es gene= talent valida, ve alder de ln conden (ets bata en wn principio conocido como pani de ef ren i ome el cus de ejecvién de um progam. Ist eens de memos fas {DENNES). Duran Sts como a dts eden a gras. Los poranes conse MS procsndr, to 3 on ernlvon subtas Una ve ut niu use oun ibang oS a cia un pequeoconjto de insrvciones, Del mismo moses qn one er ere a urn acer a conjunts appa byes aos Eo un peindo de tiem nth 1 Tipe mein dese a ° . ncn de secesos inva lo a ie a as Figura 118, Rendlmiento do una memeris simple de dos nivees > specs ecserenta mem inane com mer ee fate ecules seed nowsen esa mena as, 30 Sistemas operatives. Aspects ntomos y princpis de ceo to larg, las agrupaciones que Se estén usando van eambiando, pero en un periodo coro, et procesa- ‘or esd principalrmente trabajando con grupos fljos de referencias a memoria or consiguiente, es posible organiza los datos a wavés de la jeraguia de manera que el porcenta- le scces0s 2 cada nivel sucesivamente mds bxjo es considerablemente menor que al nivel inferoe Consdere el eemplo de dos niveles presentado previamente. Supéngase que Is memoria de nivel 2 ccntiene todos 1s datos e instucciones del progrema. Las agrupaciones actuales se pueden almecenar Temporalmente en el nivel I. De vez en cusndo, une de las agrupaciones en el nivel | tenéré que ser ‘expulsada al nivel 2 para hacer sito una nueva agnipacién que Lege al nivel 1. De media, sin embar- igo la mayor de las referencias corresponderd con insruccionesy duos contends enol nivel I see principio se puede aliar a mis de dos niveles de memos El tipo de memoria ms répida,pe- _ueiia ycostosa conisteen Ios registosintemos del procesador. Normalente, un provesidorcontendré tinas pocas doceeas de ese tipo de registros, aunque algunas méquinas contienen cientos de registro. Descendiendo ds niveles, est la memoria principal que es el sistema de memoria interna fundamental el computador, Cada posicién de memoria principe tiene una snicadieoci, La mayoea de ls ins- trucciones de méquira hacen referencia a una o mds direciones de memoria principal. La memoria pin- cipal se amplia usualmenc con una cache, més pequeiay de mayor velocidad, La cate normalmente no fs visible al programadar 0, incluso, al processdor. Se tata de un dispositive que conrola el movimiento 4e datos ente la memoria principal y ls regisros de procesador con objeto de mejorar el rendimient. Las tes formas de memoria descrtas son, normalmente, voles y emplean tecnologia de semi ‘conductores, El uso de tes niveles expltael hecho de que la memoria de semicondectores se presen ta.en diversos tipos, que se diferencian en velocidad y cose. Los datos se aimacenen de forma mis permanente en los dispostivos de almacenamiento masivo extemos, de los cuales los més comunes Son fos discos dur J los disposiivos extafbies tales como los discos extrales, las cincas y el al- ‘macenamiento 6ptico. La memoria no voll extems se denomina también memoria secundaria o ‘memoria auxiliar. Se usa para almacenar ls ficheros de programas y datos, siendo usualmente vis ble al programadors6la en txminos de Ficheros y registos, en conraposicd «bytes o palabas in- viduales El disco se utiliza también peta proporcionar una extensin e la memoria principal conoci- > sien 32 ‘Sletomas operatives, Aspectos Jnternos y prnspios de dseho Conjuntos de Ios bloques de memoria principal residen en las huecos dela cache, $i se lee uns pala- brs de un blogue de memoria que no esti en la cache, se sransiere ese logue a uno de los huesos de Ia cache. Dado que hay mas bloques que huecos. no se puede dedicar un hueco individual de forms nica y permanente ¢ un determinado logue. Por tanto, cada hueco incluye una eriqueta que identi ‘a qué bloque en concreto se almacena sctuaimente en éI. La eigueta cortesponde nosmalmente con varios bits de la pare de mayor peso de Io diveccign y hace eferencia a cada las direcciones que C0: rmienzan con esa secuencia de bis, Como un ejemplo sencillo, supdngase una direcci6n de sis bits y una ctiqueta de 2 bits. La et- ‘queta 01 se refer al bloque de posiciones con las siguientes drecciones: 010000. 010001. 010010. 010011, 010100, 010101, 010110, 010111, 011000, 011001, 011010, 011011. 11100, 01LI01 onnnioy ont ‘La Figura 1.18 muesira la operacin de lectura. El procesador genera fa dreccion DL de 1 pala- bra que pretende lee. Sits cache contiene la palabra, se la eniegs al procesaor. En caso conraia, se carga en Ta cache el bloque que contiene es palabia proporcionando al procesadordicha palabra DISENIO DE LA CACHE Un estudio detallado del diseso de Ia cache queda fuera del sleance de este libro. A continuacin, se ‘resumen brevemente los elementos fundamentales. Se comprobaré meds adelante que hay que siromar Namero Direscién Ge nea Bieta Bloque de memoria ort 9 I 1 1 2 -y Bloque 7 3 ‘ palsbrs) ce Tengo ae Vestas) — . (2) Cache : a ye } ero (Memoir Figur 114, Estar decane pip Inuroductén los computadores 33 aspects de seo sinilres a watar lie dea memoria tly leached de: Se dt Sens siguientes eaeperts + Tamatiode cache + Tama del Bogue + Euncién de eoespondencia. + Algrimo 8 rempazo «= Poli deer se cto ye ema del tama de cache, egsdos a concn de eos ease en ama razon de cache exe tamat del logue: la uridad de ator gue St ‘rer ant ja entre la cache y la memoria principal, Segdn ‘el tamafio del bloque se incrementa ss interes alpina aad alos arent debi al principio de Is sy sn pense ur tino) fa orn oo ue wera airs nq one eer Seine nema mao de ge, Bema es Seng, nas de ae conenar a. deceer cuando el seen 1 se Jpn vind 9h a probabil e oles 2st 0s & rc Di. —eciende Tecbeladcelon “e Drawer “EO are Toad eee Ee pean shee Stendipcia sawed. Renee ea Figura 118, Operacén de ects dee 20h, Sea eS Sistemas operatives. AnpectosInternosyprnciios de disaho lefdos se hace menor que lade uilizar nuevamente los datos que se van a expulsar de Is cache para dejar sitio al suevo blogue Cuando se lee ¢faciuye un nuevo bloqve de datos en la cache. ls funcién de correspondencia termina qué posicin dela cache ocupard el blogue. Existen dos restricciones que fectan al disefo de a funcién de corespondenci, En primer lugar, cuando se introduce un bloque en le cache, se puede tener que cemplazar ‘oxo, Seria deseable hacer esto de manera que se minimizara la probabitidad de que se remplazase tun blogue que se necestara en el futuro inmediato, Cuanto mis flexible es la funcion de corres pondencia, mayor grado de libertad ala hora de disefar un algoritmo de remplaze que muximice la tasade aciertos. En segundo lugar, cuanto ms flexible es la funci6n de correspondencia, més afer diretamente si se conects a una amemoria Ge 16 bits»? uit sel méximo espacio de dircsions de memoria al. que el proessdar puede ac- or drectamente si conecia una «memoria de 8 bits»? nitinn a este microprocesador acceder @ un b €) z0ué caracersicas arquiteténicas perm “espacio de E/S» separado? 4) Siva instuceio de enredalsalida puede espciticar ua nimero de puerta de EIS de & Bhar ucudnos puertos de E/S e 8 bis puede manejar el micropacesador? LY eudntos Ge fe bits? Rezone la respuesta 1.5. Considere un mieroprocesador de 32 bts, con un bus de datos extemo de 16 bits een Sore cla de ends de § hie. Asura que exe micropocesadoy ene um C'S ter arsign minma es igual a coat ccls del eo] de enrada, {Cull ela os. a a air ge datos mix en el bus qué este msroprocesedar puede mantener med are Para increment su end. era mejor hacer qu s bus de dose cote Foie dar la freuen del rej extero sora al microprocessor ae 40 si temas operatives. Arpectorinternos yprncpios de deeho ‘Detale cualquier otra suposici6n que se realice,razonando la misma. Sugerencia:detemi- ne el nimero de bytes que se pueden transfere por cada ciclo de bus. 1.6. Considere un computador que contiene un médulo de E/S que controls un senilloteetipo con impresora y teclado. La CPU contiene los siguientes registos. que estén conectados D,+D, donde: C= coste medio por bt de Is memaria combinada de dos niveles caste medio por bit de la memoria tt de nivel superior coste medio por bit de ie memoria M2 de nivel inferior tamafo de MI = tat de M2 Seria deseable que C, = Cy. Dado que C, >> Cy Se requiere que M, << M, La Figura 1.22 mues- traf relacia’. Sequidamente, consider el tiempo de acceso. Para que una memoria de dos nveles proporcione una mejora significative de rendimiento, = necesita tener T,aproximnadamente igual 2 7, (7, = 7). Dao que J, e8 mucho menor gue T,(T, << T,), se nevesita ina tasa de acienos préxima aI. or consiguiente, se pretende qué MI sea pequeia par ntener el coste bajo y grande para me- jorar la tsa de acerto , por tanto, ef rendiiiento,¢Hay un tamaso de MI que stisface ambos requi- sitos hasta un punto razonable? Se puede responder aestacuestion mediante una serie de preguntas adicionales: + {Qué valor de fa tsa de acertos se necesita pare satistacer el requisito de endimiento plantendo? + (Qué amaso de MI ssegurard Ia taca de aciertos requerida? + Satisface este tamaao el requisite de coste? 7 ee goss ds fs stan seri Una i ia es oni ner nt dc sen eps nel Conte So Se Sp Seen Waeling er edroppr a 46 ‘Sistames opertivos, Aspatoe interns ¥principos de disho | eye» 100 cnt combine rlav CE) (eax Pasay post Tit iho ama relative og ao ves 0D) Figure 122, Relalén da! costa modo de la mernaria en reaci8n eon su tama rlativo pare una memoria de dos nivales Para responder a estas peguntes, consiere la cantidad T/T, que se canoce como eficiencia de acceso, Es una medida que Fefeja hasta qué punto el tiempo dé abceso medio (7) extécerea del tem po de ncceso de MI (7). A partir dela eeuacin (1.1: 1 3 z aa +a Leda En la Figura 1.23 se dibuja 7/7, coma una funcin de la 283 de acieros A, con la cantidad T/T ‘como parimeiro. Parece necesialse una tata de acietos en el intervalo de 0,8 20.9 para satisfacet el requisto de rendimieato. En este momento se puede expresar més exactamente ls pregunta sobre el tamalio teativo de la memoria, {Es razonable ina tasa de aciertos mayor o igual 20.8 para D, << D.? Esto dependers de ‘arosfactores, incluyendo las earacteristicas del software que se esti ejecutands y los detalles dedi eno de la memoria de dos niveles. El determinante principales, evidentemente, et grado de proximi- dad, La Figuea 1.24 sugiere el efecto de la proximidad ea fa tasa de ecieros. Catamente, si MI tiene el mismo tamafio que MD, Ia sa de acietos sed igual a 10: todos los elementos en M2 tambign es tardn siempre almacenados en ML. A continuacign, supéngase que no hay proximidad, es deci, las referencias son completamente aleatorias. En ese caso, la tasa de acierios seri una funcida esticta- mente lineal del tamafo relative de la memoria. Por ejemplo. si ML iene la mitad de tamato de M2, ‘en cualguies momento la mitad de los elementos de M2 estén también en MI y la tasa de aciertos sera ‘de 05, Sin embargo, en le pritiea, hay algin grado de proximidsd eles referencias. En la figura se encenn de ese = 7, Introdeein alos computadores oo a as ‘ase deaertn A Figura 128,. Efotencia de acceso on frelon de a rasa te acertcsér= T/T 1 os os a de eros Sinpoinad pr “umato etd ls mers sD) igure 124, Tess deacons on funcion del mat a7 48 Sistemas oparativos.Agpectos lnternos y avin de alses En consecuencia, si hay una prosimidad acusada. es posible lograr valores elevados en la rasa de scietas ineluso con un tamatio de menioria de nivel superior relatvamente pequeto. Por ejemplo, hnumerosos estudias muesiran que tama de ache bastante pequefos producirdn una tasa de aie tos por encima del 0.75. cam indepwndencia del tamaio de fa memoria principal (por ejersplo. TAGARS3), [PRZY88}. [STRES3) y [SMITS2). Una coche con un tamao en el interval ent IK y 128K palabras es generalmente adecuada, mentas que acualmente fa memoria principal se presenta ormalmente en un inervalo que se ewviondeente cientos de megabytes hasta ms de un gigabste (Cuando se considers Ja zewioria vial yl cache de disco, xe pueden citar otros estudios que conir- ‘mao et asm fendmeno, es decir. que una rsemoria MI relaiivamente pequefa produce un valor ele~ vado en la asa de aciertos gracias als proximidad Esto conduce a la ttima preguncslistadaanterionmente: satsface el tamafo relaivo de las dos memoris el roquisito de coste? La respuesta es claramente sii se necesita solo una memoria de ni- vel superior relativamente pequetia fara alcanzat un buen rendimiento, el coste medio por dit de los os niveles de memoria se aproximars al de In memoria de nivel ines ‘Una técnica habimuat para controlar a ejeccién de Hlamadas © procedimiento y los retornos de los ‘mismos es uiliza una pila, Este apsnice resume ls propiedades basics de las pls y revisa su uso para el contol de procedimientos IMPLEMENTACION DE LA PILA Una plz es un conjunto erdenado de elementos. tal que en cada momento solamente se puede ace: der a uno de ellos (¢] més recientemente aad). El punto de accesa se denomina cima de la pila El nero de elementos de fa pila, o longtud del pila, es variable, Por esa az6n, se conoce también @ ‘una pila como una fista de apilamimo 0 lzta donde el tino que entra es el primero que sate (Last In Fist-Ou, LIFO), La implementacin de una pits requiere que haya un conjunto de posiciones dedicado & slmace- nar los elementos de la pila. En la Figura 1.25 se nuesire una tznica habitual, Se reserva en memoria ‘Principal (0 memoria virtual) un blogue contiguo de posicions. La mayoria de las veces el blogue {est parcialmente leno con elementos de lapis y el resto esté disponible para el crecimiento de la pila. Se ncestan wes direcciones pars un funcionamiento sdecuado, que habrualmente se almacenan en regisiros del procesador: + Puntero de pila, Contene la direccin dela cima dela pila. Si se afade un elemento (APILA) ‘se elimina (EXTRAE), el punter se decrement 0 se incrementa para contener le dizeccién ela nueva cima de la pla. + Base de la pila. Contiene Ia dieccidn dla posicié inferior en el bloque reservado. Se trata 4e [a primers posicicn que se utiliza cuando se aade un elemento a una pila vacfa. Si se hace an intento de extrer un elernento cuando Ia pls esté vaca, se informa del error. + Limite de Ia pila, Coniene la direcci6n del otro extremo, 0 cima, dt bloque reservado, Si se hace un intento pars apilar un elemento cusndo la pila es llena, se indica el error. ‘Tradicionalmente. yen la mayerfa de las méquinas sctales la base de la pila esi en el extrema on la dieecién mas alta del Blogue de pila reservado, el Limite est en ef exiremo con la dieccién "ifs baja. Por tanto, la pila crece desde las diterciones ms alias a las ms bajas A tr = oe ON | ‘eas | se Ce ts L. es oe eee ese ee (Teta lion monesa Lees Figura 125. Orgorzecién habitual del pil LLAMADASY RETORNOS DE PROCEDIMIENTOS stamadasy os tos de os racemose wir una am Sacena pl la ccm de eames ils ree Sa dela cna a ila ye emi xa) ex pra los recedes niados resents Una técnica habitual pars gestioner las pil. Cuando el procesador eect a Euando se ejecula un remo, se wtliza reovign dela pla. La Figura 1.27 muestra € uso de a pil ‘dos en la Figura 1.26. ome oe Pera oo i etait de parton en memors Me il es Una estrategia mas flexible par ‘una Hamada, no s6lo apila Ia diecci rémetos en una lismada a procedimiento. Estos se macenar los peetzos e9 ke memoria justo des J vetorg dee estar en la posicin siguiente a Tos se utlzan los regstos el programa ta e asegure que Ws Feist Se viizan itereambiar un nimeso i al proceso jcuta el paso departs es aia. Cuando el ao come sino tin los padres que se dsen par si pede acer 8 ox parser lk. Ale proces ama ee mace en oj 1 ein de Tetomto. El conjunto completo de pardmetros,incluyendo la direccién Ge relomo, que se Sn Tielnmoracige de procedinienta se denomina mare de pil fe refer aunprocedimino Pen el qu se decane ates ices ay 23 al el pede amar Py ene au Se de cla Ins wubles yl} 92, El prime® elementa almacenado en cada marco de pila es un punter al lana ssa ences esse neo 0 PG fo ano ue 8 se muestra un ejemplo. El ejemplo ¥ el procedimiento Sistemas operatives Asgactos ntaos ¥prinepiae de diseho Deeeiiees Memo ppl 00 Proce Pret 4g | Lavaca 0 ‘RETORNO i Lis (olsstey eons ()Seaenca cesta Figura 126. Procedimientorsnidados. We Se Bek (chGanerde Deatede (@TLANADA (GDepoes _(e)Degues @Despute Del eat “HEBEDS ‘Scasiet OEM tai ORERS leet isp aoe neTORNO “sh” -RETORNO —_RETORNO ‘Figura 12%, Uso dels pit pera implamsntar los procediientos sidados dele Figura 126. se vana apa es variable. coninuaisn, se almsacen el punto de retoms del pocediminto que co- rresponde a ete marco de pil, Fnalrient, se reserva expacioen facta det tare de pla pa las (Mapai cne Popa Fgura25. Sjemplo de muliprogremecion Invroduccién aos sistemas opersives 63 Esta ineficiencla puede evitars, Se sabe que existe suficiente memoria para contene a sate ima operativo (monitor residente) y un programa de usuario, Supdngase que hay espacio para cl sistema operative y dos programas de usuario. Cuando uo trabajo necesita esperar por la L/S. se ‘puede asignar el procesador l otro trabajo, que probablementé no estéesperando por una opera ign de EJS (Figura 2.50). Mis an, se puede expandir Is memoria para que albergue tre, cuatro ‘0 més programas y pueda haber mullplexacién entre todos ellos (Figurs 2.5c)--Este enfoque se ‘conoce como multiprogramacién o multitarea, Es el ema central de los sistemas operatives modernos, aca mostrar los beneficios de la multiprogramacie, se describe un ejemplo sensillo. Sea un computador con 250 Mbytes de memoria disponible (sin wiliar por el sistem op2ratvo), un disco, tun terminal § una impresora. Se envian simultdneamente a eecucin ues programts TRABAJO ‘TRABAJO2 y TRABAJOS, con las earactersticas lstadas en a Tabla 2.1, Se asumen requsitos mi simos de procesador ara los trabajos TRABAJOI y TRABAJO3, asi como uso continuo de iipreso- ry disco por parte del trabajo TRABAJO3, En un entoma por loves sencillo, estos trabajos se eect tarén en secutncia, Por tanto, el trabajo TRABAJOI se completaré en’5 minutos, El tabajo ‘TRABAJO? esperaré estos § minutos y a continuacién se ejectar, erminando 15 minutos despues, El trabajo TRABAJOS esperard estos 20 minutos y se compietara 30 minutos después de haberse en viado, La media de tilizacide de recursos, productividad y tiempos de respuestas se muestran en Is columaé de monoprogrameci¢n de I Tabla 2.2. La wlizacign de cada dispostiva ge ilusta en la Fi= _gora 2.6 Es evidente que existe una infraulliaci6n de todos los recursos cuando se compara res- pect al periodo de 30 minutos requeri, ‘Tabla 2.1. Atributos de ejecucién de ejemplos de programas. TRABAJO 1 ‘TRABAJO 2 TRABAJO 3 “Tipo de trabajo ‘Computacibn (Gran conlidad de ES Gran conidad de BS Sminutor 1S einutos to minstor som 00 73M sNecesita disco? No No s iNecesite terminal? No st No aMlocesiea impresora? No No si Tabla 22. Efectos de lo utllizacién de recursos sobre la multiprogramacion. Monoprogramacién ‘Muttiprogramacién Use de procesador 20% 0% Uso de memoria 30% ore Use de disco 33% ore Uso de inpro 33% ore ‘Thampo trenseurride 30 minutos 1S minutos Productividad S trabajos ‘2trabsjoshora ‘Tiaarpo de respuesta medio se minutos tominutos 64 Sistemas operativos, AspectoeInteros pinipos de seo insjos se ejecutan concurrentemente bajo un sistema opeativa nultinrogramdo, Debido que hus poco conflict enite 10s trabajos, todos pueden ejecta ost aarar atmo tempo mientras coex ste con los orros en el computador (asumiendo que se asigne Siior tabujos TRABAJO? y TRABAIOS suficiemte tiempo de procesador pars mantener sus ope feclones de enleada 9 silda activas), El abajo TRABAJO! todavia requerisé $ minutos pars Completarse, peo al final de este tiempo, TRABAJO? habré completado un tercio de su trabajo y TRABAJOS Ia mitad, Los tres trabajos habrin finalizado en 15 minutos, La mejora es evidente al cxaminar la columina de mltiprogramgcign de la Tabla 2.2. obtenido del histograma mostrado en 1a Figura 2.60, DD ssismo modo que un sistem en lotes simple, un sisters en Fores multprogramado wambién debe basse on certascarateristcas hardware del computador. La caractersticaadicional més ot bie que es til para la multprogramacion es el hardware que sopona las intrrupciones de B/S y MLA iDineer Memory Access acceso directo a memoria). Con Ia B/S gestionads a través de iterup ‘Cones. DMA, el procesador puede solcitar un mandato de E/S para un trabajo y contnar con Gecucida de otro eabajo micniras el controlador del disposiivo gestiona diche Operscin de E/S. ‘Gaando esa ima operacion finalize procesidor es interrumpido y se pas elcontol a un progres tna de vatamiento de interupciones del sistema aperativo, Entonces el sistema operative pasar el conical # ato trabajo ‘Aora supéngase que [0s ta Ls sistemas operatives multprogramades son bastante sofistcados, comparados con las sse- mas manoprogramados. Para tener varios trabajo listos para ejecutr, étos deben guardarse en e- snotia pn ipal. equirendo alguna forma de gestién de memoria, Adicionalmente, si varios wabsios ‘atdnlsos para sejecvci, el procesador debe decidir eufl de ellos ejecurar; esta decisin requiere Un algortme para planificacin, Esios concepts se discuen mis adelante en este capitulo. SISTEMAS DETIEMPO COMPARTIDO Con el uso de Is muliprogramacién el pracesamiento en Jotes puede ser bastante eficiente. Sin em~ ‘argo. para muchos trabajos, es deceableproporcionar un modo en el eval el usuario interaccione di rTectamente €98 el computador. De hecho, pa algunos trabajos, tal como el procesemiento de tra~ saceiones, un modo interactives esencal Hoy en da, los computadores personales dedicados o estaciones de trabajo pueden cumpliy fre~ cueniemente Jo hacen, los requisits que necesita una utilidad de Computacién iteractiva. Este op- ign no estuve disponible hasta los aos 60, cuando la mayoria de los computadores eran grandes y ‘ostosos. En su lugs, Se dessroll el concepo de tiempo compartdo. ‘el mismo modo que la mulproramacin emit al processdorpstioar miles tats en toves en un determina tempo, a mlprograrcin ambien e puede wll pare gesting mdli- pics abajo inerecives. Ena sano cs, ania se deromina temp compart, pore © Tompareef tempo se proccadr ene mils euros. En an sista de tenipo compara, smiles wisoyaeedenstnalncanent a sistema avs d eine, senda tema ope fave encagado de entelar nec de ade programa de wsuavio ex pequeios intervals de tiempo o cuantos de compan Por ant, say Saris atv soli un servi 21a ver ods ue so wer emai nde a capac de computain efectv in contra sobezares ‘todcida pore seme operative. Sin eta, doc tempo de reac elaine lente de Ios humanos el cmp despues ds un stern dishadoadecudarente debi se similar de un computador deca Ambos tipos de procesamienio.en lores y tempo comparido, wilizan multiprogramaciéa. Las liferencins mis iraponants se stan en la Tabla 23. Invodvecion a fos iatemes operstivos 6 Histogramas de uilizacin, Figura, 66 ‘Sistemas operatives, Aspects Intenos y principio de sero ‘Table 23, Multicogramenién ar lates frente 2 tiempo compartde, ‘Tiempo compartido ‘Muttiprogramactén en lotes ‘Maximisar of uso del procecador | Minimisar el tempo de espuest ‘Objetivo principal Mandates introduces ectivas Mandstos dol engus etd de contol ce trabajos proporcionados pore absjo Fuonta de Al sistema operative Uno de los primeros sistemas operativos de tiempo compartido desarollados fee et sistema TSS (Compantbte Tine Sharing System) [CORBS7), desazollado en el MIT por un grupo conocido como Proyecto MAC (Machine-Aided Cognition, o Muliple-Access Compucer, El sistema fue ini Cialmeate deseroado para el IBM 709 en 1961 y mds tarde transferido at IBM 7094. ‘Comparado con sistemas posteiores, CTSS es primitive. Fl sistema ejecut6 en una maquina con rmemori principal con 32.000 palabras de 36 bis, con el monitor residente ocypsndo 5009 palabras. Cuando ef coateol se esignebs& un usuario inecactivo, el programa de usuario y los datos se carga- ban en lay restantes 27.000 palabras de memoria principal. Para arranaz, un progreme siempre 5 catgaba al comienzo dela palabra 000, eso simplifiesba tanto el monitor como la gestién de memo- Fe Un rel del sistema genera una interropeion cada 0,2 segundos aproximadamente. En cada in- terupcién de reij, el sistema opeativo retomaba el control y podia asigna el procesador & otro twsvatio, Por tanty 8 intervalos regutares e tiempo, el usuario actual podria ser desslojado y otro ‘usuario puesto a ejecuar Para preservarel estado del programa de usuario antiguo, los prograinas de Usuario y los datos se escriben en el disco antes de que se lean Ios nuevos programas de usuario y ‘nuevos datos. Postriorment,«) cédiza y los datos del progiama de usuario antiguo se restauran en ‘memoria prinipal cuando dicho programa vuelve a ser plaifiado, Para minimizar el fico de disco, in memoria de usuario slo es eserita a disco cuando el pro ‘rama entrane Ia sobreesribe. Este principio queda ilusrado en la Figura 2.7. Sean cuatro usuarios interactives con los siguiente requistos de memoria + TRABAJO! 15.000 + TRABAJO?: 20.000 + TRABAIO3: 5000, + TRABAJOM: 10,000 Inicialmente, ef monitor carga el trabajo TRABAJOI y le tansfiere control (a). Después, el mo: ritor decide tansferr el control al rabajo TRABAJO2. Debido a que el TRABAJO? requiere mis memoria que el TRABAJOI, se debe escribir primero el TRABAIOL en disco, y continuacion debe cargatse el TRABAJO? (b)-A continuacio. se debe cargare! TRABAIO3 para eecutarse. Sin em- ‘argo. debido a que el TRABAIOS es més pequefo que el TRABAJO2, una porcién de este dhimo {queda en memoria. reduciendo el tempo de escritura de disco (c). Posteriormenc, el monitor decide ttansterit el contol de nuevo al TRABAJOI. Una porcin adicional de TRABAJO? debe escribirse ten disco cuando se cara de nuevo el TRABAJOL en memoria (4) Cuando ge carga el TRABAJOS, parte del trabajo TRABALOL y la porcién de TRABAJO? permanecen en memoria (). En este pun to, si cualquiera de estos tabajos (TRABAJO! 0 TRABAJO?) son activados, slo se requiere una carga parcial, En este ejemplo, es el TRABAJO? el que ejecuta de nuevo. Esto equiere que el TRA- BAJOS y a porcién residence Ue el TRABAJOL se escriban en el disco ia pare que falta de el TRABAIOZ se leaf. Introducciin los sistemas operatives 67 o 9 sexo Nir soon] ee oo| ==] RAB sompo|—TENBAO 8 rRABAIO2 o| RABWO2) tee ive ° te s20001— seam @ ° 3 o— os a Monitor ir ie x09 soo| ec ‘TRABAO: | TABAIO! 15000 AAO ‘Teasiyo? amano} — 2° tasRIOn sie SRABATOR a Lawawaso saa “ate Lie ie 101 sooo 788 saan @ © o Figura 2 Operaci6n del CTSS. La eric wii por CTSS es rmtivacomparad cn ls tis de tempo compan se- tales pr unionab. Er exreradareate sn, Toque iii el tama dl moston De Sido gus un tbs siempre se crgatn en miss dccén de memos, no haba necesiad de tile tence debian en erp Ge cara (ues aatan mt sins) hecho dso exci en dco ciando es teresa, minara I civil del co, Eecuando sobre el 7034, C138 pom an mero mci de 3 stro. La comparicin de tego y ta miprogramacénimplican nuevos probes pate sistema operatva,Sexisten lites tabujoren memoria, Ele debe protege pia evi que inerferan fare sl porcenpl. av dela moan dos dats de oe mses. Con mdlpes wusios inerction, clase defers debe ser pogo, fra que slo seis soe eng fceeso& fchero particular, Tambien debe gestionse lox conflicts ene Toe recursos, tl como impresoras dispostivos de siaeenamieta av. £805 yoos problems, coq sus poses salu. Gianes, se Sse To ago det br Los sistemas operativos se encuentran entre las piezas de software mis complejs jams desarrolla- das. Eno refea el ret de itentar solver la difculad de alcanear determinados dbjstivos, algunas ‘veces confictivs, de convenienca,efcienca y capacidad de evolucién, (DENNS0a) propone cinco principales avances re6ricos en el desareollo de los sistemas operativos: + Procesos + Gestién de memoria. + ProtecciGn sepuridad de fe iaformaciga, + Planifcactiny gestin de los recursos. + Estictura del sistema 63 Sistemas operatives. Aspect inrernos y princes de oibero Cada avance se caractesiza por princpiox, o bstracciones, que se han desarrllade para resoher problemas préticns,Tomadas de forma conjunia, estas cinco dreas inchayen la mayorfa de os spec: tos clave de diseRo e implementacién dels sistemas Opertivos modernos. La breve revisién de estas cinco teas en esta seccion srve como una vision global de gran pare del resto del ib. PROCESOS El concepro de proceso es fundamental en Ia estructura de Ios sistemas operativos. Este término foe uilizado per priviera vez por los diseisdores del sistema Mulics en los anos 60 {DALE6S]. Es un término up poco mis genera) que eb de trabajo. Se han dado muchas definiciones det série proceso incluyeado: + Un prograraa en ejecucién, + Una instanca de un programa ejecuttndose en un computador, + La enidad que se puede asignar ejecutar en un provesader. ‘+ Ung unidad de actividad carateizads por un solo hilo secuencial de ejeeuei6n, un estado ve Waly un Conjunto de recursos del sistema asocindos. Este concepio se aclarar Jo largo del texto. "Tres leas principales de desarollo del sistem de compttacién crearon problemas de tempori- _2a¢i6n y sineronizacin que contribuyeron al desarolle del concepta de proceso: opersciin en lows ‘ultiprogramados, iempo compare, y sistemas de tanstcciones de vempo real. Com ya se ha ‘iso, la multiprogramacidn se diseSé para permit el uso simulténeo del procetador y los dspositi- vos de EYS, incluyendo los dspositves de slmacenatsiento, para alcanzar Jo maxima efciencia. E) recanismo elave es éste: en respuesta alas sefales qu indican Ia fnalizacién de las transacciones de (S, el procesador es planiticado ara os diferentes programas que residen en memoria principal Una segunda lines de desaroll fue el tompe companido de props general, En exe 950. et cbjetivo clave de diseRo es responder 8 las necesidades del usuario y, debido a razones econémicas, ‘ser capaz de soponar muchos usuaties simultdneamente. Estos abjtivas son campatibles debido al Tiempo de rsceién relaivamente lento éel usuario Por ejemplo, sin usuario pica necesita una me- dia de 2 segundos de tiempo de procesamiento por minoto, entonces una cantidad de 30 usuarios proximadamente podria compartir el mismo sistema tin inlerferencias notables. Por supuesto, la so- brecarga cel sistema debe terse en cuenta para realizar estos culos. tra tinea importante de desarrollo han sido los sistemas de procesemiento de transacciones de tiempo real. En este c2S0, Un cierto nimero de usuarios realizan consultas o actualizaciones sobce una ‘ase de datos. Un ejemplo es un sissams de reserva para una campaia aérea. La principal diferencis enue l sistema de proceseminto de ransaciones y el sistema de iempo real esque el primero est Timitado a una 0 unas pocas aplicaciones, mientras que los usuarios de un sistema de tempo real pue- den estar comprometidos en el desirollo de programas, la ejecucién de trabajo, y el uso de varias aplicaciones. En ambos case, el tempo de respuesta del sistema es impresionant La principal herramiente disponible para programadores de sistema para el desarrollo de a inci ‘ulprogramaciny los sistemas ineractives muldusuario fue la intemapci6n. Cualguier eabsjo p>- ‘fa suspender su actividad por I opurrencia de un evento definido, tal como lt finalizacién de una operacin de ES. Ek procesador guardarfa alguna forma de context (por ejemplo, el contador de ama y ots repistros) y saltarfa a una rutina de tratamiento de interupciones, que determina turaleza de [a interrupeién, process [a interupcién, y después continua el procesamiento de in o9 trabajo. i fa rat usuario con el trabajo iterrumpide o al Inttoduccén sige sstemas operatives 69 1 deo det wotvare de sie paca cosinor esa dete scuvddes res sr notable mente fl. Coma progres sinltnen de mchos bes ada uno de os cases spn tealleacin de numersos pass para su ejecociontecuncal era imposible nen folss er Poe Bes cabinacoie de seuenls de eer, Con ate de sletn med slsrieg de coc Ginni y cooper ene as scisidaes los pogaadorts acon a Bens sd basa ern compre dl eat ie sistema opera ela oe conta Ess eure cra ve herale fete senor de pogavuci sues, aor fon lo podtanotcrvane ctedo ees xaos seevenciae de aesones ovum, Enero eran dls de dugnosiear: porque sees tan isingue de los one sofware y hardware dels pliaiones, Incas casio tates lense ie dlemsinar a eu. org a eodiiones rei aj ls eae lene pa, Gia. eran tees de reproduc En wenines genes. exc cua cuss pnp de detas crores (OEBBSI} + Taapropiada sincronizactin, Es fecyente el hecho de gue una rtina se suspenda esperanda or algin evento en el sistema. Por ejemplo, un prozrama que iicia una lecture de E/S debe esperar hasta que los datos estén disponibles en un hier antes de proved. En este caso. se secesits una seal procederie de sr rutina. Ei disefo tnapropiado del mecanismo de sel "aciGn puede provacar que la sefales se pierdano se reciban Seales duplicadas + Violacién de Ia exclusion mutua. Frecuentemente, mis de un programa 0 Usvatio intenian facer uso de recursos compazidos simulténeamente. Por ejemple, dos usarios podan inten tar editar el mismo fieher la vez Si estos accesos no se controlan, podria octrir un err Bebe exis alain tipo de mecanismo de exclusion mutua que permita que solo una rutina en tag rromnent dzterminado aciualice un fihero. Es dle veriiegt que la iniplementacién dela ‘exclusin mutua es corects en todas ls posbies secuencis de evens. + Operacidn no determinista de un programa. Los resultados de un programa parcular nor- ‘malmente dependen slo de la entrada a dicho programa y no ée las actividades de otro peo ¢grama en un sistema companido, Pero cuando los programas comparten memoria, y sus eject Cones son entrelazadas pot el procesador, podria interferir ene ellos, sobretscribiendo ‘zonas de memoris comunes Je una forma impredecible. Por rant el orden en el que diversoe Programas se planifican puede sfecar ala salida de cualquier programa particular. + Interblogueos. Es posible que dos o més programas se queden blogueados esperindoseeatre {Por ejemplo, dos programas podsfan requeri dos dispasitivos de E/S para evar a cabo una — ‘Memoria principal Disco Lr pci ea fate Lamenese sem pase taresee muestra ‘soe ca pte ane ees a lato fe Us ropa nea (letpig fea gu seeee Ferma pt vie lier Lin ins ‘Sporn sens tose ck mera hae Figura 29. Conceptos de memoria Vinusl las circunstanciss, Sin embargo hay algunas herramientas de propésito general que se purden ut ples computadores ysislemas operaivas pars Soporiar ame ran variedad de mccasisinos de prev cidny seguridad. En general el principal problema es el contol dl acceso alos sistemas de compu tacida y ala informacidn almacenada en ellos. La mayora del trabajo en seguridad y proeccin elacionado con los sistemas operatives se pue= 6 agrupar de forma genérica en cuatro categoria | Relacionado com la protec del sistema frente las intemupciones. 1. Asegura que los usuarios no puedan ler ls datos sobre los cvales no ie ‘en autorizacion de acceso, + ntegridad de los datos. Proteccin de los datos frente a modificacones no auterizadas “+ Autenticidad, Relacionado con Ia veriticacién spropiada de la idemidad de los usuarios y la validez de los mensajes o los datos. m Sistema operatives. Aspects intenos yprincoios de deehio ide af Pocentee || en reecod Dirscide Figura 2.10, irecclonamiento de memoria virus PLANIFICACIONY GESTION DE LOS RECURSOS ‘Una responsabilidad clave de los sistemas opetativos es Ia gestién de varios recursos disponibles para ellos (espacio de memoria principal, ispostivos de EYS, procesedores) y para planificarsu uso por pare de los distintos procesos actives, Cualquir asignaciOn de recursos y politica de planficacéa, febe tener en cuenta tes Factors Bquitaividad. Normatmente, se desea que todos fos procesos que compiten por un detei- nado recurso, se les conceda wn acceso equitativo a dicho recurso. Eso es especialmente cierto para trabajos dela misma categoria, es decir, trabajos con demandas similares, [Respuesta diferencial. Por otro lado, el sistema operative pueds necesita discriminar ence diferentes clases de trabajos con diferentes requisites de servicio, El sistema operativo debe tomar las decisiones de asignacién y planificacién con el objetivo de stistacer et conju to- tal de requisitos. Adem. debe tomar las decisiones de forma dinimica. Por ejemplo. si un proceso esd esperando por el uso de un dispositivo de E/S, el sistema operative puede itentar planticar este proceso para su ejecucisn tan pronto com sea posible fin de lierar el spo Sitivo para posteriores demandas de otros procesos. Bficiencia, El sistema operativo debe intentar maximizar la productvided, minimizar el tiem: po de respuesta, yen caso de sistemas de tempo compari, acomadar cant usuarios Como fea posible. Estos eriteros entran en conflito; encontrar un compromiso adecuado en una s- luaci6n panicular es un problema objeto dela investigucin sobre sistemas operatives, La planiicargn ya gestiéo de recursos son esencialmente problems de investiga, § se gue den aplica fos reeutados matemsticos de esta dscipina. Adicionalment, medi la actividad del sis maces importante para ser capaz de monivrzar el rendimiento y realizar los aust conespondients, La Figura 2.1 sugiee los principales elementos del sista operative relacionados cn la plan cacin de procesos y fa asignacicn de recursos en un entomo de multiprogtamacién. El sistema ope- rativo mantine un ndmero de colas, cada una de les cuales es simplemente una lista de proceso es perando por algunos recursos. La cola a coro plazo esti compuesta por procesos que se encuett Inoduction alos sistemss operatives 75 ca memoria principal (a menos una pocin minima esecial de eada uno de los esi ennemora brincipal y estén listos para ejecutar, siempre que et procesador exté disponible. Cualquiers de core broctos posta ua el process’ soninsctn Es responses i pnfacars ons © dispatcher, elegic uno de ellos. Una estrategia contin es asignar en orden a cada proceso defecate ty imervalo de tiempo: eta aca se cone cono round robin o turno ola Ee sca iain det rotors open cols cea Our cacpa ema en i oe Sd itt pres Sed lady lng de cepa en aS aco ago plaza es una ist de nuevos bss esperando aia el proeradr i sseia ‘pera aiade table a sitenatanefiendo un proceso desde a ola alr plo hava laa foro plaza En ete pus debe afgnar una posccn de emota pial proses cesca ht tanto, l sistema operative dete xr seguro Go Gus no sobrecugala memes Be Serge renee far admiend demasiados procera enlists Hoy una cola de BS por cola een eae ek Mas de un proceso puede solictarel uso mismo duposiive de ES. Yoos lo Presses pre: ‘an ilar hbo disposing se ecienran leas la cal dl dpostiva, Ds tones sta perativa debe dteina a que poceoe sige un spsiivo de BA capone Si ocure ura interruei, el sistema opertivo reibe el contol del procsader através de un smanejaor de inerupcloes, Un oreo puede loca expcticamente wn servis dal stern ape ‘io, como un manejdor de un dspsiv de T/S. mediante una lamata tena Ea coe «280, un maneedor de alana a sister es el punto de extra al sistema optativo, En cualguice aso na vex due Se mae la temupi a lanada aise, se nvoce platen an pla para qe telecine im reso ae Su he Lo que se ha detad has ahora sua deieipcnfuciona; Io dels yl dseBo modular de eta porcin dl sistema optatvo dee ens deen seas, Gran pre el esfoe a ivesigaeiény desarllo de os sistemas operatives ha sido digo ala ereacicn de algrions de flaniieacionyeseutrs de dito gue popocionesoquistvida, seus diene cfcente Siena ope sierra ts Sees a —___, toe 7] sees i "ong eaten | testo operative para la muliorogramacié, Figura 2.11, elementos clove de un sit 16 Sistemos operatives. Aspectoeinternory principio de diseho ESTRUCTURA DEL SISTEMA |A medida que se han ahadido mas caacterfsticas a Jos sistemas operatvos y ef hardware subyacente se ha vuelto mas potene y verti, han crecido el tamafo y la complejida de los sistemas operat- vos. CTSS, que {Ue puesto en marcha en el MIT en 1963. estaba compuesto aproximadamente por 32.000 palabras de almacenamiento de 36 bts. 05/360, presentado por IBM un afio después. tenia ‘ads de un millon de instrucciones de méguina, £0 1975, e! sistema Multis, desarollado por MIT y {os faboratorios Bel habia superado ls 20 millones & intrucciones. Es cietio que més recientemes- te, se han introducido algunos sistemas operaivas més sencillos para sistemas més Pequefos. pero os inevtablemente se hacen mds complejas a medida que el hardware subyacentey los requistos de usvaio se inerementa, Por tarsal sistema UNIX de hay es muchisimo ms complejo que el sis- tema easi de juguete puesto en marcha por unos pocos programadres de gran talento a comienzo de Ios afos 70, el sencillo sistema MS-DOS supuso el comienzo de fos tices y complejos sistemas 05/2 y Windows, Por ejemplo. Windows NT 40 contene 16 millones de lineas de eéigo y Win ws 2000 duplica est nimera, tamaio de un sistema operativo coa un conjunto completo de caracterisicas,y Ia dificultad del problema que afrona dicho sistema, ha levada a esta disciplina # cuatro desafortunados, aunque de- mmasiado comunes, problemas. En primer lugar, los sisemas operatives se entregan tarde de forma “rine. Esto implica la ereacién de nuevos Sistemas operaivos y frecuentes acwalizaciones 9 Viejos sistemas. En segundo lugar, los sistemas tienen flloslatentes que deben ser planteados y resuetos, En cecer lugar el rendimieno no es frecuentemente el esperado. En limo lugar, se ha comprobado que es imposibie constuir un sistema operative compleja que no fea vulnerable a una gran cantidad ce ataques de seguridad, incluyenda virus, gusanos y sccesos no autorizado. Para gestionar la complejidad de os sistemas operatives yeliminar estos problemas, se ha puesto rucho énfasis en Ia estructura software del sistema operativo a Io Jargo de los afos. Ciertos punios pivecen obvios. El safwaze debe ser modular, Eso ayndaré a organizar el proceso de desarcollo de Software y limitar el esfuerzo de diagnostcary corregirerores. Los médulos deben tener interfaces bien definias, y estas interfaces deben ser tan sencillas como sea posible. De nuevo, esto facili la programacién, También facilita la evolucion del sistema, Con minima interfaces ente fos m6dulos, ‘e puede modifier un médulo con un nim impacto en otros médulos, Para sistemas operativos grandes, que ejscutan desde millones a decenas de millones de lineas 46e c6digo, no es suficience la programacién modular. De hecho, ha habido up inesesnento en €) so 4e las concepres de capaejeranquicas y abstacci6n de informacign, La estryctrajerdrquica de un sistema operative modemo separa sus funciones de acuerdo a las earacterfsicas de su escala de tiempo y su nivel de abstaccign. Se puede ver el sistema como una serie de niveles. Cada nivel rea- liza un subconjuntorelacionado de funciones requeridss por el sistesa opezative, Dicho aivet conta en los niveles inmediatamente infeviores para realizar funciones ms primitivas y oculta los detalles, de esas fanciones. Cada nivel proporciona servicios a a capa inmediatamente superior. dealmente estos niveles deben definirse d tl forma que los cambins en un nivel no requieran cambios en otros niveles. Por tanto, de esta forma se ha deScompuesto un problema en un adimero de subprobemas aids marejables, En general, las capasinferiorestatan con una escala de tiempo menor. Algunas panes del sist ra operativo deben interaecionar dizectamente con el hardware del computador, donde Jos eventos pueden tener una escala de siempa ea fnfima como unas pocas mil millonésimas de segundo, En el fo extrema del especto, algunas partes del sistema opertiv se comunicsn con el usuario, que i voca mandatoy en una escala de tiempo much mas lara, tal vez unos pocos segundos. El uso de un conjunto de niveles se adapia adecuadamuente a ese entomo, a forma en que esos principios se aplican varfaenormemente entre ls sistemas operativos con- ‘empordnees. Sin embargo, es Ul en este punto, pata el propdsito de mostrar Ips sistemas operatives, presenrar un modelo de sistema apetrivo jrstquico. Uno propuesto en {BROMVS4} y [DENSA es Util. aunque no corresponde a ring sistema operative paniculr El modelo se define en la Tabla 2.4 xyes compuesto por los siguientes nveles: ‘+ Nivel 1. Es formado por citvios eletrénicos. donde los objetestatados son regstos et fs de memoria. y pucrtas higisas, Las operaciones defiaidas en estos abjetos son accion. ‘como poner a e810 un registro 9 ler una posicidn de memoria + Nivel 2. conjunto de instrssiones del procesadox. Las operaciones a este nivel son aguas permitidgs en el conjunto de insimerinn's de leneuaje acquit, como adic, e288, carga © almacenamienta + Nivel 3. Afade el coneepto de procedimientoo subratina, ms las operaciones de Hamada y etome (ere + Nivel 4. Introduce las imerrpciones. que pesiten al processor guardar el context actual & Jnvocar una euina e uatamiento de intemupciones. Tabla 2.4. Jerarquia de ciseho del sistema operative. Nivel Nombre Objetos Ejemplos de operaciones 13 Inrpree de mandsiey—Estorna de aragramacion_ Sentonias en lenguaie “deuwsuaro, elisterprete de mtos w Proces9= usuario Proeesas de usuario Sli matr, suspeader, ” Diserorion Directrios reas, cost, nce nites elminge entrada, Biscay star 0 Disposives Dispostves enernes, Abi, ear lar, eerie come impresoras petalas Wy eclesee ; 2 Sistoms de fiheroe © Feneros roar, deste, abi, ‘ele cero . Comunicaciones Tuber Crear, destruit. sbri, ler, serie y Memoria vinwat ‘Segre, Ter esrb, eagar Bloques de (Sane em Proceso? el Proceso3 Proceso) aenterrean ema Proceso? we —— Proceso 3 waza ———— osimerids slpamits cnatperen ds ose) ZZaBioquesdo —Ejeeutando ‘Figura2.22. Muliprogramscibn y maltisroces, 82 Sinomes opertivos. Aspactos iternos yprncpios de sso La técnica multithreading y SMP son frecuentemente analizados juntos, pero son dos utilidedes independientes.Incluso en un nodo monoprocesader, la tenica de milireading es duit paraestrac, turar aplicaciones y procesos de mica. Uns maquina SMP es dtl incluso para procests gue no con. tienen hilos, porque varios procesos pueden ejecutaren parallo, Sin embargo, ambasuflidades se corplementan y x pueden Utlizar de forma conjunta efctivamente Una caractersticaatractiva de un SMP es que la existencia de miples procesadores es transp- reate al usuario, Bl sister operativ se encarga de planificar las hilo o pracesos en procesadores in dividulesy de I sncronizacin entee los procesadores. Este libro discute la planificacién y los me: ‘caismos de sincronizaién utlizados para proporcionar una apariencia de Gnico sistema al usuario. Un problema difecente es propoccionar Ia apatiencia de un soo sistema 2 un cluster de computadores separado-un sistema multcomputador. En este caso, se tala de una coleccién de entidades (computa. ‘matena el sistema ejecutivo, Un Unico servidor puede fallar sin provocar el fllo 0 conomper el resto del sistema operative. + Proporciona a las aplicaciones manera unifores de comnicarse con el sistema ejecutivo & través de los LAC sin restingit la flexibilidad, Las aplicaciones cliente eeconden el proceso de paso de mensajes a trav de resguards de funciones, que son contenedres no ejectablesal- macenados en bibliotecas de enlace dindmieas (Dynamic Liet Libraries, DLL). Cuando uns Jovredcidn alos stems operatives 89 splicacign vealiza una lamada a I interfaz dl sbsistema de entoma, el resguardo de (sapli- cacion cliene empagueta ls pardmetros de Ia Hamada y los envi coma un mensaje aun sub sistema servidor que implementa It lamad, + Propotsiona wne base adscusse pora le computacidn distfbuids, Normsimente, la compute cin disribuida uiiza el inadelo liente/servider. con lariadas « procedimientosremotos in plementads wilizanda médulos divibuidos cliente y servidory el inteeambia de mensajes tent clientes y servidores. Con Windows, un servidor loea) puede pasar wn mensaje at Servie or remato part fealizar su procesamiento en nombre de las aplicaciones locals cliente. Los Clientes no necesita stber «una pcicin es atendid local 0 femotameéate, De hecho, si una peticion se atiends de forma local o remota, puede cambiar dinémicamente, de acuerdo 2 les Condiciones de carga atuaies ya fos cambios dindmicas de configuracién, HILOSY SMP Dos eareteristicas importantes de Windows son el soporte que da los hilos y a SMP, anibascatacte- risicas presentadas en In Seccién 2.4, [CUST93) enumera ls siguientes caractersicas de Windows {que dan soporte fos hilosy a fos SMP: + Las ruinas del sistema operativo s© pueden ejecutaren cualquier procesedor disponible. y i= {eventesratinas se pueden ejecutar simulténeameate en diferentes procesadores, + Windows permite el uso de maltiple hile de ejtcuciéa dentro de un Gnico proceso. Maltiples hilos dentto del miso proceso se pueden ejcutar en diferentes procesadores simultdneamene, Lox procesos de servior pueden usilizar mdltples hilos paa procesarpeticiones de més de un cliente simuliinearente + Windows svoporcions mecanisines pare compartir datos y recursos entee process y capacida- des flexibles de comunicacin entre procesos ‘O8JETOS DEWINDOWS Windows se apoya enormemene en los conceptas del disefoorientado a objeres. Este enfogue fcil- tz J contpaticidn de recursos y datos ene los procesesy la proteccin de recursos frente al acceso ‘no autorizado, Ence fos conceptos clave del dite erentado objetos ullizades por Windows se en ‘ventral siguiente: + Encapsulacién, Un objetaesté compuesto por uno 0 més elementos de informacién, denomi- rnadosatibutosy uno o més procedimientos que se podrian evar a cabo sobre esos dats de- nominadas Servicios. La nica forma de acreder alos detos en am objec es invocando uno de Tos servicios del objeto. Por tanto, los datos de un objeto se pueden projgerfécilmente del uso no autrizado 0 incarecto (por ejemplo, intentando ejecutar una pieza de datos no ejecuable). + Clases einstancias de sbjetos. Uns clase de objeto es una plantille que Hist los aribuws y Jos servicios de un objeto y define cieras earacersticas de log objetos. El sistema operative ‘puede crear instancas espectfcas de una clase de abjtos cuando To necesite. Por ejemplo. hay Una dna clase de objeto de proceso y un dkjero de proceso por cade proceso actusimen sc tive. Este enfogve simplifica a creacigny gestign de los objetos ‘+ Herencta, Esta carscteritica no es soportada a nivel de usuario sino por alguna extensién dentro del sistema ejecutive, Por ejemplo, los objets irectoro son ejemplos de cbjeto conte rnedor. Una propiedad de un objeto contenedor es que Ins objetos que contiene pueden heredar 90 Sistemas operatives, Aspactos Intrnos ypencipos de dsoro ‘propiedades del contenedor mismo. Como un ejemplo, supongamos que hay un di cl istema de ficheros que est comprimide, Entonces, cualquier fichero que se cree contenedor directorio también estaré comprimido, + Polimorfismo, Intemamente, Windows uli un coajunta comin de funciones para manips- lar bjetos de cualquier cpo; sta es una earacteristica de polimorfismo, tal y como se define en el peace B. Sin embargo, Windows no es completamente polimértico, porque hay mi thes API que son espcifica para tipos de objetosespectficos, El lector que no ext failiarizado con los conceptosorientados a objetos debe revisar el Apéni- ce B. que se encuenta al final del libro. [No todas Is entidades de Windows son objetos. Los bjetos se utilizan en casos donde los datos se usan en modo ustario y cusndo el acceso a ls datos es compartido restringido. Entre ls entide des representadss por los objetos se encuentran los ficheros, proceso, hiles,semafores,temparizado- res y ventanss. Windows crea y gestiona todos los ipos de objetos de una forma uniforme, através ‘el gesor de objetos. El gestor de objetos es responsable de crear y destuir abjetos en nombre de Ins ‘aplicaciones y de garantizar acceso alos servicios y datos de los objets. Cada abet dentro del sistema ejcutve algunas veeesdenominado objeto del nile (pra dis- tingito de fos objeto a nvel de ustaro, objeto que no son gestionads pore sistema ecu), eta como un blogue de memoria gesionado por el nl y que es aces solamente por el Cleo. Algunes elementos del estructura de dates (pr ejepi, el nombre del objeto, parece de Sequiidal,conlabilidad de uo) son comunes a todos lo pos de objetos, mientras que otros elemen- tos son especicos de un tipo de objeto particular (poe ejemplo, I priridad del objeto hile). Salo et Iiclo puede acceder a estas estuctras de datos Ge los objets del micleo: es imposible que una aplicecin encuenre ets extras Ge datos y ls lea oextiba drectameme En st lige sop cacionesmanipulan ls objets indirectament a avs de eonjunto de funciones de manpuleion de ‘bjetos soporado por el sistema ejecutive. Cuando se crea un objet, la aplicecsén que solicits la ‘reacin reebe un manejador del objeto. Esenialmente un maneadores un pintero al objeto ref fenciad, Cualguer hilo puede ulizr este manejedardeno dl mismo proceso pa invocar ls unciones Win32 que tabalan con objtos. Los objetos pueden tener nformaciéin de seguridad asociada con ellos, en la forma de un descrip tore seguridad (Security Descriptor, SD). Esta informacién de seguridad se puede wizar para es ting el eceso al objeto. Por ejemplo, un praceso puede crear un objeto Semlforo cone bjtiva de {que slo citos usuarios deben set capaces de airy uaa elsemafoo. El SD de dicho objeto se ‘mdfor puede estar compuesto por lait de aquellos usuarios que pueden (0 no pueden) acceder al ‘objeto semaforo juno con el cnjunto de accsos permits (leeura,esritur, cambio, te). En Windows. los objetos pueden tener nombre 0 na. Cuando wo proceso crea un objet sn nom bre, el gesor de objets devuelve un maneador para dicho objet, y el manejador esa nia forma de teense a €1 Los objets con name son referenciads por alias pacesos mediate dicho nom the: Por ejemplo sam proceso A desea sincrnizarse con el proceso B podria cear un je de ipo vento con nombre y psa el nombre el evento aB. El proceso B podrta entonces abi uae abjto evento. Sin embargo si simplemente deseara ulnar el evento ara sincronizar dos hes ‘encode proceso, erearfa tn objeto evento sin sombre, porque no necesita que otros process pu dan ullaa ich evento. Como ejemplo de Ios objetosgestonados por Windows, a contnuacin 5 lita les dos categor sia de bjtos que gestion el ncleo: + Objetos de contro. Usilizados para conor las operaciones de adcleo en éreas que no cores- porden a planificaci y la sineronizacién, La Tabla 25 fsa las objeos de contol de nice, Introduccion sos sictomes operatives 91 + Objetos dispatcher. Controla la acivacisn y la sincronizsciGn de las operaciones del sistema, Estos objetos se describen en el Capitulo 6, Tabla 25. Objetos de control del micronticloo de Windows [MS96] LUamade «proce Usilzad para romper a wjeeuién de un hilo expacificay provocar que asinerona slleme e un prosedimisnt en un modo ds procesadr esecticeds 4 Interupeién Usiizado para conectar un organ de interupein a uns ratios de eorv- 10 de Intertupeiones por medio de una entrada on une tba DY tna ‘muptDispat Table). Cada procesador tone una tabla IDT que 8 thie para entregarinerupclones que ozuen en dena procesador Roprosanta ol espacio de crecconee vituslase formacién da contol nocasata paral ejecucion do un snjunto de objtos hilo, Un process ontlne un puntare ua mapa de creccionss, una lista de hlosfstog, bere ejacater que contiona obits hil, une feta de les que peten en l proceso, 6! ampo tote acumulada pera todos los filo quo so ‘jguten dentro del proceso une priori base Pe Utlizedo pare medir is ietibucién de tiempo de ejeeuelén dentro &a Us blogue do coaigg, Sa punde mecir el par tent da cbdigo de Us Fo coma de sistema, Proces0 Windows no es un sistema operativo completamente orientado a objetos. No-esté implementado en un lenguaje orientado a objetos. Las estructuras de datos que residen completamente deato de un componente del sistema cjecutivo no estin represeetadas como objeles. Sin embargo, Windows ‘musa la potencia de la tecnologia orienta a objeto y representa a tendencia cada vez més signi- ficativa del uso de esta tecnologia en el disefo de los sistemas operativos SFRADICIONALES = HISTORIA Lahstorin de UNIX es un rst nario con feeensia nose repeit con muchos dels equ Porel conta ase eliza un breve resumen. UNIX se dest iniilente eno nbortorios Belly se hizo opecaional en un FDP-7 0 1970. Agunas os ls personas elscionadse con ls lsborarios Bel también haban prticipa- oe el abajo de tempo compartigo desarlldo en el proyecto MAC del MIT. Este proyecto Se encarg6 primero del desarolo de CTSS y después de Mss. Aunque es habitual dct que e UNIK original fu ana vrsisnrecortada de Multis. fos desatroliadocs de UNIX realmente @ije- ron estar mis influenciados por CTSS [RITC7S]. No abstant, UNIX incocpocs muchas ides de Matis El trabajo de UNIX en os nbortoros Bel después en ols nsuciones, produ uncon jo de yeriones de UNIX El prime hito mis noble fue porarefssiema UNIX de PDP-? al DPI. st fe le primera pata de gue UNIX ser un sisters operat para todos los computa ddores. El siguiente hito importante fue la eeescritura de UNIX en el leaguaje de programacién C. Ess era unt estates sin peodenes en ese empo. Se pensaba que slgo fon comple como un Site opertvo, que debe tr eventos tos en emo, debi seabineexclosiamente en lenguajeensambledo La tnplementacon C demos ls venas de wilizarun feng aon el pars lt mayors oro el e6digo de sma, Hoy, prstsamen rods las mplementciones UNIX esi esos en.

S-ar putea să vă placă și