[Kernel of Linux] System Call

이 ν¬μŠ€νŒ…μ€ 고건 κ΅μˆ˜λ‹˜μ˜ Kernel of Linux κ°•μ˜λ₯Ό 보고 μ •λ¦¬ν•œ κΈ€μž…λ‹ˆλ‹€.
ν•΄λ‹Ή κ°•μ˜λŠ” olc에 곡유돼 있으며 https://github.com/Bookstore3/Linux-Kernel-Lecture-Note κ°•μ˜ λ…ΈνŠΈλ₯Ό 톡해 λ‚΄μš©μ„ 곡뢀해도 μ’‹μŠ΅λ‹ˆλ‹€.
κ³΅λΆ€ν•˜λ©΄μ„œ μ •λ¦¬ν•œ κΈ€μ΄λ―€λ‘œ 쒋은 쑰언도 ν•¨κ»˜ λ‚¨κ²¨μ£Όμ‹œλ©΄ 맀우 κ°μ‚¬ν•˜κ² μŠ΅λ‹ˆλ‹€ :)

 

OSλŠ” ν•˜λ“œμ›¨μ–΄ μžμ›(CPU, Memory, Disk..)듀을 κ΄€λ¦¬ν•˜κ³  μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨λ“€μ΄ λ„μ›Œμ§ˆ 수 μžˆλ„λ‘ μ§€μ›ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€.

 

OS의 ꡬ성 μš”μ†Œ

  • 컀널은 OSμ—μ„œ 항상 λ©”λͺ¨λ¦¬μ— μƒμ£Όν•΄μžˆλŠ” μΌμ’…μ˜ C ν”„λ‘œκ·Έλž¨μ΄λ‹€.
  • μœ ν‹Έλ¦¬ν‹°λŠ” μ»€λ„κ³ΌλŠ” λ°˜λŒ€λ˜λŠ” 의미λ₯Ό κ°€μ§€λŠ”λ° OS의 λ””μŠ€ν¬μ— μƒμ£Όν•΄μžˆλŠ” κ²ƒμœΌλ‘œ μœ μ €κ°€ μš”μ²­ν•΄μ•Ό(=ν•„μš”ν•  λ•Œλ§Œ) 올라였게 λœλ‹€. 즉 μ»€λ§¨λ“œλΌκ³  λΆ€λ₯Έλ‹€.
  • μ‰˜μ€ μœ ν‹Έλ¦¬ν‹°μ˜ μΌμ’…μœΌλ‘œ ν”„λ‘œκ·Έλž¨μ΄ μ˜¬λΌμ˜€λŠ” 것을 ꡐ톡 μ •λ¦¬ν•˜λŠ” 역할을 λ‹΄λ‹Ήν•œλ‹€. μ‰˜μ΄ ꡐ톡 μ •λ¦¬ν•œλ‹€λŠ” μ˜λ―ΈλŠ” μ‚¬μš©μžκ°€ λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜λ©΄ 이λ₯Ό OS에 μ „λ‹¬ν•˜λŠ”λ° μ–Έμ œ λ©”λͺ¨λ¦¬μ— 올리고 내리고 μ΄λŸ¬ν•œ λͺ¨λ“  일듀을 κ΄€λ¦¬ν•œλ‹€λŠ” μ˜λ―Έμ—μ„œμ΄λ‹€.
  • νŒŒμΌμ€ λ°”μ΄νŠΈλ“€μ˜ 배열을 λœ»ν•œλ‹€. I/O λ””λ°”μ΄μŠ€λ„ νŒŒμΌμ΄λ‹€.

컀널, μ‰˜, μœ ν‹Έλ¦¬ν‹°μ˜ 상관관계

  • λΆ€νŒ…μ„ ν•˜λ©΄ 제일 처음 컀널이 μ˜¬λΌμ˜¨λ‹€.
  • μ‚¬μš©μžκ°€ 터미널을 μ ‘μ†ν•˜μ—¬ μ‰˜μ΄ 메인 λ©”λͺ¨λ¦¬μ— 올라였고 μ‚¬μš©μžμ˜ μ»€λ§¨λ“œλ₯Ό λŒ€κΈ°ν•œλ‹€.
  • μ‚¬μš©μžκ°€ μ»€λ§¨λ“œλ₯Ό μž…λ ₯ν•˜λ©΄ μ‰˜μ΄ μ»€λ§¨λ“œμ— λ§€ν•‘λœ μœ ν‹Έλ¦¬ν‹°λ₯Ό λ””μŠ€ν¬μ—μ„œ κ°€μ Έμ™€μ„œ μ‹€ν–‰ν•œλ‹€. 

 

