Beruflich Dokumente
Kultur Dokumente
Universidad
nacional tecnológica
de lima sur
Por
ii
información fundamental para
llevarlo a cabo.
ii
TABLA DE CONTENIDO
DEDICATORIA
ii
LISTA DE FIGURAS...................................................................................................................v
LISTA DE TABLAS.....................................................................................................................vi
INTRODUCCIÓN......................................................................................................................vii
CAPITULO I..................................................................................................................................1
PROCESO......................................................................................................................................1
1.1 Definición...........................................................................................................................1
1.2 Recursos.............................................................................................................................1
1.3 Estados de procesos......................................................................................................2
1.3.1 Modelo de procesos de dos estados.................................................................2
1.3.2 Modelo de proceso de cinco estados...............................................................3
CAPITULO II................................................................................................................................6
ALGORITMO DE PLANIFICACIÓN.....................................................................................6
2.1 Definición...........................................................................................................................6
2.2 Categorías.........................................................................................................................6
2.2.1. Apropiativas (preemtive)...................................................................................6
2.2.2. No apropiativas (Non.preemtive).................................................................7
2.3 Objetivos del planificador............................................................................................7
2.3.1. Entorno de proceso por lotes (Batch).........................................................7
2.3.2. Entorno interactivos..........................................................................................8
2.3.3. Entorno de tiempo real....................................................................................8
CAPITULO III...............................................................................................................................9
ALGORITMO DE PLANIFICACIÓN SJF.............................................................................9
3.1 Definición...........................................................................................................................9
3.2 Características...............................................................................................................10
3.3 Comportamiento...........................................................................................................10
3.3.1 Con desalojo............................................................................................................11
3.3.2 Sin desalojo.............................................................................................................13
3.3 Esquemas.........................................................................................................................14
3.3.1 No apropiativo.......................................................................................................14
3.3.2 Apropiativo..............................................................................................................15
3.4 Ventajas y desventajas................................................................................................17
3.4.1 Ventajas....................................................................................................................17
3.4.2 Desventajas.............................................................................................................18
3.5 Aplicación del Algoritmo SJF en Borland C++..................................................18
CAPITULO IV.............................................................................................................................21
CONCLUSIONES.....................................................................................................................21
Referencias Bibliográficas....................................................................................................22
v
LISTA DE FIGURAS
v
LISTA DE TABLAS
Tabla 1............................................................................................................... 9
Tabla 2............................................................................................................. 11
Tabla 3............................................................................................................. 13
Tabla 4............................................................................................................. 14
Tabla 5............................................................................................................. 16
Tabla 6............................................................................................................... 1
vi
INTRODUCCIÓN
vii
CAPITULO I
PROCESO
1.1 Definición
Programa en ejecución.
1.2 Recursos
Tiempo de la CPU.
Memoria.
Una forma más óptima para manejar esta situación es dividir el estado
en No Ejecutando en dos estados: Listo y Bloqueado. Para gestionarlo
correctamente, se han añadido dos estados adicionales que serán
bastante útiles(Figura 3). Estos cinco estados son:
Estos son los tipos de eventos que llevan a cada transición de estado
para cada proceso:
ALGORITMO DE PLANIFICACIÓN
2.1 Definición
Objetivos
2.2 Categorías
2.2.1. Apropiativas (preemtive)
Características:
Es útil cuando los procesos de alta prioridad requieren atención
rápida.
Características:
2.3.2.Entorno interactivos
3.1 Definición
Ejemplo
Tabla 1
P1 6
P2 8
P3 7
P4 3
P1 P2 P3 P4
0
3 9 16 24
3.2 Características
3.3 Comportamiento
Tiempo de
Proceso
llegada
P1 0
P2 2
P3 4
P4 5
En el ejemplo se toma
como criterio que la cola
de procesos listos esta
inicialmente vacia.
En la figura se
representa la llegada de
P1 a la cola de listos con
un tiempo de llegada
(0,0). Luego a P1 se le
calcula su CCPU (CCPU
= 7) y en ese instante se
comienza a ejecutar.
Estando en ejecución el
proceso P1, se incorpora a
la cola de listos P2, al cual
se le calcula su CCPU
(CCPU = 4).
P2 es reincorporado a la
cola de listos porque no
ha terminado su
El proceso P4 se incorpora
a la cola de listos y se le
calcula su CCPU (CCPU =
4).
Luego P3 termina su
ejecución para cederle la
CPU al proximo proceso que
le corresponda según el
criterio que establece el
algoritmo.
Para el ejemplo le
corresponde el turno a P2,
Tabla 3
P1 0 7
P2 2 4
P3 4 1
P4 5 4
3.3 Esquemas
3.3.1 No apropiativo
1. Ejemplo:
Tabla 4
P2 2 4
P3 4 1
P4 5 4
Para SJF no apropiativo
Tiempo de espera:
Tiempo de entrega:
3.3.2 Apropiativo
3.3.2.1 Ejemplo:
Tabla 5
P1 0 7
P2 2 4
P3 4 1
P4 5 4
3.4.1 Ventajas
3.4.2 Desventajas
#include<conio.h>
#include<iostream.h>
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
int np, sre, ses, i, b, c;
float a, pre, pes, s, nM;
float Tll[50], TS[50], TScop[50], TCo[50], TFi[50], TRe[50], TEs[50];
void main () {
cout<<"Ingrese el numero de procesos a planificar: ";
cin>>np; cout<<endl;
a=0; sre=0; ses=0;
for (i=0;i<np;i++){
cout<<"Ingrese el Tiempo de Llegada del proceso P"<<i+1<<": ";
cin>>Tll[i]; cout<<endl;
cout<<"Ingrese el Tiempo de Servicio del proceso P"<<i+1<<": ";
cin>>TS[i]; cout<<endl;
}
nM=TS[0];
for (i=1;i<np;i++){
if (TS[i]>nM) nM=TS[i];
}
TCo[0]=0;
TFi[0]=TS[0];
for (i=0;i<np;i++){
TScop[i]=TS[i];
}
s=0; c=0;
do{
b=1;
for (i=1;i<np;i++){
if (TScop[b]>TScop[i]){
a=TScop[i];
b=i;
}}
TCo[b]=TFi[c];
TFi[b]=TCo[b]+TS[b];
TScop[b]=nM+1;
c=b;
s=s+1;
}
while(s<(np-1));
for (i=0;i<np;i++){
TRe[i]=TFi[i]-Tll[i];
sre=sre+TRe[i];
TEs[i]=TCo[i]-Tll[i];
ses=ses+TEs[i];
}
pre=sre/np;
pes=ses/np;
cout<<endl;
cout<<"Proceso T.Llegada T.Servicio T.Finalizacion T.Retorno T.Espera"<<endl;
for (i=0;i<np;i++){
cout<<" "<<i<<" "<<Tll[i]<<" "<<TS[i]<<" "<<TFi[i]<<" "<<TRe[i]<<" "<<TEs[i]<<endl;
}
cout<<"Promedio de Tiempo de Retorno: "<<pre<<endl;
cout<<"Promedio de Tiempo de Espera: "<<pes<<endl;
getch();
}
Utilizando como ejemplo el ejercicio anterior
Tabla 6
P1 0 7
P2 2 4
P3 4 1
P4 5 4
CAPITULO IV
CONCLUSIONES