1. 메모리 관리의 개요

    (1) 메모리 이해하기

    Untitled

    (2) 메모리 관리의 이중성

    (3) 소스코드의 번역과 실행

    (4) 메모리 관리 작업

  2. 메모리 주소

    (1) 32bit CPU와 64bit CPU의 차이

    (2) 논리 주소와 물리 주소

  3. 단일 프로그래밍 환경의 메모리 할당

    (1) 메모리 오버레이

    : 프로그램 크기가 실제 물리 메모리 보다 클 때, 적당한 크기로 잘라서 가져오는 기법 : 프로그램을 몇 개의 모듈로 나누고, 필요할 때마다 모듈을 메모리에 가져와 사용 rf. 프로그램 카운터(PC) : 어느 위치의 모듈을 가져올지 결정

    (2) 스왑

     : 메모리가 모자라 쫓겨난 프로세스를 저장장치의 스왑 영역에 모아둔다.
       - 스왑인 : 스왑 영역에서 메모리로 데이터를 가져오는 것
       - 스왑아웃 : 메모리에서 스왑 영역으로 데이터를 내보내는 것
     : 메모리 관리자(MMU)가 관리한다.
    
  4. 다중 프로그래밍 환경의 메모리 할당

    (1) 메모리 분할 방식

    구분 가변 분할 방식 고정 분할 방식
    메모리 관리 기법 세그먼테이션 페이징
    특징 연속 메모리 할당 비연속 메모리 할당
    장점 프로세스를 한 덩어리로 관리 가능 메모리 관리가 편리함
    단점 빈 공간의 관리가 어려움 프로세스가 분할되어 처리됨
    단편화 외부 단편화 내부 단편화

    (2) 가변 분할 방식의 메모리 관리

    (3) 고정 분할 방식의 메모리 관리

    (4) 버디 시스템 : 가변 분할 방식과 고정 분할 방식의 중간

  5. 분할 컴파일과 메모리 관리

    (1) 분할 컴파일

    (2) 변수와 메모리 할당