Asignacion de Memoria Con Paginacion Simple

17

Click here to load reader

Transcript of Asignacion de Memoria Con Paginacion Simple

Page 1: Asignacion de Memoria Con Paginacion Simple

ESCUELA SUPERIOR POLITEacuteCNICA DE CHIMBORAZO

FACULTAD DE INFORMAacuteTICA Y ELECTROacuteNICA

TRABAJO DE SISTEMAS OPERATIVOS

ASIGNACIOacuteN DE MEMORIA CON PAGINACIOacuteN SIMPLE

INTEGRANTES

Alex Carrasco

Byron Jimeacutenez

Leonardo Coronado

Edison Bonilla

TERCERO ldquoBrdquo

Objetivos

o Proveer una abstraccioacuten simple de programacioacuten

o Proveer aislamiento entre procesos

o Asignar memoria (limitada) a procesos que la

requieren maximizando el rendimiento

Introduccioacuten

Aadministracioacuten de memoria es seguir la pista de queacute partes

de la memoria estaacuten en uso y cuaacuteles no lo estaacuten con el fin de

poder asignar memoria a los procesos cuando la necesiten y

recuperar esa memoria cuando dejen de necesitarla

Caracteriacutesticas

o Las particiones son variables en nuacutemero y longitud

o Cuando se carga un proceso en la memoria

principal se le asigna exactamente tanta memoria

como necesite

Asignacioacuten de memoria con paginacioacuten simple

Tanto las particiones estaacuteticas como las dinaacutemicas hacen un

uso ineficiente de la memoria las primeras generan

fragmentacioacuten interna mientras que las segundas generan

fragmentacioacuten externa

Supongamos la memoria principal particionada en trozos

iguales de tamantildeo fijo relativamente pequentildeos y que cada

proceso estaacute dividido tambieacuten en pequentildeos trozos de tamantildeo

fijo e igual a los de memoria En tal caso los trozos del

proceso conocidos como

Paginas pueden asignarse a los trozos libres de memoria

conocidos como marcos o marcos de paacutegina

Asignacioacuten de memoria con paginacioacuten simple marcos y palabras

Supongamos que el proceso B termina su ejecucioacuten y libera

sus recursos de memoria

Entonces llega el proceso D que requiere 5 paacuteginas de

memoria No hay ninguacuten problema en asignarle los tres de B

y dos del espacio libre En este esquema la fragmentacioacuten

Interna constaraacute solo de una fraccioacuten del uacuteltimo marco de

paacutegina ocupado por el proceso y ademaacutes no existe

fragmentacioacuten externa puesto que siempre seremos capaces

de aprovechar los huecos

ADMINISTRACIOacuteN DE LA MEMORIA

PAGINACIOacuteN

SEGMENTACIOacuteN

Dividen los programas en pequentildeas paacuteginas y a la memoria en marcos de paacuteginaPermite que el espacio de direcciones loacutegicas de un proceso no sea contiguo

Tanto la memoria fiacutesica como la memoria virtual se dividen en bloques (en general de distinto tamantildeo llamados segmentos) que son las que van a disco a medida que se va llenando la memoria fiacutesica o se recuperan del disco cuando vuelven a ser necesarias

En los esquemas de particioacuten de memoria basados en

particiones fijas las direcciones fiacutesicas se obteniacutean sumando

las virtuales a la direccioacuten de carga del proceso En el

esquema de gestioacuten de memoria con paginacioacuten sin

embargo ya no seraacute suficiente con un simple registroacute para la

traduccioacuten de direcciones En su lugar el SO mantiene una

tabla de paacuteginas para cada proceso Cada una de estas

tablas contiene una entrada por cada paacutegina del proceso por

lo que se uniraacuten de forma faacutecil mediante el numero de

paginas comenzando siempre por la pagina 0 En cada

entrada de la tabla de paacuteginas se encuentra el nuacutemero del

marco de memoria que contiene la paacutegina correspondiente

Ademaacutes el SO mantiene una lista de marcos libres con todos

los marcos de memoria que actualmente estaacuten vaciacuteos y

disponibles para las paacuteginas

Dentro del programa cada direccioacuten loacutegica constara de un

nuacutemero de pagina y un desplazamiento dentro de la pagina y

seraacute tambieacuten el hardware del procesador el que se encargue

de realizar la traduccioacuten de direcciones loacutegicas a direcciones

fiacutesicas

Para aplicar convenientemente este esquema de paginacioacuten

el tamantildeo de pagina y por tanto el tamantildeo de marco deben

ser una potencia de 2En este caso la direccioacuten relativa

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 2: Asignacion de Memoria Con Paginacion Simple

