페이징 기법
가상기억장치에 보관된 프로그램, 주기억장치의 영역을 동일한 크기로 나눈 후 나눠진 프로그램을 주기억장치에 적재시켜 실행
- 페이지 : 프로그램을 일정한 크기로 나눈 단위
- 페이지 프레임 : 페이지 크기로 일정하게 나누어진 주기억장치의 영역
- 외부 단편화 문제 X / 내부 단편화 문제 O
세그먼테이션 기법
프로그램을 다양한 크기의 논리적인 단위로 나눈 후 주기억장치에 적재, 실행
- 세그먼트 : 프로그램을 배열, 함수 등의 논리적 크기로 나눈 단위로 고유한 이름, 크기를 갖는다
- 외부 단편화 문제 O / 내부 단편화 문제 X
단편화 (Fragmentation)
- 기억장치의 빈 공간 또는 자료가 여러 조각으로 나뉘는 현상
- 사용하지 못할 만큼의 자유 공간이 늘어난다
외부 단편화
- 주기억장치 내 사용자 영역보다 실행 프로그램이 커서 프로그램이 할당되지 못하여 사용되지 않고 남아있는 공간
내부 단편화
- 프로세스가 사용하는 메모리 공간에 남는 부분
- 주기억장치 내 사용자 영역이 실행 프로그램보다 커서 프로그램의 사용 공간을 할당 후 사용되지 않고 남아있는 공간
페이징, 페이지 교체
- 메인메모리와 하드디스크 사이의 페이지 교환 동작
1) OS가 참고하려는 페이지가 메인메모리에 없으면 하드디스크에 저장해둔 페이지를 참조해 가져옴
1-2) 빈 페이지 프레임에 새로운 페이지를 할당
2) 빈 공간이 없으면 기존에 저장된 페이지 하나를 꺼내 HDD에 저장하고 필요한 페이지를 바꾸어 넣음
페이지
- 가상메모리 공간을 일정한 크기로 나누어, 메인메모리와 하드디스크 사이에 한 번에 이동하는 단위
페이지 프레임
- 가상의 기억공간을 다룰 수 있도록 할당된 메인메모리 영역, 하드디스크의 페이지들 중 하나를 복사해 할당
- 여러 개의 페이지 프레임들이 존재
페이지 테이블
현재 관리되는 가상메모리의 모든 페이지와 메인메모리의 페이지 프레임과의 매핑 관계를 저장
스레싱
- 페이징 동작이 과도하게 일어나는 상태
- 프로세스의 처리 시간보다 페이지 교체에 소요되는 시간이 더 많아지는 현상
- 페이지 부재 (Page Fault)가 발생함으로써 나타남
- 페이지 교체가 너무 빈번하면 속도가 느린 디스크의 액세스 횟수가 늘어 처리속도가 급격히 떨어짐
- 메모리나 기타 시스템 자원이 고갈되어 필요한 연산을 수행하기에 너무 부족한 상태
페이지 교체 알고리즘