asel0joo
[CS개념] 가상 메모리, MMU, TLB 본문
실제 프로세스가 사용하는 메모리는 생각보다 작기 때문에 컴퓨터에 있는 가상메모리를 만들어 더 많은 공간을 사용할 수 있는 것처럼 하기 위함이다.
가상 메모리가 필요한 이유는 무엇일까?
- 시스템 안전성을 위함이다.
- 프로그램을 실행시키다가 프로그램이 사망하는 경우가 있는데, 그 경우 OS를 재실행해야 하는데 가상 메모리를 사용하면 그렇지 않아도 된다.
동작하는 방법은?
프로세스에서 필요한 부분의 데이터만 가상 메모리에 올려 사용한다.
CPU에서 MMU에게 가상주소를 달라고 요청하고, MMU는 Memory에서 물리주소를 반환해 CPU에게 전달한다.
이때, MMU가 Memory에게 물리주소가 있는지 확인할 때 CPU는 기다리고 있어야 한다. 개발자들은 CPU가 놀고있는 꼴을 또 못본다. 그래서 CPU를 어떻게 하면 더 일을 시킬 수 있을지 고민해 나온 것이 TLB이다. 최근에 일어난 주소를 TLB에 저장해놓고 CPU가 가상주소를 요청 할 때, TLB에 주소가 있으면 바로바로 가져다 준다. 그래서 일하는 속도를 조금 더 줄일 수 있었다.
'IT 개념정리' 카테고리의 다른 글
[CS개념] 리눅스 명령어 : sudo, clear, pwd, cd, chmod, cat, rm (0) | 2023.03.21 |
---|---|
[CS개념] 시스템 소프트웨어 : 리눅스 파일 시스템, 리눅스 쉘 (0) | 2023.03.21 |
[CS개념] 경우의 수 : 순열(Permutation), 조합(Combination) (0) | 2023.03.17 |
[CS개념] 프로세스 구조, 컨텍스트 스위칭, 프로세스 간 통신 (0) | 2023.03.16 |
[CS개념] 운영체제 개념 이해 (0) | 2023.03.15 |