Sistemas operativos moderno 3ed Tanenbaum PDF

Title Sistemas operativos moderno 3ed Tanenbaum
Author Alejandro Garcia
Pages 1,107
File Size 23.3 MB
File Type PDF
Total Downloads 136
Total Views 945

Summary

SISTEMAS TANENBAUM OPERATIVOS MODERNOS 3ª edición ANDREW S. TANENBAUM 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 c...


Description

Accelerat ing t he world's research.

Sistemas operativos moderno 3ed Tanenbaum Alejandro Garcia

Related papers SO 5ed-st alli karin U TANENBAUM TANENBAUM Iván Plaza Sist emas Operat ivos UADE - Windows 7 mat ias samblancat

Download a PDF Pack of t he best relat ed papers 

SISTEMAS OPERATIVOS MODERNOS

TANENBAUM

3ª edición

ANDREW S. TANENBAUM 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 definitiva 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.

LO NUEVO DE ESTA EDICIÓN: •

La más reciente cobertura sobre Windows Vista y los sistemas operativos Linux/Unix.



Un caso de estudio, que abarca todo un capítulo, sobre el sistema operativo Symbian, para dispositivos móviles.



Un análisis bastante actualizado y mejorado sobre la seguridad.



Una reorganización completa del libro, de manera que los temas clave se presenten con oportunidad.



Una presentación de las investigaciones más recientes que probablemente devengan en los sistemas operativos del futuro.



Ejercicios de programación totalmente actualizados y adicionales en cada capítulo.



Experimentos con sistemas operativos en línea mediante el uso de herramientas populares de Windows y de código fuente abierto.



Ejercicios de simulación de sistemas operativos.

SISTEMAS OPERATIVOS MODERNOS

Andrew S. Tanenbaum plasma su estilo claro y entretenido en los conceptos importantes que todo diseñador 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áctica de un modo que pocos libros pueden igualar. Algunos de los diversos temas que el autor trata con detalle 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.

Para mayor información visite la página Web:

www.pearsoneducacion.net/tanenbaum

3ª edición ISBN 978-607-442-046-3

www.FreeLibros.me

www.FreeLibros.me

SISTEMAS OPERATIVOS MODERNOS TERCERA EDICIÓN

Principios y Paradigmas Segunda edición

www.FreeLibros.me

www.FreeLibros.me

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

www.FreeLibros.me

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. Tanenbaum published 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ón por 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, and Advanced Mathematics: Marcia J. Horton Executive Editor: Tracy Dunkelberger Editorial Assistant: Melinda Haggerty Associtate Editor: ReeAnne Davis Senior Managing Editor: Scott Disanno Production Editor: Irwin Zucker Cover Concept: Andrews S. Tanenbaum and Tracy Dunkelberger Cover Design: Tamara Newman

Cover Illustrator: Steve Lefkowitz Interior design: Andrew S. Tanenbaum Typesetting: Andrew S. Tanenbaum Art Director: Kenny Beck Art Editor: Gregory Dulles Media Editor: David Alick Manufacturing Manager: Alan Fischer Manufacturing Buyer: Lisa McDowell 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, fotoquí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

www.FreeLibros.me

Para Suzanne, Barbara, Marvin y a la memoria de Bram y Sweetie 

www.FreeLibros.me

www.FreeLibros.me

CONTENIDO

PREFACIO

1

xxiv

INTRODUCCIÓN

1

1.1

¿QUÉ ES UN SISTEMA OPERATIVO? 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

HISTORIA DE 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 DEL HARDWARE DE COMPUTADORA 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

www.FreeLibros.me

19

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 1.4.5 Sistemas operativos de computadoras de bolsillo 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

35 35

1.5

CONCEPTOS DE LOS SISTEMAS OPERATIVOS 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 AL SISTEMA 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

ESTRUCTURA DE UN SISTEMA OPERATIVO 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

EL MUNDO 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 ACERCA DE LOS SISTEMAS OPERATIVOS

76

1.10

DESCRIPCIÓN GENERAL SOBRE EL RESTO DE ESTE LIBRO

77

www.FreeLibros.me

37

62

ix

CONTENIDO

2

1.11

UNIDADES MÉTRICAS

1.12

RESUMEN

78

79

PROCESOS E HILOS

83

2.1

