Search
moon
sun

프로세스 스와핑

class
운영체제 심화
상태
완료
날짜
목차

프로세스 스와핑이란?

프로세스 스와핑은 운영체제에서 메모리 관리 기법 중 하나로, 한정된 물리적 메모리를 효율적으로 사용하기 위해 메모리에 적재된 프로세스를 디스크로 이동시키고, 필요할 때 다시 메모리로 불러오는 작업을 말합니다.
💡
프로세스 스와핑은 모바일 환경에서는 일반적으로 발생하지 않습니다. 대신 물리적 메모리가 부족할 경우, 프로세스 우선순위에 따라 우선순위가 낮은 프로세스를 종료시킵니다. aos, ios 프로세스 회수 중요도

주요 개념

목적
•
메모리 부족 문제를 해결하기 위해.
•
실행 중인 프로세스의 수를 늘려 CPU 활용도를 극대화
작동 방식
•
실행 중이지 않은 프로세스를 디스크의 스왑 공간으로 이동
•
메모리가 필요하면 디스크에서 다시 불러옴
스왑 공간
•
디스크에 특정 영역을 할당하여, 메모리에서 내려온 프로세스를 임시로 저장하는 공간
조건
•
스와핑은 CPU와 디스크 I/O를 사용하기 때문에 상대적으로 느립니다
•
자주 발생하면 성능 저하를 초래하는 스래싱문제가 발생할 수 있음

프로세스 스와핑의 단계

1.
메모리 부족 감지
•
운영체제가 물리적 메모리가 부족하다고 판단
2.
프로세스 선택
•
메모리에서 내려보낼 프로세스를 선택
◦
보통 최소 우선순위 프로세스 또는 오래 실행되지 않은 프로세스를 선택
3.
디스크로 이동
•
선택된 프로세스를 디스크의 스왑 공간으로 이동
•
이동 시 현재 상태(레지스터, 변수 등)를 저장
4.
메모리 공간 확보
•
스왑된 프로세스가 차지하던 메모리 공간을 다른 프로세스가 사용
5.
재진입
•
스왑된 프로세스가 다시 필요하면 디스크에서 메모리로 복원