2013-06-09 2 views
1

사용자 모드에서 실행중인 프로세스가 추가 메모리를 요청하면 커널이 유지 관리하는 빈 페이지 프레임 목록에서 페이지가 할당됩니다. 그러나 누가 커널에 메모리를 할당합니까? 할당 방법은 무엇입니까? 커널에 메모리를 할당 할 때 메모리 낭비가 있습니까?커널에 메모리를 할당하는 방법은 무엇입니까?

답변

0

커널은 사용자 응용 프로그램에 메모리를 할당하는 역할을하므로 (높은 수준에서) 커널은 메모리를 자신에게 쉽게 할당 할 수 있습니다.

일반적으로 사용자 응용 프로그램에서 사용하는 메모리 할당자가 있습니다 (예 : libc의 malloc()). 대부분의 커널에는 메모리 할당자가 있습니다 (예 : Linux 커널의 경우 kmalloc()). 사용자 공간 할당 자와는 다른 제약 조건 하에서 동작해야하기 때문에 다소 다르게 구현 될 수 있습니다.

관련 문제