Programming/기초

[ν”„λ‘œκ·Έλž˜λ°] 운영체제(OS)λž€? / 컀널과 μ‰˜

MOONCO 2021. 10. 20. 21:46

πŸ‘‰ μš΄μ˜μ²΄μ œλž€?

운영(Operating) 체제(System)

컴퓨터 ν•˜λ“œμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜λŠ” ν”„λ‘œκ·Έλž¨ (컀널과 μ‰˜)

( Linux, MacOS, Windows... )

 

운영체제의 κΈ°λŠ₯

ν‚€λ³΄λ“œλ‘œ 데이터λ₯Ό μž…λ ₯
화면에 데이터λ₯Ό 좜λ ₯
λ””μŠ€ν¬μ— 데이터λ₯Ό μ €μž₯
... ( μ»΄ν“¨ν„°λ‘œ ν•  수 μžˆλŠ” λͺ¨λ“  기본적인 κΈ°λŠ₯ )

 

운영체제 ν™œμš©ν•˜κΈ°

처리λŠ₯λ ₯ λ˜‘κ°™μ€ μ‹œκ°„μ—, μ–Όλ§ˆλ‚˜ λ§Žμ€ 일을 ν•˜λŠ”κ°€?
μ‘λ‹΅μ‹œκ°„ ν•˜λ‚˜μ˜ 일을 μ–Όλ§ˆλ‚˜ 빨리 μˆ˜ν–‰ν•˜λŠ”κ°€?
신뒰도 μ£Όμ–΄μ§„ 일을 μ–Όλ§ˆλ‚˜ μ •ν™•νžˆ μ²˜λ¦¬ν•˜λŠ” κ°€?
μ‚¬μš© κ°€λŠ₯도 μ‹œμŠ€ν…œμ„ μ–Όλ§ˆλ‚˜ λΉ λ₯΄κ²Œ μ‚¬μš©ν•˜ 수 μžˆλŠ”κ°€?

 

πŸ‘‰ μ»€λ„μ΄λž€?

OS 내뢀에 μ‹€μ œλ‘œ ν•˜λ“œμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜λŠ”λ° ν•„μš”ν•œ κΈ°λ³Έ ν”„λ‘œκ·Έλž¨ ( λͺ…λ Ήμ–΄ λͺ¨μŒ )

( μ™ΈλΆ€ν”„λ‘œκ·Έλž¨μ„ CPUκ°€ μ•Œμ•„λ“€μ„ 수 μžˆλŠ” κΈ°κ³„μ–΄λ‘œ λ²ˆμ—­ )

( 컴퓨터가 μΌœμ ΈμžˆλŠ” λ™μ•ˆ 항상 λ©”λͺ¨λ¦¬μ—μ„œ μ‹€ν–‰λœλ‹€ )

 

컀널 ꡬ성

μ œμ–΄ν”„λ‘œκ·Έλž¨ - μ‰˜μ—μ„œ λͺ…령을 λ°›μ•„, 그것에 λ§žλŠ” μ²˜λ¦¬ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨

μ²˜λ¦¬ν”„λ‘œκ·Έλž¨ - μ œμ–΄ν”„λ‘œκ·Έλž¨μ˜ λͺ…령을 λ°›μ•„, μ»΄ν“¨ν„°μ˜ νŠΉμ •ν•œ 문제λ₯Ό ν•΄κ²°ν•˜λŠ” ν”„λ‘œκ·Έλž¨

 

πŸ‘‰ μ‰˜μ΄λž€?

μ‚¬μš©μžκ°€ μž‘μ„±ν•œ λͺ…령어에 맞게, 컀널과 μœ ν‹Έλ¦¬ν‹°λ₯Ό μ‹€ν–‰ν•˜λŠ” ν”„λ‘œκ·Έλž¨

( 터미널 μ‹€ν–‰μ‹œ μ‹€ν–‰λœλ‹€ )

μœ ν‹Έλ¦¬ν‹° : λ””μŠ€ν¬μ— μ €μž₯된 ν”„λ‘œκ·Έλž¨

 

🚩 컀널을 κ±°μ³μ„œ λͺ…령을 λ‚΄λ¦¬λŠ” 이유

λͺ…λ Ήμ–΄λ₯Ό CPUμ—κ²Œ 직접 μ „λ‹¬ν•˜λ©΄, 잘λͺ»λœ λͺ…령을 λ‚΄λ Έμ„λ•Œ μ‹œμŠ€ν…œμ— κ·ΈλŒ€λ‘œ 반영 λ˜μ–΄λ²„λ¦°λ‹€.

이 λ•Œλ¬Έμ—, μ—¬λŸ¬ ν•˜λ“œμ›¨μ–΄λ₯Ό μ œμ–΄ν•˜λŠ” λͺ…령어듀을(ν”„λ‘œκ·Έλž¨) 컀널에 미리 λ§Œλ“€μ–΄ 놓고

컀널이 λͺ…령을 κ²€μ‚¬ν•˜κ³ , ν•΄λ‹Ήν•˜λŠ” λͺ…령을
μ‹€ν–‰(system call) μ‹œν‚€λŠ” λ°©λ²•μœΌλ‘œ μ‹œμŠ€ν…œμ„ λ³΄ν˜Έν•œλ‹€.

 

λ°˜μ‘ν˜•