SlideShare ist ein Scribd-Unternehmen logo
1 von 28
Estructuras de
Hardware y de Control
Introducción
Uno de los aspectos más difíciles en el diseño de los sistemas
operativos es el manejo de la memoria y a pesar de que esta ha
crecido hasta alcanzar tamaños cercanos al gigabyte nunca hay la
suficiente memoria para soportar los programas y las estructuras de
datos de los procesos. Parafraseando la ley de Parkinson, “Programs
and their data expand to fill the memory available to hold them”
Estructuras de Hardware y de Control
Los métodos de administración de la memoria principal, que no
utilizan Memoria Virtual y esquemas de Paginación y Segmentación,
es decir que llevan a las direcciones directamente al bus de la
memoria, tienen un inconveniente: producen lo que se denomina
fragmentación.
Estructuras de Hardware y de Control
Una parte central de las tareas del SO es el manejo de la memoria.
Pero el SO se enfrenta a un problema que es la E/S de memoria ya
que es un proceso lento por lo cual el SO debe administrar muy bien
los tiempos de swapping de E/S. Para lograr que estos procesos no
afecten fuertemente los tiempos de procesamiento de otros procesos
se tienen diferentes técnicas y formas de manejo de la memoria
virtual
Estructuras de Hardware y de Control
Al comparar la paginación y segmentación simple con la partición estática
y dinámica se organizaron las bases en la gestión de la memoria. Las claves
de esto son dos: la paginación y la segmentación.
Todas las referencias a memoria en un proceso son direcciones lógicas que
se traducen dinámicamente a direcciones físicas.
Un proceso puede dividirse en varias partes (páginas o segmentos) y no es
necesario que sean contiguas en memoria principal durante ejecución
debido a la combinación de la traducción dinámica de direcciones y el uso
de tablas durante ejecución.
Memoria Virtual
Tiempo atrás las personas comenzaron a enfrentarse con el problema
de que los programas eran demasiado grandes para caber en la
memoria, la solución a este problema se le llamó overlay. Aunque el
trabajo real de swapping de estos era hecho por el SO, la decisión de
como dividir el programa para diferentes overlays era hecho por los
programadores lo cual era muy tedioso y consumía mucho tiempo y
no pasó mucho para que alguien pensara cómo pasar este trabajo a
la computadora a lo cual se le llamo Memoria Virtual.
Memoria Virtual
Esta memoria esta basada en el uso de paginación y la combinación
de paginación y segmentación. También puede trabajar con sistemas
de multiprogramación dando tiempos de espera para la E/S de la
memoria necesaria dejando el procesador libre para otros
programas. La memoria virtual es un mecanismo de manejo de
memoria que es transparente para las aplicaciones ya que lo que
hace es aparentar al programa que se tiene un espacio de memoria
“ilimitado”
Hiperpaginación (Thrashing)
Esta se produce cuando el procesador consume mas tiempo
intercambiando fragmentos de memoria(cargando y eliminando
paginas o segmentos) que ejecutando las instrucciones realizadas
por el usuario. Esto se puede deber a un tamaño de paginas muy
grande o muchas pequeñas con nulo o muy poco uso, por lo cual
estas llenan la memoria principal y no se utilizan por completo.
Para evitar esto se crearon varios métodos como seria la cercanía de
referencias
Cercanía de referencias
Esta consiste en esencia en el intento del sistema operativo de
adivinar o suponer en función de la historia reciente de los procesos
que fragmentos se usaran con menor probabilidad en el futuro o
cuales dejaron de ser necesarios y pueden ser eliminados sin afectar
los procesos necesarios
Paginación
Esquema básico de memoria virtual basado en paginación.
•Cada proceso tiene su propia tabla de páginas. Cuando todas son
cargadas en memoria principal, se crea y carga en memoria principal
una tabla de páginas.
•La tabla de páginas contiene en cada una de sus entradas el número
de marco de la página correspondiente en memoria principal
Paginación
Como sólo algunas de las páginas de un proceso pueden estar en
memoria principal, se necesita un bit en cada entrada que indique si
la página correspondiente está presente (P) en memoria principal. Si
es así, la entrada incluye también el número de marco para esa
página.
Otro bit de control es el bit de modificación (M). Indica si el
contenido de la página correspondiente fue modificado desde su
carga en memoria principal.
Estructura de la tabla de páginas
La mayoría de los esquemas de memoria virtual almacenan las tablas
de páginas en memoria virtual en lugar de hacerlo en memoria real,
lo cual significa que estas tablas de páginas están también sujetas a
paginación como las otras páginas.
Cuando un proceso se está ejecutando, al menos una parte de su
tabla de páginas debe estar en memoria principal, incluyendo la
entrada de la tabla de páginas para la página actualmente en
ejecución
Estructura de la tabla de páginas
Algunos procesadores usan un esquema a dos niveles para organizar
grandes tablas de páginas.
Hay un directorio de páginas en el que cada entrada indica a una
tabla de páginas.
Si la longitud del directorio de páginas es X y la longitud máxima de
una tabla de páginas es Y, un proceso puede estar formado por hasta
X*Y páginas.
Buffer de traducción adelantada
Para disminuir el tiempo de acceso a memoria, la mayoría de los
esquemas de memoria virtual hacen uso de una cache especial para
las entradas de la tabla de páginas, llamada buffer de traducción
adelantada (TLB, Translation Lookaside Buffer).
Contiene las entradas de la tabla de páginas y los números de página
más usados hace menos tiempo.
Buffer de traducción adelantada
Dada una dirección virtual, el procesador examinará primero la TLB
Si la entrada de tabla de páginas buscada está presente, se obtiene el
número de marco y se forma la dirección real.
Si no se encuentra la entrada de la tabla de páginas buscada, el procesador
utiliza el número de página para buscar en la tabla de páginas del proceso
y examinar la entrada correspondiente de la tabla de páginas.
Si se encuentra activo el bit P, el procesador puede obtener el número de
marco de la entrada de la tabla de páginas para formar la dirección real.
Cuando no está activo ocurre un error de acceso a memoria llamado fallo
de página.
Tamaño de página
Factores:
•Fragmentación interna (en cuanto menor sea el tamaño de página,
menor será la cantidad de fragmentación interna) Si se reduce esta,
se optimiza el uso de memoria principal
•Las características físicas de los dispositivos de memoria secundaria,
que son de rotación, son propicias a tamaños de página mayores.
Tamaño de página
Pueden suceder dos fallos de página para una referencia a memoria:
•Para traer la parte que se necesita de la tabla de paginas
•Para traer la página del proceso
•Si el tamaño de la página es pequeño, estarán en memoria principal
muchas páginas para cada proceso y contendrá referencias más recientes
del proceso.
•Si el tamaño de la página se incrementa, cada página contendrá
posiciones distantes de cualquier referencia reciente. (Empieza a
aumentar la tasa de fallos)
Tamaño de página
El tamaño de la página está relacionado con el tamaño de la
memoria física principal, la memoria virtual se diseñó con el
supuesto de que la física no es muy grande.
Si la memoria principal crece, el espacio de direcciones que se
emplea también lo hace.
Tamaño de página
Técnicas de programación empleadas:
•De orientación a objetos fomentando el uso de varios módulos
pequeños de programas y datos con referencias dispersas por un
número de objetos relativamente grande en un periodo corto.
•Las aplicaciones con varios hilos dan como resultado cambios
bruscos en el flujo de instrucciones y referencias a memoria
dispersas.
Segmentación
Consecuencias de la memoria virtual
•La segmentación permite contemplar la memoria como si constara
de varios espacios de direcciones.
•Con la memoria virtual el programador no tiene limitaciones de
memoria impuestas por la principal.
•Los segmentos pueden ser de diferente tamaño.
Consecuencias de la memoria virtual
Ventajas:
•Simplifica el manejo de estructuras de datos crecientes
•Permite modificar y recompilar los programas independientemente
•Se presta a la compartición entre procesos.
•Se presta a la protección
Organización
En el estudio de la segmentación simple, se llego a la conclusión de
que cada proceso tiene su propia tabla de segmentos y que, cuando
todos los segmentos se encuentran en memoria principal, la tabla de
segmentos del proceso se crea y carga en memoria. En este caso sin
embargo las entradas de la tabla de segmentos pasan a ser más
complejas.
Organización
Puesto que solo algunos de los segmentos de un proceso estarán en
memoria principal, se necesita un bit en dada entrada de la tabla de
segmentos para indicar si el segmento correspondiente está presente
en memoria principal. Si el bit indica que el segmento esta en
memoria, la entrada incluye también la dirección de comienzo y la
longitud del segmento.
Organización
Así pues el mecanismo básico para leer una palabra de memoria
supone la traducción de una dirección virtual o lógica formada por un
número de segmentos y un desplazamiento, a una dirección física,
mediante una tabla de segmentos. Puesto que la tabla de segmentos
tiene longitud variable, en función del tamaño del proceso, no es
posible suponer que quepa en registros.
Paginación y Segmentación Combinadas
Para combinar las ventajas de ambas, algunos sistemas están
equipados con hardware del procesador y software del sistema
operativo que las permiten.
En un sistema de paginación y segmentación combinadas, el espacio
de direcciones de un usuario se divide en varios segmentos según el
criterio del programador. Cada segmento se vuelve a dividir en varias
páginas de tamaño fijo, que tiene la misma longitud que un marco de
memoria principal.
Protección y compartición
Un esquema habitual consiste en usar una estructura de anillo de
protección. Con este esquema, los anillos más interiores o con
números menores gozan de mayores privilegios que los anillos
externos o con números mayores. Normalmente el anillo 0 está
reservado para las funciones del núcleo del sistema operativo y las
aplicaciones están situadas en un nivel más alto. Algunas utilidades o
servicios del sistema operativo pueden ocupar un anillo intermedio.
Protección y Compartición
Los principios básicos del sistema de anillos son los siguientes:
•Un programa puede acceder solo a datos que estén en el mismo
anillo o en un anillo de menor privilegio.
•Un programa puede hacer llamadas a servicios que residen en el
mismo anillo o en anillos más privilegiados.
Bibliografía
Stallings, William. 1997. Sistemas Operativos. 2ª Ed. Prentice Hall. España. Pp. 283-302
Stallings, William. 2008. Operating Systems Internals and Design Principles. 6ª Ed. Prentice Hall.
Estados Unidos de América. Pp. 346-349
TanenBaum, Andrew S. 2006. Operating Systems Design and Implementation. 3ª Ed. Prentice
Hall. Estados Unidos de América. p 410.
Universidad de Málaga. Departamento de Arquitectura de Computadores. Memoria Virtual.
Disponible en: http://www.ac.uma.es/~sromero/so/Capitulo8.pdf

