기본개념인듯하면서 매번 헷갈리는 개념입니당
데몬, 프로세스, 쓰레드의 차이점을 ChatGPT의 도움을 받아서 정리해보았습니다.
이해하는데 도움을 받을 수는있지만 정확한 정보는 ChatGPT보다는 직접 찾아보는게 좋겠죠?ㅎ
데몬(Daemon) | 프로세스(Process) | 쓰레드(Thread) | |
정의 | 백그라운드에서 실행되며, 시스템 서비스와 같이 지속적으로 동작하는 프로세스. 주로 서버나 시스템에서 특정 작업을 수행하기 위해 실행됨. | 실행 중인 프로그램의 인스턴스로, CPU에서 실행 중인 작업 단위. 사용자나 시스템에 의해 시작됨. | 프로세스 내에서 실행되는 경량 작업 단위로, 하나의 프로세스 안에서 여러 스레드가 병렬로 실행됨. |
실행위치 | 백그라운드에서 자동으로 실행되며, 사용자와 직접적인 상호작용 없이 동작함. | 사용자 또는 시스템에 의해 실행되며, 메모리에서 독립적으로 실행됨. | 프로세스의 메모리와 자원을 공유하며, 동일한 프로세스 내에서 실행됨. |
시작방법 | 시스템 부팅 시 자동으로 시작되거나, 특정 이벤트에 의해 실행됨. | 사용자가 프로그램을 실행하거나 시스템에서 특정 작업을 요청할 때 생성됨. | 프로세스가 실행되는 동안 내부적으로 여러 스레드가 생성됨. |
종료시점 | 시스템이 종료되거나 명시적으로 종료될 때까지 실행됨. | 작업이 완료되면 종료되거나, 사용자가 명시적으로 종료할 수 있음. | 프로세스가 종료되면 해당 프로세스 내 모든 스레드가 종료됨. |
자원사용 | 다른 프로세스와 독립된 메모리 공간을 사용하지만, 백그라운드에서 작동하며 리소스 소모가 적음. | 각 프로세스는 독립된 메모리 공간과 자원을 사용함. 시스템 자원을 많이 소비할 수 있음. | 스레드는 동일 프로세스 내에서 메모리와 자원을 공유하므로 자원 소모가 적음. |
주요목적 | 주로 시스템 서비스, 로그 기록, 모닡터링 등 지속적인 작업을 수행하기 위해 사용됨. | 사용자가 실행하는 애플리케이션 또는 시스템에서 특정 작업을 처리하는데 사용됨. | 병렬 처리나 동시에 여러 작업을 수행하기 위해 사용됨. |
결론!!
(데몬 Vs 프로세스)
프로세스는 실행 중인 프로그램을 의미합니다.
데몬도 일종의 프로세스입니다.
모든 데몬은 프로세스입니다. 하지만 모든 프로세스가 데몬은 아닙니다.
(프로세스 Vs 쓰레드)
프로세스는 독립적인 실행 단위입니다.
쓰레드는 각 프로세스 내에서 실행되는 작은 작업 단위입니다.
즉 쓰레드는 프로세스의 일부로 존재하는 것입니다.
'IT잡지식' 카테고리의 다른 글
[Linux] su / su - / sudo 명령어 차이 (0) | 2023.01.12 |
---|---|
virbr0 인터페이스 삭제 (0) | 2023.01.12 |
VirtualBox에서 USB 사용하는 법 (0) | 2023.01.09 |