(참고) Foreground process vs Background process

무거운엉덩이·2022년 7월 29일
1

Docker

목록 보기
3/6
[ Foreground process vs Background process ]



foreground-background는 스케줄링 알고리즘인데 이를 사용하는 이유는 하나의 단일 프로세서로 다중 프로세스의 동작을 제어하기 위해서이다.

foreground-background는 두 개의 waiting list를 기반으로 이해할 수 있다.

우선 두 개의 waiting list 중에서 첫 번째 list를 foreground라고 부르고
두 번째 list를 background라고 부른다.


그 이유는 모든 프로세스는 생성이 되면 초기에 foreground로 가기 때문이며, foregound에서 실행 시간을 사용한 후에 모든 프로세스는 background로 옮겨지기 때문이다.

기존에 존재하는 프로세스 대신에 새로운 프로세스를 생성하고 그것을 A 프로세스라고 가정하면 A 프로세스는 생성이 되자마자 그 즉시 foreground에서 실행 시간에 맞게 동작하기 위한 준비를 하면서 그와 동시에 강제로 이전 프로세스를 중지하고 background로 옮긴다.

background list로 옮겨진 프로세스들은 오직 foreground list가 비어있을 때 동작한다.

foreground-background 알고리즘의 장점은 새롭게 생성된 프로세스에게 그 즉시 실행하기 위한 기회를 주는 것이다.

profile
즐겁게 몰두하자. ^-^!

0개의 댓글