Operating System

[쉽게 배우는 운영체제] Chapter 08. 가상 메모리의 기초

곽수진 2023. 6. 19. 21:01
반응형

01 가상 메모리

물리 메모리의 크기와 상관없이 프로세스에 커다란 메모리 공간을 제공하는 기술이다. 프로세스는 운영체제가 어디에 있는지, 물리 메모리의 크기가 어느 정도인지 신경 쓰지 않고 메모리를 마음대로 사용할 수 있다.

  • 페이징과 세그먼테이션 : 메모리 관리 방식은 고정 분할 방식인 페이징과 가변 분할 방식인 세그먼테이션으로 나뉜다. 페이징은 페이징 테이블을 사용하여 주소를 변환하고, 세그먼테이션은 세그먼테이션 테이블을 사용하여 주소를 변환한다.
  • 지역성 : 기억장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되는 성질을 나타낸다.

 

02 페이징 기법

고정 분할 방식으로 메모리를 관리하는 기법이다. 가상 주소 공간과 물리 주소 공간을 같은 크기로 나누어 사용한다. 가상 주소 공간에서 분할된 각 영역을 페이지, 물리 주소 공간의 각 영역을 프레임이라 부른다.

 

 

03 세그먼테이션 기법

세그먼테이션에서는 하나의 연속된 공간을 세그먼트라고 한다. 세그먼테이션 테이블에는 물리 메모리의 시작 주소를 나타내는 address와 세그먼트의 크기를 나타내는 limit가 있다. 물리 메모리에 접근할 때마다 거리 D의 크기가 limit보다 작은지 매번 확인한다.

 

 

04 캐시 매핑 기법

  • 캐시 직접 매핑 : 메모리 페이지가 캐시의 같은 위치에 올라오기 때문에 태그만 확인하면서 캐시 히트나 캐시 미스를 빠르게 확인할 수 있다. 그러나 페이지가 같은 위치에만 올라오기 때문에 자리다툼이 발생한다.
  • 캐시 연관 매핑 : 캐피 메모리를 자유롭게 사용할 수 있는 것이 장점이다. 그러나 캐시 히트인지 캐시 미스인지 확인하기 위해 캐시의 모든 주소를 검색해야 한다는 단점도 있다. 따라서 캐시 연관 매핑은 캐시 직접 매핑보다 느리다.
  • 캐시 집합-연관 매핑 : 캐시 직접 매핑과 캐시 연관 매핑의 장저만 취한 방식이다. 캐시를 K개 집합으로 나누고 각 집합에 캐시 직접 매핑을 사용하여 캐시 직접 매핑의 자리다툼 문제가 완화된다.

 

 


 

 

연습 문제 01. 페이징 기법 중 가상 주소를 표현하는 VA = <P,D>에서 페이지 P를 구하는 공식은?

① 가상 주소 / 페이지 크기

② (가상 주소 / 페이지 크기)의 나머지

③ (페이지 크기 / 가상 주소)의 몫

④ (가상 주소 / 페이지 크기)의 몫

 

 

연습 문제 02. 페이징 기법 중 가상 주소를 표현하는 VA = <P,D>에서 거리 D를 구하는 공식은?

① 가상 주소 / 페이지 크기

② (가상 주소 / 페이지 크기)의 나머지

③ (페이지 크기 / 가상 주소)의 몫

④ (가상 주소 / 페이지 크기)의 몫

 

 

연습 문제 03. 한 페이지 크기가 512B인 시스템에서 가상 주소 12번의 P와 D 값으로 알맞은 것은?

① <0, 12>

② <1, 12>

③ <512, 12>

④ <512, 12>

 

 

연습 문제 04. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 520번의 P와 D 값으로 알맞은 것은?

① <0, 520>

② <512, 520>

③ <1, 8>

④ <520, 8>

 

 

연습 문제 05. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 2049번의 P와 D 값으로 알맞은 것은?

① <4, 512>

② <4, 1>

③ <3, 8>

④ <4, 8>

 

 

