Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Segn las caractersticas de la lnea de flujo de control los programa se clasifican en: oSecuenciales. oConcurrentes. oTiempo real.
oEl conjunto de tareas hacen uso del 95% de la capacidad del procesador. oNo es posible combinar secuencialmente la tres tareas. EJEMPLO: SOLUCIN SECUENCIAL. oLa solucin requiere segmentar las tareas mas largas en secciones mas breves. oLa solucin es difcil de mantener.
Estructura jerarquizada: Entre los procesos existe unas relaciones de dependencia con estructura de rbol. Un proceso no termina hasta que los procesos que dependen de l terminan.
Creado
Eliminado
Ejecucin
Terminado
El proceso pasa al estado terminado, cuando por causa de concluir su lnea de control de flujo, o por algn tipo de error finaliza su operacin. Cuando la sentencia "cobegin ... coend" a la que pertenece un proceso, concluye como consecuencia de que todos los procesos en ella incluidos han finalizado, el proceso queda eliminado y todos los recursos que le haban sido asignados son retornados al sistema. Por ltimo, el proceso deja de existir cuando concluye el componente software en el que fue definido.
Creado
Eliminado
Listo
Terminado
Ejecucin Ejecutable
El trnsito repetido para cada proceso entre los estados ejecucin y listo es controlado por el planificador de procesos (scheduler). Un programa que se encuentra en ejecucin en la CPU, pasa a estado suspendido por:
Creado
Eliminado
Listo
Terminado
Ejecucin Ejecutable
Dormido que corresponde al estado cuando ejecuta una sentencia de suspensin tal como "sleep" o "wait". Estado en espera de un recurso corresponde a un proceso que se encuentra bloqueado en un mutex en espera de recibir el acceso a un recurso.
Caractersticas de la poltica de planificacin Capacidad de desalojar el proceso en ejecucin: Ejecutndose Poltica desalojante (preemptive). Poltica no desalojante (non-preemptive) Criterio de seleccin del proceso a ejecutar: Poltica FIFO. -Poltica LIFO. -Poltica Round-Robin Prioridad esttica -Prioridad dinmica.
Los objetos pasivos se construyen a partir de componentes de sincronizacin pasivos (tales como semforos, seales, zonas de exclusin mutua, etc.): Requieren la definicin de nuevas primitivas de sincronizacin. Introduce mayor complejidad ya que utiliza componentes de muy diferentes niveles de abstraccin. Son muy eficientes.
Sincronizacin en la ejecucin de tareas: La lgica de la aplicacin requiere que un proceso no pueda ejecutar una sentencia determinada hasta que otro proceso haya ejecutado una sentencia de la que depende.
El diagrama de secuencias muestra las interacciones entre los tres objetos que constituyen la aplicacin, y el diagrama de actividad representa las actividades que genera la ejecucin del procedimiento main() que lanza la aplicacin (contienen una misma informacin):
Entrelazado de operaciones concurrentes que conduce a error. Valor inicial de x: x=4 (P1) P carga x en su acumulador AcP = 4 x=4 (Q1) Q carga x en su acumulador AcQ = 4 x=4 (Q2) Q incrementa su acumulado AcQ = 5 x=4 (P2) P incrementa su acumulador AcP = 5 x=4 (Q3) Q almacena el acumulador en x AcQ=5 x=5 (P3) P almacena el acumulador en x AcP = 5 x=5 El resultado es incorrecto ya que el resultado debera ser 6 y no 5.
var i, mayor:integer; begin mayor:=0; for i:=1 to nTornos do if ticket[i]>mayor then mayor:= ticket[i]; max:=mayor+1; end; begin .... end;
begin if(ticket[mio]=0)or(ticket[mio]>ticket[otro]) then elegido:=false; else if (ticket[mio]<ticket[otro]) then elegido:=true; else elegido=(mio<otro); end;