Objetivos

o Proveer una abstraccioacuten simple de programacioacuten

o Proveer aislamiento entre procesos

o Asignar memoria (limitada) a procesos que la

requieren maximizando el rendimiento

Introduccioacuten

Aadministracioacuten de memoria es seguir la pista de queacute partes

de la memoria estaacuten en uso y cuaacuteles no lo estaacuten con el fin de

poder asignar memoria a los procesos cuando la necesiten y

recuperar esa memoria cuando dejen de necesitarla

Caracteriacutesticas

o Las particiones son variables en nuacutemero y longitud

o Cuando se carga un proceso en la memoria

principal se le asigna exactamente tanta memoria

como necesite

Asignacioacuten de memoria con paginacioacuten simple

Tanto las particiones estaacuteticas como las dinaacutemicas hacen un

uso ineficiente de la memoria las primeras generan

fragmentacioacuten interna mientras que las segundas generan

fragmentacioacuten externa

Supongamos la memoria principal particionada en trozos

iguales de tamantildeo fijo relativamente pequentildeos y que cada

proceso estaacute dividido tambieacuten en pequentildeos trozos de tamantildeo

fijo e igual a los de memoria En tal caso los trozos del

proceso conocidos como

Paginas pueden asignarse a los trozos libres de memoria

conocidos como marcos o marcos de paacutegina

Asignacioacuten de memoria con paginacioacuten simple marcos y palabras

Supongamos que el proceso B termina su ejecucioacuten y libera

sus recursos de memoria

Entonces llega el proceso D que requiere 5 paacuteginas de

memoria No hay ninguacuten problema en asignarle los tres de B

y dos del espacio libre En este esquema la fragmentacioacuten

Interna constaraacute solo de una fraccioacuten del uacuteltimo marco de

paacutegina ocupado por el proceso y ademaacutes no existe

fragmentacioacuten externa puesto que siempre seremos capaces

de aprovechar los huecos

ADMINISTRACIOacuteN DE LA MEMORIA

PAGINACIOacuteN

SEGMENTACIOacuteN

Dividen los programas en pequentildeas paacuteginas y a la memoria en marcos de paacuteginaPermite que el espacio de direcciones loacutegicas de un proceso no sea contiguo

Tanto la memoria fiacutesica como la memoria virtual se dividen en bloques (en general de distinto tamantildeo llamados segmentos) que son las que van a disco a medida que se va llenando la memoria fiacutesica o se recuperan del disco cuando vuelven a ser necesarias

En los esquemas de particioacuten de memoria basados en

particiones fijas las direcciones fiacutesicas se obteniacutean sumando

las virtuales a la direccioacuten de carga del proceso En el

esquema de gestioacuten de memoria con paginacioacuten sin

embargo ya no seraacute suficiente con un simple registroacute para la

traduccioacuten de direcciones En su lugar el SO mantiene una

tabla de paacuteginas para cada proceso Cada una de estas

tablas contiene una entrada por cada paacutegina del proceso por

lo que se uniraacuten de forma faacutecil mediante el numero de

paginas comenzando siempre por la pagina 0 En cada

entrada de la tabla de paacuteginas se encuentra el nuacutemero del

marco de memoria que contiene la paacutegina correspondiente

Ademaacutes el SO mantiene una lista de marcos libres con todos

los marcos de memoria que actualmente estaacuten vaciacuteos y

disponibles para las paacuteginas

Dentro del programa cada direccioacuten loacutegica constara de un

nuacutemero de pagina y un desplazamiento dentro de la pagina y

seraacute tambieacuten el hardware del procesador el que se encargue

de realizar la traduccioacuten de direcciones loacutegicas a direcciones

fiacutesicas

Para aplicar convenientemente este esquema de paginacioacuten

el tamantildeo de pagina y por tanto el tamantildeo de marco deben

ser una potencia de 2En este caso la direccioacuten relativa

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 3: Asignacion de Memoria Con Paginacion Simple

Asignacioacuten de memoria con paginacioacuten simple

Tanto las particiones estaacuteticas como las dinaacutemicas hacen un

uso ineficiente de la memoria las primeras generan

fragmentacioacuten interna mientras que las segundas generan

fragmentacioacuten externa

Supongamos la memoria principal particionada en trozos

iguales de tamantildeo fijo relativamente pequentildeos y que cada

proceso estaacute dividido tambieacuten en pequentildeos trozos de tamantildeo

fijo e igual a los de memoria En tal caso los trozos del

proceso conocidos como

Paginas pueden asignarse a los trozos libres de memoria

