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; }
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); }
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; }
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; }