Tipos de Programas y Procesos en Sistemas Operativos

Los programas y procesos en un sistema operativo se clasifican según su comportamiento y gestión de memoria:

Programas y Procesos Reubicables

Son aquellos que, una vez cargados en la RAM para ejecutarse, pueden variar de ubicación, ya que la parte de la RAM que ocupan puede ser necesaria para otro proceso. Estos procesos o programas cambian de posición cuando se está realizando una operación sobre el ordenador, que suele ser de configuración interna del propio sistema.

Programas y Procesos Reentrantes

Son aquellos programas que, si no se están ejecutando, liberan la memoria. Cuando estos procesos se liberan, suelen almacenarse temporalmente en el disco duro. Son procesos gestionados mediante la técnica de memoria virtual.

Programas y Procesos Residentes

Son aquellos que, una vez cargados en memoria, permanecerán en ella hasta que el ordenador se apague. No cambian su ubicación en ningún momento y suelen ubicarse entre 1024 KB y 1088 KB de RAM.

Programas y Procesos Reutilizables

Son programas que, normalmente, son utilizados por varios usuarios a la vez en memoria. Con ello se consigue un mejor aprovechamiento de esta.

Interfaces de Usuario en Sistemas Operativos

La comunicación entre el usuario y el sistema operativo se realiza a través de diferentes tipos de interfaces:

Interfaz de Texto (CLI)

Si el sistema operativo es de tipo texto, todas las órdenes que el usuario introduzca y las respuestas del sistema operativo se introducirán o visualizarán mediante cadenas de caracteres.

  • Ejemplos: DOS, UNIX.
  • Todas las órdenes se introducen por teclado y se visualizarán por pantalla.
  • La pantalla en modo texto está compuesta por 80 columnas * 24 filas, pudiendo mostrar hasta 1920 caracteres a la vez (80*24).

Interfaz Gráfica de Usuario (GUI)

Actualmente, la mayoría de los sistemas operativos utilizan interfaces gráficas para la comunicación entre la máquina y el usuario.

  • En este tipo de interfaces, el usuario utiliza el ratón.
  • La información en la pantalla se muestra en bloques o en ventanas independientes.
  • A estos bloques se les denomina ventanas, y en ellas aparecen una serie de componentes y objetos que sirven para enviar y/o recibir información sin necesidad de teclear.

Modelos de Procesamiento en Sistemas Operativos

Los sistemas operativos gestionan la ejecución de tareas de diversas maneras:

Proceso por Lotes

Este sistema de procesamiento se empezó a utilizar en la segunda generación de ordenadores. Su funcionamiento es el siguiente:

  1. Primero se carga el soporte de almacenamiento externo con los datos a procesar.
  2. A continuación, se introducen los datos en el ordenador.
  3. Procesada la información, los resultados se vuelven a cargar en otro soporte de almacenamiento externo.
  4. Este soporte, conectado al correspondiente periférico de salida, permite visualizar los resultados.

Proceso en Tiempo Real

Este tipo de procesamiento es similar al anterior. La diferencia radica en que el usuario que introduce los datos es quien lanza el programa para ejecutarlos y quien obtiene la información procesada, todo ello en un mismo sistema informático y en un tiempo relativamente corto. Actualmente, los ordenadores funcionan en tiempo real.

Clasificaciones de Sistemas Operativos

Los sistemas operativos se pueden clasificar según el número de usuarios, tareas o procesadores que gestionan:

Sistema Operativo Monousuario

Cuando un solo usuario trabaja con un ordenador. Todos los dispositivos de hardware están a disposición de ese usuario y no pueden ser utilizados por nadie hasta que este finalice su sesión.

Sistema Operativo Multiusuario

Varios usuarios pueden utilizar los recursos del sistema simultáneamente. Permite compartir, sobre todo, los dispositivos externos de almacenamiento y los periféricos de salida, fundamentalmente impresoras.

Monoprogramación o Monotarea

En este caso, el sistema solo puede ejecutar un programa o proceso a la vez. De esta forma, los recursos del sistema estarán dedicados al programa hasta que finalice su ejecución.

Multiprogramación o Multitarea

Este tipo de sistemas operativos puede ejecutar varios programas o procesos a la vez. Esto ocurre cuando el ordenador o sistema informático contiene más de un microprocesador.

Sistema Monoprocesador

El ordenador contiene un solo microprocesador. Todos los trabajos pasarán por él.

Sistema Multiprocesador

El ordenador tiene dos o más procesadores. De esta forma, determinados sistemas operativos pueden aprovechar las ventajas de este tipo de hardware.

  • Multiproceso Simétrico (SMP): El sistema operativo utilizará la potencia de los procesadores de manera equitativa.
  • Multiproceso Asimétrico (AMP): El sistema operativo reparte las tareas entre los procesadores con los que cuenta el sistema informático.

