Você está na página 1de 21

Fundamentos de los Sistemas Operativos (FSO)

Departamento de Informtica de Sistemas y Computadoras (DISCA)


Universitat Politcnica de Valncia

Bloque Tem,co 3: Ges,n de Memoria


Unidad Tem,ca 7

Ges,n de Memoria

f SO

Ges,n de Memoria

f SO

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Obje%vos
Introducir los conceptos bsicos de ges%n de memoria
Comprender la diferencia entre memoria lgica y 5sica
Entender el concepto de asignacin con%gua de memoria
Analizar la problem,ca de fragmentacin asociada a la
asignacin con,gua
Estudiar estrategias de asignacin con%gua

BibliograNa:
Fundamentos de sistemas opera,vos (captulo-8)
Silberschatz 7 Ed
Sistemas opera,vos: una visin aplicada (captulo-5) Jess
Carretero 2 Ed

Pg. 2

Ges,n de Memoria

f SO

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Contenido

Introduccin
Problem,ca de ges,n de memoria
Direcciones lgicas vs direcciones Nsicas
Unidad de manejo de memoria (MMU)
Asignacin con,gua de memoria
Par,ciones jas
Par,ciones variables

First Fit
Best Fit
Worst Fit
Fragmentacin externa y compactacin

Pg. 3

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Introduccin

f SO

Para ejecutar programas: sus instrucciones y datos


deben ubicarse en Memoria Principal
Sistemas Mul,programados: aumentan la u%lizacin
del procesador y tasa de rendimiento
Los procesos de un sistema mul%programado
Comparten CPUs Planicador de procesos
Comparten Memoria Principal Ges%onar la Memoria
P1
CPU

Cundo CPU?

P2

cunto tiempo de CPU?


P3

donde?

0000

tendr espacio?

Memoria

me invadirn?

Principal

estar seguro? FFFF


Pg. 4

Introduccin

f SO

Memoria Principal

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Consiste en una gran matriz de palabras o bytes cada uno


con su propia direccin 5sica asociada
Es un recurso cr%co
Tiempo de acceso a memoria: es crucial para el
funcionamiento del sistema, ya que se accede con,nuamente.
En el ciclo de ejecucin de una instruccin, se lee la
instruccin, los datos y se almacenan resultados
Tamao de memoria: ,ene capacidad de almacenamiento
limitada

Capacidad de almacenar informacin del computador

0x00000000

Memoria
Principal

Varios niveles de almacenamiento o memoria:

Registros de CPU
Memoria cache: buer que permite resolver la diferencia de

0xFFFF0000

velocidad entre accesos a memoria y frecuencia de CPU

Memoria principal (RAM)


0xFFFFFFFF

Pg. 5

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Contenido

f SO

Introduccin
Problem%ca de ges%n de memoria
Direcciones lgicas vs direcciones Nsicas
Unidad de manejo de memoria (MMU)
Asignacin con,gua de memoria

Pg. 6

Problem,ca de ges,n de memoria

f SO

El Sistema Opera,vo debe ofrecer una


buena ges,n y uso eciente de la memoria
Para ello debe resolver problemas relacionados
con

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Proteccin
Escasez
Asignacin
Reubicacin

Los sistemas actuales estn dotados de


tcnicas y mecanismos diversos que han
evolucionando y mejorando con el ,empo
para resolver dichos problemas

Espacio de direcciones lgico


MMU
Libreras dinmicas
Memoria Virtual
Tcnicas de Asignacin

Pg. 7

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Contenido

f SO

Introduccin
Problem,ca de ges,n de memoria
Direcciones lgicas vs direcciones 5sicas
Unidad de manejo de memoria (MMU)
Asignacin con,gua de memoria

Pg. 8

Direcciones lgicas vs direcciones Nsicas

f SO

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Direcciones lgicas
Espacio de direccionamiento independiente para cada
proceso
Permiten que el cdigo no se involucre en par,cularidades
de la mquina -> reubicacin
P(a)

