Què és la gestió de la memòria?

La gestió de la memòria és una forma de gestió de recursos, referida específicament a la gestió de la memòria de l'ordinador, o RAM. El nucli del problema és gestionar la memòria del sistema d'assignació quan sigui necessari i el seu llançament quan ja no sigui necessari. En els ordinadors moderns, la gestió de la memòria també implica la gestió del sistema d'adreçament virtual per a cada procés en execució. Segons el llenguatge de programació, la gestió de la memòria pot ser manual, automàtica o ambdues.

Què fa la gestió de la memòria?

Cada ordinador té un subministrament limitat de memòria que s'ha de compartir entre tots els processos en execució. La gestió de la memòria garanteix que aquest recurs limitat s'alliberi quan ja no sigui necessari. Molts idiomes antics, com el C, se centren en la gestió manual de la memòria. Això vol dir que el desenvolupador de l'aplicació ha d'assignar específicament recursos per als valors que s'han d'emmagatzemar a la memòria. Una vegada que aquestes variables ja no són necessàries, el desenvolupador també ha de tornar a alliberar la memòria.

Un dels altres factors de la gestió manual de la memòria és la necessitat d'inicialitzar variables i esborrar dades abans d'alliberar la memòria. Per exemple, si assigneu memòria a una variable, s'assigna una adreça de memòria. No es fan més accions, de manera que aquesta adreça de memòria pot contenir valors del seu ús anterior que mai s'han esborrat. Actuar sobre les dades de la memòria no inicialitzada pot tenir resultats impredictibles, que poden implicar respostes d'escombraries i bloquejos del programa. Fins i tot si intenteu posar dades a la memòria, si no ompliu tot l'espai assignat a la variable, l'espai que no heu utilitzat pot contenir dades no inicialitzades. Per evitar-ho, és important inicialitzar les variables quan gestioneu manualment la memòria.

Consell: la inicialització d'una variable és el procés d'establir una variable a un valor inicial conegut, normalment esborrant-la.

Els llenguatges més moderns, com Python, solen utilitzar la gestió automàtica de la memòria. Això executa automàticament tots els procediments d'inicialització i recollida d'escombraries en segon pla. Això redueix la complexitat del desenvolupament, però pot afectar una mica el rendiment i ofereix un control una mica menys directe al desenvolupador.

Problemes amb la gestió de la memòria

Hi ha algunes maneres en què malmetre la gestió de la memòria pot causar problemes potencialment greus. L'ús de la memòria no inicialitzada, per exemple, pot provocar un comportament no definit. Per contra, no esborrar la memòria abans d'alliberar-la pot filtrar dades a la següent aplicació que intenti utilitzar aquesta secció de memòria.

Quan ja no es necessita una ubicació de memòria, s'hauria d'alliberar. Això permet que l'ordinador el torni a assignar a un altre programari segons sigui necessari. Si no netegeu la memòria innecessària després de vosaltres mateixos, això s'anomena fuga de memòria. Això no és necessàriament un gran problema en programes de curta durada, ja que un cop finalitzi el procés, la memòria s'alliberarà. Però per al programari de llarga durada, això pot acabar consumint més i més memòria del sistema, fins que s'esgota l'ordinador, cosa que normalment provoca que el programari es bloquegi.

És important assegurar-se que les dades que emmagatzemeu en una variable s'ajustin a la memòria assignada a aquesta variable. Si teniu una variable dissenyada per contenir tres caràcters i intenteu escriure-hi vint caràcters, això és un desbordament de memòria intermèdia. Els desbordaments de memòria intermèdia poden afectar les adreces de memòria adjacents, provocant la corrupció de la memòria.

Els problemes de gestió de la memòria donen lloc a un comportament no desitjat. Això pren principalment la forma de fallades o errors. En el pitjor dels casos, però, pot provocar vulnerabilitats d'execució de codi. Si el comportament no desitjat és previsible, és possible que es proporcioni una entrada específica que faci que el programa executi codi maliciós. Com a tal, una bona gestió de la memòria és important per desenvolupar codi segur.

Memòria virtual

