[질문]메모리에 관해서..

zipsinworm의 이미지

메모리에 관해서 공부하고 있습니다.

간단하게 예를들자면

struct 구조체가 있는
소스가 같은 프로세스1 이랑 프로세스2랑 동시에 돌렸을때
struct 구조체의 메모리 주소를 찍어보면 둘 다 같게 나옵니다.
이말은 서로 같은 메모리 주소를 사용했다는 말인데...
이건 아닌거 같고 그래서 여러가지 조사하던중에

가상메모리와 물리메모리에 대해서 접하게 되어있습니다.

프로세스 1, 2는 가상 메모리를 사용한다는것인데 가상메모리 주소가 같아도 실제로
메모리에 저장되는 위치는 다것이라고 생각하고 있습니다.

이 생각이 맞는지... 그리고 실제 메모리 주소를 볼 수 있는 방법은 없을까요?

보충 설명해 주실분 부탁드립니다.

appler의 이미지

같은 구조체를 쓴다고 같은 데 저장된다라....

구조체의 크기나 형식이 같다고 같은 공간을 쓴다는건 오류 같은데요....

문자열 상수 같은경우는

같은 문자열을 호출할경우 저장된 힙영역에서 불러와서 메모리에 올려서 사용한다고.. 알고 있습니다만.....

제가 아는 것도 맞는지는 모르겠군요..


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.
하지만 모르는것에 대해서


laziness, impatience, hubris

不恥下問 - 진정으로 대화를 원하면 겸손하게 모르는 것은 모른다고 말하는 용기가 필요하다.

IsExist의 이미지

실제 메모리 주소를 같을 수도 다를 수도 있습니다. 메모리가 부족해서
페이징이 되는 상황이라면 같을 수 있겠지요. 일반적으로는 다르다고
할 수 있겠습니다.

두 프로세스가 같은 실행파일 이미지를 갖는다면 변수의 가상메모리 주소는
같습니다. 두 프로세스의 변수 값이 같은건 우연의 일치 입니다.

로더가 실행파일을 메모리상에 적제 시키는 시점에 어떤 동작을 할지는
모르지만 해당 메모리 영역을 초기화할것 같지는 않습니다.

만약 변수가 정적 영역이나 글로별 영역에 해당된다면 프로그램에 의해
초기화되니깐 같은 값을 갖게 됩니다.

테스트하신 소스에서 그 변수의 scope가 어떻게 됩니까?
---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

---------
간디가 말한 우리를 파괴시키는 7가지 요소

첫째, 노동 없는 부(富)/둘째, 양심 없는 쾌락
셋째, 인격 없는 지! 식/넷째, 윤리 없는 비지니스

이익추구를 위해서라면..

다섯째, 인성(人性)없는 과학
여섯째, 희생 없는 종교/일곱째, 신념 없는 정치

jick의 이미지

다른 질문은 다른 분들이 답해주셨고...

실제 물리적 메모리 주소를 어플리케이션에서 알 수 있는 방법은 제가 알기로는 없습니다. 사실, 알아야 될 필요도 없고요. 물리적 메모리 주소는 OS kernel과 하드웨어 사이에서 알아서 하는 문제입니다.

kalstein의 이미지

CPU자체에서 물리주소 안갈켜줍니다 ㅋㅋㅋ

OS도 그냥 가상주소만 받아서 쓰지요. 아...물론 물리적모드로 동작시킬수도 있습니다만...

DOS는 그렇게 쓰려나요? -_-;;;

------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/


------------------------------------------
Let`s Smart Move!!
http://kalstein.tistory.com/

댓글 달기

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
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.