IT 프로그래밍/객체지향프로그래밍

[오픈소스소프트웨어] 7.2 Linux 부팅 과정

기술1 2024. 10. 12. 21:56
반응형

 

 

BIOS POST -> GRUB 실행 -> Kernel 실행 -> systemd 프로세스 동작

 

시스템에 문제가 없는지 BIOS POST에서 합니다. 윈도우를 쓰던 리눅스를 쓰던 하드웨어에 관련된 것이기 때문에 BIOS POST를 합니다. 

 

GRUB실행은 리눅스에 필요한 다양한 OS의 Kernel을 찾아서 메모리에 적재하고 실행시키는 것입니다.

 

Kernel은 /boot에 kernel 및 관련 데이터가 존재하며, 메모리에 kernel 구조를 형성하고 systemd 프로세스를 기동합니다.

 

systemd 프로세스 동작

  • systemd : 처음 실행되는 프로세스이며 추후 모든 프로세스를 생성하는 부모 프로세스임
  • /etc/fstab 파일을 읽고 파일시스템들을 마운트 시킴
  • /etc/systemd/system/default.target를 읽고 지정된 모드를 실행함

Linux 런레벨

런레벨(runlvel)은 리눅스 시스템의 동작 모드를 의미함

 

7개(0-6)의 런레벨이 존재하며 부팅시 하나의 런레벨이 선택되어 동작함

 

 런레벨 3 또는 5가 디폴트임

 

런레벨 3 : full multi-user text mode (CLI 모드)

 

런레벨 5 : full multi-user graphical mode (GUI 모드)

 

리눅스 런레벨의 종류

 

Linux 종료

GUI 상에서는 

GNOME의 전원 버튼 아이콘을 이용해서 종료

 

shutdown 명령으로 종료하기

shutdown[option][time][message]

  • shutdown 16:30 - 16:30에 종료
  • shutdown +30 - 30분 뒤에 종료
  • shutdown -r now - 지금 종료하고 리부트
  • shutdown -r 17:30 - 17:30분데 종료하고 리부트
  • shutdown -c : 에정된 종료를 취소
  • shutdown -k + 5 : 5분 뒤 종료된다는 메세지만 전송하고 실제로 종료는 하지 않음

리눅스 종료 리부트

reboot [option]

  • reboot -p : 시스템 종료
  • reboot -f : 강제로 재부팅
  • reboot : 즉시 재부팅
  • halt 명령 : 시스템을 종료하나 power를 종료하지는 않음

시스템 모니터링 관련 명령

짧은 시간 내에 시스템의 자원 및 상황을 파악하기 위한 핵심 명령어들

  • uptime
  • demsg | tail
  • vmstat 1
  • mpstat
  • pidstat 1
  • top

uptime

시스템 부하 상태를 보여주는 명령

  • 현재 시각
  • 컴퓨터 시작후 컴퓨터 부팅

dmesg

  • 부팅 이후 출력된 모든 커널 메시지를 출력함
  • 최근 것만 확인하려면 dmesg | tail 사용

 

vmstat

  • 동작중인 프로세스들과 메모리 상태, 입출력 등에 대한 정보를 알려준다.
  • 정보 갱신 주기를 인자로 지정할 수 있다. 예) $vmstat 1 : 1초마다 정보 갱신

mpstat -P ALL 1

  • 프로세스 관련 정보를 출력함
  • 정보 출력 갱신 주기를 인자로 지정
  • 출력 : CPU의 점유율 

TOP

실행중인 프로세스들에 대한 정보를 보여줍니다.

출력정보

  • 현재시각, UPTIME과 LOAD 평균, 로그인한 사용자의 수
  • 프로세스의 수, 상태별 프로세스의 수
  • 모드별 cpu 점유 비율

us, sy, ni, id, wa, hi, si, st

 

 

반응형