생능출판사 명품 운영체제
본 연습문제들은 작성자 본인이 푼 것이라 틀릴 수 도 있습니다.
[개념 체크]
1. 페이징은 프로세스의 주소 공간을 ( ① )라는 ( ② ) 크기로 나누고 ( ③ ) 역시 ( ④ ) 크기와 동일한 크기로 나누고 이를 ( ⑤ )라고 부르며, 프로세스의 각 ( ⑥ )을(를) 임의의 빈 ( ⑦ )에 해당하는 메모리에 적재하는 기법이다.
답: ① 페이지, ② 고정, ③ 물리 메모리, ④ 페이지, ⑤ 프레임, ⑥ 페이지, ⑦ 프레임
해설: 페이징은 논리 주소 공간과 물리 주소 공간을 동일한 크기의 블록 단위로 나누는 메모리 관리 방식으로, 내부 단편화는 발생하나 외부 단편화가 줄어든다.
2. 프로세스가 실행될 때 변수의 물리주소를 알아내기 위해 사용하는 것은?
답: ① 페이지 테이블
해설: 논리 주소를 실제 물리 주소로 변환할 때 사용하는 구조가 페이지 테이블이다.
3. 32비트 주소 체계에서 페이지의 크기가 4KB이고 페이지 테이블의 한 항목이 4바이트라면, 한 프로세스 당 페이지 테이블의 크기는 얼마인가?
답: ② 4MB
해설: 32비트 주소 공간은 2³² = 4GB이고, 4KB 페이지라면 4GB / 4KB = 2²⁰개의 페이지 → 2²⁰ * 4Byte = 4MB
4. 페이지 테이블에 들어 있는 항목으로 적당한 것은?
답: ① 페이지의 물리 주소와 페이지 크기
해설: 페이지 테이블은 각 논리 페이지가 어느 물리 프레임에 매핑되는지를 나타내며, 다양한 부가 정보(예: 접근 권한, 존재 여부 등)를 포함할 수 있다.
5. 페이지 테이블에 대한 설명으로 틀린 것은?
답: ③
해설: 스레드가 실행되는 동안 프로세스의 페이지 테이블이 참조되지 않는다.
6. 논리 주소를 물리 주소로 바꿀 때 사용되지 않는 것은?
답: ④ PCB
해설: PCB(Process Control Block)는 프로세스 상태를 저장하는 자료구조이지 주소 변환에는 직접 관여하지 않는다.
7. 페이지 테이블에 대한 설명 중 틀린 것은?
답: ④
해설: p.430
8. 논리 주소를 물리 주소로 바꿀 때 사용되지 않는 것은?
답: ② PC(Program Counter)
해설: PC는 다음 실행 명령의 주소를 나타내는 레지스터일 뿐, 주소 변환에는 관여하지 않는다.
9. 32비트 주소 체계에서 한 페이지의 크기가 4KB일 때, 논리 주소 0x98761234는 몇 번째 페이지의 몇 번째 바이트인가?
답:
페이지 번호: 0x98761 (상위 20비트)
페이지 내 오프셋: 0x234 (하위 12비트)
해설: 4KB는 2¹²이므로 하위 12비트가 오프셋, 상위 20비트가 페이지 번호가 된다. 즉, 0x98761234의 상위 20비트가 페이지 번호이고 나머지가 오프셋이다.
10. 페이징 기법과 세그먼테이션 기법을 비교할 때, 틀린 설명은?
답: ③ 세그먼테이션은 단편화가 적기 때문에 메모리 활용 면에서 페이징보다 우수하다
해설: p.421
11. 페이지 테이블은 어디에 존재하는가?
답: ① 메인 메모리
해설: 기본적으로 페이지 테이블은 메인 메모리에 존재하며, 자주 접근하는 항목은 TLB에 캐시된다.p.430
12. 페이지에서 프로세스의 논리 주소는?
답: ② [페이지 번호, 옵셋]
해설: 논리 주소는 페이지 번호와 페이지 내 바이트 오프셋으로 구성된다. p.428
13. 32비트 주소 체계에서 한 페이지가 2KB일 때, 다음 논리 주소는 몇 번째 페이지의 몇 번째 바이트인가?
0000 0000 0000 0001 1000 0000 1111
답:
페이지 크기 2KB = 2¹¹ → 하위 11비트가 offset
→ 상위 21비트: 페이지 번호 = 0x183 (387), offset = 0x00F (15)
14. 32비트 주소 체계에서 한 페이지 크기가 4KB일 때, 논리 주소 0x00006008에 해당하는 물리 주소는?
답:
논리 주소 0x00006008 → 페이지 번호 6, 오프셋 0x008
→ 그림에서 페이지 번호 6의 프레임 번호가 0x22
→ 물리 주소 = 0x22 * 0x1000 + 0x008 = 0x22008
15. 페이징 메모리 관리 기법으로 인한 성능 이슈 2가지는?
답:
① 페이지 테이블의 낭비
③ CPU의 메모리 액세스 시 2번의 물리 메모리 액세스로 인한 실행 속도 저하
해설: 주소마다 테이블을 거쳐야 하므로 검색 시간 증가, 메모리도 많이 차지하게 됩니다.
16. TLB는 어떤 문제점을 해결하기 위한 것인가?
답: ③ 물리 메모리의 액세스 횟수
해설: p.435
17. TLB는 일반적으로 어디에 존재하는가?
답: ① CPU 패키지의 MMU 장치 내에
해설: MMU는 주소 변환을 담당하는 하드웨어로, TLB는 그 내부에 위치합니다. p.435
18. TLB의 역할은 무엇인가?
답: ① 빠른 페이지 테이블 엑세스
해설: p.435
19. TLB는 페이지 테이블의 1/1000 크기인데도 효과적인 이유는?
답: 자주 참조되는 주소만 캐싱하므로 공간이 작아도 높은 적중률(히트율)을 가질 수 있기 때문입니다.
20. 역 페이지 테이블과 멀티레벨 페이지 테이블 기법의 장점은?
답: ② 페이지 테이블의 낭비 개선
해설: p.443
21. 역 페이지 테이블을 사용할 때 항목은 어떻게 구성되는가?
답: ③ [프로레스 번호, 페이지 번호]
해설: p.444
[복합 문제]
문제 1
32비트 CPU를 가진 운영체제가 페이징 기법으로 메모리를 관리한다.
페이지 크기가 8KB이고, 컴퓨터에 16GB 메모리가 있을 때 다음 물음에 답하시오.
(1) 문제
물리 메모리의 프레임 크기는 얼마인가?
답: 8KB
해설: 페이지 크기 = 프레임 크기.
페이징 기법에서는 논리 페이지와 물리 프레임이 동일한 크기로 매핑됩니다.
(2) 문제
물리 메모리에는 몇 개의 프레임이 존재하는가?
(계산과정 포함)
답: 2²¹개 = 약 2,097,152개
해설:
16GB = 2³⁴ bytes
8KB = 2¹³ bytes
→ 총 프레임 수 = 2³⁴ ÷ 2¹³ = 2²¹개
(3) 문제
32비트 CPU가 사용할 수 있는 가상 주소 공간의 크기, 그리고 사용자 영역 주소 공간은 얼마인가?
답:
전체 가상 주소 공간 = 2³² = 4GB
사용자 공간 = 2GB
해설:
운영체제(커널)와 사용자 프로그램을 2GB씩 나누는 것이 일반적인 구조입니다.
(4) 문제
int형 변수의 크기가 4바이트이고, 프로그램 전체가 100개의 정수를 사용할 경우 몇 페이지를 사용하는가?
답: 1페이지
해설:
100 × 4B = 400B
→ 1페이지 크기인 8KB(8192B) 안에 충분히 들어갈 수 있습니다.
(5) 문제
사용자 프로그램이 총 60000바이트를 사용하는 경우, 몇 페이지와 몇 프레임을 사용하는가?
답:
필요한 페이지 수 = ⌈60000 ÷ 8192⌉ = ⌈7.32⌉ = 8페이지
필요한 프레임 수 = 8프레임
해설:
페이지는 나뉘는 단위이므로, 일부만 사용하는 마지막 페이지도 1페이지로 포함됩니다.
→ 항상 올림(ceil) 처리합니다.
문제 2
다음은 C 프로그램이다.
32비트 운영체제가 주소 공간을 사용자 2GB, 커널 2GB로 나누어 사용하고 페이지 크기는 4KB이다.
이 프로그램이 사용하는 메모리 페이지 수는?
int n[1000]; // 4000 바이트
int main() {
int sum = 0;
int i;
int *p = (int*)malloc(4); // 4바이트 동적할당
for (i=0; i<1000; i++) {
sum += n[i];
}
*p = sum;
}
(1) 문제
코드, 데이터, 힙, 스택 각각이 포함된 페이지를 모두 합쳤을 때 이 프로그램은 총 몇 개의 메모리를 사용하는가?
답: 4페이지
해설:
- 코드 영역: main 함수, 루프 포함 → 1페이지 (4KB 이내)
- 데이터 영역: n[1000] = 4000B → 1페이지
- 힙 영역: malloc(4) = 4B → 1페이지
- 스택 영역: 지역 변수 sum, i, p 등 → 1페이지→ 총 4개의 페이지 필요 (모두 4KB 안에 들어가므로 각 1페이지씩 차지)
'Book > 명품 운영체제' 카테고리의 다른 글
| [개발 서적] 명품 운영체제 8장 연습문제 풀이 및 답안 (0) | 2025.06.10 |
|---|---|
| [개발 서적] 명품 운영체제 7장 연습문제 풀이 및 답안 (개념체크) (0) | 2025.05.14 |
| [개발 서적] 명품 운영체제 6장 연습문제 풀이 및 답안 (개념체크) (5) | 2024.12.10 |
| [개발 서적] 명품 운영체제 5장 연습문제 풀이 및 답안 (개념체크) (1) | 2024.11.05 |
| [개발 서적] 명품 운영체제 4장 연습문제 풀이 및 답안 (개념체크) (0) | 2024.11.04 |