Skip to content

Latest commit

 

History

History
42 lines (36 loc) · 2.5 KB

daemon-process.md

File metadata and controls

42 lines (36 loc) · 2.5 KB

데몬(Daemon) 프로세스

: 사용자가 직접적으로 제어하지 않고, 백그라운드에서 돌면서 여러 작업을 하는 프로세스를 말한다.

  • Init 프로세스를 부모로 두고 있고, 제어하는 터미널이 없는 프로세스를 칭한다.

    맥스웰이 언급한 보이지 않는곳에서 분자들을 골라주는 유령에서 영감을 받아 이런 이름이 만들어졌다고 한다.

    • fork후 부모는 바로 종료되며, fork된 자식은 Init의 자식으로 입양된다. → fork off and die

특징

  • 일반적으로 데몬을 뜻하는 ‘d’를 이름 끝에 달고있고 프로세스 방식으로 실행된다.

    httpd, syslogd, ftpd

  • 네트워크, 하드웨어 요청에 응답하거나 프로그램에 반응하는 기능을 한다.

    대부분 시스템 관련된 작업을 하는 경우가 많아 시스템이 가동될 때 같이 실행되기도 한다.

  • 종류에는 apache, ftpd, telnet 등등이 있다.

일반 Daemon

  • 백그라운드에서 작동한다.
  • 평소에 메모리에 상주하지만, CPU을 할당받지 않고 (idle 상태) 호출될 경우에만 작동한다.
  • 사용자가 직접 제어하지 않는다.

Internet Super Daemon

: 다른 데몬들을 관리하는 데몬이다.

  • 데몬들이 항상 메모리에 상주하는것은 자원 낭비이다.

    필요할떄만 메모리에 적재 할 수 없을까? 이를 위해 Internet Super Daemon이 필요하다.

  • 슈퍼 데몬에 의해 관리되는 데몬들은, 필요한 경우에만 메모리에 적재 된다.

데몬의 두가지 실행모드

standalone, xinetd

Stand alone

: 독립적으로 실행되는 모드이다.

  • 항상 메모리에 상주한다. → 메모리 점유로 인한 부하가 있다.

    부팅할때 자동적으로 같이 실행되는 데몬 등...

  • 요청이 있을때 언제나 응답이 가능하므로, 빠른 응답이 가능하다.
  • 슈퍼 데몬도 Standalone모드이다.
  • 대표적으로는 apache데몬, mysql데몬, sendmail데몬 이 있다.

Xinted(eXtended Internet Service Daemon)

: 슈퍼 데몬에 의해서 관리되는 방식의 모드이다.

  • 평소에 메모리에 상주해있지 않는다. → 필요한 경우에만 메모리에 적재되어 자원 낭비를 줄인다.
  • 응답속도는 상대적으로 느리다.
  • 대표적으로는 Telnet 데몬, ftp 데몬, shell 데몬이 있다.

    요청이 들어오면 대기하고 있던 슈퍼데몬이 Telnet데몬을 불러와 서비스를 제공한다.