Unitario - Serie Fotográfica - Emmanuel Toloza Pineda
Paginación y tabla de página
1. LA PAGINACIÓNES UNO DELOS ESQUEMAS DE MANEJO DEMEMORIA EN
DONDEUN COMPUTADORPUEDEALMACENARY RECUPERAR DATOS DEUN
DISPOSITIVO DEALMACENAMIENTO SECUNDARIOPARA SUUSO EN LA
MEMORIA PRINCIPAL. ENEL ESQUEMA DE MANEJO DE MEMORIA DE
PAGINACIÓN, EL SISTEMA OPERATIVORECUPERA DATOS DESDEUN
DISPOSITIVO DEALMACENAMIENTO SECUNDARIOENBLOQUES DEUN
MISMO TAMAÑO LLAMADOS PÁGINAS. LA PRINCIPAL VENTAJA DE
PAGINACIÓNSOBRELA SEGMENTACIÓNDEMEMORIA ES QUEPERMITEAL
ESPACIO DEDIRECCIÓNFÍSICA DEUN PROCESO SERNO CONTIGUO. ANTES
DE LA PAGINACIÓN,LOS SISTEMAS DEBÍANPONERPROGRAMAS EN
ALMACENAMIENTO DEFORMA CONTIGUA, LO QUECAUSABA VARIOS
PROBLEMAS DE ALMACENAMIENTO YFRAGMENTACIÓN.
ESQUEMA DE MEMORIA FÍSICA YLÓGICA.
EL MÉTODO BÁSICO PARA IMPLEMENTAR PAGINACIÓNCONSISTEENDIVIDIR
LA MEMORIA FÍSICA ENBLOQUES DETAMAÑO FIJO LLAMADOS FRAMES
(MARCOS) Y DIVIDIRLA MEMORIA LÓGICA ENBLOQUES DEMISMO TAMAÑO
LLAMADOS PAGES (PÁGINAS). CUANDO UNPROCESO SEVA A EJECUTAR, SUS
PÁGINAS SONCARGADAS ENCUALQUIER MARCO DELA MEMORIA DE
ALMACENAMIENTO SECUNDARIO. ESTEESTA DIVIDIDO ENBLOQUES DE
TAMAÑO FIJO DEL MISMO TAMAÑO DELOS MARCOS EN MEMORIA.
EL TAMAÑO DEPAGINA (COMO EL MARCO DEPÁGINA) ES DEFINIDO POR
HARDWARE. EL TAMAÑO DE UNA PAGINA ES TIPICAMENTEUNA POTENCIA
DE 2, VARIANDO ENTRE512 B Y 16 MB PORPAGINA, DEPENDIENDO DELA
ARQUITECTURA DEL COMPUTADOR. LA SELECCIÓNDEUNA POTENCIA DE2
2. COMO TAMAÑO DE PÁGINA HACELA TRADUCCIÓNDEUNA DIRECCION
LÓGICA A UN NÚMERO DE PAGINA YOFFSETDEPÁGINA ALGO FÁCIL. SI EL
TAMAÑO DEL ESPACIO DEDIRECCIÓNLÓGICA ES 2^MY EL TAMAÑO DE
PÁGINA 2^NUNIDADES DEDIRECCIÓN(BYTES O PALABRAS), ENTONCES LOS
M-N BITS DE MAYORORDEN DELA DIRECCIÓNLOGICA DESIGNANEL
NÚMERO DE PAGINA, YLOS N BITS DE MENORORDEN DESIGNANEL OFFSET
DE PÁGINA.
ESQUEMA HARDWAREDE PAGINACIÓN.
CUALQUIERDIRECCIONGENERADA PORLA CPU ES DIVIDA ENDOS PARTES:
UN NÚMERO DE PÁGINA (P) YUN OFFSETDEPÁGINA (D). EL NÚMERO DE
PAGINA ES USADO COMO INDICEENUNA TABLA DE PÁGINA. LA TABLA DE
PÁGINA CONTIENELAS DIRECCIONES BASEDECADA PAGINA ENLA
MEMORIA FÍSICA. ESTA DIRECCIÓNBASEES COMBINADA CONEL OFFSETDE
PÁGINA PARA DEFINIRLA DIRECCIÓNDEMEMORIA FÍSICA QUEES ENVIADA
A LA UNIDAD DEMEMORIA.
BUENO, YA HEMOS REVISADO EL CONCEPTO DEPAGINACIÓNYCOMO
FUNCIONA, ENESTA SECCIÓNEXPLICAREMOS COMO SEIMPLEMENTA, YES
EN ESTE PUNTO EN DONDEDEBEMOS MENCIONARA "LA TABLA DE PÁGINA".
LA TABLA DE PÁGINA ES UNA ESTRUCTURA DE DATOS USADA POREL
SISTEMA DEMEMORIA VIRTUAL, ENUN SISTEMA OPERATIVO PARA
ALMACENAR LA RELACIÓNENTRE UNA DIRECCIÓNVIRTUAL ENLA MEMORIA
Y LA DIRECCIONES FÍSICAS.VEAMOS DICHA EXPLICACIÓNENUNA IMÁGEN:
3. TABLA DE PÁGINA
AHORA BIEN, DEBEMOS COMPRENDERCON MAYORPROFUNDIDADCOMO
FUNCIONA UNA TABLA DE PÁGINA YES LO QUE VEREMOS A CONTINUACIÓN.
ESTRUCTURA DE UNA TABLA DE PÁGINA
LA TABLA DE PÁGINA SEGUARDA EN MEMORIA PRINCIPAL, YPARA PODER
ACCEDER A ELLA, SE REQUIERENDE 2 ESTRUCTURAS, LAS CUALES SON
CONOCIDAS COMO:
* PTBR: PAGETABLE BASE REGISTER, EL CUÁL APUNTA A LA TABLA DE
PÁGINA
* PTLR: PAGE TABLE LENGTH REGISTER: CUYA FUNCIÓNES INDICAREL
TAMAÑO DE LA PÁGINA.
AHORA BIEN, CADA DIRECCIÓN, YA SEA DATO O INSTRUCCIÓNREQUIEREDE
2 ACCESOS A MEMORIA, UNO PARA LA TABLA DE PÁGINA Y OTRO PARA LA
INSTRUCCIÓN. TAMBIÉNDEBEMOS MENCIONARQUELA IMPLEMENTACIÓN
DE LA TABLA DEPÁGINA PUEDESER RESUELTA DE VARIAS
MANERAS,CITEMOS ALGUNAS:
* SEPUEDE IMPLEMENTARCOMO UN CONJUNTO DE
REGISTROS(HARDWARE) DEDICADOS DEALTA VELOCIDAD.
4. * HACIENDO USO DELA MEMORIA CACHÉ, PARA EL CASO DE LOS 2 ACCESOS
A MEMORIA, REDUCIENDO EL TIEMPO DEACCESO.
ESTA ÚLTIMA TAMBIÉNES CONOCIDA COMO TLB, CUYA TRADUCCIÓNES:
TRANLATIONLOOK-ASIDE, YCOMO MENCIONABAMOS TIENEPOROBJETO EL
REDUCIREL TIEMPO DEACCESO A MEMORIA, VEAMOS UNEJEMPLO:
TLB EN ACCIÓN, HAGA CLICK PARA AGRANDAR
UN DATO A MENCIONAR, QUEMAS ADELANTESERÁ TRATADO EN
PROFUNDIDAD ES QUEALGUNOS TLB TIENENIDENTIFICADORES ENSUS
ENTRADAS, CONOCIDOS PORSUS SIGLASCOMO ASID CUYA FUNCIÓNES
IDENTIFICARA CADA PROCESO Y ASÍ PROTEGEREL ESPACIO DEDIRECCIONES.
CON RESPECTO AL TAMAÑO, ¿QUEPASA SI LA TABLA DEPÁGINA ES MUY
GRANDE?: UNA RESPUESTA INMEDIATA ES QUESE PERDERÍANAQUELLOS
ESPACIOS QUEQUIZÁSNO SONPEQUEÑOS, PERO NO SONLO
SUFICIENTEMENTEGRANDES COMO PARA DARLECABIDA A UN PROCESO. ES
PORELLO, QUE EXISTENTÉCNICAS PARA GRANDES TABLAS DE PÁGINAS, LAS
CUÁLES SON:
PAGINACIÓNJERÁRQUICA: SECARACTERIZA PORDIVIDIREL ESPACIO
LÓGICO ENMÚLTIPLES TABLAS DEPÁGINA.
5. PAGINACIÓNJERÁRQUICA
UTILIZACIÓNDEHASH: PORLO GENERAL EL ESPACIO DEDIRECCIONES
COMUNES ES MAYOR A 32BITS. EL NÚMERO DE LA PÁGINA VIRTUAL SE
USA COMO LLAVEDE UNA TABLA DE PÁGINA HASH. ESTA TABLA DE
PÁGINA CONTIENEUNA LISTA CONLOS ELEMENTOS ASOCIADOS AL
MISMO REGISTRO, PORLO QUESECOMPARA EL NÚMERO DE PÁGINA
VIRTUAL EN LA LISTA BUSCANDO UNA COINCIDENCIA,SI SEENCUENTRA,
EL MARCO DEPÁGINA SEEXTRAE,(EN ESTE PUNTO ES RECOMENDABLE
REVISAREL MATERIAL DEARI).
VEAMOS COMO ESTO ACTÚA:
PAGINACIÓNCONMÉTODO HASH
UTILIZACIÓNDETABLA DE PÁGINAS INVERTIDAS: LA ESPECIAL
PARTICULARIDAD DEESTEMÉTODO, ES QUE DISMINUYEEL DESPERDICIO
6. DE MEMORIA, PERO AUMENTA EL TIEMPO DEBÚSQUEDA Y PARA LIDIAR
CON ESTO, UTILIZA LA TABLA HASH. VEAMOS EL EJEMPLO:
TABLA DE PÁGINA INVERTIDA
SE LLAMA MEMORIA ASOCIATIVA SI PERMITERECUPERARINFORMACIÓNA
PARTIRDE CONOCIMIENTO PARCIAL DEL CONTENIDO ENALGÚN
DISPOSITIVO DEALMACENAMIENTO,SINSABERSULOCALIZACIÓNDE
ALMACENAMIENTO.
ESTAS PUEDEN ALMACENAR INFORMACIÓNYRECUPERARLA CUANDO SEA
NECESARIO, ES COMO UNA RED RETROALIMENTADA YA QUELA SALIDA SE
UTILIZA REPETIDAMENTECOMO UNA NUEVA ENTRADA HASTA QUE EL
PROCESO CONVERGE. PUEDERECUPERAR DICHA INFORMACIÓNBASÁNDOSE
EN EL CONOCIMIENTO DEPARTEDEÉSTA (UNA CLAVE). EL PATRÓNCLAVE
PUEDE SER UNA VERSIÓNCONRUIDO DEUNPATRÓNMEMORIZADO, ES
DECIR, QUEDIFIEREDEÉL EN POCAS COMPONENTES. LA MEMORIA
HUMANA RECUERDA A UNA PERSONA AUNQUEVAYA VESTIDA DEFORMA
DIFERENTEO LLEVE GAFAS.
LAS MEMORIAS ASOCIATIVAS SONUNA DELAS REDES NEURONALES
ARTIFICIALES MÁS IMPORTANTES CONUNAMPLIO RANGO DEAPLICACIONES
EN ÁREAS TALES COMO: MEMORIAS DEACCESO PORCONTENIDO,
IDENTIFICACIÓNDEPATRONES Y CONTROL INTELIGENTE.
EXISTENDOS TIPOS DEMEMORIAS ASOCIATIVAS:
- MEMORIAS HETEROASOCIATIVAS: ESTABLECENUNA CORRESPONDENCIA
DE X (VECTORDE ENTRADA) EN Y (VECTORDE SALIDA), DEDISTINTA
7. DIMENSIÓN. DICHOS PATRONES SELLAMANMEMORIAS PRINCIPALES O DE
REFERENCIA.
- MEMORIAS AUTOASOCIATIVAS: ESTABLECELA MISMA CORRESPONDENCIA
QUE LA MEMORIA HETEROASOCIATIVA PERO SIENDOLOS PATRONES DE
ENTRADA Y DE SALIDA LOS MISMOS.
COMO SABEMOS LA PAGINACIONPEDETENER UNA DEMANDA
SIGNIFICATIVA DERENDIMIENTOS ENEL SISTEMA, PORLO QUE CUANDO
USAMOS CACHE, DEBEMOS SABER CUANTO TIEMPO NOS CUESTA ACCEDERA
LA MEMORIA, PARA DETERMINARESTETIEMPO OCUPAMOS EL TAE, QUE
NOS DA EL TIEMPO MEDIO DEACCESO A UNA CELDA DE MEMORIA. ESTE
TIEMPO SECALCULA CON LA SIGUIENTEFORMULA:
TAE : P*TA + (1-P)*TF
DONDE:
- P: PROBABILIDADDEACIERTO
- TA: TIEMPO DEACCESO SI HAYACIERTO
- TF: TIEMPO DEACCESO SI HAYFALLO
- 1-P: PROBABILIDAD DEFALLO
ES UN MÉTODO ESENCIAL QUEUTILIZANLOS SISTEMAS OPERATIVOS PARA
EL CONTROL DEL USO DE MEMORIA DEUN COMPUTADOR. SUFINALIDAD ES
EVITARQUE UN PROCESO EN UN SISTEMA OPERATIVO ACCEDA A LA
MEMORIA QUENO LE HA SIDO ASIGNADA. ASÍ PUEDENEVITARSE
PROBLEMAS DURANTE LA EJECUCIÓNDEL SOFTWARE, YTAMBIÉNSE EVITA
QUE SOFTWAREMALIGNO ACCEDA A LOS RECURSOS DEL SISTEMA.
LA PROTECCIÓNSEIMPLEMENTA PORUN CONJUNTO DE BITS QUESON
ASOCIADOS A CADA FRAME. UN BITPUEDE DEFINIRSI UNA PÁGINA ES READ-
ONLY O READ-WRITEY CADA VEZ QUE SEHACE UNA OPERACIÓNSOBREUN
PAGE FRAMESE VERIFICA SOBREESTOS BITS.
- MULTILEVEL PAGING: ACA SEBUSCA MINIMIZAREL TIEMPO DEBÚSQUEDA
EN LA TABLA DE PÁGINAS UTILIZANDO UNSISTEMA DEPAGINACIÓNDE2
NIVELES. UNA DIRECCIÓNES DE LA FORMA: (P1,P2,D), DONDE( NUMERO
PAGINA, NUMERO PAGINA, DESPLAZAMIENTO).
8. - INVERTED PAGETABLE: SE LLEVA UNA TABLA DE PÁGINAS PARA TODOS LOS
PROCESOS. CADA ENTRADA DE PÁGINA CONTIENELA SIGUIENTE
INFORMACIÓN: <PROCESS-ID,NRO. PAGINA, DESPLAZAMIENTO>.
- PAGINAS COMPARTIDAS: ES POSIBLEQUELOS PROCESOS COMPARTAN
CÓDIGO COMÚN. EL CÓDIGOCOMÚNNO SERA PROTEGIDO MEDIANTELOS
BITS DE PROTECCIÓN, YA QUENO PUEDESER MODIFICADO.
- SEGMENTACIÓN: ENUN ESQUEMA DE SEGMENTACIÓNUNESPACIO DE
DIRECCIONES LÓGICAS ES UNCONJUNTO DE SEGMENTOS. CADA SEGMENTO
TENDRÁ UN NOMBRE Y UN LARGO. LAS DIRECCIONES VANA HACER
REFERENCIA TANTO AL NOMBRE COMO AL DESPLAZAMIENTO DENTRO DEL
SEGMENTO. <NRO.SEGMENTO, DESPLAZAMIENTO>.
- MECANISMO DETRADUCCIÓNDE DIRECCIONES: SELLEVA UN TABLA DE
SEGMENTO POR CADA PROCESO, CADA ENTRADA A LA TABLA DE SEGMENTO
LLEVA LA SIGUIENTEINFORMACIÓN: SEGMENTBASE(DIRECCIÓNBASEDEL
SEGMENTO) SEGMENT LIMIT(LARGO DEL SEGMENTO)
LA MAYORÍA DELOS SISTEMAS OPERATIVOS TIENENPROTECCIÓNDE
MEMORIA. ALGUNOS DELOS SISTEMAS OPERATIVOS QUEDISPONENDE
PROTECCIÓNDEMEMORIA INCLUYEN:
- LA FAMILIA MICROSOFTWINDOWS
- LA MAYORÍA DESISTEMAS TIPOUNIX INCLUYENDO:
- SOLARIS
- LINUX
- BSD
- MAC OS X (EL ANTERIORMACOSES TENÍA UNA PROTECCIÓNDEMEMORIA
LIMITADA)