Windows xp의 메모리 할당 전략

3,455 views
3,352 views

Published on

Windows XP에서는 어떤한 메모리 관리 방식을 사용했는지 그리고 Vista 이후에는 어떻게 바뀌었는지 간단하게 설

Published in: Technology
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
3,455
On SlideShare
0
From Embeds
0
Number of Embeds
368
Actions
Shares
0
Downloads
9
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Windows xp의 메모리 할당 전략

  1. 1. Windows XP의 메모리 할당 전략<br />마이에트 엔터테인먼트<br />서버 프로그래머<br />최흥배<br />Microsoft Visual C++ MVP<br />Twitter : @jacking75<br />
  2. 2. 현재 OS 점유율 1위의 Windows XP<br />
  3. 3. Windows XP 좋은 OS인가?<br />과거에는 좋은 OS라고 할 수 있지만…..<br />지금은 아니다.<br />
  4. 4. 과거….<br /><ul><li>Windows XP가 처음 나왔을 때는 2001년 1월
  5. 5. 당시의 PC 하드웨어 사양은 RAM은 64, 128MB가 표준이었음
  6. 6. 64, 128MB는 현재로서는 정말 작은 RAM 용량임.
  7. 7. Windows XP는 작은 물리메모리를 잘 활용하도록 만들었음</li></li></ul><li>어떻게?<br /><ul><li>새로운 프로세스가 실행할 때는 물리 메모리가 필요
  8. 8. Windows OS는 멀티 태스크를 지원한다.
  9. 9. 많은 윈도우를 실행하면 물리 메모리는 부족해진다.
  10. 10. 이것을 해결하기 위해 가상 메모리라는 개념을 사용한다. 가상적인 메모리 주소를 프로세스마다 독립하게 할당해 준 후 가상 주소 중 실제 필요한 부분만 물리 주소를 할당한다.
  11. 11. Swap을 사용하여 데이터를 일시적으로 HDD 등에 보관한다.</li></li></ul><li>필요할 때만 사용하자..<br /><ul><li>프로세스를 실행 할 때는 물리 메모리가 필요하다. 그러나 프로세스는 항상 실행하고 있는 것은 아니다.
  12. 12. 모든 프로세스에 물리 메모리를 할당하는 것보다 유저가 지금 사용하고 있는 프로세스에 우선적으로 메모리를 할당하는 것이 좋다.
  13. 13. XP는 메모리가 적어서 적극적으로 메모리를 해제하려고 한다.foreground 윈도우 프로세스에 최우선으로 메모리 할당 후 윈도우가 최소화되면 즉각 물리 메모리를 회수한다.
  14. 14. 이때 데이터는 Swap으로 보관해 두었다가 필요할 때 바로 꺼내도록 한다.
  15. 15. 윈도우 프로세스가 foreground와 background를 왔다갔다 할 때마다 메모리 할당과 해제는 매번 발생한다.</li></li></ul><li>먹통이잖아…<br /><ul><li>background 윈도우 프로세스가 foreground가 될 때 물리 메모리를 할당하고 Swap으로 부터 데이터를 읽어들인다. 이것이 끝날 때까지 메모리를 사용할 수 없다.
  16. 16. 이때 먹통이 된다.!!! -_-</li></li></ul><li>2GB, 4GB 시대<br /><ul><li>요즘 PC의 RAM 크기는 2GB에서 4GB 정도
  17. 17. XP가 나올 때의 64, 128MB과 비교할 수 없을 정도로 크다.
  18. 18. 그러나 XP는 RAM이 아무리 많아도 자린고비 정신을 발휘한다. -_-
  19. 19. 물리 메모리가 남아 돌아도 윈도우 프로세스가 foreground <-> background로 변할 때 마다 빈번하게 메모리 할당과 해제를 반복한다.</li></li></ul><li>그럼 XP 이후의 Vista는?<br /><ul><li>Vista의 태스크 매니저를 보면 많은 실행하고 있는 프로세스에 비해 메모리를 더 사용하고 있는 것을 볼 수 있다. 이것을 보고 가짜 파워유저는 Vista를 욕한다.
  20. 20. Vista는 XP와 다르게 부자의 전략을 사용한다.윈도우 프로세스가 최소화 되었다고 즉시 메모리를 해제하지 않는다.또 남은 메모리는 Disk의 Cache로 사용한다.
  21. 21. XP에 비해서 메모리 할당과 해제 Swap의 데이터 이동을 줄어든다.</li></li></ul><li>모든 것은 변한다.<br /><ul><li>XP의 메모리 할당 전략은 예전에는 좋은 방법이었다. 그러나 현재에는 좋은 방법이라고 할 수 없다.
  22. 22. 하드웨어는 발전하고, 발전한 하드웨어를 제대로 사용하기 위해서는 OS의 도움이 꼭 필요하다.
  23. 23. Windows는 그 시대의 환경에 맞게 계속 진화한다.
  24. 24. 우리 프로그래머의 지식이나 기술도 하드웨어, 소프트웨어의 진화에 맞게 발전하고 있는가?지금도 2,5,10년 전의 지식만으로 일하고 있지 않는가?</li></li></ul><li>출처:<br />http://cpplover.blogspot.com/2010/02/xp.html<br />Windows 내부에 대한 지식<br />Mark's Blog : Pushing the Limits of Windows: Physical MemoryMark's Blog : Pushing the Limits of Windows: Virtual MemoryMark's Blog : Pushing the Limits of Windows: Paged and Nonpaged PoolMark's Blog : Pushing the Limits of Windows: Processes and Threads<br />

×