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

프로세스(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

  • ASCII 파일이란? 바이너리와 차이

    ASCII 파일은 텍스트 파일을 의미합니다. 텍스트 파일인 아스키 파일은 문자, 숫자, 특수 기호 및 제어 문자 등을 포함할 수 있습니다. 목차1. 프로세스와 프로그램 차이2. 데몬(Daemon)3. 서비스(Service)✅ ASCII 파일 이해 리눅스에서 쉘 스크립트, 자바 스크립트, PHP 스크립트 파일 등을 포함한, ‘.txt’ 확장자와 같이 메모장으로 읽을 수 있는 파일을 ASCII 파일로 이해할 수 있습니다. ◼…

  • 아파치 서버 톰캣 서버 차이

    아파치 서버와 톰캣 서버는 아파치 소프트웨어 재단(Apache Software Foundation)에서 제공하는 제품입니다. 아파치 서버 톰캣 서버 차이점은 아파치 아파치(Apache) 서버는 HTTP 웹서버를 의미하며, 톰캣(Tomcat) 서버는 웹서버에서 동적인 페이지를 읽어 프로그램을 실행합니다. 목차1. 프로세스와 프로그램 차이2. 데몬(Daemon)3. 서비스(Service)아파치 서버란 무엇인가? 아파치 소프트웨어 재단(Apache Software Foundation)은 HTTP 웹 서버인 Apache를 만들었습니다. 월드 와이드 웹(World Wide Web)의…

  • Logging이란 무엇인가?

    Log의 사전적 의미는 “무엇인가를 기록하다.”의 의미를 가지고 있습니다. 리눅스를 포함한 OS의 애플리케이션에서 정보 제공을 하는 로그를 남기는 행위 자체가 Logging입니다. ‘Log’는 일반적으로 ‘기록’ 또는 ‘일지’를 의미합니다. 원래 ‘log’는 항해에서의 ‘항해 일지’나 ‘선박의 운항 기록’을 의미하는 단어였으며, 나무를 뜻하는 의미도 있었습니다. ‘Logbook’이라는 단어에서 알 수 있듯이, 이는 사건이나 상태를 일정 기간 동안 기록하는 책을…

  • 소프트웨어에서 릴리스(Release)란?

    “릴리스:(Release)“는 “풀어주다”, “풀어 놓는다” 및 “출시하다”라는 영단어에서 알 수 있듯이 제품 등을 공개하거나 출시할 때 많이 사용되며, 소프트웨어 개발에서 특정 버전이나 제품의 출시를 의미하는 용어로 가장 많이 사용됩니다. 목차1. 프로세스와 프로그램 차이2. 데몬(Daemon)3. 서비스(Service)✅ 소프트웨어 배포까지의 기본 과정 릴리즈는 소프트웨어의 특정 버전이나 제품의 출시를 의미하고, 배포는 이러한 릴리즈 된 소프트웨어가 사용자에게 전달되는 과정을…

  • 아이폰 사진 HEIC JPG 변환: 설정 방법 및 기존 사진 변환 방법

    아이폰에서 카메라 앱으로 사진을 찍었을 때 사진 확장자가 HEIC로 저장됩니다. 구글 드라이브나 네이버 MYBOX 등의 데이터 보관소로 업로드 한 사진을 윈도우 데스크탑으로 확인하면 사진을 다시 변환해야 하는 불편함이 생기게 됩니다. 아이폰 사진 HEIC JPG 변환하는 방법에 대해 알아 보겠습니다. ※ HEIC(High Efficiency Image Container) HEIC 확장자는 iPhone이나 iPad에서 사진을 찍을 때 저장되는 형식으로 고품질…

  • Binary(바이너리)란 무엇인가?

    Binary(바이너리)는 영어 단어 두 조각, 두 부분의 뜻을 가지고 있으며, 컴퓨터에서 주로 0과 1의 숫자로 이루어진 이진법을 의미합니다. 컴퓨터는 디지털 시스템으로서 0과 1 두 가지 값을 사용하여 데이터를 표현하고 처리합니다. 이러한 0과 1의 조합으로 이루어진 데이터를 이진 데이터라고 하며, 이러한 데이터 형태를 바이너리 데이터라고 합니다. 바이너리 데이터는 주로 컴퓨터에서 다양한 형태의 정보를 표현하는…

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

Prove your humanity: 3   +   6   =