Example #1
0
int main(){

	printf("init: comienza\n");

	if (crear_proceso("simplon")<0){
                printf("Error creando simplon\n");
	}
	/*if (crear_proceso("dormilon")<0)
                printf("Error creando dormilon\n");*/
	
	/* Este programa causa una excepción */
	if (crear_proceso("excep_arit")<0)
		printf("Error creando excep_arit\n");

	/* Este programa crea otro proceso que ejecuta simplon a
	   una excepción */
	if (crear_proceso("excep_mem")<0)
		printf("Error creando excep_mem\n");
	
	/* No existe: debe fallar */
	if (crear_proceso("noexiste")<0)
		printf("Error creando noexiste\n");

	espera();
	printf("init: termina\n");
	return 0; 
}
Example #2
0
int main(){

        int i, tot, j=5;
	struct tiempos_ejec tiempos_f1, tiempos_f2, tiempos_f3;
	int t0, t1, t2, t3;

	printf("prueba_tiempos: comienza\n");
	t0=tiempos_proceso(0);

	printf("PRIMERA FASE: HACE LLAMADAS AL SISTEMA\n");
	
        for (i=0; i<TOT_ITER_FASE1; i++)
                printf("prueba_tiempos: i %d\n", i);

	printf("FIN PRIMERA FASE\n");
	t1=tiempos_proceso(&tiempos_f1);
	imp_tiempos(t1-t0, tiempos_f1.usuario, tiempos_f1.sistema);

	printf("SEGUNDA FASE: TODO CPU \n");


        for (i=0; i<TOT_ITER_FASE2; i++)
                tot=j*i;

	printf("FIN SEGUNDA FASE\n");
	t2=tiempos_proceso(&tiempos_f2);
	imp_tiempos(t2-t1, tiempos_f2.usuario-tiempos_f1.usuario,
		tiempos_f2.sistema-tiempos_f1.sistema);


	printf("TERCERA FASE: DORMIDO\n");

	dormir(1);

	printf("FIN TERCERA FASE\n");
	t3=tiempos_proceso(&tiempos_f3);
	imp_tiempos(t3-t2, tiempos_f3.usuario-tiempos_f2.usuario,
		tiempos_f3.sistema-tiempos_f2.sistema);


	printf("PASANDO ARGUMENTO ERRONEO\n");

	printf("tot: %d\n", tot);

	/* Debe sobrevivir después de abortar el proceso */ 
	if (crear_proceso("simplon")<0)
		printf("Error creando simplon\n");

	tiempos_proceso((struct tiempos_ejec *) main);

	printf("prueba_tiempos: termina. NO DEBE SALIR\n");

	return 0; 
}
Example #3
0
int main(){

	printf("prueba_alta_prioridad: comienza\n");

	if (crear_proceso("yosoy")<0)
		printf("Error creando yosoy baja\n");

	if (crear_proceso("yosoy")<0)
		printf("Error creando yosoy baja\n");

        if (crear_proceso_alta_prioridad("yosoy")<0)
                printf("Error creando yosoy alta\n");

        if (crear_proceso_alta_prioridad("yosoy")<0)
                printf("Error creando yosoy alta\n");


	printf("prueba_alta_prioridad: termina\n");

	return 0; 
}
Example #4
0
File: init.c Project: hermetico/SO
int main(){

	printf("init: comienza\n");
    fijar_prio(25);
    if (crear_proceso("dormilon")<0)
               printf("Error creando dormilon\n");

    fijar_prio(30);
    if (crear_proceso("simplon")<0)
                printf("Error creando simplon\n");

	/* Este programa causa una excepción */
	if (crear_proceso("excep_arit")<0)
		printf("Error creando excep_arit\n");
    
    /* Este programa solicita que lo pongan a dormir */
	if (crear_proceso("dormilon")<0)
                printf("Error creando dormilon\n");

    if (crear_proceso("simplon")<0)
                printf("Error creando simplon\n");
	/* Este programa crea otro proceso que ejecuta simplon a
	   una excepción */
	//if (crear_proceso("excep_mem")<0)
	//	printf("Error creando excep_mem\n");
	
	/* No existe: debe fallar */
	if (crear_proceso("noexiste")<0)
		printf("Error creando noexiste\n");

    printf("init: termina\n");
	return 0; 
}
Example #5
0
int main(){

	printf("init: comienza\n");

	if (crear_proceso("simplon")<0)
                printf("Error creando simplon\n");
	
	get_pid();
	


	printf("init: termina\n");
	return 0; 
}
int main(){
	int i;
	
	printf("Creando procesos . . . \n");

	for(i=0; i<8; i++)
	{
		if (crear_proceso("test_e2_3_leer_disco")<0){
			printf("test_e2_6_leer_varios_disco: Error al crear el proceso test_e2_3_leer_disco\n");
		}
	}

	printf("Procesos lanzados.\n");
	return 0;
}
int main(){
	int i;
	
	printf("Creando procesos . . . \n");

	for(i=0; i<8; i++)
	{
		if (crear_proceso("test_e2_4_escribir_bloque")<0){
			printf("test_e2_9_escribir_varios_bloque: Error al crear el proceso test_e2_2_leer_bloque\n");
		}
	}

	printf("Procesos lanzados.\n");
	return 0;
}
Example #8
0
File: simplon.c Project: iubeda/SO1
int main(){
	int i;

	printf("simplon (%i): empieza\n", get_pid());
	
	if (crear_proceso("simplon")<0)
                printf("Error creando fill simplon\n");
	
	for (i=0; i<TOT_ITER; i++){
	    
	    printf("Soy simplon (%i), mi padres es %i \n", get_pid(), get_ppid());
	    
	}
	
	printf("simplon (%i): termina\n", get_pid());
	return 0;
}
int main() {
	/*
		MONTAJE DISCOFS
	*/
	//Montar disco.
	printf("escribir_fichero_mul_varfic -> Montando el disco en la particion /FICHEROS/lectura con discoFS\n");
	if(montar("disco", "lectura", "discoFS") < 0) {
		printf("escribir_fichero_mul_varfic -> Error al montar particion lectura en disco con discoFS.\n");
	}

	int i = 0;
	for(i = 0; i < 5; i++) {
		if(crear_proceso("escribir_fichero_mul_varfic_child") < 0) {
			printf("Error creando escribir_fichero_mul_varfic_child.\n");
		}
	}

	return (0);
}
Example #10
0
int main()
{
	int i;

	printf("simplon: comienza\n");
	for (i=0; i<TOT_ITER; i++) printf("simplon: i %d\n", i);
	//fijar_prio(30); /* Augmentam la prioritat */
	

	/* Prova de prioritats, deixarem que el simplon2 heredi del pare*/
	if (crear_proceso("dormilon")<0){
                printf("Error creando dormilon\n");
	}
	//fijar_prio(10); //Aqui debería activarse la interrupción de Software.
	espera();

	
	printf("simplon: termina\n");
	return 0;
}
Example #11
0
File: simplon.c Project: iubeda/SO1
int main(){
	int i;

	printf("simplon: empieza\n");
	//fijar_prio(11);
	
	if (crear_proceso("simplon")<0)
		printf("Error creando simplon\n");
	
	printf("Soy simplon, mi padre es %i", get_ppid());
	for (i=0; i<TOT_ITER; i++){
	    
	  if(i == TOT_ITER/2){
	    printf("simplon: MITAD\n");
	    //dormir(2);
	  }
	    
	}
	
	printf("simplon: termina\n");
	return 0;
}
Example #12
0
void * LTS_demorado(void * var){
	char *buffer_2=(char *)malloc(1024);
	bzero(buffer_2,1024);
	char *prioridad=(char *)malloc(64);
	bzero(prioridad,64);
	char *paso_mensaje=(char *)malloc(256);

	while(1){
		sem_wait(sem_lts_demorado);
			pthread_t id_hilo=pthread_self();

			int retorno;
			int socket_demorado;
			proceso proceso;

			pthread_mutex_lock(&mutexListaDemorados);
			if((socket_demorado=sacar_conexion_demorada(listaConeccionesDemoradas))>0){
				pthread_mutex_unlock(&mutexListaDemorados);

				pthread_mutex_lock(&mutexVarMMP);
				pthread_mutex_unlock(&mutexVarMMP);
				if( (retorno = validar_mmp_demorado(socket_demorado)) == 0){
					enviar_mensaje("Enviame el codigo\n",socket_demorado);
					recibir_mensaje(&buffer_2,socket_demorado);
					recibir_mensaje(&prioridad,socket_demorado);
					//printf("Me llego la prioridad: %s\n",prioridad);
					proceso = crear_proceso(buffer_2,prioridad,socket_demorado);

					bzero(paso_mensaje,256);
					sprintf(paso_mensaje,"Se creo el proceso con PID=%d\n",proceso.pcb.pid);
					enviar_mensaje(paso_mensaje,socket_demorado);

					logx(proceso.pcb.pid,"LTS_demorado",id_hilo,"INFO","El proceso ha sido creado.");

					char *log_text=(char *)malloc(127);
					sprintf(log_text,"La prioridad del proceso es %d.",proceso.prioridad);
					logx(proceso.pcb.pid,"LTS_demorado",id_hilo,"DEBUG",log_text);
//					if ( buffer_2 != NULL ){
//						free(buffer_2);
//					}

					pthread_mutex_lock(&mutexListaNuevos);
					agregar_proceso(listaProcesosNuevos,proceso);
					pthread_mutex_unlock(&mutexListaNuevos);

					sem_post(sem_sts);

					logx(proceso.pcb.pid,"LTS_demorado",id_hilo,"LSCH","Agregue el proceso a la lista de Nuevos.");

					pthread_mutex_lock(&mutexVarMMP);
					mmp++;
					pthread_mutex_unlock(&mutexVarMMP);
					logx(proceso.pcb.pid,"LTS",id_hilo,"INFO","Se aumento el grado de multiprogramacion.");

				}else{

					 if( retorno == -2){
						logx(proceso.pcb.pid,"LTS",id_hilo,"ERROR","Se sobrepaso el maximo grado de multiprogramacion.");
						logx(proceso.pcb.pid,"LTS",id_hilo,"INFO","Se aumento el grado de multiprogramacion.");
					 }
				}

				//FD_CLR(socket_demorado,&(*master));
			}else{
				pthread_mutex_unlock(&mutexListaDemorados);
			}
			sleep(1);
	}

	return 0;
}
Example #13
0
File: init.c Project: Noltari/UC3M
int main(){
int num;
int i;


    printf("init: comienza\n");

	printf("Menu de pruebas\n\n");
	
	printf("1.- Prueba simple\n");
	printf("2.- Excepcion aritmetica\n");
	printf("3.- Excepcion memoria\n");
	printf("4.- Nuevas llamadas\n");
	printf("5.- Dormir procesos\n");
	printf("6.- Planificacion Round-Robin\n");
	printf("7.- Mostrar disco\n");
	printf("8.- Mostrar fichero\n");
	printf("9.- Copiar disco\n");
	printf("10.-Copiar fichero\n");
	printf("11.-Dormilon\n");
	printf("12.-Alta prioridad\n");
	printf("13.-Prueba avanzada dormir\n");
	printf("*************\n");
	printf("*** DISCO ***\n");
	printf("*************\n");
	printf("14.-Leer disco\n");
	printf("15.-Escribir disco\n");
	printf("16.-Leer disco avanzada\n");
	printf("17.-Escribir disco avanzada\n");
	printf("18.-Leer bloque disco avanzada\n");
	printf("19.-Escribir bloque disco avanzada\n");
	printf("\nIntroduzca su opcion:");
	scanf("%d",&num);


	switch (num) {
	case 1:
		/* PRUEBA CREAR PROCESO QUE NO EXISTE */
		if (crear_proceso("noexiste")<0)
			printf("Error creando noexiste\n");

		/* PRUEBA CREAR PROCESO SIMPLE */
		if (crear_proceso("simplon")<0)
			printf("Error creando simplon\n");
		break;
	case 2:
		/* PRUEBA PROVOCAR EXCEPCION ARITMETICA */
		if (crear_proceso("excep_arit")<0)
			printf("Error creando excep_arit\n");
		break;
	case 3:
		/* PRUEBA PROVOCAR EXCEPCION MEMORIA */
		if (crear_proceso("excep_mem")<0)
			printf("Error creando excep_mem\n");
		break;
	case 4:
		/* PRUEBA DE LAS NUEVAS LLAMADAS */
		for (i=1; i<=2; i++) {
			if (crear_proceso("yosoy")<0)
				printf("Error creando yosoy\n");
		}
		break;
	case 5:
		/* PRUEBA DE LA LLAMADA DORMIR */
		if (crear_proceso("prueba_dormir")<0)
			printf("Error creando prueba_dormir\n");
		break;
	case 6:
		/* PRIMERA PRUEBA DE ROUND-ROBIN */
		if (crear_proceso("prueba_RR")<0)
			printf("Error creando prueba_RR\n");
		break;
	case 7:
		/* PRUEBA DEL DRIVER DE CDROM */
		if (crear_proceso("mostrar_disco")<0)
			printf("Error creando mostrar_disco\n");
		break;
	case 8:
		/* PRUEBA DEL SISTEMA DE FICHEROS SOLO LECTURA */	
		if (crear_proceso("mostrar_fichero")<0)
			printf("Error creando mostrar_fichero\n");
		break;
	case 9:
		/* PRUEBA DEL DRIVER DE DISCO */
		if (crear_proceso("copiar_disco")<0)
			printf("Error creando copiar_disco\n");
		break;
	case 10:
		/* PRUEBA DEL SISTEMA DE FICHEROS LECTURA/ESCRITURA */	
		if (crear_proceso("copiar_fichero")<0)
			printf("Error creando copiar_fichero\n");
		break;
	case 11:
		if(crear_proceso("dormilon") < 0) {
			printf("Error creando dormilon\n");
		}
		break;
	case 12:
		if(crear_proceso("prueba_alta_prioridad")<0) {
			printf("Error creando prueba alta prioridad\n");
		}
		break;
	case 13:
		if(crear_proceso("prueba_avanzada_dormir") < 0) {
			printf("Error creando prueba avanzada dormir\n");
		}
		break;
	case 14:
		if(crear_proceso("leer_disco") < 0) {
			printf("Error creando prueba leer disco\n");
		}
		break;
	case 15:
		if(crear_proceso("escribir_disco") < 0) {
			printf("Error creando prueba escribir disco\n");
		}
		break;
	case 16:
		for(i = 0; i < 9; i++) {
			if(crear_proceso("leer_disco") < 0) {
				printf("Error creando prueba escribir disco\n");
			}
		}
		break;
	case 17:
		for(i = 0; i < 9; i++) {
			if(crear_proceso("escribir_disco") < 0) {
				printf("Error creando prueba escribir disco\n");
			}
		}
		break;
	case 18:
		for(i = 0; i < 9; i++) {
			if(crear_proceso("leer_disco_bloque") < 0) {
				printf("Error creando prueba escribir disco\n");
			}
		}
		break;
	case 19:
		for(i = 0; i < 9; i++) {
			if(crear_proceso("escribir_disco_bloque") < 0) {
				printf("Error creando prueba escribir disco\n");
			}
		}
		break;
	}

    printf("init: fin\n");

	return (0);
}