ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 블둝(PCB)

2023. 3. 18. 15:32ㆍCS/CS μŠ€ν„°λ””

ν”„λ‘œμ„ΈμŠ€ μ œμ–΄ 블둝(Process Control Block)μ΄λž€

OSκ°€ ν”„λ‘œμ„ΈμŠ€λ“€μ˜ 관리λ₯Ό μœ„ν•΄ μ‚¬μš©ν•˜λŠ” 정보λ₯Ό μ €μž₯ν•˜λŠ” ꡬ쑰체이닀.

OSλŠ” λ‹€μˆ˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‚¬μš©μžμ—κ²Œ λ™μ‹œμ— μ œκ³΅ν•˜κΈ° μœ„ν•΄

ν˜„μž¬ μ‹€ν–‰ 쀑인 ν”„λ‘œμ„ΈμŠ€μ˜ 정보λ₯Ό μ•Œκ³  μžˆμ„ ν•„μš”κ°€ μžˆλŠ”λ°, PCBκ°€ κ·Έ 역할을 ν•˜κ²Œλ˜λŠ” 것이닀.

 

PCB μ €μž₯ μš”μ†Œ

PCB에 μ €μž₯λ˜λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ 정보듀은 λ‹€μŒκ³Ό κ°™λ‹€.

  1. PID: 각 ν”„λ‘œμ„ΈμŠ€κ°€ κ°–λŠ” 고유의 ID κ°’
  2. ν”„λ‘œμ„ΈμŠ€ μƒνƒœ: ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰ 쀑, λŒ€κΈ° 쀑, 정지 μƒνƒœμΈμ§€λ₯Ό λ‚˜νƒ€λ‚΄λŠ” 정보
  3. λ ˆμ§€μŠ€ν„° μƒνƒœ: λ ˆμ§€μŠ€ν„°λž€ CPU 내뢀에 μ‘΄μž¬ν•˜λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μƒνƒœλ₯Ό μ €μž₯ν•˜λŠ” μ €μž₯ κ³΅κ°„μœΌλ‘œ, 이의 μƒνƒœλ₯Ό μ €μž₯. λ ˆμ§€μŠ€ν„°μ—λŠ” ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„°, μŠ€νƒ 포인터, 베이슀 λ ˆμ§€μŠ€ν„° 등이 μ €μž₯.
    1. ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„°: ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€κ°€ λ‹€μŒμ— μ‹€ν–‰μ‹œν‚¬ μ½”λ“œλ₯Ό λ‚˜νƒ€λƒ„
    2. μŠ€νƒ 포인터: ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ˜ μŠ€νƒ λ‚΄ ν˜„μž¬ μœ„μΉ˜μ˜ μ£Όμ†Œλ₯Ό μ €μž₯
    3. 베이슀 λ ˆμ§€μŠ€ν„°: ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ˜ 데이터 μ„Έκ·Έλ©˜νŠΈμ˜ μ‹œμž‘ μ£Όμ†Œλ₯Ό μ €μž₯
  4. λ©”λͺ¨λ¦¬ 관리 정보: ν”„λ‘œμ„ΈμŠ€κ°€ μ‚¬μš© 쀑인 λ©”λͺ¨λ¦¬ κ³΅κ°„μ˜ λ²”μœ„, μ£Όμ†Œ 정보
  5. ν”„λ‘œμ„ΈμŠ€ μš°μ„  μˆœμœ„: ν”„λ‘œμ„ΈμŠ€ μŠ€μΌ€μ€„λ§μ— μ΄μš©λ˜λŠ” ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ˜ μš°μ„  μˆœμœ„ 정보

μš΄μ˜μ²΄μ œλŠ” μœ„ 정보듀을 톡해 ν”„λ‘œμ„ΈμŠ€λ“€μ„ μŠ€μΌ€μ€„λ§ν•˜κ³  κ΄€λ¦¬ν•˜κ²Œ λœλ‹€.

 

좜처: https://www.os-book.com/OS10/slide-dir/index.html

PCB의 관리

일반적으둜, PCB의 κ΄€λ¦¬μ—λŠ” 이쀑 μ—°κ²° 리슀트λ₯Ό μ‚¬μš©ν•œλ‹€.