λΆ€νŒ… 과정에 λŒ€ν•΄μ„œ μžμ„Ένžˆ μ‚΄νŽ΄λ³΄μžλ©΄

  • 전원 곡급
    • λ©”μΈλ³΄λ“œμ—μ„œ Reset 벑터λ₯Ό 톡해 CPUκ°€ BIOSλ₯Ό ν˜ΈμΆœν•œλ‹€.
    • 전원이 κ³΅κΈ‰λ˜λ©΄μ„œ λ©”μΈλ³΄λ“œμ— μžˆλŠ” λ‹€μ–‘ν•œ ꡬ성 μš”μ†Œλ“€μ΄ μ΄ˆκΈ°ν™”λ˜λŠ”λ° μ΄λ•Œ CPU도 μ΄ˆκΈ°ν™”λ˜λ©΄μ„œ '리셋 벑터'라고 λΆˆλ¦¬λŠ” νŠΉμ •ν•œ μ§€μ μœΌλ‘œ 이동해 μ§€μ •λœ λͺ…λ Ήμ–΄ 싀행을 μ‹œμž‘ν•œλ‹€.
    • CPUλŠ” λΆ€νŒ… 직후 Real ModeλΌλŠ” 맀우 μ œν•œλœ ν™˜κ²½μ—μ„œ μž‘λ™ν•˜λŠ”λ°, 이 λͺ¨λ“œμ—μ„œλŠ” λ©”λͺ¨λ¦¬μ˜ 1MBκΉŒμ§€λ§Œ μ ‘κ·Όν•  수 μžˆλ‹€.  μ΄λ•Œ 1MB μ˜μ—­μ˜ λ§ˆμ§€λ§‰ μ£Όμ†ŒλŠ” 0xFFFFFFFF 이닀.
    • 전원이 λ“€μ–΄μ˜¨ 직후 CPUλŠ” EIP(Extended Instruction Pointer)라고 λΆˆλ¦¬λŠ” λ ˆμ§€μŠ€ν„°λ₯Ό 톡해 0xFFFFFFF0μ΄λΌλŠ” μ£Όμ†Œλ‘œ μ ν”„ν•˜λŠ”λ° λ°”λ‘œ 이 μ£Όμ†Œκ°€ λ¦¬μ…‹ 벑터이닀.
  • BIOS
    • BIOS λ˜λŠ” UEFIλŠ” ν•˜λ“œ λ“œλΌμ΄λΈŒ, SSD, USB λ“œλΌμ΄λΈŒ λ“±μ—μ„œ λΆ€νŒ… κ°€λŠ₯ν•œ μž₯치λ₯Ό μ„ νƒν•œλ‹€. 일반적으둜 ν•˜λ“œ λ“œλΌμ΄λΈŒ λ˜λŠ” SSD에 μžˆλŠ” λΆ€νŠΈ λ‘œλ”λ‘œ μ΄λ™ν•œλ‹€.
  • λΆ€νŠΈ λ‘œλ”
    • λΆ€νŠΈλ‘œλ”λŠ” 운영 체제λ₯Ό μ‹œμž‘ν•˜κΈ° 전에 μ‹€ν–‰λ˜λŠ” μž‘μ€ ν”„λ‘œκ·Έλž¨μœΌλ‘œ, ν•˜λ“œμ›¨μ–΄μ™€ 운영 체제 μ‚¬μ΄μ—μ„œ 닀리 역할을 μˆ˜ν–‰ν•œλ‹€.
    • λΆ€νŠΈλ‘œλ”μ˜ κΈ°λ³Έ κΈ°λŠ₯: μ»΄ν“¨ν„°κ°€ λΆ€νŒ…λ˜λ©΄, λΆ€νŠΈλ‘œλ”λŠ” ν•˜λ“œ λ“œλΌμ΄λΈŒμ—μ„œ 운영 체제λ₯Ό μ°Ύκ³ , 이λ₯Ό λ©”λͺ¨λ¦¬λ‘œ λΆˆλŸ¬μ™€ μ‹€ν–‰ν•  μ€€λΉ„λ₯Ό ν•˜λ©° GRUB은 λ¦¬λˆ…μŠ€ μ‹œμŠ€ν…œμ—μ„œ κ°€μž₯ 널리 μ‚¬μš©λ˜λŠ” λΆ€νŠΈλ‘œλ”μ΄λ‹€.
    • GRUB의 μ£Όμš” μž‘μ—…: GRUB은 컀널을 λ©”λͺ¨λ¦¬λ‘œ λ‘œλ“œν•˜κ³ , κ·Έ ν›„ μ‹œμŠ€ν…œ μ œμ–΄κΆŒμ„ 컀널에 λ„˜κ²¨μ€€λ‹€.
    • GRUB Stage 1
      • μœ„μΉ˜: GRUB Stage 1은 ν•˜λ“œ λ””μŠ€ν¬μ˜ MBR(λ§ˆμŠ€ν„° λΆ€νŠΈ λ ˆμ½”λ“œ) λ˜λŠ” VBR(λ³Όλ₯¨ λΆ€νŠΈ λ ˆμ½”λ“œ)에 μ €μž₯λ˜μ–΄μžˆλ‹€.
      • μ—­ν• : μ»΄ν“¨ν„°κ°€ μΌœμ§€λ©΄ BIOSλŠ” λ¨Όμ € MBR을 읽고 μ—¬κΈ°μ—μ„œ GRUB Stage 1을 μ‹€ν–‰ν•œλ‹€. Stage 1은 맀우 μž‘κ³  λ‹¨μˆœν•œ μ½”λ“œλ‘œ λ‹€μŒ 단계인 Stage 1.5둜 λ„˜μ–΄κ°€λŠ” 역할을 μˆ˜ν–‰ν•œλ‹€.
    • GRUB Stage 1.5
      • μœ„μΉ˜: Stage 1.5λŠ” MBRκ³Ό ν•˜λ“œ λ””μŠ€ν¬μ˜ 첫 번째 νŒŒν‹°μ…˜ 사이에 μžˆλŠ” λͺ‡ 개의 블둝에 μ €μž₯λ˜μ–΄ μžˆλ‹€.
      • μ—­ν• : Stage 1.5λŠ” GRUB의 Stage 2λ₯Ό λ‘œλ“œν•˜κΈ° μœ„ν•΄ ν•„μš”ν•œ 파일 μ‹œμŠ€ν…œ λ“œλΌμ΄λ²„μ™€ μ„€μ • νŒŒμΌμ„ μ€€λΉ„ν•œλ‹€. 이 λ‹¨κ³„μ—μ„œ core.imgλΌλŠ” 파일이 λ©”λͺ¨λ¦¬μ— λ‘œλ“œλ˜λŠ”λ° 이 νŒŒμΌμ€ λ‹€μ–‘ν•œ 파일 μ‹œμŠ€ν…œμ„ 읽을 수 μžˆλŠ” λ“œλΌμ΄λ²„μ™€ μ„€μ • 정보λ₯Ό ν¬ν•¨ν•˜κ³  μžˆλ‹€.
    • GRUP Stage 2 
      • μœ„μΉ˜: Stage 2λŠ” /boot/grub 디렉토리에 μ €μž₯λ˜μ–΄ μžˆλŠ” νŒŒμΌμ„ 읽어듀인닀.
      • μ—­ν• : Stage 2λŠ” λ¦¬λˆ…μŠ€ 컀널(예: vmlinuz)의 압좕을 ν’€μ–΄μ„œ λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•˜κ³  초기 λž¨λ””μŠ€ν¬(initrd λ˜λŠ” initramfs)λ₯Ό λ‘œλ“œν•œλ‹€. 이 λž¨λ””μŠ€ν¬μ—λŠ” 컀널이 λΆ€νŒ…ν•˜λŠ” λ™μ•ˆ ν•„μš”ν•œ λ“œλΌμ΄λ²„μ™€ λͺ¨λ“ˆμ΄ λ“€μ–΄μžˆλŠ”λ° 컀널이 λ©”λͺ¨λ¦¬μ— μ™„μ „νžˆ λ‘œλ“œλ˜λ©΄, GRUB은 μ œμ–΄κΆŒμ„ μ»€λ„λ‘œ λ„˜κΈ΄λ‹€. 이후 컀널이 μ‹œμŠ€ν…œμ˜ λ‚˜λ¨Έμ§€ λΆ€νŒ… 과정을 μ²˜λ¦¬ν•˜κ²Œ λœλ‹€.
  • 컀널 λ‘œλ“œ
    • 컀널과 RAM λ””μŠ€ν¬ λ‘œλ“œ
      • λΆ€νŠΈλ‘œλ”κ°€ 컀널 파일(vmlinux-2.6.26-2-686)κ³Ό 초기 RAM λ””μŠ€ν¬(initrd.img-2.6.26-2-686)λ₯Ό λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•œλ‹€. RAM λ””μŠ€ν¬λŠ” 컀널이 λΆ€νŒ… 초기 λ‹¨κ³„μ—μ„œ ν•„μš”ν•œ λ“œλΌμ΄λ²„μ™€ νŒŒμΌμ‹œμŠ€ν…œμ„ ν¬ν•¨ν•œ μž„μ‹œ 파일 μ‹œμŠ€ν…œμ΄λ‹€.
    • 컀널 μ‹€ν–‰ 및 ν•˜λ“œμ›¨μ–΄ 점검
      • 컀널이 λ©”λͺ¨λ¦¬μ—μ„œ μ‹€ν–‰λ˜λ©΄ μš°μ„ μ μœΌλ‘œ ν•˜λ“œμ›¨μ–΄λ₯Ό μ κ²€ν•˜λ©΄μ„œ μ‹œμŠ€ν…œμ— μ—°κ²°λœ λͺ¨λ“  μž₯μΉ˜κ°€ μ˜¬λ°”λ₯΄κ²Œ μž‘λ™ν•˜λŠ”μ§€ ν™•μΈν•œλ‹€. ν•˜λ“œμ›¨μ–΄ μ κ²€μ˜ κ²°κ³ΌλŠ” /var/log/dmesg νŒŒμΌμ— 기둝되며 이 νŒŒμΌμ—λŠ” λΆ€νŒ… 쀑에 λ°œμƒν•œ λͺ¨λ“  μ΄λ²€νŠΈμ™€ λ©”μ‹œμ§€κ°€ μ €μž₯λœλ‹€.
    • 루트 파일 μ‹œμŠ€ν…œ 마운트
      • 컀널은 루트 파일 μ‹œμŠ€ν…œ(/)을 읽기 μ „μš©μœΌλ‘œ λ§ˆμš΄νŠΈν•œλ‹€. 이 단계가 μ‹€νŒ¨ν•˜λ©΄ μ‹œμŠ€ν…œμ΄ 계속 λΆ€νŒ…λ˜μ§€ μ•Šκ³  "컀널 νŒ¨λ‹‰"μ΄λΌλŠ” 크리티컬 μ—λŸ¬ λ©”μ‹œμ§€λ₯Ό 좜λ ₯ν•œλ‹€. 컀널 νŒ¨λ‹‰μ€ μ‹œμŠ€ν…œμ΄ 더 이상 진행할 수 μ—†λŠ” μ‹¬κ°ν•œ λ¬Έμ œμ΄λ‹€.
    • swapper ν”„λ‘œμ„ΈμŠ€ (PID 0번)
      • 컀널은 λΆ€νŒ… κ³Όμ •μ—μ„œ swapperλΌλŠ” 첫 번째 ν”„λ‘œμ„ΈμŠ€(PID 0번)λ₯Ό μ‹œμž‘ν•œλ‹€. swapperλŠ” μ‹œμŠ€ν…œμ˜ μž₯치 λ“œλΌμ΄λ²„λ“€μ„ μ΄ˆκΈ°ν™”ν•˜κ³ , μ‹œμŠ€ν…œμ˜ μ „λ°˜μ μΈ μžμ› 관리λ₯Ό λ‹΄λ‹Ήν•˜λŠ” 기본적인 μž‘μ—…μ„ μˆ˜ν–‰ν•œλ‹€. 이 과정이 λλ‚˜λ©΄ swapperλŠ” init ν”„λ‘œμ„ΈμŠ€(PID 1번)λ₯Ό μ‹œμž‘ν•œλ‹€.
  • Init
    • /sbin/initν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰λ˜λ©΄μ„œ /etc/inittabνŒŒμΌμ„ 읽어 μˆœμ„œμ— 따라 μ‹œμŠ€ν…œμ„ μ΄ˆκΈ°ν™”ν•œλ‹€.

 

