Alokacja pamięci: Różnice pomiędzy wersjami
[wersja nieprzejrzana] | [wersja przejrzana] |
Usunięta treść Dodana treść
dezalokacja.. no błagam |
cz2 |
||
Linia 1:
{{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 ('''
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 ('''
Dla przykładu w języku [[c (język programowania)|C]], do ręcznej dynamicznej alokacji i
Systemy operacyjne automatycznie zwalniają pamięć przydzieloną procesom, gdy te zakończą działanie bez uprzedniej
Alokacja pamięci nie powiedzie się, gdy nie istnieje wolny '''ciągły''' obszar pamięci o wymaganym rozmiarze (patrz [[Fragmentacja pamięci|fragmentacja zewnętrzna]]).
|