sisoputnfrba / foro

Foro de consultas para el trabajo práctico
151 stars 7 forks source link

Particiones dinámicas, como funcionarían? #4286

Closed SantiGVutn closed 1 month ago

SantiGVutn commented 1 month ago

🛠️ Lenguaje

C

🖋️ Descripción

Muy buenas! Espero que anden muy muy bien!

Les queríamos consultar de parte de mi equipo, como podríamos ir trabajando con las particiones dinámicas, dado que unicamente encontramos ejemplos de las fijas, además de que dentro del .config de memoria tenemos las particiones para la parte fija y el espacio de memoria coincide con el total de tamaño si hacemos sumatoria del tamaño de las particiones.

Esto porque ya estamos levantando toda la memoria y para trabajarla entendemos que necesitaríamos ese lado.

PD: otra consulta a parte pero chikita jeje, sería que si realmente el espacio del sistema de la memoria guardaría la actualizacion de cada proceso que vayamos creando y actualizando, mientras que los datos estarían en la parte del usuario o el espacio de sistema tiene otro fin a parte?

Muchas gracias! Saludoss :3 6a9811e5068d51ea4516272f789d7f07

📔 Citas del enunciado/videos

No response

💭 Soluciones posibles

No response

📝 Normas del foro

iago64 commented 1 month ago

Buenas! Cómo va?

La parte de memoria esta pensada para que la empiecen a ver mas adelante en el cuatrimestre, mas o menos para cuando lo vean en la teoría, pero en lineas generales la idea es que las particiones dinámicas las van a ir creando a medida que se creen los procesos.

Capaz si lo vemos en un ejemplo simple se entienda mejor:

Supongamos que partimos de 1024 bytes de memoria, entonces ahí tenemos una única partición libre de 1024 bytes.

Después inicia el Kernel y nos llega el crear un proceso de 24 bytes, entonces, en ese momento creamos una primera partición de 24 bytes, les va a quedar la primera partición del byte 0 al 23 ocupados para el PID 0 y después del byte 24 al 1023 libres. Ahora supongamos que cae otro proceso nuevo de 100 bytes, entonces nos va a quedar la primera partición del byte 0 al 23 ocupados, después otra del 24 al 123 ocupados por el PID 2 y queda una 3er partición con el resto de la memoria libre.

En principio para arrancar pueden ir planteando lo que les comente, de todas formas si tienen dudas pueden ir al capítulo de memoria del libro que mas les guste (Silberchatz o Stallings) y leer para tener mas contexto.

Respecto a la segunda pregunta, podemos resumirlo en 2 líneas: Espacio de sistema: Contextos de ejecución, archivos de pseudocódigo y tablas administrativas Espacio de usuario: Datos

Lo bueno es que el tamaño que le damos en la config es el espacio de usuario, en el espacio de sistema tienen libertad total de pensar las estructuras que les resulten más cómodas, con lo cual, el único consejo que les damos es que traten de no complicársela mucho.

Saludos.-

SantiGVutn commented 1 month ago

Muchísimas gracias por la respuesta nos ayudo mucho.

Una última duda que tenemos sería que entonces la parte dinámica es para el sistema o como sería la elección entre donde o cuando usar la partición fija y la dinámica. (según entendí sería la de usuario fija y la de sistema dinámica)

Saludos!

f-and commented 1 month ago

Buenas!

Para aclarar esa ultima duda: Practicamente hablando, la memoria de sistema y de usuario son completamente distintas y separadas una de la otra, por eso en el enunciado se explican aparte, la del sistema solo manejaría cosas como archivos de pseudo-código y contextos de ejecución y no simula una memoria real en cuanto a tamaño disponible y acceso; en cambio, el espacio de usuario si simularía esta limitación.

Por lo que, en la memoria de sistema no se manejaría modo de partición alguno, ya que no maneja particiones, y la memoria de usuario se manejan particiones dinámicas o fijas según el archivo de configuración.

Saludos.

SantiGVutn commented 1 month ago

Buenisimo, muchas gracias por las respuestas, cierro el issue!