Un dels factors ocults de la gestió de la memòria és l'ús de la memòria virtual. La memòria virtual la gestiona el sistema operatiu en lloc de l'aplicació, el que significa que els desenvolupadors no poden afectar-la realment. En lloc d'assignar-se adreces de memòria física reals, a cada procés se li assigna el seu propi espai d'adreces de memòria únic. Aleshores, el sistema operatiu converteix l'adreça virtual en una adreça física sempre que necessiti accedir a la memòria.

Un dels avantatges clau d'utilitzar la memòria virtual és que segmenta l'espai d'adreces de memòria entre processos. Això impedeix que un procés pugui llegir la memòria d'un altre. Tot i que generalment no és un problema per al programari legítim, això ajuda a protegir-se contra programari maliciós i programari canalla que infecti o roba dades d'altres programes. També ajuda a evitar que els desbordaments de memòria intermèdia afectin diferents processos.

Com a avantatge addicional, l'ús d'adreces de memòria virtual permet al sistema operatiu ajustar la ubicació física de les dades que s'emmagatzemen segons sigui necessari. Això s'utilitza generalment per transferir la memòria que s'utilitza rarament a una pàgina o intercanviar fitxers en una unitat d'emmagatzematge quan els recursos de memòria estan esgotats. Això comporta un impacte en el rendiment quan es necessiten aquestes adreces de memòria virtual, ja que l'emmagatzematge és més lent que la memòria RAM real, però també evita que el sistema o l'aplicació es bloquegin, cosa que es prefereix generalment.

Conclusió

La gestió de la memòria és el procés de gestió dels recursos limitats de la memòria RAM del sistema. En el programari, això es fa en general de manera automàtica, però, alguns llenguatges de programació permeten o requereixen la gestió manual de la memòria. La gestió incorrecta de la memòria pot provocar una gran varietat de problemes de corrupció de la memòria i, potencialment, vulnerabilitats d'execució de codi. El sistema operatiu també realitza una certa gestió de memòria en forma d'adreces virtuals. Això li permet segregar la memòria de cada procés, una característica de seguretat útil. També permet al sistema operatiu ajustar la ubicació física de les dades sense afectar el procés real.


Què és SMPS?

Què és SMPS?

Apreneu què és SMPS i el significat de les diferents classificacions d'eficiència abans de triar un SMPS per al vostre ordinador.

Per què el meu Chromebook no sencén

Per què el meu Chromebook no sencén

Obteniu respostes a la pregunta: Per què el meu Chromebook no s'encén? En aquesta guia útil per als usuaris de Chromebook.

Com informar de les estafes de pesca a Google

Com informar de les estafes de pesca a Google

Obteniu informació sobre com informar d'un estafador a Google per evitar que estafeu altres persones amb aquesta guia.

Roomba satura, senganxa i gira - Arregla

Roomba satura, senganxa i gira - Arregla

Solucioneu un problema en què el vostre robot aspirador Roomba s'atura, s'enganxa i segueix girant.

Com canviar la configuració gràfica a Steam Deck

Com canviar la configuració gràfica a Steam Deck

El Steam Deck ofereix una experiència de joc robusta i versàtil al teu abast. Tanmateix, per optimitzar el vostre joc i garantir el millor possible

Què és la seguretat basada en laïllament?

Què és la seguretat basada en laïllament?

Anàvem a aprofundir en un tema que cada cop és més important en el món de la ciberseguretat: la seguretat basada en l'aïllament. Aquest enfocament a

Com utilitzar el clic automàtic per a Chromebook

Com utilitzar el clic automàtic per a Chromebook

Avui anàvem a aprofundir en una eina que pot automatitzar tasques de clics repetitius al vostre Chromebook: el clic automàtic. Aquesta eina us pot estalviar temps i

Com canviar la cara del rellotge en un Fitbit Versa 4

Com canviar la cara del rellotge en un Fitbit Versa 4

Canvia la cara del rellotge del teu Fitbit Versa 4 per donar-li un aspecte diferent cada dia de manera gratuïta. Mireu que fàcil i ràpid és.

Com treure una GPU dun PC Windows el 2023

Com treure una GPU dun PC Windows el 2023

Necessites treure la GPU del teu ordinador? Uneix-te a mi mentre t'explico com eliminar una GPU del teu PC en aquesta guia pas a pas.

Què és el surf despatlles?

Què és el surf despatlles?

El surf a l'espatlla és una classe d'atac d'enginyeria social. Implica que un atacant recopila informació mirant la pantalla.