λ¦¬λˆ…μŠ€λŠ” λ©€ν‹° μœ μ € μ‹œμŠ€ν…œμ΄λ―€λ‘œ λ³΄μ•ˆμ— λ”μš± 신경써야 ν•˜λ©° μžμ›μ„ μ΅œμ†Œν•œ μ€„μ—¬μ„œ 써야 효율적으둜 μ“Έ 수 μžˆλ‹€.

λ§Œμ•½ λ‹€λ₯Έ μœ μ €κ°€ λ‚΄κ°€ μ‚¬μš©ν•˜κ³  μžˆλŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό read/write ν•˜λŠ” 것을 λŒ€λΉ„ν•˜κΈ° μœ„ν•΄ 사전 μ˜ˆλ°©μ„ ν•΄μ•Ό ν•œλ‹€.

μ΄λŸ¬ν•œ 상황을 μ˜ˆλ°©ν•˜κΈ° μœ„ν•΄ μ‚¬μš©μžκ°€ μ»€λ„μ—κ²Œ I/Oλ₯Ό ν•  수 μžˆλ„λ‘ ν•¨μˆ˜λ₯Ό μ‚¬μš©ν•˜μ—¬ 뢀탁을 ν•˜λŠ”λ° 이 방식을 μ‹œμŠ€ν…œ 콜이라고 λΆ€λ₯΄λŠ” 것이닀.

 