P(b)

0000

P(c)

0000

cdigo

0000

0000

cdigo

cdigo

datos

datos

datos

pila

pila

pila

Visin del proceso

Visin
del HW+SO

Memoria
Principal

FFFF
Pg. 9

Direcciones lgicas vs direcciones Nsicas

f SO

Necesidad de traducir direcciones lgicas a 5sicas

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Que direccin 5sica corresponde a una direccin lgica?


U,lizando un espacio de direcciones lgico (DL) y otro Nsico
(DF) es necesario:
Funcin de traduccin de DL a DF
Decidir como se implementa dicha funcin hardware, sooware?
Cuando se lleva a cabo la traduccin
Al compilar el programa
Cdigo absoluto . No reubicable
Al cargar el programa en memoria
Cdigo reubicable en ,empo de carga
Al ejecutar cada instruccin
Cdigo reubicable en %empo ejecucin
El proceso puede desplazarse de una posiciona a otra de memoria
mientras se ejecuta

Pg. 10

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Contenido

f SO

Introduccin
Problem,ca de ges,n de memoria
Direcciones lgicas vs direcciones Nsicas
Unidad de manejo de memoria (MMU)
Asignacin con,gua de memoria

Pg. 11

Unidad de manejo de memoria (MMU)

f SO

Traducir direcciones lgicas a direcciones 5sica ralen,za la


ejecucin de instrucciones y sobrecarga el sistema
Mayor velocidad de traduccin con hardware especco

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

MMU unidad de manejo de memoria


0000

Memoria
Fsica

CPU

Direcciones
lgicas

Memoria
Principal

MMU
Direcciones
fsicas
FFFF

Direcciones

Direcciones

fsicas

fsicas

Bus
Pg. 12

Unidad de manejo de memoria (MMU)

f SO

Modelo sencillo de MMU

basado en registro base y registro lmite

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Programa Fuente
main: mov R3,R4

call proc1

proc1: mov R1,R2

Direcciones Lgicas
0000 mov R3,R4

Memoria
Principal


call 2000


2000 mov R1,R2


Trap
CPU
NO
Direccin
Direccin
mov R1, R2
+
<
fsica
7000
lgica
2000

MMU

5000
3000
Registro
Registro

base
lmite
!!!!!! Garan%zadas la reubicacin en %empo de ejecucin y la proteccin

P1

5000

7000

P2

Pg. 13

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Contenido

f SO

Introduccin
Problem,ca de ges,n de memoria
Direcciones lgicas vs direcciones Nsicas
Unidad de manejo de memoria
Asignacin con%gua de memoria

Pg. 14

Asignacin con,gua de memoria

f SO

Modelo de ges%n de memoria con%gua


un proceso esta ubicado en memoria en una nica seccin
de direcciones 5sicas con,guas

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Memoria principal suele estar dividida en dos partes:


La zona donde reside el Sistema Opera,vo
La zona donde residen los procesos de usuario

Estrategias de asignacin con,gua:


Par%ciones jas: Se dene a priori (por conguracin del
sistema) el tamao de las secciones de memoria donde
ubicar los programas
Par%ciones variables: el sistema puede ubicar los
programas en los huecos de memoria que estn libres

Pg. 15

Asignacin con,gua de memoria

f SO

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Par%ciones jas
La memoria se supone dividida en par,ciones de diferentes
tamaos jos
El sistema opera,vo man,ene una lista de par%ciones libres
Variantes
Cola nica de procesos
Ml,ples colas de procesos

Problema:
Fragmentacin interna

0000

SO

Proceso (a)

Una nica Cola Procesos


P(d)
300K

P(c)
100K

P(b)
100K

P(a)
200K

Proceso (b)

Proceso (c)

?
FFFF

Particin
400K

Particin
300K
Particin
300K
Particin
200K
Particin
100K
Pg. 16

