Tietojenkäsittelytieteen ja ohjelmoinnin allokoinnin ymmärtäminen
Tietojenkäsittelytieteen ja ohjelmoinnin yhteydessä allokoinnilla tarkoitetaan prosessia, jossa ohjelman muuttujalle tai objektille osoitetaan muistitilaa. Kun muuttuja tai objekti luodaan, se vaatii tietyn määrän muistia tietojensa tallentamiseen. Varaukseen sisältyy tämän muistitilan varaaminen muuttujalle tai objektille käytettäväksi.
Jos esimerkiksi luot ohjelmassasi kokonaislukujen joukon, muistin varaaja (joka on yleensä osa käyttöjärjestelmää) varaa vierekkäisen muistilohkon tallentaa kaikki taulukon kokonaisluvut. Jokaisella kokonaisluvulla on oma paikkansa kyseisessä muistilohkossa, ja lohkon koko riippuu kokonaislukujen määrästä, jotka haluat tallentaa taulukkoon.
Varaustyyppejä on useita, mukaan lukien:
1. Pinon varaus: Tämä on prosessi, jossa varataan muistia pinossa olevalle muuttujalle tai objektille, joka on väliaikaista tallennusta varten käytettävä muistialue. Pinoon allokoidut muuttujat ja objektit ovat tyypillisesti pieniä ja lyhytikäisiä.
2. Keon varaus: Tämä on prosessi, jossa varataan muistia keon muuttujalle tai objektille, joka on muistialue, jota käytetään pitkäaikaiseen tallennukseen. Kasaan allokoidut muuttujat ja objektit ovat tyypillisesti suuria ja pitkäikäisiä.
3. Dynaaminen allokointi: Tämä on prosessi, jossa varataan muistia muuttujalle tai objektille ajon aikana käännösajan sijaan. Tämä mahdollistaa enemmän joustavuutta varattavissa olevan muistin määrän suhteen sekä mahdollisuuden varata muistia objekteille, jotka eivät ole tiedossa ennen suoritusaikaa.
4. Roskien kerääminen: Tämä on prosessi, jossa käytetään automaattisesti uudelleen muistia, joka oli aiemmin varattu kohteille, jotka eivät ole enää käytössä. Tämä auttaa estämään muistivuotoja ja varmistamaan, että muistia käytetään tehokkaasti.



