프로세스,데몬,서비스 차이점

프로세스(Process)는 컴퓨터에서 메모리에 적재되어 CPU에 의해 실행되는 컴퓨터 프로그램(Program)을 말 합니다.

1. 프로세스와 프로그램 차이

먼저 프로그램은 어떤 작업을 위해 실행할 수 있는 파일을 의미합니다. 파일 시스템에 존재하는 실행 파일이 프로그램입니다. 윈도우 PC에 설치되어 있는 크롬, 원노트, 엑셀, 카카오톡 등의 파일들이 프로그램입니다.

윈도우 크롬에서 확인한 프로세스

프로세스는 프로그램 실행 후 CPU를 차지하면서 수행하는 수행 주체입니다. Program 자체에는 생명이 없으며, 보조 기억장치(하드디스크, SSD)에 존재하며 실행되기를 기다리는 명령어(코드)와 정적인 데이터의 묶음입니다. Program의 명령어와 정적 데이터가 메모리에 적재되면 동적인 Process가 됩니다.

Process는 실행 중인 프로그램으로 정의할 수 있습니다.

리눅스 ps -ef 명령어로 윈도우처럼 프로세스를 확인할 수 있습니다.

ps 명령어로 프로세스 확인

2. 데몬(Daemon)

데몬은 백그라운드에서 실행되는 프로그램이며, 사용자가 직접 제어하지 않고 여러 작업을 하는 프로그램입니다.

도깨비나 유령을 뜻하는 데몬(daemon)이란 이름은 MIT의 MAC 프로젝트 프로그래머들이 만들었습니다. 이후 유닉스 시스템에서 이 용어를 받아 들였습니다. 리스 신화에서도 신들이 관여하지 않는 일을 처리하는 데몬이 등장하는데, 이는 사용자가 직접 신경쓰지 않도록 하면서 백그라운드에서 일을 처리해 주는 데몬의 역할과 맞아 떨어졌습니다.

Daemon은 항상 돌아가고 있어야 하기 때문에 웹서버에 적합하며 대표적으로 Apache 웹서버의 httpd가 대표적인 Daemon 프로그램입니다. Daemon은 백그라운드에서 실행되고 서버로 들어오는 요청에 자동으로 응답 해 줍니다.

httpd, sshd, inetd 등 d로 끝나는 프로세서들이 대표적인 Daemon입니다.

3. 서비스(Service)

리눅스에서는 데몬으로 부르는 것이 윈도우에서는 서비스(Service)로 부른다고 보면 됩니다.

서비스는 백그라운드에서 실행되는 응용 프로그램입니다.

윈도우 작업관리자-서비스(리눅스에서는 데몬으로)
콘텐츠 내 광고 및 제휴 링크가 포함될 수 있으며, 파트너스 활동으로 일정액의 수수료를 받을 수 있습니다.

Similar Posts