Weitere ähnliche Inhalte

Was ist angesagt?

Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesosAlberto Ch
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre Juan Anaya
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Juan Anaya
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoriapuracastillo
 
Estrategias de búsqueda
Estrategias de búsquedaEstrategias de búsqueda
Estrategias de búsquedaozkar21
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentesmartin
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoriacaredimaria
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesadorFernando Camacho
 
Estructura de almacenamiento
Estructura de almacenamientoEstructura de almacenamiento
Estructura de almacenamientoAndrea Mendez
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salidaDavid Martinez
 
Tabla comparativa servidores web
Tabla comparativa servidores webTabla comparativa servidores web
Tabla comparativa servidores webjuancma77
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y ProcesadorMario Alberto Antonio Lopez
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De ProcesosJessica Suarez
 
Tabla comparativa acerca de los diversos tipos de licencias de software
Tabla comparativa acerca de los diversos tipos de licencias de softwareTabla comparativa acerca de los diversos tipos de licencias de software
Tabla comparativa acerca de los diversos tipos de licencias de softwareAguilarO
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.oriosofelia
 
Generaciones De Los Sistemas Operativos
Generaciones De Los Sistemas OperativosGeneraciones De Los Sistemas Operativos
Generaciones De Los Sistemas OperativosEduardo Correa
 

