λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
ComputerScience πŸ“š/운영체제

[OS] ν”„λ‘œμ„ΈμŠ€(Process) 와 μ“°λ ˆλ“œ(Thread)의 μ •μ˜

by μ•ˆμ£Όν˜• 2021. 12. 12.

ν”„λ‘œμ„ΈμŠ€(Process)와 μŠ€λ ˆλ“œ(Thread)의 μ •μ˜

ν”„λ‘œμ„ΈμŠ€ 1. μš΄μ˜μ²΄μ œλ‘œλΆ€ν„° μžμ›μ„ 할당받은 μž‘μ—…μ˜ λ‹¨μœ„.
2. μ»΄ν“¨ν„°μ—μ„œ μ—°μ†μ μœΌλ‘œ μ‹€ν–‰λ˜κ³  μžˆλŠ” ν”„λ‘œκ·Έλž¨
3. λ©”λͺ¨λ¦¬μ— μ˜¬λΌμ™€μ„œ μ‹€ν–‰λ˜κ³  μžˆλŠ” ν”„λ‘œκ·Έλž¨μ˜ μΈμŠ€ν„΄μŠ€
μŠ€λ ˆλ“œ 1. ν”„λ‘œμ„ΈμŠ€κ°€ 할당받은 μžμ›μ„ μ΄μš©ν•˜λŠ” μ‹€ν–‰ νλ¦„μ˜ λ‹¨μœ„
2. ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€μ— μžμ›μ„ κ³΅μœ ν•˜λ©°, 일련의 과정을 μ—¬λŸ¬κ°œ λ™μ‹œμ— μ‹€ν–‰μ‹œν‚¬ 수 μžˆλ„λ‘ ν•˜λŠ” 것.

일단 운영체제의 λ°°κ²½ 지식 없이 μ–Έλœ» μ •μ˜λ§Œ λ³΄μ•˜μ„ λ•ŒλŠ” 이해가 μ‰½κ²Œ λ˜μ§€ μ•ŠλŠ”λ‹€. 일단 ν”„λ‘œμ„ΈμŠ€λŠ” μž‘μ—…μ˜ λ‹¨μœ„ 그리고 μ“°λ ˆλ“œλŠ” μ‹€ν–‰ νλ¦„μ˜ λ‹¨μœ„ λΌλŠ” 것을 κΈ°μ–΅ν•˜κ³  μ•„λž˜μ˜ 흐름도λ₯Ό 보자.

ν”„λ‘œκ·Έλž¨ > ν”„λ‘œμ„ΈμŠ€ > μŠ€λ ˆλ“œ

큰 흐름은 μœ„μ™€ 같은데, ν”„λ‘œκ·Έλž¨μ˜ μ •μ˜λŠ” λ‹€μŒκ³Ό κ°™λ‹€. "파일이 μ €μž₯ μž₯μΉ˜μ— μ €μž₯λ˜μ–΄ μžˆμ§€λ§Œ λ©”λͺ¨λ¦¬μ—λŠ” μ˜¬λΌμ™€ μžˆμ§€ μ•ŠλŠ” 정적인 μƒνƒœ" κ°„λ‹¨ν•˜κ²Œ λ§ν•˜λ©΄ 싀행을 ν•˜μ§€ μ•Šμ€ μƒνƒœλΌλŠ” 것이닀.
ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κ²Œ 되면 ν•΄λ‹Ή ν”„λ‘œκ·Έλž¨μ€ 컴퓨터 λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€κ²Œ λœλ‹€. μ΄λ•Œ μƒνƒœλ₯Ό 동적인 μƒνƒœλΌκ³  ν•˜λ©°, 이 μƒνƒœμ˜ ν”„λ‘œκ·Έλž¨μ„ μš°λ¦¬λŠ” ν”„λ‘œμ„ΈμŠ€λΌκ³  λΆ€λ₯Έλ‹€. λ‹€μ‹œ μ •λ¦¬ν•˜λ©΄ "λ©”λͺ¨λ¦¬μ— μ˜¬λΌμ™€ μ‹€ν–‰λ˜κ³  μžˆλŠ” ν”„λ‘œκ·Έλž¨"을 ν”„λ‘œμ„ΈμŠ€λΌκ³  λΆ€λ₯΄λŠ” 것이닀.