μœ μ € λͺ¨λ“œμ—μ„œ I/O와 같은 μ€‘μš” μž‘μ—…μ„ μ‹œλ„ν•˜λ €κ³  ν•˜λ©΄ CPUλ₯Ό 뺏겨 버린닀. 그러면 μš°λ¦¬λŠ” μ–΄λ–»κ²Œ μ½”λ“œμ—μ„œ printfλ₯Ό 톡해 좜λ ₯값을 λ„μΆœν•  수 μžˆλŠ” 것인가?

μ‹€μ œλ‘œ μš°λ¦¬κ°€ μ½”λ“œμ—μ„œ μˆ˜ν–‰ν•˜λŠ” λ‚΄μš©μ€ μ†ŒμŠ€ μ½”λ“œ μžμ²΄μ—μ„œλ§Œ μˆ˜ν–‰λ˜λŠ” 것이고 λ°”μ΄λ„ˆλ¦¬ νŒŒμΌμ—μ„œλ„ 직접적인 I/O λͺ…λ Ήμ–΄κ°€ μ—†λ‹€.

 

  • printfλ₯Ό ν˜ΈμΆœν•˜λ©΄, μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨μ€ CPU에 I/O μž‘μ—…μ„ μš”μ²­ν•œλ‹€.
  • 이 μš”μ²­μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄, CPUλŠ” λͺ¨λ“œ λΉ„νŠΈλ₯Ό λ³€κ²½ν•˜κ³  μ‚¬μš©μž ν”„λ‘œκ·Έλž¨μ˜ μ œμ–΄κΆŒμ΄ μ»€λ„μ—κ²Œ λ„˜μ–΄κ°„λ‹€. (Trap μΈν„°λŸ½νŠΈ λ°œμƒ!)
  • 컀널은 write() μ‹œμŠ€ν…œ μ½œμ„ μ²˜λ¦¬ν•˜κ³ , ν‘œμ€€ 좜λ ₯(예: 터미널)에 데이터λ₯Ό 좜λ ₯ν•œλ‹€.
  • μž‘μ—…μ΄ λλ‚˜λ©΄ CPUλŠ” λ‹€μ‹œ μ‚¬μš©μž λͺ¨λ“œλ‘œ μ „ν™˜λœλ‹€.

 

