Planificación de Procesos en Sistemas Operativos: Concurrencia, Procesos Ligeros y Sistemas de Tiempo Real

Enviado por Programa Chuletas y clasificado en Informática y Telecomunicaciones

Escrito el en español con un tamaño de 3,03 KB

Planificación de Sistemas de Tiempo Real

  • Está basada en el **reloj de tiempo** de la computadora.
  • Objetivo: conseguir que no se retrase la ejecución de los procesos.
  • Generalmente están descargados (pocos procesos en estado preparado).
  • No manejan **memoria virtual**, para evitar retardos.

Procesos Ligeros o Hebras (Threads)

  • Un **proceso ligero (PL)** es un flujo de ejecución que comparte la imagen de memoria y otra información con otros PL y tiene datos propios.
  • Desde el punto de vista de la programación, un PL se define como una función que se puede realizar en paralelo con otras. El hilo primario corresponde al main().

Estados de un PL

  • Preparado
  • Ejecución
  • Bloqueado

Estado del proceso

  • **Ejecución:** si uno de sus PL está en ejecución.
  • **Preparado:** si uno de sus PL está preparado y no tiene un PL en ejecución.
  • **Bloqueado:** si todos sus PL están bloqueados.

Ventajas de los PL

  • Permite la separación de tareas que pueden ejecutarse en forma independiente.
  • Aumenta la velocidad de ejecución de un trabajo.
  • Funciona sobre arquitecturas **monoprocesador** y **multiprocesador**.

Los PL son un componente importante en los sistemas actuales. Es necesario considerarlos en el diseño de Sistemas Operativos y de aplicaciones.

Concurrencia

  • Cuando dos o más procesos relacionados entre sí llegan al mismo tiempo a ejecutarse.
  • La relación entre los procesos puede ser la cooperación para un determinado trabajo o el uso de información y recursos compartidos.

Modelos de Computadora para Procesos Concurrentes

  • **Multitarea** con un único procesador.
  • **Multiprocesador:** varios procesadores con memoria compartida. Un único computador.
  • **Multicomputador:** varios procesadores con memoria no compartida (distribuido).
  • La concurrencia será **aparente** siempre que el número de procesos supere al número de procesadores.
  • La concurrencia será **real** cuando haya un proceso por procesador.

Ventajas de la Concurrencia

  • Facilita la programación.
  • Acelera los cálculos.
  • Posibilita el uso interactivo a varios usuarios.
  • Permite el mejor aprovechamiento de los recursos.

Tipos de Procesos Concurrentes

  • **Proceso independiente:** Es aquel que se ejecuta sin requerir la ayuda o cooperación de otros procesos.
  • **Procesos cooperantes:** Son aquellos que están diseñados para trabajar conjuntamente en alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos.

Tipos de Interacción entre Procesos Cooperantes

  • Comparten o compiten por el acceso a recursos. Ejemplo: acceso a disco.
  • Se comunican o sincronizan para lograr un objetivo común. Ejemplo: compilador y ensamblador.

Entradas relacionadas: