SlideShare ist ein Scribd-Unternehmen logo
1 von 8
Computación Paralela. La Máquina y sus partes.<br />Introducción a los procesos.<br />2010-763905201930Generalidades, estados, comunicación y control de procesos.<br />MEMORIA SEGMENTADA PROCESO DE SEGMENTACIÓN.e procesos. Algoritmos de exclusión mutua. <br />Escuela de<br />DOCENTE:Ing. Ángel Horna LoloyALUMNoS:Contreras Ulloa, Shirley. González Torres, Cristian.Loyola Díaz, Jhon. Valencia Varas, Karen.Villegas Sánchez, Emili.CICLO Y SECCIÓN:VI – “A”Trujillo-Perú1064895480060Ingeniería de Sistemas<br />MEMORIA <br />-2540635-765175Sistemas Operativos<br />MEMORIA SEGMENTADA <br />DEFINICIÓN DE SEGMENTACIÓN:<br />La segmentación es un sistema de gestión de la memoria que soporta esta visión que acabamos de dibujar por parte del usuario. En este esquema, el espacio de direcciones lógicas es un conjunto de segmentos. Con diferentes nombres y tamaños.<br />[segmento, elemento 4]<br />Y una dirección del segmento de la función coseno es:<br />[segmento cos, elemento 7]<br />Como se puede apreciar, este esquema es conceptualmente muy diferente al de la paginación, donde el usuario especifica solo una única dirección, que mediante circuitería lógica se divide en un numero de pagina  y un desplazamiento y todo ello sin intervención directa por parte del programador.<br />Conviene resaltar que un segmento es un objeto lógico, conocido por el programador  y que lo utiliza como tal. Un segmento puede tener una determinada estructura de datos (pila, array, variables escalares, etc.) o un procedimiento o modulo, pero normalmente no va a contener una mezcla de varios.<br />La segmentación ayuda a manejar estructuras de datos que cambian de tamaño durante la ejecución y simplifica el enlazado y la compartición. También facilita proporcionar protección específica a diferentes segmentos. A veces se combinan la segmentación y la paginación para crear un memoria virtual bidimensional. Los sistemas MULTICS  y Pentium de Intel manejan segmentación y paginación.<br />Un espacio de direcciones lógicas es un conjunto de  segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del mismo. Por lo tanto, el usuario especifica cada dirección mediante dos cantidades. Un nombre de segmento y desplazamiento.<br />El usuario o programador no tiene una visión lineal de la memoria, más bien prefiere verla como un conjunto de segmentos de diferentes tamaños, sin una ordenación especifica entre ellos. Así, cuando se diseña y escribe un programa, este se concibe como un programa principal con un conjunto de subrutinas, procedimientos, funciones o módulos, con diversas estructuras de datos: tablas, arrays, pilas, variables escalares, etc.; refiriéndose a cada uno de estos módulos y estructuras de datos como un nombre, sin considerar que dirección de la memoria pueden ocupar estos elementos.<br />SEGMENTACION SIMPLE<br />Otro  modo  de  subdividir el  programa  es  la  segmentación.  En  este  caso,  el programa  y  sus datos  asociados  se  dividen  en  un  conjunto  de  segmentos.  No  es  necesario  que  todos  los  segmentos de todos los programas tengan la misma longitud, aunque existe una longitud máxima de segmento. Como en la paginación, una dirección lógica segmentada consta de dos partes, en este caso un número de segmento y un desplazamiento.<br />Como consecuencia del empleo de segmentos de distinto tamaño, la segmentación resulta similar a la partición dinámica. En  ausencia de un esquema de superposición o del uso de memoria virtual, sería necesario cargar en memoria todos los segmentos de un programa para su ejecución.  La  diferencia,  en  comparación  con  la  partición  dinámica,  radica  en  que,  con segmentación, un programa puede ocupar más de una partición y éstas no tienen por qué estar contiguas. La segmentación elimina la fragmentación interna, pero, como la partición dinámica, <br />Sufre  de  fragmentación  externa.  Sin  embargo,  debido  a  que  los  procesos  se  dividen  en  un conjunto de partes más pequeñas, la fragmentación externa será menor.<br />PRINCIPIO DE OPERACIÓN<br />Normalmente, el programa de usuario se compila y el compilador construye automáticamente los segmentos de acuerdo a la estructura del programa. Por ejemplo, un compilador de Pascal, creara segmentos separados para las variables globales, la pila de llamadas a los procedimientos (para almacenar parámetros y direcciones de retorno), el código de cada uno de los procedimientos y funciones; un compilador de Fortran creara un segmento separado  para cada uno de los bloques “common”, los arrays se asignaran a diferentes segmentos.<br />El cargador tomara todos estos segmentos y le asignara número de segmento. Por propósito de reubicación cada uno de los segmentos se compila comenzando por su propia dirección lógica 0. Las direcciones lógicas, por tanto, constaran de un numero de segmento y un desplazamiento dentro de el.<br />En este contexto, el espacio de direcciones es bidimensional pero la memoria física mantiene su organización lineal unidimensional, luego es necesario disponer de un mecanismo que convierta las direcciones lógicas bidimensionales en  su dirección física  equivalente unidimensional. Esta asignación se efectúa mediante una tabla de segmentos.<br />La Figura 1 ilustra el uso de la tabla de segmentos. En la tabla se mantienen registrados los descriptores de cada segmento: la base, correspondiente a la dirección física en que comienza el segmento (obtenida en la creación de la partición) y el tamaño del mismo.<br />El número de segmento, primer parámetro de la dirección lógica, se emplea como un índice dentro de la tabla de segmentos. La dirección se obtiene añadiendo el desplazamiento  a la base del segmento. Este desplazamiento no debe sobrepasar el tamaño máximo del segmento, si superara el tamaño máximo registrado en la tabla se produciría un error de direccionamiento.<br />Fig 1: Conversión de direcciones en segmentación<br />Por ejemplo, para el proceso representado en la Figura 2, el espacio de direcciones lógicas está constituido por seis segmentos situados en memoria según se indica. La tabla de segmentos tiene una entrada para cada segmento, indicándose la dirección de comienzo del segmento en la dirección física (base) y la longitud del mismo (tamaño). El segmento 3 empieza en la dirección 1048576 y tiene un tamaño de 100 Kb; si se hace una referencia a la dirección 115000 del segmento 3 se producirá un error de direccionamiento, puesto que esta dirección supera el tamaño del segmento.<br />La realización de las tablas de segmentos es parecida a las tablas de páginas, teniendo en cuenta que los segmentos son de diferentes tamaños. Así,  una tabla de segmentos que mantiene en registros especiales puede ser referenciada muy rápidamente; la suma a la base y la comparación con el tamaño se puede hacer simultáneamente. Este método puede llevarse a cabo mientras el numero de segmentos no sea grande, pero cuando este crece la tabla de segmentos  se deja en memoria; en este caso, un registro base de la tabla de segmentos apunta a la tabla de segmentos; además, como el numero de segmentos usados por un programa puede variar, también se emplea un registro de longitud de la tabla segmentos.<br />                              Fig 2: Ejemplo de proceso segmentadoPara una dirección lógica se procede de la forma siguiente:Se comprueba que el numero de segmento es correcto(es decir, que es menor que el registro de longitud de la tabla de segmentos)Se suma el número de segmento al valor del registro base de la tabla de segmentos para obtener la dirección de memoria para la entrada de la tabla de segmentos.Esta entrada se lee de la memoria y se procede como antes, es decir,  se comprueba que el desplazamiento no rebasa la longitud del segmento y se calcula la dirección física como la suma del registro base de la tabla de segmentos  y del desplazamiento. Pero al igual que con la paginación, esto requiere dos referencias a memoria por dirección lógica, provocando  así una disminución en la velocidad del computador.La solución a este problema es disponer también de una memoria asociativa para retener las entradas de la tabla de segmentos usadas más recientemente (análogas a como se hacia para las páginas) y conseguir rendimientos tan solo un poco peor que si se tuviera acceso directo. La segmentación no produce fragmentación interna,  pero si externa, la cual ocurre cuando todos los bloques de memoria libre son muy pequeños para acomodar a un segmento. En esta situación el proceso solo puede esperar a disponer de más memoria, huecos más grandes, o usar estrategias de compactación para crear huecos más grandes. Otra opción es permitir que el planificador de la CPU busque en la cola de procesos uno que pueda usar los huecos de memoria <br />VENTAJAS DE LA SEGMENTACIÓN<br />Una ventaja de la segmentación es la posibilidad de asociar la protección de los segmentos. Puesto que los segmentos son porciones diferentes del programa definidos semánticamente (unos segmentos contendrán solo instrucciones mientras que otros datos), todas las entradas al segmento se usan de la misma manera. De esta forma, los segmentos de código se pueden definir de solo lectura, mientras que un segmento de datos se puede definir de lectura/escritura.<br />La segmentación también facilita la compartición de código o datos entre varios procesos. Un ejemplo usual es el de las librerías graficas muy grandes que se compilan en casi todos los programas; en un sistema segmentado, la librería grafica se puede situar en un segmento y compartirse entre varios procesos, sin necesidad de tenerla en el espacio de direcciones de cada proceso.<br />Los segmentos son compartidos cuando la entrada a la tabla de segmentos de dos procesos apuntan  a la misma posición física. De esta forma, cualquier información se puede compartir si se define en un segmento.<br />VENTAJAS DE LA SEGMENTACIÓN<br />Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.<br />Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal.<br />Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación.<br />Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos.<br />No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño.<br />La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales de hardware y software.<br />SISTEMAS COMBINADOS DE PAGINACION-SEGMENTACION<br />La paginación y la segmentación son esquemas diferentes de gestión de la memoria cuyas principales características se pueden resumir en los siguientes puntos:<br />El programador no necesita saber que se está utilizando la paginación; pero si se dispone de segmentación si necesita saberlo.<br />Mientras que la paginación sigue un esquema lineal, con un único espacio de direcciones, la segmentación proporciona un espacio bidimensional con muchos espacios de direcciones.<br />En la paginación no se distingue el código de los datos. En cambio, en la segmentación si se distinguen (tienen segmentos diferentes), pudiéndose proteger de forma independiente.<br />La segmentación facilita la compartición de código y datos, asi como el uso de estructuras de datos de tamaños fluctuantes.<br />Ambas tienen en común que el espacio total de direcciones puede exceder el tamaño de la memoria física.<br />De forma absoluta no se puede decir que una técnica sea superior a otra, por ello hay sistemas que combinan los dos métodos para recoger lo mejor de ambos.<br />El principio de la combinación de la segmentación se con la paginación se observa en la figura 3. Este es el esquema seguido en el sistema operativo Multics y sus descendientes.<br />       Fig 3: Sistema combinado de segmentación con paginación<br />-165736-108157<br />
SEGMENTACION
SEGMENTACION
SEGMENTACION
SEGMENTACION
SEGMENTACION
SEGMENTACION
SEGMENTACION

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (19)

