int main() { char* fichero_existente = "/FICHEROS/lectura/leer_escritura_varios_tamanyos256"; char* fichero_no_existente = "/FICHEROS/lectura/leer_escritura_varios_tamanyos64"; //Montar disco. printf("abrir_fichero_exista_noexista -> Montando el disco en la particion /FICHEROS/lectura con discoFS\n"); if(montar("disco", "lectura", "discoFS") < 0) { printf("abrir_fichero_exista_noexista -> Error al montar particion lectura en disco con discoFS.\n"); } //Abrir ficheros int fd64 = abrir(fichero_no_existente, T_FICHERO); if(fd64 < 0) { printf("abrir_fichero_exista_noexista: Error al abrir fichero origen %s\n", fichero_no_existente); return -1; } int fd256 = abrir(fichero_existente, T_FICHERO); if(fd256 < 0) { printf("abrir_fichero_exista_noexista: Error al abrir fichero origen %s\n", fichero_existente); return -1; } printf("abrir_fichero_exista_noexista -> %s -> fd = %d", fichero_no_existente, fd64); printf("abrir_fichero_exista_noexista -> %s -> fd = %d", fichero_existente, fd256); //Mostrar ficheros. char buffer[TAM_BUFFER + 1]; int leidos; bzero(buffer, TAM_BUFFER + 1); leidos = leer(fd256, buffer, TAM_BUFFER); int leidos256 = leidos; while(leidos > 0) { printf("%s",buffer); bzero(buffer, TAM_BUFFER + 1); leidos = leer(fd256, buffer, TAM_BUFFER); leidos256 += leidos; } printf("Leidos(%s): %d\n", fichero_existente, leidos256); bzero(buffer, TAM_BUFFER + 1); leidos = leer(fd64, buffer, TAM_BUFFER); int leidos64 = leidos; while(leidos > 0) { printf("%s",buffer); bzero(buffer, TAM_BUFFER + 1); leidos = leer(fd64, buffer, TAM_BUFFER); leidos64 += leidos; } printf("Leidos(%s): %d\n", fichero_no_existente, leidos64); //Cerrar ficheros cerrar(fd64); cerrar(fd256); return 0; }
int main (int argc, char **argv) { if (argc != 3) { printf("(mi_rm.c) ERROR: usar %s nombre_sistema_ficheros nombre_fichero.\n",argv[0]); return -1; } if (montar(argv[1]) == -1) { return -1; } mi_unlink_directorio(argv[2]); if (desmontar() == -1) { return -1; } }
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); }
int main(){ char origen[MAX_STRING]; char buffer[TAM_BUFFER]; int escritos; int ret; int fd_origen; printf("Montando el disco en la particion /FICHEROS/lectura con discoFS\n"); ret=montar("disco", "lectura", "discoFS"); if (0 > ret) { printf("escribir_fichero: Error al montar particion lectura en disco con discoFS\n"); } /* obtener los nombre de los ficheros */ printf("Introduzca el fichero destino EJ: /FICHEROS/lectura/datos:"); scanf("%s",origen); /* abrir fichero origen */ fd_origen = abrir (origen,T_FICHERO); if (0 > fd_origen) { printf("escribir_fichero: Error al abrir fichero destino %s\n", origen); return (-1); } llenar_bloque('A', buffer); escritos = escribir(fd_origen,buffer,TAM_BUFFER); printf("%d\n", escritos); cerrar(fd_origen); return (0); }
int main(){ char origen[MAX_STRING]; char destino[MAX_STRING]; char buffer[TAM_BUFFER]; int fd_origen, fd_destino; int leidos, escritos; int ret; /* montar debugfs */ printf("Montando la depuracion en la particion /FICHEROS/proc con debugFS\n"); ret=montar("", "proc", "debugFS"); if (0 > ret) { printf("mostrar_fichero: Error al montar particion de depuracion con debugFS\n"); return (-1); } /* montar cdrom */ printf("Montando el cdrom en la particion /FICHEROS/lectura con cdromFS\n"); ret=montar("cdrom","lectura", "cdromFS"); if (0 > ret) { printf("Copiar_fichero: Error al montar particion lectura en cdrom con cdromFS\n"); return (-1); } /* montar disco */ printf("Montando el disco en la particion /FICHEROS/escritura con discoFS\n"); ret=montar("disco","escritura", "discoFS"); if (0 > ret) { printf("Copiar_fichero: Error al montar particion escritura en disco con discoFS\n"); return (-1); } /* obtener los nombre de los ficheros */ printf("Introduzca el fichero origen EJ: /FICHEROS/lectura/datos:"); scanf("%s",origen); printf("Introduzca el fichero destino EJ: /FICHEROS/escritura/resultado:"); scanf("%s",destino); /* abrir fichero origen */ fd_origen = abrir (origen, T_FICHERO); if (0 > fd_origen) { printf("Copiar_fichero: Error al abrir fichero origen %s\n", origen); return (-1); } /* abrir fichero destino */ fd_destino = abrir (destino, T_FICHERO); if (0 > fd_destino) { printf("Copiar_fichero: Error al abrir fichero destino %s\n", destino); return (-1); } /* copiar origen en destino */ leidos = leer(fd_origen,buffer,TAM_BUFFER); while (0 < leidos) { escritos = escribir(fd_destino,buffer,leidos); if (leidos != escritos) { printf("Copiar_fichero: Error al escribir fichero destino %s\n", destino); return (-1); } leidos = leer(fd_origen,buffer,TAM_BUFFER); } /* cerrar fichero origen */ cerrar (fd_origen); /* cerrar fichero destino */ cerrar (fd_destino); /* sincronizar las escrituras */ printf("Escribiendo los cambios de la particion /FICHEROS/escritura en el disco\n"); sincronizar("escritura"); return 0; }
int main(){ int retDebug; int fd_origen = -1; int fd_disco = -1; int leidos = -1; int seek = 0; //PUEDE NECESITAR CAMBIO EN FUNCION DEL NUMERO DE DESCRIPTOR Y DEL NUMERO DE DISPOSITIVO char cadenaDescFichero[200] = "DESCFICHERO:\tID=2, tipo=0, inodo=-1, montaje=-1, Dispositivo=3\n"; //char cadenaDescFichero[200] = "DESCFICHERO:\tID=2, tipo=0, inodo=-1, montaje=-1, Dispositivo=2\n"; char buffer[1024]; char *encontrado = NULL; buffer[1023] = '\0'; /* montar debugfs */ //printf("Montando la depuracion en la particion /FICHEROS/proc con debugFS\n"); retDebug=montar("", "proc", "debugFS"); if (0 > retDebug) { printf("test_e2_1_abrir_disco: Error al montar particion de depuracion con debugFS\n"); printf("### Result: Fail\n"); return (-1); } /* abrir fichero disco */ fd_disco = abrir ("/DISPOSITIVOS/disco", 0); if (0 > fd_disco) { printf("test_e2_1_abrir_disco: Error al abrir el disco \n"); printf("### Result: Fail\n"); return (-1); } /* abrir fichero tabla de descriptores (tabla_procesos) */ fd_origen = abrir ("/FICHEROS/proc/tabla_procesos", T_FICHERO); if (0 > fd_origen) { printf("test_e2_1_abrir_disco: Error al abrir fichero tabla_descriptores \n"); printf("### Result: Fail\n"); return (-1); } /*leemos la tabla de descriptores*/ bzero(buffer, 1023); seek = 0; leidos = leer(fd_origen,buffer,1023); while (0 < leidos && leidos != 1023) { seek += leidos; leidos = leer(fd_origen,&(buffer[seek]),1023-seek); } printf("%s\n\n\n", buffer); //Falla con ficheros de imagen que tengan archivos de tamaño mayor que un bloque cerrar(fd_origen); cerrar(fd_disco); /*buscamos datos en la tabla de descriptores*/ encontrado = strstr(buffer, cadenaDescFichero); if(encontrado == NULL) { printf("test_e2_1_abrir_disco: Datos en la tabla de descriptores no encontrados \n"); printf("### Result: Fail\n"); return -1; } printf("### Result: OK\n"); return 0; }