CS 곡뢀

[운영체제] ν”„λ‘œμ„ΈμŠ€

은진 2021. 8. 10. 22:16

μš©μ–΄ μ„€λͺ…

1. μ‹€ν–‰ λ‹¨μœ„ : cpu coreμ—μ„œ μ‹€ν–‰ν•˜λŠ” ν•˜λ‚˜μ˜ λ‹¨μœ„λ‘œ, ν”„λ‘œμ„ΈμŠ€μ™€ μŠ€λ ˆλ“œλ₯Ό ν¬κ΄„ν•˜λŠ” κ°œλ…

2. ν”„λ‘œμ„ΈμŠ€ : ν•˜λ‚˜μ˜ μŠ€λ ˆλ“œλ§Œ 가지고 μžˆλŠ” 단일 μŠ€λ ˆλ“œ ν”„λ‘œμ„ΈμŠ€

3. λ™μ‹œμ„± : ν•œ μˆœκ°„μ— μ—¬λŸ¬κ°€μ§€ 일이 μ•„λ‹ˆλΌ, 짧은 μ „ν™˜μœΌλ‘œ μ—¬λŸ¬κ°€μ§€ 일을 λ™μ‹œμ— μ²˜λ¦¬ν•˜λŠ” κ²ƒμ²˜λŸΌ λ³΄μ΄λŠ” 것

 

4. ν”„λ‘œκ·Έλž¨

  • μ–΄λ–€ μž‘μ—…μ„ μœ„ν•΄ 운영체제 μœ„μ—μ„œ μ‹€ν–‰ν•  수 μžˆλŠ” 파일
  • 컴파일 μ½”λ“œ, μ „μ—­λ³€μˆ˜, λ¬Έμžμ—΄, λ¬Έμžμ—΄ μƒμˆ˜ λ“± 정적 데이터λ₯Ό ν¬ν•¨ν•˜λŠ” μ •μ κ°œμ²΄

5. ν”„λ‘œμ„ΈμŠ€

  • 운영체제 μœ„μ—μ„œ μ‹€ν–‰ 쀑인 ν”„λ‘œκ·Έλž¨
  • λ©”λͺ¨λ¦¬ ꡬ쑰λ₯Ό 이루고, ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„°λ‚˜ λ ˆμ§€μŠ€ν„°μ²˜λŸΌ ν˜„μž¬ μ–΄λ–€ μžμ›μ„ μ‚¬μš©ν•˜λŠ”μ§€ 정보가 λ“€μ–΄ μžˆλŠ” λ™μ κ°œμ²΄

6. ν”„λ‘œμ„Έμ„œ : ν”„λ‘œμ„ΈμŠ€κ°€ λ™μž‘ν•˜λ„λ‘ ν•˜λŠ” ν•˜λ“œμ›¨μ–΄(= CPU)

 

 

 

ν”„λ‘œμ„ΈμŠ€μ˜ λ©”λͺ¨λ¦¬ ꡬ쑰 (4가지 μ˜μ—­)

  • ν”„λ‘œκ·Έλž¨μ΄ λ™μž‘ν•  λ•Œ ν•„μš”ν•œ CPU, λ©”λͺ¨λ¦¬, I/Oμž₯치, 파일 λ“± μžμ›μ„ 할당받은 ν›„ λ™μž‘ν•œλ‹€. 
  • ν”„λ‘œκ·Έλž¨ 싀행을 μœ„ν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ή λ°›κ³ , ν”„λ‘œκ·Έλž¨μ˜ λͺ…령어와 데이터가 λ©”λͺ¨λ¦¬ κ³΅κ°„μœΌλ‘œ λ‘œλ“œ(Load)되면,
    ν”„λ‘œκ·Έλž¨μ€ ν”„λ‘œμ„ΈμŠ€λΌκ³  λΆˆλ¦°λ‹€.
  • ν”„λ‘œκ·Έλž¨μ΄ λ©”λͺ¨λ¦¬ 곡간에 λ‘œλ“œ(Load)λ˜μ–΄ CPUκ°€ λͺ…령어듀을 순차적으둜 μ²˜λ¦¬ν•œλ‹€.