conocidos como marcos o marcos de paacutegina

Asignacioacuten de memoria con paginacioacuten simple marcos y palabras

Supongamos que el proceso B termina su ejecucioacuten y libera

sus recursos de memoria

Entonces llega el proceso D que requiere 5 paacuteginas de

memoria No hay ninguacuten problema en asignarle los tres de B

y dos del espacio libre En este esquema la fragmentacioacuten

Interna constaraacute solo de una fraccioacuten del uacuteltimo marco de

paacutegina ocupado por el proceso y ademaacutes no existe

fragmentacioacuten externa puesto que siempre seremos capaces

de aprovechar los huecos

ADMINISTRACIOacuteN DE LA MEMORIA

PAGINACIOacuteN

SEGMENTACIOacuteN

Dividen los programas en pequentildeas paacuteginas y a la memoria en marcos de paacuteginaPermite que el espacio de direcciones loacutegicas de un proceso no sea contiguo

Tanto la memoria fiacutesica como la memoria virtual se dividen en bloques (en general de distinto tamantildeo llamados segmentos) que son las que van a disco a medida que se va llenando la memoria fiacutesica o se recuperan del disco cuando vuelven a ser necesarias

En los esquemas de particioacuten de memoria basados en

particiones fijas las direcciones fiacutesicas se obteniacutean sumando

las virtuales a la direccioacuten de carga del proceso En el

esquema de gestioacuten de memoria con paginacioacuten sin

embargo ya no seraacute suficiente con un simple registroacute para la

traduccioacuten de direcciones En su lugar el SO mantiene una

tabla de paacuteginas para cada proceso Cada una de estas

tablas contiene una entrada por cada paacutegina del proceso por

lo que se uniraacuten de forma faacutecil mediante el numero de

paginas comenzando siempre por la pagina 0 En cada

entrada de la tabla de paacuteginas se encuentra el nuacutemero del

marco de memoria que contiene la paacutegina correspondiente

Ademaacutes el SO mantiene una lista de marcos libres con todos

los marcos de memoria que actualmente estaacuten vaciacuteos y

disponibles para las paacuteginas

Dentro del programa cada direccioacuten loacutegica constara de un

nuacutemero de pagina y un desplazamiento dentro de la pagina y

seraacute tambieacuten el hardware del procesador el que se encargue

de realizar la traduccioacuten de direcciones loacutegicas a direcciones

fiacutesicas

Para aplicar convenientemente este esquema de paginacioacuten

el tamantildeo de pagina y por tanto el tamantildeo de marco deben

ser una potencia de 2En este caso la direccioacuten relativa

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 4: Asignacion de Memoria Con Paginacion Simple

Supongamos que el proceso B termina su ejecucioacuten y libera

sus recursos de memoria

Entonces llega el proceso D que requiere 5 paacuteginas de

memoria No hay ninguacuten problema en asignarle los tres de B

y dos del espacio libre En este esquema la fragmentacioacuten

Interna constaraacute solo de una fraccioacuten del uacuteltimo marco de

paacutegina ocupado por el proceso y ademaacutes no existe

fragmentacioacuten externa puesto que siempre seremos capaces

de aprovechar los huecos

ADMINISTRACIOacuteN DE LA MEMORIA

PAGINACIOacuteN

SEGMENTACIOacuteN

Dividen los programas en pequentildeas paacuteginas y a la memoria en marcos de paacuteginaPermite que el espacio de direcciones loacutegicas de un proceso no sea contiguo

Tanto la memoria fiacutesica como la memoria virtual se dividen en bloques (en general de distinto tamantildeo llamados segmentos) que son las que van a disco a medida que se va llenando la memoria fiacutesica o se recuperan del disco cuando vuelven a ser necesarias

En los esquemas de particioacuten de memoria basados en

particiones fijas las direcciones fiacutesicas se obteniacutean sumando

las virtuales a la direccioacuten de carga del proceso En el

esquema de gestioacuten de memoria con paginacioacuten sin

embargo ya no seraacute suficiente con un simple registroacute para la

traduccioacuten de direcciones En su lugar el SO mantiene una

tabla de paacuteginas para cada proceso Cada una de estas

tablas contiene una entrada por cada paacutegina del proceso por

lo que se uniraacuten de forma faacutecil mediante el numero de

paginas comenzando siempre por la pagina 0 En cada

entrada de la tabla de paacuteginas se encuentra el nuacutemero del

marco de memoria que contiene la paacutegina correspondiente

Ademaacutes el SO mantiene una lista de marcos libres con todos

los marcos de memoria que actualmente estaacuten vaciacuteos y