Gestión del Tiempo en Sistemas Operativos

La forma en que los sistemas operativos gestionan el tiempo de procesamiento es crucial:

Tiempo Real

La respuesta es inmediata (o casi inmediata) tras lanzar el proceso.

Tiempo Compartido

Cada proceso utilizará ciclos de la CPU hasta que finalice.

Funciones y Estructura del Sistema Operativo

Funciones Principales del Sistema Operativo

La función de un sistema operativo es coordinar la utilización de los programas o aplicaciones que se están utilizando. Los programas o aplicaciones que se utilizan en la mayoría de los casos los decide el usuario, pero en otras ocasiones son los propios programas del sistema operativo los que deben estar funcionando para que los usuarios puedan cumplir sus objetivos.

Estructura de un Sistema Informático

En general, el hardware, el software y el usuario se estructuran en cuanto a la utilización de un ordenador o sistema informático, y se hace una primera clasificación.

Ambas estructuras son válidas, pero la segunda es más completa, incluyendo los programas de utilidad y de aplicación como componentes que interactúan con el sistema operativo para acceder al hardware.

Servicios del Sistema Operativo

Un servicio es un tipo de aplicación que normalmente se ejecuta en segundo plano. Los servicios proporcionan a los usuarios aplicaciones que permiten diversas formas de utilizar los recursos del sistema operativo, especialmente en entornos multiusuario.

Algunos de los servicios ofrecidos por los sistemas operativos son aplicaciones de tipo cliente-servidor, como servidores web, servidores de bases de datos y otras aplicaciones basadas en servidores, tanto de modo local como a través de una red.

Estos servicios pueden utilizarse para:

  • Crear programas (editores, compiladores, depuradores).
  • Ejecutar esos programas, proporcionando al sistema los recursos de hardware y software necesarios.
  • Acceder de forma controlada y segura a los archivos.
  • Acceder de forma controlada a los dispositivos de E/S.
  • Acceder de forma controlada y segura a la información.
  • Controlar y solucionar errores provocados por el hardware o el software.
  • Suministrar información estadística, de seguridad y registro de la actividad del sistema.

Los servicios son esenciales para el funcionamiento de muchas aplicaciones y del propio sistema operativo. Si estos programas o servicios no estuvieran ejecutándose, muchas aplicaciones no funcionarían, o algo tan común como el acceso a Internet sería imposible.

Gestión de Memoria: RAM y Memoria Virtual

Como hemos visto anteriormente, el ordenador cuenta con la memoria central o principal (RAM). Sin embargo, esta es muy limitada y, en grandes sistemas, insuficiente. Al principio, para solucionar este problema, se adoptaron técnicas como dividir el programa en partes denominadas capas. Cada una de las capas se iba ejecutando según fuera necesario; es decir, en primer lugar, se pasaría del disco duro (o soporte de almacenamiento) a la memoria. Cuando fuera necesario utilizar otra parte del programa que no estuviera en memoria central o principal (RAM), se accedería de nuevo al disco para cargar la siguiente capa en la memoria central.

Swapping

El swapping es una técnica similar a la memoria virtual. Cuando varios usuarios están ejecutando procesos en un mismo ordenador, este se ve obligado a cargarlos en la RAM. Según el estado en el que se encuentre el programa de cada usuario, la memoria se irá liberando de su proceso y este pasará a la zona swap mediante la técnica llamada swap-out. De esta manera, la memoria interna queda liberada para que en ella se pueda almacenar otro proceso del mismo usuario o de otro.

Paginación

La paginación es una técnica que consiste en dividir la memoria interna o RAM en zonas iguales llamadas frames y los programas, o partes de ellos, en bloques de idéntico tamaño denominados páginas. Para ubicar un programa en memoria, el sistema operativo buscará en la memoria física los frames que tenga libres. El tamaño de estos frames se diseña mediante hardware.

Segmentación

La segmentación es una técnica similar a la paginación que permite definir los bloques de memoria, en este caso, de tamaño variable. Cada segmento puede variar desde 0 hasta el máximo permitido. La peculiaridad reside en que estos segmentos pueden variar según las necesidades del programa. Es una técnica similar a la paginación que permite definir los bloques de memoria, en este caso, de tamaño variable. Cada segmento puede variar desde 0 hasta el máximo permitido. La peculiaridad reside en que estos segmentos pueden variar según las necesidades del programa. Es una técnica similar a la paginación que permite definir los bloques de memoria, en este caso, de tamaño variable. Cada segmento puede variar desde 0 hasta el máximo permitido. La peculiaridad reside en que estos segmentos pueden variar según las necesidades del programa. Es una técnica similar a la paginación que permite definir los bloques de memoria, en este caso, de tamaño variable. Cada segmento puede variar desde 0 hasta el máximo permitido. La peculiaridad reside en que estos segmentos pueden variar según las necesidades del programa.