2. DIFERENCIA ENTRE PROGRAMA Y PROCESO
Proceso es una abstracción de un programa en ejecución también llamada
tarea.
Un proceso es una secuencia de instrucciones que se puede ejecutar en
paralelo con otra secuencia de instrucciones.
3. TIPOS DE PROCESOS
Cooperantes
Uno genera una información o realiza algún servicio que el segundo necesita
La cooperación es ventajosa para:
Compartir información
Acelerar cálculos
Proveer modularidad
Por Conveniencia
Independientes
Interfieren por compartir el procesador
4. ESTADO DE UN PROCESO
Un proceso puede estar en cualquiera de estos estados :
Listo: que pueden pasar a estado de ejecución si el planificador los selecciona.
En ejecución: están ejecutando en el procesador en ese momento dado.
Bloqueado: están esperando la respuesta de algún otro proceso para poder continuar
con su ejecución.
5. La implementación del modelo de procesos se logra debido a que
el sistema operativo almacena en una tabla denominada tabla
de control de procesos información relativa a cada proceso que se
esta ejecutando en el procesador. Cada línea de esta tabla
representa a un proceso.
6. INFORMACIÓN QUE SE ALMACENA :
1) Identificación del proceso.
2) Identificación del proceso padre.
3) Información sobre el usuario y grupo.
4) Estado del procesador.
5) Información de control de proceso
5.1) Información del planificador.
5.2) Segmentos de memoria asignados.
5.3) Recursos asignados.
7. RAZONES PARA SUSPENDER PROCESOS
Intercambio (swapping).
El SO necesita liberar suficiente memoria RAM para cargar un nuevo proceso.
Otra razon del SO.
El SO puede un proceso que se sospecha causa un problema.
Solicitud del usuario.
Por tiempo.
Se ejecuta con cierta frecuencia, entonces mientras no se usa se suspende.
Solicitud del proceso padre.
El padre desea suspenderlo para examinar o modificar el proceso o para coordinar con otros procesos.
8. NIVELES DE PLANIFICACIÓN DEL PROCESADOR
Planificación de alto nivel:
También se denomina Planificación de trabajos.
Determina a qué trabajos se les va a permitir competir activamente por los recursos del sistema, lo cual se
denomina Planificación de admisión.
Planificación de nivel intermedio:
Determina a qué procesos se les puede permitir competir por la cpu.
Responde a fluctuaciones a corto plazo en la carga del sistema y efectúa “suspensiones” y “activaciones”
(“reanudaciones”) de procesos.
Debe ayudar a alcanzar ciertas metas en el rendimiento total del sistema.
9. Planificación de bajo nivel:
Determina a qué proceso listo se le asigna la cpu cuando esta queda disponible y asigna la cpu al mismo, es
decir que “despacha” la cpu al proceso.
La efectúa el Despachador del Sistema Operativo, el que opera muchas veces por segundo y reside siempre en
el almacenamiento primario.
10.
11. Condiciones de competencia
Las condiciones de competencia se dan cuando dos o más procesos intentan acceder a un mismo
recurso.
Secciones críticas
Se implementó un modelo para prohibir que dos procesos accedan al mismo recurso, se denomina
exclusión mutua
Exclusión mutua con espera ocupada
Cuando un proceso intenta ingresar a su región crítica, verifica si esta permitida la entrada. Si no, el
proceso se queda esperando hasta obtener el permiso.
12. OBJETIVOS DE LA PLANIFICACIÓN DE PROCESO :
Equidad: todos los procesos deben poder ejecutarse
Eficacia: mantener ocupada la CPU un 100% del tiempo
Tiempo de respuesta: minimizar el tiempo de respuesta al usuario
Tiempo de regreso: minimizar el tiempo que deben esperar los usuarios por lotes para obtener sus
resultados
Rendimiento: maximizar el número de tareas procesadas por hora.
13. PLANIFICACIÓN DE PROCESOS
Algoritmos de planificación
Planificación Round-Robin
Planificación por prioridad
14. Colas múltiples
Procesos ligeros
Dentro de la información propia tenemos:
Contador de programa
Pila
Registros.
Estado del proceso ligero.
Dentro de la información compartida tenemos:
Variables globales.
Archivos abiertos
Señales
Semáforos.
Contabilidad.
Señales