κ³Όκ±°μ—λŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•  λ•Œ ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ§Œ μ‚¬μš©ν•˜μ—¬ μ‹€ν–‰ν–ˆμ—ˆλ‹€. ν•˜μ§€λ§Œ ν˜„μž¬λ‘œ 올수둝 ν”„λ‘œκ·Έλž¨μ΄ λ³΅μž‘ν•΄μ§€κ³  μ»€μ§€κ²Œ λ˜λ©΄μ„œ, ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€λ₯Ό κ°€μ§€κ³ λŠ” ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜κΈ° νž˜λ“€κ²Œ λ˜μ—ˆλ‹€. μ΄λŸ¬ν•œ 문제λ₯Ό ν•΄κ²°ν•˜κΈ° μœ„ν•΄ "ν•œ ν”„λ‘œκ·Έλž¨μ„ μ²˜λ¦¬ν•˜κΈ° μœ„ν•΄ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ—¬λŸ¬ 개 λ‚˜λˆ„λŠ” 게 μ–΄λ–¨κΉŒ"λΌλŠ” 생각이 λ‚˜μ˜€κ²Œ λ˜μ—ˆκ³ , ν”„λ‘œμ„ΈμŠ€λ³΄λ‹€ 더 μž‘μ€ μ‹€ν–‰ λ‹¨μœ„ κ°œλ…μ΄ μƒκΈ°κ²Œ λ˜μ—ˆλŠ”λ° 이것이 λ°”λ‘œ μŠ€λ ˆλ“œμ΄λ‹€.

두 개의 μŠ€λ ˆλ“œλ₯Ό μ‹€ν–‰ν•˜κ³  μžˆλŠ” ν•˜λ‚˜μ˜ ν”„λ‘œμ„ΈμŠ€ - μœ„ν‚€ν”Όλ””μ•„

ν”„λ‘œμ„ΈμŠ€μ™€ λ‹€λ₯΄κ²Œ μŠ€λ ˆλ“œλΌλ¦¬λŠ” ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ˜ μ£Όμ†Œ κ³΅κ°„μ΄λ‚˜ μžμ›λ“€μ„ λŒ€λΆ€λΆ„ κ³΅μœ ν•˜λ©° μž‘λ™ν•œλ‹€.
즉 μŠ€λ ˆλ“œλž€ ν”„λ‘œμ„ΈμŠ€ ν•˜λ‚˜μ— μžμ›μ„ κ³΅μœ ν•˜λ©΄μ„œ 일련의 과정을 μ—¬λŸ¬ 개 λ™μ‹œμ— μ‹€ν–‰μ‹œν‚¬ 수 μžˆλŠ” "ν•œ ν”„λ‘œμ„ΈμŠ€ λ‚΄μ—μ„œ λ™μž‘λ˜λŠ” μ—¬λŸ¬ μ‹€ν–‰μ˜ 흐름" 이닀.

더 μžμ„Έν•œ λ‚΄μš©μ„ μ›ν•˜μ‹œλŠ” 뢄은 μ°Έκ³ ν•˜μ‹œλ©΄ 쒋을 것 κ°™μŠ΅λ‹ˆλ‹€.

[OS] ν”„λ‘œμ„ΈμŠ€μ˜ κ°œλ…(Process Concept)

ν”„λ‘œμ„ΈμŠ€ κ°œλ…(Process Concept) μš°λ¦¬κ°€ 운영체제λ₯Ό λ…Όμ˜ν•  λ•Œ ν•œ 가지 μž₯μ• λŠ” λͺ¨λ“  CPU ν™œλ™λ“€μ„ μ–΄λ–»κ²Œ λΆ€λ₯Ό 것인가 ν•˜λŠ” 데에 의문이 μžˆμŠ΅λ‹ˆλ‹€. 초창기 μ»΄ν“¨ν„°λŠ” μž‘μ—…(job)을 μ‹€ν–‰ν•˜λŠ” μΌκ΄„μ²˜λ¦¬ μ‹œ

dkswnkk.tistory.com

λŒ“κΈ€