Diapositives de Cifp Pau Casesnoves sobre la gestió de la memòria principal. El Pdf, destinat a Batxillerat d'Informàtica, explora tècniques com la paginació i la segmentació, la memòria virtual i les particions fixes i variables, oferint una visió clara de l'assignació i gestió de la memòria.
See more20 Pages


Unlock the full PDF for free
Sign up to get full access to the document and start transforming it with AI.
1r Grau Mitjà - Sistemes Microinformatics i xarxes
CIFP Pau Casesnoves
Podem entendre la memoria principal com un immens caseller, que emmagatzema programes i
dades. Les caselles estan numerades (amb una direcció) i el seu contingut rep el nom de paraula
(conjunt de bits que l'arquitectura d'un ordinador pot manejar com un tot). Les grandàries de paraula
més comunes són de 16, 32 o 64 bits.
Perquè un programa pugui executar-se, les seves instruccions i les seves dades hauran de ser a la RAM.
-> Planificant l'ús del processador, millorarem el rendiment general del sistema, això implica la
necessitat de compartir la RAM entre diversos processos de manera simultània -> GESTIÓ
El gestor de memoria haurà d'assignar la porció necessaria de RAM a cada procés que el necessiti. Per
a executar una instrucció, caldria llegir-la des de la memòria a un registre del processador i
descodificar-la (esbrinar què significa). A continuació, és possible que el sistema hagi de tornar a la
memòria per a obtenir les dades implicades en l'operació. Finalment, és comú que els resultats
obtinguts també calgui guardar-los en la memòria.
Els SO moderns són, gairebé sempre, multiprogramats. És a dir, executen diversos processos de
manera concurrent. Això significa que la memoria ha de dividir-se per a donar-los cabuda.
Com més eficaç sigui aquest repartiment -> més processos podran executar-se alhora i major
rendiment. A més, la gestió de memòria haurà de complir amb les següents necessitats:
En els primers ordinadors, la memòria principal es dividia en dues parts:
A)
Una per a la part del SO que havia d'estar sempre en memoria (que rebia el nom de monitor).
B) Una altra per a un únic procés d'usuari. Un exemple d'aquest esquema el representen les
primeres versions del sistema operatiu MS-DOS, encara que, si és el cas, la part superior de l'espai
de direccions l'ocupava el programari de la BIOS.
Lògicament, només podia executar-se un procés cada
vegada i, quan aquest acabava, el control tornava al
sistema operatiu.
Memoria principal
0
http://
Memoria principal
0
Monitor del
sistema operativo
Monitor del
sistema operativo
se sHop
To://www.SomeBoo
www.Som
es
Proceso
se syoogeu
Proceso
vw.Someb
to://www.
oks es
Controladores
de dispositivo
20 - 1
20 - 1
Books.es http://www.SomeB
Oks
SO
L'administrador (o fins i tot un operador) divideix la memoria en fragments abans de l'inici de
l'execució dels programes. Quan arriba un nou procés, el planificador el situa en la partició amb la
grandària més adequada i, quan un procés acaba, la seva partició queda lliure per a un nou ús.
Aquest metode rep també el nom de Multiprogramació amb un nombre fix de tasques, o MFT
(Multitasking with a Fixed number of Tasks).
Era freqüent organitzar la càrrega de treball segons les particions de memòria, creant una llista per a
cadascuna d'elles en funció de la seva grandària. Una altra opció és disposar d'una cua única i triar les
tasques que s'adaptin a les particions que queden lliures, encara que això discrimina les tasques amb
menys requisits, perquè tendeixen a malgastar espai.
En aquesta mena d'esquema sorgeix el concepte d'intercanvi (swapping), que consisteix, bàsicament
a moure a memoria secundaria (normalment disc), els processos que es troben bloquejats en espera
d'un succés. D'aquesta manera, es pot donar cabuda a nous processos.
-> Bescanviador (intercambiador): modul del SO que s'encarrega de l'intercanvi (triar els processos
que han de moure's de memoria principal a secundaria i al revés). També administra l'espai reservat
en la memoria secundaria per a aquests fins.
Reubicació (relacionat amb el concepte d'intercanvi) -> un determinat procés pot executar-se en
diferents particions de memoria, no sols en successives execucions, sinó fins i tot durant la mateixa
execució. Idò, quan un programa faci referència a una posició de memòria x, en realitat estarà
referint-se a una posició relativa al comencament de la partició. És a dir, si la partició comença en la
direcció i, la posició exacta a la qual fa referencia el programa seria la i + x.
Per consegüent, podrem parlar de dos tipus de direccions de memòria:
A)
La direcció lògica o virtual: direcció a la qual fa referencia el programa (la direcció x)
B)
La direcció física: direcció real a la qual s'accedeix (en l'explicació anterior, la direcció i + x).
Per a realitzar aquests calculs a gran velocitat, el processador disposarà d'un registre basi que conté la
direcció d'inici de la partició que ocupa el procés.
tto://www.
http://
Registro
base
vw.SomeBooks.es
o://www.Som@Books.es
Dirección
lógica
Dirección
física
Memoria
principal
/www.Son
http://w
omeBooks.es
omeBooks,
-> És necessari establir un mecanisme de protecció per a evitar
que un procés, per error o de manera intencionada, pugui
accedir a posicions de memòria que es trobin més enllà de
l'espai que tingui assignat. Per a aconseguir-ho, s'implementa un
registre limit que conté la longitud de la partició que s'està
utilitzant. Les referències de cada procés es calculen afegint al
registre basi la direcció lògica i comprovant que no s'excedeix el
registre límit.
se'sxc
OSM
www.Sor
Dirección
lógica
Sí
Sí
Procesador
Superior
a límite
mínimo?
Inferior
a límite
máximo?
Memoria
principal
@Books.es
Somos
No
Error de direccionamiento
ftp://www.SomeBooks.es
Books es
o://www.SomeB
http://www.SomeBo
®Books.e
http://www.SomeBooks.es >
Procesador
se sto
Registro
base
+
Dirección
lógica
://www.Som®Book
http://www.SomeBooks.es
ww.Som
La dificultat en aquest esquema de memòria és obtenir l'equilibri entre la grandària de les particions i el
dels processos que han de situar-se en elles. Dues formes diferents de desaprofitament:
Fragmentació interna: Ocorre quan existeixen particions grans i la majoria dels processos no les
ocuparan senceres. És a dir, el malbaratament de memòria es produeix dins de l'assignació al procés.
Fragmentació externa: Ocorre quan hi ha particions excessivament petites i és difícil trobar processos
que càpiguen dins. És a dir, el malbaratament es produeix entre la memòria que no està assignada a
cap procés.
La Gestió de memoria amb particions fixes té una implementació senzilla i necessita poc programari
per part del SO. A més, ofereix poca sobrecarrega de processament. No obstant això, el nombre de
processos que poden estar actius és limitat. La resta deuen trobar-se Suspesos (descarregats a
memòria secundaria). A més, els processos més petits tendeixen a malgastar gran part de la grandària
de les particions.
Es basa en la idea que les particions de memòria vagin canviant de grandària al llarg del temps. El
sistema disposarà d'una taula on es representin les zones de memoria que es troben ocupades.
Quan arriba un procés, es busca un bloc de memòria prou gran per a contenir-lo i se li assigna només la
porció necessària. La resta del bloc queda lliure per a una altra assignació. Quan un procés acaba, la
memoria que ocupava queda disponible i, si es troba al costat d'un altre bloc lliure, s'uneix a ell.
-> Problema: si hi ha múltiples assignacions i alliberaments
de memòria -> tendència a tenir una gran fragmentació
externa.
Se
SE
Memoria principal
Memoria principal
Memoria principal
Monitor del
sistema operativo
Memoria principal
Monitor del
sistema operativo
Monitor de
sistema operativo
Memoria principal
Monitor del
sistema operativo
Proceso 1
Proceso 1
S
Proceso 1
Proceso 1
Proceso 1
Proceso 1
0://ww
to://www
Proceso 6
Proceso 6
Proceso 6
Proceso 6
Proceso 3
Proceso 3
Proceso 3
Proceso 2
Proceso 4
Proceso 4
Proceso 4
eBooks. es
Books
Books.&
//Www.zon Boole es
seg
mBooks. es
SE
BomBoc
//www.Som
/Www
Proceso 2
http:/
http://
Proceso 5
-> Sol.lució: aplicar, quan sigui necessari, un procediment
Momento 2
Proceso 5
Proceso 5
Proceso 5
Proceso 5
Proceso 5
de compactació de memòria, que consisteix a desplaçar
//Www
Momento 1
Momento 3
Momento 4
V//Www
//Www
Momento 6
http://ww
Momento 5
h
http://www.So
els blocs assignats cap a un extrem i unint al seu torn tots els blocs lliures en un més gran. Lògicament,
el temps que ha d'emprar-se per a fer aquesta tasca és el seu gran inconvenient.
Monitor del
sistema operativo
Monitor del
sistema operativo
SO
Son