즉 ν”„λ‘œκ·Έλž¨μ€ μœ μ € λͺ¨λ“œμ™€ 컀널 λͺ¨λ“œμ˜ μ „ν™˜μ˜ 반볡이라고 λ³Ό 수 μžˆλ‹€!

ν•¨μˆ˜κ°€ 호좜되고 λ¦¬ν„΄λ˜κ³ ..의 κ³Όμ •μ—μ„œ 지역 λ³€μˆ˜λ“€μ„ 미리 λ©”λͺ¨λ¦¬μ— 담아두지 μ•Šκ³  μž„μ‹œλ‘œ λ©”λͺ¨λ¦¬μ— 두고 μ‚­μ œν•˜λŠ” ꡬ쑰둜 μ €μž₯ν•˜κ²Œ λλŠ”λ° 이 λ•Œ μ‚¬μš©ν•˜λŠ” 데이터 ꡬ쑰가 μŠ€νƒμ΄λ‹€.

μŠ€νƒμ—λŠ” μ§€μ—­λ³€μˆ˜μ™€ λŒμ•„κ°ˆ μ£Όμ†Œλ„ ν•¨κ»˜ Push λ˜λŠ”λ° ν”„λ‘œκ·Έλž¨μ€ μœ μ € λͺ¨λ“œμ™€ 컀널 λͺ¨λ“œλ₯Ό μ „ν™˜ν•˜λ©° λ°˜λ³΅λ˜λ―€λ‘œ μœ μ € μŠ€νƒ, 컀널 μŠ€νƒμ΄ κ°œλ³„μ μœΌλ‘œ μ‘΄μž¬ν•œλ‹€.

 

