Pregunta teorica 🤔 - Dos proceso pueden compartir la misma **tabla** de paginas?

Pregunta teorica 🤔 - Dos proceso pueden compartir la misma **tabla** de paginas?

de Marco Andres Baldi Monaco -
Número de respuestas: 2

Imaginemos un sistema multi nivel de paginas (3 niveles). Pueden haber dos procesos que compartan la misma tabla de tercer nivel? Asumo que no pueden compartir una pagina por temas de isolation pero tengo esta duda de si pueden compartir las tablas de distintos niveles... también pensando de que todos los procesos si o si tienen que compartir la tabla de primer nivel.

En respuesta a Marco Andres Baldi Monaco

Re: Pregunta teorica 🤔 - Dos proceso pueden compartir la misma **tabla** de paginas?

de Federico Rivero -
Hola Marco!

Las tablas de páginas son específicas de cada proceso, no pueden ser compartidas, si compartieran la tabla de 3er nivel necesariamente compartirían las páginas de memoria, lo cual sería un desastre. Páginas individuales sí pueden ser compartidas si se define una zona de memoria compartida a través de system calls. En ese caso, las entradas de las tablas de páginas de tercer nivel de los procesos con acceso a la región de memoria compartida van a apuntar a los mismos marcos de memoria física.

Por último, quería aclarar que los procesos NO comparten la tabla de páginas de primer nivel. La tabla de páginas de primer nivel es apuntada por el registro PTBR, cuyo valor es reemplazado cada vez que ocurre un cambio de contexto (el valor del PTBR de cada proceso se guarda en su PCB). Con esto, cada tabla de páginas de primer nivel se encuentra en una porción de memoria diferente.

Saludos,
Federico