연습 문제 06. 한 페이지 크기가 1024B인 페이징 시스템에서 가상 주소 2004번의 P와 D 값으로 알맞은 것은?

① <1024, 1>

② <1, 1004>

③ <1, 980>

④ <1024, 2004>

 

 

연습 문제 07. 페이지 테이블에서 하나의 행을 나타내는 용어는?

① TLB

② PTE

③ PTBR

④ locality

 

 

연습 문제 08. 페이지 테이블의 시작 주소를 가진 레지스터의 이름은?

① TLB

② PTE

③ PTBR

④ locality

 

 

연습 문제 09. 16bit 시스템에서 한 페이지의 크기가 2^10(=1,024B)이다. 최대 크기를 가진 프로세스의 페이지 테이블의 행 개수는?

① 6개

12개

③ 32개

④ 64개

 

 

연습 문제 10. fork()로 복사된 프로세스에 변화가 있을 때까지 물리 영역의 복사를 미루는 기법은?

① 공간의 지역성

② 쓰기 시점 복사

③ 시간의 지역성

④ 변환 색인 버퍼

 

 

연습 문제 11. 접근 패턴이 특정 영역에 집중된다는 이론은?

① 지역성

② 쓰기 시점 복사

③ 세그먼테이션

④ 변환 색인 버퍼

 

 

연습 문제 12. 현재 위치에서 가까운 데이터에 접근할 확률이 먼 거리에 있는 데이터에 접근할 확률보다 높음을 의미하는 것은?

① 공간의 지역성

② 쓰기 시점 복사

③ 시간의 지역성

④ 트랩

 

 

연습 문제 13. 현재를 기준으로 가장 가까운 시간에 접근한 데이터가 더 먼 시간에 접근한 데이터보다 사용될 확률이 높음을 의미하는 것은?

① 공간의 지역성

② 쓰기 시점 복사

③ 시간의 지역성

④ 트랩

 

 

연습 문제 14. 캐시된 페이지 매핑 테이블을 의미하는 것은?

① 역 페이지 테이블

② 페이지 매핑 테이블

③ 변환 색인 버퍼

④ 다단계 페이지 테이블

 

 

연습 문제 15. 페이지 테이블이 프레임의 크기로 유지되는 매핑 방식은?

① 역 페이지 테이블

② 페이지 매핑 테이블

③ 변환 색인 버퍼

④ 다단계 페이지 테이블

 

 

연습 문제 16. 페이지 크기를 10B로 나눈 페이지 매핑 테이블이 다음과 같다. () 안에 알맞은 답을 쓰시오.

1
3
2
0
4

(1) 가상 주소 18번은 물리 주소 (38)번에 있다.

(2) 가상 주소 10번은 물리 주소 (30)번에 있다.

(3) 가상 주소 17번은 물리 주소 (37)번에 있다.

(4) 가상 주소 44번은 물리 주소 (44)번에 있다.

(5) 가상 주소 49번은 물리 주소 (49)번에 있다.

(6) 가상 주소 20번은 물리 주소 (20)번에 있다.

(7) 가상 주소 26번은 물리 주소 (26)번에 있다.

(8) 가상 주소 9번은 물리 주소 (19)번에 있다.

(9) 가상 주소 0번은 물리 주소 (10)번에 있다.

(10) 가상 주소 33번은 물리 주소 (3)번에 있다.

(11) 가상 주소 39번은 물리 주소 (9)번에 있다.

(12) 가상 주소 78번을 <P, D> 형태로 바꾸면 (<7, 8>)이 된다.

(13) 가상 주소 35번을 물리 주소 <F, D> 형태로 바꾸면 (<0, 5>)가 된다.

(14) 가상 주소 15번을 물리 주소 <F, D> 형태로 바꾸면 (<3, 5>)가 된다.

 

 

연습 문제 17. 페이징의 VA = <P, D>에서 페이지 P를 구하는 공식은 ((가상 주소 / 페이지 크기)의 몫)이다.

 

 

연습 문제 18. 페이징의 VA = <P, D>에서 거리 D를 구하는 공식은 ((가상 주소 / 페이지 크기)의 나머지)이다.

 

 

연습 문제 19. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 112번을 P와 D 값으로 나타내면 (<0, 400>)다.

 

 

연습 문제 20. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 583번을 P와 D 값으로 나타내면 (<1, 71>)다.

 

 

연습 문제 21. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 2050번을 P와 D 값으로 나타내면 (<4, 2>)다.

 

 

연습 문제 22. 한 페이지 크기가 512B인 페이징 시스템에서 가상 주소 2012번을 P와 D 값으로 나타내면 (<3, 476>)다.

 

 

연습 문제 23. (PTE)는 페이지 테이블에서 하나의 행을 나타낸다.

 

 

연습 문제 24. (PTBR)는 페이지 테이블의 시작주소를 가지는 레지스터의 이름이다.

 

 

연습 문제 25. 16bit 시스템에서 한 페이지 크기가 2^10(=1,024B)이다. 최대 크기를 가진 프로세스의 페이지 테이블에서 행의 개수는 총 (64)개다.

 

 

연습 문제 26. (쓰기 시점 복사)는 fork()로 복사된 프로세스에서 변화가 있을 때까지 물리 영역의 복사를 미루는 기법이다.

 

 

연습 문제 27. (지역성) 이론은 접근 패턴이 특정 영역에 집중되는 것을 말한다.

 

 

연습 문제 28. (공간의 지역성)은 지역성 이론 중 가까운 데이터에 접근할 확률이 먼 거리에 있는 데이터에 접근할 확률보다 높은 것을 의미한다.

 

 

연습 문제 29. (시간의 지역성)은 지역성 이론 중 현재를 기준으로 가장 가까운 시간에 접근한 데이터가 더 먼 시간에 접근한 데이터보다 사용될 확률이 높은 것을 의미한다.

 

 

연습 문제 30. (변환 색인 버퍼)는 캐시된 페이지 매핑 테이블이다.

 

 

연습 문제 31. (다단계 페이지 테이블)은 페이지 테이블이 프레임 크기로 유지되는 매핑 방식이다.

 

 

연습 문제 32. 페이징에서 주소 변환 과정을 정형화하여 설명하시오.

가상 주소 VA = <P, D>로 표현하고 페이징 기법의 주소 변환은 가상 주소 VA = <P, D>를 물리 주소 PA = <F, D>로 변환하는 것이다.

 

 

연습 문제 33. 쓰기 시점 복사에 대하여 설명하시오.

사용할지 안 할지 모르는 데이터를 위해 새로운 공간을 만드는 것은 낭비이므로 운영체제는 필요한 순간까지 새로운 프레임의 확보를 미루는데, 이처럼 데이터 변화가 있을 때까지 복사를 미루는 방식을 쓰기 시점 복사라고 한다.

 

 

연습 문제 34. 지역성에 대하여 설명하시오.

지역성은 기억 장치에 접근하는 패턴이 메모리 전체에 고루 분포되는 것이 아니라 특정 영역에 집중되는 성질을 말한다.

 

 

연습 문제 35. 변환 색인 버퍼에 대하여 설명하시오.

가상 주소를 물리 주소로 변환 후 데이터를 가져오기 위해 메모리에 두 번이나 접근하는 방식은 CPU 성능을 떨어뜨리기 때문에 이러한 문제를 개선하기 위해 페이지 테이블의 일부를 CPU 안쪽으로 가져오는 것을 의미한다.

 

 

연습 문제 36. 역 페이지 테이블의 장점을 설명하시오.

일반적인 페이징 메모리 관리 기법에서는 프로세스마다 페이지 테이블을 만들지만 역 페이지 테이블에서는 물리 메모리를 기준으로 프레임 테이블을 만들기 때문에 전체 시스템에서 테이블 수가 단 1개라 테이블의 크기가 작다는 장점이 있다.

반응형