Dreaming Deve1oper

Exercises 본문

리눅스, 유닉스

Exercises

주현테크 2021. 12. 13. 23:37

시스템의 TLB 및 페이지 테이블은 4kb 페이지로 표시된다.

4KB = 2^12 -> 12bit는 offset으로 빠지게 됨

 

Virtual Address는 0x023d  이진수로 바꿈 > 0000001000111101

페이지가 12bit이기 때문에 0000001000111101을 12bit로 자름 0000/001000111101

0000= page number, 001000111101= page offset

 

0000 = 0x0,  page offset = 0x23d 2진수를 16진수로

pageoffset은 Address Translation에 참여하지 않음. page 내부에서만 돌기 때문

CPU는 <TLB>의 pagenumber를 뒤적임. 0x0이 없음. = TLB MISS

<page table>을 찾아감 0x0 valid bit(메모리에 있음)의 첫번째에 존재. 뒤에 존재하는 0x5 값을 쓰면된다는 의미

0x5는 framenumber가 5이기 때문에 0x0을 0x5로 바꾸어줌.

 

그 후 physical address(0x23d)와 5를조합해  0x523d로 바뀜

 

 

 


virtual address = 0x4ee6

page number = 0x4 

pageoffset = 0xee6

<TLB> 에 0x4가 존재하지만 valid bit이 0이기 떄문에 못씀 > TLB MISS

<Page Table>엔 0x4의 valid bit이 1이기 때문에 사용 가능 > 0x9

0x9 + 0xee6 = 0x9ee6

 

 

Virtual Address = 0x871b

page number= 0x8

page offset= 0x71b

 

<TLB> <PageTable> 모두 0x8이 없음. >TLB MISS

<page table>의 valid bit이 0라는 것 > 메모리가 없고 DIsk에 저장되어 있다.

Disk에 있는 것을 끌고 오는 것 > Page falut

 

 


logical address memory 구하기

logical address가 64 page로 구성 1024개의 word. (1word=4btye = 페이지 하나가 4kb)

physical memory frame이 32개.

 

logical address space = 64 * 1024 * 4byte = 262144 bytes

262144 byte / 1024 = 256KB

256 = 2^18KB

→18bit  MMU를 거치면 최종적으론 17bit가 된다.

 

Physical address memory 구하기

page, frame은 크기가 같음. = frame도 4KB라는 뜻.

32 * 1024 * 4byte = 131072 bytes

131072 / 1024 = 128KB

128 = 12^17KB

→17bit

 


한 페이지가 1KB. (1KB는 1024 byte, 1024byte는 2^10byte)

page offset= 10bits

 

3085

3085(10진수)를 2진수로 변경 > 110000001101

 

10bit 이전(offset)과 10bit 이후로 나눔.

11/0000001101 > page number= 3  (2진수에서 10진수로 변경)

11/0000001101  > page offset= 13 (2진수에서 10진수로 변경)

 

 

42095

42095(10진수)를 2진수로 변경 > 1010 0100 0110 1111

 

10bit 이전(offset)과 10bit 이후로 나눔.

1010010001101111 > page number= 41 (2진수에서 10진수로 변경)

1010010001101111 > page nuber = 111 (2진수에서 10진수로 변경)

 

 


10/19/2시간쨰

'리눅스, 유닉스' 카테고리의 다른 글

총정리  (0) 2021.12.04
Summary  (0) 2021.10.19
CPU Scheduling  (0) 2021.10.18
Operating System Concept  (0) 2021.10.16
Comments