가상 메모리란 무엇인가요?
메모리는 한정적인데 프로세스 용량이라던가, 프로세스의 수가 늘어나면 다중 프로그래밍이 힘들어질 수 있습니다. 그럴 때를 대비해서, 프로세스의 데이터 전체가 메모리에 올라가지 않더라도, 가상의 주소공간을 이용해서 프로세스를 유지할 수 있게끔 해주는 것을 의미합니다.
- 가상메모리와 스왑(swap) 과는 다르다.
- 더 많은 프로세스를 동시에 실행이 가능해진다.
- 자동적으로 CPU 이용률 또한 높아진다.
페이징이란 무엇인가요?
프로그램은 실제 물리적 메모리를 직접적으로 이용하지 않습니다. 가상 메모리를 이용하게 되고, 그 가상메모리가 결국에는 물리적 메모리에 접근해서 메모리를 이용하게 되는데, 이 때 가상메모리를 일정한 크기의 블록으로 나누어 관리하는 것이 Paging , 물리적 메모리를 나누어 관리하는 것을 Fragmentation 이라고 합니다.
- 가상 메모리의 Paging은 Page Table을 통해 실제 물리 메모리 주소에 접근하게 된다. 사실 Page Table 에 접근하기 전에 먼저 TLB 에 접근한다.
- TLB (Translation Lookaside Buffer) : 가상 메모리 -> 물리 메모리로 변환하는 속도를 높이기 위한 캐시
캐시 지역성에 대해 설명해주세요.
프로그램에서 메모리의 접근이 균등하게 일어나지 않는다 를 가정으로, 어떤 메모리에 접근할 때 띄는 특성이 있다는 것을 의미합니다. 예를들면, 최근에 참조됐던 내용이 다시 참조될 확률이 높다는 시간 지역성, 그리고 참조된 주소의 인접한 주소가 참조될 확률이 높다는 공간 지역성 등이 있습니다.
- 캐시에 대한 추가적인 정보
- 캐싱 라인 : 캐시에 데이터를 저장할 때, 특정 자료구조를 사용하여 묶음으로 저장하게 되는 방법
참고
-
출처
github.com/JaeYeopHan/Interview_Question_for_Beginner
'[IT 면접대비] 개발자 기술면접 대비 🖥️' 게시글의 내용들은 위 깃허브를 출처로 합니다.
위 게시글 깃허브에 들어가보시면 이미 자세한 내용들이 기술되어 있고, 저는 그냥 제 생각을 보태서 한번 다시 정리하는 정도로 생각해주세요!
728x90
'컴퓨터 지식 > IT 기술면접 대비' 카테고리의 다른 글
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 4️⃣ - 데이터베이스 (1) (0) | 2021.03.02 |
---|---|
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 3️⃣ - JavaScript (1) (0) | 2021.03.02 |
[IT 면접대비] 개발자 기술면접 대비 🖥️/ - 2️⃣ 운영체제 (1) (0) | 2021.03.01 |
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 1️⃣ - 공통 직군 (2) (0) | 2021.03.01 |
[IT 면접대비] 개발자 기술면접 대비 🖥️/ 1️⃣ - 공통 직군 (1) (2) | 2021.03.01 |
댓글