0. Virtual Memory
- 주소 공간만 있고 실제 저장 공간x, 그냥 가상의 주소일 뿐
- 데이터는 Physical Memory와 hdd의 swap 영역에 있음
- 프로세스 전체가 메인메모리에 올라오지 않더라도 실행이 가능한 기법
- 주소 공간을 여러 Physical Memory가 공유
- 실제 물리적 메모리 개념과 논리적 메모리 개념 분리
- vm = pm + swap area
1. 사용 이유?
cpu 속도가 매우 빠르므로, 노는 상황 발생시 이를 해결하려면 작업 개수를 늘려야함
1. os는 컴퓨터 자원을 효율적으로 관리해야한다. -> 물리 메모리 수 많게 해서 cpu 이용률을 높이면 됨 ->
-> 근데 그러려면 메인 메모리 키워야함 -> 비싼 자원이라 무한정 늘릴 수 없음
-> 한정된 메인 메모리에 물리 메모리에 다 올리지 말고 필요한 부분만 올리고 안쓰는 부분을 swap 해서 올리면
메인 메모리를 효율적으로 사용할 수 있음
2. 이때 cpu는 주소 변환 불가함 vm이 주소 변환 기법을 사용해서 메인메모리와 swap 영역을 나눔
-> vm 활용도 >> 메인 메모리 활용도
메인 메모리에는 필요한 것만 올려서 효율성 높게함
3. 단점 : vm이 메인메모리보다 과도하게 커지면 swap 영역이 너무 커져서 페이지 폴트 일어나는 경우가 많아져 thrasing 현상 발생하고 컴퓨터 느려지므로 잘 활용해서 써야함
2. 주 기억장치의 한계
- 다중 프로세스를 동작시키는데 Main Memory는 한계
3. 가상 메모리 작동 방식
- swap out : 잘 쓰이지 않는 프로그램을 보조기억장치로 이동
- swap in : 보조기억장치에 저장되어 있는 프로그램을 다시 사용하기 위해 주기억장치로 이동
'OS' 카테고리의 다른 글
Multi Programmed System : Dual- Mode, protection 기법 (0) | 2024.10.26 |
---|---|
저장 구조 및 입출력 (3) | 2024.10.26 |
OS Interrupt, I/O구조 입출력 과정, DMA (0) | 2024.10.26 |
OS란? , 컴퓨터 시스템 작동 방식 (0) | 2024.10.25 |
컴퓨터 시스템 유형 (0) | 2024.10.25 |