이쀑 μ—°κ²° 리슀트λ₯Ό μ‚¬μš©ν•˜λŠ” κΉŒλ‹­μ€, 

ν”„λ‘œμ„ΈμŠ€μ˜ 생성과 μ‚­μ œλŠ” λΉˆλ²ˆν•˜κ²Œ μΌμ–΄λ‚˜κΈ° λ•Œλ¬Έμ— μš”μ†Œμ˜ μΆ”κ°€, μ‚­μ œμ˜ λΉ„μš©μ΄ 적은 이쀑 μ—°κ²° λ¦¬μŠ€νŠΈκ°€ μ‚¬μš©λ˜λŠ” 것이닀.

λ˜ν•œ 이쀑 μ—°κ²° 리슀트λ₯Ό ν”„λ‘œμ„ΈμŠ€ μš°μ„  μˆœμœ„λ‘œ μ •λ ¬ν•˜μ—¬ 더 효율적인 처리λ₯Ό μ œκ³΅ν•œλ‹€.

 

PCB의 μœ„μΉ˜

PCBλŠ” μš΄μ˜μ²΄μ œκ°€ ν”„λ‘œμ„ΈμŠ€λ₯Ό 효율적으둜 κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ μΌμ’…μ˜ μ €μž₯μ†Œλ‘œ 컀널 μŠ€νƒμ— μ‘΄μž¬ν•œλ‹€.

컀널 μŠ€νƒμ€ 컀널 κΆŒν•œμ„ 가진 운영체제만이 μ ‘κ·Ό κ°€λŠ₯ν•˜κΈ° λ•Œλ¬Έμ—

μœ μ € λͺ¨λ“œμ—μ„œ μž‘λ™ν•˜λŠ” μœ μ € μ• ν”Œλ¦¬μΌ€μ΄μ…˜λ“€μ— μ™„μ „νžˆ λ…λ¦½λ˜μ–΄, ν”„λ‘œμ„ΈμŠ€ 관리가 κ°€λŠ₯ν•˜λ‹€.

 

PCB의 κ°±μ‹ 

PCB의 갱신을 μˆ˜ν–‰ν•˜κΈ° μœ„ν•΄μ„œλŠ” κ²°κ΅­ 컀널 μŠ€νƒμ— λŒ€ν•œ μ ‘κ·Ό κΆŒν•œμ΄ ν•„μš”ν•˜κ³ ,

λ”°λΌμ„œ μœ μ € μ• ν”Œλ¦¬μΌ€μ΄μ…˜μ΄ μ œμ–΄κΆŒμ„ κ°–κ³  μžˆλŠ” μ™€μ€‘μ—λŠ” 이루어지지 μ•ŠλŠ”λ‹€.

λŒ€μ‹  μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­μ΄ μˆ˜ν–‰λ˜κ±°λ‚˜, ν”„λ‘œμ„ΈμŠ€μ˜ 생성 및 μ‚­μ œ μ‹œ λ°œμƒν•œλ‹€.

특히 μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­ μ‹œμ—λŠ” CPU에 μ‘΄μž¬ν•˜λŠ” ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€μ˜ λ ˆμ§€μŠ€ν„° μƒνƒœλ₯Ό PCB에 λ¨Όμ € μ €μž₯ν•˜μ—¬

이후 ν•΄λ‹Ή ν”„λ‘œμ„ΈμŠ€κ°€ λ‹€μ‹œ μˆ˜ν–‰λ  λ•Œ 이λ₯Ό 가지고 CPU λ ˆμ§€μŠ€ν„° 볡원을 μ§„ν–‰ν•œλ‹€.

 

'CS > CS μŠ€ν„°λ””' μΉ΄ν…Œκ³ λ¦¬μ˜ λ‹€λ₯Έ κΈ€

CPU μŠ€μΌ€μ€„λ§  (0) 2023.03.25
IPC(Interprocess Communication)  (0) 2023.03.19
System Call(μ‹œμŠ€ν…œ 콜)  (0) 2023.03.11
μΈν„°λŸ½νŠΈ(Interrupt)  (1) 2023.03.11
ν”„λ‘œμ„ΈμŠ€ vs μŠ€λ ˆλ“œ  (0) 2023.03.04