disponibles para las paacuteginas

Dentro del programa cada direccioacuten loacutegica constara de un

nuacutemero de pagina y un desplazamiento dentro de la pagina y

seraacute tambieacuten el hardware del procesador el que se encargue

de realizar la traduccioacuten de direcciones loacutegicas a direcciones

fiacutesicas

Para aplicar convenientemente este esquema de paginacioacuten

el tamantildeo de pagina y por tanto el tamantildeo de marco deben

ser una potencia de 2En este caso la direccioacuten relativa

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 5: Asignacion de Memoria Con Paginacion Simple

En los esquemas de particioacuten de memoria basados en

particiones fijas las direcciones fiacutesicas se obteniacutean sumando

las virtuales a la direccioacuten de carga del proceso En el

esquema de gestioacuten de memoria con paginacioacuten sin

embargo ya no seraacute suficiente con un simple registroacute para la

traduccioacuten de direcciones En su lugar el SO mantiene una

tabla de paacuteginas para cada proceso Cada una de estas

tablas contiene una entrada por cada paacutegina del proceso por

lo que se uniraacuten de forma faacutecil mediante el numero de

paginas comenzando siempre por la pagina 0 En cada

entrada de la tabla de paacuteginas se encuentra el nuacutemero del

marco de memoria que contiene la paacutegina correspondiente

Ademaacutes el SO mantiene una lista de marcos libres con todos

los marcos de memoria que actualmente estaacuten vaciacuteos y

disponibles para las paacuteginas

Dentro del programa cada direccioacuten loacutegica constara de un

nuacutemero de pagina y un desplazamiento dentro de la pagina y

seraacute tambieacuten el hardware del procesador el que se encargue

de realizar la traduccioacuten de direcciones loacutegicas a direcciones

fiacutesicas

Para aplicar convenientemente este esquema de paginacioacuten

el tamantildeo de pagina y por tanto el tamantildeo de marco deben

ser una potencia de 2En este caso la direccioacuten relativa

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 6: Asignacion de Memoria Con Paginacion Simple

definida en relacioacuten a la direccioacuten de carga del proceso y la

direccioacuten loacutegica expresada como un nuacutemero de paacutegina y un

desplazamiento son las mismas

Esquema hardware para la paginacioacuten

Supongamos un sistema donde se emplean direcciones de

16 bits siendo el tamantildeo de paacutegina de 1k palabras Con este

tamantildeo de paacutegina se necesitan 10 bits para el campo de

desplazamiento y los 6 restantes determinan el nuacutemero de

paacutegina De esta forma la capacidad total de la memoria es de

64 k palabras

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 7: Asignacion de Memoria Con Paginacion Simple

Las consecuencias de utilizar un tamantildeo de paacutegina potencia

de 2 son las siguientes

1 El esquema de direccionamiento loacutegico es transparente al

programador al montador y al ensamblador Cada direccioacuten

loacutegica de un proceso seraacute asiacute ideacutentica a su direccioacuten relativa

2 Resulta relativamente sencillo realizar una funcioacuten

hardware para llevar a cabo la traduccioacuten de direcciones

dinaacutemicas en tiempo de ejecucioacuten Consideramos una

direccioacuten de d = n +m bits en la que los n bits maacutes

significativos corresponden al nuacutemero de pagina y los m bits

menos significativos corresponden al desplazamiento dentro

de la paacutegina Para la traduccioacuten de direcciones hay que dar

los siguientes pasos

a)Obtener el nuacutemero de paacutegina a partir de los bits de la

direccioacuten loacutegica

b) Emplear ese nuacutemero de paacutegina como iacutendice en la tabla de

paacuteginas del proceso para determinar el marco k en que se

alberga la pagina

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 8: Asignacion de Memoria Con Paginacion Simple

c) El comienzo de la direccioacuten fiacutesica del marco k seraacute k middot 2m y

la direccioacuten fiacutesica de la palabra referenciada seraacute este

nuacutemero maacutes el desplazamiento determinado por los m bits

menos significativos de la direccioacuten loacutegica

Asiacute pues la paginacioacuten simple tal como se ha descrito es

similar a la utilizacioacuten de particiones fijas de ideacutentico tamantildeo

con la diferencia de que las particiones son maacutes pequentildeas

un proceso puede ocupar maacutes de una particioacuten y las

particiones correspondientes a un proceso no tienen por queacute

estar contiguas A modo de resumen mediante la paginacioacuten

simple la memoria principal se divide en pequentildeos marcos

del mismo tamantildeo Cada proceso se divide en paacuteginas del

tamantildeo del marco Cuando un proceso se carga en memoria

