### 연습문제 ###

1. 메모리 가져오기 정책 중, 사용자가 요구할 때 해당 페이지를 메모리로 가져오는 방식은 무엇인가?

요구 페이징(demand paging)



2. 요구 페이징과 반대로 앞으로 필요할 것이라고 예상되는 페이지를 미리 가져오는 방식은 무엇인가?

프리 페이징(pre paing)



3. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 있는지 나타내는 비트는 무엇인가?

유효 비트(valid bit, present bit)



4. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 사용한 적이 있는지 알려주는 비트는 무엇인가?

접근 비트(access bit)



5. 페이지 테이블 엔트리의 구조 중, 페이지가 메모리에 올라온 후 데이터의 변경이 있었는지 알려주는 비트는 무엇인가?

변경 비트(modified bit)



6. 프로세스가 페이지를 요청했을 때 해당 페이지가 메모리에 없는 상황을 무엇이라 하는가?

페이지 부재(page fault)



7. 기억장치에 접근한느 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되어 있는 성질을 무엇이라 하는가?

데이터 지역성(locality)



8. 처음으로 메모리에 올라온 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

FIFO(First In First Out)



9. 미래의 접근 패턴을 기준으로 대상 페이지를 선정하여 스왑 영역으로 보내는 방식으로, 실제로 구현이 불가능한 페이지 교체 알고리즘은 무엇인가?

최적 교체 알고리즘



10. 시간적으로 멀리 떨어진 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

LRU(Least Recently Used) - 최근 최소 사용



11. 사용 빈도가 적은 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

LFU(Least Frequently Used) - 최소 빈도 사용



12. 최근에 사용한 적이 없는 페이지를 스왑 영역으로 보내는 페이지 교체 알고리즘은 무엇인가?

NUR(Not Used Recently) - 접근 비트와 변경 비트로 판단하는 알고리즘



13. 하드디스크의 입출력이 많아져서 잦은 페이지 부재로 작업의 거의 멈춰버린 상태를 무엇이라 하는가?

스래싱(thrashing)



14. 동적 프레임 할당 방식 중, 최근 일정 시간 동안 참조된 페이지를 집합으로 유지하고 이 집합에 있는 페이지들을 물리 메모리에 유지하는 것은 무엇인가?

작업 집합 모델(working set model)



15. 동적 프레임 할당 방식 중, 페이지 부재 비율의 상한선과 하한선을 설정하고 페이지 부재 비율이 상한선을 초과하면 할당 프레임을 늘려주는 것은 무엇인가?

페이지 부재 빈도 모델(page fault frequency model)


### 심화문제 ###

1. 요구 페이징의 의미와 효과를 설명하시오.

프로세스 전체를 메모리에 올리지 않고 필요한 페이지를 사용자가 요청하면 메모리에 올리는 방식이다. 메모리 사용 효율이 높아지고 응답 성능이 향상된다.



2. 세그먼테이션 오류와 페이지 부재의 차이를 설명하시오.

세그먼테이션 오류는 세그먼트에 할당된 주소 영역을 넘어가면 발생하는 트랩이다. 트랩이 발생하면 프로세스는 강제 종료된다.

페이지 부재는 사용자가 요구한 페이지가 메모리에 없는 상태이다. 이 때는 필요한 페이지를 스왑 인 하여 메모리에 올린다.



3. 지역성의 의미를 설명하시오.

명령어, 데이터는 무작위로 사용되지 않고 흔히 현재 실행부와 가까운 곳에 있는 데이터가 이어서 사용될 확률이 높은 성질이다.

  • 시간적 지역성

    • 최근에 사용한 데이터일수록 다시 액세스할 확률이 높다.
  • 공간적 지역성

    • 가까운 영역에 있는 데이터일수록 이후에 액세스할 확률이 높다.
  • 순차적 지역성

    • 코드는 분기나 서브루틴 호출이 일어나지 않는한 순차적으로 실행된다. 즉, 현재 실행중인 명령어의 다음 명령어가 실행될 확률이 높다.
    • 공간적 지역성의 특별한 케이스이다.



4. LRU 페이지 교체 알고리즘의 동작을 설명하시오.

페이지 테이블에 해당 페이지가 사용된 시간, 혹은 카운터를 같이 저장해놓는다. 페이지 교체 시 대상 페이지는 가장 오래전에 사용된 페이지로 선택한다.



5. NUR 페이지 교체 알고리즘의 동작을 설명하시오.

접근 비트와 변경 비트를 사용해서 최근에 접근이나 변경된 적이 없는 페이지를 스왑 아웃한다. 이 때 접근 비트가 우선순위가 높고 변경 비트는 접근 비트보다 우선순위가 낮다. 즉 (접근비트, 변경비트)가 (0,0)인 페이지가 대상 페이지 후보로 선정된다. 그 다음 대상 페이지 후보로는 (0,1),(1,0),(1,1) 순으로 선택된다. 모든 페이지의 우선순위가 같으면 무작위 혹은 FIFO로 대상 페이지를 선정한다.



6. 프레임 할당 방식 중 정적 할당에 대해 설명하시오.

프로세스 실행 초기에 할당할 프레임을 정해놓는 방식이다. 시시각각 변하는 프레임 요구에 반응하지 못한다.

  • 균등 할당

    • 프로세스 크기에 상관없이 같은 만큼의 프레임 할당
  • 비례 할당

    • 프로세스 크기가 클수록 더 많은 프레임을 할당



7. 프레임 할당 방식 중 동적 할당에 대해 설명하시오.

상황에 맞게 할당하는 프레임 수가 동적으로 변한다.

  • 작업 집합 모델

    • 최근 사용된 프레임을 집합으로 유지하며 이 집합은 메모리에 올려둔다.
    • 작업 집합 윈도우 : 실행했던 페이지들을 살펴보는 폭(width)
    • 작업 집합 크기 : 작업 집합에 담을 페이지의 최대 수
  • 페이지 부재 빈도 모델

    • 페이지 부재가 상한선을 넘어서면 프레임을 추가로 할당
    • 페이지 부재가 하한선보다 낮아지면 프레임을 회수
  • 페이지 부재 빈도 모델

+ Recent posts