Page Table과 TLB에 대해 질문이 있습니다.
358
작성한 질문수 5
안녕하세요! 강의 잘 듣고 있습니다. 강의를 들으면서 2가지 질문이 있습니다.
1. Paging에 대한 설명 중 그림의 Page Table은 모두 하나의 덩어리로 표현되어있는데요.
Page Table은 그림에서 표현되는 것처럼 하나의 덩어리로 RAM에 할당되는 건가요? 아니면 다른 프로세스처럼 Page Table 처럼 Page 단위로 할당되나요?
2. TLB는 Page-Frame 매핑 정보를 RAM에 1회만 접근해 빠르게 알 수 있도록 하기 위한 HW라고 이해했습니다.
만약 Context Switching이 발생했을 경우 TLB는 어떻게 동작하나요? 아무래도 각 프로세스 별로 별도의 Page Table을 유지하니, flush 해버리고 처음부터 TLB miss를 발생시켜 TLB를 채워나가나요?
언제나 좋은 강의 감사드립니다. 좋은 하루 되시길 바랍니다!
답변 1
2
안녕하세요?
1번:
구현상의 문제이긴 하지만, Page Table 정보는 PCB에 포함되어 있는 정보이기 때문에 Context Switch시에 Page 단위로 할당된다고 보시면 될 것 같습니다. 현대적인 OS들은 이미 이 책에서 다루는 고전적인 Paging 모델은 거의 안 쓰기 때문에, O/S 제작을 하는 경우가 아니라면 구현상의 문제까지 크게 고민하실 필요는 없으실 듯 합니다.
2번:
2번은 질문을 정확히 이해하기가 어려운데, TLB는 page table 액세스를 위한 캐시 메모리이기 때문에 Context Switching을 통한 CPU 스케줄링과는 무관하고요... 아마도 Page 가 Swap Out 되었을 경우를 질문하신 것 같은데, 그 경우에도 TLB와는 무관하게 Page Table을 통해 Page 액세스를 할 때, Swap In을 시켜주게 됩니다.
퀴즈 7번의 답에 대한 질문입니다.
0
552
1
이해하고 있는것이 맞는건지 궁금합니다 ㅠㅠ
0
819
1
타우시간
0
553
1
퀴즈1 1번 질문합니다 !
1
609
1
Page는 Text Data이외에 다른 메모리도 포함하나요?
1
373
0
IPC shared memory 코드
0
519
1
[간단한 질문 ]banker's algorithm 을 linux 에서 실제로 프로세스 관리할때 쓰이나요?
0
401
0
user mode i/o 관련 질문
0
283
1
shared memory 관련해서 질문 드립니다.
0
521
1
교수님 fork()함수에 대해 질문이 있습니다.
0
893
2
process 와 thread
0
372
1
교수님 Docker 로 실습해도 괜찮을까요?
1
867
1
Mac OS에서 Docker 이용하여 Ubuntu 20.04 환경설정 방법 공유
22
3327
2
moniter, condition variable, synchronized에 대해서 궁금한점이 있습니다..
0
674
1
왜 무료인지 이해를 못 하겠네요..
3
432
1
7.1 Classic Problems of Synchronization 질문이 있습니다
0
307
1
공룡책 8판과 10판중
0
607
1
6.3 peterson's solution 질문이 있습니다
0
222
1
08-01 연습문제 8번 질문있습니다!
0
279
0
06. 프로세스간 통신의 실제: Chapter 3. Processes (Part 4) 에 그림 3.16 3.17 실습 오류
0
263
1
안녕하세요 교수님 실습 해봤는데 LINE J가 실행이 됩니다
1
356
1
2강 실습을 위한 개발환경 구축(Windows 10 + WSL 2 + Visual Studio Code)에서 출력오류
0
342
1
아래 질문 관련하여 다시 문의드립니다
0
199
1
Thread & Concurrency (Part 2) 질문드립니다
0
186
1





