minyule.log
로그인
minyule.log
로그인
페이징 / 세그멘테이션
김민영
·
2023년 2월 13일
팔로우
0
운영체제
0
CS 스터디
목록 보기
26/32
프로세스를 메모리에 적재하고, 제거하는 일이 반복되면
외부 단편화 : 프로세스 사이사이에 작은 메모리가 중간 중간 존재
내부 단편화 : 프로세스가 요청한 양보다 더 많은 메모리 할당 시 발생
단편화가 발생한다.
외부 단편화를 해소하기 위해 페이징
내부 단편화를 해소하기 위해 세그멘페이션
기법이 사용된다.
페이징 Paging - 물리적
프로세스를 일정한 크기의 페이지로 분할해서 메모리에 적재하는 방식
하나의 프로세스가 사용하는 메모리 공간이 불연속적이어도 됨.
페이지 : 고정 사이즈의 가상 메모리 내 프로세스 조각
프레임 : 페이지 크기와 같은 주 기억 장치의 메모리 조각
페이징 테이블 Paging Table
메모리 관리 장치 MMU. Memory Management Unit은 가상 주소(논리 주소)를 이용해 실제 데이터가 담긴 주소로 변환
논리 주소 Logical Address 는 <page, offset> 의 형태.
장점
논리 메모리가 물리 메모리에 저장될 때 연속되어 저장되지 않고 물리 메모리의 남는 프레임에 적절히 배치되기 때문에 외부 단편화 발생하지 않음
단점
내부 단편화 문제 발생 가능.
페이지 단위를 작게 하면 해결할 수 있지만, 페이지 매핑 과정이 복잡해져서 비효율적임
단순 페이지
각 프로세스는 프레임과 같은 길이를 가진 균등 페이지로 나뉨
외부 단편화 해소
내부 단편화 존재 가능
가상 메모리 페이징
단순 페이징과 비교해 프로세스 페이지 전부 로드할 필요 없음
필요한 페이지가 있으면 나중에 자동으로 불러 들임
외부 단편화 해소
메모리 관리가 복잡 - 오버헤드 가능
세그멘테이션 Segmentation - 논리적
세크먼트 : 가상 메모리를 서로 크기가 다른
논리적 단위
로 분할한 것
세그멘테이션 : 프로세스를 물리적 단위인 페이지가 아닌, 논리적 단위인 세그먼트로 분할하여 메모리 적재
세그먼트 테이블
페이징 방식과 동일한 방식
<segment, offset> 형태
세그먼트 번호를 통해 세그먼트 시작 물리 주소 (기준), 세그먼트 길이 (한계) 파악
장점
내부 단편화 문제 해소
보호와 공유 기능 수행
프로그램의 중요한 부분과 중요하지 않은 부분을 분리하여 저장
같은 코드 영역은 한 번에 저장
단점
외부 단편화 문제 발생 가능
단순 세그멘테이션
각 프로세스는 여러 세그먼트로 나뉨
내부 단편화 해소
메모리 효율 개선
동적 분할을 통한 오버헤드 감소
외부 단편화 존재 가능
가상 메모리 세그멘테이션
필요없는 세그먼트는 로드되지 않음
필요한 세그먼트가 있으면 나중에 자동으로 로드
내부 단편화 해소
복잡한 메모리 관리로 오버헤드 발생 가능
참고
김민영
노션에 1차 정리합니당 - https://cream-efraasia-f3c.notion.site/4fb02c0dc82e48358e67c61b7ce8ab36?v=
팔로우
이전 포스트
가상 메모리
다음 포스트
내부 단편화, 외부 단편화
0개의 댓글
댓글 작성