sliver__

2.9 Building and Booting an Operation System 본문

CS/운영체제

2.9 Building and Booting an Operation System

sliver__ 2023. 10. 22. 13:44
728x90

Operating System Generation

 

Build and install OS

System generation은 system configuration의 파라미터 셋팅을 포함한다.

큰 차이점은 hardware configuration이 바뀔때이다. embedded system에서는 H/W configuration에 맞는 OS를 생성한다.

 

Build Linux system

위 과정을 거쳐 reboot 하면 새로운 OS가 깔린다.

 

Installation of Linux image to Virtual Machine

 

 

System Boot

 

Booting system에서 kernel이 로딩된다.

Steps of loading kernel

BIOS인 firmware에 small boot loader가 실행된다.

그러면 고정된 disk location에 존재하는 boot block에 있는 load된다.

그러면 boot block은 OS를 memory에 load하고 실행시킨다. 

최근 시스템은 BIOS-based boot process 대신 UEFI(Unified Extensible Firmware Interface)를 사용한다.

UEFI는 64bit system과 큰 disk를 제공한다.

UEFI는 Multistage BIOS boot process보다 빠르다.

BIOS, UEFI는 kernel을 memory에 loading 뿐만 아니라, memory & CPU & device가 정상인지 진단한다.

진단이 완료되면 booting을 계속해서 진행한다.

또한 system의 모든 측면에서의 초기화, CPU register 부터 device controller, main memory까지 검사한다.

그리고 OS와 root file system을 mount한다.

이 모든 과정은 UEFI, BIOS runnig 단계에서 일어난다.

 

GRUB는 Linux & UNIX system에서 open-soruce bootstrap program이다.

GRUB의 boot parameter는 시작 시 load되는 configuration file에 있다.

boot time parameter

BOOT_IMAGE : memory에 load되는 kernel 이름

root : root file system ID

 

Boot loader는 boot process 동안 일시적으로 RAM file system을 생성한다. (initramfs)

RAM file system은 root file sytstem에 실제로 필요한 kernel module과 driver를 포함한다.

kernel이 시작되고 필요한 driver 설치가 완료되면 kernel은 RAM file system에서 root file system으로 switch한다.

그리고 Linux는 systemd process를 생성하고 system process를 초기화하고 서비스를 시작한다. ( web server , database ... )

그리고 login prompt가 뜬다.

 

728x90

'CS > 운영체제' 카테고리의 다른 글

3.3 Operations on Processes  (1) 2023.11.01
3.2 Process Scheduling  (0) 2023.10.24
3.1 Process Concept  (0) 2023.10.23
2.10 Operating-System Debugging  (0) 2023.10.22
2.8 Operating System Structure  (0) 2023.10.22
Comments