Gestió de la memòria principal en sistemes operatius, Cifp Pau Casesnoves

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 more

20 Pages

UT5. Gestió de la
memòria principal
CIFP Pau Casesnoves
1r Grau Mitjà - Sistemes Microinformàtics i xarxes
UT5. Gestió de la memòria principal. Continguts.
5.1- Introducció
5.2- Gestió de memòria per a un sol processo
5.3- Gestió de memòria amb particions fixes
5.4- Gestió de memòria amb particions variables
5.5- Paginació
5.6- Segmentació
5.7- Paginació i segmentació combinades
5.8- Memòria virtual

Unlock the full PDF for free

Sign up to get full access to the document and start transforming it with AI.

Preview

UT5. Gestió de la memoria principal

1r Grau Mitjà - Sistemes Microinformatics i xarxes
CIFP Pau Casesnoves

UT5. Gestió de la memoria principal. Continguts

  • 5.1- Introducció
  • 5.2- Gestió de memoria per a un sol processo
  • 5.3- Gestió de memoria amb particions fixes
  • 5.4- Gestió de memoria amb particions variables
  • 5.5- Paginació
  • 5.6- Segmentació
  • 5.7- Paginació i segmentació combinades
  • 5.8- Memoria virtual

C1. Introducció

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.

1. Introducció

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:

  • Protecció: Ha d'evitar-se que un procés faci referencia a posicions de memoria d'un procés diferent.
    Com el SO no pot anticipar-se a tots els accessos que realitzarà un procés durant la seva execució, és
    el processador qui ha de tenir un mecanisme que intercepti els accessos no permesos.
  • Reubicació: Una manera de donar cabuda a més processos consisteix a descarregar a disc la
    totalitat o una part de la memòria ocupada per un procés (per exemple, mentre es troba bloquejat). La
    reubicació consisteix en que en tornar a la memoria, no sigui necessari que ocupi la posició original.
    NOTA: Perquè això sigui possible les referències que facin els programes a direccions de memoria han de ser logiques i seran el maquinari i el
    sistema operatiu els qui col·laborin per a realitzar la traducció.

1. Introducció a la compartició

  • Compartició: Ha d'existir la possibilitat que diversos processos comparteixin informació a través
    d'una zona de memoria compartida. Per exemple, és més eficient que diversos processos accedeixin al
    mateix codi d'una biblioteca de funcions compartida (DLL a Windows), que mantenir diverses còpies
    d'aquesta.
    Igual pot ocorrer amb dades que manegin diferents processos.
    No obstant això, per a tractar de comprendre la complexitat de la gestió de memoria, estudiarem
    diferents mecanismes, de més senzill a més complex, podent entendre l'explicació com una evolució.

C2. Gestió de memoria per a un sol processo

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

3. Gestió de memòria amb particions fixes

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.

3. Gestió de memoria amb particions fixes. Bescanviador i reubicació

-> 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).

3. Gestió de memòria amb particions fixes. Càlculs i protecció

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


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

3. Gestió de memoria amb particions fixes. Fragmentació

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.

4. Gestió de memòria amb particions variables

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

Can’t find what you’re looking for?

Explore more topics in the Algor library or create your own materials with AI.