1. Code : μ‹€ν–‰ λͺ…령을 ν¬ν•¨ν•˜λŠ” ν”„λ‘œκ·Έλž¨μ˜ μ½”λ“œ

2. Data : μ „μ—­ λ³€μˆ˜ ex) static λ³€μˆ˜, global λ³€μˆ˜

3. Heap : 동적할당 데이터 ex) new Object(), malloc()

4. Stack : μ§€μ—­λ³€μˆ˜, λ§€κ°œλ³€μˆ˜, λ°˜ν™˜κ°’, 호좜된 ν•¨μˆ˜ λ“± μž„μ‹œ 데이터

 

 

 

PCB (Process Control Block)

  • μ–΄λ–€ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ–΄λ””κΉŒμ§€ μž‘μ—…ν–ˆλŠ”μ§€ μ•Œ 수 μžˆμ–΄μ•Ό ν•œλ‹€.
  • λ”°λΌμ„œ ν”„λ‘œμ„ΈμŠ€ 생성 μ‹œ, ν”„λ‘œμ„ΈμŠ€μ— λŒ€ν•œ 정보λ₯Ό λ‹΄κ³  μžˆλŠ” PCB λΈ”λŸ­μ΄ ν•¨κ»˜ μƒμ„±λœλ‹€.
  • PCBλŠ” ν”„λ‘œμ„ΈμŠ€λ₯Ό μ œμ–΄ν•˜κΈ° μœ„ν•œ 정보 λͺ¨μŒμ§‘이닀.

1. 포인터 (Pointer)

  • ν”„λ‘œμ„ΈμŠ€ μƒνƒœ 쀑에 μ€€λΉ„μƒνƒœλ‚˜ λŒ€κΈ°μƒνƒœμ˜ 큐λ₯Ό κ΅¬ν˜„ν•˜κΈ° μœ„ν•œ 포인터이닀.

2. ν”„λ‘œμ„ΈμŠ€ μƒνƒœ (Process State)

  • ν”„λ‘œμ„ΈμŠ€μ˜ ν˜„μž¬ μƒνƒœλ₯Ό λ‚˜νƒ€λ‚Έλ‹€.

3. ν”„λ‘œμ„ΈμŠ€ 번호 (PID, Process ID, Process Number)

  • ν”„λ‘œμ„ΈμŠ€μ˜ ꡬ뢄 기쀀이 λ˜λŠ” 고유 ID이닀.

4. ν”„λ‘œκ·Έλž¨ μΉ΄μš΄ν„° (PC, Program Counter)

  • ν”„λ‘œμ„ΈμŠ€ μˆ˜ν–‰μ„ μœ„ν•œ λ‹€μŒ λͺ…λ Ήμ–΄μ˜ μ£Όμ†Œλ₯Ό ν‘œμ‹œν•œλ‹€.

5. λ ˆμ§€μŠ€ν„° (Register)

  • 이전에 μž‘μ—…ν•˜λ˜ λ‚΄μš©μ΄λ‹€.
  • μ‹€ν–‰μƒνƒœμ—μ„œ λ‹€λ₯Έ μƒνƒœλ‘œ μ „μ΄λ˜λŠ” 경우 CPU의 λ ˆμ§€μŠ€ν„° 정보λ₯Ό 이곳에 μ €μž₯μ‹œμΌœμ„œ λ‚˜μ€‘μ— λ‹€μ‹œ μ‹€ν–‰μƒνƒœλ‘œ 전이될 λ•Œ 볡ꡬ μ‹œμΌœ ν”„λ‘œμ„ΈμŠ€μ˜ μ •ν™•ν•œ μˆ˜ν–‰μ„ μ΄μ–΄λ‚˜κ°„λ‹€.

