SSIISSTTEEMMAASS TTAANNEENNBBAAUUMM OOPPEERRAATTIIVVOOSS MMOODDEERRNNOOSS 33ªª eeddiicciióónn AANNDDRREEWW SS.. TTAANNEENNBBAAUUMM La nueva edición de este best-seller incorpora los más recientes desarrollos en las tecnologías de los sistemas operativos; se le agregaron cientos de páginas de material nuevo y se eliminó el contenido obsoleto: en definiti- va cubre los principios y la práctica de los sistemas operativos modernos, concentrándose en Linux, Windows Vista® y los sistemas multimedia, embebidos y de tiempo real. Andrew S. Tanenbaum plasma su estilo claro y entretenido en los conceptos importantes que todo diseñador OO de sistemas operativos debe dominar. Con base en su extensa trayectoria como diseñador o co-diseñador de tres sistemas operativos, transmite mediante esta obra sus profundos conocimientos y gran experiencia prácti- MM ca de un modo que pocos libros pueden igualar. Algunos de los diversos temas que el autor trata con detalle PPSS son procesos, hilos, administración de memoria, sistemas de archivos, E/S, interbloqueos, diseño de interfaces, multimedia, mejoras en el rendimiento y las tendencias más recientes en el diseño de sistemas operativos. OOEEII SS LO NUEVO DE ESTA EDICIÓN: DDRR (cid:129) La más reciente cobertura sobre Windows Vista y los sistemas operativos Linux/Unix. TT (cid:129) Un caso de estudio, que abarca todo un capítulo, sobre el sistema operativo Symbian, para disposi- EEAA tivos móviles. EE (cid:129) Un análisis bastante actualizado y mejorado sobre la seguridad. RRTT MM (cid:129) Una reorganización completa del libro, de manera que los temas clave se presenten con oportu- nidad. NNII (cid:129) Una presentación de las investigaciones más recientes que probablemente devengan en los VVAA sistemas operativos del futuro. OO (cid:129) Ejercicios de programación totalmente actualizados y adicionales en cada capítulo. OOSS (cid:129) Experimentos con sistemas operativos en línea mediante el uso de herramientas populares de SS Windows y de código fuente abierto. SS (cid:129) Ejercicios de simulación de sistemas operativos. Para mayor información visite la página Web: www.pearsoneducacion.net/tanenbaum 3ª edición ISBN 978-607-442-046-3 SISTEMAS OPERATIVOS MODERNOS TERCERA EDICIÓN Principios y Paradigmas Segunda edición SISTEMAS OPERATIVOS MODERNOS TERCERA EDICIÓN ANDREW S. TANENBAUM Vrije Universiteit Amsterdam, Holanda TRADUCCIÓN Alfonso Vidal Romero Elizondo Ingeniero en Sistemas Computacionales Instituto Tecnológico y de Estudios Superiores de Monterrey Campus Monterrey REVISIÓN TÉCNICA José Ramón Ríos Sánchez Departamento Académico de Computación Instituto Tecnológico Autónomo de México Aarón Jiménez Govea Catedrático del Departamento de Ciencias Computacionales Universidad de Guadalajara,México Datos de catalogación bibliográfica TANENBAUM, ANDREW S. y MAARTEN VAN STEEN Sistemas operativos modernos. Tercera edición PEARSON EDUCACIÓN, México, 2009 ISBN: 978-607-442-046-3 Área: Computación Formato: 18.5 × 23.5 cm Páginas: 1104 Authorized translation from the English language edition, entitled Modern operating systems,3rd edition,by Andrew S. Tanenbaumpublished by Pearson Education, Inc., publishing as PRENTICE HALL, INC., Copyright ©2008. All rights reserved. ISBN 9780136006633 Traducción autorizada de la edición en idioma inglés, titulada Modern operating systems,3ª. ediciónpor Andrew S. Tanenbaum, publicada por Pearson Education, Inc., publicada como PRENTICE HALL, INC., Copyright ©2008. Todos los derechos reservados. Esta edición en español es la única autorizada. Edición en español Editor: Luis Miguel Cruz Castillo e-mail:[email protected] Editor de desarrollo: Bernardino Gutiérrez Hernández Supervisor de producción: José D. Hernández Garduño Edición en inglés Editorial Director, Computer Science, Engineering, Cover Illustrator: Steve Lefkowitz and Advanced Mathematics: Marcia J. Horton Interior design: Andrew S. Tanenbaum Executive Editor: Tracy Dunkelberger Typesetting: Andrew S. Tanenbaum Editorial Assistant: Melinda Haggerty Art Director: Kenny Beck Associtate Editor: ReeAnne Davis Art Editor: Gregory Dulles Senior Managing Editor: Scott Disanno Media Editor: David Alick Production Editor: Irwin Zucker Manufacturing Manager: Alan Fischer Cover Concept: Andrews S. Tanenbaum and Tracy Dunkelberger Manufacturing Buyer: Lisa McDowell Cover Design: Tamara Newman Marketing Manager: Mack Patterson TERCERA EDICIÓN,2009 D.R. ©2009 por Pearson Educación de México, S.A. de C.V. Atlacomulco 500-5o. piso Col. Industrial Atoto 53519, Naucalpan de Juárez, Estado de México Cámara Nacional de la Industria Editorial Mexicana. Reg. Núm. 1031. Prentice Hall es una marca registrada de Pearson Educación de México, S.A. de C.V. Reservados todos los derechos. Ni la totalidad ni parte de esta publicación pueden reproducirse, registrarse o transmitirse, por un sistema de recuperación de información, en ninguna forma ni por ningún medio, sea electrónico, mecánico, foto- químico, magnético o electroóptico, por fotocopia, grabación o cualquier otro, sin permiso previo por escrito del editor. El préstamo, alquiler o cualquier otra forma de cesión de uso de este ejemplar requirirá también la autorización del editor o de sus representantes. ISBN: 978-607-442-046-3 Impreso en México. Printed in Mexico. 1 2 3 4 5 6 7 8 9 0 09 10 11 12 Para Suzanne, Barbara, Marvin y a la memoria de Bram y Sweetie (cid:1) CONTENIDO PREFACIO xxiv 1 INTRODUCCIÓN 1 1.1 ¿QUÉ ES UN SISTEMAOPERATIVO? 3 1.1.1 El sistema operativo como una máquina extendida 4 1.1.2 El sistema operativo como administrador de recursos 6 1.2 HISTORIADE LOS SISTEMAS OPERATIVOS 7 1.2.1 La primera generación (1945 a 1955): tubos al vacío 7 1.2.2 La segunda generación (1955 a 1965): transistores y sistemas de procesamiento por lotes 8 1.2.3 La tercera generación (1965 a 1980): circuitos integrados y multiprogramación 10 1.2.4 La cuarta generación (1980 a la fecha): las computadoras personales 15 1.3 REVISIÓN DELHARDWARE DE COMPUTADORA 19 1.3.1 Procesadores 19 1.3.2 Memoria 23 1.3.3 Discos 26 1.3.4 Cintas 27 1.3.5 Dispositivos de E/S 27 1.3.6 Buses 30 1.3.7 Arranque de la computadora 33 vii viii CONTENIDO 1.4 LOS TIPOS DE SISTEMAS OPERATIVOS 33 1.4.1 Sistemas operativos de mainframe 34 1.4.2 Sistemas operativos de servidores 34 1.4.3 Sistemas operativos de multiprocesadores 34 1.4.4 Sistemas operativos de computadoras personales 35 1.4.5 Sistemas operativos de computadoras de bolsillo 35 1.4.6 Sistemas operativos integrados 35 1.4.7 Sistemas operativos de nodos sensores 36 1.4.8 Sistemas operativos en tiempo real 36 1.4.9 Sistemas operativos de tarjetas inteligentes 37 1.5 CONCEPTOS DE LOS SISTEMAS OPERATIVOS 37 1.5.1 Procesos 38 1.5.2 Espacios de direcciones 40 1.5.3 Archivos 40 1.5.4 Entrada/salida 43 1.5.5 Protección 44 1.5.6 El shell 44 1.5.7 La ontogenia recapitula la filogenia 46 1.6 LLAMADAS ALSISTEMA 49 1.6.1 Llamadas al sistema para la administración de procesos 52 1.6.2 Llamadas al sistema para la administración de archivos 56 1.6.3 Llamadas al sistema para la administración de directorios 57 1.6.4 Miscelánea de llamadas al sistema 58 1.6.5 La API Win32 de Windows 59 1.7 ESTRUCTURADE UN SISTEMAOPERATIVO 62 1.7.1 Sistemas monolíticos 62 1.7.2 Sistemas de capas 63 1.7.3 Microkernels 64 1.7.4 Modelo cliente-servidor 67 1.7.5 Máquinas virtuales 67 1.7.6 Exokernels 71 1.8 ELMUNDO SEGÚN C 72 1.8.1 El lenguaje C 72 1.8.2 Archivos de encabezado 73 1.8.3 Proyectos de programación extensos 74 1.8.4 El modelo del tiempo de ejecución 75 1.9 INVESTIGACIÓN ACERCADE LOS SISTEMAS OPERATIVOS 76 1.10 DESCRIPCIÓN GENERALSOBRE ELRESTO DE ESTE LIBRO 77