Capítulo I. Abstracción de datos
Capítulo I. Abstracción de datosCapítulo I. Abstracción de datos
Capítulo I. Abstracción de datos
 
Base de datos1024
Base de datos1024Base de datos1024
Base de datos1024
 
Act 43
Act 43Act 43
Act 43
 
Cap5 DiseñO de Sistemas
Cap5 DiseñO de SistemasCap5 DiseñO de Sistemas
Cap5 DiseñO de Sistemas
 
Act 43
Act 43Act 43
Act 43
 
Diagrama Despliegue
Diagrama DespliegueDiagrama Despliegue
Diagrama Despliegue
 
Normalizacion base de datos
Normalizacion base de datosNormalizacion base de datos
Normalizacion base de datos
 
Abstracción de datos
Abstracción de datosAbstracción de datos
Abstracción de datos
 
Modelos de-datos
Modelos de-datosModelos de-datos
Modelos de-datos
 
Basesdedatosrelacionales
BasesdedatosrelacionalesBasesdedatosrelacionales
Basesdedatosrelacionales
 
Ejemplos de diagramas =)
Ejemplos de diagramas =)Ejemplos de diagramas =)
Ejemplos de diagramas =)
 
DIAGRAMA DE COMPONENTES
DIAGRAMA DE COMPONENTESDIAGRAMA DE COMPONENTES
DIAGRAMA DE COMPONENTES
 
