분류 | RAM | Hard Disk |
---|---|---|
개념 | 주 기억 장치 | 보조 기억 장치 |
설명 | 하드디스크에 저장된 프로그램을 실행하면 관련 데이터가 하드디스크에서 RAM으로 옮겨짐 | 컴퓨터에 설치된 프로그램이 저장되는 곳 |
사용하는 이유 | 빠르다. | 전원이 꺼져도 날라가지 않음 |
결론 | 하드디스크보다 빠르기 때문에 하드 디스크에서 데이터를 가지고 와서 CPU한테 빠르게 정보 제공 RAM이 작은 경우 데이터들이 과하게 많으면 쓰이지 않는 데이터들이 날라가거나 에러가 날 수 있으므로 비상시를 위해 swap space를 사용 | 속도는 느리지만 비휘발성이라 꼭 필요함 |
간단하게 말해서 하드 디스크의 일부를 RAM처럼 사용할 수 있게 만드는 것
대부분의 운영체제는 Secondary Storage인 Disk의 일부를 Virtual Memory로 활용하는데, Memory의 데이터를 디스크로 옮겨 보관하는 것을 Paging(페이징)이라고 한다.
그리고 이 Paging을 하기 위한 공간을 Swap Space라고 부른다.
💫 특수한 목적을 위한 공간이기 때문에 별도의 파일 시스템이 존재한다고 함
✔️ Swap space의 크기는 대부분 RAM의 2배 이상을 권장
✔️ Swap space는 파일이거나, 파티션으로 구분되어 있음
✔️ Swap space는 전원이 꺼지면 날라감
✔️ 속도가 중요하므로 블록 사이즈를 크게 사용함
⚠️ Swap space가 항상 성능을 좋게 해주는 것은 아니라서 상황에 맞게 잘 사용해야 함 ⚠️
Swap-space는 프로세스가 시작되면 할당됨
✅ Data + Code : 이미 파일 시스템에 저장되어 있음
다시 swap space에 할당해줄 필요 ❌
✅ Stack + Heap : 프로세스가 진행되면 새로 할당해줘야 하는 부분임
그래서 swap space에 할당해줌