6. λ©”λͺ¨λ¦¬

  • ν”„λ‘œμ„ΈμŠ€μ˜ μ£Όμ†Œ 곡간이닀.
  • ν”„λ‘œμ„ΈμŠ€κ°€ μ €μž₯된 μ£Όμ†Œμ™€ 가상 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜λŠ” κ²½μš°μ—λŠ” κ°€μƒμ£Όμ†Œμ™€ μ‹€μ œμ£Όμ†Œμ˜ 사상(mapping) 정보, κΈ°μ€€ λ ˆμ§€μŠ€ν„°(base register)와 경계 λ ˆμ§€μŠ€ν„°(bound register) λ“±μ˜ 정보λ₯Ό ν¬ν•¨ν•œλ‹€.

7. ν”„λ‘œμ„ΈμŠ€ μš°μ„ μˆœμœ„

  • μš°μ„  μˆœμœ„, μ΅œμ’… μ‹€ν–‰μ‹œκ°, CPU μ μœ μ‹œκ°„ λ“± CPU μŠ€μΌ€μ€„λ§ 정보이닀.
  • μŠ€μΌ€μ€„λ§ μ‹œ μ–΄λ–€ μž‘μ—…μ„ 선택할 것인가λ₯Ό κ²°μ •ν•œλ‹€.

 

 

 

ν”„λ‘œμ„ΈμŠ€κ°€ ꡬ체적으둜 μ–΄λ–»κ²Œ μ‹€ν–‰λ˜λŠ”κ°€?

  • CPU(ν”„λ‘œμ„Έμ„œ)λŠ” ν•œμˆœκ°„μ— ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ§Œ μ‹€ν–‰κ°€λŠ₯ν•˜λ‹€.
  • λ‹€μˆ˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό λ™μ‹œμ— μ‹€ν–‰ν•˜κΈ° μœ„ν•΄, λ‹€μˆ˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹œλΆ„ν• λ‘œ, 즉 짧은 ν…€μœΌλ‘œ 반볡 μ „ν™˜ν•΄μ„œ μ‹€ν–‰ν•œλ‹€.

 

 

 