PROCESOS 83 2.1.1 El modelo del proceso 84 2.1.2 Creación de un proceso 86 2.1.3 Terminación de procesos 88 2.1.4 Jerarquías de procesos 89 2.1.5 Estados de un proceso 90 2.1.6 Implementación de los procesos 91 2.1.7 Modelación de la multiprogramación 93

2.2

HILOS 95 2.2.1 Uso de hilos 95 2.2.2 El modelo clásico de hilo 100 2.2.3 Hilos en POSIX 104 2.2.4 Implementación de hilos en el espacio de usuario 106 2.2.5 Implementación de hilos en el kernel 109 2.2.6 Implementaciones híbridas 110 2.2.7 Activaciones del planificador 111 2.2.8 Hilos emergentes 112 2.2.9 Conversión de código de hilado simple a multihilado 114

2.3

COMUNICACIÓN ENTRE PROCESOS 117 2.3.1 Condiciones de carrera 117 2.3.2 Regiones críticas 119 2.3.3 Exclusión mutua con espera ocupada 120 2.3.4 Dormir y despertar 125 2.3.5 Semáforos 128 2.3.6 Mutexes 130 2.3.7 Monitores 134 2.3.8 Pasaje (transmisión) de mensajes 140 2.3.9 Barreras 144

2.4

PLANIFICACIÓN 145 2.4.1 Introducción a la planificación 145 2.4.2 Planificación en sistemas de procesamiento por lotes 2.4.3 Planificación en sistemas interactivos 154 2.4.4 Planificación en sistemas de tiempo real 160

www.FreeLibros.me

152

x

CONTENIDO

2.4.5 Política contra mecanismo 161 2.4.6 Planificación de hilos 162

3

2.5

PROBLEMAS CLÁSICOS DE COMUNICACIÓN ENTRE PROCESOS (IPC) 163 2.5.1 El problema de los filósofos comelones 164 2.5.2 El problema de los lectores y escritores 167

2.6

INVESTIGACIÓN ACERCA DE LOS PROCESOS E HILOS

2.7

RESUMEN

168

169

ADMINISTRACIÓN DE MEMORIA 3.1

SIN ABSTRACCIÓN DE MEMORIA

3.2

UNA ABSTRACCIÓN DE MEMORIA: ESPACIOS DE DIRECCIONES 179 3.2.1 La noción de un espacio de direcciones 3.2.2 Intercambio 181 3.2.3 Administración de memoria libre 184

3.3

3.4

175

176

MEMORIA VIRTUAL 188 3.3.1 Paginación 189 3.3.2 Tablas de páginas 193 3.3.3 Aceleración de la paginación 194 3.3.4 Tablas de páginas para memorias extensas

180

198

ALGORITMOS DE REEMPLAZO DE PÁGINAS 201 3.4.1 El algoritmo de reemplazo de páginas óptimo 202 3.4.2 El algoritmo de reemplazo de páginas: no usadas recientemente 203 3.4.3 El algoritmo de reemplazo de páginas: Primera en entrar, primera en salir (FIFO) 204 3.4.4 El algoritmo de reemplazo de páginas: segunda oportunidad 204 3.4.5 El algoritmo de reemplazo de páginas: reloj 205 3.4.6 El algoritmo de reemplazo de páginas: menos usadas recientemente (LRU) 206 3.4.7 Simulación de LRU en software 207 3.4.8 El algoritmo de reemplazo de páginas: conjunto de trabajo 209 3.4.9 El algoritmo de reemplazo de páginas WSClock 213 3.4.10 Resumen de los algoritmos de reemplazo de páginas 215

www.FreeLibros.me

xi

CONTENIDO

3.5

3.6

4

CUESTIONES DE DISEÑO PARA LOS SISTEMAS DE PAGINACIÓN 216 3.5.1 Políticas de asignación local contra las de asignación global 3.5.2 Control de carga 218 3.5.3 Tamaño de página 219 3.5.4 Espacios separados de instrucciones y de datos 221 3.5.5 Páginas compartidas 221 3.5.6 Bibliotecas compartidas 223 3.5.7 Archivos asociados 225 3.5.8 Política de limpieza 226 3.5.9 Interfaz de memoria virtual 226 CUESTIONES DE IMPLEMENTACIÓN 227 3.6.1 Participación del sistema operativo en la paginación 3.6.2 Manejo de fallos de página 228 3.6.3 Respaldo de instrucción 229 3.6.4 Bloqueo de páginas en memoria 230 3.6.5 Almacén de respaldo 231 3.6.6 Separación de política y mecanismo 233

