000 10004nam a2200313 a 4500
999 _c10859
_d10859
003 AR-sfUTN
008 170717b ||||| |||| 00| 0 spa d
020 _a9701701658
040 _cAR-sfUTN
041 _aspa
080 0 _a004.451 T155 1998
_22000
100 1 _aTanenbaum, Andrew S.
_q(Andrew Stuart)
_d1944-
_92574
245 1 0 _aSistemas operativos :
_bdiseño e implementación /
_cAndrew S. Tanenbaum, Albert S. Woodhull.
250 _a2da.
260 _aMéxico :
_bPrentice Hall,
_c1998.
300 _a939 p.
336 _2rdacontent
_atexto
_btxt
337 _2rdamedia
_asin mediación
_bn
338 _2rdacarrier
_avolumen
_bnc
500 _aPara más información, consulte http://www.minix3.org/ (visitada 27/11/18)
505 8 0 _aCONTENIDO PREFACIO 1 INTRODUCCION 1.1 ¿QUE ES UN SISTEMA OPERATIVO? 1.1.1 El sistema operativo como máquina extendida 1.1.2 El sistema operativo como administrador de recursos 1.2 HISTORIA DE LOS SISTEMAS OPERATIVOS 1.2.1 La primera generación (1945 -55): Tubos de vacío y tableros de conmutación 1.2.2 La segunda generación (1933-65): Transistores y sistemas por lote 1.2.3 La tercera generación (1965-1980): Circuitos integrados y multiprogramación 1.2.4 La cuarta generación (1980-presente): Computadoras personales 1.2.5 Historia de MINIX 1.3 CONCEPTOS DE SISTEMAS OPERATIVOS 1.3.1 Procesos 1.3.2 Archivos 1.3.3 El shell 1.4 LLAMADAS AL SISTEMA 1.4.1 Llamadas al sistema para administración de procesos 1.4.2 Llamadas al sistema para señalización 1.4.3 Llamadas al sistema para administración de archivos 1.4.4 Llamadas al sistema para administración de directorios 1.4.5 Llamadas al sistema para protección 1.4.6 Llamadas al sistema para administración del tiempo 1.5 ESTRUCTURA DEL SISTEMA OPERATIVO 1.5.1 Sistemas monolíticos 1.5.2 Sistemas por capas 1.5.3 Máquinas virtuales 1.5.4 Modelo cliente-servidor 1.6 BOSQUEJO DEL RESTO DEL LIBRO 1.7 RESUMEN 2 PROCESOS 2.1 INTRODUCCION A LOS PROCESOS 2.1.1 El modelo de procesos 2.1.2 Implementación de procesos 2.1.3 Hilos 2.2 COMUNICACION ENTRE PROCESOS 2.2.1 Condiciones de competencia 2.2.2 Secciones críticas 2.2.3 Exclusión mutua con espera activa 2.2.4 Dormir y despertar 2.2.5 Semáforos 2.2.6 Monitores 2.2.7 Transferencia de mensajes 2.3 PROBLEMAS CLASICOS DE IPC 2.3.1 El problema de la cena de filósofos 2.3.2 El problema de lectores y escritores 2.3.3 El problema del peluquero dormido 2.4 PLANIFICACION DE PROCESOS 2.4.1 Planificación round robin (de torneo) 2.4.2 Planificación por prioridad 2.4.3 Colas múltiples 2.4.4 El primer trabajo más corto 2.4.5 Planificación garantizada 2.4.6 Planificación por lotería 2.4.7 Planificación en tiempo real 2.4.8 Planificación de dos niveles 2.4.9 Política vs. mecanismo 2.5 PERSPECTIVA GENERAL DE PROCESOS EN MINIX 2.5.1 La estructura interna de MINIX 2.5.2 Administración de procesos en MINIX 2.5.3 Comunicación entre procesos en MINIX 2.5.4 Planificación de procesos en MINIX 2.6 IMPLEMENTACION DE PROCESOS EN MINIX 2.6.1 Organización del código fuente de MINIX 2.6.2 Los archivos de cabecera común 2.6.3 Los archivos de cabecera de MINIX 2.6.4 Estructuras de datos de procesos y archivos de cabecera 2.6.5 Autoarranque de MINIX 2.6.6 Inicialización del sistema 2.6.7 Manejo de interrupciones en MINIX 2.6.8 Comunicación entre procesos en MINIX 2.6.9 Planificación en MINIX 2.6.10 Apoyo de kernel dependiente del hardware 2.6.11 Rutinas de utilidad y biblioteca del kernel 2.7 RESUMEN 3 ENTRADA/SALIDA 3.1 PRINCIPIOS DEL HARDWARE DE E/S 3.1.1 Dispositivos de E/S 3.1.2 Controladores de dispositivos 3.1.3 Acceso directo a memoria (DMA) 3.2 PRINCIPIOS DEL SOFTWARE DE E/S 3.2.1 Objetivos del software de E/S 3.2.2 Manejadores de interrupciones 3.2.3 Controladores de dispositivos 3.2.4 Software de E/S independiente del dispositivo 3.2.5 Software de E/S de espacio de usuario 3.3 BLOQUEO MUTUO 3.3.1 Recursos 3.3.2 Principios del bloqueo mutuo 3.3.3 El algoritmo del avestruz 3.3.4 Detección y recuperación 3.3.5 Prevención del bloqueo mutuo 3.3.6 Evitar los bloqueos mutuos 3.4 GENERALIDADES DE E/S EN MINIX 3.4.1 Manejadores de interrupciones en MINIX 3.4.2 Controladores de dispositivos en MINIX 3.4.3 Software de E/S independiente del dispositivo en MINIX 3.4.4 Software de E/S de nivel de usuario en MINIX 3.4.5 Manejo de bloqueos mutuos en MINIX 3.5 DISPOSITIVOS POR BLOQUES EN MINIX 3.5.1 Generalidades de los controladores de dispositivos por bloques en MINIX 3.5.2 Software controlador de dispositivos de bloques común 3.5.3 La biblioteca de controladores 3.6 DISCOS EN RAM 3.6.1 Hardware y software de discos en RAM 3.6.2 Generalidades del controlador de disco en RAM en MINIX 3.6.3 Implementación del controlador de disco en RAM en MINIX 3.7 DISCOS 3.7.1 Hardware de discos 3.7.2 Software de discos 3.7.3 Generalidades del controlador de disco duro en MINIX 3.7.4 Implementación del controlador de disco duro en MINix 3.7.5 Manejo de discos flexibles 3.8 RELOJES 3.8.1 Hardware de reloj 3.8.2 Software de reloj 3.8.3 Generalidades del controlador de reloj en MINIX 3.8.4 Implementación del controlador de reloj en MINIx 3.9 TERMINALES 3.9.1 Hardware de terminales 3.9.2 Software de terminales 3.9.3 Generalidades del controlador de terminales en MINix 3.9.4 Implementación del controlador de terminales independiente del dispositivo 3.9.5 Implementación del controlador de teclado 3.9.6 Implementación del controlador de pantalla 3.10 LA TAREA DE SISTEMA EN MINIX 3.11 RESUMEN 4 ADMINISTRACION DE MEMORIA 4.1 ADMINISTRACION BASICA DE MEMORIA 4.1.1 Monoprogramación sin intercambio ni paginación 4.1.2 Multiprogramación con particiones fijas 4.2 INTERCAMBIO 4.2.1 Administración de memoria con mapas de bits 4.2.2 Administración de memoria con listas enlazadas 4.3 MEMORIA VIRTUAL 4.3.1 Paginación 4.3.2 Tablas de páginas 4.3.3 TLB-Buffers de consulta para traducción 4.3.4 Tablas de páginas invertidas 4.4 ALGORITMOS DE SUSTITUCION DE PAGINAS 4.4.1 El algoritmo de sustitución de páginas óptimo 4.4.2 El algoritmo de sustitución de páginas no usadas recientemente 4.4.3 El algoritmo de sustitución de páginas de primera que entra, primera que sale (FIFO) 4.4.4 El algoritmo de sustitución de páginas de segunda oportunidad 4.4.5 El algoritmo de sustitución de páginas por reloj 4.4.6 El algoritmo de sustitución de páginas menos recientemente usadas (LRU) 4.4.7 Simulación de LRU en software 4.5 ASPECTOS DE DISEÑO DE LOS SISTEMAS CON PAGINACION 4.5.1 El modelo de conjunto de trabajo 4.5.2 Políticas de asignación local vs. global 4.5.3 Tamaño de página 4.5.4 Interfaz de memoria virtual 4.6 SEGMENTACION 4.6.1 Implementación de la segmentación pura 4.6.2 Segmentación con paginación: multics 4.6.3 Segmentación con paginación: El Pentium de Intel 4.7 GENERALIDADES DE ADMINISTRACION DE MEMORIA EN MINIX 4.7.1 Organización de la memoria 4.7.2 Manejo de mensajes 4.7.3 Estructuras de datos y algoritmos del administrador de memoria 4.7.4 Las llamadas al sistema FORK, EXIT y WAIT 4.7.5 La llamada al sistema EXEC 4.7.6 La llamada al sistema BRK 4.7.7 Manejo de señales 4.7.8 Otras llamadas al sistema 4.8 IMPLEMENTACION DE LA ADMINISTRACION DE MEMORIA EN MINIX 4.8.1 Los archivos de cabecera y estructuras de datos 4.8.2 El programa principal 4.8.3 Implementación de FORK,EXIT y WAIT 4.8.4 Implementación de EXEC 4.8.5 Implementación de BRK 4.8.6 Implementación del manejo de señales 4.8.7 Implementación de las otras llamadas al sistema 4.8.8 Utilerías del administrador de memoria 4.9 RESUMEN 5 SISTEMAS DE ARCHIVOS 5.1 ARCHIVOS 5.1.1 Nombres de archivos 5.1.2 Estructura de archivos 5.1.3 Tipos de archivos 5.1.4 Acceso a archivos 5.1.5 Atributos de archivos 5.1.6 Operaciones con archivos 5.2 DIRECTORIOS 5.2.1 Sistemas de directorio jerárquicos 5.2.2 Nombres de ruta 5.2.3 Operaciones con directorios 5.3 IMPLEMENTACION DE SISTEMAS DE ARCHIVOS 5.3.1 Implementación de archivos 5.3.2 Implementación de directorios 5.3.3 Administración del espacio en disco 5.3.4 Confiabilidad del sistema de archivos 5.3.5 Rendimiento del sistema de archivos 5.3.6 Sistemas de archivos estructurados por diario 5.4 SEGURIDAD 5.4.1 El entorno de seguridad 5.4.2 Fallas de seguridad famosas 5.4.3 Ataques genéricos contra la seguridad 5.4.4 Principios de diseño para la seguridad 5.4.5 Verificación de autenticidad de usuarios 5.5 MECANISMOS DE PROTECCION 5.5.1 Dominios de protección 5.5.2 Listas de control de acceso 5.5.3 Capacidades 5.5.4 Canales encubiertos 5.6 GENERALIDADES DEL SISTEMA DE ARCHIVOS DE MINIX 5.6.1 Mensajes 5.6.2 Organización del sistema de archivos 5.6.3 Mapas de bits 5.6.4 Nodos-i 5.6.5 El caché de bloques 5.6.6 Directorios y rutas 5.6.7 Descriptores de archivos 5.6.8 Candados de archivos 5.6.9 Conductos y archivos especiales 5.6.10 Un ejemplo: La llamada al sistema READ 5.7 IMPLEMENTACION DEL SISTEMA DE ARCHIVOS MINIX 5.7.1 Archivos de encabezado y estructuras de datos globales 5.7.2 Administración de tablas 5.7.3 El programa principal 5.7.4 Operaciones con archivos individuales 5.7.5 Directorios y rutas 5.7.6 Otras llamadas al sistema 5.7.7 La interfaz con dispositivos de E/S 5.7.8 Utilerías generales 5.8 RESUMEN LISTA DE LECTURAS Y BIBLIOGRAFIA 6.1 SUGERENCIAS DE LECTURAS ADICIONALES 6.1.1 Introducción y trabajos generales 6.1.2 Procesos 6.1.3 Entrada/salida 6.1.4 Administración de memoria 6.1.5 Sistemas de archivos 6.2 BIBLIOGRAFIA ALFABETIZADA APENDICES A EL CODIGO FUENTE DE MINIX B INDICE DE ARCHIVOS C INDICE DE SIMBOLOS
650 1 4 _aSISTEMAS OPERATIVOS
650 1 4 _aMINIX-CODIGO FUENTE
650 1 4 _aSISTEMAS OPERATIVOS-HISTORIA
700 1 _aWoodhull, Albert S.
942 _cBK
_2udc