nearworld.log
로그인
nearworld.log
로그인
[운영체제] 4일차 가상메모리
nearworld
·
2024년 2월 25일
팔로우
0
가상메모리
운영체제
0
운영체제
목록 보기
4/5
가상메모리
물리 메모리 공간만 사용시 문제점
외부 단편화
프로세스들이 물리 메모리에 연속적으로 이어져있다고 가정
종료된 프로세스가 있는 경우 프로세스들이 차지하는 공간 사이에 빈공간이 생김
해결법
압축 (compaction)
페이징
대부분의 컴퓨터들이 페이징 기법 사용
세그멘테이션
압축 (compaction)
기억 조각 모음이라고도 부름
흩어져있는 빈공간들을 모아 하나의 연속된 큰 빈공간을 생성
압축하는 동안에는 다른 일을 할 수 없다
시간이 많이 소모된다
페이징
메모리를 균등 분할
연속적인 가상메모리를 사용하여 물리메모리를 불연속적으로 이용가능
페이지 테이블을 이용하여 물리 메모리와 가상 메모리 맵핑
사용하지 않는 페이지는 보조기억장치에 저장
프레임
물리 메모리를 일정 크기 단위로 분할
이 분할된 공간들은 크기가 같다
물리 메모리에 있는 이 분할 공간들을 프레임이라고 부른다
페이지
가상 메모리를 일정 크기로 분할된 공간
프레임과 크기가 같다
보통 4kb 크기
크기가 큰 페이지는 대형 페이지라 부름
PTE
Page Table Entry
페이지 테이블 각 행에 대한 명칭
구성
페이지번호 (32비트 기준 20비트)
프레임번호 (32비트 기준 20비트)
유효비트 0 1
보호비트 r w x
참조비트 0 1
수정비트 0 1
페이지 폴트
필요한 데이터가 메모리에 적재되어있지 않고 보조기억장치에 있는 것을 의미
해결방법
스와핑 시도
page in: 보조 기억장치에서 메모리로 페이지 이동
page out: 사용하지 않고 오래된 페이지를 보조기억장치로 이동
한계
내부 단편화
페이지의 내부에 사용하지 않는 빈공간이 있는 것을 의미
프로세스의 크기가 105MB라 치고 Page의 크기가 10MB 이면 11개 페이지 할당
마지막 페이지의 5MB가 사용하지 않는 빈공간
페이지 크기를 더 작게 하면 해결 가능
너무 작게 하면 페이지 테이블이 메모리 공간을 많이 차지하는 문제 발생
nearworld
깃허브: https://github.com/nearworld
팔로우
이전 포스트
[운영체제] 3일차 가상메모리
다음 포스트
[운영체제] 5일차 가상메모리, 데드락
0개의 댓글
댓글 작성