본문 바로가기

자격증/리눅스 마스터

리눅스 마스터 요약정리 #1-4 : 프로세스 개념 및 유형

728x90

1. 프로세스란

: CPU와 메모리를 할당받아 실행중인 프로그램

: 프로세스들마다 고유의 프로세스 ID, 즉 PID를 할당받는다

리눅스 프로세스 트리. 출처: https://slidesplayer.org/slide/11214656/

2. 프로세스의 유형

포어그라운드 프로세스 (Foreground Process)

: 사용자와 상호작용하는 프로세스

: 터미널에 직접 연결되어 입출력을 주고 받는 프로세스

: 명령 입력 후 수행 종료까지 기다려야하는 프로세스

: 화면에서 실행되는 것이 보이는 프로세스

: 예) 응용프로그램, 명령어 등

: fg %작업번호 (작업번호는 jobs 명령어로 확인가능)

 

백그라운드 프로세스 (Background Process)

:사용자와 직접적인 대화를 하지 않고 뒤에서 실행되는 프로세스

: 최상위 프로세스 init (PID: 1)

: 사용자의 입력에 관계없이 실행되는 프로세스

: 실행은 되지만 화면에 나타나지 않고 실행되는 프로세스

: 예) 시스템 프로그램, 데몬(Demon) 등

bg %작업번호&

 

데몬(Demon)

: 리눅스 시스템이 부팅 시 자동으로 실행되는 백그라운드 ㅡ로세스

: 메모리에 상주하면서 사용자의 특정 요청이 오면 즉시 실행되는 대기 중인 서버 프로세스

: 주기적이고 지속적인 서비스 요청을 처리하기 위해 사용

: 사용자들은 이 프로세스들을 볼 수 있는 권한이 없음

standalone inetd
- 데몬이 백그라운드에서 상시 대기하여 바로 요청처리
- 요청 시 바로 고속으로 처리
- 시스템 자원 많이 사용
- inetd의 확장 데몬인 xinetd의 요청이 있을 때만 동작
- 외부의 요청 시에만 저속으로 동작
- 리소스 소모가 적음


fork & exec

fork exec
- 새로운 프로세스를 만들 때 기존 프로세스를 복제
- 새로운 프로세스를 위한 메모리 할당
- 새로 생성된 프로세스는 원래의 프로세스와 똑같은 코드 有
- 원본 프로세스 = 부모 프로세스
- 복제 프로세스 = 자식 프로세스
-호출하는 프로세스가 새로운 프로세스로 변경
- 새로운 프로세스를 위한 메모리 할당 없음
- 호출한 프로세스의 메모리에 새로운 프로세스의 코드 덮어씌움

 

프로세스 상태 전이도. 출처: http://jangun.com/study/LINUX.html

 

728x90