。゚(*´□`)゚。

코딩의 즐거움과 도전, 그리고 일상의 소소한 순간들이 어우러진 블로그

강의/DevOps Linux

[DevOps-Linux] 6. 프로세스와 서비스- 1.프로세스 개념

quarrrter 2023. 7. 7. 20:34

프로세스의 의미

리눅스의 프로세스

리눅스의 서비스 


프로세스 

어떤 일의 절차 or 흐름 

순서에 따라 일 하는 것

 

컴퓨터 운영체제 - 프로세스 

프로세스 : 컴퓨터 운영체제에서 실행 중인 프로그램을 의미

일의 과정과 유사한 면이 있음.

시작과 끝이 존재하고 여러 단계를 거쳐 작업이 수행됨.

필요한 자원(도구, 인력 등)을 할당 받아 작업을 수행하고 작업이 끝나면 자원을 반환함. 

 

리눅스 - 프로세스 

프로세스: 실행 중인 프로그램의 인스턴스

하드웨어를 기반으로한 시스템 리소스(메모리, CPU 시간 등)를 할당받고, 부모-자식 계층 구조를 형성한다.

고유한 ID번호를 부여받는다. (PID process ID)

다양한 도구를 사용하여 프로세스를 모니터링하고 관리함.

 

 

프로세스 / 프로그램

프로그램
실행 파일
SSD, HDD(보조 기억 장치)에 저장되어 있는 파일


메모리(주기억장치) RAM
주기억장치라고 부르는 메모리 RAM에 고대로 복사가 되는데 이 상태를 프로세스다, 포르세스의 인스턴스다 라고 부름.
프로그램이 여러개 실행되면 인스턴스를 여러개 생성해서 멀티프로세싱을 지원한다

프로세스는 메모리에 올라가있는 상태에서 cpu를 통해 처리가 됨. 프로그램안에 있는 명령어들이 cpu를 통해 동작한다
실행된 결과가 인스턴스에 임시 저장됨. 

프로세스 실행에 주로 필요한 자원
=> 컴퓨팅 리소스 , 자원 (cpu + 메모리)
cpu: 각 프로세스 별로 cpu를 통해 시간적인 자원 
메모리: 프로그램이 메모리에 올라가기 위한 준비상태 공간적인 자원 
=> 운영체제에 의해 할당됨 

OS에 의한 프로그램이 실행되면 ...

 

프로세스의 부모/자식 관계

프로세스가 있으면 

다른 프로세스를 생성할수있음 

부모프로세스에 의해 생성된 프로세스는 자식프로세스임 .

자식이 종료되면 부모가 다시 받게되는 구조. 

 

shell 프로그램이 실행되면 여러가지 명령을 실행할수있음

부모 : bash shell 

ls 명령을 내리면 실행될때 

자식: ls라는 프로세스가 실행됨 부모는 홀딩되고 자식실행하고 종료되면 부모로 복귀 

 

bash 에서 ls 명령을 실행한다는것

bash에 의해 ls프로세스가 생성된다. 

 

 

프로세스의 계층 구조 

 init 프로세스 (systemd) : 정점에 있는 , 모든 프로세스의 시작

시스템 부팅시 가장 처음 시작, 시스템에서 동작하는 모든 프로세스의 부모 프로세스

 

PID : 모든 프로세스는 ID 값을 갖는다. systemd의 PID는 1

 

 

프로세스의 종류 

사용자(User)프로세스 : 사용자가 직접 실행하는 프로그램이나 명령어

데몬(Daemon)프로세스 : 시스템 내부에서 부팅되면 계속 도는 프로세스, 서버 역할

 

고아(Orphan)프로세스 : 부모프로세스가 먼저 종료되고 남게 된 프로세스 

좀비(Zombie)프로세스 : 종료되었지만 프로세스의 자원을 계속 차지하고 있는 경우

 

시스템프로세스 : 시스템 초기화, 메모리 관리 등 OS 핵심 기능 수행. ex)init(systemd) 등

커널스레드 : OS 커널 레벨에서 관리 

 

 

프로세스 관리의 의미

(동작 중인 리눅스 시스템에서)

1. 필요에 따라 프로세스를 생성하고 제거하는 것

2. 어떤 프로세스가 어떤 상태인지 아는 것

3. 실행 중인 프로세스에 대한 자원을 조정하는 것

 

=> 한정된 시스템의 자원을 효율적으로 사용하기 위해