본문 바로가기

OS

가상메모리

메모리

프로그램과 프로그램 수행에 필요한 데이터를 저장하는 장치

내부 기억장치(주기억 장치) / 외부 기억장치(보조 기억장치)로 나뉨

 

주기억장치

RAM / CPU 내의 레지스터와 캐시

 

보조 기억장치

HDD, SSD

 

가상 메모리

실제 사용할 수 있는 메모리보다 많이 제공하기 위한 메모리 관리 기술

하드디스크까지 메인 메모리를 확장하는 것

물리적 한계를 극복하기 위한 기술

주기억장치의 프로그램 양이 많아질때 프로그램을 보조기억장치에 옮겨 주기억장치처럼 사용하는 보조기억장치의 일부

 

MMU - Memory Management Unit

가상주로를 물리주소로 변환(주소 변환)

메모리 보호

페이지 및 주소 번역 정보 기억

 

요구 페이징

CPU가 요청할 때 프로세스의 데이터를 메모리에 올리는 것

 

페이지 폴트 - Page faults

어떤 페이지에 접근하려고 했을때 해당 페이지가 실제 물리 메모리에 부재할 때 뜨는 인터럽트

해당 인터럽트 발생시 이를 해결하고 다시 동일한 명령 수행 - 발생하지 않은것처럼 수행

가상 메모리에는 존재하지만 RAM에는 존재하지 않는 데이터 / 코드에 접근 했을때 발생

 

메모리 사용

실제로는 모든 메모리 공간을 하드디스크에 넣고 사용하는 것들만 블록 단위로 빼서 RAM에 로드

 

관리 정책

- 할당 정책 : 할당할 메모리의 양을 관리 / 고정할당기법, 할당기법

- 호출 정책 : 언제 주기억장치로 프로그램 가져올지 결정

- 배치 정책 : 어디에 배치할지 관

- 교체정책 : 주기억장치에 적재할 공간이 없을때 무엇과 교체할 것인지 결정

 

장점

프로그램의 크기가 물리적인 용량에 무관

많은 프로그램이 메모리 공유 → CPU 사용률 / 처리율 향상

주소 결속을 실행 시간에 할 수 있음

 

 

참고

https://velog.io/@syoung125/%EC%9A%B4%EC%98%81%EC%B2%B4%EC%9E%AC-%EA%B0%80%EC%83%81-%EB%A9%94%EB%AA%A8%EB%A6%AC%EB%9E%80

https://beeehappy.tistory.com/53

https://ahnanne.tistory.com/15

https://d-cron.tistory.com/30

'OS' 카테고리의 다른 글

CPU 스케줄링  (0) 2023.03.16
페이징 / 세그멘테이션  (0) 2023.02.07
운영체제 / 커널 / 콘솔 / 터미널 / 쉘  (0) 2022.12.23