티스토리 뷰

방송대/운영체제

9강. 가상 메모리

monimoni 2025. 4. 12. 09:57

1. 연속 메모리 할당

  • 메모리 크기보다 더 큰 기억공간이 필요한 프로세스는 실행 불가

2. 가상 메모리

  • 메모리 크기보다 더 큰 기억공간이 필요한 프로세스도 실행할 수 있게 하는 방법
  • 실행 중인 프로세스에 의해 참조되는 주소( 가상주소 )를 메모리에서 사용하는 주소( 실주소 )와 분리
  • 전체 프로세스 중에서 현재 필요한 일부만 메모리에 적재
    • 보조기억장치에 전체 프로세스를 두고 일부만 메모리에 적재하는 방법

3. 사상( mapping )

  • 프로세스 실행을 위해 가상주소를 실주소로 변환하는 과정
  • 주소 변환 기법
    • 동적 주소변환( DAT )
      • 프로세스가 실행되는 동안 사상
      • 특징
        • 인위적 연속성
          • 가상주소 공간에서 연속적인 주소가 실주소 공간에서도 연속적일 필요는 없음

4. 주소변환

  • 주소변환 사상표
    • 동적 주소변환을 위한 정보를 가진 표
    • 가상 메모리의 주소를 메모리의 실제 주소로 변환할 때 사용
  • 비효율성 문제
    • 주소변환이 바이트나 워드 단위로 이루어지면 변환에 필요한 정보량이 너무 많아져서 비효율적임

5. 블록 사상 시스템

  • 블록 단위로 주소변환
  • 가상 메모리의 각 블록이 메모리의 어디에 위치하는지 관리
  • 가상주소 v = (b, d)
    • b : 블록 번호
    • d : 블록의 시작점으로부터의 변위
    • 즉. 실주소가 해당 블록에서 얼만큼 떨어진 곳에 위치하는지 표시
  • 블록의 크기는 적절히 정해야 함
    • 크기가 커질수록
      • 사상표 크기 감소
      • 블록 전송시간 증가, 동시에 적재할 프로세스 수 감소
    • 크기가 작아질수록
      • 블록 전송시간 감소, 동시에 적재할 프로세스 수 증가
      • 사상표 크기 증가

6. 블록 구성방식

  • 페이지( page )
    • 블록의 크기가 동일
  • 세그먼트( segment )
    • 블록의 크기가 다를 수 있음

7. 페이징 기법

  • 가상 메모리를 페이지 단위로 나누어 관리하는 기법
  • 메모리 영역도 페이지와 동일한 크기의 페이지 프레임으로 나눔
    • 페이지 프레임 : 페이지를 담을 수 있는 틀
  • 페이지 사상표
    • 가상주소를 실주소로 동적 변환할 수 있게 함
    • 페이지 번호에 대한 페이지 프레임 번호 저장
    • 구성
      • 인덱스 : 페이지 번호 ( 저장되지는 X )
      • 페이지 존재 비트 : 페이지가 실재 메모리에 적재되어있는지
        • 0 : 메모리에 적재되어있지 X
        • 1 : 메모리에 적재되어있음
      • 보조기억장치 주소
      • 페이지 프레임 번호
  • 직접사상에 의한 동적 주소변환
    • 페이지 사상표를 직접 이용
  • 연관사상에 의한 동적 주소변환
    • 페이지 변환 정보를 연관 메모리에 저장한 연관사상표를 이용
  • 연관/직접 사상에 의한 동적 주소변환
    • 연관사상표에는 가장 최근에 참조된 페이지만 보관
    • 연관사상표에 없을 때만 직접사상 이용

8. 페이징 기법의 특징

  • 논리적 의미와 무관한 동일 크기의 페이지로 나눔
  • 메모리 보호는 페이지 단위로 이루어짐
  • 외부 단편화가 발생하지 않음
  • 내부 단편화는 발생 가능

9. 세그먼테이션 기법

  • 가상 메모리를 세그먼트 단위로 나누어 관리하는 기법
    • 세그먼트 : 논리적 의미에 부합하는 다양한 크기의 블록
  • 세그먼트 사상표를 이용하여 동적 주소변환
  • 세그먼트 사상표
    • 세그먼트 번호에 대한 실주소에서의 시작 위치 저장
    • 세그먼트 길이는 오버플로 확인용
    • 구성
      • 인덱스 : 세그먼트 번호 ( 저장되지는 X )
      • 세그먼트 존재 비트 : 세그먼트가 실재 메모리에 적재되어있는지
        • 0 : 메모리에 적재되어있지 X
        • 1 : 메모리에 적재되어있음
      • 보조기억장치 주소
      • 세그먼트 길이 : 세그먼트의 크기는 각각 다르기에 길이도 저장
      • 세그먼트 시작 주소
  • 동적 주소변환
    • 가상주소 v = (b, d)를 통해서 주소 변환

10. 페이징/세그먼테이션 혼용기법

  • 세그먼테이션 기법의 논리적 장점 + 페이징 기법의 메모리 관리 측면의 장점
  • 가상 메모리를 세그먼트 단위로 분할 후 각 세그먼트를 다시 페이지 단위로 분할
  • 메모리는 페이지 프레임으로 분할
  • 동적 주소변환
    • 가상주소 v=(s,p,d)
      • s : 세그먼트 번호
      • p : 페이지 번호
      • d : 페이지 내 범위
      • 세그먼트 사상표 → 페이지 사상표 → 메모리 내 실 주소를 찾는다.

11. 메모리 호출기법

  • 어느 시점에 페이지 또는 세그먼트를 메모리에 적재할 것인가를 결정하는 기법
  • 페이징 기법에서의 호출기법 종류
    • 요구 페이지 호출기법
      • 프로세스의 페이지 요구가 있을 때 요구된 페이지를 메모리에 적재하는 방법
    • 예상 페이지 호출기법
      • 곧 사용될 것으로 예상되는 페이지를 미리 메모리에 적재하는 방법

12. 메모리 호출기법 비교

  • 요구 페이지 호출기법
    • 옮길 페이지 결정에 대한 오버헤드 최소화
    • 적재된 페이지는 실제로 참조됨
    • 프로세스 시작 시점에는 연속적으로 페이지 부재 발생
  • 예상 페이지 호출기법
    • 예상이 잘못된 경우 시간과 메모리 공간 낭비
    • 프로세스 시작 시점에 적용하면 성능이 개선됨
728x90

'방송대 > 운영체제' 카테고리의 다른 글

11강. 장치 관리  (0) 2025.05.05
10강. 페이지 교체 알고리즘  (0) 2025.04.18
8강. 메모리 관리  (0) 2025.04.07
7강. 교착상태(2)  (0) 2025.04.07
6강. 교착상태 (1)  (0) 2025.03.25
댓글
«   2025/06   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
최근에 올라온 글
Total
Today
Yesterday
공지사항