Search

aos, ios 프로세스 회수 중요도

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

프로세스 회수 중요도

AOS와 iOS는 시스템 리소스를 관리하고 안정성을 보장하기 위해 백그라운드에서 실행 중인 프로세스를 정리합니다.
이 과정에서 시스템은 프로세스의 중요도를 기준으로 어떤 프로세스를 유지하고 어떤 프로세스를 종료할지 결정합니다.

AOS의 프로세스 회수 중요도

Android는 아래 값을 기반으로 프로세스 중요도를 계산합니다. 이 값은 프로세스 종료 우선순위를 나타내며, 중요도가 낮을수록 시스템에 의해 더 쉽게 종료됩니다.

프로세스 중요도 등급

1.
Foreground Process
사용자가 현재 상호작용 중인 프로세스입니다.
메모리 부족 상태에서도 절대 종료되지 않습니다.
2.
Visible Process
사용자가 직접 상호작용하지는 않지만, UI를 통해 보여지는 프로세스입니다.
Foreground만큼은 아니지만, 시스템에서 높은 우선순위를 부여받습니다.
3.
Service Process
백그라운드에서 중요한 작업(예: 음악 재생, 데이터 동기화)을 수행하는 프로세스.
서비스 프로세스는 메모리가 부족해지면 종료될 수 있지만, startForeground()로 우선순위를 높일 수 있습니다.
4.
Background Process
사용자가 상호작용을 끝낸 앱의 Activity가 저장된 상태.
ex) 최근 사용 앱 리스트에 나타나는 앱.
메모리 부족 시 우선적으로 종료됩니다.
5.
Cached Process
사용자가 더 이상 사용하지 않는 앱의 프로세스로, 메모리를 확보하기 위해 가장 먼저 종료됩니다.
캐시된 프로세스는 시스템 성능 최적화를 위해 필요 시 다시 불러올 수 있도록 유지됩니다.

Android 회수 기준

즉, Android는 메모리 부족 시 아래와 같은 순서로 프로세스를 종료합니다
Cached → Background → Service → Visible → Foreground

iOS의 프로세스 회수 중요도

iOS는 Android보다 단순합니다. iOS는 프로세스를 실행 상태에 따라 중요도를 결정합니다.

프로세스 중요도 등급

1.
Foreground App
사용자가 현재 상호작용 중인 앱.
ex) 화면에 열려 있는 앱.
시스템에서 가장 높은 우선순위를 가지며, 메모리 부족 시에도 종료되지 않습니다.
2.
Background App
제한된 시간 동안 작업을 수행할 수 있는 앱.
ex) 백그라운드 데이터 업로드, 음악 재생.
3.
Suspended App
메모리와 CPU를 사용하지 않는 앱.
메모리 부족 시 가장 먼저 종료됩니다.