Was ist angesagt? (20)

Estados y transiciones de los procesos
Estados y transiciones de los procesosEstados y transiciones de los procesos
Estados y transiciones de los procesos
 
Mapa conceptual sobre
Mapa conceptual sobre Mapa conceptual sobre
Mapa conceptual sobre
 
Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.Unidad 6 Protección y seguridad.
Unidad 6 Protección y seguridad.
 
Gestion de memoria
Gestion de memoriaGestion de memoria
Gestion de memoria
 
Estrategias de búsqueda
Estrategias de búsquedaEstrategias de búsqueda
Estrategias de búsqueda
 
Tecnicas de Administracion de Memoria
Tecnicas de Administracion de MemoriaTecnicas de Administracion de Memoria
Tecnicas de Administracion de Memoria
 
Modelo componentes
Modelo componentesModelo componentes
Modelo componentes
 
Unidad 3 administracion de la memoria
Unidad 3 administracion de la memoriaUnidad 3 administracion de la memoria
Unidad 3 administracion de la memoria
 
Administración de procesos y del procesador
Administración de procesos y del procesadorAdministración de procesos y del procesador
Administración de procesos y del procesador
 
Estructura de almacenamiento
Estructura de almacenamientoEstructura de almacenamiento
Estructura de almacenamiento
 
