CS 기초 · 중급
페이징(Paging) 기법이 가상 메모리 시스템에서 어떻게 작동하는지 설명하고, 페이지 테이블(Page Table)과 TLB(Translation Lookaside Buffer)의 역할 및 이들이 메모리 접근 속도에 미치는 영향에 대해 논해보세요.
힌트 · 가상 주소를 고정된 크기의 페이지로 나누고 물리 메모리의 프레임에 매핑합니다. 페이지 테이블은 매핑 정보를 저장하며, TLB는 이 변환 과정을 가속화하는 캐시 역할을 합니다.
가상 메모리페이지 테이블TLB페이지 폴트주소 변환
모범답안
페이징은 가상 메모리 시스템에서 메모리를 관리하는 중요한 기법입니다. 가상 주소 공간을 고정된 크기의 페이지로 나누고, 이 페이지들을 물리 메모리의 프레임에 매핑합니다.
페이지 테이블은 가상 페이지 번호와 물리 프레임 번호 간의 매핑 정보를 저장하는 테이블입니다. CPU가 가상 주소에 접근하려고 할 때, 페이지 테이블을 참조하여 해당 가상 페이지가 어떤 물리 프레임에 매핑되어 있는지 확인합니다. 만약 페이지 테이블에 해당 정보가 없다면 페이지 폴트가 발생하고, 운영체제는 디스크에서 해당 페이지를 가져와 물리 메모리에 로드합니다.
TLB는 페이지 테이블에 대한 캐시 역할을 합니다. 최근에 사용된 가상-물리 주소 변환 정보를 저장하여 페이지 테이블 접근 횟수를 줄이고 메모리 접근 속도를 향상시킵니다. TLB에 원하는 정보가 있다면 (TLB hit), 페이지 테이블을 거치지 않고 바로 물리 주소를 얻을 수 있어 메모리 접근 시간을 크게 단축할 수 있습니다. TLB miss가 발생하면 페이지 테이블을 참조해야 하므로 메모리 접근 시간이 늘어납니다.
읽었다면, 이제 직접 답해볼 차례예요
패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.
함께 보는 운영체제 면접 질문
- 운영체제에서 컨텍스트 스위칭(Context Switching)이 발생하는 과정과 이로 인해 발생할 수 있는 성능상의 오버헤드에 대해 설명하고, 이를 최소화하기 위한 방법은 무엇이 있을까요?
- 교착상태(Deadlock)가 발생하는 4가지 필수 조건을 설명하고, 실제 시스템에서 교착상태를 예방하거나 회피하기 위한 대표적인 기법들을 제시해주세요.
- 가상 메모리(Virtual Memory)의 개념과 작동 원리를 설명하고, 실제 물리 메모리보다 큰 프로그램을 실행할 수 있게 하는 핵심적인 메커니즘은 무엇인지 구체적인 예시를 들어 설명해보세요.
- 운영체제의 CPU 스케줄링 알고리즘 중 라운드 로빈(Round Robin)과 우선순위(Priority) 스케줄링의 특징과 장단점을 비교 설명하고, 각각 어떤 종류의 시스템 환경에 적합한지 예를 들어 설명해주세요.
- 멀티스레드 환경에서 공유 자원에 대한 동시성 문제를 해결하기 위한 세마포어(Semaphore)와 뮤텍스(Mutex)의 차이점을 설명하고, 각각 어떤 상황에서 더 적합하게 사용될 수 있는지 구체적인 시나리오를 제시해주세요.
- NUMA(Non-Uniform Memory Access) 아키텍처 환경에서 애플리케이션의 메모리 접근 성능을 최적화하기 위한 OS 수준의 고려사항과 구체적인 전략에 대해 설명해 주십시오. 특히, 메모리 할당 정책과 스케줄링 관점에서 어떤 최적화 기법을 적용할 수 있을까요?