Memory Management   메모리 관리

(2025-06-27)

메모리 논리주소 물리주소


1. 메모리 관리컴퓨터 시스템에서 메모리를 효율적으로 배치, 할당, 회수하는 과정
     - 운영체제는 메모리 관리를 통해, 
     - 프로세스충돌을 방지하고, 효율적인 메모리 활용으로 성능 최적화


2. 메모리 관리의 특징

  ㅇ 메모리 관리는, 하드웨어 설계에 크게 영향을 받음

  ㅇ 메모리 전체를 운영체제가 관리함
     - 대부분의 메모리 관리 알고리즘은, 하드웨어,운영체제 간의 협력을 필요로 함

  ㅇ 메모리 관리에서, 메모리 공간의 보호가 필요함
     - 사용자공간커널공간 간의 분리

  ㅇ 한편, 메모리 계층화를 통해, 적절한 비용으로 높은 성능을 낼 수 있음
     - 소량,고속,고가 기억장치와, 대량,저속,저가인 기억장치계층적으로 구성함
        . (CPU) ↔ (캐쉬메모리) ↔ (주메모리) ↔ (보조메모리, 자기디스크 등)


3. 메모리 관리에서, 운영체제 역할

  ㅇ 사용중인 부분이 어디이고, 이를 누가 사용하고 있는지 추적 관리
  ㅇ 필요에 따라, 메모리 공간을 할당,회수 해야 함
  ㅇ 어떤 프로세스를 메모리에 적재,제거할 것인가를 결정 해야 함


4. 메모리 관리의 주요 기능프로세스 메모리 할당
     - 각 프로세스가 실행될 때 필요한 메모리 공간을 할당
     - 실행이 종료되면 해당 메모리 공간을 반환

  ㅇ 주소 공간 관리
     - 가상 메모리를 통해 각 프로세스에 독립적인 주소 공간 제공
     - 논리 주소물리 주소매핑하여 프로세스 간의 충돌 방지

  ㅇ 메모리 보호
     - 한 프로세스가 다른 프로세스의 메모리 공간에 접근하지 못하도록 보호
     - 접근 제어 및 권한 검사를 통해 안정성 보장.

  ㅇ 메모리 단편화 해결
     - 내부 단편화 : 할당된 메모리 공간 내 미사용 영역 초래
     - 외부 단편화 : 메모리 공간이 작은 조각들로 나뉘어 할당이 어려운 상황 초래
     - 해결책 : 압축(Compaction), 페이징(Paging), 세그멘테이션(Segmentation) 등

  ㅇ 가상 메모리
     - 실제 물리 메모리 보다 더 큰 메모리 공간을 제공
     - `페이지 교체 알고리즘`을 통해 필요한 데이터 만 메모리에 로드

  ㅇ 캐시 관리
     - 자주 사용되는 데이터캐시에 저장하여 접근 속도 향상

  ㅇ 입출력 버퍼 관리
     - 메모리와 입출력 장치데이터 전송효율적 관리


5. 메모리 관리 기법

  ㅇ 크게,
     - 단순 하드웨어 방식
     - 연속 메모리 할당 방식
     - 페이징 기법
     - 세그먼트 방법 등으로 구분

  ㅇ 페이징 (Paging)                             ☞ 메모리 페이징 참조
     - 메모리를 고정 크기인 페이지 단위로 나눠 관리.
     - 단편화 문제 해결 및 효율적 관리.

  ㅇ 세그멘테이션 (Segmentation)                 ☞ 메모리 세그멘테이션 참조
     - 메모리를 가변 크기의 세그먼트로 나눠 관리
     - 프로그램논리적 구조와 일치

  ㅇ 동적 메모리 할당
     - 필요할 때 메모리를 할당하고, 사용이 끝나면 반환
     - `malloc`, `free`와 같은 함수 사용

  ㅇ 교체 알고리즘
     - 가상 메모리에서 페이지를 교체할 때 적절한 페이지를 선택.
     - 대표적인 알고리즘 : FIFO, LRU, LFU 등


6. [참고사항]논리주소물리주소
     - 논리 주소 : CPU가 생성하는 주소 (가상 주소)
     - 물리 주소 : 메모리가 취급되는 주소
     - 프로그램변수들의 주소 바인딩시에, 기억장치로의 접근 방식
        . 컴파일 또는 적재하면서 주소 바인딩시에는, 논리주소 = 물리주소 임
        . 실행 시간 동안 주소 바인딩시에는, 논리주소 (가상주소) ≠ 물리주소 임
           .. 이때, 가상 주소를 물리 주소로의 매핑 작업을, MMU라는 장치에서 실행함

메모리
1. 메모리 관리   2. 가상 메모리   3. 메모리 페이징   4. 메모리 세그멘테이션   5. 스와핑   6. MMU  
용어해설 종합 (단일 페이지 형태)

"본 웹사이트 내 모든 저작물은 원출처를 밝히는 한 자유롭게 사용(상업화포함) 가능합니다"
     [정보통신기술용어해설]          최근 편집          Copyrightⓒ 차재복