Sistemas Operativos
Sistemas Operativos
Sistemas Operativos
A los efectos de situar a los S. O. en el conjunto del software para computadoras, podemos
clasificar a este de la siguiente manera:
Programas de sistema:
Programas de aplicación:
Programas de aplicación:
o Sistema bancario, reservaciones en una línea aérea, juegos,
etc.
Programas de sistema:
Hardware:
o Lenguaje de máquina.
o Microprogramación.
o Dispositivos físicos.
Una de las principales funciones del S. O. es ocultar toda esta complejidad y brindar al
programador un conjunto más conveniente de instrucciones para trabajar.
• Procesadores.
• Almacenamiento.
• Dispositivos de e / s.
• Datos.
Los S. O. son una interfaz con:
• Operadores.
• Programadores de aplicaciones.
• Programadores de sistemas (administradores del S. O.).
• Programas.
• Hardware.
• Usuarios.
o Carencia total de S. O.
o Completo acceso al lenguaje de máquina.
• Primera generación (1945-1955): bulbos y conexiones:
o Carencia de S. O.
o En los años cincuenta comienzan como transición entre trabajos,
haciendo la misma más simple.
• Segunda generación (1955-1965): transistores y sistemas de procesamiento
por lotes (batch):
o Difusión de la multiprogramación:
Partición de la memoria en porciones, con trabajos distintos
en cada una de ellas.
Aprovechamiento del tiempo de espera consecuencia de
operaciones de e / s, para utilizar la CPU para otros procesos.
o Protección por hardware del contenido de cada partición de
memoria.
o Aparición de técnicas de spooling:
Simultaneous Peripheral Operation On Line: operación
simultánea y en línea de periféricos.
Almacenamiento de trabajos de entrada y de salida en
dispositivos transitorios rápidos (discos), para disminuir el
impacto de los periféricos mas lentos.
o Son sistemas de modos múltiples, es decir que deben soportar
sistemas de propósitos generales; son grandes y complejos pero
muy poderosos.
o Interponen una capa de software entre el usuario y el hardware.
o Aparecen los lenguajes de control de trabajos, necesarios para
especificar el trabajo y los recursos requeridos.
o Soportan timesharing (tiempo compartido), variante de la
multiprogramación con usuarios conectados mediante terminales en
línea, permitiendo la operación en modo interactivo o
conversacional.
o Aparecen los sistemas de tiempo real, que requieren tiempos de
respuesta muy exigentes, especialmente para usos industriales o
militares.
o Se difunden las computadoras de rango medio.
• Cuarta generación (1980-1990): computadoras personales:
Procesos:
Archivos:
Sistemas monolíticos:
5 - Operador
4 - Programas del Usuario
3 - Control de Entrada - Salida
2 - Comunicaciones Operador -
Proceso
1 - Administración de la Memoria
y del Disco
0 - Asignación del Procesador y
Multiprogramación
Tabla 1.1: Estructura del S.O.
en capas "THE".
• Capa 0:
o Trabaja con la asignación del procesador.
o Alterna entre los procesos cuando ocurren las
interrupciones o expiran los cronómetros.
o Proporciona la multiprogramación básica.
• Capa 1:
o Administra la memoria.
o Asegura que las páginas (porciones de memoria)
requeridas de los procesos lleguen a memoria cuando
fueran necesarias.
• Capa 2:
o Administra la comunicación entre cada proceso y la
consola del operador.
o Por sobre esta capa, cada proceso tiene su propia
consola de operador.
• Capa 3:
o Controla los dispositivos de e / s y almacena en
buffers los flujos de información entre ellos.
o Por sobre la capa 3 cada proceso puede trabajar con
dispositivos abstractos de e / s en vez de con
dispositivos reales.
• Capa 4:
o Aloja los programas del usuario.
o Los programas. del usuario no tienen que preocuparse
por el proceso, memoria, consola o control de e / s.
• Capa 5:
o Localiza el proceso operador del sistema.
Máquinas virtuales:
• Se ejecuta en el hardware.
• Realiza la multiprogramación.
• Proporciona varias máquinas virtuales a la capa superior.
Algunas funciones del S. O., por ej. el cargado de comandos en los registros
físicos del dispositivo de e / s, presentan problemas especiales y distintas
soluciones:
Tendencias
Hardware
Los principales aspectos del hardware, de importancia para los S. O., son los siguientes:
Registro de relocalización:
Interrupciones y escrutinio:
• Interrupciones: permiten a una unidad obtener la inmediata atención
de otra, de manera que la primera pueda informar de un cambio de
estado:
o Permite salvar el “estado” de la unidad interrumpida antes de
procesar la interrupción.
• Escrutinio: técnica que permite que una unidad verifique el estado de
otra unidad de funcionamiento independiente.
Dispositivos periféricos:
Temporizadores y relojes:
Robo de ciclo:
Almacenamiento virtual:
Multiprocesamiento:
Canalización:
Jerarquía de almacenamiento:
Software
Consiste en los programas de instrucciones y datos que definen para el hardware los
algoritmos necesarios para la resolución de problemas. Los aspectos más destacados en
relación con los S. O. son los siguientes:
“Lenguaje de máquina”:
• Lenguaje de programación que un computador puede
comprender directamente.
• Es “dependiente de la máquina”: un programa en lenguaje
de máquina escrito en el computador de un fabricante,
generalmente no puede ser ejecutado en el de otro, salvo que
su lenguaje de máquina sea compatible.
• Muy poco usado actualmente.
Ensambladores y macroprocesadores:
Los “macroprocesadores”:
Compiladores:
Interpretadores:
Memoria Fija
El “microcódigo vertical ”:
El “microcódigo horizontal ”:
Emulación:
• Es una técnica por medio de la cual se hace que una máquina aparente ser
otra.
• El conjunto de instrucciones de lenguaje de máquina que va a ser emulada
se microprograma en la “máquina anfitriona”.
• Los programas de lenguaje de máquina de la máquina emulada pueden
ejecutarse directamente en la anfitriona.
• Es útil para compatibilidad y migración de sistemas.
Microdiagnósticos:
Los microprogramas tienen más acceso al hardware que los programas de lenguaje
de máquina:
Computadores personalizados:
Asistencias de microcódigo:
• Manejo de interrupciones.
• Mantenimiento de varios tipos de estructuras de datos.
• Primitivas de sincronización que controlan el acceso a los datos
compartidos y otros recursos.
• Operaciones de palabras parciales que permiten que las operaciones
de manipulación de bits sean manejadas en forma eficiente.
• “Intercambio de contexto”, por ej., intercambio rápido del
procesador entre los usuarios de un sistema de usuarios múltiples.
• Secuencias de regreso y llamada al procedimiento.