TLB에 대한 추가 질문이 있습니다.
해결됨
운영체제 공룡책 강의
직전 질문에서 2번 질문에 대해 약간 모호하게 질문드린 것 같습니다. 괜찮으시다면 조금 더 구체적으로 질문드려보겠습니다. ㅠㅠ 제가 강의를 듣고 이해한 바로는 다음과 같습니다. 1. 프로세스는 각자 별도의 page table을 메모리에 가집니다. 2. 메모리에 존재하는 page table에 접근해 mapping정보를 찾아 frame에 접근하는 방법은 RAM에 2회 접근하므로 느립니다. 3. 2의 방법을 개선하기 위해 page table을 TLB 캐시 메모리에 저장해 page-frame mapping 정보를 빠르게 얻어냅니다. 제가 궁금하다고 생각하는 부분은 다음과 같습니다. (과정을 잘못이해한 것일 수 있습니다.) 1. 어떤 프로세스 A가 수행되면, A의 page table을 TLB에 올립니다. 2. 프로세스 A가 수행되다 인터럽트가 발생해 프로세스 B가 CPU를 할당받습니다. 이 때 2의 과정에서 CPU는 프로세스 B를 수행하므로 CPU에서 발생하는 주소는 B의 logical address입니다. 즉, (제가 생각하기로는) B의 logical address로 A의 page table로 초기화되어있는 TLB에 접근하는 것은 올바르지 않다는 생각입니다. 따라서 어떤 방법으로 TLB를 B의 page table로 초기화하는지에 대해 궁금증이 생겨 드린 질문이었습니다. 이렇게 작성하고 나니 꽤 깊은 질문을 굉장히 함축해서 드린 질문이었군요.. ㅎㅎ 죄송합니다. ps. 만약 너무 깊은 내용이거나 추후 강의를 들어가며 이해할 수 있는 내용이라면 답변해주지 않으셔도 괜찮습니다. 언제나 좋은 강의 감사드립니다.
- tlb
- 운영체제
- 동시성