ν”„λ‘œμ„ΈμŠ€ μƒνƒœ

  1. μƒμ„±μƒνƒœ -> μ€€λΉ„μƒνƒœ
    • 미리 μ •μ˜λœ 정책에 따라 μŠ€μΌ€μ€„λŸ¬μ— μ˜ν•΄ 호좜, μ΄λ•Œ λ©”λͺ¨λ¦¬μ˜ 이용 κ°€λŠ₯μ„±κ³Ό μ–΄λ–€ μž₯μΉ˜κ°€ μš”κ΅¬λ˜λŠ”μ§€λ₯Ό κ²€μ‚¬ν•œλ‹€.
  2. μ€€λΉ„μƒνƒœ -> μ‹€ν–‰μƒνƒœ (dispatch)
    • 사전에 μ •μ˜λœ μ•Œκ³ λ¦¬μ¦˜(FCFS, SJF, SRT, RRλ“±)에 따라 μŠ€μΌ€μ€„λŸ¬μ— μ˜ν•΄ μ²˜λ¦¬λœλ‹€. 이 과정을 λ””μŠ€νŒ¨μΉ˜λΌκ³  ν•œλ‹€.
  3. μ‹€ν–‰μƒνƒœ -> μ€€λΉ„μƒνƒœ (timeout)
    • ν• λ‹Ήμ‹œκ°„μ˜ λ§Œλ£Œλ‚˜ μš°μ„ μˆœμœ„ μ•Œκ³ λ¦¬μ¦˜μ„ νƒν•˜κ³  μžˆλŠ” μ‹œμŠ€ν…œμ—μ„œ 높은 μš°μ„ μˆœμœ„μ˜ ν”„λ‘œμ„ΈμŠ€κ°€ μ˜€λŠ” 경우 μŠ€μΌ€μ€„λŸ¬μ— μ˜ν•΄ μ²˜λ¦¬λœλ‹€.
  4. μ‹€ν–‰μƒνƒœ -> λŒ€κΈ°μƒνƒœ (block)
    • READ, WRITE λ˜λŠ” λ‹€λ₯Έ I/O μš”κ΅¬, νŽ˜μ΄μ§€ κ΅ν™˜μ„ μš”κ΅¬ν•˜λŠ” μž‘μ—… 같은 λͺ…λ Ή 등에 μ˜ν•˜μ—¬ μΌμ–΄λ‚œλ‹€.
    • μ΄λŸ¬ν•œ μž‘μ—…μ€ μƒλŒ€μ μœΌλ‘œ 였랜 μ‹œκ°„μ΄ 걸리기 λ•Œλ¬Έμ— κ·Έλ™μ•ˆ CPUλ₯Ό λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ— ν• λ‹Ήν•˜μ—¬ ν™œμš©ν•˜κΈ° μœ„ν•¨μ΄λ‹€.
  5. λŒ€κΈ°μƒνƒœ -> μ€€λΉ„μƒνƒœ (wakeup)
    • I/O μž₯치 κ΄€λ¦¬μžμ˜ μ‹ ν˜Έμ— μ˜ν•΄ μΌμ–΄λ‚œλ‹€.
    • νŽ˜μ΄μ§€ κ΅ν™˜μ˜ 경우 νŽ˜μ΄μ§€ μΈν„°λŸ½νŠΈ ν•Έλ“€λŸ¬κ°€ λ©”λͺ¨λ¦¬μ— κ·Έ νŽ˜μ΄μ§€κ°€ μžˆλ‹€λŠ” μ‹ ν˜Έλ₯Ό λ³΄λ‚΄κ²Œ 되며, ν”„λ‘œμ„ΈμŠ€λŠ” μ€€λΉ„ 큐에 λ†“μ΄κ²Œ λœλ‹€.
  6. μ‹€ν–‰μƒνƒœ -> μ’…λ£Œμƒνƒœ
    • ν”„λ‘œμ„ΈμŠ€λ₯Ό μ„±κ³΅μ μœΌλ‘œ 끝마친 경우, ν˜Ήμ€ μš΄μ˜μ²΄μ œκ°€ μ—λŸ¬ λ°œμƒμ„ κ°μ§€ν•˜κ³  ν”„λ‘œμ„ΈμŠ€λ₯Ό κ°•μ œλ‘œ μ’…λ£Œμ‹œν‚¨ κ²½μš°μ— μŠ€μΌ€μ€„λŸ¬μ— μ˜ν•΄ μ‹€ν–‰λœλ‹€.

 

 

 

ν”„λ‘œμ„ΈμŠ€μ˜ μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­

  • λ™μ‹œμ— μ‹€ν–‰ν•˜κ³  싢은 ν”„λ‘œμ„ΈμŠ€ 두 κ°œκ°€ μžˆμ„ λ•Œ, 두 ν”„λ‘œμ„ΈμŠ€λ₯Ό 짧은 ν…€μœΌλ‘œ μ „ν™˜ν•˜λ©° μ‹€ν–‰ν•œλ‹€.

