페이징 시스템은 실제 주소 공간에서 외부 조각을 제거하지만 가상 주소 공간에서 조각은 어떻게됩니까?os가 가상 주소 공간에서 조각화를 처리하는 방법
0
A
답변
0
최신 OS에서는 가상 주소 공간이 프로세스마다 사용됩니다 (커널은 고유 한 가상 범위를 가짐). 이는 전체 OS에 비해 요구 사항이 훨씬 적음을 의미합니다. 가상 주소 공간은 대개 충분히 크며 (x64 시스템에서는 2-3GB, 다중 TB (Windows에서는 8 개)), 조각화는 OS 전반의 물리적 주소 공간만큼 큰 문제는 아닙니다. 여전히 문제가 발생할 수 있습니다. 특히 x86 또는 다른 32 비트 아키텍처에서 장 시간 실행되고 메모리가 부족한 응용 프로그램의 경우. 이를 위해 OS는 예를 들어 힙 코드의 형태로 메커니즘을 제공합니다. 응용 프로그램은 일반적으로 하나 이상의 메모리 범위를 시작할 때 힙 (heap)으로 예약하고 나중에 필요한 메모리 덩어리를 나중에 할당합니다 (예 : malloc). 여러 가지 방법으로 힙의 조각화를 처리하는 다양한 구현이 있습니다. Windows는 원한다면 사용할 수있는 특별한 낮은 조각화 힙 구현을 제공합니다. 다른 모든 것은 대개 응용 프로그램 또는 라이브러리에 달려 있습니다.
0
성명에 자격을 추가하겠습니다. 페이징 시스템은 커널이 페이지 가능할 때 물리적 주소 공간에서 분열을 거의 제거합니다.
일부 시스템에서는 사용자 모드 페이지 테이블 자체가 페이지 가능합니다. 다른 것들은 페이징 할 수없는 물리적 위치입니다. 그런 다음 분열을 일으킬 수 있습니다.
힙 할당에서 가상 주소 공간의 조각화가 발생하는 경향이 있습니다. 힙 관리자의 과제는 조각화를 최소화하면서 공간을 관리하는 것입니다.
관련 문제
- 1. 하나의 가상 주소 공간에서 프로세스 스레드에 대한 메모리 관리는 어떻게됩니까?
- 2. linux pmap 특정 가상 주소 공간에서 실행중인 내용을 파악합니다.
- 3. OS가 가상 메모리의 크기를 결정하는 방법
- 4. 커널 가상 주소 공간에서 사용자 프로세스에 할당 된 페이지 매핑
- 5. 각 스레드를 별도의 가상 주소 공간에서 실행할 수 있습니까?
- 6. 가상 주소 및 가상 주소 공간 이해
- 7. 가상 주소
- 8. 가상 공간에서 캐럿 위치 설정
- 9. OS가 파일 버퍼링을 수행하는 방법
- 10. 어떻게 libxml2가 조각화를 처리합니까?
- 11. 가상 박스 게스트 OS가 작동하지 않음
- 12. vtable의 가상 함수 주소
- 13. 가상 논리 커널 주소
- 14. 논리 및 가상 주소
- 15. 커널 가상 주소 변환
- 16. 수동 가상 주소 변환
- 17. Windows의 가상 주소 공간
- 18. 가상 메모리 주소 변환
- 19. 86 가상 주소 길이
- 20. 가상 IP 주소
- 21. 가상 대 실제 주소
- 22. VM 조각화를 결정하기위한 .NET API
- 23. 가상 주소 시스템의 주소 공간 처리
- 24. 물리 주소 매핑에 대한 가상 주소
- 25. 프로세스의 주소 공간에서 DLL에 의해 사용되는 페이지
- 26. 커널 공간에서 사용자 공간에 주소 전달
- 27. 가상 주소 공간 대 가상 메모리
- 28. .NET 응용 프로그램의 주소 공간에서 dll 이미지를 재정렬하여 연속적인 여유 공간을 확보 할 수 있습니까?
- 29. jQuery와 깊은 연결을 처리하는 올바른 방법 주소
- 30. 가상 URL의 내용을 처리하는 최선의 방법 - php