En un sistema multiprogramado con un único Concepto de Proceso Un proceso es simplemente, un programa en ejecución que necesita recursos para realizar

su tarea: tiempo de CPU, memoria, archivos y dispositivos de E/S. Para que un proceso pueda ejecutarse debe estar ubicado en la memoria principal del ordenador. Estados y transiciones de los procesos Durante su vida, un proceso puede pasar por una serie de estados discretos, algunos de ellos son:   procesador, los procesos se intercalan en el tiempo aparentando una ejecución simultánea.

Los

procesos

son

concurrentes

si

existen

simultáneamente. Cuando dos o más procesos
llegan al mismo tiempo a ejecutarse, para que dos o más procesos

sean

concurrentes,

es

necesario que tengan alguna relación entre ellos.
Tipos de procesos concurrentes.

Proceso independiente: Es aquel que ejecuta sin
requerir procesos. la ayuda o cooperación de otros

En ejecución: El proceso ocupa la CPU
actualmente, es decir, se está ejecutando.

Procesos
diseñados

cooperantes: Son aquellos que están
para trabajar conjuntamente en

Listo o preparado: El proceso dispone de
todos los recursos para su ejecución, sólo le falta la CPU.

alguna actividad, para lo que deben ser capaces de comunicarse e interactuar entre ellos. Elementos a gestionar y diseñar a causa de la concurrencia. El sistema operativo debe ser capaz de seguir la pista de los distintos procesos activos. Esto lo hace por medio de PBC’s (Bloque de Control de Procesos) El sistema operativo debe asignar y quitar los distintos recursos a cada proceso activo. Entre estos recursos se incluyen:  Tiempo de procesador: Es función de la planificación.  Memoria: La mayoría de los sistemas operativos emplean esquemas de memoria virtual.  Archivos:  Dispositivos de E/S: Exclusión Mutua y Sección Crítica  Los procesos no tienen conocimiento de los demás: Estos son procesos independientes que no están pensados para operar juntos. Los procesos tienen un conocimiento indirecto de los otros: Los procesos no conocen necesariamente a los otros, pero comparten el acceso a algunos objetos. Los procesos tienen un conocimiento directo de los otros: Los procesos son capaces de comunicarse con los demás y están diseñados para trabajar conjuntamente en alguna actividad.

Bloqueado: Al proceso le falta algún
recurso para poder seguir ejecutándose, además de la CPU. Por recurso se pueden entender un dispositivo, un dato, etc. El proceso necesita que ocurra algún evento que le permita poder proseguir su ejecución.

Procesos ligeros, hilos  Unidad que posee recursos: A un proceso se le asigna un espacio de memoria y, de tanto en tanto, se le puede asignar otros recursos archivos.  Unidad ejecución, a la a que través se de le asigna uno o el procesador: Un proceso es un flujo de más programas. Esta ejecución se entremezcla con la de otros procesos Dentro de un proceso puede haber uno o más hilos de control cada uno con: como dispositivos de E/S o

    

Un estado de ejecución. Un contexto de procesador. Una pila de ejecución. Almacenamiento estático Acceso a la memoria y a los recursos de ese trabajo.

Concurrencia y Secuencialidad.

Condiciones para el interbloqueo  Condición de exclusión mutua. .Equidad. de las adoptadas en un sistema operativo. El número de otros procesos que se verían involucrados con su reiniciación Niveles. El tipoy número de recursos que posee. dependiendo de la probabilidad de que se produzca el interbloqueo. puede llevarse a cabo tan frecuentemente como las solicitudes de recursos o con una frecuencia menor.  Criterios . El número de recursos que necesita para finalizar. .Mantener ocupada la CPU el ciento por ciento del tiempo.Interbloqueo DeadLock El interbloqueo puede definirse formalmente como sigue: Un conjunto de procesos está en interbloqueo si cada proceso del conjunto está esperando un evento que sólo otro proceso del conjunto puede causar.  Planificación de alto nivel: Se encarga de llevar procesos de disco a memoria y viceversa.  Algoritmo de grafo de recursos.. criterios y objetivos de la planificación.Rendimiento. Es necesario que haya disponibles unos mecanismos de retroceso y reinicio en el sistema  Abandonar sucesivamente los procesos bloqueados hasta que deje de haber interbloqueo.. se debe emplear una selección basada en coste y hay que ejecutar de nuevo el algoritmo de detección después de cada apropiación.Eficacia.Tiempo de regreso. El tiempo de procesamiento utilizado y el que le resta.      La prioridad del proceso. .Maximizar el número de tareas procesadas por hora.Garantizar que cada proceso obtiene su proporción justa de la CPU. Dijkstra. .Minimizar el tiempo de respuesta para los usuarios interactivos. Planificación de bajo nivel: Se encarga de pasar de un proceso a otro en memoria principal recursos..:  Condición de retener y esperar  Condición de no expropiación.Minimizar el tiempo que deben esperar los usuarios por lotes (batch) para obtener sus resultados. Prevención del interbloqueo o Deadloock Existen varios algoritmos para mutuos:  Algoritmo del banquero.. .  Detección del interbloqueo Solucionan el problema del interbloqueo limitando el acceso a los recursos e imponiendo restricciones a los procesos. Recuperación del interbloqueo.  Retroceder cada proceso interbloqueado.  Condición de espera circular. Seleccionando los trabajos que deben admitirse en el sistema.Tiempo de respuesta.  Algoritmo de Seguridad.  Abandonar todos los procesos bloqueados.  Algoritmo de solicitud de evitar bloqueos introducido por asignación de Como en el punto 3.  Apropiarse de recursos sucesivamente hasta que deje de haber interbloqueo. Planificación de nivel intermedio: Este subadministrador controla los trabajos que se intercambian hacia fuera y de regreso.. Esta es la más común. El orden en el que se seleccionan los procesos a abandonar seguirá un criterio de mínimo coste.

Sign up to vote on this title
UsefulNot useful