Asignacin con,gua de memoria

f SO

Par%ciones variables

Inicialmente la memoria disponible para procesos esta toda libre en un nico hueco
Conforme llegan demandas de procesos se va asignando memoria
El sistema opera,vo man,ene una lista de par%ciones libres y tamao del hueco
Huecos

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Direccin

Tamao

Direccin

Tamao

Direccin

Tamao

Problema:
Fragmentacin Externa

Estrategias de asignacin de huecos:


Mejor hueco (Best Fit)
Ubica al proceso en el menor hueco que sa,sface
su pe,cin

Peor hueco (Worst Fit)


Ubica al proceso en el mayor hueco que sa,sface
su pe,cin

Primer hueco (First Fit)


Ubica al proceso en el primer hueco que sa,sface
su pe,cin
Pg. 17

Asignacin con,gua de memoria

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Fragmentacin externa
Existen huecos cuya suma de
sus tamaos es suciente para
sa,sfacer una demanda, pero
al no estar con,guos no puede
ubicarse el proceso

f SO

Proceso a ubicar

hueco de
300K?

P(f)
300K

Compactar
0000

Compactacin
Solucin para la fragmentacin
externa
Los procesos se reubican en
memoria
Imprescindible cdigo
reubicable en ,empo de
ejecucin para compactar

SO

SO

SO

P(a)
500K

P(a)
500K

P(a)
500K

P(b) 100K

P(b) 100K

P(b) 100K

P(e)
200K

P(e)
200K

P(e)
200K

Hueco 300K

P(d)
300K

P(d)
300K

Hueco 300K

Hueco 100K
P(d)
300K

FFFF

Hueco 200K

Compactacin
Pg. 18

Ejemplo:

f SO

Sea un sistema opera,vo que ges,ona la memoria mediante asignacin


con%gua con par%ciones dinmicas (variables). Par,endo de un estado
de la memoria indicado como Inicio , la ocupacin de la misma ante las
pe,ciones realizadas ha sido la que se representa en los grcos:

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Peticin de 200K

Peticin de 200K

Peticin de 100K

Inicio
100 K

100 K

100 K

100 K

200 K

200 K

200 K

200K

200K

100 K

100 K
100 K

500 K
300 K
100 K

100 K

100 K

200 K

200 K

200 K

100 K

100 K

100 K

100 K
100 K
100 K
hueco

ocupado

Determine y jus,que el algoritmo u,lizado entre mejor ajuste, peor


ajuste y primer ajuste para la asignacin de las demandas.
Pg. 19

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Ejemplo

f SO

Un sistema opera,vo ges,ona su memoria de 8196 palabras mediante


asignacin con%gua con par%ciones variables. En un instante t el sistema
est ejecutando tres procesos de tamao:

Proceso A de tamao 1024 palabras

Proceso B de tamao 3072 palabras

Proceso C de tamao 3584 palabras
Razone si los siguientes escenarios independientes entre s son posibles:
a)Que el proceso B genere la direccin lgica 960 y que sta sea traducida
por la direccin 5sica 725
b)Que el proceso A genere la direccin lgica 1500 y que sta sea
traducida por la direccin 5sica 1500
c)Que el proceso C en el instante t genere la direccin lgica 525, que se
traduzca por la direccin Nsica 2061 y en el instante t+10 la misma
direccin lgica se traduzca por la direccin Nsica 1549

Pg. 20

Prac,que los conceptos

f SO

Memoria de asignacin con,gua

Fundamentos de los Sistemas Opera,vos

ETSINF-UPV

Objetos interac,vos para aprendizaje

htp://labvirtual.webs.upv.es/Fijas_Mul,ples_colas.htm
htp://labvirtual.webs.upv.es/Fijas_Una_cola.htm
htp://labvirtual.webs.upv.es/Best_Fit.htm
htp://labvirtual.webs.upv.es/Worst_Fit.htm

Pg. 21

Você também pode gostar