Académique Documents
Professionnel Documents
Culture Documents
Resumen
El algoritmo utilizado para asignar la pgina es conocido como el sistema colega (buddy), donde
el gestor de memoria tiene una lista de grupos de marcos de pginas contiguos. Permite mantener
los bloques libres de la memoria fsica. En este mtodo solo se reservan tamaos que son potencias
de dos y, por tanto, solamente se dispone de dos operaciones que es dividir bloque en dos y unir
dos bloques consecutivos en uno. Los asignadores buddy de bloques no son nicamente para los
Sistemas Operativos de Tiempo-Real (RTOS); ellos tambin son usados en sistemas operativos
de propsito general (tales como Microsoft Windows y Linux).
Abstract
The algorithm used to assign the page is known as the buddy system, where the memory manager
has a list of groups of contiguous page frames. It allows to keep the blocks free from physical
memory. In this method, only sizes that are powers of two are reserved and, therefore, only two
operations are available, which is to divide the block into two and join two consecutive blocks
into one. Buddy block allocators are not only for Real-Time Operating Systems (RTOS); they are
also used in general-purpose operating systems (such as Microsoft Windows and Linux).
In the present article you will see the more in-depth explanation of how the System of Colleagues
works and algorithms will also be displayed.
1. Introduccin disponible son de tamao 2 , para
El sistema buddy es un algoritmo para la valores de k tal que L k U, donde:
gestin de memoria, tiene como objetivo 2 = bloque de tamao ms pequeo
principal evitar la fragmentacin asignable.
externa. Linux utiliza el algoritmo 2 = tamao de bloque ms grande
buddy para asignar y liberar asignable; generalmente 2 , es el
eficientemente bloques de pginas. tamao de la memoria entera disponible
Linux proporciona varios mecanismos para asignacin.
para asignar la memoria. El mecanismo Si se hace uan solicitud de tamao s que
principal para asignar nuevos marcos de 21 <S<2 , entonces el bloque entero
pginas de memoria fsica es el se asigna:
asignador de pginas, el cual opera En otro caso, el bloque se divide
mediante el uso del conocido algoritmo en dos colegas de igual tamao.
de colegas (Tanenbaun, 2009). Este proceso contina hasta que
el bloque ms pequeo sea
2. Buddy System (sistema de colegas) mayor o igual que S
El Buddy System es un esquema para generndose.
gestin de la particin de memoria que
La Figura muestra un ejemplo que
trata de encontrar un equilibrio entre los
utiliza un bloque inicial de 1 Mbyte. La
esquemas de particiones estticos
primera peticin, A, es de 100 Kbytes,
(limitan el nmero de procesos activos y
de tal forma que se necesita un bloque
pueden utilizarse el espacio ineficiente
de 128K. El bloque inicial se divide en
si hay poca concordancia entre los
dos de 512K. El primero de estos se
tamaos de las particiones disponibles y
divide en dos bloques de 256K, y el
los tamaos de los procesos) y
primero de estos se divide en dos de
dinmicos (ms complejos de mantener
128K, uno de los cuales se asigna a A.
y incluye la sobrecarga de compartir).
La siguiente peticin, B, solicita un
bloque de 256K. Dicho bloque est
El sistema de descomposicin binaria
disponible y es asignado. El proceso
(Buddy System) asigna la memoria a
continuo, provocando divisiones y
partir de un segmento de tamao fijo
fusiones de bloques cuando se requiere.
compuesto de pginas fsicamente
Obsrvese que cuando se libera E, se
continuas (Silberschatz, Galvin, &
unen dos bloques de 128K en un bloque
Gagne, 2006).
de 256K, que es inmediatamente unido
Segn (Stalling, 2005) en un sistema
con su bloque compa ero (buddy).
buddy, los bloques de memoria
significa diferentes posiciones
absolutas de la memoria durante
su ejecucin (a partir de la
carga).
La compactacin tambin har
que un programa ocupe unas
particiones distintas, lo que