Mac OS X에서 메모리 관리는 어떻게 작동합니까?


12

저는 Windows, Linux 및 Mac OS X이 메모리를 관리하는 방법 사이에 비교 및 ​​대비 논문을 작성하려고 노력하는 대학생입니다. 예를 들어 Windows의 경우 실제 메모리 (RAM) 및 가상 메모리 (페이징 파일)입니다. Mac은 어떻게이 작업을 수행합니까?

지금까지이 주제에서 찾은 유일한 정보는 사람들이 Mac OS X 용 릴리스 중 하나에 대해 비명을 지르고 메모리 누수가 어떻게 발생했는지에 대한 것입니다. 필자는 Mac 사용자가 아니므로 사용중인 메모리를 확인하는 방법 등에 대한 지침을 찾고 있지 않습니다. 작동 방법을 설명하는 기사 또는 문서에 대한 링크가 가장 높이 평가됩니다.

http://www.macosxautomation.com/applescript/apps/memory.html을 찾았 지만 Objective-C의 가비지 수집은 OS의 내부 메모리 관리보다 더 많이 처리합니다.


이 스레드를 버전 10.0에서 10.8 Mountain Lion까지의 OS X 메모리 관리에 중점을 두지 마십시오. 10.9 릴리스 "Mavericks"는 압축 된 메모리 및 추가 클래스의 메모리 페이지를 추가하여 메모리 관리를 크게 변경했으며 자체 질문이있을 수 있습니다.
bmike

답변:


17

Apple 은 개발자 문서의 일부로 웹 에서 가장 낮은 수준의 Mach Kernel 및 가상 메모리 하위 시스템을 문서화합니다.

그 커널은 Carnegie Mellon University에 의해 개발되었으므로 , 이를 쉽게 설명하는 수십 개의 논문을 찾을 수 있습니다.

그것이 당신의 논문에 비해 너무 낮은 수준이라면, 우리는 프로그래머가 아닌 사람들이 OS X 메모리 관리에 대해 더 많은 관점을 다루는 10 가지 이상의 좋은 질문을 가지고 있습니다. 지금까지 대답하지 않은 OS X와 ​​다른 두 OS를 비교하는 방법을 종합해야 할 것입니다.

검색시 최상의 결과를 얻으 려면 태그에 집중 하십시오.

수많은 "비활성 메모리"질문으로 사람들에게 가장 당황스러운 OS X의 메모리 관리 부분에 초점을 맞출 수 있습니다.


3

Mac OS X은 BSD Unix에서 제공하는 것과 매우 유사한 수요 페이지 가상 메모리 시스템을 제공합니다.


1
OSX는 Mach Kernel을 기반으로하며 VM은 BSD Unix가 아닙니다. 커널 위의 프로그램과 호출은 BSD를 기반으로하지만 VM은 아닙니다.
user151019

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.