Gestion entrada y salida
Gestion entrada y salidaGestion entrada y salida
Gestion entrada y salida
 
Tabla comparativa servidores web
Tabla comparativa servidores webTabla comparativa servidores web
Tabla comparativa servidores web
 
Unidad 2 concepto de Programa,Proceso y Procesador
Unidad 2  concepto de Programa,Proceso y ProcesadorUnidad 2  concepto de Programa,Proceso y Procesador
Unidad 2 concepto de Programa,Proceso y Procesador
 
Coordinacion Y Sincronizacion De Procesos
Coordinacion  Y  Sincronizacion  De  ProcesosCoordinacion  Y  Sincronizacion  De  Procesos
Coordinacion Y Sincronizacion De Procesos
 
Gestion de Entrada y Salida
Gestion de Entrada y SalidaGestion de Entrada y Salida
Gestion de Entrada y Salida
 
Tabla comparativa acerca de los diversos tipos de licencias de software
Tabla comparativa acerca de los diversos tipos de licencias de softwareTabla comparativa acerca de los diversos tipos de licencias de software
Tabla comparativa acerca de los diversos tipos de licencias de software
 
Estrategias de busqueda
Estrategias de busquedaEstrategias de busqueda
Estrategias de busqueda
 
Cuadro comparativo s.o
Cuadro  comparativo s.oCuadro  comparativo s.o
Cuadro comparativo s.o
 
Ventajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBDVentajas vs Desventajas se SGBD
Ventajas vs Desventajas se SGBD
 
Generaciones De Los Sistemas Operativos
Generaciones De Los Sistemas OperativosGeneraciones De Los Sistemas Operativos
Generaciones De Los Sistemas Operativos
 

Ähnlich wie Estructuras de hardware y de control.

Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtualyuukikuran12
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivosSamir Barrios
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivosSamir Barrios
 
GestìóN De Memoria
GestìóN De MemoriaGestìóN De Memoria
GestìóN De Memoriasil548214
 
GestìóN De Memoria
GestìóN De MemoriaGestìóN De Memoria
GestìóN De Memoriasil548214
 
Sistema de paginación y segmentación
Sistema de paginación y segmentaciónSistema de paginación y segmentación
Sistema de paginación y segmentaciónOscar LS
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtuallagm000
 
memoria virtual xD
memoria virtual xDmemoria virtual xD
memoria virtual xDandramelek
 
MeMoRiA ViRtUaL
MeMoRiA ViRtUaLMeMoRiA ViRtUaL
MeMoRiA ViRtUaLandramelek
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Braulio8424
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)Videoconferencias UTPL
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 

Ähnlich wie Estructuras de hardware y de control. (20)

Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtual
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
administracion de memoria y archivos
administracion de memoria y archivosadministracion de memoria y archivos
administracion de memoria y archivos
 
administración de memoria y archivos
administración de memoria y archivosadministración de memoria y archivos
administración de memoria y archivos
 
GestìóN De Memoria
GestìóN De MemoriaGestìóN De Memoria
GestìóN De Memoria
 
GestìóN De Memoria
GestìóN De MemoriaGestìóN De Memoria
GestìóN De Memoria
 
Memoria virtual2
Memoria virtual2Memoria virtual2
Memoria virtual2
 
Sistema de paginación y segmentación
Sistema de paginación y segmentaciónSistema de paginación y segmentación
Sistema de paginación y segmentación
 
Administracion de Memoria
Administracion de MemoriaAdministracion de Memoria
Administracion de Memoria
 
