Skip to main content

무료 목록이란 무엇입니까?

free Free List는 동적 메모리 할당을 사용할 때 실행중인 프로그램에서 사용할 수있는 컴퓨터 메모리 위치의 주소를 보유하는 데이터 구조입니다. 프로그램이 할당해야 할 때 목록이 필요합니다.힙이라는 자유 메모리 영역의 공간. 무료 목록의 구현은 간단한 링크 된 목록이거나 다음과 같은보다 복잡한 데이터 구조 일 수 있습니다.정렬 트리. 대부분의 고급 컴퓨터 프로그래밍 언어는 무료 목록을 자동으로 처리하여 수동 관리의 필요성을 제거합니다.기본 운영 체제로부터 특정 양의 메모리를 요청해야합니다. 활용할 수있는 메모리 블록의 위치는 무료 목록에 저장됩니다. 할당이 성공하기 위해서는 요청 된 메모리의 양이 있습니다.이 블록 중 하나 이상에서 사용할 수 있어야합니다. 적절한 메모리 위치에 대한 포인터 일 때n이 반환되고, 목록의 요소가 제거됩니다.다음에 할당을 시도 할 때 이용할 수있는 무료 목록으로 다시 차단하십시오. 목록이 비어 있거나 사용 가능한 메모리 블록이 없기 때문에 메모리 할당이 실패 할 수 있습니다.프로그램의 요청.

. 가장 간단한 메모리 관리 형태를 첫 번째 FIT 시스템이라고합니다.이 시스템은 무료 메모리 위치의 단일 목록을 유지합니다. 메모리 요청이 전송되면,목록이 가로 지르고 충분히 큰 첫 번째 블록이 반환됩니다. 블록이 요청 된 크기의 두 배 이상이면 절반으로 절반이되고 사용되지 않은 절반이 목록에 다시 추가됩니다..이 방법은 단편화 된 메모리가 발생할 위험에 대해 간단한 코딩을 거래합니다.목록으로 반환되지 않을 수있는 영역.하나의 특정 크기 만 열린 블록. 이는 할당 요청이 수신되면 요청을 채우기에 충분히 큰 블록을 보유하고 있으며 열린 위치가 반환됩니다.요청 된 크기의 두 배 미만인 무료 블록을 사용할 수 있으며, 더 큰 블록은 요구 사항을 충족시키기 위해 2로 분할됩니다.또는 훨씬 더 복잡한 유형의 데이터 구조를 참조 할 수 있습니다. 간단하고 균형을 유지하면 복잡한 비용으로 열린 메모리 블록을 찾는 속도를 높이는 데 도움이 될 수 있습니다.소스 코드. 링크 된 목록은 특수 정렬 트리보다 느리게 할 수 있지만 프로그램을 만듭니다.읽기, 디버그 및 수정하기가 훨씬 쉬운 ing 코드.자유 공간을 무료로 통합하여 인접 해지도록 자유 공간을 통합합니다. 이것은 조각화를 방지하고 더 큰 메모리 블록을 할당 할 수있는 효과가 있습니다.