8.1 가상 메모리의 사용이 어떻게 시스템 활용도를 높이는가?
가상메모리를 통해 수행 시간에 프로세스가 모두 주기억장치에 적재되어 있을 필요가 없게 되면서 보다 많은 프로세스를 주기억장치에 유지할 수 있고, 주기억장치보다 큰 프로세스를 수행할 수 있다.
보다 많은 프로세스가 주기억장치에 유지되면 임의 시점에 하나 이상의 프로세스가 준비 상태에 있을 가능성이 커지므로, 처리기의 활용도가 높아지고
주기억장치보다 큰 프로세스를 수행할 수 있게되면, 운영체제가 프로세스의 블록들에 대한 필요를 스스로 파악해 주기억장치에 적재할 수 있게됨으로써 프로그래밍에 있어 가장 근본적 제약점 중 하나가 제거된다.
8.2 쓰레싱(thrashing)을 설명하라.
메모리 영역에 접근하게 될 때, 메모리에 페이지 폴트(Page fault)율이 높은 것을 의미하며, 심각한 성능 저하를 초래한다.
8.3 지역성의 원리가 가상메모리 사용에 있어 매우 중대한 이유는 무엇인가?
지역성의 원리에 의해 프로세스 내의 명령어 및 데이터에 대한 참조가 군집화 경향이 있음을 믿는다면 짧은 기간 동안 프로세스의 블록 몇 개만이 필요할 것이라는 가정이 유효하다. 또한, 가까운 미래에 어떤 블록이 필요할 것인지에 대한 지능적 예측도 가능하기 때문에 쓰레싱을 피할 수 있다. 결과적으로 지역성의 원리는 가상메모리 방식이 효과적임을 암시한다.
8.4 페이지 크기 결정에 어떤 요소들이 고려되는가?
Page-in, page-out 시간: 페이지가 클수록 한 번에 많은 정보를 읽어오기 때문에 I/O 시간이 단축된다고 볼 수 있음.
Page table size: 페이지가 작을수록 페이지 테이블 크기가 커져 관리가 힘듦.
메모리 해상도(memory resolution): 필요한 내용만 메모리에 담을 수 있는 정도, 페이지가 작을수록 해상도는 올라감
Fragment: 페이지가 작을수록 fragment 크기가 줄어듦.
8.5 TLB(Translation Lookaside Buffer)의 목적은 무엇인가?
가상메모리 참조는 두 번의 물리 메모리 참조를 수반하는데, 페이지테이블 항목들에 대한 특수 고속 캐시(TLB)를 이용함으로써 메모리 접근 시간을 줄이기 위함이다.
8.6 요구페이징(demand page)란 무엇인가?
프로그램 실행 시 프로세스를 구성하는 모든 페이지를 한꺼번에 메모리에 올리는 것이 아니라 당장 사용될 페이지만을 올리는 방식이다. 따라서 요구 페이징 기법에서는 특정 페이지에 대해 CPU의 요청이 들어온 뒤 해당 페이지를 메모리에 적재한다.
8.7 선클리닝 정책이나 요구 클리닝 정책 중 어느 하나만 사용할 경우의 문제점은 무엇인가?
선클리닝에서는 페이지가 기록된 후에도 페이지 교체 알고리즘이 그것을 제거할 때가지는 주기억장치에 남아 있게 된다. 선클리닝이 페이지들을 일괄 기록하지만, 교체되기 전에 대부분 다시 변경될 수백 혹은 수천 페이지를 기록하는 것은 거의 의미가 없다. 보조 기억장치의 전송 용량은 제한되어 있으므로 불필요한 클리닝 연산으로 낭비되어서는 안 된다.
요구 클리닝의 경우 변경된 페이지의 기록 작업이 새로운 페이지의 반입 작업에 선행되어야 한다. 이 기법이 페이지 기록을 최소화할 수 도 있지만, 페이지폴트를 발생시킨 프로세스가 블록에서 해제되기까지 두 번의 페이지 전송을 기다려야 하며, 이로 인해 처리기 활용도가 감소될 수 있다.
8.8 FIFO와 클록 페이지 교체 알고리즘(clock page replacement algorithms)은 어떤 관계가 있는가?
클록 페이지 교체 알고리즘은 각 프레임에 대해 사용비트라 불리는 한 비트를 연계시킴으로써 사용비트가 1인 프레임을 건너뛴다는 점만 제외하면 FIFO와 유사하다.
8.9 페이지 폴트 트랩(page fault trap)은 어떻게 다루어지는가?
Page fault trap을 발생시키면 CPU의 제어권이 커널 모드(kernel mode)로 전환되고, 운영체제의 페이지 부재 처리 루틴(page fault handler)가 호출되어 다음과 같은 순서로 페이지 부재를 처리한다.
1.운영체제는 해당 페이지에 대한 접근이 적법한지 먼저 체크한다. 사용되지 않는 주소 영역에 접근하거나 해당 페이지에 대한 접근 권한 위반일 경우에는 해당 프로세스를 종료시킨다.
2.적법하다면 물리적 메모리에서 비어 있는 프레임을 할당받아 그 공간에 해당 페이지를 읽어온다. 비어 있는 프레임이 없다면 페이지 교체 알고리즘을 통해 물리적 메모리에 있는 프레임 하나를 스왑 영역으로 쫓아내 비어 있는 프레임을 만든 후 적재한다.
8.10 전역교체 정책(global replacement policy)와 고정할당 정책(fixed allocation policy)를 결합할 수 없는 이유는 무엇인가?
고정 할당은 프로세스가 실행될 때 필요한 페이지 수를 결정해야 한다. 고정 할당 정책에서 실행 중에 페이지 오류가 발생하면 페이지 중 하나가 프로세스의 요구 페이지로 바뀐다.
하지만 이것은 전역 교체 정책에서 가능하지 않다. 왜냐하면 전역 교체 정책은 동일한 프로세스에서 다른 페이지로 대체되지 않기 때문이다. 글로벌 교체 정책에서 메인 메모리의 잠금 해제된 모든 페이지는 특정 페이지를 소유하는 프로세스에 관계없이 교체 후보로 간주된다.
8.11 적재집합(resident set)과 작업집합(working set)의 차이점은 무엇인가?
적재집합은 프로세스의 코드나 데이터 중 임의 시점에 주기억장치에 적재되어 있는 부분을 말한다. 작업집합은 특정 프로세스에 대해 가상시점 t와 파라미터 Δ로 정의됨으로써 그 프로세스가 시점 t 직전에 가상시간 Δ동안 참조한 페이지들의 집합이다.
8.12 요구클리닝(demand cleaning)과 선클리닝(precleaning)의 차이점은 무엇인가?
요구클리닝에서 각 페이지는 그것이 교체 대상으로 선택되었을 때만 보조기억장치에 기록된다. 선클리닝은 해당 페이지프레임이 요구되기 전에 변경된 페이지들을 기록함으로써 그들이 일괄 기록될 수 있게 한다.
'컴퓨터와 보안 > OS(운영체제)' 카테고리의 다른 글
william stallings OS(운영체제) Chapter 10 문제풀이 (0) | 2022.07.11 |
---|---|
william stallings OS(운영체제) Chapter 9 문제풀이 (0) | 2022.07.11 |
william stallings OS(운영체제) Chapter 6 문제풀이 (0) | 2022.07.10 |
william stallings OS(운영체제) Chapter 5 문제풀이 (0) | 2022.07.10 |
william stallings OS(운영체제) Chapter 4 문제풀이 (0) | 2022.05.19 |