inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

운영체제 공룡책 강의

20. 페이징과 스와핑: Chapter 9. Main Memory (Part 2)

Page Table과 TLB에 대해 질문이 있습니다.

358

GE LO

작성한 질문수 5

0

안녕하세요! 강의 잘 듣고 있습니다. 강의를 들으면서 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를 채워나가나요?

언제나 좋은 강의 감사드립니다. 좋은 하루 되시길 바랍니다!

paging 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