Capitulo 9 Memoria Virtual
Capitulo 9 Memoria VirtualCapitulo 9 Memoria Virtual
Capitulo 9 Memoria Virtual
 
Memoria virtual
Memoria virtualMemoria virtual
Memoria virtual
 
Memoria virtual
Memoria virtual Memoria virtual
Memoria virtual
 
memoria virtual xD
memoria virtual xDmemoria virtual xD
memoria virtual xD
 
MeMoRiA ViRtUaL
MeMoRiA ViRtUaLMeMoRiA ViRtUaL
MeMoRiA ViRtUaL
 
Memoria
MemoriaMemoria
Memoria
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)
 
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
SISTEMAS OPERATIVOS ( II Bimestre Abril Agosto 2011)
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 

Kürzlich hochgeladen

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estossgonzalezp1
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxMiguelAtencio10
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITMaricarmen Sánchez Ruiz
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxAlan779941
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanamcerpam
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.FlorenciaCattelani
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...JohnRamos830530
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfvladimiroflores1
 

Kürzlich hochgeladen (11)

Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
Avances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estosAvances tecnológicos del siglo XXI y ejemplos de estos
Avances tecnológicos del siglo XXI y ejemplos de estos
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptxEL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
EL CICLO PRÁCTICO DE UN MOTOR DE CUATRO TIEMPOS.pptx
 
pruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNITpruebas unitarias unitarias en java con JUNIT
pruebas unitarias unitarias en java con JUNIT
 
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptxPROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
PROYECTO FINAL. Tutorial para publicar en SlideShare.pptx
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
Avances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvanaAvances tecnológicos del siglo XXI 10-07 eyvana
Avances tecnológicos del siglo XXI 10-07 eyvana
 
How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.How to use Redis with MuleSoft. A quick start presentation.
How to use Redis with MuleSoft. A quick start presentation.
 
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
 
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdfRefrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
Refrigerador_Inverter_Samsung_Curso_y_Manual_de_Servicio_Español.pdf
 

