5. Clasificación de los Sistemas Operativos

Transcripción

5. Clasificación de los Sistemas Operativos
ISI – Sistemas Operativos – Resumen Capitulo 5
5. Clasificación de los Sistemas Operativos
• Según el Hardware Subyacente:
„ Gran Equipo: uso intensivo, gran administración, autogestión, varias formas de acceso,
multipropósito,
„ Pequeño Equipo: uso menos intensivo, administración sencilla, tendencia a un tipo de uso
y acceso
• Según el Método Primario de Acceso:
„ Sistemas Conversacionales
„ Sistemas de Tiempo Real
„ Sistemas de Procesamiento en Lotes
• Según las Características del Usuario:
„ Sists de Programación
„ Computadoras Personales (PC)
„ Sistemas de Consultas
• Según la sofisticación de las funciones particulares: ∃ una relación entre esto y el tamaño
de la máquina, por ejemplo: un Sistema de multiprogramación básica sugiere que el
hardware subyacente no es suficientemente avanzado para se convenientemente explotado
con técnicas avanzadas de administración dinámica.
• Clasificación Tradicional:
„ SO DE TIEMPO REAL:
Sus características son:
1. La actividad de procesamiento es disparada por eventos aleatorios externos.
2. Las actividades de procesamiento deben ser completadas dentro de un estrecho
margen de tiempo.
3. La utilización del hardware es menos importante que la capacidad de respuesta al
medio, aún en momentos de carga máxima.
4. Suele usarse como dispositivo de control en una aplicación dedicada.
5. No hay almacenamiento secundario, los datos se almacenan en memoria o en ROM.
6. Planificación expropiativa basada en prioridades. Los procesos de mayor prioridad
expropian la ejecución de procesos de prioridad inferior.
7. La conveniencia del usuario es una preocupación secundaria
8. Proporcionar formas sofisticadas de gestión de interrupciones y de almacenamiento
de E/S; llamadas al sistema.
9. Mínima intervención humana (modificación de parámetros, violación de limites,
desperfectos)
10. El recurso crítico puede ser la CPU o los canales.
11. Pueden tener memoria virtual pero casi nunca se aplica
12. Es conveniente para estos sistemas la asignación estática ya que son más veloces.
13. Están desarrollados para atender la ocurrencia de determinados eventos.
14. Relativa pobreza de los algoritmos de administración de recursos.
Se subclasifican en:
• Adquisición de datos: datos adquiridos y almacenados en tiempo real para un uso
posterior
• De control a lazo abierto: el sistema toma los datos del proceso externo, los procesa
y los muestra a un operador quien toma las decisiones.
• De control a lazo cerrado: el sistema adquiere los datos y toma las decisiones (sin
intervención humana).
Atributos de un computador que lo hacen un buen procesador en tiempo real:
ISI – Sistemas Operativos – Resumen Capitulo 5
1. Diseño del manejo y análisis de las interrupciones (ya que deben responder a las
interrupciones externas rápidamente)
2. Diseño de mecanismos de conmutación de tareas (ya que deben disparar procesos
muy rápidamente)
3. Flexibilidad de sus mecanismos para determinar intervalos de tiempo y la hora real
(ya que se necesita mucha precisión).
Uso de múltiples procesadores en Tiempo real: se divide el hard en dos, dedicando una
computadora con características adecuadas a manejar el proceso externo en tiempo real
(front-end procesor) y otro sin dichas características a los procesos de cálculos y
almacenamientos. La multiplicidad se usa p’ lograr > confiabilidad y/o p’ distribuir
funciones.
Software:
1. Estructura “Event-Driven” o “Queve-Driven”, es decir el sistema selecciona a los
programas como resultado de una señal externa de determinada características.
2. Corazón es el”Queve-Manager” que cumple con las funciones del monitor, o sea
recibe o solicita las señales del proceso externo, las analiza y hace ejecutar un
programa que procesa esa señal. La aplicación tiene el control del equipo, se
desprende de la CPU al finalizar su ejecución o después del tiempo fijado por el
Queve-Manager.
3. Simples mecanismos de conmutación de la CPU.
4. No se intenta balancear el consumo de los recursos.
5. Los programas de aplicación comparten la responsabilidad de la integridad.
6. La programación y el desarrollo del sistema separados de la fase operacional del
mismo se utilizan Cross-Compiler o Cross-Assember (programas que ejecutados en
una máquina generan código para otra). Una generalización de estos programas es el
Meta-Assembler que puede generar códigos para cualquier arquitectura que le sea
previamente descripta.
7. Información en línea. Todos los programas (o la gran mayoría en memoria)
Observación: El mantenimiento de estados de control y del concepto de instrucciones
privilegiadas representa una sobrecarga al sistema. Se resigna un buen control para obtener
mayor velocidad.
„ PROCESAMIENTO BATCH:
1. Ejecutan bloques de demandas sin relación entre sí.
2. Permite la separación de las tareas de programación y operación debido a que permite al
programador desarrollar su programa, enviar el “lote de tarjetas” y juntarse con los
resultados después de un tiempo (TAT=turn-around-time) el cual debe ser lo mas corto
posible.
Objetivos:
1. Aumentar la productividad del programador (lo libera de tiempos de espera frente a al
máquina y le permite organizar su trabajo durante el TAT).
2. Aumentar la productividad del equipo (troughtput), disminuyendo el tiempo de
transición entre trabajos.
3. Aumentar la eficiencia del programador.
„ SERIE SIMPLE:
El sistema atiende los trabajos en la secuencia en que se presentaban para su ejecución,
por lo tanto el “ordenamiento” se hace a mano.
Los conceptos que introdujo fueron:
1. Control Stream
ISI – Sistemas Operativos – Resumen Capitulo 5
2.
3.
4.
5.
Soporte de E/S
Reubicación de programas
Independencia de periféricos
Encapsulamiento de la máquina por medio de su SO y el paquete de software.
Fortran Monitor System (FMS):
1. Sólo admite lenguaje Fortran.
2. Compilaciones y ejecuciones consecutivas.
3. Aceptaba directivas sofisticadas de “depuración”(debugging) y permitía realizar
vuelcos.
4. Programa en ejecución tenia completo control del hard. No existen estado de control
(modo monitor) y operaciones privilegiadas. Tampoco funciones del monitor
residente.
5. Asignaciones de dispositivos de E/S mantenidas en una tabla por el compilador, para
cambiar las asignaciones era necesario usar el editor.
6. Compilación absoluta
7. Dispositivos comunes para los Job Stream
8. Cintas comunes a todos los trabajos (simplificando el tiempo de montaje)
IBSYS - IBJOB:
1. Admite lenguajes Fortran, Cobol y Map(Macro Assembly Program).
2. Introdujo funciones del monitor residente para soporte de E/S.
3. Tablas de asignaciones de periféricos manipuladas por el operador mediante tarjetas
de control del IBSYS (paso importante hacia la independencia de dispositivos)
4. Asignación estática de memoria y periféricos y al mismo tiempo.
5. Compilación relativa
6. Programas linkeditados
IBSYS es residente y contiene:
• Funciones residentes para soporte de E/S (o sea que maneja las E/S)
• Posibilidad de almacenamiento
• Interfase para el IBJOB
IBJOB contenía:
• Intérprete de sentencias de control que permitía seleccionar el compilador.
• Cargador responsable de la asignación de dispositivos del programa, de la carga
y de subrutinas del sistema solicitadas por el programa.
• Biblioteca de rutinas de control de operaciones de E/S (IOCS=Input Output
Control System).
MULTIPROGRAMACION BATCH:
Fue importante la aparición de los discos rígidos ya que presentaron 4 posibilidades fundamentales:
• Mayor variedad de dispositivos de almacenamiento masivo.
• Capacidad de memoria auxiliar On-Line y la necesidad de organizarla y administrarla
para una utilización eficiente.
• Posibilidad de direccionamiento directo en la memoria auxiliar.
• Aparición de una cola interna de trabajos ⇒ Permitió que el job stream fuera
internalizado de manera que las funciones de ordenamiento pasen a formar parte del
SO (en serie simple se hacía a mano). Esta cola se hace accesible a un ordenador
(Scheduler) que puede buscar el trabajo en espera que tenga mayor prioridad o el que
más convenga.
Facilidades brindadas por este nuevo hardware:
• Aparición y/o mejoramiento de conceptos de interrupción.
• Instrucciones privilegiadas.
• Mecanismos de protección.
ISI – Sistemas Operativos – Resumen Capitulo 5
MULTIPROGRAMACION BASICA
Características:
1. Planificación Off-Line
2. Administración rígida de memoria con particiones fijas o redefinidas por el
operador.(asignación estática). La memoria es el recurso crítico.
3. Gestión de conmutación de la CPU con mínimo esfuerzo por balancear el uso de los
recursos, o sea que la administración de la CPU es “simple”
4. Asignación estática de archivos y periféricos (válidos durante toda la vida activa del
programa).
5. Las primeras versiones permitían la ejecución concurrente de un predeterminado número
fijo de procesos que compartían el sistema en un rígido medio de asignación de recursos. La
memoria estaba divida en particiones en el momento de la instalación. Los compiladores y
ensambladores traducían los proceso para ser ejecutados en una partición determinada
(compilación absoluta). Definían múltiples máquinas independientes (una en cada partición)
que eran atendidas independientemente, compartiendo periféricos y el uso de la CPU, las
colas de trabajo eran creadas para cada partición (si la compilación es relativa existe una
única cola) y las funciones de ordenamiento se corrían en forma independiente de cada
partición. Presentaban inconvenientes por la prepartición de memoria, ya que tiende a
producir una considerable subutilización de la memoria debido a que se generan programas
más pequeños que el tamaño de las particiones, y como se preasignan los programas a
determinadas particiones, puede darse el caso de que un programa esté esperando a la cola
para el cual fue asignado mientras puede haber otras inactivas por falta de carga; además
aumentan los costos de programación y disminuye la productividad de los programadores
que tiene como efectos nocivos la distorsión en la estructura del programa ya que la
distribución de funciones, en lugar de hacerse acorde a la lógica, se hace en función del
tamaño de las particiones.
El lenguaje de Control de Job (JCL) provee un soporte mínimo del concepto de independencia
de dispositivos. A medida que el hardware se fue expandiendo, pudieron verse los siguientes
avances:
1. Posibilidad de redefinir la partición desde la consola del operador.
2. Ensamblado y compilación de programas reasignables (permitiendo la ejecución de un
programa en cualquier partición de tamaño adecuado)
3. Asignación simbólica de dispositivos a través de sentencias de control.
4. Mecanismos de soportes avanzados con facilidades para centralizar el Spooling.
Recurso crítico (o límite): Es el recurso más usado. Aquel que debido a su uso intensivo está
saturado siendo que hay capacidad ociosa de los demás recursos.
MULTIPROGRAMACIÓN AVANZADA:
La principal diferencia entre multiprogramación básica y avanzada, está dada por el grado en
que los SOs administran los recursos del sistema.
1. Son sistemas desarrollados como soporte de grandes máquinas a ser usadas en ámbitos
donde la carga de trabajo es impredecible y diversa.
2. Se desarrollan para atender tanto el desarrollo de programación, como el procesamiento.
3. Proveen grandes posibilidades de administración de recursos
4. Brindan importantes funciones que amplían las posibilidades de programación.
5. Proveen además un lenguaje de control considerablemente expandido en cuanto a su poder
expresivo.
6. Cierto grado de administración dinámica de la memoria (adquisición y liberación dinámica
de memoria).
7. Cierta posibilidad de compartir códigos, diseñando áreas especiales para la residencia en
memoria de determinadas rutinas de control.
8. Elaboración de los sistemas de bibliotecas con administración, acceso y actualización de
archivos On-line.
9. Desarrolladas estructuras de envíos de trabajos (job-submission).
ISI – Sistemas Operativos – Resumen Capitulo 5
10. Dependencia de la gestión del operador, este tiene capacidad para determinar el nivel de
multiprogramación, cambiar prioridades, cancelar trabajos y colocar trabajos en las colas de
espera, aunque actualmente la tendencia es disminuir la intervención del operador.
11. Técnicas más elaboradas de los mecanismos de administración de la CPU.
12. Planificación On-Line (la maneja el SO)
13. Extienden su memoria física menor por medio de su memoria virtual, conservando con una
mínima perturbación la estructura e interfaces de los sistemas anteriores.
TIEMPO COMPARTIDO:
La intención principal es distribuir la capacidad de procesamiento entre un conjunto de usuarios
asociados c/u a una terminal de E/S, brindando a c/u la imagen de tener una computadora
“dedicada” p’ soportar sus demandas de servicios.
1. Los usuarios pueden interactuar con cada programa mientras se ejecuta. Ofrece
comunicación en línea entre el usuario y el sistema.
2. Sistema de archivos en línea
3. Los trabajos suelen estar formados por varias acciones breves, con resultados impredecibles.
Tiempo de respuesta breve.
4. Usa la planificación de la CPU y la multiprogramación para dar a cada usuario, que tiene su
programa en memoria, una pequeña porción de la computadora.
5. Como el sistema pasa rápidamente de un usuario al siguiente cada uno tiene la sensación de
que cuenta con su propia computadora.
6. Requiere: administración de memoria, protección y administración de CPU, administración
de disco.
7. Los objetivos principales son brindar un servicio efectivo en cuanto a la disponibilidad y
una respuesta eficiente a los requerimientos por lo que la efectiva utilización del hardware
puede verse afectada.
Los sistemas de tiempo compartido pueden ser:
Sistemas Orientados al Desarrollo de programas: Deben incluir:
1. Un conjunto de comandos para la activación, testeo y modificación de programas.
2. Sistema de administración de archivos con mecanismos de protección, facilidades para
compartirlos y mantenimiento de objetos (programas, datos, stream de control, etc.).
3. Uno o más lenguajes de programación.
4. Una interface para procesamiento que puede superponerse con el lenguaje de comandos.
5. Estos sistemas no necesariamente deben estar asociados a un sistema de tiempo compartido.
Sists Orientados al Procesamiento de transacciones:
1. No son sistemas de tiempo compartido en el estricto sentido de la palabra: en un sistema de
procesamiento de transacciones es común que se permita procesar la transacción hasta su
finalización, o por un período de tiempo determinado. Si el procesamiento no se completa
en ese período, la transacción se aborta (en lugar de suspenderla como en tiempo
compartido).
2. Se asemejan a los de tiempo real por estar diseñados para atender a eventos y en la relativa
pobreza de sus algoritmos
3. El proceso de ejecución es relativamente sencillo y consiste en recibir y analizar un mensaje
proveniente de una terminal, transferir dicho mensaje a un programa que lo procesa, algunas
referencias a bases de datos en línea para preparar la información necesaria para responder
el mensaje y direccionar la respuesta hacia la terminal.
4. Características que los diferencian de los sistemas de multiprogramación en lotes:
1. Manejo de bases de datos integradas con un sistema sencillo de acceso.
2. Facilidad de telecomunicaciones como parte integrante del SO.
3. El sistema de base no provee lenguaje de control ni facilidades para el desarrollo de
programas.
4. El principal constituyente del SO, es un programa de ejecución cerrada (loop).
5. Ámbito de procesamiento simple.
ISI – Sistemas Operativos – Resumen Capitulo 5
6. La asignación de memoria es realizada de acuerdo a demandas en bloques de memoria
de tamaño fijo.
SO MULTIPROPÓSITOS:
El operador como lo hace funcionar estableciendo parámetros previamente
Características:
1. Administración dinámica de recursos
2. Soporte de memoria virtual
3. Permiten distintas formas de acceso.
PROCESAMIENTO DISTRIBUIDO:
1. Constituido por varios procesadores (nodos), c/u con funciones particulares que combinadas
brindan la totalidad del sistema.
2. Los SOs y el hardware de c/nodo, no necesariamente deben ser iguales (en cuanto a tamaño
y/o fabricante).
3. Su procesamiento se puede aplicar tanto al procesamiento de transacciones como a los
sistemas de procesamiento en lotes.
4. Se desea independizar a las aplicaciones de la ubicación física de los datos y de los
programas
Estos procesos corren sobre un Sistema Distribuido montado en una Red de
Procesamiento.
SISTEMAS DISTRIBUIDOS:
1. Es una colección de sist. informáticos autónomos capaces de comunicación y cooperación
mediante hard y software.
2. Proporciona una abstracción de máquina virtual a los usuarios.
3. Pueden ser:
- Sistema fuertemente acoplado: comparten la memoria y un reloj (ideal para
procesamiento distribuido)
- Sistema débilmente acoplado: no comparten ni memoria ni reloj, se comunican a través
de ≠ líneas de comunicación (a éstos se los conoce como sistemas distribuidos)
4. Ventajas:
- Compartimiento de recursos
- Aceleración de los cálculos
- Confiabilidad
- Comunicación
SISTEMAS MONOUSUARIOS:
1. Carecen de protección al SO.
2. Los SO no son ni multiusuario ni multitarea.
3. Objetivos: Comodidad y rapidez de respuesta.
Tipos de acceso:
En general, podemos definir:
• En batch: Lenguaje de control = Lenguaje de control
• En On-line: Lenguaje de control = Lenguaje de comandos
Existen distintos tipos de acceso:
1. Acceso organizado por el operador. Forma más antigua de acceso. Se utilizan en
condiciones especiales (creación de un SO). Ordenador humano con periodos fijo de uso. Sin
SO.
2. Acceso local en modo batch. Los trabajos se ejecutan automática y secuencialmente (puede
haber resecuenciamiento). La demanda de servicios se realiza enviando el control stream (se
eliminó la interfase humana). SO de Serie Simple.
ISI – Sistemas Operativos – Resumen Capitulo 5
3. Acceso remoto en modo batch. Actúa por demandas desde terminales fuera del centro de
cómputos utilizando colas de espera . SO de Multiprogramación Básica.
4. Acceso interactivo en modo batch. El usuario realiza requerimientos dinámicamente.
Disponde de lenguaje de manipulación de archivos y bibliotecas, también puede ingresar
sentencias de lenguajes de programación y recibir una validación línea por línea. El usuario
envía el control stream al ámbito de procesamiento y pierde el control sobre el trabajo,
cuando el trabajo está listo, sólo ve los resultados. SO de Multiprogramación Avanzada.
5. Acceso interactivo para programación. Es posible intercalar actos de programación y
ejecución por lo que los programas no necesitan estar completos y las entradas de datos y
ejecución se fusionan. Fueron similares a los anteriores en sus orígenes cuando se requería
que la totalidad de un programa estuviese grabado para su ejecución. SO de Tiempo
Compartido.
6. Acceso a un procesamiento distribuido. Permite a un usuario acceder a procesos o
información de otras computadoras. SO de Procesamiento Distribuido.

Documentos relacionados