Pregunta examen gestion de memoria Unix

Temas relacionados con el examen de test.
Cerrado
soyopositor
Usuario registrado
Mensajes: 9
Registrado: 20 Jul 2010, 09:54
Agradecido: 0
Agradecimiento recibido: 0

Pregunta examen gestion de memoria Unix

Mensaje por soyopositor »

Hola,

en un examen tipo test, del cual no facilitaron plantilla de soluciones, salió esta pregunta referente a la gestión de memoria en Unix:

Unix, desde el punto de vista de gestión ele memoria, mantiene una tabla con indicación de las partes de memoria disponibles y ocupadas. En un principio toda la memoria está libre a disposición de los programas; cuando llega un trabajo y necesita memoria, el sistema operativo busca un hueco lo suficientemente grande para dicho trabajo, asignándole sólo la memoria necesaria y manteniendo el resto disponible para otras necesidades. Con esta descripción estamos haciendo referencia a que:
a) Unix utiliza en la gestión de memoria un algoritmo de regiones fijas (MFT).
b) Unix utiliza en la gestión de memoria un algoritmo de regiones variables (MVT).
c) Unix utiliza un algoritmo por prioridades en la planificación de CPU.
d) Unix posee una memoria inagotable, siempre encontrará un hueco para cada nuevo trabajo.

¿Cual creeis que es la opcioón correcta? En una plantilla no oficial aparece como opción válida la "c", pero pienso que seria asi en el caso de la gestion de procesos, y la pregunta hace referencia a la gestion de memoria, por lo cual creo que la opción válida es la "b", me equivoco?.

Muchas gracias.

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por cantimploro »

bufff... la pregunta se las trae.

Entre la a y la b, lo más parecido a lo que hace Unix sería la b. Pero es que en realidad, MFT y MVT no son algoritmos usados en Unix, sino algoritmos obsoletos usados por IBM en sus primeros multiprocesadores.

MFT = multitasking with fixed number of tasks.
MVT = multitasking with variable number of tasks. Aquí hay en la wikipedia una descripción casi idéntica a la que ponen en el ejercicio, me da que lo han sacado de ahi, que esto lo hacen mucho:
OS/360 MVT (Multitasking with a Variable number of Tasks) was an enhancement that further refined memory usage. Instead of using fixed-size memory partitions, MVT allocated memory to regions for job steps as needed provided there was enough contiguous physical memory available. This was a significant advance over MFT's memory management.
Su sucesor más famoso fue MVS (multitasking with virtual storage) y es donde se introdujo el concepto de memoria virtual como lo entendemos ahora. Lo que usa ahora mismo Unix, o mejor dicho suele usar porque hay muchas variantes, es una evolución muy lejana de eso, basada en la generalización de tres conceptos diferentes: memoria virtual con paginación, caching en memoria de elementos del sistema de archivos, y el sistema de archivos propiamente dicho. Internamente Unix lo gestiona como una única metaestructura (sistema de archivos virtual o VFS).

Si tenemos en cuenta que la c es correcta y la d es incorrecta, pues supongo que se podría asumir la c) como menos mala aunque no tenga mucho que ver con la gestión de memoria.

Si descartamos las referencias a MFT y MVT y nos atenemos a la descripción que pone la pregunta, y al hecho de que al final, la gestión de memoria en Unix sí usa regiones de tamaño variable y no fijo, pues sería la b). Pero en ese caso seguro que alguien la impugnaría, porque lo que hace Unix no se llama en realidad MVT.

Como decía, tiene narices la pregunta. No se si alguien la verá de otra forma.

soyopositor
Usuario registrado
Mensajes: 9
Registrado: 20 Jul 2010, 09:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por soyopositor »

Muchas gracias por la respuesta Cantimploro,

fue una pregunta del 1er examen de TAI C en el año 2003, puede que por aquel entonces Unix usara ese algoritmo para la gestion de memoria (MVT). El caso es que no hay publicada una solución oficial.

