|
2011-03-04 12:29
조회: 4,132
추천: 0
메모리 한계 에 대한 잡설일단 기본적으로 OS는 현재 32bit와 64bit로 나뉩니다. 32bit에서는 최대 4G까지 메모리를 쓸수 있고 64bit는 그이상까지 쓸수있습니다. (이론상은 160억G라는데 윈도우는 버젼에 따라 100~200G정도의 한꼐를 가집니다.) 프로그램이 32bit코드로 작성되면 이 프로그램이 사용가능한 최대 메모리는 2G입니다. 32bit코드여도 컴파일시 옵션을 하나 주면 32bit에선 2G, 64bit에선 4G까지 사용하게 할수 있습니다. 여기서 메모리 한계를 넘기위한 치열한 노력이 있습니다. 1. 커널 바꿔치기 32bit OS에서 커널만 64bit OS껄 가져와서 돌리는겁니다. 32bit OS에서도 4G이상의 메모리가 사용가능하다는 얘기의 정체입니다. 문제가 생길수밖에 없는 구조고 지금와서는 그냥 64bit 깔아버리면 되므로 거의 사용하는 사람이 없습니다. 2. PAE(Physical Address Extension) 32bit OS에서는 그 이름대로 메모리 할당에 32bit주소를 쓰는데 메모리 억세스시 한단계를 더둬서 36bit주소를 쓰는방법입니다. 이를 통해 최대 64G 까지의 메모리 사용이 가능해집니다.(윈도우 XP,7 32bit의 경우는 그래도 최대가 4G입니다.) 3. 3GB 조정 32bit OS에서 유저가 사용하는 최대 메모리를 3G로 세팅하는 방법입니다. 많은 소프트웨어 에서 이게 세트되어있으면 일단 경고를 띄우고 시작합니다. XP등에선 기본적으로 유저메모리가 2G로 제한되고 나머지 윗부분을 커널이 사용합니다. 이걸 늘리는거죠 |
Zamin