se cargan todas sus paacuteginas en marcos libres y se rellena su

tabla de paacuteginas

A continuacioacuten veremos el esquema hardware que permite

realizar la traduccioacuten de direcciones virtuales a fiacutesicas

Asignacioacuten de memoria con segmentacioacuten simple

En segmentacioacuten un programa y sus datos asociados se

dividen en un conjunto de segmentos

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 9: Asignacion de Memoria Con Paginacion Simple

No se impone que todos los segmentos de todos los

programas tengan la misma longitud aunque sı existe una

longitud maacutexima de segmento Como en paginacioacuten una

direccioacuten loacutegica segmentada consta de dos partes nuacutemero de

segmento y desplazamiento dentro del segmento Como

consecuencia del empleo de segmentos de distinto tamantildeo

la segmentacioacuten resulta similar al esquema de asignacioacuten de

memoria con particiones dinaacutemicas La diferencia con este

radica en que con segmentacioacuten un programa puede ocupar

maacutes de una particioacuten y estas no tiene por queacute estar contiguas

La segmentacioacuten elimina la fragmentacioacuten interna pero sufre

de fragmentacioacuten externa sin embargo debido a que los

procesos se dividen en un conjunto de partes maacutes pequentildeas

la fragmentacioacuten externa seraacute menor Mientras que la

paginacioacuten es transparente al programador la segmentacioacuten

es generalmente visible y se proporciona como una

comodidad para la organizacioacuten de programas y datos

Normalmente el programador asigna los programas y datos a

distintos segmentos

Otra consecuencia del tamantildeo desigual de los segmentos es

que no hay una correspondencia simple entre direcciones

loacutegicas y direcciones fiacutesicas Un esquema de segmentacioacuten

haraacute uso de una tabla de segmentos para cada proceso y una

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 10: Asignacion de Memoria Con Paginacion Simple

lista de bloques libres en memoria principal Cada entrada de

la tabla de segmento deber lsquoa contener la direccioacuten de

comienzo del segmento correspondiente en memoria principal

y tambieacuten la longitud del mismo para asegurar el uso de

direcciones validas Cuando un proceso pasa al estado de

ejecucioacuten se carga la direccioacuten de su tabla de segmentos en

un registro especial del hardware de gestioacuten de memoria

Considerando una direccioacuten loacutegica formada por n + m bits los

n bits maacutes significativos indican el nuacutemero de segmento

mientras que los m bits restantes indicariacutean el

desplazamiento Para la traduccioacuten de direcciones hay que

dar los siguientes pasos

1 Extraer el nuacutemero de segmento de la n bits maacutes

significativos de la direccioacuten loacutegica

2 Emplear ese nuacutemero de segmento como iacutendice en la tabla

de segmentos del proceso para determinar la direccioacuten fiacutesica

de comienzo del segmento

3 Comparar el desplazamiento expresado por los m bits

menos significativos con la longitud del segmento Si el

desplazamiento es mayor que la longitud la direccioacuten no es

vaacutelida

4 La direccioacuten fiacutesica final seraacute la suma de la direccioacuten fiacutesica

de comienzo de segmento maacutes el desplazamiento

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 11: Asignacion de Memoria Con Paginacion Simple

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

1048576_1048576_1048576_1048576_1048576_1048576_1048576_1048576

Asignacioacuten de memoria con segmentacioacuten simple

En este caso habraacute que sumar ya que cada segmento tendraacute

tamantildeo variable no seraacute obligatorio que comience en una

potencia de 2

bull Ventajas de la Paginacioacuten simple

o Faacutecil para asignar memoria fiacutesica

o Memoria fiacutesica se administra usando una lista de marcos

de paacuteginas libres

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores

Page 12: Asignacion de Memoria Con Paginacion Simple

o Para asignar un marco de paacutegina se saca de la lista

bull Desventajas de Paginacioacuten simple

o Expone Fragmentacioacuten interna

o El proceso no puede usar memoria de marco de paacutegina

que le sobra a otro proceso

Conclusioacuten

Administrar la memoria es una de las tareas maacutes complejas

que lleva a cabo el sistema operativo La memoria es un

recurso importante que debe ser cuidadosamente gestionado

Seriacutea excelente contar con una memoria infinitamente

grande raacutepida y que ademaacutes no perdiese su contenido en

ausencia de energiacutea eleacutectrica es decir que no fuese volaacutetil

Pero ya que el ser humano auacuten no puede contar con algunas

de estas caracteriacutesticas se ha generado teacutecnicas capaces de

administrar de una forma eficiente la memoria de nuestros

ordenadores