동적 메모리 할당이란 무엇입니까?
힙 기반 메모리 할당이라고도하는 동적 메모리 할당은 정적 메모리 할당과 크게 대조되는 메모리 관리 유형입니다. 동적 메모리 할당에서 프로그래머는 컴퓨터에 각 프로그램에 할당 할 메모리 양과 메모리를 얼마나 오래 보유 할 것인지를 컴퓨터에 정확하게 알려줍니다. 이렇게하면 메모리 남용 및 정지 된 프로그램과 같은 정적 메모리 할당에서 발생하는 많은 문제가 해결됩니다. 많은 문제를 해결하는 동안 프로그래머가 메모리에 덤프를 지시하지 않으면 동적 메모리가 문제가 될 수 있습니다.
컴퓨터는 기본적으로 정적 메모리 할당을 사용합니다. 이는 프로그램이 더 이상 사용되지 않거나 보류 된 메모리가 위험하거나 성능에 장애가되는 경우에도 프로그램을 사용할 때 메모리가 프로그램을 보류 함을 의미합니다. 예를 들어, 사용자가 3MB 컴퓨터에서 2MB의 프로그램 실행을 중지하고 두 번째 프로그램에 다른 2MB가 필요한 경우 두 번째 프로그램이 작동하지 않습니다. 컴퓨터에 다른 프로그램을위한 메모리가 충분하지 않기 때문입니다.
정적 메모리 할당을 사용하면 사용자 또는 프로그래머가 저장하려는 메모리의 양을 지정할 수 없으며 프로그래머가 정적 메모리에 메모리를 덤프하여 리소스를 확보하도록 지시 할 수 없습니다. 이것이 바로 고급 사용자가 종종 동적 메모리 할당을 사용하는 이유입니다. 프로그래머는 리소스 보유 기간을 포함하여 메모리에 대한 모든 것을 제어 할 수 있습니다.
예를 들어, 프로그래머는 동적 메모리 할당을 1MB 이하로 유지하도록 설정하여 다른 프로그램을 열 수 있도록 충분한 시스템 메모리를 절약 할 수 있습니다. 정적 메모리는 일반적으로 프로그램에 대한 모든 것을 유지하기 때문에 동적 메모리를 사용하면 프로그래머는 일부 데이터를 보유하고 있지만 일부는 보유하지 않는 낮은 값으로 설정할 수 있기 때문입니다. 동시에 정적 메모리는 여전히 필요하며이 할당 스키마에서 설정할 수 있습니다.
동적 메모리 할당에서 발생할 수있는 잠재적 인 문제는 거의 발생하지 않지만 프로그래머가 시간 값 설정을 잊어 버린 경우 동적 메모리가 채워질 수 있다는 것입니다. 시간 값이 설정되지 않으면 결국 메모리를 해제하는 정적 메모리와 달리 동적 메모리는 정보를 보유합니다. 프로그램에 가비지 덤프 응용 프로그램이 있고 대부분의 경우 메모리를 비우려면 일정 시간이 지나면 활성화됩니다. 메모리 할당에 대한 시간 값을 설정하는 것이 좋습니다.