Algoritmos paralelos(ejemplos)

Páginas: 7 (1521 palabras) Publicado: 24 de abril de 2014
ALGORITMO LECTOR-ESCRITOR (SEMAFOROS)
1. INICIO
2. Iniciar semáforos mutexr,mutexw, lectores, escritores.
3. Definir proceso : LECTOR
3.1. Repetir por Siempre
3.2. Verificar el estado del semáforo: lectores.
3.2.1. Si su estado es mayor que 1 continuar al paso 2.3.
3.2.2. Si su estado es menor que 0 dejar esperando hasta que cambie su estado.
3.3. Verificar el estado del semáforo:mutexr.
3.3.1. Si su estado es mayor que 1 continuar al paso 2.4.
3.3.2. Si su estado es menor que 0 dejar esperando hasta que cambie su estado.
3.4. Asignar a la variable nr  nr + 1.
3.5. Si la variable nr es igual a 1 entonces hacer
3.5.1. Verificar el estado del semáforo escritores.
3.5.1.1. Si su estado es mayor que 1 continuar al paso 2.7.
3.5.1.2. Si su estado es menor que 0 dejaresperando hasta que cambie su estado.
3.6. Aumentar en 1 al estado del semáforo: mutexr y continuar.
3.7. Aumentar en 1 al estado del semáforo: lectores y continuar.
3.8. Escribir en pantalla: “Leyendo…”
3.9. Verificar el estado del semáforo mutexr.
3.9.1. Si su estado es mayor que 1 continuar al paso 2.10.
3.9.2. Si su estado es menor que 0 dejar esperando hasta que cambie su estado.
3.10. Asignara la variable nr  nr – 1.
3.11. Si la variable nr es igual 0 entonces hacer
3.11.1. Aumentar en 1 al estado del semáforo: escritores y continuar.
3.12. Aumentar en 1 al estado del semáforo: mutexr y continuar.
4. Definir proceso : ESCRITOR
4.1. Repetir por Siempre
4.2. Verificar el estado del semáforo mutexw.
4.2.1. Si su estado es mayor que 1 continuar al paso 3.3.
4.2.2. Si su estadoes menor que 0 dejar esperando hasta que cambie su estado.
4.3. Asignar a la variable nw  nw + 1.
4.4. Si la variable nw igual a 1 entonces hacer
4.4.1. Verificar el estado del semáforo mutexw.
4.4.1.1. Si su estado es mayor que 1 continuar al paso 3.3.
4.4.1.2. Si su estado es menor que 0 dejar esperando hasta que cambie su estado.
4.5. Aumentar en 1 al estado del semáforo: mutexw ycontinuar.
4.6. Aumentar en 1 al estado del semáforo: escritores y continuar.
4.7. Verificar el estado del semáforo mutexw.
4.7.1. Si su estado es mayor que 1 continuar al paso 3.3.
4.7.2. Si su estado es menor que 0 dejar esperando hasta que cambie su estado.
4.8. Asignar a la variable nwnw-1.
4.9. Si la variable nw es igual a 0 entonces hacer
4.9.1. Aumentar en 1 al estado del semáforo:lectores y continuar.
4.10. Aumentar en 1 al estado del semáforo: mutexw y continuar.
5. Inicio del programa principal
6. Asignar a las variables nw 0 y nr 0.
7. Iniciar o colocar el estado del semáforo mutexr igual a 1.
8. Iniciar o colocar el estado del semáforo mutexw igual a 1.
9. Iniciar o colocar el estado del semáforo lectores igual a 1.
10. Iniciar o colocar el estado del semáforoescritores igual a 1.
11. Inicio de la secuencia concurrente.
11.1. Iniciar proceso “ESCRITOR”.
11.2. Iniciar proceso “LECTOR”.
12. Fin de la secuencia concurrente.
13. Fin del programa principal
14. FIN

ALGORITMO DE LOS FILOSOFOS (SEMAFOROS)
1. INICIO
2. Declarar semaforo: mutex, vector de semáforos :s y vector de caracteres: estado.
3. Declarar la variable constante N  5.
4. Definirfunción: “Izq” que recibe una variable “i” del tipo entero y devuelve una variable del tipo entero.
4.1. Devolver el residuo de i-1 entre N.
5. Definir función: “Der” que recibe una variable “i” del tipo entero y devuelve una variable del tipo entero.
5.1. Devolver el residuo de i+1 entre N.
6. Definir procedimiento: “pensar” que recibe como parámetro la variable “i”.
6.1. Asignar a la variablet un número aleatorio.
6.2. Escribir en pantalla: “Filosofo” más la variable i y además “pensando”.
6.3. Asignar al elemento i del vector estado la letra ‘P’.
6.4. Pausar el procedimiento por determinado tiempo “t”.
7. Definir el procedimiento: “comer” que recibe como parámetro una variable “i” del tipo del entero.
7.1. Asignar al elemento “i” del vector estado la letra ‘C’.
7.2. Pausar...
Leer documento completo

Regístrate para leer el documento completo.

Estos documentos también te pueden resultar útiles

  • algoritmos paralelos
  • Ejemplos de algoritmos
  • Algoritmos (Ejemplos)
  • Ejemplo algoritmo
  • ejemplo de algoritmos
  • Ejemplos de algoritmos
  • Ejemplos de algoritmos
  • Ejemplo de algoritmos

Conviértase en miembro formal de Buenas Tareas

INSCRÍBETE - ES GRATIS