728x90
반응형
SMALL

*이기적 영진닷컴 Youtube Link - https://www.youtube.com/watch?v=32lSCBb32Ms&list=PL6i7rGeEmTvp_MYm0zuiFe7COrM3endfu&index=14

 

프로그램 프로세스

소스코드로 작성된 CPU를 할당받지 않은 것을 프로그램

프로그램이 실행되기 위해서 CPU나 메모리를 할당받은 것을 프로세스

현재 실행중인 프로그램이 프로세스

프로세들마다 고유의 프로세스 ID(PID)를 할당 받는다.

 

일반적으로 시스템이 부팅되면 가장 먼저 실행되는 프로세스가 init이다

아이디는 1이다.

이 프로세스에 의해서 다른 프로세스들이 호출이 되는 구조

 

프로세스 유형에는 프로그라운드 프로세스와 백그라운드 프로세스로 나눈다.

포그라운드 프로세스 화면에서 실행되는 것이 보이는 프로세스 (워드 프로세스, 계산기 등 어플리케이션) 

백그라운드 프로세스는 화면에서 실행되는 것이 보이지 않는 뒤에서 시스템을 운영하기 위해서 일반적으로 돌아가는 프로세스 (네트워크이나 밑단에서 돌아가고 있는 프로그램들)

 

포그라운드는 사용자와 상호작용하는 프로세스

터미널에 직접 연결해서 입출력을 주고 받는 프로세스

 

백그라운드 프로세스는 사용자와 직접 대화하지 않고 뒤에서 실행되는 프로세스

사용자의 입력과 무관하게 실행되는 프로세스

 

fork() 함수

사용자가 새로운 프로세스를 생성하기 위해서 사용하는 시스템 호출 함수

새로운 프로세스를 생성할 때 기존 프로세스를 복제하는 방식을 사용

원본 프로세스는 그대로 있고 새로운 프로세스가 또 하나 만들어진다.

새로운 프로세스를 위한 메모리를 할당을 하고 작업이 진행이 된다.

원본 프로세스를 부모 프로세스라고 하고 새로 복제된 프로세스를 자식 프로세스라기 이야기 한다.

메모리도 다르지만 소스 코드는 동일하다.

 

exec() 함수

호출하는 프로세스가 새로운 프로세스로 변경되는 방식

기존 프로세스는 사라지고 새로운 프로세스가 생성되는 방식으로 프로세스를 만든다

기존 프로세스의 메모리를 그대로 새로운 프로세스가 할당받아 사용하는 개념

덮어 씌우는 개념

새로운 프로세스를 위해서 메모리를 할당한다고 하지는 않는다.

 

데몬(Daemon)

시스템을 부팅하면 자동적으로 실행되는 백그라운드적 프로세스

메모리에 상주하면서 사용자의 요청을 즉각 즉각 처리해주는 서버 프로세스

일반 사용자들은 이 프로세스에 대한 권한이 없고

root 권한을 가진 사용자만이 데몬을 실행하거나 정지시킬 수 있다.

- standalone daemon: 독립적으로 운영되는 데몬, 누군가에 의해서 실행되는 것이 아니라 해당 프로그램이 항상 메모리에 상주하면서 점유율이 높은 경우에 독립적으로 구동이 되서 실행되는 데몬들. HTTPD 등이 대표적인 standalone daemon

- inetd daemon: 슈퍼데몬, 가장 메인이 되는 데몬, 해당 데몬을 실행함으로써 그 밑에 여러가지 종속되어 있는 서비스들을 동시에 구동이 가능. 하나의 데몬을 실행을 시키면 그와 관련된 의존적인 데몬들을 동시에 실행. Telnet, FTP 등은 Super daemon이 구동이 되어야 실행이 될 수 있는 데몬들.

메인이 되는 데몬, 핵이 되는 데몬을 슈퍼 데몬이라고 한다.

 

감사합니다.

728x90
반응형
LIST

+ Recent posts