: 커널 부팅이후, 실행되는 첫 프로세스.( 커널이 직접 실행시키는 유일한 프로세스. )
init은 부모 프로세스가 없고, init을 제외한 나머지 모든 프로세스의 조상.

( https://www.kernelpanic.kr/16 )
init실행 -> getty( get tty) : 터미널 준비 -> 사용자 로그인 -> 사용자 쉘 접근.
PID 1: init(systemd)
└─ getty (콘솔 제공) ,stdin/stdout 설정.
└─ login (인증)
└─ bash (쉘)
1개의 getty -> 1개의 login -> 다수의 쉘 가능.
적극적인 병렬처리 기능 ( 그래서 service를 등록할 때, 순서가 중요한 것이었다. )
소켓과 D-Bus 활성화
on-demand 데몬 실행
프로세스 트래킹
파일시스템 마운트 및 마운트 관리
의존성 기반의 서비스 컨트롤 로직
SysV init 스크립트에 대한 호환성
로깅 데몬 제공
기본적인 시스템 설정 컨트롤 유틸리티 제공
다양한 네트워크 관련 데몬



( https://www.kernelpanic.kr/16 )
: 실행된 Service는 항상 Init만 부모 프로세스로 가진다. 따라서, init이 서비스의 생명주기 및 모니터링을 관리.
참고로, systemctl이라는 유틸을 통해서 서비스의 상태를 모니터링 및 관리

( https://www.kernelpanic.kr/16 )
systemd-network: 네트워크 관리 서비스로, DHCP(동작 IP 할당) 작업, 와이파이 연결, 네트워크 브릿징 등의 다양한 기능을 제공한다.
systemd-udevd: 등록된 디바이스가 연결되면 동적으로 디바이스 노드를 만든다. 예를 들어서 usb를 연결하면 특정 폴더에 마운트 되도록 할 수 있다.
systemd-journald: 시스템 서비스와 커널 로그를 저장한다. 아래 2.5 유틸리티 제공 절에서 보다 상세히 다루었다.
systemd-timesyncd: 시스템 시간을 네트워크 시간과 동일하게 맞춰주는 서비스이다.
번외) dbus: 리눅스 IPC를 돕는 버스 서비스이다. systemd만의 고유한 서비스가 아님에도, freedesktop.org에서 systemd의 장점으로 넣었길래 일단 추가했다. (이유를 안다면 부디 알려주기를 바란다.) dbus는 오늘날 리눅스에서 가장 핵심적인 시스템 서비스 중 하나이기 때문에, 조만간 dbus를 주제로 포스트를 올릴 예정이다.

networkctl
: systemd-network 서비스를 사용하는 경우, networkctl을 이용해서 서비스를 모니터링
기타 api
sd-bus: dbus를 사용하기 위한 api를 제공한다. gdbus와 더불어 가장 많이 사용되는 dbus api 중 하나이다.
sd-event: C언어로 eventloop를 관리하는 것을 돕는 api이다. C로 간단한 event 기반 프로그래밍을 할 때 유용하다.
sd-journal: 시스템 로그 출력을 위한 api이다.