2.1 CONCEPTO DE PROCESO

Un proceso es una abstracción que hace referencia a cada caso de ejecución de un programa.
Un proceso no tiene por qué estar siempre en ejecución. La vida de un proceso pasa por varias fases, incluyendo la ejecución
Si se abre 2 terminales y se  ejecutan tenemos dos procesos ejecutando el mismo programa.En este caso (lo habitual) cada proceso es secuencial.
Concurrencia: su ejecución parece simultánea pero, en realidad, la CPU salta de uno a otro. Es lo que llamamos sistema operativo multitarea.
Mientras ejecuta un proceso, el otro está en espera.
Cuando hay varias CPUs podemos tener ejecución paralela. Pero cada CPU sólo puede ejecutar un proceso a la vez

Tipos de procesos:

  1. Según su diseño:
  • Reutilizables: se cargan en memoria cada vez que se usan. Los programas de usuario suelen ser de este tipo.
  • Reentrantes: se carga una sola copia del código en memoria. Cada vez que se usan se crea un nuevo proceso con su zona de datos propia, pero compartiendo el código

           2. Según su acceso a CPU y recursos:
  •    Apropiativos: acceden a los recursos y sólo los abandonan de forma voluntaria (mediante instrucción CPU).
  • ·   No apropiativos: permiten a otros procesos apropiarse de los recursos que ahora poseen.

     3.    Según su permanencia en memoria:

  •    Residentes: tienen que permanecer en memoria durante toda su evolución (desde creación hasta terminación).
  •     Intercambiables (swappable): es lo más normal. El SO puede decidir llevarlos a disco a lo largo de su evolución.

     4. Según su nivel de privilegio (no en todos los SO):

  •     Privilegiados: se ejecutan en modo supervisor.
  •     No privilegiados: los que normalmente ejecuta el usuario.

     5.  Según su propietario:
  •    Procesos de usuario: son los diseñados por los usuarios. Se ejecutan en modo no protegido.
  •    Procesos del sistema: son los que forman parte del SO (de E/S, de planificación de otros procesos, etc).


No hay comentarios.:

Publicar un comentario