Imagen de cubierta local
Imagen de cubierta local

Sistemas operativos : una visión aplicada / Jesús Carretero Pérez ... [y otros]

Por: Idioma: Español Detalles de publicación: Madrid : McGraw-Hill, 2007Edición: 2daDescripción: 817 pTipo de contenido:
  • texto
Tipo de medio:
  • sin mediación
Tipo de soporte:
  • volumen
ISBN:
  • 9788448156435
Tema(s):
Contenidos:
Valoración
    Valoración media: 0.0 (0 votos)
Existencias
Tipo de ítem Biblioteca actual Signatura topográfica Estado Fecha de vencimiento Código de barras Reserva de ítems
Libro Libro Facultad Regional Santa Fe - Biblioteca "Rector Comodoro Ing. Jorge Omar Conca" 004.451 SI84 (Navegar estantería(Abre debajo)) Sólo Consulta 10336
Total de reservas: 0

La mayoría de los libros de sistemas operativos incluye gran cantidad de teoría general y aspectos de diseño, pero no muestra claramente cómo se usan. Este libro está pensado como un texto general de sistemas operativos, pudiendo cubrir tanto la parte introductoria como los aspectos de diseño de los mismos. El libro incluye cuadros de texto resaltados donde se muestran consejos de programación, advertencias de uso, ideas sobre presentaciones, etc. Estos cuadros reflejan la experiencia de los autores en el uso y en la docencia de sistemas operativos. La utilización de una interfaz de programación de sistemas operativos para POSIX y Windows 2003, con ejemplos de uso de las mismas permite que el lector, no sólo conozca los principios teóricos, sino cómo se aplican en sistemas operativos reales. Cada capítulo incluye problemas y ejercicios con diferentes grados de dificultad para adecuarse a los distintos tipos de cursos en que se puede usar este libro. Estos ejercicios hacen énfasis en los aspectos teóricos más importantes. Cuenta además con una completa OLC en la que se puede encontrar el siguiente material: información sobre el libro, información de los autores, material para el profesor (figuras del libro, transparencias, soluciones de ejercicios y problemas propuestos y material de prácticas) y material para el estudiante (código fuente de los programas, figuras en PowerPoint, capítulos PDF, problemas propuestos de sistemas operativos, etc.)

CONTENIDO
1 Conceptos arquitectónicos del computador 1
1.1. Estructura y funcionamiento del computador 2
1.2. Modelo de programación del computador 3
1.2.1. Modos de ejecución 4
1.2.2. Secuencia de funcionamiento del procesador 4
1.2.3. Registros de control y estado 6
1.3. Interrupciones 6
1.4. El reloj 9
1.5. Jerarquía de memoria 10
1.5.1. Migración de la información 11
1.5.2. Parámetros característicos de la jerarquía de memoria 12
1.5.3. Coherencia 12
1.5.4. Direccionamiento 13
1.5.5. La proximidad referencial 13
1.5.6. Concepto de memoria caché 15
1.5.7. Concepto de memoria virtual y memoria real 15
1.5.8. La tabla de páginas 17
1.5.9. Unidad de gestión de memoria (MMU) 19
1.6. Entrada/Salida 20
1.6.1. Periféricos 21
1.6.2. E/S y concurrencia 23
1.6.3. Buses y direccionamiento 25
1.7. Protección 25
1.7.1. Mecanismo de protección del procesador 26
1.7.2. Mecanismos de protección de memoria 26
1.7.3. Protección de entrada/salida 27
1.8. Multiprocesador y multicomputador 28
1.9. Prestaciones 30
2 Introducción a los sistemas operativos 33
2.1. ¿Qué es un sistema operativo? 34
2.1.1. Sistema operativo 35
2.1.2. Concepto de usuario y de grupo de usuarios 38
2.2. Arranque y parada del sistema 38
2.2.1. Arranque hardware 40
2.2.2. Arranque del sistema operativo 40
2.2.3. Parada del computador 41
2.3. Activación del sistema operativo 41
2.3.1. Servicios del sistema operativo y funciones de llamada 42
2.4. Tipos de sistemas operativos 45
2.5. Componentes del sistema operativo 46
2.5.1. Gestión de procesos 47
2.5.2. Gestión de memoria 49
2.5.3. Comunicación y sincronización entre procesos 49
2.5.4. Gestión de la E/S 51
2.5.5. Gestión de ficheros y directorios 51
2.6. Seguridad y protección 55
2.7. Interfaz de programación 56
2.7.1. Single UNIX Specification 56
2.7.2. Windows 57
2.8. Interfaz de usuario del sistema operativo 58
2.8.1. Funciones de la interfaz de usuario 58
2.8.2. Interfaces alfanuméricas 59
2.8.3. Interfaces gráficas 61
2.8.4. Ficheros de mandatos o shell-scripts 61
2.9. Diseño de los sistemas operativos 66
2.9.1. Estructura del sistema operativo 66
2.9.2. Carga dinámica de módulos 69
2.9.3. Prestaciones y fiabilidad 70
2.9.4. Diseño del intérprete de mandatos 70
2.10. Historia de los sistemas operativos 72
3 Procesos 79
3.1. Concepto de Proceso 80
3.2. Multitarea 81
3.2.1. Base de la multitarea 81
3.2.2. Ventajas de la multitarea 82
3.3. Información del proceso 84
3.3.1. Estado del procesador 84
3.3.2. Imagen de memoria del proceso 85
3.3.3. Información del bloque de control de proceso (BCP) 87
3.4. Vida de un proceso 88
3.4.1. Creación del proceso 88
3.4.2. Interrupción del proceso 88
3.4.3. Activación del proceso 89
3.4.4. Terminación del proceso 90
3.4.5. Estados del proceso 90
3.4.6. Estados de espera y suspendido 91
3.5. Planificación 92
3.6. Señales y excepciones 92
3.6.1. Señales UNIX 93
3.6.2. Excepciones Windows 94
3.7. Temporizadores 94
3.8. Procesos especiales 95
3.8.1. Proceso servidor 95
3.8.2. Demonio 96
3.8.3. Proceso de usuario y proceso de núcleo 96
3.9. Threads 97
3.9.1. Gestión de los threads 98
3.9.2. Creación, ejecución y terminación de threads 99
3.9.3. Estados de un thread 99
3.9.4. Paralelismo 100
3.9.5. Diseño con threads 101
3.10. Aspectos de diseño del sistema operativo 102
3.10.1. Núcleo con ejecución independiente 103
3.10.2. Núcleo con ejecución dentro de los procesos de usuario 103
3.11. Tratamiento de interrupciones 106
3.11.1. Interrupciones y expulsión 106
3.11.2. Detalle del tratamiento de interrupciones 109
3.11.3. Llamadas al sistema operativo 114
3.11.4. Cambios de contexto voluntario e involuntario 115
3.12. Tablas del sistema operativo 116
3.13. Servicios 118
3.13.1. Servicios UNIX para la gestión de procesos 118
3.13.2. Servicios UNIX de gestión de threads 132
3.13.3. Servicios UNIX para gestión de señales y temporizadores 135
3.13.4. Servicios Windows para la gestión de procesos 141
3.13.5. Servicios Windows para la gestión de threads 146
3.13.6. Servicios Windows para el manejo de excepciones 148
3.13.7. Servicios Windows de gestión de temporizadores 150
4 Planificación del procesador 153
4.1. Introducción 154
4.2. El problema de la planificación de recursos 155
4.3. Caracterización de los procesos 158
4.4. Objetivos de la planificación 161
4.4.1. Parámetros de evaluación del planificador 161
4.4.2. Modelo del planificador 162
4.4.3. Evaluación de un planificador 164
4.5. Niveles de planificación 165
4.6. Mecanismos y políticas de planificación 167
4.6.1. Estructura del planificador de procesos 167
4.6.2. Puntos de activación del planificador 169
4.6.3. El cambio de contexto 170
4.6.4. Políticas de planificación 172
4.7. Algoritmos de planificación no expulsivos 172
4.7.1. Primero en llegar primero en ejecutar (FCFS) 173
4.7.2. Primero el trabajo más corto (SJF) 175
4.7.3. Planificación basada en prioridades 177
4.8. Algoritmos de planificación expulsivos 180
4.8.1. Turno rotatorio (round robin) 181
4.8.2. Primero el de menor tiempo restante (SRTF) 183
4.8.3. Planificación expulsiva basada en prioridades 184
4.8.4. Colas multinivel 186
4.9. Diseño e implementación del planificador 188
4.10. Planificación en sistemas de tiempo real 190
4.10.1. Planificación cíclica 191
4.10.2. Planificación monótona en frecuencia (RMS) 193
4.10.3. Planificación por tiempo límite (EDF) 194
4.11. Planificación de threads 195
4.12. Planificación en multiprocesadores 198
4.12.1. Multiprocesamiento asimétrico y simétrico 198
4.12.2. Planificación basada en una cola única 200
4.12.3. Planificación basada en una cola por procesador 203
4.13. Estudio de un ejemplo: planificación en Linux 204
4.13.1. Planificación en un sistema uniprocesador 205
4.13.2. Planificación en un sistema multiprocesador 207
4.14. Servicios de planificación 209
4.14.1. Servicios UNIX de planificación 209
4.14.2. Servicios Windows de planificación 212
5 Gestión de memoria 217
5.1. Introducción 218
5.2. Aspectos generales de la gestión de memoria 219
5.2.1. Niveles de gestión de memoria 219
5.2.2. Necesidades de los programas 221
5.2.3. Objetivos del sistema de gestión de memoria 227
5.2.4. Problema general de la asignación de memoria 231
5.2.5. El largo camino del acceso simbólico al real 242
5.3. Modelo de memoria de un proceso 246
5.3.1. Implementación de los diversos tipos de objetos de memoria 247
5.3.2. Ciclo de vida de un programa 254
5.3.3. Bibliotecas 262
5.3.4. Protección interna del proceso 274
5.3.5. Modelo de desarrollo de programas de Java 275
5.3.6. Mapa de memoria de un proceso 276
5.4. Esquemas de gestión de la memoria del sistema 281
5.4.1. Esquema de asignación contigua 282
5.4.2. Segmentación 289
5.4.3. Paginación 296
5.4.4. Segmentación paginada 312
5.4.5. Uso de un único espacio de direcciones 315
5.5. Memoria virtual 316
5.5.1. Intercambio 316
5.5.2. Overlays 317
5.5.3. Fundamento de la memoria virtual 317
5.5.4. Ciclo de vida de una página 319
5.5.5. Políticas de administración de la memoria virtual 319
5.5.6. Política de localización 321
5.5.7. Política de extracción 322
5.5.8. Política de reemplazo 325
5.5.9. Política de reparto de espacio entre los procesos 331
5.5.10. Gestión del espacio de swap 333
5.5.11. Compartimiento de páginas 334
5.5.12. Gestión de la memoria del sistema operativo 336
5.5.13. Coherencia de la jerarquía de memoria 338
5.5.14. Operaciones del nivel de procesos y de regiones 342
5.5.15. Ficheros proyectados en memoria 345
5.6. Servicios de gestión de memoria 346
5.6.1. Servicios UNIX de proyección de ficheros 347
5.6.2. Servicios UNIX de carga de bibliotecas 350
5.6.3. Servicios Windows de proyección de ficheros 352
5.6.4. Servicios Windows de carga de bibliotecas 355
6 Comunicación y sincronización de procesos 361
6.1. Concurrencia 362
6.1.1. Tipos de procesos concurrentes 363
6.1.2. Recursos compartidos y coordinación 364
6.1.3. Problemas que plantea la concurrencia 364
6.2. Modelos de comunicación y sincronización 368
6.2.1. Modelo de acceso a una sección crítica 368
6.2.2. Modelo productor-consumidor 369
6.2.3. Modelo de lectores-escritores 370
6.2.4. Modelo de acceso a recursos limitados 370
6.2.5. Modelo cliente-servidor 371
6.3. Mecanismos de comunicación y sincronización 371
6.3.1. Comunicación mediante ficheros 372
6.3.2. Tuberías 373
6.3.3. Sincronización mediante señales 376
6.3.4. Semáforos 376
6.3.5. Memoria compartida 382
6.3.6. Mutex y variables condicionales 383
6.3.7. Paso de mensajes 386
6.3.8. Empleo más adecuado de los mecanismos de comunicación y sincronización 391
6.4. Transacciones 392
6.4.1. Servicio transaccional 393
6.5. Diseño 394
6.5.1. Soporte hardware para la sincronización 394
6.5.2. Espera activa 396
6.5.3. Espera pasiva o bloqueo 397
6.5.4. Sincronización dentro del sistema operativo 399
6.5.5. Comunicación dentro del sistema operativo 408
6.6. Servicios UNIX 409
6.6.1. Tuberías UNIX 409
6.6.2. Semáforos UNIX 414
6.6.3. Mutex y variables condicionales en UNIX 419
6.6.4. Colas de mensajes en UNIX 422
6.7. Servicios Windows 431
6.7.1. Tuberías en Windows 432
6.7.2. Secciones críticas en Windows 439
6.7.3. Semáforos en Windows 439
6.7.4. Mutex y eventos en Windows 443
6.7.5. Mailslots 446
7 Interbloqueos 449
7.1. Una historia basada en hechos reales 450
7.2. Los interbloqueos en un sistema informático 451
7.2.1. Tipos de recursos 451
7.3. Modelo del sistema 456
7.3.1. Representación mediante un grafo de asignación de recursos 457
7.3.2. Representación matricial 460
7.4. Definición y caracterización del interbloqueo 462
7.4.1. Condición necesaria y suficiente para el interbloqueo 463
7.5. Tratamiento del interbloqueo 464
7.6. Detección y recuperación del interbloqueo 465
7.6.1. Detección del interbloqueo 466
7.6.2. Recuperación del interbloqueo 470
7.7. Prevención del interbloqueo 471
7.7.1. Exclusión mutua 471
7.7.2. Retención y espera 472
7.7.3. Sin expropiación 473
7.7.4. Espera circular 474
7.8. Predicción del interbloqueo 474
7.8.1. Concepto de estado seguro 475
7.8.2. Algoritmos de predicción 476
7.9. El interbloqueo en los sistemas operativos 481
7.10. Ejemplos de interbloqueos 485
8 Entrada/salida 497
8.1. Introducción 498
8.2. Caracterización de los dispositivos de E/S 499
8.2.1. Conexión de un dispositivo de E/S a un computador 500
8.2.2. Dispositivos por puertos o proyectados en memoria 501
8.2.3. Dispositivos de bloques y de caracteres 501
8.2.4. E/S programada o por interrupciones 502
8.2.5. Mecanismos de incremento de prestaciones 506
8.2.6. Control de energía 508
8.3. Arquitectura del sistema de E/S 509
8.3.1. Estructura y componentes del sistema de E/S 509
8.3.2. Software de E/S 510
8.4. Interfaz de aplicaciones 514
8.4.1. Nombres independientes de dispositivo 514
8.4.2. E/S bloqueante y no bloqueante 515
8.4.3. Control de acceso a dispositivos 515
8.4.4. Indicaciones de error 516
8.4.5. Uso de estándares 517
8.5. Almacenamiento secundario 517
8.5.1. Discos 517
8.5.2. El manejador de disco 522
8.5.3. Discos en memoria 527
8.5.4. Fiabilidad y tolerancia a fallos 527
8.6. Almacenamiento terciario 530
8.6.1. Tecnología para almacenamiento terciario 530
8.6.2. Estructura y componentes del almacenamiento terciario 530
8.6.3. Ejemplo de almacenamiento de altas prestaciones: HPSS 532
8.7. Gestión de reloj 534
8.8. Manejadores de dispositivos de caracteres 539
8.8.1. Gestión de la entrada 539
8.8.2. Gestión de la salida 548
8.9. Manejador del Terminal 550
8.9.1. Modo de operación del terminal 550
8.9.2. Hardware del terminal 551
8.9.3. El software del terminal 553
8.10. Gestión de la red 556
8.10.1. Niveles de gestión de red 557
8.10.2. Envío de información 558
8.10.3. Recepción de información 560
8.11. Servicios de E/S 560
8.11.1. Servicios de entrada/salida en UNIX 561
8.11.2. Servicios de entrada/salida en Windows 565
9 Gestión de ficheros y directorios 573
9.1. Visión de usuario del sistema de Ficheros 574
9.2. Ficheros 574
9.2.1. Concepto de fichero 575
9.2.2. Tipos de ficheros 577
9.2.3. Nombres de ficheros 579
9.2.4. Estructura de un fichero 582
9.2.5. Métodos de acceso 584
9.3. Directorios 585
9.3.1. Concepto de directorio 586
9.3.2. Estructuras de directorio 586
9.4. Nombres Jerárquicos 590
9.4.1. Construcción de la jerarquía de nombres 591
9.5. Ficheros Compartidos 592
9.5.1. Semánticas de coutilización 592
9.5.2. Bloqueo de ficheros 594
9.6. Ciclo de vida de un fichero 595
9.7. Del usuario a los dispositivos 596
9.7.1. Proyecciones lógica y física del fichero 598
9.8. Estructura y Almacenamiento del Fichero 599
9.8.1. Ficheros contiguos 599
9.8.2. Ficheros enlazados 600
9.8.3. Ficheros indexados 602
9.8.4. Árboles balanceados 603
9.9. Estructura y Almacenamiento del Directorio 605
9.10. Sistemas de Ficheros 607
9.10.1. Mecanismos de gestión de espacio libre 609
9.10.2. Sistemas de ficheros contiguos: ISO-9660 610
9.10.3. Sistemas de ficheros enlazados: FAT16 y FAT32 611
9.10.4. Estructura de los sistemas de ficheros UNIX SV 613
9.10.5. Estructura de los sistemas de ficheros tipo BSD: FFS, ext2 616
9.10.6. Estructura de los sistemas de ficheros con journaling 617
9.10.7. Estructura de los sistemas de ficheros extensibles 619
9.11. El Servidor de Directorios 620
9.11.1. Diseño de los directorios 620
9.11.2. Interpretación de nombres 621
9.11.3. Construcción del árbol de nombres: Montado de sistemas de ficheros 622
9.11.4. Mecanismos de incremento de prestaciones 623
9.12. El Servidor de Ficheros 624
9.12.1. Estructura del servidor de ficheros 625
9.12.2. Estructuras de datos asociadas con la gestión de ficheros 626
9.12.3. Mecanismos de incremento de prestaciones de ficheros 628
9.12.4. Fiabilidad y recuperación 632
9.13. Servicios de ficheros y directorios 636
9.13.1. Servicios UNIX para ficheros 636
9.13.2. Ejemplo de uso de servicios UNIX para ficheros 640
9.13.3. Servicios Windows para ficheros 646
9.13.4. Ejemplo de uso de servicios Windows para ficheros 649
9.13.5. Servicios UNIX de directorios 651
9.13.6. Ejemplo de uso de servicios UNIX para directorios 652
9.13.7. Servicios Windows para directorios 655
9.13.8. Ejemplo de uso de servicios Windows para directorios 655
10 Introducción a los sistemas distribuidos 661
10.1. Sistemas distribuidos 662
10.1.1. Características de un sistema distribuido 662
10.1.2. Redes e interconexión 663
10.1.3. Protocolos de comunicación 664
10.2. Sistemas operativos distribuidos 666
10.3. Modelos de computación distribuida 670
10.4. Comunicación de procesos en sistemas distribuidos 672
10.4.1. Sockets 673
10.4.2. Llamadas a procedimientos remotos 686
10.4.3. Comunicación de grupos 695
10.5. Sincronización en sistemas distribuidos 695
10.5.1. Ordenación de eventos en sistemas distribuidos 695
10.5.2. Exclusión mutua en sistemas distribuidos 697
10.6. Gestión de procesos 699
10.6.1. Asignación de procesos a procesadores 700
10.6.2. Algoritmos de distribución de la carga 701
10.6.3. Planificación de procesos en sistemas distribuidos 702
10.7. Sistemas de ficheros distribuidos 702
10.7.1. Nombrado 704
10.7.2. Métodos de acceso 704
10.7.3. Utilización de caché en sistemas de ficheros distribuidos 705
10.7.4. NFS 707
10.7.5. CIFS 710
10.7.6. Empleo de paralelismo en el sistema de ficheros 711
10.7.7. Sistemas de almacenamiento en red 712
10.8. Gestión de memoria en sistemas distribuidos 713
11 Seguridad y protección 717
11.1. La seguridad y la protección 718
11.2. Problemas de seguridad 719
11.2.1. Problemas físicos 720
11.2.2. Problemas lógicos 720
11.3. Políticas de seguridad 725
11.3.1. Política militar 726
11.3.2. Políticas comerciales 727
11.3.3. Modelos de seguridad 729
11.4. Clasificaciones de seguridad 729
11.4.1. TCSEC 729
11.4.2. ITSEC/ITSEM 731
11.4.3. Criterio común 732
11.4.4. Compatibilidad entre clasificaciones 733
11.5. Criptografía 733
11.5.1. Conceptos básicos 734
11.5.2. Sistemas de clave privada y sistemas de clave pública 736
11.5.3. Firmas digitales y certificados 737
11.6. Diseño de sistemas seguros 738
11.6.1. Principios de diseño y aspectos de seguridad 739
11.6.2. Técnicas de diseño de sistemas seguros 740
11.6.3. Controles de seguridad externos al sistema operativo 744
11.6.4. Controles de seguridad del sistema operativo 745
11.7. Implementación de la seguridad en sistemas operativos 746
11.7.1. Monitores de seguridad 747
11.7.2. Dominios de protección 749
11.7.3. Autenticación de usuarios 758
11.7.4. Separación de recursos 763
11.7.5. Mecanismos de recuperación 764
11.7.6. Salvaguarda de datos 765
11.7.7. Mejoras en el núcleo del sistema operativo 766
11.8. Implementación de la seguridad en la red 768
11.8.1. Servicios de autenticación remota 768
11.8.2. Limitaciones de acceso 772
11.8.3. Comunicación segura 775
11.8.4. Otros mecanismos de protección 775
11.9. Servicios de Protección y Seguridad 776
11.9.1. Servicios UNIX 776
11.9.2. Ejemplo de uso de los servicios de protección de UNIX 778
11.9.3. Servicios de Windows 780
11.9.4. Ejemplo de uso de los servicios de protección de Windows 782
Apéndice 1 Resumen de llamadas al sistema 787
Bibliografía 793
Indice 799

No hay comentarios en este titulo.

para colocar un comentario.

Haga clic en una imagen para verla en el visor de imágenes

Imagen de cubierta local