Alokacja pamięci: Różnice pomiędzy wersjami

Przejdź do nawigacji Przejdź do wyszukiwania
Usunięte 16 bajtów ,  5 lat temu
drobne redakcyjne
(cz2)
(drobne redakcyjne)
{{dopracować|źródła=2012-06}}
 
'''Alokacja pamięci''' oraz '''dealokacja pamięci''' - w informatyce to odpowiednio przydział i zwolnienie '''ciągłego''' obszaru [[pamięć komputerowa|pamięci]]. Po uruchomieniu, [[proces (informatyka)|proces]] (program) otrzymuje od [[system operacyjny|systemu operacyjnego]] jedno lub więcej pól dostępnej [[pamięć komputerowa|pamięci]], możliwej do dowolnego wykorzystania. W zależności od przyjętej konstrukcji i zastosowania obszar nazywany jest '''[[sterta (informatyka)|stertą]]''' (ang. ''heap'') lub [[stos (informatyka)|stosem]]. W trakcie działania program może zażądać od systemu operacyjnego większej ilości pamięci ('''alokacja''') lub też zwolnić niepotrzebny obszar ('''dealokacja''').
 
Wewnętrznie programy samodzielnie zarządzają przydzieloną im pamięcią - niskopoziomowe [[język programowania|języki programowania]] dostarczają interfejs programistyczny do zarządzania stertą, który oferuje wyłącznie możliwość zarezerwowania pewnego obszaru ('''alokacja''') i późniejszego jego zwalniania ('''dealokacja'''). Wiele wysokopoziomowych języków programowania [[odśmiecanie pamięci|automatycznie]] przeprowadza procedurę dealokacji, bez udziału programisty.
 
== Zarządca pamięci ==
 
Część systemu operacyjnego bądź aplikacji użytkowej odpowiedzialna za przydział i zwalnianie pamięci nazywa się zarządcą pamięci. Zarządca pamięci posiada listę obszarów wolnych i przydzielonych, charakteryzowanych adresem obszaru i jego rozmiarem. Często rozmiar jest wielokrotnością pewnej liczby bajtów, bądź też nie jest możliwe przydzielenie mniejszej liczby bajtów niż określona wartość graniczna - co w obu przypadkach prowadzi do [[Fragmentacja pamięci|fragmentacji wewnętrznej]].
 

Menu nawigacyjne