프로세스 (Process)
프로세스는 메모리에 적재되어 CPU에 의해 실행되는 컴퓨터 프로그램을 지칭한다. 각 프로세스는 고유한 프로세스 ID(PID)를 가지며, 운영체제는 프로세스 간의 자원 공유를 관리한다.
예를 들어, 웹 브라우저를 실행하는 경우 브라우저라는 프로그램은 하나의 프로세스로 실행되는 것이다.
그리고 프로세스는 눈에 보이는 프로세스(foreground process) 와 눈에 보이지 않은 프로세스(background process) 로 구분된다.
포그라운드 프로세스 | 백그라운드 프로세스 |
사용자와 상호작용하는 프로세스 | 프로세스는 사용자와 상호작용하지 않고 시스템에서 실행되는 프로세스 |
최소화를 하더라도 눈에 보이는 프로세스를 포그라운드 프로세스 | 눈에 보이지 않지만 뒤에서 일을 하고 있는 프로세스를 백그라운드 프로세스 |
인터넷, 카카오톡, 메모장, 그림판 등 눈에 보이는 프로그램 | 백신 프로그램, 그래픽 드라이버, 마이크 드라이버 등 눈에 보이지 않는 프로그램 |
데몬(Daemon)
리눅스 시스템이 처음 가동될 때 실행되는 백그라운드 프로세스의 일종으로
메모리에 상주하면서 특정 요청이 오면 즉시 대응 할 수 있도록 대기 중인 프로세스를 말한다.
데몬의 이름은 고대 그리스어로 "귀신" 또는 "정령"을 의미하는 단어에서 유래했다.
데몬은 사용자가 직접 제어하지 않고도 시스템 리소스를 관리하고 작업을 수행한다는 점에서
귀신이나 정령과 유사하다고 여겨졌다.
보통 시스템 부팅 시 자동으로 시작되며, 사용자가 로그인하지 않은 상태에서도 계속 실행되어
시스템의 효율성과 안정성을 향상 시키므로 데몬은 종종
네트워크 서비스, 파일 시스템 관리 및 시스템 보안을 제공하는 데 사용된다.
일반적인 예로는 웹 서버, 데이터베이스 서버, 로그 서버, 프린트 서버 등이 있다.
데몬은 일반적으로 별도의 구성 파일을 사용하여 동작 방식을 설정할 수 있으며,
시스템 로그에 작업 로그를 기록하기도 한다.
이러한 데몬들을 Linux에서는 service 파일로 설정하여 실행하고 있으며, systemd라는 프로세스가 관리한다.
일반적으로 데몬 프로세스는 systemd, syslogd, httpd, sshd, named 처럼 프로세스 이름 마지막에 d가 붙는다.
같은 의미인 service를 붙이기도 함.
서비스 명 | 데몬 명 | 정의 |
Linux 슈퍼데몬 | xinetd | Linux 내 여러 서비스를 한번에 관리 |
File Transfer Protocol | vsftpd | File을 전송하는 서비스 |
Secure Shell Service | sshd | 암호화 원격 작업이 가능한 서비스 |
Network File System | nfs | Network 를 이용하여 FileSystem 을 공유하는 서비스 |
Domain Name Service | named | IP와 Domain 을 mapping 시켜주는 서비스 |
Web Service | httpd | Browser 를 이용하여 웹 문서 페이지를 출력시킬 수 있는 서비스 |
Database Management | mysqld | DB를 관리하는 서비스 |
Mail Service(send) | sendmail | mail을 전송할 수 있는 서비스 |
서비스(Service)
서비스(Service)"란 단어는 "윈도우 운영체제"에서 주로 사용됐던 단어이다.
윈도우 OS와 함께 시작되어 계속 실행되는 백그라운드 프로세스"란 의미로 "데몬(Daemon)과 거의 비슷하다.
서비스 != 백그라운드프로세스
- 백그라운드 프로세스라는 점에서 서비스는 백그라운드 프로세스 범주 안에 들어가지만 둘이 같다고 할 순 없음.
- 백그라운드 프로세스는 작업이 완료되면 사라지지만, 서비스는 계속 실행되는 백그라운드 프로세스라는 차이가 있음.
서비스와 데몬이 같은 말 ?
- 데몬(daemon)과 서비스(service)" 둘 다 "부팅 때 자동으로 켜지고 계속 백그라운드에서 실행되는 프로세스"라는 의미
- 유닉스/리눅스에선 데몬, 윈도우에선 "서비스"라고 했었지만, 요즘은 99% 같은 의미로 양측(유닉/리눅스와 윈도우)모두에서 사용
- 비슷한 개념이지만 운영체제 외에 사용처에도 차이점이 있는데, 데몬은 일반적으로 서버에서 주로 사용되고, 서비스는 다른 프로그램이나 서비스를 지원하기 위해 실행된다.
- ↑ 데몬은 시스템에서 독립적으로 실행되고, 서비스는 시스템의 상태를 모니터링하고, 백그라운드에서 실행되는 애플리케이션을 제어하고, 작업을 수행하는 등의 역할 지원하는데 초점이 맞춰져 있다는 뜻! 하지만 이들 용어는 종종 상호교환적으로 사용되기도 하며, 컴퓨터 시스템에서 다양한 역할을 수행하므로, 구체적인 용어 해석은 사용되는 컨텍스트에 따라 달라질 수 있다
출처 :
'STUDY > SERVER OS' 카테고리의 다른 글
[Linux] 쉘과 쉘스크립트(.sh)에 대하여 (0) | 2023.10.13 |
---|---|
[Linux] su / su - / sudo 명령어 차이 (0) | 2023.10.13 |
[Ubuntu] jar 서비스(service) 등록·확인·시작·중지·재시작 방법 (0) | 2023.10.05 |
[Linux][Unix] 기본명령어 (0) | 2023.09.08 |
[Windows] 기본 명령어 (0) | 2023.09.07 |