Estructuras de hardware y de control.

  • 2. Introducción Uno de los aspectos más difíciles en el diseño de los sistemas operativos es el manejo de la memoria y a pesar de que esta ha crecido hasta alcanzar tamaños cercanos al gigabyte nunca hay la suficiente memoria para soportar los programas y las estructuras de datos de los procesos. Parafraseando la ley de Parkinson, “Programs and their data expand to fill the memory available to hold them”
  • 3. Estructuras de Hardware y de Control Los métodos de administración de la memoria principal, que no utilizan Memoria Virtual y esquemas de Paginación y Segmentación, es decir que llevan a las direcciones directamente al bus de la memoria, tienen un inconveniente: producen lo que se denomina fragmentación.
  • 4. Estructuras de Hardware y de Control Una parte central de las tareas del SO es el manejo de la memoria. Pero el SO se enfrenta a un problema que es la E/S de memoria ya que es un proceso lento por lo cual el SO debe administrar muy bien los tiempos de swapping de E/S. Para lograr que estos procesos no afecten fuertemente los tiempos de procesamiento de otros procesos se tienen diferentes técnicas y formas de manejo de la memoria virtual
  • 5. Estructuras de Hardware y de Control Al comparar la paginación y segmentación simple con la partición estática y dinámica se organizaron las bases en la gestión de la memoria. Las claves de esto son dos: la paginación y la segmentación. Todas las referencias a memoria en un proceso son direcciones lógicas que se traducen dinámicamente a direcciones físicas. Un proceso puede dividirse en varias partes (páginas o segmentos) y no es necesario que sean contiguas en memoria principal durante ejecución debido a la combinación de la traducción dinámica de direcciones y el uso de tablas durante ejecución.
  • 6. Memoria Virtual Tiempo atrás las personas comenzaron a enfrentarse con el problema de que los programas eran demasiado grandes para caber en la memoria, la solución a este problema se le llamó overlay. Aunque el trabajo real de swapping de estos era hecho por el SO, la decisión de como dividir el programa para diferentes overlays era hecho por los programadores lo cual era muy tedioso y consumía mucho tiempo y no pasó mucho para que alguien pensara cómo pasar este trabajo a la computadora a lo cual se le llamo Memoria Virtual.
  • 7. Memoria Virtual Esta memoria esta basada en el uso de paginación y la combinación de paginación y segmentación. También puede trabajar con sistemas de multiprogramación dando tiempos de espera para la E/S de la memoria necesaria dejando el procesador libre para otros programas. La memoria virtual es un mecanismo de manejo de memoria que es transparente para las aplicaciones ya que lo que hace es aparentar al programa que se tiene un espacio de memoria “ilimitado”
  • 8. Hiperpaginación (Thrashing) Esta se produce cuando el procesador consume mas tiempo intercambiando fragmentos de memoria(cargando y eliminando paginas o segmentos) que ejecutando las instrucciones realizadas por el usuario. Esto se puede deber a un tamaño de paginas muy grande o muchas pequeñas con nulo o muy poco uso, por lo cual estas llenan la memoria principal y no se utilizan por completo. Para evitar esto se crearon varios métodos como seria la cercanía de referencias
  • 9. Cercanía de referencias Esta consiste en esencia en el intento del sistema operativo de adivinar o suponer en función de la historia reciente de los procesos que fragmentos se usaran con menor probabilidad en el futuro o cuales dejaron de ser necesarios y pueden ser eliminados sin afectar los procesos necesarios
  • 10. Paginación Esquema básico de memoria virtual basado en paginación. •Cada proceso tiene su propia tabla de páginas. Cuando todas son cargadas en memoria principal, se crea y carga en memoria principal una tabla de páginas. •La tabla de páginas contiene en cada una de sus entradas el número de marco de la página correspondiente en memoria principal
  • 11. Paginación Como sólo algunas de las páginas de un proceso pueden estar en memoria principal, se necesita un bit en cada entrada que indique si la página correspondiente está presente (P) en memoria principal. Si es así, la entrada incluye también el número de marco para esa página. Otro bit de control es el bit de modificación (M). Indica si el contenido de la página correspondiente fue modificado desde su carga en memoria principal.
  • 12. Estructura de la tabla de páginas La mayoría de los esquemas de memoria virtual almacenan las tablas de páginas en memoria virtual en lugar de hacerlo en memoria real, lo cual significa que estas tablas de páginas están también sujetas a paginación como las otras páginas. Cuando un proceso se está ejecutando, al menos una parte de su tabla de páginas debe estar en memoria principal, incluyendo la entrada de la tabla de páginas para la página actualmente en ejecución
  • 13. Estructura de la tabla de páginas Algunos procesadores usan un esquema a dos niveles para organizar grandes tablas de páginas. Hay un directorio de páginas en el que cada entrada indica a una tabla de páginas. Si la longitud del directorio de páginas es X y la longitud máxima de una tabla de páginas es Y, un proceso puede estar formado por hasta X*Y páginas.
  • 14. Buffer de traducción adelantada Para disminuir el tiempo de acceso a memoria, la mayoría de los esquemas de memoria virtual hacen uso de una cache especial para las entradas de la tabla de páginas, llamada buffer de traducción adelantada (TLB, Translation Lookaside Buffer). Contiene las entradas de la tabla de páginas y los números de página más usados hace menos tiempo.
  • 15. Buffer de traducción adelantada Dada una dirección virtual, el procesador examinará primero la TLB Si la entrada de tabla de páginas buscada está presente, se obtiene el número de marco y se forma la dirección real. Si no se encuentra la entrada de la tabla de páginas buscada, el procesador utiliza el número de página para buscar en la tabla de páginas del proceso y examinar la entrada correspondiente de la tabla de páginas. Si se encuentra activo el bit P, el procesador puede obtener el número de marco de la entrada de la tabla de páginas para formar la dirección real. Cuando no está activo ocurre un error de acceso a memoria llamado fallo de página.
  • 16. Tamaño de página Factores: •Fragmentación interna (en cuanto menor sea el tamaño de página, menor será la cantidad de fragmentación interna) Si se reduce esta, se optimiza el uso de memoria principal •Las características físicas de los dispositivos de memoria secundaria, que son de rotación, son propicias a tamaños de página mayores.
  • 17. Tamaño de página Pueden suceder dos fallos de página para una referencia a memoria: •Para traer la parte que se necesita de la tabla de paginas •Para traer la página del proceso •Si el tamaño de la página es pequeño, estarán en memoria principal muchas páginas para cada proceso y contendrá referencias más recientes del proceso. •Si el tamaño de la página se incrementa, cada página contendrá posiciones distantes de cualquier referencia reciente. (Empieza a aumentar la tasa de fallos)
  • 18. Tamaño de página El tamaño de la página está relacionado con el tamaño de la memoria física principal, la memoria virtual se diseñó con el supuesto de que la física no es muy grande. Si la memoria principal crece, el espacio de direcciones que se emplea también lo hace.
  • 19. Tamaño de página Técnicas de programación empleadas: •De orientación a objetos fomentando el uso de varios módulos pequeños de programas y datos con referencias dispersas por un número de objetos relativamente grande en un periodo corto. •Las aplicaciones con varios hilos dan como resultado cambios bruscos en el flujo de instrucciones y referencias a memoria dispersas.
  • 20. Segmentación Consecuencias de la memoria virtual •La segmentación permite contemplar la memoria como si constara de varios espacios de direcciones. •Con la memoria virtual el programador no tiene limitaciones de memoria impuestas por la principal. •Los segmentos pueden ser de diferente tamaño.
  • 21. Consecuencias de la memoria virtual Ventajas: •Simplifica el manejo de estructuras de datos crecientes •Permite modificar y recompilar los programas independientemente •Se presta a la compartición entre procesos. •Se presta a la protección
  • 22. Organización En el estudio de la segmentación simple, se llego a la conclusión de que cada proceso tiene su propia tabla de segmentos y que, cuando todos los segmentos se encuentran en memoria principal, la tabla de segmentos del proceso se crea y carga en memoria. En este caso sin embargo las entradas de la tabla de segmentos pasan a ser más complejas.
  • 23. Organización Puesto que solo algunos de los segmentos de un proceso estarán en memoria principal, se necesita un bit en dada entrada de la tabla de segmentos para indicar si el segmento correspondiente está presente en memoria principal. Si el bit indica que el segmento esta en memoria, la entrada incluye también la dirección de comienzo y la longitud del segmento.
  • 24. Organización Así pues el mecanismo básico para leer una palabra de memoria supone la traducción de una dirección virtual o lógica formada por un número de segmentos y un desplazamiento, a una dirección física, mediante una tabla de segmentos. Puesto que la tabla de segmentos tiene longitud variable, en función del tamaño del proceso, no es posible suponer que quepa en registros.
  • 25. Paginación y Segmentación Combinadas Para combinar las ventajas de ambas, algunos sistemas están equipados con hardware del procesador y software del sistema operativo que las permiten. En un sistema de paginación y segmentación combinadas, el espacio de direcciones de un usuario se divide en varios segmentos según el criterio del programador. Cada segmento se vuelve a dividir en varias páginas de tamaño fijo, que tiene la misma longitud que un marco de memoria principal.
  • 26. Protección y compartición Un esquema habitual consiste en usar una estructura de anillo de protección. Con este esquema, los anillos más interiores o con números menores gozan de mayores privilegios que los anillos externos o con números mayores. Normalmente el anillo 0 está reservado para las funciones del núcleo del sistema operativo y las aplicaciones están situadas en un nivel más alto. Algunas utilidades o servicios del sistema operativo pueden ocupar un anillo intermedio.
  • 27. Protección y Compartición Los principios básicos del sistema de anillos son los siguientes: •Un programa puede acceder solo a datos que estén en el mismo anillo o en un anillo de menor privilegio. •Un programa puede hacer llamadas a servicios que residen en el mismo anillo o en anillos más privilegiados.
  • 28. Bibliografía Stallings, William. 1997. Sistemas Operativos. 2ª Ed. Prentice Hall. España. Pp. 283-302 Stallings, William. 2008. Operating Systems Internals and Design Principles. 6ª Ed. Prentice Hall. Estados Unidos de América. Pp. 346-349 TanenBaum, Andrew S. 2006. Operating Systems Design and Implementation. 3ª Ed. Prentice Hall. Estados Unidos de América. p 410. Universidad de Málaga. Departamento de Arquitectura de Computadores. Memoria Virtual. Disponible en: http://www.ac.uma.es/~sromero/so/Capitulo8.pdf