Bases de datos
Bases de datosBases de datos
Bases de datos
 
Proyecto investigativo
Proyecto investigativoProyecto investigativo
Proyecto investigativo
 
Segundos unidad i -definiciones
Segundos   unidad i -definicionesSegundos   unidad i -definiciones
Segundos unidad i -definiciones
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
 
Estructuras básicas
Estructuras básicasEstructuras básicas
Estructuras básicas
 
UML
UMLUML
UML
 
Dbd04 t06 oracle
Dbd04 t06 oracleDbd04 t06 oracle
Dbd04 t06 oracle
 

Andere mochten auch (7)

IMPUESTOS
IMPUESTOSIMPUESTOS
IMPUESTOS
 
Modelo dinámico huesped parasito
Modelo dinámico huesped parasitoModelo dinámico huesped parasito
Modelo dinámico huesped parasito
 
Modelo dinámico oferta y demanda
Modelo dinámico oferta y demandaModelo dinámico oferta y demanda
Modelo dinámico oferta y demanda
 
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIOMODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
MODELO DINÁMICO DE GESTIÓN DE IINVENTARIO
 
Modelo dinámico levaduras
Modelo dinámico levadurasModelo dinámico levaduras
Modelo dinámico levaduras
 
Modelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferencialesModelo dinámico de ecuaciones diferenciales
Modelo dinámico de ecuaciones diferenciales
 