3.7

SEGMENTACIÓN 234 3.7.1 Implementación de segmentación pura 237 3.7.2 Segmentación con paginación: MULTICS 238 3.7.3 Segmentación con paginación: Intel Pentium 242

3.8

INVESTIGACIÓN ACERCA DE LA ADMINISTRACIÓN DE MEMORIA 247

3.9

RESUMEN

227

248

SISTEMAS DE ARCHIVOS 4.1

216

ARCHIVOS 257 4.1.1 Nomenclatura de archivos 257 4.1.2 Estructura de archivos 259 4.1.3 Tipos de archivos 260 4.1.4 Acceso a archivos 262 4.1.5 Atributos de archivos 263 4.1.6 Operaciones de archivos 264 4.1.7 Un programa de ejemplo que utiliza llamadas al sistema de archivos 265

www.FreeLibros.me

255

xii

5

CONTENIDO

4.2

DIRECTORIOS 268 4.2.1 Sistemas de directorios de un solo nivel 268 4.2.2 Sistemas de directorios jerárquicos 268 4.2.3 Nombres de rutas 269 4.2.4 Operaciones de directorios 272

4.3

IMPLEMENTACIÓN DE SISTEMAS DE ARCHIVOS 273 4.3.1 Distribución del sistema de archivos 273 4.3.2 Implementación de archivos 274 4.3.3 Implementación de directorios 280 4.3.4 Archivos compartidos 283 4.3.5 Sistemas de archivos estructurados por registro 285 4.3.6 Sistemas de archivos por bitácora 287 4.3.7 Sistemas de archivos virtuales 288

4.4

ADMINISTRACIÓN Y OPTIMIZACIÓN DE SISTEMAS DE ARCHIVOS 292 4.4.1 Administración del espacio en disco 292 4.4.2 Respaldos del sistema de archivos 298 4.4.3 Consistencia del sistema de archivos 304 4.4.4 Rendimiento del sistema de archivos 307 4.4.5 Desfragmentación de discos 311

4.5

EJEMPLOS DE SISTEMAS DE ARCHIVOS 312 4.5.1 Sistemas de archivos de CD-ROM 312 4.5.2 El sistema de archivos MS-DOS 318 4.5.3 El sistema de archivos V7 de UNIX 321

4.6

INVESTIGACIÓN ACERCA DE LOS SISTEMAS DE ARCHIVOS 324

4.7

RESUMEN

324

ENTRADA/SALIDA 5.1

PRINCIPIOS DEL HARDWARE DE E/S 329 5.1.1 Dispositivos de E/S 330 5.1.2 Controladores de dispositivos 331 5.1.3 E/S por asignación de memoria 332 5.1.4 Acceso directo a memoria (DMA) 336 5.1.5 Repaso de las interrupciones 339

www.FreeLibros.me

329

xiii

CONTENIDO

5.2

FUNDAMENTOS DEL SOFTWARE DE E/S 5.2.1 Objetivos del software de E/S 343 5.2.2 E/S programada 344 5.2.3 E/S controlada por interrupciones 346 5.2.4 E/S mediante el uso de DMA 347

5.3

CAPAS DEL SOFTWARE DE E/S 348 5.3.1 Manejadores de interrupciones 348 5.3.2 Drivers de dispositivos 349 5.3.3 Software de E/S independiente del dispositivo 5.3.4 Software de E/S en espacio de usuario 359

5.4

5.5

DISCOS 360 5.4.1 Hardware de disco 361 5.4.2 Formato de disco 376 5.4.3 Algoritmos de programación del brazo del disco 5.4.4 Manejo de errores 382 5.4.5 Almacenamiento estable 385 RELOJES 388 5.5.1 Hardware de reloj 388 5.5.2 Software de reloj 390 5.5.3 Temporizadores de software

INTERFACES DE USUARIO: TECLADO, RATÓN, MONITOR 394 5.6.1 Software de entrada 394 5.6.2 Software de salida 399

5.7

CLIENTES DELGADOS

5.8

