Linux

Linux 부팅 프로세스

Joon0464 2024. 5. 7. 18:50

Linux 부팅 프로세스


모던 리눅스에서 소개되는 리눅스 부팅 프로세스에 대해 자세하게 설명하고자 합니다. 
리눅스의 부트 프로세스는 일반적으로 하드웨어와 커널이 함께 동작하는 여러 단계의 작업으로 구성됩니다.
컴퓨터의 전원이 켜진 순간부터 리눅스 운영체제가 완전히 시작될 때까지 아래의 일련의 단계로 구성됩니다.

1단계: BIOS/UEFI

컴퓨터의 전원이 켜지면 BIOS(Basic Input/Output System) 또는 UEFI(Unified Extensible Firmware Interface)가 활성화됩니다. 이 펌웨어 소프트웨어는 하드웨어를 초기화하고 전원 켜기 자가 진단(POST / Power On Self Test)을 수행하여 컴퓨터의 기본 하드웨어가 제대로 작동하는지 확인합니다.

2단계: 부트로더

BIOS/UEFI에 의해 선택된 부팅 가능 장치로부터 부트로더가 제어를 넘겨받습니다. 리눅스에서는 주로 GRUB(GRand Unified Bootloader) 또는 LILO(LInux LOader) 같은 부트로더가 사용됩니다.

3단계: 커널 초기화

커널은 하드웨어와 소프트웨어 간의 상호 작용을 관리하는 시스템의 핵심 부분으로, 메모리에 로드되어 자체를 초기화하고 하드웨어 장치를 설정하며 파일 시스템을 마운트합니다.

4단계: 루트 파일 시스템 마운트

커널 초기화 후, 커널은 루트 파일 시스템을 읽기 전용 모드로 마운트하여 실제 파일 시스템을 사용할 준비를 합니다.

5단계: init 프로세스 실행

루트 파일 시스템을 성공적으로 마운트한 후, 커널은 /sbin/init 프로그램을 실행합니다. 이 프로세스는 시스템의 첫 번째 프로세스(PID 1)가 되어 시스템의 다른 모든 프로세스의 부모 역할을 합니다.

6단계: 런레벨/타겟 초기화

시스템은 정의된 런레벨 혹은 타겟에 따라 다양한 서비스와 프로세스를 시작합니다. 예를 들어, 'graphical.target'은 GUI를 포함한 전체 시스템을 시작합니다. 이 단계에서는 네트워킹, 사용자 인터페이스, 시스템 로깅, 스케줄링 서비스 등 다양한 백그라운드 서비스가 시작됩니다.

7단계: 로그인 프롬프트 제공

모든 서비스가 시작되면, 리눅스 시스템은 로그인 프롬프트를 제공합니다. 사용자는 텍스트 기반 로그인 또는 그래픽 사용자 인터페이스(GUI)를 통해 시스템에 로그인할 수 있습니다. GUI 환경에서는 애플리케이션을 실행하고 시스템을 사용할 수 있습니다.

8단계: 사용자 세션 시작

사용자가 성공적으로 로그인하면, 사용자의 세션을 시작하고 사용자 환경을 로딩합니다. 이는 사용자가 설정한 데스크탑 환경이나 윈도우 매니저를 포함할 수 있습니다. 이제 사용자는 파일을 관리하고, 애플리케이션을 실행하고, 시스템 자원을 사용할 준비가 완료됩니다.


 

여기까지 리눅스 부팅 프로세스에 대해 간략하게 알아보았습니다. 각 단계는 시스템이 안정적으로 운영되고 필요한 모든 자원과 서비스가 올바르게 구성되도록 보장하는 데 중요합니다. 리눅스 배포판과 구성에 따라 부팅 프로세스는 약간 다를 수 있지만, 기본적인 흐름은 대체로 비슷할 것입니다.

'Linux' 카테고리의 다른 글

Linux systemd 완전 정복하기  (1) 2024.05.07
Linux 접근 제어 목록(ACL) 이란?  (0) 2024.05.03
Linux seccomp 프로필과 접근제어목록(ACL)이란?  (0) 2024.05.03
Linux Capability 란?  (1) 2024.05.02
RUID EUID SUID 란?  (0) 2024.05.02