¿Qué es un Sistema Operativo?
Un Sistema Operativo (S.O.) es una colección organizada de extensiones de software del hardware. Consiste en rutinas de control que hacen funcionar un computador y proporcionan un entorno para la ejecución de programas.
Internamente, actúa como gestor de recursos del sistema informático (CPU, memoria, archivos, dispositivos de entrada/salida).
Procesamiento de Carga
El Sistema Operativo procesa su carga de forma serie o concurrente.
Procesamiento por Lotes
El procesamiento por lotes automatiza la secuencia de operaciones en la ejecución de un programa.
Lenguaje de Control de Trabajos (JCL)
El JCL (Job Control Language) es un lenguaje con el que se escriben las órdenes del sistema. Permite indicar:
- Comienzo y fin de un trabajo.
- Orden para cargar y ejecutar un programa.
- Anunciar la necesidad de recursos.
- Requisitos de memoria.
Multiprogramación
La multiprogramación permite la ejecución de dos o más procesos al mismo tiempo, compitiendo por los recursos de un sistema informático.
Aspectos a tomar en cuenta para la clasificación de los Sistemas Operativos:
- Planificación del procesador.
- Gestión de memoria.
- Gestión de entrada/salida.
- Gestión de archivos.
Tipos de Sistemas Operativos
Sistemas Operativos de Lotes
Un Sistema Operativo de Lotes precisa que el programa, los datos y las órdenes sean enviados juntos en forma de trabajo.
Características:
- Utiliza planificación FIFO (First In, First Out).
- Memoria dividida en dos áreas.
- No requiere gestión de entrada/salida.
- Acceso a archivos en serie.
- Requiere poca protección y ningún control de concurrencia.
Sistemas Operativos de Multiprogramación
En un Sistema Operativo de Multiprogramación, un proceso o tarea es la instancia de un programa en ejecución. La multitarea es la ejecución de dos o más procesos activos. La multiprogramación es el soporte de la multitarea. El multiacceso permite el acceso simultáneo a un sistema desde dos o más terminales. El multiprocesamiento gestiona la operación de sistemas que incorporan varios procesadores. Se caracterizan por una multitud de programas activos que compiten por los recursos de un sistema.
Sistemas Operativos de Tiempo Compartido
El objetivo de un Sistema Operativo de Tiempo Compartido es proporcionar un buen tiempo de respuesta. Dan la ilusión a los usuarios de que disponen de una máquina para ellos, logrando compartir los recursos de forma equitativa. Utilizan una planificación por reparto, ejecutando los programas con prioridad rotativa que se incrementa en la espera y disminuye cuando se ejecuta. La gestión de memoria proporciona aislamiento y protección a los programas. La gestión de entrada/salida debe ser sofisticada para tratar con múltiples usuarios y dispositivos. La gestión de archivos debe proteger y controlar el acceso.
Sistemas Operativos de Tiempo Real
El objetivo de un Sistema Operativo de Tiempo Real es un rápido tiempo de respuesta a sucesos. La planificación del procesador se basa en niveles de prioridad. La gestión de memoria reside en memoria permanente para mayor rapidez. La gestión de dispositivos proporciona llamadas para permitir a los procesos conectarse con vectores de interrupción y prestar servicio a los sucesos directamente. La gestión de archivos prioriza la velocidad antes que el almacenamiento.
Sistemas Operativos Combinados
Un Sistema Operativo Combinado es una combinación de los servicios de los sistemas operativos mencionados anteriormente.
Sistemas Operativos Distribuidos
Un Sistema Operativo Distribuido es una colección de sistemas informáticos autónomos capaces de comunicación y cooperación mediante interconexiones hardware y software. El objetivo principal es la transparencia.
Gestión de Dispositivos de Entrada/Salida (E/S)
El módulo de gestión de dispositivos de E/S se encarga de atender los requisitos individuales de los dispositivos de E/S, ocupándose de que funcionen eficiente y fiablemente, actuando como interfaz entre los programadores y los dispositivos de E/S.
Problemas de la Gestión de E/S
- Operación Asíncrona: Los dispositivos de E/S no presentan relación con el reloj del procesador, porque los datos y tiempos de transferencias son impredecibles. El handshaking son señales de control especiales que incluye el hardware de la sección de E/S, que habilitan al procesador y a los dispositivos para que se comuniquen sus estados, intenciones y disponibilidad de datos.
- Diferencia de Velocidad: Se da debido a la diferencia entre las velocidades de los dispositivos de E/S y el ancho de banda entre el procesador y la memoria. Suele arreglarse incorporando buffers en los dispositivos de E/S para suavizar la diferencia de velocidad.
Interfaces de E/S
Las interfaces de E/S son intermediarios entre el sistema y los dispositivos de E/S. Su propósito es superar las incompatibilidades de velocidad y de señalización de niveles entre el procesador y los periféricos.
Bus del Sistema
El bus del sistema sirve como medio de comunicación para el intercambio de direcciones, datos y pulsos de control entre tarjetas.
Capas de un Controlador de E/S
- Interfaz de bus.
- Controlador genérico del dispositivo.
- Interfaz del dispositivo.
El controlador genérico del dispositivo hace que cada dispositivo aparezca como un conjunto de registros dedicados, de los cuales, leyendo o escribiendo en ellos, recibimos información como el estado, emisión de órdenes y transferencia de datos del dispositivo.
Puerto de E/S
Un puerto de E/S es el conjunto de los registros dedicados.
Entrada se refiere a las transferencias de datos de un dispositivo al procesador. Salida es lo opuesto.
Estructura del Puerto de E/S
Un puerto de E/S se compone de cuatro tipos de registros:
- Buffer de entrada: Guarda un dato hasta que el procesador esté preparado para aceptarlo.
- Buffer de salida: Guarda los datos de salida que envía el procesador para que los dispositivos externos los lean.
- Registro de órdenes: Transfiere órdenes entre el procesador y el dispositivo. Se divide en dos:
- De asignación de modo: Selecciona el modo de operación (emisor o receptor).
- Operacionales: Desencadenan acciones de control como lectura y escritura.
- Registro de estado: Proporciona información al procesador con respecto al estado del dispositivo de E/S.
Independientemente del sentido de la transferencia, el procesador controla la operación de E/S.
USART (Universal Synchronous Asynchronous Receiver Transmitter)
Un USART es un dispositivo que se usa para realizar enlaces de comunicación serie. Transfiere en modo asíncrono y síncrono. Soporta transmisión de datos bidireccionales (full duplex).
Cada carácter es de 5 u 8 bits, más 1 bit inicial y 1 o 2 de parada. Se inicializan los USART en ambos extremos con la misma configuración de velocidad. El emisor efectúa la conversión paralelo-serie y emite los bits por la línea de comunicación. La duración del bit la determina la velocidad configurada. También se emiten bits de inicio y parada para que se sincronicen y se detecten errores por el receptor. Este se desprende de ellos y solo pasa al procesador los bits de datos cuando los convierte de serie a paralelo.
Puede verificar la integridad de los datos recibidos por el bit de paridad. Se calcula en función de la cantidad de 1 en los bits de datos y el modo de paridad seleccionado. El receptor calcula su propio valor, lo compara con el recibido y, si hay diferencias, indica error en la transmisión.