4 votos

¿Qué es la Paginación en la gestión de la memoria?

Justo leía Operating System Principles by Silberschatz et al cuando me llegó a través de la paginación en la gestión de la memoria.Estoy un poco confundido al respecto.
Se establece que la Memoria Física(supongo que es RAM) es dividida en marcos, y la lógica de la memoria está dividida en las páginas. CPU genera direcciones lógicas que contiene el número de página y un desplazamiento. Este número de página se utiliza para recuperar el número de fotograma de una tabla de páginas que le da la dirección de la base de
por lo que la dirección física es calculado como base+desplazamiento.
Mi pregunta es:

es la tabla de la página mantiene para cada proceso?

Yo, lógicamente, creo que la respuesta sería, yes como cada proceso tendrá que asignar sus propias páginas de marcos. Puedo estar equivocado. Por favor aclarar.

También:

la paginación y la segmentación(donde 'agujeros' se crea en la memoria) son dos totalmente diferentes técnicas que no son utilizados en combinación. La correcta?

0voto

sawdust Puntos 9181

es la tabla de la página mantiene para cada proceso?

Si el sistema tiene que proporcionar un seguro espacio de direcciones virtuales para cada proceso, entonces sí.

la paginación y la segmentación(donde 'agujeros' se crea en la memoria) son dos totalmente diferentes técnicas que no son utilizados en combinación. La correcta?

No, No es un esquema de memoria virtual llamado segmentación paginada. (Creo recordar que este concepto causando exasperación por parte de mis compañeros de clase cuando se introduce por el prof. Si Silberschatz et al no mencionar esto, luego de que el libro de texto es incompleto.) El objetivo original de la memoria virtual era proporcionar un amplio espacio de dirección para la ejecución de un programa grande en un equipo con limitada RAM. En una simple memoria virtual con multiprocesamiento, no habría ninguna restricción en tener dos procesos de intercambio de una página. Pero una segmentación de la memoria virtual está diseñado para multiprocesamiento, y aislar cada proceso a sus propios segmentos.

Si bien puede parecer redundante, el típico esquema de memoria virtual utilizada en un seguro OS utiliza ambas páginas y segmentos, donde los segmentos son los procesos de' imágenes binarias. El típico HW probablemente sólo el apoyo de tamaño fijo páginas. La segmentación está implementado en el sistema operativo. El concepto de segmentos de facilitar la gestión de múltiples procesos en memoria. El concepto de páginas facilita una mínima huella en la memoria de cada proceso. Una compartido de biblioteca de tiempo de ejecución sería un caso especial de un protegido contra escritura, solo ejecutar el segmento que se pueden compartir entre los procesos.

Ser conscientes de que "segmento" en la memoria virtual de los esquemas normalmente hacen referencia a un fragmento de memoria que es lógicamente coherente y tiene una longitud arbitraria. Este tipo de "segmento" no debe ser confundido con el de Intel 8086/88 (aka x86) "segmento" que se inicia en un 16 bytes de la dirección de límites (es decir, un "párrafo") y está limitado a 64 KB de tamaño. X86 segmentos son una variación de la memoria de la banca en lugar de la memoria virtual.

Memoria de mecanismos de la banca son para los sistemas que tienen un pequeño tamaño de las direcciones (por ejemplo, 16 bits), pero de mayor tamaño de la memoria física del espacio (por ejemplo, de hasta 1 MB de adressable de memoria). La memoria Virtual es (o era la intención) para la situación contraria: la dirección es grande (e.g al menos 32 bits) y la memoria instalada es menor que el espacio de direcciones (no siempre es cierto en la actualidad). La memoria Virtual es normalmente invisible a los programas de usuario, mientras que el Intel 8086/88 programador debe ser consciente de las pequeñas/medianas/grandes modelos de memoria y ahora frente a cerca de los punteros. Por CIERTO, de esa conferencia, donde por primera vez me enteré de la memoria virtual y la "segmentación paginada" se produjo antes de que Intel diseñó el i8086.

Como texto de apoyo, la Wikipedia también menciona que la segmentación y la paginación puede ser combinado (en hardware).

0voto

artistoex Puntos 2525

La segmentación de los rendimientos de las Direcciones Lineales, la Paginación de los rendimientos de Direcciones Físicas

Con respecto a direcciones lógicas y físicas, de Bovet Y Cesati (Comprensión del Kernel de Linux), tengo esto:

how logical addresses map to physical

Como se puede ver, la paginación y la segmentación son llevadas a cabo por unidades independientes del hardware. A pesar de que pueden tener lugar al mismo tiempo, el sistema operativo puede deshabilitar la segmentación de la unidad (de modo que las direcciones sean tratadas en forma efectiva, no como lógico, y no lineal).

Generalidades

Usted ya sabe esto, pero lo pongo aquí de todos modos para la integridad.

Páginas ocupar Marcos: el Intercambio de

Tan lejos como Silberschatz los capítulos 8,f es de que se trate, los marcos de referencia para el diseño de la memoria física. El sistema operativo divide la RAM en las áreas de igualdad y de tamaño conveniente (por ejemplo, 4K) marcos. Las páginas son de marco de trozos del tamaño de los datos, la unidad básica de reemplazo de páginas.

Puede haber más páginas de marcos disponibles. Algunas páginas ocupar marcos, algunas páginas se intercambia en el disco.

Si una página es intercambiada desde el disco, se alinea con un cierto marco en la memoria (lo que el algoritmo de reemplazo de páginas sierra de ajuste).

Los Sistemas operativos y el Hardware de co-operar

Como con muchos OS objetivos, la gestión de la memoria siempre trabaja en conjunto con el hardware: tanto el sistema operativo y el hardware de co-operar, para hacer el trabajo. Cómo lo hacen en un escenario realista depende de

  1. el conjunto de la gestión de la memoria primitivas el hardware proporciona (paginación, segmentación, y qué diablos no existe), y
  2. el subconjunto de los mismos, de OS que realmente se utiliza en la arquitectura en particular y de la situación (Linux@zArchitecture es diferente de Linux@Intel es diferente de Windows@Intel es diferente de la Ventana de@Intel@Boot-up)

Por ejemplo, sólo un par de arquitecturas de proporcionar la segmentación y en la figura anterior se aplica a la arquitectura x86. Linux, por razones de portabilidad, no mucho se aprovechan de ella. Si recuerdo correctamente de Tanenbaum, OS/2 fue el único sistema operativo para explotar Intel segmentación a su alcance.

Hasta el momento esta Respuesta.

Dependiendo de por qué usted necesita saber esto, el siguiente enfoque podría ayudar a usted (me ha ayudado).

Te sugiero que primero familiarizarse con el hardware y el individuo primitivas. Si Silberschatz es vaga en este punto, tratar Tanenbaum (Sistemas Operativos Modernos) o Hennessy Y Patterson (Equipo de Arquitectura, Un Enfoque Cuantitativo). Si su curiosidad no es satisfecho por entonces, ver cómo una determinada OS lo utiliza en diferentes situaciones en una plataforma en particular.

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: