메모리에 적재된 프로세스들 중, 현재 실행되지 않는 프로세스들을 임시로 보조기억장치 일부 영역으로 쫓아내고, 그렇게 해서 생긴 메모리상의 빈 공간에 또 다른 프로세스를 적재하여 실행하는 방식
스왑 영역(swap space) : 프로세스들이 쫓겨나는 보조기억장치의 일부 영역
스왑 아웃(swap-out) : 현재 실행되지 않는 프로세스가 메모리에서 스왑 영역으로 옮겨지는 것
스왑 인(swap-in) : 스왑 영역에 있던 프로세스가 다시 메모리로 옮겨오는 것
스와핑되면서 프로세스의 주소가 달라질 수 있음
[스왑 영역 확인하기]
- 유닉스와 리눅스, macOS에서는 free, top 명령어 등을 통해 스왑 영역의 크기를 확인
최초 적합(first fit) : 운영체제가 메모리 내의 빈 공간을 순서대로 검색하다가 적재할 수 있는 공간을 발견하면 그 공간에 프로세스를 배치하는 방식
최적 적합(best fit) : 운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간 중 가장 작은 공간에 프로세스를 배치하는 방식
최악 적합(worst fit) : 운영체제가 빈 공간을 모두 검색해 본 후, 프로세스가 적재될 수 있는 공간 중 가장 큰 공간에 프로세스를 배치하는 방식
p.400 - 1번 문제
- (최초 적합) : 최초로 발견한 적재 가능한 빈 공간에 프로세스를 배치하는 방식
- (최악 적합) : 프로세스가 적재될 수 있는 가장 큰 공간에 프로세스를 배치하는 방식
- (최적 적합) : 프로세스가 적재될 수 있는 가장 작은 공간에 프로세스를 배치하는 방식
메모리와 프로세스를 일정한 단위로 자르고, 이를 메모리에 불연속적으로도 할당
페이지를 프레임에 할당하는 가상 메모리 관리 기법 → 페이징
외부 단편화는 발생 예방
페이지에서도 스와핑을 할 수 있음
→ 한 프로세스를 실행하기 위해 프로세스 전체가 메모리에 적재될 필요가 없음,
프로세스를 이루는 페이지 중 실행에 필요한 일부 페이지만을 메모리에 적재, 당장 실행에 필요하지 않은 페이지들은 보조기억장치에 남김
논리 주소 <페이지 번호(page number), 변위(offset)>는 페이지 테이블을 통해 물리 주소 <프레임 번호, 변위>로 변환됨
-프로세스를 메모리에 적재할 때 처음부터 모든 페이지를 적재하지 않고 필요한 페이지만을 메모리에 적재하는 기법
페이지 교체 알고리즘을 제대로 이해하려면, 페이지 참조열(page reference string) 을 통해 페이지 폴트 횟수를 알 수 있어야 함
프로세스가 사용할 수 있는 프레임이 3개 있고, 페이지 참조열이 '2313523423' 일 때 LRU 페이지 교체 알고리즘으로 이 페이지를 참조한다면 몇 번의 페이지 폴트가 발생하는지 풀어보기 (p.430 그림과 설명 참고)