Co je adresa paměti?
Ve vztahu k počítačům je adresa paměti číselná hodnota, která odkazuje na jediný prvek datumu uvnitř paměťového média. Umístění paměti počítače by mohlo být uvnitř paměti RAM s náhodným přístupem (RAM) počítače, na pevném disku nebo souborovém systému nebo dokonce na dočasném paměťovém zařízení, které se používá jako forma virtuální paměti, pokud není k dispozici dostatek systémové paměti. . Velikost umístění paměti závisí na architektuře počítačového systému nebo zařízení, ale obecně se pohybuje od 8-bitového bajtu po 64-bitové celé číslo. Existuje celá řada metod používaných pro přístup a správu paměti, mnoho z nich využívá kus hardwaru známého jako jednotka správy paměti (MMU), zatímco jiné spoléhají zcela na software. Všechny systémy mají omezení na maximální adresu paměti, ke které lze přistupovat, což je obvykle maximální velikost největšího celočíselného typu dostupného v systému.
Nejběžnějším typem adresy paměti je umístění v paměti RAM počítačového systému, které poskytuje rychlý přístup k dynamicky se měnícím datům. Skutečné informace uložené v paměti počítače se mohou pohybovat od prvotních dat, jako jsou čísla nebo textové dokumenty, které jsou modifikovány nebo prohlíženy, až po skutečný programový kód uložený na konkrétních adresách paměti, jak je prováděn. Když program dokončí provádění, informace o adrese paměti, která byla použita, se stanou neplatnými, protože RAM se uvolní pro další program, který se má použít.
Jak technologie pokročila, termín „adresa paměti“ se změnil a od roku 2011 ne vždy odkazuje na skutečnou fyzickou adresu. Místo toho se může odkazovat na umístění, které lze vyřešit MMU počítače nebo zařízení. To znamená, že MMU poskytuje úroveň abstrakce mezi programátorem a programem, místo toho umožňuje operačnímu systému nebo jinému hardwaru řídit pohyb a přidělení paměti, jak uzná za vhodné. Mezilehlý překlad adresy paměti znamená, že se programátor nemusí učit nové schéma paměti ani upravovat zdrojový kód pro různé typy počítačových architektur.
V mnoha počítačových systémech a operačních systémech nemusí adresa paměti vždy odkazovat na data nebo kód v paměti. Existují schémata, ve kterých by se adresa mohla vztahovat na vstupní nebo výstupní bod pro periferní zařízení, jako je monitor nebo virtuální zařízení, jako je soket. V těchto případech jsou informace umístěné na konkrétní adrese skutečně přeneseny do hardwarového zařízení, které představuje. To může být neuvěřitelně účinný způsob přístupu k zařízení, jako je tiskárna, ale může to také vést k vážným zranitelnostem a zmatkům při ladění programu.