Ejemplo n.º 1
0
int main() {
	/*
		ESCRITURA FICHEROS
	*/
	//Abrir fichero.
	int fd512 = abrir("/FICHEROS/lectura/fichero_mul_child512", T_FICHERO);
	printf("escribir_fichero_mul_child(%d) -> fd = %d", obtener_id_proceso(), fd512);
	if(fd512 < 0) {
		printf("escribir_fichero_mul_child(%d) ->  Error al abrir fichero origen fichero_mul_child512\n", obtener_id_proceso());
		return -1;
	}

	//Llenar bloque.
	char buffer512[512];
	char letra = (char) ('A' + obtener_id_proceso());
	llenar_bloque(letra, buffer512, 512);

	//Escribir bloque.
	int escritos512 = escribir(fd512, buffer512, 512);
	printf("escribir_fichero_mul_child(%d) -> Escritos(512%c): %d\n", obtener_id_proceso(), letra, escritos512);

	//Cerrar fichero.
	cerrar(fd512);

	/*
		SINCRONIZADO DISCOFS
	*/
	printf("escribir_fichero_mul_child(%d) -> Sincronizando el volumen montado en /FICHEROS/lectura\n", obtener_id_proceso());
	if(sincronizar("lectura") < 0) {
		printf("escribir_fichero_mul_child(%d) -> Error al sincronizar el volumen\n", obtener_id_proceso());
	}

	return 0;
}
Ejemplo n.º 2
0
int main(){
	char bloque[1025];

	int fd_disco;
	int ret;
	int num_bloque=0;
	int error_encontrado = 0;

	int id_actual = obtener_id_proceso();

	printf("Comprobando lectura por bloques (%d)\n", id_actual);
	
	/* limpiar el bloque */
	for(ret = 0; ret < 1024; ret ++){
		bloque[ret] = 'n';
	}
	bloque[1024] = '\0';


	/* abrir fichero origen */
	fd_disco = abrir ("/DISPOSITIVOS/disco",0);
	if (0 > fd_disco) {
		printf("test_bloque_cdrom(%d): Error al abrir el cdrom\n", id_actual);
		printf("### Result: Fail\n");	
		return (-1);
	}

	/* mostra cdrom por pantalla */
	printf("test_disco_cdrom (%d) leyendo bloque %d\n", id_actual, num_bloque);
	ret = leer(fd_disco, bloque, 1024);

	error_encontrado = comprobar_valores(bloque, num_bloque);

	while ((0 < ret) && !error_encontrado) { 
        	fprintf(stdout, "{%s}FIN\n", bloque);
		num_bloque++;
		printf("test_disco_cdrom (%d) leyendo bloque %d\n", id_actual, num_bloque);
		ret = leer(fd_disco, bloque, 1024);
		if(ret > 0){
			error_encontrado = comprobar_valores(bloque, num_bloque);
		}
	}
	
	printf("Bloque final: %d, error_encontrado: %d\n", num_bloque, error_encontrado);
	/* El Ãltimo bloque leido no deberÃa sobrepasar la imagen. */
	if(num_bloque != 10){
		printf("### Result: Fail\n");
	}else{
		if(!error_encontrado){
			printf("### Result: OK\n");
		}else{
			printf("### Result: Fail\n");
		}
	}
	
	/* cerrar cdrom */
	cerrar (fd_disco);

	return (0);
}
Ejemplo n.º 3
0
int main(){
	int id;

	id=obtener_id_proceso();
	printf("dormilon_AV (%d): comienza\n", id);

	printf("dormilon_Av (%d) duerme 2 segundos\n", id);
	dormir(2);

	printf("dormilon_Av (%d): termina\n", id);
	return 0;
}
Ejemplo n.º 4
0
int main(){
	int i, id;

	id=obtener_id_proceso();
	printf("dormilon_Pr (%d): comienza\n", id);
	for (i=0; i<ITER; i++){
		printf("yosoy (%d): i=%d, time=%d\n", id, i, obtener_tiempo());
		if(i == DUERME){
			printf("(%d) duerme 2 segundos\n", id);
			dormir(2);
		}
	}
	printf("dormilon_Pr (%d): termina\n", id);
	return 0;
}