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

Usunięte 4 bajty ,  11 lat temu
m
robot poprawia: lv:Dinamiskā atmiņas iedalīšana; zmiany kosmetyczne
(Pierwszy pasujący polega na przydzieleniu pierwszego obszaru zdolnego spełnić żądanie, czyli większego, bądź równego żądaniu, nie zaś jak to było napisane "mniejszego, bądź równego", drobne techniczne)
m (robot poprawia: lv:Dinamiskā atmiņas iedalīšana; zmiany kosmetyczne)
'''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]] jedną lub więcej pul 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'''). Wysokopoziomowe języki gospodarują pamięcią
Alokacja pamięci nie powiedzie się, gdy nie istnieje wolny '''ciągły''' obszar pamięci o wymaganym rozmiarze (patrz [[fragmentacja zewnętrzna]]).
 
== 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 wewnętrzna|fragmentacji wewnętrznej]].
Istnieje specjalny rodzaj zarządców pamięci, tzw. pule pamięci (ang. ''memory poll''), które operują na obszarach pamięci o określonym z góry rozmiarze. W takich przypadkach problem [[fragmentacja zewnętrzna|fragmentacji zewnętrznej]] jest całkowicie eliminowany, gdy dodatkowo rozmiar ten ściśle odpowiada potrzebom aplikacji znika również problem fragmentacji wewnętrznej.
 
== Zobacz też ==
* [[odśmiecanie pamięci]],
* [[przepełnienie sterty]],
* [[fragmentacja pamięci]]
 
[[kategoriaKategoria:konstrukcjeKonstrukcje programistyczne]]
 
[[de:Dynamischer Speicher]]
[[it:Allocazione dinamica della memoria]]
[[he:הקצאה דינמית]]
[[lv:Dinamiskā atmiņas iedalīšana]]
[[lv:Atmiņas piešķiršanas stratēģijas]]
[[ja:動的メモリ確保]]
[[pt:Alocação de memória]]
323 006

edycji