Portada » Informática » Conceptos Esenciales y Arquitecturas de Sistemas Operativos
Sistema de explotación en el que solo se ejecuta un programa a la vez y no se inicia otro hasta que el anterior haya terminado. Este tipo de ejecución prácticamente ha sido reemplazado por la multiprogramación.
Es la técnica que permite que dos o más programas ocupen la misma unidad de memoria principal y que sean ejecutados al mismo tiempo. Así, por ejemplo, mientras se ejecutan operaciones de entrada y salida (E/S) de un programa, la unidad central de proceso (CPU) puede ocuparse en realizar operaciones distintas pertenecientes a otros programas.
La multiprogramación se refiere a dos o más programas corriendo o procesándose al mismo tiempo. Se controla a través del sistema operativo (SO), el cual observa los programas y los vigila hasta que estén concluidos. El número de programas que pueden multiprogramarse de forma efectiva depende de una combinación de factores:
Los sistemas operativos por lotes requieren que la información esté reunida en bloque o «lote» (el programa, los datos y las instrucciones). Los trabajos son procesados en el orden de admisión, según el modelo de «primero en llegar, primero en ser atendido».
En estos sistemas, la memoria se divide en dos zonas:
Cuando termina la ejecución de un programa, se carga un nuevo programa en la misma zona de memoria.
Se conoce como procesamiento por lotes, o modo batch, a la ejecución de un programa sin el control o supervisión directa del usuario (lo que se denomina procesamiento interactivo). Este tipo de programas se caracteriza porque su ejecución no precisa ningún tipo de interacción con el usuario.
Generalmente, este tipo de ejecución se utiliza en tareas repetitivas sobre grandes conjuntos de información, ya que sería tedioso y propenso a errores realizarlo manualmente. Un ejemplo sería el renderizado de los fotogramas de una película.
Los programas que se ejecutan por lotes suelen especificar su funcionamiento mediante scripts o guiones (procedimientos) en los que se indica qué se quiere ejecutar y, posiblemente, qué tipo de recursos necesita reservar.
El uso de variables de memoria para mantener el contenido de un registro puede considerarse como la creación de un buffer de datos. Los datos se transfieren desde el registro al buffer usando la instrucción scatter memvar y desde el buffer al registro con gather memvar.
Es el proceso mediante el cual el ordenador almacena temporalmente (durante un periodo muy breve) los datos que han de ser enviados a un dispositivo periférico (como una impresora) antes de que se produzca la salida efectiva.
Parte esencial de un sistema operativo que provee los servicios más básicos del sistema. Se encarga de gestionar los recursos, como el acceso seguro al hardware de la computadora. También se encarga del multiplexado, determinando qué programa accederá a un determinado hardware si dos o más quieren usarlo al mismo tiempo.
El kernel también ofrece una serie de abstracciones del hardware para que los programadores no tengan que acceder directamente a este, un proceso que puede ser complicado.
Los procesos se asignan permanentemente a una cola, casi siempre con base en alguna propiedad del proceso, como el tamaño de memoria, la prioridad y el tipo de proceso. Cada cola tiene su propio algoritmo de planificación.
Los sistemas operativos de tiempo compartido buscan proporcionar un reparto equitativo de los recursos comunes para dar la impresión a los usuarios de que poseen una computadora independiente.
Estos sistemas tienen como objetivo proporcionar tiempos de respuesta más rápidos, procesando la información sin tiempos muertos.
Después de cumplir todos los requerimientos de hardware para instalar una Red de Área Local (LAN), se necesita instalar un Sistema Operativo de Red (NOS), que administre y coordine todas las operaciones de dicha red.
Los sistemas operativos de red tienen una gran variedad de formas y tamaños, debido a que cada organización que los emplea tiene diferentes necesidades. Algunos sistemas operativos se comportan excelentemente en redes pequeñas, así como otros se especializan en conectar muchas redes pequeñas en áreas bastante amplias.
Los sistemas distribuidos abarcan una cantidad considerable de aspectos, por lo cual su desarrollo implica mucha complejidad.
Existen ciertos aspectos que requieren extremo cuidado al desarrollarse e implantarse, como el manejo de fallos y el control de la concurrencia.
Se nota también que muchas tecnologías están en constante desarrollo y maduración, lo cual implica un minucioso estudio previo de muchos factores antes de apostar por alguna tecnología en especial.
Carecen de estructura interna o su estructura es mínima. El SO es un único programa formado por funciones que se llaman entre ellas.
Consiste en dividir el sistema en partes independientes bien definidas; cada una de las cuales realiza una tarea determinada. Cada parte o nivel puede comunicarse únicamente con el nivel o capa inmediatamente superior o inferior, y a través de una interfaz específica. Las capas o niveles muchas veces se ven como anillos concéntricos.
El sistema operativo se estructura en dos niveles:
Consiste en reducir el núcleo del SO lo máximo posible e implementar la mayoría de las funciones como programas en el espacio de usuario (sin privilegios para acceder al HW). Queda, por lo tanto, un SO de dos niveles:
