Programa en ejecución / unidad de procesamiento gestionada por el sistema operativo. El proceso es un concepto fundamental en los sistemas operativos , el objetivo último de éstos es crear, ejecutar y destruir procesos, de acuerdo a las órdenes de los usuarios.
Presentación contribuciones socioeconómicas del SUPV 2023
Clases procesos
2. ¿Qué es un proceso?
Programa en ejecución / unidad de procesamiento
gestionada por el sistema operativo.
-El proceso es un concepto fundamental en los sistemas operativos, puesto
que el objetivo último de éstos es crear, ejecutar y destruir procesos, de
acuerdo a las órdenes de los usuarios.
-El sistema operativo debe encargarse también de ofrecer una serie de
servicios para la gestión de procesos y de gestionar los posibles
interbloqueos que surgen cuando los procesos acceden a diferentes
recursos.
¿ Programa = Proceso?
3. Bloque de Control de Proceso
Objetivos :
Localización de la información sobre el proceso por parte del sistema operativo.
Mantener registrados los datos del proceso en caso de tener que suspender
temporalmente su ejecución.
Información contenida en el BCP:
-Estado del proceso: Información relativa al contenido del contador de
programa (Program Counter, PC), estado del procesador en cuanto a la prioridad
del proceso, modo de ejecución, etc. y finalmente estado de los registros internos
de la computadora.
-Estadística de tiempo y ocupación de recursos, para la gestión de la
planificación del procesador
-Ocupación de memoria interna y externa para el intercambio (swapping)
-Recursos en uso: Unidades de Entrada/Salida.
-Archivos en uso.
-Privilegios.
4. JERARQUÍA DE PROCESOS
Para referirse a las relaciones entre los procesos de la jerarquía se
emplean los términos de padre, hijo, hermano o abuelo.
Un Sistema Operativo se identifica en base al número de procesos y
de usuarios que se puedan ejecutar. Puede ser:
Monotarea o Monoproceso
Multitarea o multiproceso (memoria principal capaz de almacenar varios
procesos
Monousuario
Multiusuario (que se le denomina tiempo compartido)
Ventajas de la multitarea
Facilita la programación, permite dividir las aplicaciones en varios procesos.
Permite aprovecha los tiempos muertos que pasan esperando los procesos a que
se completen sus operaciones.
Aumenta el uso del CPU aprovechar los espacios de tiempos en que los procesos
estén bloqueados
5. SERVICIOS DE PROCESOS
Crear un proceso.
Creación a partir de un proceso padre.
Creación a partir de un archivo ejecutable.
Ejecutar un proceso.
Terminar la ejecución de un proceso.
Cambiar el programa de un proceso.
En el modelo de procesos dentro del
Sistema se ejecutan:
Procesos de usuario
Procesos del disco.
Procesos de terminal, etc.
• Los procesos b y c tienen prioridad sobre los procesos de
usuario.
6. Terminología
Proceso nulo
El procesador no para de ejecutar nunca, pero hay intervalos en que el procesador no tiene nada
que hacer
Obj: entretener al procesador cuando no hay ninguna otra tarea.
Estados de los procesos
Un proceso puede estar en varias situaciones procesamiento, listo para ejecutar y esperar
Planificador y activador
Panificador: Entra en ejecución cada vez que inicia el sistema operativo y su misión es
seleccionar el proceso que se vaya a ejecutar.
Activador: pone en ejecución el proceso seleccionado por el planificador.
Grado de multiprogramación
Número de procesos activos que mantiene un sistema
Sistema sin memoria virtual
Sistema limitado por el tamaño de los procesos y por la memoria disponible.
Sistema con memoria virtual
Ocurren muchos fallos de paginación.
Hiperpaginación
Alta paginación cuando los conjuntos residentes de un proceso son demasiados pequeños.
7. INFORMACIÓN DEL PROCESO
El proceso es la unidad de procesamiento gestionada por el sistema operativo.
Información:
a) Estado del procesador
Registros generales. Si existen registros específicos de coma flotante
también se incluye.
Contador de programa.
Registro o registros de estado.
Registros especiales. Como puede ser el RIED (registro identificador de
espacio de Direccionamiento).
b) Imagen de memoria : formada por los espacios de memoria
El proceso solamente puede tener información en su imagen de memoria y
no fuera de ella.
La imagen de memoria estará referida a memoria virtual o a memoria física y
deberá adaptarse a estas necesidades, creciendo o decreciendo.
c) Tablas del sistema operativo.
8. TIPOS DE INFORMACION DE PROCESOS
1. Texto o código: programa máquina que ha de ejecutar el proceso.
2. Datos
Datos con valor inicial: Datos estáticos, cuyo valor inicial se fija al
cargar el proceso y se asignan en tiempo de compilación por el archivo
ejecutable.
Datos sin valor inicial: Estáticos, no tienen valor asignado y no
están
presentes en el archivo ejecutable.
Datos dinámicos: Se crean y se destruyen dependiendo de las
necesidades del programa. Pueden ser de lectura-escritura o
solamente de lectura.
3. Pila: La pila es una estructura dinámica, puesto que crece y decrece
según avanza la ejecución del proceso.
9. Estados del Proceso
Los estados de los procesos son internos al Sistema Operativo y transparentes al
usuario.
Ejecución : En este estado el proceso, tiene el control y está siendo ejecutado por
el
procesador, es decir, está en etapa de procesamiento.
Listo: Proceso que está dispuesto para ser ejecutado y entrar en la fase de
procesamiento.
Puede haber varios procesos en este estado.
Bloqueado. Un proceso bloqueado está esperando a que ocurra un evento y no
puede seguir ejecutando hasta que suceda el evento
TRANSICIONES DE ESTADOS
10. OTROS ESTADOS DE LOS PROCESOS
Transición 1 : Ocurre cuando un proceso descubre que no puede continuar (no
existan datos disponibles)
Transición 2 y 3: Se deben al planificador de procesos (parte del S.O.)
Transición 2: Ocurre cuando el planificador decide que el proceso en ejecución ya
ha sido ejecutado el tiempo suficiente y que es hora que otro proceso tenga
tiempo de CPU.
Transición 3: Ocurre cuando los demás procesos han tenido su parte y es tiempo
de que el primer proceso vuelva a ejecutarse.
Transición 4: Cuando ocurre el evento externo por el que espera un proceso (como
la llegada de nuevos datos). Si no existe otro proceso en ejecución, se produce la
transición 3 en forma inmediata y el proceso comienza su ejecución, de lo
contrario espera en estado listo hasta que el CPU esté disponible.
Además de los tres estados básicos de ejecución, listo y bloqueado, los procesos
pueden estar en los estados de:
Espera : son aquellos que no pueden competir por el procesador, pero que
pueden volver hacerlo por medio de ciertas operaciones.
Suspendido: Es frecuente tener una lista de procesos batch en espera para
ser ejecutados cuando se pueda.
11. PROCESOS LIGEROS
Los procesos ligeros, también llamados thread, es un programa en
ejecución (flujo de ejecución) que comparte la imagen de memoria y
otras informaciones con otros procesos ligeros.
Niveles de Planificación
Se define “PLANIFICACIÓN” como las distintas políticas y mecanismos más
comunes que poseen los Sistemas Operativos actuales para realizar la gestión del
procesador. Su objetivo principal es dar un buen servicio a todos los procesos
que existan en un momento dado en el sistema.
Planificación a largo plazo (planificador de trabajos): añadir nuevos
procesos al sistema, tomándolos de la lista de espera.
Planificación a medio plazo (planificador de swapping): la planificación
a medio plazo trata la suspensión de procesos.
Planificación a corto plazo (planificador del procesador): la planificación
a corto plazo se encarga de seleccionar el proceso en estado de listo que pasa
a
estado de ejecución.