IIC2333 / foro-2019-1

Foro oficial del curso IIC2333 - Sistemas Operativos y Redes, semestre 2019-1.
2 stars 0 forks source link

cr_mount #81

Closed movaldivia closed 5 years ago

movaldivia commented 5 years ago

Hola,

Me imagino que esta función sirve para

char * diskname; main{.... cr_mount("/tarea") .....}

Tendría como resultado diskname = "/tarea"

Geeermy commented 5 years ago

¡Hola!

Sí. Piensa que ninguno de los métodos recibe la ruta del archivo binario, por ende, necesitas establecer esta misma con una variable global. Ahí cobra importancia el método cr_mount.

Ojo eso sí que la ruta debe ser pasada como parámetro en el programa, no debe ser hardcodeada (a pesar de que en el ejemplo del enunciado salga así... eso era para ilustrar).

¡Éxito! :)

movaldivia commented 5 years ago

@Geeermy Gracias !!

acrojas2 commented 5 years ago

Hola: @Geeermy aunque sea tonto preguntar, puedes dar un ejemplo acerca de esto: "Ojo eso sí que la ruta debe ser pasada como parámetro en el programa, no debe ser hardcodeada (a pesar de que en el ejemplo del enunciado salga así... eso era para ilustrar)." Saludos.

Geeermy commented 5 years ago

¡No te preocupes!

Básicamente, esperamos que ustedes hagan algo como esto:

Dentro del main.c

int main(...){
    ...
    cr_mount(path_to_disk);
    ...
}

Al ejecutar el programa por consola

> ./crfs path_to_disk

Ese path_to_disk que ingresas como argumento del programa ejecutable es el que usas para montar el disco con cr_mount. ¿Se entiende?

Calomi commented 5 years ago

Hola! @Geeermy me surge una duda, que es lo que debe ser seteado a global? un string con la ruta del .bin? para que luego cada función use fopen(path_global)? (y que hagan fclose) o debe abrir un archivo y este dejarlo global? para que después cada función solo use el FILE global en vez de estar abriendo y cerrando por cada función? es decir tener un "FILE archivo_global;" en vez de un "char* path_global;" (y cerrar el file una sola vez al final del main)

Geeermy commented 5 years ago

¡Hola @Calomi !

Lo primero. Lo segundo implicaría tener el disco siempre en memoria y eso es costoso. Además, recuerda que es necesario cambiar constantemente el contenido del disco. Si estableces el FILE como global, los cambios se verán reflejados solo al final.

¡Que estés bien!