목차
프로세스 스와핑이란?
프로세스 스와핑은 운영체제에서 메모리 관리 기법 중 하나로, 한정된 물리적 메모리를 효율적으로 사용하기 위해 메모리에 적재된 프로세스를 디스크로 이동시키고, 필요할 때 다시 메모리로 불러오는 작업을 말합니다.
프로세스 스와핑은 모바일 환경에서는 일반적으로 발생하지 않습니다. 대신 물리적 메모리가 부족할 경우, 프로세스 우선순위에 따라 우선순위가 낮은 프로세스를 종료시킵니다.
aos, ios 프로세스 회수 중요도
주요 개념
목적
•
메모리 부족 문제를 해결하기 위해.
•
실행 중인 프로세스의 수를 늘려 CPU 활용도를 극대화
작동 방식
•
실행 중이지 않은 프로세스를 디스크의 스왑 공간으로 이동
•
메모리가 필요하면 디스크에서 다시 불러옴
스왑 공간
•
디스크에 특정 영역을 할당하여, 메모리에서 내려온 프로세스를 임시로 저장하는 공간
조건
•
스와핑은 CPU와 디스크 I/O를 사용하기 때문에 상대적으로 느립니다
•
자주 발생하면 성능 저하를 초래하는 스래싱문제가 발생할 수 있음
프로세스 스와핑의 단계
1.
메모리 부족 감지
•
운영체제가 물리적 메모리가 부족하다고 판단
2.
프로세스 선택
•
메모리에서 내려보낼 프로세스를 선택
◦
보통 최소 우선순위 프로세스 또는 오래 실행되지 않은 프로세스를 선택
3.
디스크로 이동
•
선택된 프로세스를 디스크의 스왑 공간으로 이동
•
이동 시 현재 상태(레지스터, 변수 등)를 저장
4.
메모리 공간 확보
•
스왑된 프로세스가 차지하던 메모리 공간을 다른 프로세스가 사용
5.
재진입
•
스왑된 프로세스가 다시 필요하면 디스크에서 메모리로 복원