04 Nov

PROCESAMIENTO EN SERIE

En teoría, todo sistema informático puede ser programado en su lenguaje máquina, sin necesidad de software de sistema. Este tipo de programación, fue costumbre en los sistemas informáticos primitivos. Evidentemente, este tipo de programación resulta de baja productividad para los usuarios y el hardware. El largo y tedioso proceso de introducción de programas y datos excluye prácticamente la ejecución de programas medios y grandes en tal entorno.

El siguiente paso significativo en el uso de sistemas informáticos, vino con la llegada de dispositivos de E/S tales como tarjetas perforadas y cinta de papel y con los traductores de lenguajes.

El usuario coloca un programa, codificado ahora en un lenguaje de programación, y sus datos de entrada en un dispositivo de entrada, se traducen en formato ejecutable mediante un programa, tal como un compilador o intérprete. Otro programa, llamado cargador, automatiza el proceso de cargar en memoria los programas ejecutables. El programa en ejecución lee sus datos desde el dispositivo de entrada designado y puede producir ciertos resultados en un dispositivo de salida.

Los mecanismos de desarrollo y preparación de programas en tales entornos son bastante lentos y farragosos debido a la ejecución en serie de los programas y a las numerosas operaciones manuales implicadas en los procesos.

PROCESAMIENTO POR LOTES

El siguiente paso lógico en la evolución de los sistemas operativos fue automatizar la secuencia de operaciones involucradas en la ejecución de un programa y los aspectos mecánicos del desarrollo de programas. El propósito era incrementar la utilización de los recursos del sistema y la productividad del programador mediante la reducción o eliminación de los tiempos muertos de los componentes ocasionados por las comparativamente lentas operaciones manuales.

Las operaciones auxiliares, como montar cintas, tardaban mucho, incluso cuando se automatizaron, comparados con la velocidad del procesador y la memoria. Como no se podía hacer mucho por reducir estas operaciones, había que intentar incrementar el rendimiento del sistema dividiendo este “tiempo de preparación” entre una serie de programas. Por ejemplo, si se agrupan varios programas en una cinta única de entrada para que las operaciones auxiliares se realicen una sola vez, el tiempo de programa se reduce.

Para sacar provecho al potencial de utilización de recursos del procesamiento de lotes, un lote de trabajos debe ejecutarse automáticamente sin la lenta intervención humana.

COMPONENTES DE LOS SISTEMAS OPERATIVOS

Núcleo

Es el que se encarga de controlar todo lo que ocurre en el ordenador. Gestiona los procesos que llegan para ser ejecutados.

Nivel 2 o Nivel ejecutivo

Sobre este nivel se realiza la administración y gestión de la memoria. Se encarga de almacenar los procesos en páginas, tanto en memoria principal como en disco.

Nivel supervisor

Se encarga de realizar la comunicación de cada proceso entre el sistema y el usuario. Controla y coordina la gestión de E/S de los diferentes procesos hacia los periféricos.

Nivel usuario

Es el que controla los procesos que está utilizando el usuario, sin preocuparse de la gestión de memoria, de la gestión de E/S ni de nada en especial. Simplemente, muestra al usuario el proceso que éste quiere ejecutar.

GESTIÓN DE LA CPU

Los únicos sistemas multitarea real, son aquellos que cuentan con más de un procesador. El resto son sistemas operativos que permiten cargar en memoria más de un proceso, pero solo se puede ejecutar uno de ellos. Un proceso es, el programa que está ejecutándose en ese momento en el ordenador. Una CPU no puede realizar más de 1 proceso a la vez, la rapidez con la que se dedica el tiempo de la CPU a distintos procesos puede hacer pensar que los procesos se ejecutan simultáneamente, pero no es así, la CPU dedica su tiempo en fracciones de segundo a cada programa.

La mayoría de los ordenadores actuales sólo tienen un procesador, esto implica que cuando se estén realizando varias tareas a la vez habrá que dividir el tiempo de ejecución del procesador en minúsculos intervalos de tiempo (milisegundos) e ir asignando cada uno de esos intervalos a cada proceso. Para ello, necesitamos almacenar en la tabla de procesos, las especificaciones de cada uno de los procesos que se está ejecutando para partir del mismo punto en el que se quedó cuando vuelvan a ejecutarse.

  • En ejecución: el procesador está ejecutando instrucciones de ese proceso en un instante concreto.
  • Preparado: el proceso está preparado para ser ejecutado, esperando su turno para utilizar su intervalo de tiempo.
  • Bloqueado: el proceso está retenido.

Deja un comentario