운영체제 - 메인 메모리(Main Memory)

델리만쥬 디퓨저·2024년 9월 3일

운영체제

목록 보기
12/13

메인 메모리 (Main Memory)

  • 컴퓨터 시스템에서 프로세스가 실행될 때 사용되는 주 기억장치
  • 주로 램(RAM, Random Access Memory) 이 메인 메모리로 사용됨
  • 데이터와 프로그램이 일시적으로 저장되는 장소로, CPU가 직접 접근할 수 있는 가장 빠른 기억 장치 중 하나
  • 주요 역할은 실행 중인 프로그램과 그 데이터가 CPU에서 빠르게 접근될 수 있도록 저장하는 것

주요 기능

  • 프로그램 실행 : 실행 중인 프로그램의 명령어와 데이터를 저장
  • 캐시 기능 : CPU의 캐시 메모리와 협력하여 자주 사용되는 데이터와 명령어를 빠르게 제공하여 처리 속도를 높임
  • 임시 저장소 : 운영체제와 애플리케이션이 필요로 하는 임시 데이터를 저장

메인 메모리는 용량이 한정되어 있어, 동시에 실행되는 프로그램과 그 데이터의 양이 많을 경우 메모리 관리가 매우 중요해짐

메모리 관리 장치 (Memory Management Unit, MMU)

  • CPU와 메모리 사이에 위치한 하드웨어 컴포넌트로, 메모리 접근을 제어하고 관리하는 역할
  • 핵심 기능은 가상 메모리(Virtual Memory) 시스템을 지원하고, 프로세스가 메모리에 접근할 때 물리 주소를 가상 주소로 변환해 주는 것
  • MMU의 주요 기능
    - 주소 변환(Address Translation) : 가상 주소를 물리 주소로 변환
    - 프로세스는 가상 주소를 사용하여 메모리에 접근
    - MMU는 이 가상 주소를 실제 메모리의 물리 주소로 변환하여 해당 데이터에 접근할 수 있게 함
    - 이 과정에서 페이지 테이블(Page Table)이라는 데이터를 사용
    - 가상 메모리 지원
    - 페이징(Paging) : 메모리를 일정한 크기의 블록(페이지)으로 나누어 관리. 이로 인해 프그램이 실제로 필요한 메모리보다 더 많은 가상 메모리를 사용할 수 있게 됨.
    - 세그멘테이션(Segmentation) : 메모리를 논리적인 단위(세그먼트)로 나누어 관리함. 각각의 세그먼트는 코드, 데이터, 스택 등으로 구분될 수 있으며, 각 세그먼트는 독립된 주소 공간을 가짐. 하지만 외부 단편화 발생할 수 있음
    - 메모리 보호(Memory Protection)
    - 접근 제어 : 각 프로세스는 자신에게 할당된 메모리 영역에만 접근할 수 있음. MMU는 다른 프로세스의 메모리에 접근하려는 시도를 막아, 메모리 침범 오류(Segmentation Fault) 등을 방지함
    - 권한 설정 : 특정 메모리 영역에 대한 읽기, 쓰기, 실행 권한을 설정할 수 있음. 이를 통해 메모리 보안을 강화할 수 있음

가상 메모리와 MMU의 협력

  • 가상 메모리는 프로그램이 실제 물리 메모리보다 더 많은 메모리를 사용하는 것처럼 보이게 하는 기술
  • MMU는 가상 메모리를 관리하고, 실제 메모리와의 연결을 담당
  • 가상 메모리를 사용하면 각 프로세스는 독립된 가상 메모리 공간을 가질 수 있어, 충돌 없이 여러 프로그램이 동시에 실행될 수 있음
  • 또한 스와핑(Swapping) 기법을 통해 사용하지 않는 메모리 페이지를 디스크로 내보내고, 해당 페이지가 다시 필요할 때 메모리로 가져오는 방식으로 메모리의 효율적인 사용이 가능
profile
< 너만의 듀얼을 해!!! )

0개의 댓글