CPU 주소 공간

Rudy·2022년 12월 23일
0

CPU 주소 공간

CPU가 접근할 수 있는 전체 메모리 공간

최대 크기: 주소 버스 수에 의해 결정

  • 주소 공간은 0번지부터 시작
  • 하나의 주소가 가리키는 공간은 1바이트 영역

CPU 주소 공간보다,

  • 큰 메모리가 장착되어 있어도 접근 불가
  • 작은 메모리가 장착되어 있는 경우엔 접근 가능
  • 단,CPU가 설치된 메모리의 주소 영역을 넘어 접근하면 시스템 오류 발생

프로세스의 메모리 구성

  • 프로세스는 프로그램과 달리 주기억장치에 주소 공간을 가지며,
  • 현재의 활동 요소를 갖는 능동적인 개체임
    코드 : 실행 코드를 저장
    정적 데이터 : 정적 변수(전역,지역)를 저장
    힙 : 동적 할당 영역
    스택 : 함수의 복귀 주소 및 지역 변수를 저장하는 영역

프로세스 주소 공간

프로세스가 실행 중에 접근할 수 있도록 허용된 주소의 최대 범위

  • 가성적인 논리 공간
  • 0번지부터 시작해서 연속적
  • 사용자 공간 + 커널 공간

프로세스 주소 공간의 크기

  • CPU가 접근할 수 있는 최대 크기: 32비트 CPU 4GB
  • 단, 프로세스의 현재 크기 와는 다르다.
    ex) 코드/데이터 영역크기 + 현재 할당된 힙/스택 영역의 크기
    실행 중에 계속 변함

프로세스 주소 공간의 특징

프로세스 주소 공간은 각 프로세스 별로 할당된 가상 공간

사용자나 개발자가 보는 관점

  • 자신이 작성한 프로그램이 0번지부터 시작하여 연속적인 메모리 공간에 형성된다고 상상
  • CPU가 접근할 수 있는 최대 크기의 메모리가 설치되어 있다고 상상

실제 상황

  • 설치된 물리 메모리의 크기는 프로세스 주소 공간보다 작을수 있음
  • 코드,데이터,힙 스택은 물리 메모리에 흩어져 저장됨 (연속 할당이 아님)
profile
주니어 개발자

0개의 댓글