ν”„λ‘œμ„ΈμŠ€1은 CPU에 적재된 μ‹€ν–‰μƒνƒœ, ν”„λ‘œμ„ΈμŠ€2λŠ” μ€€λΉ„μƒνƒœ
ν”„λ‘œμ„ΈμŠ€1이 μ€€λΉ„μƒνƒœ, ν”„λ‘œμ„ΈμŠ€2κ°€ CPU에 적재된 μ‹€ν–‰μƒνƒœ
λ‹€μ‹œ ν”„λ‘œμ„ΈμŠ€2κ°€ μ€€λΉ„μƒνƒœ, ν”„λ‘œμ„ΈμŠ€1이 CPU에 적재된 μ‹€ν–‰μƒνƒœ

 

 

 

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€

  • λΆ€λͺ¨ ν”„λ‘œμ„ΈμŠ€κ°€ fork()λ₯Ό ν•˜μ—¬ μžμ‹ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ—¬λŸ¬ 개 λ§Œλ“€μ–΄ μž‘μ—…μ„ μ²˜λ¦¬ν•œλ‹€.
  • μžμ‹ ν”„λ‘œμ„ΈμŠ€λŠ” λΆ€λͺ¨μ™€ λ³„κ°œμ˜ 독립적인 λ©”λͺ¨λ¦¬ μ˜μ—­μ„ ν™•λ³΄ν•œλ‹€.
  • ex) ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ—μ„œ μ—¬λŸ¬κ°€μ§€ 일을 μ²˜λ¦¬ν•  λ•Œ
    • μ—¬λŸ¬ μ‚¬μš©μžκ°€ λ‘œκ·ΈμΈμ„ μš”μ²­ν•˜λŠ” 상황이라면
    • ν•œ ν”„λ‘œμ„ΈμŠ€λŠ” 맀번 ν•˜λ‚˜μ˜ 둜그인만 μ²˜λ¦¬ν•  수 μžˆμœΌλ―€λ‘œ, λ™μ‹œμ— μ²˜λ¦¬ν•  수 μ—†λ‹€.

 

 

 

 

 

λ©€ν‹° ν”„λ‘œμ„ΈμŠ€μ˜ 문제점

1. μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ λ³€κ²½κ³Όμ •μ—μ„œ λ°œμƒν•˜λŠ” μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­μ€ μ‹œμŠ€ν…œμ— 뢀담을 μ€€λ‹€

  • 싀행쀑인 ν”„λ‘œμ„ΈμŠ€κ°€ λ³€κ²½λ˜λ©΄ CPU 내에 μ‘΄μž¬ν•˜λŠ” λ ˆμ§€μŠ€ν„°λ“€μ˜ 값이 λ³€κ²½λœλ‹€. 
  • κ·Έλ ‡λ‹€κ³  μ•„μ˜ˆ κ·Έ ν”„λ‘œμ„ΈμŠ€ 싀행이 μ’…λ£Œλ˜λŠ” 것이 μ•„λ‹ˆκΈ° λ•Œλ¬Έμ—, μ§€κΈˆ λ ˆμ§€μŠ€ν„°λ“€μ΄ 가지고 μžˆλŠ” 값을 μ–΄λ”˜κ°€μ— μ €μž₯ν•΄μ•Ό ν•œλ‹€.
  • 또 λ³€κ²½λ˜μ–΄ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€κ°€ μƒˆλ‘œ μ‹€ν–‰λ˜λŠ” 것이 μ•„λ‹ˆλΌλ©΄, 이전에 λ ˆμ§€μŠ€ν„°λ“€μ΄ 가지고 μžˆλŠ” 데이터λ₯Ό λ³΅μ›μ‹œμΌœμ•Ό ν•œλ‹€.
  • 이 κ³Όμ •μ—μ„œ 이전 λ ˆμ§€μŠ€ν„° μ •λ³΄λŠ” λ©”λͺ¨λ¦¬μ— μ €μž₯되고 λ³€κ²½λ˜μ–΄ μ‹€ν–‰λ˜λŠ” ν”„λ‘œμ„ΈμŠ€μ˜ μ •λ³΄λŠ” CPU의 λ ˆμ§€μŠ€ν„°μ— λ³΅μ›μ‹œν‚¨λ‹€.

