[질문] win64에서 win32 어플리케이션을 실행할 때, 사용가능한 메모리양은?

bizzare의 이미지

제가 지난번에 질문을 올릴 때 제목과 질문 내용을 조금 오해의 소지가 있게 올렸었더군요 -_- 많은 분께서 의견말씀해주셔서 감사했고요.
다시한번 질문을 올립니다. 좀더 구체적으로. ^^

32bit윈도우는 총 4G의 메모리를 사용할 수 있지요.

그리고 보통 OS가 2G, 프로그램이 2G까지 사용할 수 있다고 알고 있습니다.

그런데

만일 64bit윈도우에서 win32프로그램을 사용할 경우, 총 몇G까지 메모리를 사용할 수 있나요?

즉, 64비트로 빌드하지 않은, 32비트로 빌드한 어플리케이션입니다!

1) 32bit 윈도우와 마찬가지로 2G까지.

2) OS가 사용하던 2G의 제약이 없어지므로 4G까지.

어느쪽일까요?

win64에서 64비트 어플리케이션이 사용 가능한 메모리양이 아니라,
win64에서 32비트 어플리케이션이 사용 가능한 메모리양이 저의 질문입니다.
답변 부탁드려요.
_________________
정말 깨끗하고 멋진 프로그램을 짜고 싶습니다.

hexagon의 이미지

인텔의 x86-64 기술인 EM64T의 경우

64비트 OS에서 32비트 에플리케이션을 구동하는것을

호환 모드라고 하는데 호환 모드에서 사용가능한 메모리는

64비트 플렛폼에서 이용할수 있는 메모리 양과 같다고 하고있습니다.

AMD64의 경우도 퍼포먼스의 차이만 있을뿐 비슷한 방식이라고

알고 있습니다 그렇다면 AMD64의 경우도 마찬가지일거라고 생각됩니다.

그리고 64비트의 경우 가용 메모리가 4기가가 아니라 테라단위인걸로

알고 있습니다. 제가 잘못 안건가요?

hyperhidrosis의 이미지

win64 에서 win32 를 돌릴때, 당연히 2G 로 제한될꺼라고 생각합니다.
win32 어플자체에서 포인터가 32bit 로 사용하는데, 메모리 제한이 win32 와 동일한건 당연하겠죠.

죠커의 이미지

win32도 36비트 이상의 어드레싱을 지원하는 함수를 제공하고 있습니다. (최초의 펜티엄이 32비트가 아닌 36비트 어드레싱을 지원했기 때문입니다.) 다만 도스 시절의 EMS를 쓰는 듯한 코딩을 해야 하고 그런 방식으로 제작된 프로그램이 별로 없다는 것입니다. 따라서 일상적인 win32 프로그램은 64비트 환경에서 32비트 어드레싱을 합니다.

freezm7의 이미지

Jeffrey Richter 책 440page 를 보면
link 할 때, /LARGEADDRESSAWARE 옵션을 주지 않으면,
Windows 가 실행파일을 위한 가상 주소 공간을 생성할 때 2GB 만을 사용한다고 되어 있네요.

다시 말해 따로 링크 옵션을 주지 않았다면, 64 bit Windows 에서 실행하더라도 메모리 사용량은 2GB 를 넘을 수 없습니다.

즐겁게 살아 볼까나~*

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <code>, <blockcode>, <apache>, <applescript>, <autoconf>, <awk>, <bash>, <c>, <cpp>, <css>, <diff>, <drupal5>, <drupal6>, <gdb>, <html>, <html5>, <java>, <javascript>, <ldif>, <lua>, <make>, <mysql>, <perl>, <perl6>, <php>, <pgsql>, <proftpd>, <python>, <reg>, <spec>, <ruby>. 지원하는 태그 형식: <foo>, [foo].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.