나는 실시간 OS 사양을 다룰 예정이었고, RTOS에서 우리는 보통 malloc을 선호하지 않는다는 것을 읽었습니다. 그 이유는 성능 문제 때문에 malloc을 사용해서는 안됩니다. malloc을 통해 메모리를 할당하는 데 시간이 많이 걸리고 할당 된 메모리를 추적하는 오버 헤드가 높기 때문입니다.메모리 풀 대 malloc
지금 실시간 시스템에서 시간 제약은 모든 프로세스와, 우리가 일반적으로 malloc을 사용하지 마십시오있다. 호기심이 생기고 RTOS에서 런타임에 실제로 메모리를 할당하는 방법과 같은 약간의 연구를 시작했고 메모리 풀을 발견했습니다. 이제 메모리 풀은 고정 된 크기의 블록 할당이라는 의미입니다. 메모리 풀의 장점은 조각화가 발생하지 않는다는 것입니다. 그게 어떻게 가능해? 우리가 4 바이트의 3 풀을 가지고 있고 응용 프로그램이 10 바이트를 필요로한다고 가정하면,이 경우 메모리 풀은 내부 단편화로 어려움을 겪을 것이다.
어떻게 메모리 풀 작동합니까 메모리가 어떻게 할당? 특정 응용 프로그램이 풀 크기 4bytes에서 3 개의 풀을 얻는 것처럼 응용 프로그램이 컴파일 시간에 풀을 가져 옵니까? 풀에 들어갈 수없는 메모리가 필요한 경우에는 어떻게해야합니까? 그러한 시스템에 크기가 다른 많은 메모리 풀이 있습니까? 나에게 설명해주십시오.