Next:
Introducción a los
Up:
Apuntes S.O.
Previous:
Apuntes S.O.
Contents
Introducción a los Sistemas Operativos
Programa
Evaluación:
Bibliografía:
Evolución de los S.O.
Problema: Bajo provecho de un computador costoso
Sistemas Batch
Ventajas
Problema: Baja utilización de un procesador costoso
Operación Off-line
Ventajas
Problema: Busy-waiting
Buffering
Ventantas
Problema: Tiempo de despacho prolongado
Simultaneous Peripheral Operation On-Line: Spooling
Ventantas
Problema: Aún queda tiempo de procesador disponible
Sistemas de Multiprogramación
Problema: Ausencia de protección entre jobs
Máquinas o procesadores virtuales
Problema: Baja productividad de los programadores
Sistemas de Tiempo Compartido
Problema: El procesador es un cuello de botella
Computadores Personales
Problema: Dificultad para compartir información
Redes de computadores personales
Sistemas distribuidos o redes de estaciones de trabajo
Sistemas multiprocesadores
El presente
Procesos
Clasificación de procesos
Procesos pesados versus procesos livianos
Procesos
Clasificación de procesos
Procesos pesados versus procesos livianos
Preemption versus non-preemption
El nano System
Gestión de tareas en nSystem
El problema de la sección crítica
Comunicación entre tareas en nSystem
Bibliotecas de Unix y nSystem
Otros procedimientos de nSystem
Buffering usando tareas
Semáforos
El problema del productor/consumidor
El problema de los filósofos pensantes
Solución errónea
Primera solución
Segunda solución
Monitores
El problema de los escritores y lectores
Solución
Sistemas de mensajes
Comunicación directa
Comunicación indirecta
Buffering
Ejemplo: El problema de los escritores y lectores resuelto con mensajes
Diagrama de procesos
Diagrama de estados de un proceso
Estructura del Computador
Arquitectura Lógica del Computador
Espacio de Direcciones Reales
Estructura del Computador
Arquitectura Lógica del Computador
Espacio de Direcciones Reales
Estrategias de E/S
Busy-waiting
Interrupciones
Localización de un dispositivo
Canales de E/S
Modo Dual
Espacio de Direcciones Virtuales
Cronómetro regresivo
Arquitectura del Sistema Operativo
El núcleo
La API del núcleo
Los drivers para dispositivos
El sistema de archivos
El intérprete de comandos
Ejemplos de Sistemas Operativos
DOS
Linux, Berkeley Unix y Unix System V release 3.X
Chorus y Mach
Administración de Procesos
Scheduling de Procesos
Administración de Procesos
Scheduling de Procesos
Estados de un proceso
El descriptor de proceso
Colas de Scheduling
Cambio de contexto
Interrupciones vs. cambio de contexto
Ráfagas de CPU
Estrategias de scheduling de procesos
First Come First Served o FCFS
Shortest Job First o SJF
Colas con prioridad
Aging
Round-Robin
Implementación
Taman o de tajada
Llegada de procesos
Jerarquías de Scheduling
Administración de procesos en nSystem
La pila
El cambio de contexto
Scheduling en nSystem
Scheduling simplificado
Entrada/Salida no bloqueante
Implementación de secciones críticas en nSystem
Implementación de semáforos en nSystem
Implementación de procesos en Unix
Unix en monoprocesadores
Llamadas al sistema
El segmento sistema
Procesos ligeros en el núcleo
Relación con nSystem
Unix en multiprocesadores
Scheduling
Primera solución: un solo procesador en el núcleo
Exclusión a través de candados
Implementación de candados
Ventajas y desventajas
Núcleos Multi-threaded
Administración de Memoria
Segmentación
La tabla de segmentos del procesador
Administración de Memoria
Segmentación
La tabla de segmentos del procesador
Traducción de direcciones virtuales
Cambios de contexto
Administración de la memoria de segmentos
Compactación en el núcleo
Compactación en un proceso
El potencial de la segmentación
Extensión automática de la pila en caso de desborde
Extensión explícita de los datos
Implementación de fork
Swapping
Implementación de procesos semi-ligeros
Problemas de la segmentación
Paginamiento
La tabla de páginas
Atributos de una página
Cambios de contexto
Taman o de la tabla de páginas
Traducción de direcciones virtuales
El potencial del paginamiento
No hay framentación externa
Implementación eficiente de fork
Implementación de procesos semi-pesados
Paginamiento en demanda
Ejemplos de sistemas de paginamiento
Paginamiento en una Sun 3/50
Paginamiento en un Intel 386/486/Pentium
El acelerador de la traducción de direcciones: TLB
Memoria Virtual: Paginamiento en Demanda
Page-fault
Estrategias de reemplazo de páginas
La estrategia ideal
La estrategia FIFO
La estrategia LRU
La estrategia del reloj
Trashing
La estrategia del Working-Set
El working-set
Transferencia de páginas a disco
Período entre cálculos del working-set
Carga de binarios en demanda
Localidad de los accesos a la memoria
About this document ...
José M. Piquer
Fri Apr 9 15:57:37 CLT 1999