Razumijevanje načina na koji računala upravljaju i pohranjuju podatke ključno je i za korisnike i za programere. Ova lekcija pokriva ključne koncepte upravljanja memorijom i pohrane, ispitujući kako softver koristi te resurse.
U svojoj jezgri, memorija računala je mjesto gdje se podaci privremeno pohranjuju radi brzog pristupa procesoru. Glavne vrste memorije u računalu su memorija s izravnim pristupom (RAM) i memorija samo za čitanje (ROM).
RAM je nepostojan, što znači da zadržava podatke samo dok je uključen. ROM je, s druge strane, postojan, pohranjuje bitne podatke poput firmvera sustava koji se ne mijenja često.
Upravljanje memorijom je proces kontrole i koordinacije memorije računala, dodjeljivanjem dijelova koji se nazivaju blokovi različitim pokrenutim programima kako bi se optimizirala ukupna izvedba.
Postoji nekoliko načina na koje operativni sustav može dodijeliti memoriju programima:
Dinamička dodjela može se dalje podijeliti na dodjelu stogova i raspodjelu gomile. Dodjela hrpe je brza, ali ograničene veličine, dok je raspodjela gomile fleksibilnija, ali zahtijeva ručno upravljanje u jezicima kao što su C i C++.
Virtualna memorija je tehnika koja omogućuje izvršavanje procesa koji možda nisu u potpunosti u RAM-u. Proširuje dostupnu memoriju koristeći dio tvrdog diska kao privremenu pohranu ili swap prostor.
Operativni sustav dijeli virtualnu memoriju na stranice, od kojih se svaka po potrebi može zasebno unijeti u RAM. Formula za izračun veličine virtualne memorije je \( \textrm{Virtualna memorija} = \textrm{veličina RAM-a} + \textrm{Zamijeni prostor} \) .
U programskim jezicima kao što su Java i Python, upravljanje memorijom često je automatizirano kroz proces koji se zove sakupljanje smeća. Ovaj proces automatski vraća memoriju dodijeljenu objektima koje program više ne koristi.
Osim privremene pohrane podataka u RAM-u, trajna pohrana podataka potrebna je za aplikacije, datoteke i sam operativni sustav. Postoje dvije glavne vrste uređaja za pohranu:
Datotečni sustavi koriste se za upravljanje i organiziranje podataka pohranjenih na tim uređajima. Uobičajeni datotečni sustavi uključuju FAT32, NTFS za Windows i EXT4 za Linux.
Podaci u datotečnom sustavu organizirani su u hijerarhijsku strukturu, počevši od korijenskog direktorija. Svaka datoteka ili direktorij može imati atribute kao što su naziv, veličina i dopuštenja.
RAID (Redundant Array of Independent Disks) je tehnologija koja koristi više uređaja za pohranu kao jednu jedinicu za pohranu, pružajući redundanciju podataka i poboljšane performanse. Postoji nekoliko razina RAID-a, a svaka nudi različitu ravnotežu performansi i redundantnosti.
Pohrana u oblaku omogućuje korisnicima pohranjivanje podataka na udaljenim poslužiteljima kojima se pristupa putem interneta. Nudi skalabilnost, redundantnost podataka i pogodnost pristupa s bilo kojeg mjesta s internetskom vezom.
Učinkovito upravljanje memorijom i odgovarajuća rješenja za pohranu ključni su za nesmetan rad računalnih sustava. Od privremene pohrane podataka u RAM-u do dugoročne pohrane podataka na SSD-ovima i uslugama u oblaku, razumijevanje ovih koncepata ključno je za snalaženje u digitalnom svijetu.