[컴퓨터,OS,운영체제] 리눅스에서의 메모리관리 기법
- 최초 등록일
- 2003.10.02
- 최종 저작일
- 2003.10
- 19페이지/ MS 워드
- 가격 1,500원
소개글
컴퓨터 공학 과정 Operating System 과목중 Linux계열의 운영체재에서의 메모리 관리 기법을 정리한 레포트입니다.
목차
1 가상 메모리의 추상적 모델(abstract model) 3
1.1 요구 페이징(Demand Paging) 4
1.2 스와핑(Swapping) 5
1.3 공유 가상 메모리(Shared Virtual Memory) 6
1.4 물리적 주소 모드(Physical Addressing Mode)와 가상 주소 모드(Virtual Addressing Mode) 6
1.5 접근 제어(Access Control) 7
2 캐시(Cache) 8
3 리눅스 페이지 테이블(Linux Page Table) 9
4. 페이지의 할당(allocation)과 해제(deallocation) 9
4.1 페이지 할당(Page Allocation) 11
4.2 페이지 해제(Page Deallocation) 12
5. 메모리 매핑(Memory Mapping) 12
6. 요구 페이징(Demand Paging) 13
7. 리눅스 페이지 캐시 14
8. 페이지의 스왑 아웃(swap out)과 폐기(discarding) 15
8.1 페이지 캐시와 버퍼 캐시 크기를 줄이기 15
8.2 시스템 V 공유 메모리 페이지의 스왑 아웃 16
8.3 페이지의 스왑 아웃과 폐기 17
9. 스왑 캐시(Swap Cache) 18
10. 페이지 스왑 인(Swapping Pages In) 18
본문내용
1 가상 메모리의 추상적 모델(abstract model)
리눅스가 가상 메모리를 지원하기 위해 사용하는 기법을 살펴보기 전에, 너무 자세히 파고 들어 혼란스럽지 않도록 먼저 추상적 모델을 검토하는 것이 도움이 될 것이다.
프로세서가 프로그램을 실행할 때, 프로세서는 메모리로부터 명령어를 읽어 와서 해석한다. 명령을 해석하는 데에는 메모리의 어떤 위치에 있는 내용을 가져오거나 저장해야 하기도 한 다. 프로세서는 명령어를 실행하고 프로그램의 다음 명령어로 이동한다. 이렇게 하여 프로세서는 언제나 명령어를 가져오거나, 데이터를 가져오거나 저장하기 위해 메모리에 접근한다.
가상 메모리 시스템에서 이 주소들은 모두 물리적 주소가 아니라 가상 주소이다. 이 가상 주소들은 운영체제가 관리하는 테이블들에 저장된 정보를 바탕으로 프로세서에 의해 물리적 주소로 변환된다.
이 변환을 쉽게 하기 위해 가상 메모리와 물리적 메모리는 페이지라는 작은 조각으로 나뉜 다. 이 페이지들은 모두 같은 크기인데, 꼭 같은 크기일 필요는 없지만, 그렇지 않다면 시스템을 관리하기가 무척 어려워질 것이다. 리눅스는 알파 AXP 시스템에서는 8KB 페이지를, 인텔 x86 시스템에서는 4KB 페이지를 사용한다1. 각 페이지에는 페이지 프레임 번호(page frame number, PFN)라는 유일한 번호가 부여된다. 이와 같은 페이지 모델에서 가상 주소는 가상 페이지 프레임 번호와 오프셋, 두 부분으로 이루어진다. 페이지 크기가 4KB라면 가상 주소의 0비트에서 11비트는 오프셋을 나타내고, 12번 비트 이상은 가상 페이지 프레임 번호를 나타낸다2. 프로세서가 가상 주소를 처리할 때마다 오프셋과 가상 페이지 프레임 번호를 추출해야 한다. 프로세서는 가상 페이지 프레임 번호를 물리적 페이지 프레임 번호로 변환 하고 해당 물리적 페이지에서 오프셋에 해당하는 주소를 접근한다. 이렇게 하기 위해 프로 세서는 페이지 테이블(page table)을 사용한다.
참고 자료
없음