[프로세스] 포그라운드와 백그라운드

Yeoonnii·2023년 3월 4일
1

CS

목록 보기
2/4
post-thumbnail

프로세스(Interactive Process) 란?

프로세스는 터미널 세션에서 사용자의 지시에 의해 초기화된다.

그리고 이 프로세스는 포그라운드(foreground)백그라운드(background) 두 가지 중 하나의 형태로 동작된다.

포그라운드(foreground)

포그라운드는 터미널에 직접 연결된 것으로 터미널과 입출력을 주고받는 프로세스이다.
프로세스가 포그라운드로 실행되는 동안에는 터미널에서 입력 등의 작업을 할 수가 없다.

포그라운드 작업(foreground job)

사용자가 입력한 명령이 실행되어 결과가 출력될 때까지 기다리는 방식으로 처리되는 작업을 의미한다.

ex. 터미널에서 작업할 때 일반적으로 사용자가 명령을 입력하면 셸이 그 명령을 해석하여 실행하고 결과를 화면에 출력한다.
사용자는 화면에 출력된 결과를 봐야 다시 명령을 입력할 수 있는 대화식으로 작업을 수행한다.

포그라운드 프로세스

포그라운드 작업방식으로 처리되는 프로세스

포그라운드 모드로 실행되는 프로세스는 키보드 입력을 받을 수 있고, 화면에 출력을 할 수 있다.

쉘은 포그라운드로 실행중인 프로세스가 종료되기를 기다렸다가, 종료하면 다시 쉘 프롬프트를 보여주며 명령 대기 상태가 된다.

백그라운드(background)

백그라운드는 프로세스가 실행되는 동안에도 터미널에서 작동을 받아들인다.

이에 대해 프로세스의 실행이 멈춘 상태로 대기하는 경우를 서스펜드(suspend)라고 한다.

백그라운드 작업(background job)

사용자가 입력한 명령이 끝나는것과 상관없이 곧바로 프롬프트가 출력되어 다른 작업을 진행할 수 있는 작업

백그라운드 프로세스

백그라운드 작업방식으로 처리되는 프로세스

백그라운드로 프로세스를 실행시키면 쉘은 백그라운드 프로세스의 종료 여부에 관계없이 즉시 명령 대기 상태가 되어 다른 명령을 받아들일 준비를 갖춘다.

0개의 댓글