본문 바로가기

메모리 관리

4장 메모리관리 - 2 4. 가상메모리 기법 리눅스에서 태스크를 관리하는 자료구조는 task_struct 자료구조 입니다. 이 task_struct 자료구조와 태스크의 가상 주소 공간의 관계에 대해 알아보겠습니다. 가상 메모리 관련 정보는 task_struct안의 mm필드에서 관리합니다. 이 필드는 크게 세 부분으로 나뉘어질 수 있습니다. vm_area_struct구조체태스크 구성, 같은 속성을 갖는 연속된 영역 region으로 관리pgd페이지 디렉터리의 시작점 주소가상메모리 구조 변수 vm_area_struct : 세그먼트의 시작주소, 끝 주소, region의 접근제어 플래그 변수 ┕ 이 세그먼트가 실제 실행 파일의 어느 위치에 있는지에 대한 정보를 vm_file와 vm_offset 변수로 관리하고, 페이지 폴트가 발생하면 .. 더보기
4장 메모리 관리 -1 메모리 관리 기법과 가상 메모리 물리 메모리의 한계를 극복하기 위해 가상메모리가 도입되었습니다. 프로그램들은 32bit 환경에서 232만큼, 즉 4GB 의 메모리 공간을 이용할 수 있게 되었습니다. 이는 물리적 4GB가 아닌 개념적인 공간으로 실제 동작에서는 필요한 만큼의 물리메모리를 제공합니다. 이렇게 가상메모리를 도입하므로 개념적으로 프로그램은 메모리 공간을 물리 메모리의 크기와는 상관없이 큰 공간을 이용할 수 있게 되었고, 실제 물리 메모리에선 필요한 만큼의 메모리 공간만 제공하므로 가능한 많은 태스크를 동시에 수행할 수 있게 되었습니다. 물리 메모리 관리 자료 구조 전체 물리 메모리의 정보를 표현하는 적절한 자료구조가 필요합니다. 2-1. NODE 리눅스에서 접근 속도가 같은 메모리의 집합을 뱅크.. 더보기