리눅스 시스템의 부팅 과정
전원 ON -> 바이오스 단계 -> 부트 로더 단계 -> 커널 초기화 단계 -> systemd 서비스 단계 -> 로그인 프롬프트 출력
바이오스 단계: PC에 장착된 기본적인 하드웨어의 상태를 확인한 후 부팅 장치를 선택하여 로딩
부트 로더 단계: 여러 운영체제 중에서 부팅할 운영체제를 선택할 수 있도록 메뉴를 제공하고 리눅스 커널을 메모리에 로딩
커널 초기화 단계: 시스템에 연결된 장치들을 검사
systeemd 서비스 단계: 기존의 init 스크립트를 대체한 것으로 다양한 서비스를 동작
init 프로세스: 처음 생성되는 프로세스로서 PID 1번이다. 디렉터리들의 관리 정보를 통해서 순차적으로 필요한 프로세스들을 생성한다.
- systemd로 대체된다.
리눅스를 종료하는 방법
- shutdown 명령 사용
- half 명령 사용
- poweroff 명령 사용
- 런 레벨을 0이나 6으로 전환
- reboot 명령 사용
- 전원을 끔
shutdown 명령어: 리눅스를 종료한다.
ex) sudo shutdown -h +2 “system is going down in 2 min" // -h 옵션과 함께 2분 뒤로 지정
데몬 프로세스
데몬: 리눅스의 백그라운드에서 동작하며 특정한 서비스를 제공하는 프로세스
데몬의 동작 방식
독자형: 시스템의 백그라운드에서 서비스별로 항상 동작
슈퍼 데몬:, 서비스 요청이 오면 슈퍼 데몬이 해당 데몬을 동작 시킴.
- 유닉스에서 슈퍼데몬의 이름은 inetd이며 우분투에서는 보안 기능이 포함된 xinetd를 사용
데몬의 조상: systemd와 커널 스레드 데몬
systemd 데몬: 대부분 프로세스의 조상 프로세스이며 pstree 명령으로 확인 가능
주요 데몬
atd: 특정 시간에 실행하도록 예약한 명령 실행 (at 명령으로 예약)
crond: 주기적으로 실행하도록 예약한 명령 실행
httpd: 웹 서비스 제공
sshd: 원격 보안 접속 서비스 제공
ftpd: 파일 송수신 서비스 제공
'대학교 2학년 1학기 > 리눅스 프로그래밍' 카테고리의 다른 글
원격 접속과 FTP (0) | 2022.06.23 |
---|---|
소프트웨어 관리 (0) | 2022.06.23 |
프로그램 개발 도구 (0) | 2022.06.23 |
사용자 관리 (0) | 2022.05.20 |
쉘 스크립트 프로그래밍 (2) (0) | 2022.05.19 |