jueves, 24 de noviembre de 2011

actividad 2 3er parcial

practica 2





TERCER PARCIAL ACTIVIDAD 1

EJERCICIO 1
Dibuja la jerarquía de procesos que resulta de la ejecución del siguiente código. Introduce las llamadas al sistema wait para que una vez generado el árbol de procesos los hijos sean esperados por sus respectivos padres. Ademas,  haz que se informe de los tiempos de ejecución de las aplicaciones  xload y kcalc que se generen así como del tiempo total de ejecución.  Para calcular el  tiempo transcurrido, puedes utilizar la función´ time() de la librería estándar  time.h. La llamada time(NULL) devuelve los segundos transcurridos desde  las 00:00:00 del 1/1/1970 hasta el instante de la llamada.

int main (int argc, char ∗argv[]) {
         int i, j;
         pid t pid, nuevo, nuevo1;
         time t ini, fin;
         for (i= 0; i< 2; i++){
                   pid= getpid();
         for (j= 0; j< i+2; j++){
                   nuevo= fork();
                   if(nuevo== 0){
                            break;
                            nuevo1= fork();
                            if(nuevo1== 0)
                            execlp ("xload", "xload", NULL);
                   }
         }        
         if (pid!= getpid())
         execlp ("kcalc", "kcalc", NULL);
         }
         return 0;
}






jueves, 3 de noviembre de 2011

PRACTICAS KDE

PRACTICAS EN KDE DE LINUX

PRACTICA 1

AQUI SE MATA UN PROCESO DENTRO DEL CONTOL GRAFICO




PRACTICA 2
SE MATA UN PROCESO DESDE EL MODO CONSOLA


PRACTICA 3
Matando procesos desde una carpeta interna y de la terminal




PRACTICA 4
Muestra la lista de procesos realizados al instante


PRACTICA 5
Lista de procesos en uso y la memoria q utiliza cada uno




PRACTICA 6

SE USA ESTE COMANDO PARA VER PROCESOS Y EL ESTADO DE LA MEMORIA RAM


PRACTICA 7
PROCESOS REALIZADOS


PRACTICA 8
PROCESOS EN TIEMPO REAL


PRACTICA 9
PARA ARRANCAR MAS PROCESOS DESDE LA CONSOLA



PRACTICA 10
CREACION DE UN FIFO




PRACTICA 11

SE AGREGA UN PROCESO A UNA LISTA FIFO Y SE USA UNA TAREA LLAMADA CAT


PRACTICA 12
VER LISTAS DE PROCESOS CREADOS



PRACTICA 13


PREACTICA 14


PRACTICA 15
ARBOL DE PROCESOS NOS MUESTRA LOS PROCESOS PADRES CON SUS HIJO O HILOS




viernes, 21 de octubre de 2011

practica 2

codigo de practica


int cuenta= 0;
tipo_flag flag_lleno, flag_vacio;
tipo_cerrojo mutex;
productor()
{
int elemento;
while (1) {
producir_elemento(&elemento);
while (cuenta == N)
dormir(flag_lleno);
lock(mutex);
dejar_elemento(elemento);
cuenta= cuenta+1;
unlock(mutex);
if (cuenta == 1)
despertar(flag_vacio);
}
}
consumidor()
{
int elemento;
while (1) {
while (cuenta == 0)
dormir(flag_vacio);
lock(mutex);
retirar_elemento(&elemento);
cuenta= cuenta-1;
unlock(mutex);
if (cuenta == N-1)
despertar(flag_lleno);
consumir_elemento(elemento);
}
}
lock_lp (tipo_flag flag)
{
BOOL entrar= 0;
while (!entrar) {
lock(cerrojo_flags);
if (flag) {
unlock(cerrojo_flags);
dormir(flag);
}
else {
entrar= 1;
flag= 1;
unlock(cerrojo_flags);
}
}
}
unlock_lp (tipo_flag flag)
{
lock(cerrojo_flags);
flag= 0;
despertar(flag);
unlock(cerrojo_flags);
}

jueves, 13 de octubre de 2011

CARACTERISTICAS FIFO Y LIFO

TAREA # 1 SEGUNDO PARICIAL

CARACTERISTICAS FIFO  Y LIFO

MEMORIAS FIFO

Son memorias serie en las que la primera información que entra es la primera que sale (First Input First Output), pueden implementarse con registros de desplazamiento estáticos y una unidad de
 control. Esta última debe tener en cuenta las siguientes características de este tipo de memoria.

- La lectura es destructiva, es decir que al leer, el dato leído ya no está más en la memoria.
 - Cada operación de lectura o escritura debe producir un desplazamiento del resto de la memoria.
 - Cuando la memoria está llena no podrá escribirse, por lo tanto la Unidad de Control deberá ser
 capaz de generar una señal de Memoria llena.
 - Generar las señales de control necesarias para que el primer dato escrito esté disponible para la
 primera lectura.
 - Deberá aceptar al menos tres entradas exteriores: señal de lectura/escritura, señal de inicio de ciclo
 y señal de sincronismo.



es normalmente empleada en los ordenadores para guardar datos cuando hay una solicitud de interrupción  en el programa principal y luego volverlos a recuperar.

MEMORIAS FILO (LIFO)

En estas memorias al última información que entra es la primera que sale (Last Input First Output). Puede implementarse con un registro de desplazamiento reversible,.Un registro de desplazamiento reversible está formado por biestables síncronos y multiplexores. La salida de la memoria es la salida del primer biestable y la entrada es el segundo canal del primer multiplexor.
La inserción de una fifo resulta ideal como elemento de interconexión cuando dos sistemas que poseen información, cuyo flujo cuyo flujo presenta una cadencia o asíncrona deben inter cambiar datos. Los datos pueden introducirse o recuperarse ya sea en flujo uniforme, a ráfagas, irregular o incluso en una combinación de los citados.