ClubEnsayos.com - Ensayos de Calidad, Tareas y Monografias
Buscar

ADMINISTRACION


Enviado por   •  11 de Junio de 2014  •  3.488 Palabras (14 Páginas)  •  259 Visitas

Página 1 de 14

UNIVERSIDAD DE GUADALAJARA CENTRO UNIVERSITARIO DE TONALA

PROYECTO FINAL

INDICE

PSEUDOCÓDIGO DE ASIGNACION DE MEMORIA

PRIMERAJUSTE MEJOR AJUSTE PEORAJUSTE

PSEUDOCODIGO ALGORIMOS DE PLANIFICACION DE PROCESOS

FCFS

SJF SRT RR

PSEUDOCODIGO PAR IMPEDIR LOS INTERBLOQUEOS BARBERIA

BARBERIA EQUITATIVA

BARBERIA NO EQUITATIVA

INVESTIGACIONN SOBRE CONCURRENCIA

INTERBLOQUEO………………………………………………..i

Condiciones para interbloqueos…………………………………….ii Prevenciones de los interbloqueos………………………….iii Estados seguros e inseguros………………………………..iv Exclusión mutua…………………………………………………v Contención y Espera…………………………………………..vii Condición no apropiativa……………………………………..viii Espera Circular…………………………………………………ix Detección de interbloqueos………………………………..x Recuperación de interbloqueos…………………………….xii Terminación de procesos……………………………………..xiii Bibliografía…………………………………………………….xiv

Pseudocódigo de mejor ajuste Pseudocódigo de primer ajuste Pseudocódigo de peor ajuste

Pseudocódigo de fcfs

#include <stdlib.h>

#include <stdio.h>

int main ()

{

char PLANNER_RESULT,PLANNER_INPUT;

/**

* srt_algorithm

*

* Obtiene un PLANNER_RESULT resultado de aplicar

* el algoritmo SRT a un PLANNER_INPUT

*

* El algoritmo está dividido en 2 fases:

*

* 1f) iteramos sin tener en cuenta todos los procesos

* que puede haber en la estructura, solamente aquellos

* que ya han entrado en el algoritmo, pero están en cola

*

* 2f) iteramos sobre todos los procesos que quedan

* seleccionando en cada iteración aquel con menos tiempo

* de proceso

*/

PLANNER_RESULT srt_algorith (PLANNER_INPUT data)

{

int i=0, j=0;

// proceso inicial

int current_process=0;

// nos indica si estamos en la primera fase int token_second=1;

// nos indica en qué fase estamos int second_phase=0;

// límite de iteraciones para procesos en cola int limit_iteration=0;

// hacemos una copia del PLANNER_INPUT inicial

// para operar sobre él en el algoritmo

PLANNER_INPUT datacopy = data;

// reseteamos la información del PLANNER_RESULT final PLANNER_RESULT rtemp = reset_planner_data(rtemp, data.num); rtemp.num = data.num;

float av_return = 0;

float av_wait = 0;

// obtenemos la suma total de los servicios

// puesto que iteraremos sobre este número

int sum_servicio = sum_planner_data_stime(data);

for(i; i<=sum_servicio; i++)

{

token_second = 1;

// primero comprobamos si este proceso no ha terminado ya if(data.times[current_process].t_servicio != 0)

{

// ejecutamos una iteración de este proceso, y le restamos

// tiempo de servicio data.times[current_process].t_servicio--;

finalización

// si el proceso ha terminado, determinamos su tiempo de

if(data.times[current_process].t_servicio == 0)

{

i+datacopy.idle+1;

}

}

rtemp.processes[current_process].TF =

restante

procesos

//

...

Descargar como (para miembros actualizados)  txt (28 Kb)  
Leer 13 páginas más »
Disponible sólo en Clubensayos.com