SISTEMAS OPERATIVOS
UNIVERSIDAD NACIONAL
DEL NORDESTE
FACULTAD DE CIENCIAS EXACTAS
Y NATURALES Y AGRIMENSURA
SISTEMAS OPERATIVOS
Magister David Luis la Red Martínez
PROFESOR TITULAR POR CONCURSO DE
“SISTEMAS OPERATIVOS”
Licenciatura en Sistemas de
Información
Departamento de Informática
UNIVERSIDAD NACIONAL DEL NORDESTE
U.N.N.E. - ARGENTINA
Prefacio
Este libro trata sobre los aspectos fundamentales referidos a los Sistemas
Operativos y divide el estudio de los mismos en tres partes:
Sistemas Operativos Convencionales.
Sistemas Operativos Distribuidos.
Casos de Estudio.
Para aquellos lectores que solo deseen adquirir o refrescar conocimientos
relacionados con los Sistemas Operativos en general, será suficiente
con la lectura de la Primer Parte, en tanto que para aquellos que deseen
un conocimiento más profundo, teniendo presente la problemática
de los Sistemas Distribuidos, será necesario avanzar en la lectura
del primer grupo de temas de la Segunda Parte; asimismo, si además
se desea incursionar en aspectos complementarios pero importantes, se sugiere
también la lectura del segundo grupo de temas de la mencionada Segunda
Parte, la que se recomienda leer aunque no se tenga
interés en los Sistemas Distribuidos, ya que es un buen complemento
de la Primer Parte de esta obra.
En cuanto a la Tercer Parte, corresponde aclarar que resultaría
de interés para quienes deseen profundizar en el estudio teórico
- práctico de un conjunto de problemáticas relacionadas con
los Sistemas Operativos, con el auxilio de herramientas de avanzada tales
como Mathematica, Matlab, Java, Redes Neuronales, Sistemas Expertos, Orientación
a Objetos, etc., siendo un buen complemento de las dos partes anteriores,
que permite incrementar el conocimiento de los temas considerados.
Es preciso señalar además que este libro está destinado
a los alumnos de una Carrera de Grado en Informática que deban hacer
un Curso de Sistemas Operativos, pudiendo ser de utilidad, según
la profundidad del curso, la Primer Parte, la Segunda Parte o las tres
que componen este trabajo.
Master David Luis la Red Martínez
Corrientes;
Noviembre de 2001
Para continuar, seleccione una
opción:
Fecha de los últimos anuncios :
09/04/08.
Sistemas Operativos Convencionales
Introducción
Qué es un Sistema Operativo
Historia de los Sistemas Operativos - Generaciones
Conceptos de los Sistemas Operativos
Estructura de los Sistemas Operativos
Tendencias
Hardware
Software
Memoria Fija
Procesos y Administración del
Procesador
Introducción y Definiciones Sobre Procesos
Estados de Procesos
Procesamiento de Interrupciones
El Núcleo del Sistema Operativo
Planificación de Procesos
Niveles de Planificación del Procesador
Objetivos de la Planificación
Criterios de Planificación
Planificación Apropiativa Versus No Apropiativa
Temporizador de Intervalos o Reloj de Interrupción
Prioridades
Tipos de Planificación
Planificación a Plazo Fijo
Planificación Garantizada
Planificación del Primero en Entrar Primero en Salir (FIFO)
Planificación de Asignación en Rueda (RR: Round Robin)
Tamaño del Cuanto o Quantum
Planificación del Trabajo Más Corto Primero (SJF)
Planificación del Tiempo Restante Más Corto (SRT)
Planificación el Siguiente con Relación de Respuesta Máxima
(HRN)
Planificación por Prioridad
Colas de Retroalimentación de Niveles Múltiples
Política Versus Mecanismo de Planificación
Planificación de Dos Niveles
Multiprocesamiento
Introducción
Confiabilidad
Explotación del Paralelismo
Paralelismo Masivo
Metas de los Sistemas de Multiprocesamiento
Detección Automática del Paralelismo
Distribución de Ciclos
Reducción de la Altura del Árbol
Organización del Hardware del Multiprocesador
Tiempo Compartido o Bus Común (o Conductor Común)
Matriz de Barras Cruzadas e Interruptores
Almacenamiento de Interconexión Múltiple
Grados de Acoplamiento en Multiprocesamiento
Organización Maestro / Satélite
Sistema Operativo de Multiprocesadores
Maestro / Satélite
Ejecutivos Separados
Tratamiento Simétrico
Rendimiento del Sistema de Multiprocesamiento
Recuperación de Errores
Multiprocesamiento Simétrico (MPS)
Tendencias de los Multiprocesadores
Administración de la Memoria
Introducción al Almacenamiento Real
Organización y Administración del Almacenamiento
Organización del Almacenamiento
Administración del Almacenamiento
Jerarquía de Almacenamiento
Estrategias de Administración del Almacenamiento
Asignación Contigua de Almacenamiento Versus No Contigua
Asignación Contigua de Almacenamiento de Un Solo Usuario
Multiprogramación de Partición Fija
Multiprogramación de Partición Fija: Traducción y
Carga Absolutas
Multiprogramación de Partición Fija: Traducción y
Carga Relocalizables
Protección en los Sistemas de Multiprogramación
Fragmentación en la Multiprogramación de Partición
Fija
Multiprogramación de Partición Variable
Compresión o Compactación de Almacenamiento
Estrategias de Colocación del Almacenamiento
Multiprogramación con Intercambio de Almacenamiento
Introducción a la Organización del Almacenamiento Virtual
Conceptos Básicos de Almacenamiento Virtual
Organización del Almacenamiento de Niveles Múltiples
Transformación de Bloques
Conceptos Básicos de Paginación
Traducción de Direcciones de Paginación por Transformación
Directa
Traducción de Direcciones de Paginación por Transformación
Asociativa
Traducción de Direcciones de Paginación por Combinación
de Transformación Asociativa / Directa
Compartimiento de Recursos en un Sistema de Paginación
Segmentación
Control de Acceso en Sistemas de Segmentación
Traducción de Direcciones de Segmentación por Transformación
Directa
Compartimiento en un Sistema de Segmentación
Sistemas de Paginación / Segmentación
Traducción Dinámica de Direcciones en Sistemas de Paginación
/ Segmentación
Compartimiento en un Sistema de Paginación / Segmentación
Estrategias de Administración del Almacenamiento Virtual
Estrategias de Reposición de Página
El Principio de Optimización
Reposición de Página al Azar
Reposición de Página por el Sistema de Primero en Entrar
- Primero en Salir (FIFO)
Reposición de Página Menos - Recientemente - Usada (LRU)
Reposición de Página Menos - Frecuentemente - Usada (LFU)
Reposición de Página No Usada - Recientemente (NUR)
Localidad
Conjuntos de Trabajo
Paginación por Demanda y Paginación Anticipada
Paginación por Demanda
Paginación Anticipada
Liberación de Página y Tamaño de Página
Liberación de Página
Tamaño de Página
Comportamiento de un Programa en la Paginación
Sistemas de Archivos
Introducción
Funciones del Sistema de Archivos
El Sistema de Archivos
Archivos
Nombre de los Archivos
Estructura de un Archivo
Tipos de Archivos
Acceso a un Archivo
Atributos de Archivo
Operaciones con Archivos
Archivos Mapeados a Memoria
Directorios
Sistemas Jerárquicos de Directorios
Nombre de las Rutas de Acceso
Operaciones con Directorios
Implantación del Sistema de Archivos y sus Relaciones con la Asignación
y Liberación de Espacio
Implantación de Archivos
Implantación de Directorios
Archivos Compartidos
Administración del Espacio en Disco
Confiabilidad del Sistema de Archivos
Desempeño del Sistema de Archivos
Descriptor de Archivos
Seguridad
El Ambiente de Seguridad
Virus
Principios del Diseño Para la Seguridad
Autentificación del Usuario
Contraseñas
Identificación Física
Medidas Preventivas
Mecanismos de Protección
Dominios de Protección
Listas Para Control de Acceso
Posibilidades
Modelos de Protección
Control de Acceso Por Clases de Usuarios
Respaldo y Recuperación
Entrada / Salida
Introducción
Principios del Hardware de E / S
Dispositivos de E / S
Controladores de Dispositivos
Acceso Directo a Memoria (DMA)
Principios del Software de E / S
Objetivos del Software de E / S
Manejadores de Interrupciones
Manejadores de Dispositivos
Software de E / S Independiente del Dispositivo
Software de E / S en el Espacio del Usuario
Discos - Hardware Para Discos
Discos
Hardware Para Discos
Operación de Almacenamiento de Disco de Cabeza Móvil
Algoritmos de Programación del Brazo del Disco
Porqué es Necesaria la Planificación de Discos
Características Deseables de las Políticas de Planificación
de Discos
Optimización de la Búsqueda en Discos
Planificación FCFS (Primero en Llegar, Primero en Ser Servido)
Planificación SSTF (Menor Tiempo de Búsqueda Primero)
Planificación SCAN
Planificación SCAN de N - Pasos
Planificación C - SCAN (Búsqueda Circular)
Esquema Eschenbach
Conclusiones
Optimización Rotacional en Discos
Consideraciones de los Discos Sobre los Sistemas
Manejo de Errores en Discos
Ocultamiento de Una Pista a la Vez en Discos
Discos en RAM
Relojes
Terminales
Bloqueos
Introducción y Ejemplos de Bloqueo (o Interbloqueo)
Conceptos de Recursos
Bloqueos y Condiciones Necesarias Para el Bloqueo
Modelación de Bloqueos
Areas Principales en la Investigación de Bloqueos
El Algoritmo del Avestruz o de Ostrich
Detección de Bloqueos
Gráficas de Asignación de Recursos
Reducción de Gráficas de Asignación de Recursos
Detección de Bloqueos de Forma “Un Recurso de Cada Tipo”
Detección de Bloqueos de Forma “Varios Recursos de Cada Tipo”
Cuándo Buscar los Bloqueos
Recuperación de Bloqueos
Recuperación Mediante la Apropiación
Recuperación Mediante Rollback
Recuperación Mediante la Eliminación de Procesos
Evasión de Bloqueos
Trayectorias de Recursos
Estados Seguros e Inseguros
El Algoritmo del Banquero (de Dijkstra) Para Solo Un Recurso
El Algoritmo del Banquero (de Dijkstra) Para Varios Recursos
Asignación de Recursos por el Algoritmo del Banquero
Debilidades del Algoritmo del Banquero
Prevención de Bloqueos
Prevención de la Condición de Exclusión Mutua
Prevención de la Condición “detenerse y esperar” o “espera
por”
Prevención de la Condición de “no apropiación”
Prevención de la Condición de “espera circular”
Otros Aspectos
Cerradura de Dos Fases
Bloqueos Sin Recursos
Inanición
Tendencias del Tratamiento del Bloqueo
Sistemas Operativos Distribuidos
Introducción a los Sistemas Distribuidos
Introducción a los Sistemas Distribuidos
Ventajas de los Sistemas Distribuidos con Respecto a los Centralizados
Ventajas de los Sistemas Distribuidos con Respecto a las PC Independientes
Desventajas de los Sistemas Distribuidos
Conceptos de Hardware
Multiprocesadores con Base en Buses
Multiprocesadores con Conmutador
Multicomputadoras con Base en Buses
Multicomputadoras con Conmutador
Conceptos de Software
Sistemas Operativos de Redes
NFS: Network File System
Sistemas Realmente Distribuidos
Sistemas de Multiprocesador con Tiempo Compartido
Aspectos del Diseño
Transparencia
Flexibilidad
Confiabilidad
Desempeño
Escalabilidad
Comunicación en los Sistemas
Distribuidos
Introducción a la Comunicación en los Sistemas Distribuidos
Protocolos con Capas
Introducción al Modelo Cliente - Servidor (C - S)
Direccionamiento en C - S
Primitivas de Bloqueo Vs. No Bloqueo en C - S
Primitivas Almacenadas en Buffer Vs. No Almacenadas en C - S
Primitivas Confiables Vs. No Confiables en C - S
Implantación del Modelo C - S
Llamada a un Procedimiento Remoto (RPC)
Operación Básica de RPC
Transferencia de Parámetros en RPC
Conexión Dinámica (Dynamic Binding) en RPC
Semántica de RPC en Presencia de Fallos
El Cliente No Puede Localizar al Servidor
Pérdida de Mensajes de Solicitud
Pérdida de Mensajes de Respuesta
Fallos del Servidor
Fallos del Cliente
Aspectos de la Implantación en RPC
Protocolos RPC
Reconocimientos
Ruta Crítica
Copiado
Manejo del Cronómetro
Areas de Problemas en RPC
Comunicación en Grupo
Aspectos del Diseño de la Comunicación en Grupo
Grupos Cerrados Vs. Grupos Abiertos
Grupos de Compañeros Vs. Grupos Jerárquicos
Membresía del Grupo
Direccionamiento al Grupo
Primitivas Send y Receive
Atomicidad
Ordenamiento de Mensajes
Grupos Traslapados
Escalabilidad
Sincronización en Sistemas Distribuidos
Introducción a la Sincronización en Sistemas Distribuidos
Sincronización de Relojes
Relojes Lógicos
Relojes Físicos
Algoritmos Para la Sincronización de Relojes
Algoritmo de Cristian
Algoritmo de Berkeley
Algoritmos con Promedio
Varias Fuentes Externas de Tiempo
Exclusión Mutua
Un Algoritmo Centralizado
Un Algoritmo Distribuido
Un Algoritmo de Anillo de Fichas (Token Ring)
Algoritmos de Elección
El Algoritmo del Grandulón o de García-Molina
Un Algoritmo de Anillo
Transacciones Atómicas
El Modelo de Transacción
Almacenamiento Estable
Primitivas de Transacción
Propiedades de las Transacciones
Transacciones Anidadas
Implantación del Modelo de Transacción
Espacio de Trabajo Particular
Bitácora de Escritura Anticipada
Protocolo de Compromiso de Dos Fases (Two - Phase Commit)
Control de Concurrencia en el Modelo de Transacción
Cerradura (locking)
Control Optimista de la Concurrencia
Marcas de Tiempo
Resumen
Bloqueos en Sistemas Distribuidos
Detección Distribuida de Bloqueos
Detección Centralizada de Bloqueos
Detección Distribuida de Bloqueos
Prevención Distribuida de Bloqueos
Procesos y Procesadores en Sistemas
Distribuidos
Introducción a los Hilos (Threads)
Uso de Hilos
Aspectos del Diseño de un Paquete de Hilos
Implantación de un Paquete de Hilos
Hilos y RPC
Modelos de Sistemas
El Modelo de Estación de Trabajo
Uso de Estaciones de Trabajo Inactivas
El Modelo de la Pila de Procesadores
Asignación de Procesadores
Modelos de Asignación
Aspectos del Diseño de Algoritmos de Asignación de Procesadores
Aspectos de la Implantación de Algoritmos de Asignación de
Procesadores
Ejemplos de Algoritmos de Asignación de Procesadores
Un Algoritmo Determinista Según la Teoría de Gráficas
Un Algoritmo Centralizado
Un Algoritmo Jerárquico
Un Algoritmo Distribuido Heurístico (Eager)
Un Algoritmo de Remates
Planificación en Sistemas Distribuidos
Sistemas Distribuidos de Archivos
Introducción a los Sistemas Distribuidos de Archivos
Diseño de los Sistemas Distribuidos de Archivos
La Interfaz del Servicio de Archivos
La Interfaz del Servidor de Directorios
Transparencia de los Nombres
Semántica de los Archivos Compartidos
Implantación de un Sistema Distribuido de Archivos
Uso de Archivos
Estructura del Sistema
Ocultamiento
Consistencia del Caché
Réplica
Protocolos de Actualización
Conclusiones Importantes Respecto de la Implantación de un Sistema
Distribuido de Archivos
Tendencias en los Sistemas Distribuidos de Archivos
Consideraciones Respecto del Hardware
Escalabilidad
Redes en un Área Amplia
Usuarios Móviles
Tolerancia de Fallos
Rendimiento
Introducción a la Medición, Control y Evaluación del
Rendimiento
Tendencias Importantes que Afectan a los Aspectos del Rendimiento
Necesidad del Control y de la Evaluación del Rendimiento
Mediciones del Rendimiento
Técnicas de Evaluación del Rendimiento
Embotellamientos y Saturación
Ciclos de Retroalimentación
Modelado Analítico en Relación
al Rendimiento
Introducción al Modelado Analítico y Teoría de Colas
Fuente, Llegadas y Llegadas de Poisson
Tiempos de Servicio, Capacidad de la Cola y Número de Servidores
en el Sistema
Disciplinas de Colas
Intensidad de Tráfico y Utilización del Servidor
Estado Estable en Función de Soluciones Transitorias
Resultado de Little
Resumen del Proceso de Poisson
Análisis de un Sistema de Colas M/M/1
Análisis de un Sistema de Colas M/M/c
Procesos de Markov
Procesos de Nacimiento y Muerte
Análisis del Rendimiento de un Subsistema de Disco
Seguridad de los Sistemas Operativos
Introducción a la Seguridad de los Sistemas Operativos
Requisitos de Seguridad
Un Tratamiento Total de la Seguridad
Seguridad Externa y Seguridad Operacional
Seguridad Externa
Seguridad Operacional
Vigilancia, Verificación de Amenazas y Amplificación
Vigilancia
Verificación de Amenazas
Amplificación
Protección por Contraseña
Auditoría y Controles de Acceso
Auditoría
Controles de Acceso
Núcleos de Seguridad y Seguridad por Hardware
Núcleos de Seguridad
Seguridad por Hardware
Sistemas Supervivientes
Capacidades y Sistemas Orientados Hacia el Objeto
Criptografía
Penetración al Sistema Operativo
Principales Fallos Genéricos Funcionales de los Sistemas
Ataques Genéricos a Sistemas Operativos
Planificación del Procesador
con P.O.O.
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción de los Algoritmos Utilizados
Programa Desarrollado
Datos y Ejecuciones
Resultados y Conclusiones
Paginación de Memoria Virtual
con S. E.
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción del Software Utilizado
Descripción del Ejercicio Efectuado
Programas Desarrollados y Datos y Ejecuciones
Resultados y Conclusiones
Subsistema de Disco de Una Petición
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción del Algoritmo Utilizado
Programa Desarrollado
Datos y Ejecuciones
Resultados y Conclusiones
Subsistema de Disco de Varias Peticiones
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción del Algoritmo Utilizado
Programa Desarrollado
Datos y Ejecuciones
Resultados y Conclusiones
Búsqueda en Disco con Redes
Neuronales
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción de los Algoritmos Utilizados
Programa Desarrollado
Datos y Ejecuciones
Descripción del software de RNA Utilizado
Breve Introducción a las RNA
Herramienta Nndt
Herramienta Nnmodel
Herramienta Qnet
Resultados y Conclusiones
Concurrencia e Hilos con Java
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción de los Algoritmos Utilizados
Programa Desarrollado
Datos y Ejecuciones
Resultados y Conclusiones
Anomalía de Belady con Matlab
Introducción
Objetivo del Caso de Estudio
Descripción del Problema Planteado
Descripción del Algoritmo Utilizado
Programa Desarrollado
Datos y Ejecuciones
Resultados y Conclusiones
Bibliografía
Para mayor
información, seleccione una opción:
Número de visitas efectuadas desde el 17/12/2001:
Estadísticas diarias desde el 10/07/2002:
Número de visitantes actuales disponible desde el 14/07/2002:
Si desea contactarse telefónicamente hágalo a los números
03783-423126
internos 121 ó 124 del Departamento de Informática
de la Facultad.
Si desea enviar un correo electrónico, puede hacerlo a la cuenta
lrmdavid@exa.unne.edu.ar .
Autor:
lrmdavid@exa.unne.edu.ar
Ó
FACENA - http://exa.unne.edu.ar
Servicios
WEB: webmaster@exa.unne.edu.ar