2. ν”„λ‘œμ„ΈμŠ€λŠ” 각자 자기만의 독립적인 λ©”λͺ¨λ¦¬ μ˜μ—­μ„ 가지고 μžˆλ‹€.

  • λ”°λΌμ„œ λ‹€λ₯Έ ν”„λ‘œμ„ΈμŠ€μ˜ 정보λ₯Ό κ°€μ Έμ˜€λ €λ©΄ 톡신(IPC)이 ν•„μš”ν•˜λ‹€.

 


 

μŠ€λ ˆλ“œ

  • ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ ꡬ뢄지어진 μ‹€ν–‰ λ‹¨μœ„μ΄λ‹€.
  • ν”„λ‘œμ„ΈμŠ€κ°€ λ‹€μˆ˜μ˜ μŠ€λ ˆλ“œλ‘œ κ΅¬λΆ„λ˜μ–΄μžˆμ§€ μ•ŠμœΌλ©΄, 단일 μŠ€λ ˆλ“œ ν•˜λ‚˜λ‘œ ν”„λ‘œμ„ΈμŠ€κ°€ μ‹€ν–‰λœλ‹€. 즉, ν”„λ‘œμ„ΈμŠ€μ˜ ν•˜λ‚˜λ°–μ— μ—†λŠ” μŠ€λ ˆλ“œκ°€ μ‹€ν–‰ λ‹¨μœ„κ°€ λ˜λŠ” 것이닀.
  • μœ„μ˜ 경우 ν†΅μƒμ μœΌλ‘œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰ λ‹¨μœ„λ‘œ λ³Έλ‹€.

 

 

 

μŠ€λ ˆλ“œμ˜ μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­

  • ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€ μ•ˆμ— λ‹€μˆ˜μ˜ μŠ€λ ˆλ“œκ°€ μžˆμ„ λ•Œ, κ³΅μœ ν•˜λŠ” μžμ›μ΄ μžˆλ‹€.
  • μŠ€λ ˆλ“œλŠ” μ½”λ“œ, 데이터, νž™ μ˜μ—­μ„ κ³΅ν†΅λœ μžμ›μœΌλ‘œ κ³΅μœ ν•΄μ„œ μ‚¬μš©ν•œλ‹€.
  • 각 μŠ€λ ˆλ“œλŠ” μŠ€νƒ μ˜μ—­λ§Œμ„ λ”°λ‘œ 가지고 μžˆλ‹€.

μŠ€λ ˆλ“œμ˜ 곡유 μžμ›

  • κ³΅μœ ν•˜λŠ” μžμ›μ΄ 있기 λ•Œλ¬Έμ—, μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ­μ΄ 일어날 λ•Œ *μΊμ‹œ 적쀑λ₯ μ΄ μ˜¬λΌκ°„λ‹€. 
  • μ»¨ν…μŠ€νŠΈ μŠ€μœ„μΉ˜λ₯Ό ν•  λ•Œ λͺ¨λ“  μžμ›μ„ λŒ€μƒμœΌλ‘œ ν•˜μ§€ μ•ŠκΈ° λ•Œλ¬Έμ— νš¨μœ¨μ μ΄λ‹€.

 

* μΊμ‹œ 적쀑λ₯  (Hit Rate)

  • μ›ν•˜λŠ” 정보가 μΊμ‹œ λ©”λͺ¨λ¦¬μ— κΈ°μ–΅λ˜μ–΄ μžˆμ„ λ•Œ 적쀑(Hit), κΈ°μ–΅λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©΄ μ μ€‘ν•˜μ§€ λͺ»ν•œ 것이닀.
  • 적쀑λ₯ μ€ μΊμ‹œ κΈ°μ–΅μž₯μΉ˜κ°€ μžˆλŠ” μ»΄ν“¨ν„°μ˜ μ„±λŠ₯을 λ‚˜νƒ€λ‚΄λŠ” μ²™λ„λ‘œ μ΄μš©λœλ‹€.
  • 적쀑λ₯ μ΄ 0.95~0.99일 λ•Œ μš°μˆ˜ν•˜λ‹€κ³  λ³Έλ‹€.
  • 적쀑λ₯  = 적쀑 횟수 / 총 μ ‘κ·Ό 횟수

 

 

 