λ¦¬λˆ…μŠ€μ˜ Man의 숫자의 의미

  • 1 μ»€λ§¨λ“œ
  • 2 μ‹œμŠ€ν…œ 콜
  • 3 라이브러리 ν•¨μˆ˜

 

printf("hello world")

λ©€ν‹°μœ μ € μ‹œμŠ€ν…œμ€ 보호돼있기 λ•Œλ¬Έμ— μœ μ €λ‹¨μ—μ„œ 좜λ ₯μ΄λΌλŠ” ν–‰μœ„λ₯Ό μ§μ ‘μ μœΌλ‘œ ν•  수 μ—†λ‹€.

λͺ¨λ“  IO 라이브러리 ν•¨μˆ˜λ“€μ€ μ‹œμŠ€ν…œμ½œμ„ ν•΄μ•Όν•˜λŠ”λ° μ΄λ•Œ ν•„μš”ν•œ κΈ°λŠ₯은 μ‹œμŠ€ν…œ μ½œμ΄λ‹€.

즉 System Callμ΄λž€ Userκ°€ μ»€λ„μ˜ function을 ν˜ΈμΆœν•˜λŠ” 행동을 μ˜λ―Έν•œλ‹€.

 

컀널 μ•ˆμ˜ λͺ¨λ“  ν•¨μˆ˜λŠ” 이름이 sys

 

μœ μ € λͺ¨λ“œ <-> 컀널 λͺ¨λ“œκ°„μ˜ μƒν˜Έ μž‘μš©μ΄ ν™œλ°œν•œλ° 미리 λ©”λͺ¨λ¦¬μ— μ €μž₯ν•˜λŠ” κ΅¬μ‘°λŠ” μƒλ‹Ήνžˆ λΉ„νš¨μœ¨μ μ΄λ‹€.

λ”°λΌμ„œ λ©”λͺ¨λ¦¬μ— λ„£κ³  κ²½μš°μ— 따라 μ‚­μ œν•˜κΈ° νŽΈν•œ Stack ꡬ쑰λ₯Ό ν™œμš©ν•˜λŠ” 것이닀.

 

 

μ°Έκ³ 


https://velog.io/@begoodlife/Linux-%EB%B6%80%ED%8C%85-%EA%B3%BC%EC%A0%95

 

Linux λΆ€νŒ… κ³Όμ •

λ¦¬λˆ…μŠ€ λΆ€νŒ… κ³Όμ • 0단계 : μ‹œμŠ€ν…œ 전원 곡급 νŒŒμ›Œλ²„νŠΌμ„ 톡해 전원이 κ³΅κΈ‰λ˜λ©΄, λ©”μΈλ³΄λ“œλŠ” 리셋벑터λ₯Ό 톡해 CPUκ°€ BIOS μ½”λ“œλ₯Ό ν˜ΈμΆœν•˜λ„λ‘ ν•œλ‹€. λͺ¨λ“  Intel CPU듀은 전원 곡급 직후 초기 λΆ€νŒ… λ•Œ Real

velog.io

https://blog.naver.com/wndrlf2003/70180014401

 

μž„λ² λ””λ“œ 14μ£Όμ°¨(1)( λΆ€νŠΈλ‘œλ”, 리셋벑터, 컀널이미지 μ‹€ν–‰κ³Όμ • 및 μ’…λ₯˜)

    > μž„λ² λ””λ“œ 14μ£Όμ°¨(1) β”” μ ‘κΈ°  

blog.naver.com