REQUISITOS DE LOS SO
REQUISITOS DE LOS SO REQUISITOS DE LOS SO
REQUISITOS DE LOS SO
 

Ähnlich wie SEGMENTACION

Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtualOscar LS
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivasmemp1234
 
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
 
Administracion de la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principaljbersosa
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoriavdelgado3
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria VirtualUCC
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoriachonfira
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónNatalia Ludeña
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Braulio8424
 
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
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
Andres infante
Andres infanteAndres infante
Andres infanteandresinf
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUALandresinf
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtualyuukikuran12
 

Ähnlich wie SEGMENTACION (20)

Organización y administración de la memoria virtual
Organización y administración de la memoria virtualOrganización y administración de la memoria virtual
Organización y administración de la memoria virtual
 
Organizacion y admon de memoria virtual
Organizacion y admon de memoria virtualOrganizacion y admon de memoria virtual
Organizacion y admon de memoria virtual
 
Seg y pag en diapositivas
Seg y pag en diapositivasSeg y pag en diapositivas
Seg y pag en diapositivas
 
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
 
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 la memoria principal
Administracion de  la memoria principalAdministracion de  la memoria principal
Administracion de la memoria principal
 
Sistemas Operativos - Memoria
Sistemas Operativos - MemoriaSistemas Operativos - Memoria
Sistemas Operativos - Memoria
 
Memoria Virtual
Memoria VirtualMemoria Virtual
Memoria Virtual
 
Administración de memoria
Administración de memoriaAdministración de memoria
Administración de memoria
 
Memoria
MemoriaMemoria
Memoria
 
Paginación, Segmentación y Fragmentación
Paginación, Segmentación y FragmentaciónPaginación, Segmentación y Fragmentación
Paginación, Segmentación y Fragmentación
 
Segmentacion de memoria
Segmentacion de memoriaSegmentacion de memoria
Segmentacion de memoria
 
Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)Memoria virtual(Braulio E.Ramirez)
Memoria virtual(Braulio E.Ramirez)
 
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
 
Andres infante
Andres infanteAndres infante
Andres infante
 