λ©€ν‹° μŠ€λ ˆλ“œ

  • ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ λΆ„λ¦¬ν•΄μ„œ μ—¬λŸ¬ μŠ€λ ˆλ“œλ‘œ μ‹€ν–‰λ‹¨μœ„κ°€ λ‚˜λˆ„μ–΄μ§„ 경우λ₯Ό λ§ν•œλ‹€.
  • ex) ν•œ μ–΄ν”Œλ¦¬μΌ€μ΄μ…˜μ— λŒ€ν•œ μž‘μ—…μ˜ λ‹¨μœ„κ°€ λ‚˜λˆ„μ–΄μ§€λŠ” 경우
    • μΈν…”λ¦¬μ œμ΄μ—μ„œ μ†ŒμŠ€μ½”λ“œλ₯Ό μˆ˜μ •ν•˜λŠ” λ™μ‹œμ—, μΆ”μ²œμ½”λ“œλ„ 보여주고, ν…ŒμŠ€νŠΈλ„ 돌리고, ...
    • 이 λ•Œ 각각의 μŠ€λ ˆλ“œκ°€ κ·Έ μž‘μ—…μ„ λ‹΄λ‹Ήν•œλ‹€.

Multi-process vs Multi-thread

 

 

 

λ©€ν‹° μŠ€λ ˆλ“œμ˜ 단점

  • Internet Explorer : ν•œ μŠ€λ ˆλ“œ, ν•œ 탭에 λ¬Έμ œκ°€ 생기면 전체 ν”„λ‘œμ„ΈμŠ€μ— 영ν–₯을 λΌμΉœλ‹€.
  • Chrome : λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄μš©ν•˜λ―€λ‘œ λ©€ν‹°νƒ­ κ°„μ˜ 영ν–₯을 덜 λ°›λŠ”λ‹€.

Internet Explorer의 μž‘λ™μ΄ μ€‘μ§€λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
λ©€ν‹° ν”„λ‘œμ„ΈμŠ€λ₯Ό μ΄μš©ν•˜λŠ” 크둬 λΈŒλΌμš°μ €

 

 

 

Concurrency vs Parallelism (μ§€λ‚œ μ£Ό 질문)

λ©€ν‹° μ½”μ–΄

 

 

 

 

좜처

1. [μš°μ•„ν•œTech] 🌷 μ½”λ‹€μ˜ Process vs Thread https://www.youtube.com/watch?v=1grtWKqTn50 

2. [μš°μ•„ν•œTech] πŸ‘©‍πŸ’»πŸ‘¨‍πŸ’» μͺΌλ°€λ¦¬μ™€ 였ꡬ의 Process vs Thread  https://www.youtube.com/watch?v=DmZnOg5Ced8

3. [μ–΄λ–€ ν”„λ‘œκ·Έλž˜λ¨Έ] 05. ν”„λ‘œμ„ΈμŠ€μ˜ 생성과 μ†Œλ©Έ https://popcorntree.tistory.com/56

4. ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ κ³Όμ • https://scriptplay.tistory.com/284

5. ν”„λ‘œμ„ΈμŠ€μ˜ κ°œμš”κ³Ό ꡬ성 https://hyuntaekhong.github.io/blog/OperatingSystem02/

6. [μ½”λ”©μŠ€νƒ€νŠΈ] https://coding-start.tistory.com/198

7. μΊμ‹œλ©”λͺ¨λ¦¬ 적쀑λ₯  

https://ndlessrain.tistory.com/entry/%EC%BA%90%EC%8B%9C%EB%A9%94%EB%AA%A8%EB%A6%AC-%EC%A0%81%EC%A4%91%EB%A5%A0Hit-Rate