9.1 Name two differences between logical and physical addresses.
logical 주소는 응용 프로세스에 저장된 주소로, 명령어에 존재한다. physical 주소는 실제 메모리 공간의 주소로서 MAR에 저장되는 값이다. 연속 메모리 할당에서는 logical 주소에 base register의 값을 더해서 physical 주소를 구할 수 있다. paging에서는 (frame 번호 << page size)를 더해서 physical 주소를 구할 수 있다.
9.4 Consider a logical address space of 64 pages of 1,024 words each, mapped onto a physical memory of 32 frames.
-
How many bits are there in the logical address?
address space size = # of page X word size = 64 * 1024 (bit) = 2^16
address space의 주소값인 logical 주소는 16 bits
-
How many bits are there in the physical address?
memory space size= # of frame X word size = 32 * 1024 (bit) = 2^15
physical 주소는 15 bits
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 paging을 통해 중복된 reentrant code가 여러 메모리 공간에 중복 저장되는 일을 막을 수 있다. 이 기법을 사용하지 않으면 예를 들어, C언어로 작성된 프로그램이 여러 개 실행 중이라면 여러 프로세스에서 공통으로 사용하는 C 라이브러리가 각 프로세스에 모두 복사되어 존재한다. 하지만 한 물리 메모리 frame에 공유되는 코드는 reentrant, 즉 read-only 조건을 충족해야 하는데 만약 한 user process에서 이 frame의 내용을 수정하면 다른 프로세스에도 영향을 끼치기 때문이다.
9.6 Given six memory partitions of 300 KB, 600 KB, 350 KB, 200 KB, 750 KB, and 125 KB (in order), how would the first-fit, best-fit, and worst-fit algorithms place processes of size 115 KB, 500 KB, 358 KB, 200 KB, and 375 KB (in order)?
9.7 Assuming a 1-KB page size, what are the page numbers and offsets for the following address references (provided as decimal numbers):
page size = 1KB이므로 offset은 10비트이다. 1024로 나눈 몫이 page number가 되고 나머지가 offset이다.
N = p * 1024 + d (p: page number, d: offset)
- 3085 = 3 * 1024 + 13
- 42095 = 41 * 1024 + 111
- 215201 = 210 * 1024 + 161
- 650000 = 634 * 1024 + 784
- 2000001 = 1953 * 1024 + 129
9.9 Consider a logical address space of 256 pages with a 4-KB page size, mapped onto a physical memory of 64 frames.
4KB page size이면 offset bit수가 12이다.