Andres infante
Andres infanteAndres infante
Andres infante
 
MEMORIA VIRTUAL
MEMORIA VIRTUALMEMORIA VIRTUAL
MEMORIA VIRTUAL
 
Trabajo memoria virtual
Trabajo memoria virtualTrabajo memoria virtual
Trabajo memoria virtual
 

Mehr von Shirley Contreras Ulloa

Sistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaSistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaShirley Contreras Ulloa
 
Analisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionAnalisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionShirley Contreras Ulloa
 

Mehr von Shirley Contreras Ulloa (20)

Gestion de Riesgos
Gestion de RiesgosGestion de Riesgos
Gestion de Riesgos
 
Sistema Basado en Conocimientos
Sistema Basado en ConocimientosSistema Basado en Conocimientos
Sistema Basado en Conocimientos
 
Sistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica DifusaSistema Basado en Conocimiento - Logica Difusa
Sistema Basado en Conocimiento - Logica Difusa
 
Analisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestionAnalisis de escenarios de ti en la gestion
Analisis de escenarios de ti en la gestion
 
Campeonato deportivo
Campeonato deportivoCampeonato deportivo
Campeonato deportivo
 
PREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOSPREGUNTAS DE SISTEMAS OPERATIVOS
PREGUNTAS DE SISTEMAS OPERATIVOS
 
RESUMEN Y CLASIFICACION DE MEMORIA RAM
RESUMEN Y CLASIFICACION DE MEMORIA RAMRESUMEN Y CLASIFICACION DE MEMORIA RAM
RESUMEN Y CLASIFICACION DE MEMORIA RAM
 
PROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONESPROCESO DE ATENCION A INTERRUPCIONES
PROCESO DE ATENCION A INTERRUPCIONES
 
Modelo dinámico volterra
Modelo dinámico volterraModelo dinámico volterra
Modelo dinámico volterra
 
Jerarquía normativa
Jerarquía normativaJerarquía normativa
Jerarquía normativa
 
Proceso de arranque de un so
Proceso de arranque de un soProceso de arranque de un so
Proceso de arranque de un so
 
FUNCIONES DE STELLA
FUNCIONES DE STELLAFUNCIONES DE STELLA
FUNCIONES DE STELLA
 
ADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIAADMINISTRACION DE MEMORIA
ADMINISTRACION DE MEMORIA
 
Administracion de entrada y salida
Administracion de entrada y salidaAdministracion de entrada y salida
Administracion de entrada y salida
 
VALOR ACTUAL NETO
VALOR ACTUAL NETOVALOR ACTUAL NETO
VALOR ACTUAL NETO
 
PROCESO DE ARRAMQUE DE UNA PC
PROCESO DE ARRAMQUE DE UNA PCPROCESO DE ARRAMQUE DE UNA PC
PROCESO DE ARRAMQUE DE UNA PC
 
SISTEMA DE PAGINACIÓN
SISTEMA DE PAGINACIÓNSISTEMA DE PAGINACIÓN
SISTEMA DE PAGINACIÓN
 
SISTEMAS DE ARCHIVOS
SISTEMAS DE ARCHIVOSSISTEMAS DE ARCHIVOS
SISTEMAS DE ARCHIVOS
 
ARQUITECTURA DEL COMPUTADOR
ARQUITECTURA DEL COMPUTADORARQUITECTURA DEL COMPUTADOR
ARQUITECTURA DEL COMPUTADOR
 
DERECHO A LA LIBERTAD
DERECHO A LA LIBERTADDERECHO A LA LIBERTAD
DERECHO A LA LIBERTAD
 

Kürzlich hochgeladen

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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfAnnimoUno1
 
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
 
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
 
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
 
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
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21mariacbr99
 
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
 
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
 

Kürzlich hochgeladen (11)

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
 
Modulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdfModulo-Mini Cargador.................pdf
Modulo-Mini Cargador.................pdf
 
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
 
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
 
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
 
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
 
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
 
Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21Innovaciones tecnologicas en el siglo 21
Innovaciones tecnologicas en el siglo 21
 
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.
 
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
 