Lo preguntaba porque ando preparando una oposición a una Administracion Local y uno de los temas hace referencia a la gestión de procesos y memoria en Unix/Linux.

Salu2

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por cantimploro »

No se que decirte, MVT es de los años 70! Y tanto Linux como Solaris ya usaban VFS, sobre un esquema de memoria paginada basado en el algoritmo LRU en sus primeras versiones (mediados de los 90).

http://tldp.org/LDP/tlk/mm/memory.html
http://tldp.org/LDP/tlk/fs/filesystem.html

Suerte!

Avatar de Usuario
Orion
Usuario registrado
Mensajes: 284
Registrado: 19 Ene 2009, 11:31
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por Orion »

No sé que decirte, pero a mi me suena a memoria paginada versus memoria segmentada, y si no recuerdo mal, UNIX emplea memoria paginada, lo que vendría a ser MFT en esa nomenclatura.
"When a girl says she needs two minutes to get ready, that's the same thing as when a guy says there's two minutes left in the football game. That's relativity."

soyopositor
Usuario registrado
Mensajes: 9
Registrado: 20 Jul 2010, 09:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por soyopositor »

Pues parece que Unix utiliza los dos mecanismos. En un temario que tengo dice que Unix utiliza la memoria paginada y el intercambio, además de la segmentación. La segmentación la utiliza para separar las zonas de memoria asignadas al núcleo y a los procesos.

Además de la gestión de memoria en Unix, otras preguntas que han hecho en exámenes anteriores son:

* Ventajas de la memoria virtual en Linux

aquí no sé que ventajas tienes la memoria virtual en Linux frente a otros S.O., o qué ventajas aporta aparte de las que proporciona este mecanismo.

* Ventajas de los Threads frente a los procesos en Unix


¿Alguno podría decirme que contestar a estas preguntas, o indicarme algún documento en el que lo explique claramente?

Muchas gracias a todos.

cantimploro
PreparaTIC XXI
Mensajes: 1010
Registrado: 20 Jul 2010, 09:09
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por cantimploro »

Unix usa los dos mecanismos, evolucionados, pero nada equivalente al MFT o MVT aquellos, pero claro, eso también depende de que el que ha puesto la pregunta sepa de qué está hablando. Por lo demás:
* Ventajas de la memoria virtual en Linux

aquí no sé que ventajas tienes la memoria virtual en Linux frente a otros S.O., o qué ventajas aporta aparte de las que proporciona este mecanismo.
En realidad no te están preguntando por ventajas que no estén también en otros sistemas, no? Yo a priori aquí pensaría en las ventajas genéricas de la memoria virtual, y la primera y más obvia es que la memoria física disponible no limite la capacidad de ejecución multiproceso. Otras: que en un sistema multiproceso se aproveche al máximo la memoria física, que el almacenamiento secundario es más barato que la RAM, etc...
* Ventajas de los Threads frente a los procesos en Unix
Las habituales: los threads comparten almacenamiento y no sólo código (los procesos requieren usar áreas de almacenamiento compartido específicamente establecidas como tal). Un thread puede llamar a cualquier función de otro (en los procesos no es posible y hay que recurrir a algún mecanismo de intercomunicación, como pipes, semáforos, o el propio área de almacenamiento compartido). El overhead de incialización de un thread es mucho menor (sólo creas el hilo de código que necesitas, no necesitas duplicar el proceso por completo como haces com un fork() ). Etc.

soyopositor
Usuario registrado
Mensajes: 9
Registrado: 20 Jul 2010, 09:54
Agradecido: 0
Agradecimiento recibido: 0

Re: Pregunta examen gestion de memoria Unix

Mensaje por soyopositor »

Muchas gracias Cantimploro, eres un crack! Mucha suerte con la oposición.

Cerrado

Volver a “PRIMER EXAMEN 2010”