SEGMENTACIÓN Y PAGINACIÓN EL CENTOS (LINUX)
Memoria Virtual
La memoria virtual de un proceso contiene el código ejecutable y datos de diversas fuentes.Primero se carga la imagen del programa; por ejemplo, una orden como “ls”. Este comando, como toda imagen ejecutable, se compone de código ejecutable y de datos. El fichero de imagen contiene toda la información necesaria para cargar el código ejecutable y los datos asociados con el programa en la memoria virtual del proceso.Segundo, los procesos pueden reservar memoria (virtual) para usarla durante su procesamiento, por ejemplo para guardar los contenidos de los ficheros que esté leyendo. La nueva memoria virtual reservada tiene que asociarse con la memoria virtual que el proceso ya posee para poder usarla.En tercer lugar, los procesos de CentOS clon de Linux usan bibliotecas de código común, como por ejemplo rutinas de manejo de ficheros. No tendría sentido que cada proceso tenga su propia copia de la biblioteca, así pues CentOS clon de Linux usa bibliotecas compartidas que varios procesos pueden usar al mismo tiempo. El código y los datos de estas bibliotecas compartidas tienen que estar unidos al espacio virtual de direccionamiento de un proceso y también al espacio virtual de direccionamiento de los otros procesos que comparten la biblioteca.
Paginación Se utiliza la paginación por demanda puesto que hay mucha menos memoria física que memoria virtual, el sistema operativo ha de tener especial cuidado de no hacer un mal uso de la memoria física.Una forma de conservar memoria física es cargar sólo las páginas que están siendo utilizadas por un programa. Por ejemplo, un programa de bases de datos puede ser ejecutado para realizar una consulta a una base de datos. En este caso no es necesario cargar en memoria toda la base de datos, sino sólo aquellos registros que son examinados. Si la consulta consiste en realizar una búsqueda, entonces no tiene sentido cargar el fragmento de programa que se ocupa de añadir nuevos registros.Esta técnica de cargar sólo páginas virtuales en memoria conforme son accedidas es conocida como Paginación por Demanda.Cuando un proceso intenta acceder a una dirección virtual que no está en esos momentos en memoria, el procesador no puede encontrar la entrada en la tabla de páginas de la página virtual referenciada. CentOS clon de Linux utiliza la paginación por demanda para cargar imágenes ejecutables en la memoria virtual de un proceso. Siempre que se ejecuta un proceso, se abre el fichero que la contiene y su contenido se asocia en la memoria virtual del proceso.Esto se hace modificando las estructuras de datos que describen el mapa de memoria del proceso y se conoce como asociación de memoria. Sin embargo, sólo la primera parte de la imagen se copia realmente en memoria física. El resto de la imagen se deja en disco. Conforme se va ejecutando, se generan fallos de página y utiliza el mapa de memoria del proceso para determinar qué partes de la imagen ha de traer a memoria para ser ejecutadas.
Segmentación La segmentación permite al programador contemplar la memoria como si constara de varios espacios de direcciones o segmentos. Los segmentos pueden ser de distintos tamaños, incluso de forma dinámica. Las referencias a la memoria constan de una dirección de la forma (número de segmento, desplazamiento). Esta organización ofrece al programador varias ventajas sobre un espacio de direcciones no segmentado:
1. Simplifica la gestión de estructuras de datos crecientes. Si el programador no conoce a priori cuán larga puede llegar a ser una estructura de datos determinada, es necesario suponerlo a menos que se permitan tamaños de segmentos dinámicos. Con memoria virtual segmentada, a la estructura de datos se le puede asignar a su propio segmento y el S.O expandirá o reducirá el segmento cuando se necesite.
2. Permite modificar y recopilar los programas independientemente, sin que sea necesario recopilar o volver a montar el conjunto de programas por completo.
3. Se presta a la compartición entre procesos. Un programador puede situar un programa de utilidades o una tabla de datos en un segmento que puede ser referenciado por otros procesos.
4. Se presta a la protección. Puesto que un segmento puede ser construido para albergar un conjunto de procedimientos y datos bien definido, el programador o el administrador del sistema podrá asignar los permisos de acceso de la forma adecuada.
• En CentOS la administración de memoria da soporte a la visión de la memoria del usuario.
• Los programas son una colección de segmentos. Un segmento es una unidad lógica como: programa principal, procedimiento, función, método, objeto, variables locales, variables globales, bloque común, pila, tabla de símbolos, arreglos.
• Direcciones lineales en CentOSEn cuatro partes: - Global directoty.- Middle directory.- Page table.- Ofset.
POR:
- KARLA CABRERA
- CINTHYA PULLA
- JAMMIL RAMOS
PARALELO “A”