본문 바로가기
학부공부/OS_운영체제

PE6. Practice Exercises_9.1, 9.4~9.7, 9.9, 9.10_Text book p.385~386

by sonpang 2022. 7. 18.
반응형

OS_운영체제 카테고리의 PE Series는

2021.10.20 - [학부공부/OS_운영체제] - 00. 운영체제 STUDY 시작

 

00. 운영체제 STUDY 시작

안녕하세요! 제가 티스토리 페이지를 만든 후 처음으로 작성하는 글입니다... 복학하기 전 개인적인 공부를 정리하자는 취지로 시작하는 글이라 가독성이 떨어지고 부족한 부분이 있을 수 있으

ku320121.tistory.com

포스팅에서 소개한 text book의 연습문제를 풀이한 것을 정리한 것입니다. 해설을 참고하지 않았기 때문에 풀이에 오류가 있을 수 있습니다. 또한 운영체제 교과목 내용을 벗어나는 내용과 사견이 풀이에 포함되어 있을 수 있습니다.

 

 

 

 

9.1. Name two differences between logical and physical addresses.

Logical address는 process에서 사용하고(logical address space : process입장에서 memory를 보았을 때 보이는 address space) physical address는 physical memory에서 사용하는 address이다. 즉, processing unit(CPU, GPU, NPU...)에서 생성하는 주소는 logical address이고 memory가 취급하는 address를 physical address이다.(CPU를 제외한 다른 processing unit이 logical address를 생성할 수 있는지는 더 advanced issue이다. CPU와 GPU가 shared memory를 사용할 때는 CPU가 생성 역할을 담당하겠지만 GPU가 DRAM을 별도로 가져 DMA로 main memory에서 load해 오는 경우 GPU가 logical address를 생성할 수도 있다. Textbook에서는 logical address를 CPU가 생성하는 address라고 표현하였다.)

 

MMU(Memory Management Unit)는 logical address를 physical address로 convert시킨다. Conversion은 모든 memory access를 dynamically하게 발생시켜 각 application이 고유한 address space를 갖도록 한다. 여기서 address space는 process가 차지하는 memory space인데 이를 통해 OS가 protection domain을 제공할 수 있다는 점에서 logical address가 중요하다. 이때 separate physical address space에 logical address에 binding되는 시점이 run time이라면 logical address와 physical address가 달라진다. 이때 logical address를 virtual address라고도 부른다.

 

 

 

9.4. Consider a logical address space of 64 pages of 1,024 words each, mapped onto a physical memory of 32 frames.

a. How many bits are there in the logical address?

b. How many bits are there in the physical address?

 

 

9.5. What is the effect of allowing two entries in a page table to point to the same page frame in memory? Explain how this effect could be used to decrease the amount of time needed to copy a large amount of memory from one place to another. What effect would updating some byte on one page have on the other page?

Shared page.

 

동일 program을 동시에 여러 process로 실행할 때(물론 thread로 실행하면 resource shared의 gain을 더 얻을 수 있지만 web application의 tab의 경우 독립적인 process로 실행하는 것이 tab간 실행오류 propagation을 막을 수 있다.) library 같은 경우 공유한다면 memory 공간을 절약할 수 있다. 즉, 더 많은 양의 data를 memory에 load해놓을 수 있기 때문에 performance gain이 생긴다. Copy를 할 때 새로운 memory 공간을 확보할 필요 없이 동일한 page frame을 가리키도록 하도록 할 수 있다. 만약 memory 공간을 확보해야 한다면 Memory hierarchy에서 더 낮은 level의 HDD로 다시 store하기 때문에 시간 overhead가 발생한다. 만약 확보하지 않고 HW copy로 처리한다고 해도 시간적인 측면에서 overhead가 발생할 뿐 아니라 동일한 정보를 나타내는 data가 memory 공간을 불필요하게 차지하게 된다. Shared page 기법을 사용할 때 한 page의 일부 byte를 수정한다면 다른 page(copy 본)에 영향을 주게 된다. 이를 회피하기 위해서 profiling을 통해 shared page가 가능한 data(Read only data)를 구분하거나 dirty bit를 두어 page 수정이 일어났을 때 새로운 page로 branch하도록 설계할 수 있다.

 

 

 

9.7. Assuming a 1-KB page size, what are the page numbers and offsets for the following address references (provided as decimal numbers):

a. 3085

b. 42095

c. 215201

d. 650000

e. 2000001

 

 

9.9. Consider a logical address space of 256 pages with a 4-KB page size, mapped onto a physical memory of 64 frames.

a. How many bits are required in the logical address?

b. How many bits are required in the physical address?

 

 

9.10. Consider a computer system with a 32-bit logical address and 4-KB page size. The system supports up to 512 MB of physical memory. How many entries are there in each of the following?

a. A conventional, single-level page table

b. An inverted page table

 

 

 

 

 

 

 

반응형

댓글