Optimización de Recursos en Sistemas Operativos Modernos

Enviado por Chuletator online y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 5,54 KB

Gestión de Procesos

Todo programa en ejecución dentro de un ordenador necesita una serie de recursos para poder realizar su trabajo. El sistema operativo (S.O.) es el encargado de coordinar y controlar todos los recursos y condiciones de ejecución que demandan los procesos.

Clasificación de los S.O. según la Multitarea
  • Monotarea: El sistema ejecuta solo un programa, de forma que todos los recursos se le dedican en exclusiva. Por ejemplo, MS-DOS.
  • Multitarea: Permite ejecutar varios programas al mismo tiempo. Esto se logra compartiendo el uso de los recursos entre los programas que los solicitan. Por ejemplo, Microsoft Windows.
Estados de un Proceso
  • Preparado o en espera: Listo para ejecutarse cuando quede libre la CPU.
  • Activo: Le corresponde a la CPU y se está ejecutando. Puede abandonar este estado por varias causas.
  • Bloqueado: Espera a que se cumpla un determinado evento para pasar al estado preparado. Puede ser una señal de sincronización con otro proceso.
  • Muerto: Terminó su ejecución en la CPU o el sistema operativo detectó un error fatal.

(Preparado, Bloqueado, En ejecución)

Bloque de Control de Proceso (BCP)

Contiene información asociada a dicho proceso. Cuando se inicia la ejecución de un proceso, se crea un BCP que se mantendrá hasta que finalice. El BCP incluye, entre otros datos:

  • Identificador del proceso: Por ejemplo, el PID de Linux.
  • Estado en el que se encuentra el proceso: Preparado, bloqueado, etc.
  • Prioridad del proceso: Respecto de los demás procesos.
  • Recursos: Asignados, solicitados, etc.
Algoritmos de Planificación

Los algoritmos de planificación son las políticas que se siguen para elegir qué proceso entra en cada momento a ejecutarse en el sistema.

Objetivos:

  • Maximizar: La utilización y productividad de la CPU.
  • Minimizar: El tiempo de retorno, de espera y de respuesta.

El sistema operativo dispone de algoritmos de gestión y planificación para decidir qué procesos va a ejecutar y llevar la cuenta de los procesos que están en el sistema, de sus prioridades y de toda la información referente a ellos.

Criterios de Rendimiento de un Algoritmo de Planificación
  • Utilización de la CPU: Porcentaje de tiempo que está ocupado el procesador, debe tender a ser el máximo posible.
  • Productividad: Trabajos que se completan o finalizan por unidad de tiempo.
  • Tiempo de retorno: Intervalo de tiempo desde la entrada de un proceso en el sistema hasta su finalización.
  • Tiempo de respuesta: Tiempo que un proceso bloqueado tarda en entrar en la CPU desde que ocurre el evento que lo bloquea.
  • Tiempo de ejecución (t): Tiempo que tarda el proceso en ejecutarse.
  • Tiempo de inicio (ti): Instante en el que el usuario solicita la ejecución del proceso.
  • Tiempo de finalización (tf): Momento en el que el proceso termina su ejecución.
  • Tiempo de servicio (T): Es el que necesitaría un proceso para ejecutarse si fuera el único presente en el sistema: T = tf - ti.
  • Tiempo de espera (E): Es el tiempo que permanece un proceso en el sistema sin que esté ejecutando: E = T - t.
  • Índice de servicio (I): Representa el tanto por uno de tiempo que el proceso está en ejecución.
Memoria Virtual

Un proceso puede entrar y salir de la memoria varias veces. No es necesario que un programa esté en su totalidad en la memoria para que se ejecute. La memoria virtual es una técnica que, utilizando la memoria secundaria, permite ejecutar programas más grandes que el tamaño de la memoria. Mediante esta técnica, el espacio libre que existe en el disco se usa virtualmente como memoria RAM. Los programas que están ejecutando tendrán partes en la memoria principal (capas activas) y el resto en la memoria secundaria (capas inactivas). Si en un determinado instante varios fragmentos de un programa están ejecutándose y alguno de ellos hace referencia a otro trozo aún no cargado en la memoria principal, se produce un fallo de página.

Si la memoria está llena, para poder asignar un nuevo fragmento del programa a la memoria principal, tenemos que descartar antes otro trozo.

Puede llegar un momento en que el sistema operativo esté más tiempo ocupado con el intercambio de páginas que con la ejecución de los programas, problema conocido como hiperpaginación. Las técnicas que se utilizan para usar la memoria secundaria como memoria virtual son la de paginación y la de segmentación. La paginación consiste en dividir los programas en porciones iguales llamadas páginas, que se almacenan en marcos de igual tamaño en la memoria principal. En la técnica de segmentación, el programa se divide en segmentos que se diferencian de las páginas en que su tamaño no es fijo, aunque existe un tamaño máximo de segmento. Este sistema tiene que contar con la colaboración del programador, que debe organizar sus programas dividiéndolos en segmentos.

Entradas relacionadas: