2023.4.13 소붕들의 학교에 몬스터의 등장이라

이보현2023. 4. 14. 18:09

 

 

2023
밤샘의 서막



 

12일 저녁 9시 33분

숏퀴즈 유형 공지가 올라왔습니다.

주 범위는

[Demand Paging + Multi Level Paging]

 

그리고 이걸 분리해보면

[Segment + Paging + TLB+ Multi Level Paging + Demand Paging]

 

관련 강의

 = 세시간 반

관련 퀴즈

= 4개

 

 

 

kill

손쉽게 처리했습니다.

 

 

 

 

 

그리고 결전의 날....

만반의 준비를 마치고

기세좋게 학교가는데

 

 

 

 

버스에서 이 글을 봐버림

 

....

 

 

아저씨 저 내려주세요

집에 가야돼요

 

 

 

 

 

그리고 결국 두려움에 떨며

시험지를 마주하고 마는데요

진짜 이대로 한 

2분정도 드르륵드르륵

스크롤만 했지 뭡니까?

 

 

 

적긴 다 적었는데

그게 답인지 똥인지

푼건지 싸지른건지도 모르고 나왔다니깐요~하하

 

 

 

.

.

.

WHAT?!!!!

I'M A MONSTER

 

 

 

 

그리고

이제부터가 "진짜"입니다.

몬스터의 퀴즈 풀이

레고


 

 

자 문제는 0x30을 변환하는 것이었죠

 

1. virtual addresss(7bit)에 따라

0x30 = 011 0000 로 변환하고 정보 정리

DD = 01

TT = 10

OOO = 000

 

 

 

2. 해당하는 PDE 를 찾아가기 위해

우선, 주어진 정보를 확인합시다.

page size는 8byte이고 

PDE는 2byte이므로

다음 PDE에 접근하고 싶으면 2byte씩 넘어가야 합니다.

 

 

 

3. PD는 0x14 (PFN)에서 시작하고

우리는 01번째(DD = 01)에 든 정보가 필요하므로

0x14에서 2byte를 넘어간 위치에서 2byte를 읽어옵니다.

 

* 교수님께서 친절히 인덱싱을 2byte씩 해주셔서

DD를 인덱스로 보고 읽어주셔도 됩니다.

 

정리하자면 

PDE -> PFN = 0x14, Offset = 01 에 있는 2byte

 -> 98 91

 

 

 

4. 98 91 = 1001 1000 1001 0001을 

주어진 PDE 형식에 맞춰 읽어봅시다.

우선 valid = 1 이므로 패스

FFFFF = 10001로

이 PDE가 가르키는? PT는 10001(PFN)에 있다는 것이죠.

 

 

 

 

5. 자, PTE도 2byte이므로

다음 PTE에 접근하고 싶으면 2byte씩 넘어가면 됩니다.

 

처음에 구한 TT = 10는 PT의 2번째 entry라는 뜻이므로

PFN 0x11에서 TT * 2byte를 넘어간 위치에서 값을 읽어옵니다.

 

정리하자면 

PTE -> PFN = 0x11, Offset = 10에 있는 2byte

-> d9 3f

 

 

 

 

6.  d9 3f = 1101 1001 0011 1111

이를 PTE에 따라 읽으면

valid = 1, present = 1, r = write/ read 이므로

모두 pass

그리고 PFN = 11111 입니다.

 

 

7. 자 이제 마무리!!

구해둔 PFN과 첨에 구해둔 OOO = 000을 이용하면

물리적 메모리는

1111 1000(0xf8)로 구할 수 있습니다!!!

 

정답 : 0xf8

 

 

 

아 이거 기업비밀인데...

독자님들! 운체 화이팅~