SEGMENTACION

  • 1. Computación Paralela. La Máquina y sus partes.<br />Introducción a los procesos.<br />2010-763905201930Generalidades, estados, comunicación y control de procesos.<br />MEMORIA SEGMENTADA PROCESO DE SEGMENTACIÓN.e procesos. Algoritmos de exclusión mutua. <br />Escuela de<br />DOCENTE:Ing. Ángel Horna LoloyALUMNoS:Contreras Ulloa, Shirley. González Torres, Cristian.Loyola Díaz, Jhon. Valencia Varas, Karen.Villegas Sánchez, Emili.CICLO Y SECCIÓN:VI – “A”Trujillo-Perú1064895480060Ingeniería de Sistemas<br />MEMORIA <br />-2540635-765175Sistemas Operativos<br />MEMORIA SEGMENTADA <br />DEFINICIÓN DE SEGMENTACIÓN:<br />La segmentación es un sistema de gestión de la memoria que soporta esta visión que acabamos de dibujar por parte del usuario. En este esquema, el espacio de direcciones lógicas es un conjunto de segmentos. Con diferentes nombres y tamaños.<br />[segmento, elemento 4]<br />Y una dirección del segmento de la función coseno es:<br />[segmento cos, elemento 7]<br />Como se puede apreciar, este esquema es conceptualmente muy diferente al de la paginación, donde el usuario especifica solo una única dirección, que mediante circuitería lógica se divide en un numero de pagina y un desplazamiento y todo ello sin intervención directa por parte del programador.<br />Conviene resaltar que un segmento es un objeto lógico, conocido por el programador y que lo utiliza como tal. Un segmento puede tener una determinada estructura de datos (pila, array, variables escalares, etc.) o un procedimiento o modulo, pero normalmente no va a contener una mezcla de varios.<br />La segmentación ayuda a manejar estructuras de datos que cambian de tamaño durante la ejecución y simplifica el enlazado y la compartición. También facilita proporcionar protección específica a diferentes segmentos. A veces se combinan la segmentación y la paginación para crear un memoria virtual bidimensional. Los sistemas MULTICS y Pentium de Intel manejan segmentación y paginación.<br />Un espacio de direcciones lógicas es un conjunto de segmentos. Cada segmento tiene un nombre y una longitud. Las direcciones especifican tanto el nombre del segmento como el desplazamiento dentro del mismo. Por lo tanto, el usuario especifica cada dirección mediante dos cantidades. Un nombre de segmento y desplazamiento.<br />El usuario o programador no tiene una visión lineal de la memoria, más bien prefiere verla como un conjunto de segmentos de diferentes tamaños, sin una ordenación especifica entre ellos. Así, cuando se diseña y escribe un programa, este se concibe como un programa principal con un conjunto de subrutinas, procedimientos, funciones o módulos, con diversas estructuras de datos: tablas, arrays, pilas, variables escalares, etc.; refiriéndose a cada uno de estos módulos y estructuras de datos como un nombre, sin considerar que dirección de la memoria pueden ocupar estos elementos.<br />SEGMENTACION SIMPLE<br />Otro modo de subdividir el programa es la segmentación. En este caso, el programa y sus datos asociados se dividen en un conjunto de segmentos. No es necesario que todos los segmentos de todos los programas tengan la misma longitud, aunque existe una longitud máxima de segmento. Como en la paginación, una dirección lógica segmentada consta de dos partes, en este caso un número de segmento y un desplazamiento.<br />Como consecuencia del empleo de segmentos de distinto tamaño, la segmentación resulta similar a la partición dinámica. En ausencia de un esquema de superposición o del uso de memoria virtual, sería necesario cargar en memoria todos los segmentos de un programa para su ejecución. La diferencia, en comparación con la partición dinámica, radica en que, con segmentación, un programa puede ocupar más de una partición y éstas no tienen por qué estar contiguas. La segmentación elimina la fragmentación interna, pero, como la partición dinámica, <br />Sufre de fragmentación externa. Sin embargo, debido a que los procesos se dividen en un conjunto de partes más pequeñas, la fragmentación externa será menor.<br />PRINCIPIO DE OPERACIÓN<br />Normalmente, el programa de usuario se compila y el compilador construye automáticamente los segmentos de acuerdo a la estructura del programa. Por ejemplo, un compilador de Pascal, creara segmentos separados para las variables globales, la pila de llamadas a los procedimientos (para almacenar parámetros y direcciones de retorno), el código de cada uno de los procedimientos y funciones; un compilador de Fortran creara un segmento separado para cada uno de los bloques “common”, los arrays se asignaran a diferentes segmentos.<br />El cargador tomara todos estos segmentos y le asignara número de segmento. Por propósito de reubicación cada uno de los segmentos se compila comenzando por su propia dirección lógica 0. Las direcciones lógicas, por tanto, constaran de un numero de segmento y un desplazamiento dentro de el.<br />En este contexto, el espacio de direcciones es bidimensional pero la memoria física mantiene su organización lineal unidimensional, luego es necesario disponer de un mecanismo que convierta las direcciones lógicas bidimensionales en su dirección física equivalente unidimensional. Esta asignación se efectúa mediante una tabla de segmentos.<br />La Figura 1 ilustra el uso de la tabla de segmentos. En la tabla se mantienen registrados los descriptores de cada segmento: la base, correspondiente a la dirección física en que comienza el segmento (obtenida en la creación de la partición) y el tamaño del mismo.<br />El número de segmento, primer parámetro de la dirección lógica, se emplea como un índice dentro de la tabla de segmentos. La dirección se obtiene añadiendo el desplazamiento a la base del segmento. Este desplazamiento no debe sobrepasar el tamaño máximo del segmento, si superara el tamaño máximo registrado en la tabla se produciría un error de direccionamiento.<br />Fig 1: Conversión de direcciones en segmentación<br />Por ejemplo, para el proceso representado en la Figura 2, el espacio de direcciones lógicas está constituido por seis segmentos situados en memoria según se indica. La tabla de segmentos tiene una entrada para cada segmento, indicándose la dirección de comienzo del segmento en la dirección física (base) y la longitud del mismo (tamaño). El segmento 3 empieza en la dirección 1048576 y tiene un tamaño de 100 Kb; si se hace una referencia a la dirección 115000 del segmento 3 se producirá un error de direccionamiento, puesto que esta dirección supera el tamaño del segmento.<br />La realización de las tablas de segmentos es parecida a las tablas de páginas, teniendo en cuenta que los segmentos son de diferentes tamaños. Así, una tabla de segmentos que mantiene en registros especiales puede ser referenciada muy rápidamente; la suma a la base y la comparación con el tamaño se puede hacer simultáneamente. Este método puede llevarse a cabo mientras el numero de segmentos no sea grande, pero cuando este crece la tabla de segmentos se deja en memoria; en este caso, un registro base de la tabla de segmentos apunta a la tabla de segmentos; además, como el numero de segmentos usados por un programa puede variar, también se emplea un registro de longitud de la tabla segmentos.<br /> Fig 2: Ejemplo de proceso segmentadoPara una dirección lógica se procede de la forma siguiente:Se comprueba que el numero de segmento es correcto(es decir, que es menor que el registro de longitud de la tabla de segmentos)Se suma el número de segmento al valor del registro base de la tabla de segmentos para obtener la dirección de memoria para la entrada de la tabla de segmentos.Esta entrada se lee de la memoria y se procede como antes, es decir, se comprueba que el desplazamiento no rebasa la longitud del segmento y se calcula la dirección física como la suma del registro base de la tabla de segmentos y del desplazamiento. Pero al igual que con la paginación, esto requiere dos referencias a memoria por dirección lógica, provocando así una disminución en la velocidad del computador.La solución a este problema es disponer también de una memoria asociativa para retener las entradas de la tabla de segmentos usadas más recientemente (análogas a como se hacia para las páginas) y conseguir rendimientos tan solo un poco peor que si se tuviera acceso directo. La segmentación no produce fragmentación interna, pero si externa, la cual ocurre cuando todos los bloques de memoria libre son muy pequeños para acomodar a un segmento. En esta situación el proceso solo puede esperar a disponer de más memoria, huecos más grandes, o usar estrategias de compactación para crear huecos más grandes. Otra opción es permitir que el planificador de la CPU busque en la cola de procesos uno que pueda usar los huecos de memoria <br />VENTAJAS DE LA SEGMENTACIÓN<br />Una ventaja de la segmentación es la posibilidad de asociar la protección de los segmentos. Puesto que los segmentos son porciones diferentes del programa definidos semánticamente (unos segmentos contendrán solo instrucciones mientras que otros datos), todas las entradas al segmento se usan de la misma manera. De esta forma, los segmentos de código se pueden definir de solo lectura, mientras que un segmento de datos se puede definir de lectura/escritura.<br />La segmentación también facilita la compartición de código o datos entre varios procesos. Un ejemplo usual es el de las librerías graficas muy grandes que se compilan en casi todos los programas; en un sistema segmentado, la librería grafica se puede situar en un segmento y compartirse entre varios procesos, sin necesidad de tenerla en el espacio de direcciones de cada proceso.<br />Los segmentos son compartidos cuando la entrada a la tabla de segmentos de dos procesos apuntan a la misma posición física. De esta forma, cualquier información se puede compartir si se define en un segmento.<br />VENTAJAS DE LA SEGMENTACIÓN<br />Hay un incremento en los costos de hardware y de software para llevar a cabo la implantación, así como un mayor consumo de recursos: memoria, tiempo de CPU, etc.<br />Debido a que los segmentos tienen un tamaño variable se pueden presentar problemas de fragmentación externas, lo que puede ameritar un plan de reubicación de segmentos en memoria principal.<br />Se complica el manejo de memoria virtual, ya que los discos almacenan la información en bloques de tamaños fijos, mientras los segmentos son de tamaño variable. Esto hace necesaria la existencia de mecanismos más costosos que los existentes para paginación.<br />Al permitir que los segmentos varíen de tamaño, puede ser necesarios planes de reubicación a nivel de los discos, si los segmentos son devueltos a dicho dispositivo; lo que conlleva a nuevos costos.<br />No se puede garantizar, que al salir un segmento de la memoria, este pueda ser traído fácilmente de nuevo, ya que será necesario encontrar nuevamente un área de memoria libre ajustada a su tamaño.<br />La compartición de segmentos permite ahorrar memoria, pero requiere de mecanismos adicionales de hardware y software.<br />SISTEMAS COMBINADOS DE PAGINACION-SEGMENTACION<br />La paginación y la segmentación son esquemas diferentes de gestión de la memoria cuyas principales características se pueden resumir en los siguientes puntos:<br />El programador no necesita saber que se está utilizando la paginación; pero si se dispone de segmentación si necesita saberlo.<br />Mientras que la paginación sigue un esquema lineal, con un único espacio de direcciones, la segmentación proporciona un espacio bidimensional con muchos espacios de direcciones.<br />En la paginación no se distingue el código de los datos. En cambio, en la segmentación si se distinguen (tienen segmentos diferentes), pudiéndose proteger de forma independiente.<br />La segmentación facilita la compartición de código y datos, asi como el uso de estructuras de datos de tamaños fluctuantes.<br />Ambas tienen en común que el espacio total de direcciones puede exceder el tamaño de la memoria física.<br />De forma absoluta no se puede decir que una técnica sea superior a otra, por ello hay sistemas que combinan los dos métodos para recoger lo mejor de ambos.<br />El principio de la combinación de la segmentación se con la paginación se observa en la figura 3. Este es el esquema seguido en el sistema operativo Multics y sus descendientes.<br /> Fig 3: Sistema combinado de segmentación con paginación<br />-165736-108157<br />