Skip to content
Open
72 changes: 72 additions & 0 deletions OS/Chaehyun/interview/Interview1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,72 @@
### 1. 운영체제에서 메모리 관리가 왜 필요할까?

여러 가지가 존재.

가장 중요한 이유 : 물리 메모리 (RAM)이 비싸고, 용량에 한계가 있다. 감당하지 못하기 때문에, 이것을 관리해야 효율적인 프로세스 관리가 가능. 그리고, 메모리 주소가 바뀌기 때문에, 다른 프로세스들이 메모리를 침범할 수 있다. 떄문에 메모리 관리가 필요!

---
### 2. 프로세스 메모리 구조에 정리했는데, 코드와 데이터 영역에 대해서 설명해달라

코드와 데이터는 논리적인 단위로 되는데, 구체적인 차이를 설명 못하겠다.

---
### 3. 코드, 힙, 스택 영역가 존재하는데 왜 스택이 힙보다 더 빠를까?

스택은 고정된 원시 타입들이 들어가 있고, 힙들은 동적으로 할당할 수 있기 때문에, 가변적일 수 있어 그런 부분에서 차이가 있다.

---
### 4. 캐시에서 가장 중요한 것 → 캐시 적중률! 이것에 관하여 설명

메모리에 접근하면 오래 걸리기 때문에, 캐시를 두어서, 좀 더 빠르게 두어서 하도록 하고 있다!
캐시 미스가 발생하면, 시간이 오래 걸린다. ex) 페이지 테이블에 캐시를 해 두었는데, 거기에 없으면, 페이지 테이블에 참조를 했다가 다시 메모리에 접근을 해야 되기 때문에 2번 과정 떄문에 더 오래 걸린다.

---
### 5. 캐시 → 시간 지역성 & 공간 지역성

시간 지역성 : 다시 참조될 수 있는 가능성

공간 지역성 : 주변에 참조될 수 있는 가능성.

시간 지역성 → 반복문, 공간 → 배열이 있다.

---
### 6. 요구 페이징?

모든 것을 다 메모리에 올리지 않고, 그때 필요한 페이지를 올리고, 그거를 교체를 하는 것을 요구 페이징!

---
### 7. 페이지 교체 알고리즘 FIFO, LRU 방식이 있는데, 두 가지 알고리즘에 대해서 설명해달라

FIFO : 처음에 들어간 페이지를 무조건 내보낸다! → 비효율적

LRU : 지역성을 고려하여서, 적게 사용한 페이지를 내보내서, 좀 더 효율적으로 할 수 있게 하도록 한다.

---
### 8. 스와핑이란?

디스크에 잠깐 적재를 할 수 있는 공간 → 메모리에 넣으면 비효율적. 스왑아웃으로 디스크에 넣어주고, 다시 스왑인해서 가져와준다.

---
### 9. 스와핑이 반복되었을 때의 문제점?

자주 사용되는 페이지를 거기에 올려버리면, 접근하는 시간이 오래 걸린다.

---

### 10. 내부 단편화에 대해서 설명해달라

프로세스가 정해진 공간보다 작아서 내부에서 생기는 공간 → 내부 단편화!

페이지는 고정적인 공간에 들어가지만, segmentation 기법에서는 모르겠습니다 죄송합니다!

---

## Feedback
### From 소미
전체적인 태도나 대답 내용이 다 좋았던 것 같습니다. 자신있는 부분이 나올 때 말하는 속도가 갑자기 빨라지는 면이 있어서 이 부분만 보완하면 체고일 것 같습니다.

### From 나연
발성이 좋았다! 발성이 매우 신뢰가 좋아 보인다. 질문자 눈을 똑바로 쳐다보면서 하면 더 좋을 것 같다!

### From 수정
전반적으로 밝게 답변하는 점이 인상적이었고, 단순한 질문보다는 오히려 깊이 있는 질문에서 더 많은 답변을 풀어낼 수 있을 것 같다는 느낌을 받았습니다. 웃으며 대답하는 모습이 좋았습니다.
Loading