DEV_HOYA
로그인
DEV_HOYA
로그인
[운영체제] 가상메모리, 페이지폴트
DEV_HOYA
·
2024년 2월 1일
팔로우
0
0
CS
목록 보기
45/55
📌 가상 메모리
OS에서 사용되는 메모리 관리 기법중 하나
컴퓨터가 실제로 이용가능한 메모리 자원(실제 주소)을 추상화하여 이를 사용하는 사용자들에게 매우 큰 메모리로 보이게 만드는 것
가상 주소는 MMU와 페이지테이블에 의해 실제주소로 변환됨
✅ 페이지
가상 메모리를 사용하는 최소 크기 단위
✅ 프레임
실제 디스크나 메모리를 사용하는 최소 크기 단위
⭐ 페이지 테이블
가상 메모리는 가상주소와 실제주소가 매핑되어있는 페이지테이블로 관리되며 속도향상을 위해 캐싱계층인 TLB를 사용
가상주소에서 바로 페이지테이블로 가는것이 아니라, TLB에서 있는지를 확인하고, 없으면 페이지테이블로 가서 실제주소를 가져옴
⭐ 페이지 폴트
가상메모리에는 존재하지만 실제 메모리인 RAM에는 현재 없는 데이터나 코드에 접근할 경우 발생
페이지 폴트의 결과
스와핑
이 발생
✅ 스와핑
메모리에 당장 사용하지 않는 영역을 하드디스크로 옮기고, 하드디스크의 일부분을
마치 메모리처럼
불러와 사용하는 것
⭐ 스레싱
메모리의 페이지 폴트율이 높은 것
메모리에 너무 많은 프로세스가 동시에 올라가게 되어 스와핑이 많이 일어나서 발생함
페이지폴트가 일어나면 CPU 이용률이 낮아지고, 운영체제는 가용성을 높이기 위해 더 많은 프로세스를 메모리에 올리게되는 악순환이 반복되어 스레싱이 발생
이를 해결하기 위해, HDD를 SSD로 바꾸거나, 워킹셋, PFF를 사용
✅ 워킹셋(Working Set)
프로세스의 과거 사용이력을 기반으로 많이 사용하는 페이지 집합을 만들어 미리 메모리에 로드하는 것
✅ PFF
Page Fault Frequency
페이지 폴트의 빈도를 조절하는 방법
상한선에 도달하면 프레임을 늘리고, 하한선에 도달하면 프레임을 줄임
✅ 가상메모리의 필요성
주기억장치의 효율적 관리(스와핑)
메모리 관리의 단순화
메모리 용량 및 안정성 보장
DEV_HOYA
팔로우
이전 포스트
[운영체제] 메모리 계층
다음 포스트
[운영체제] 페이지 교체 알고리즘
0개의 댓글
댓글 작성