2012-01-20 4 views
0

프로세서가 백그라운드 프로세스 나 포어 그라운드 프로세스를 실행하는 방법이나 운영 체제가 스케줄링을 처리하는 방법에 차이가 있습니까? 배경과 전경 직업 사이에 프로세서 수준에서 차이가 없다면 어떤 단계에서 차이가 발생합니까?백그라운드 프로세스 대 Foreground 프로세스

+0

AFAIK 그들은 프로세서와 동일하며, 각각 일정을 얻습니다. 차이점은 사용자 프로세스없이 백그라운드 프로세스가 실행된다는 것입니다. –

답변

1

셸에서 새 백그라운드 프로세스를 만드는 것은 프로세서가 실행하는 방식과 아무 관련이 없습니다. 유일한 차이점은 쉘이 백그라운드 프로세스가 끝나기를 기다리지 않는다는 것입니다. 프로세스 생성을위한

코드 :
1) 포크 프로세스
2) 경우는 (& 기호는 명령의 끝에 존재는)
새로운 명령 다른
에게 아이의 PID에
대기를 받아 계속 .

유일한 차이점은 쉘이 백그라운드 프로세스의 우선 순위를 낮추는 지 여부입니다. 그 대답은 사용하는 쉘에 "의존"합니다. 그러나 나는 그러한 동적 인 우선 순위를 할당하는 기존 쉘을 모른다.

+0

터미널 및 프로세스 그룹을 제어하는 ​​데 몇 가지 문제가 있습니다. –

+0

@above에서 "터미널 및 프로세스 그룹"에 대해 자세히 설명해주십시오. –

+0

제어 터미널과 좋은 리눅스 프로그래밍 서적에 대한'execve'와'tty (4)'에 대한 매뉴얼 페이지를 읽으십시오. 예를 들어 http://www.advancedlinuxprogramming.com/과 http://basepath.com/aup/ –

관련 문제