ADMINISTRACIÓN DE ENERGÍA 417 5.8.1 Cuestiones de hardware 418 5.8.2 Cuestiones del sistema operativo 419 5.8.3 Cuestiones de los programas de aplicaciones

5.10

RECURSOS

424

425

426

INTERBLOQUEOS 6.1

379

415

INVESTIGACIÓN ACERCA DE LA E/S RESUMEN

353

393

5.6

5.9

6

343

433

434

www.FreeLibros.me

xiv

CONTENIDO

6.1.1 Recursos apropiativos y no apropiativos 6.1.2 Adquisición de recursos 435

7

434

6.2

INTRODUCCIÓN A LOS INTERBLOQUEOS 437 6.2.1 Condiciones para los interbloqueos de recursos 438 6.2.2 Modelado de interbloqueos 438

6.3

EL ALGORITMO DE LA AVESTRUZ

6.4

DETECCIÓN Y RECUPERACIÓN DE UN INTERBLOQUEO 442 6.4.1 Detección de interbloqueos con un recurso de cada tipo 442 6.4.2 Detección del interbloqueo con varios recursos de cada tipo 444 6.4.3 Recuperación de un interbloqueo 447

6.5

CÓMO EVITAR INTERBLOQUEOS 448 6.5.1 Trayectorias de los recursos 449 6.5.2 Estados seguros e inseguros 450 6.5.3 El algoritmo del banquero para un solo recurso 6.5.4 El algoritmo del banquero para varios recursos

441

451 452

6.6

CÓMO PREVENIR INTERBLOQUEOS 454 6.6.1 Cómo atacar la condición de exclusión mutua 454 6.6.2 Cómo atacar la condición de contención y espera 455 6.6.3 Cómo atacar la condición no apropiativa 455 6.6.4 Cómo atacar la condición de espera circular 456

6.7

OTRAS CUESTIONES 457 6.7.1 Bloqueo de dos fases 457 6.7.2 Interbloqueos de comunicaciones 6.7.3 Bloqueo activo 459 6.7.4 Inanición 461

458

6.8

INVESTIGACIÓN SOBRE LOS INTERBLOQUEOS

6.9

RESUMEN

461

462

SISTEMAS OPERATIVOS MULTIMEDIA 7.1

INTRODUCCIÓN A MULTIMEDIA

7.2

ARCHIVOS DE MULTIMEDIA 472 7.2.1 Codificación de video 473

468

www.FreeLibros.me

467

xv

CONTENIDO

7.2.2 Codificación de audio

8

476

7.3

COMPRESIÓN DE VIDEO 478 7.3.1 El estándar JPEG 478 7.3.2 El estándar MPEG 481

7.4

COMPRESIÓN DE AUDIO

7.5

PROGRAMACIÓN DE PROCESOS MULTIMEDIA 487 7.5.1 Procesos de programación homogéneos 488 7.5.2 Programación general en tiempo real 488 7.5.3 Programación monotónica en frecuencia 490 7.5.4 Programación del menor tiempo de respuesta primero 491

7.6

PARADIGMAS DE LOS SISTEMAS DE ARCHIVOS MULTIMEDIA 7.6.1 Funciones de control de VCR 494 7.6.2 Video casi bajo demanda 496 7.6.3 Video casi bajo demanda con funciones de VCR 498

7.7

COLOCACIÓN DE LOS ARCHIVOS 499 7.7.1 Colocación de un archivo en un solo disco 500 7.7.2 Dos estrategias alternativas de organización de archivos 7.7.3 Colocación de archivos para el video casi bajo demanda 7.7.4 Colocación de varios archivos en un solo disco 506 7.7.5 Colocación de archivos en varios discos 508

484

7.8

USO DE CACHÉ 510 7.8.1 Caché de bloque 511 7.8.2 Caché de archivo 512

7.9

PROGRAMACIÓN DE DISCOS PARA MULTIMEDIA 7.9.1 Programación de discos estática 513 7.9.2 Programación de disco dinámica 515

7.10

INVESTIGACIÓN SOBRE MULTIMEDIA

7.11

RESUMEN

501 504

513

516

517

SISTEMAS DE MÚLTIPLES PROCESADORES 8.1

493

MULTIPROCESADORES 526 8.1.1 Hardware de multiprocesador

526

...


Similar Free PDFs