Consultas teóricas varias

Consultas teóricas varias

de Jerónimo Ismael Acosta Monteavaro -
Número de respuestas: 2
Buenas. Quisiera saber si son o no ciertas las siguientes afirmaciones, gracias.

1. "Cada entrada de una page-table tiene una capacidad de 32/64 bits, determinado por la arquitectura." 

2. "Añadir bits de control reduce la cantidad máxima de memoria principal posible".
Si tengo que destinar bits de cada entrada a indicar algo que no sea un índice de frame, estaría reduciendo la cantidad de frames a los que puedo referenciar, ¿no?.

3. "Un swap siempre mueve la totalidad de la memoria de un proceso"

4. "Usando paginación, puedo reubicar un proceso si muevo la memoria de sus páginas a otros frames y reflejo el cambio en su page-table. Esto es necesario cuando cargo un programa desde memoria secundaria y sus frames previamente asignados ahora están ocupados"

5. "Usando paginación, la totalidad de la memoria principal es dividida en frames, y todos los accesos a memoria se realizan mediante ese esquema, incluso los realizados por el kernel del S.O. para su propio funcionamiento"

6. "El esquema de asginación de particiones variables visto en el primer PDF de administración de memoria es una implementación de segmentación, o visceversa"

7. "Si se usan microkernel y paginación, implementar el software necesario para esta última es responsabilidad del microkernel"
En respuesta a Jerónimo Ismael Acosta Monteavaro

Re: Consultas teóricas varias

de Jorge Merlino -
  1. En realidad depende de la arquitectura, por lo menos precisás tantos bits como para referenciar cualquier frame de tu memoria virtual mas los bits de control que tengas. El tamaño de los frames depende de la arquitectura también.
  2. No reducís la cantidad de frames que podés referenciar, lo que aumentas es el tamaño de la tabla de páginas. En definitiva si disminuís la cantidad de memoria usable en total por los procesos porque se va a perder más en las tablas de páginas.
  3. No, se puede mover solo una parte que se cargó y ahora no se está usando
  4. Podés mover un proceso entero si querés aunque no se me ocurre por que querrías hacer eso. Cuando una página va al swap vuelve en cualquier frame libre, no tiene por que ser el que ocupaba antes
  5. No necesariamente, el kernel puede acceder a la memoria física directamente si lo necesita. Los procesos de usuario no.
  6. No estoy seguro de que estás hablando. ¿Podés especificar mejor la diapositiva a la que te referís?
  7. Para usar paginación no se precisa ningún software, eso lo hace todo el hardware. Si te referís a la asignación de memoria a los procesos esas decisiones se pueden tomar afuera del microkernel pero el que escribe las tablas de páginas es el microkernel porque es el único que corre en modo administrador.
Saludos

En respuesta a Jorge Merlino

Re: Consultas teóricas varias

de Jerónimo Ismael Acosta Monteavaro -
Gracias por las respuestas profe.

Con el punto 6 me refería a que el concepto de segmento (segmentación) y partición (esquema de asignación de particiones variables) me resultaban muy similares, y me preguntaba si eran de alguna forma distintas versiones de lo mismo. Al final concluí que no: el esquema de particiones usa registros base y límite por proceso, mientras que la segmentación usa una tabla de segmentos. Además, un proceso tiene que estar enteramente contenido en una sola partición, pero puede estar en varios segmentos. ¿Es correcto?
Por otro lado, imagino que conceptos como las estrategias de asignación de particiones (best/worst/first-fit) podrían aplicarse también a la hora de crear los segmentos, ¿es correcto?.

Saludos