λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
Computer Science/Operating System

2 컀널 (Kernel)

by Dowon Kang 2023. 12. 21.

컀널은 μš΄μ˜μ²΄μ œμ˜ ν•΅μ‹¬μ΄λ©°, ν•˜λ“œμ›¨μ–΄μ™€ μ†Œν”„νŠΈμ›¨μ–΄ κ°„μ˜ μƒν˜Έ μž‘μš©μ„ κ΄€λ¦¬ν•˜κ³  μ œμ–΄ν•˜λŠ” μ—­ν• μ„ ν•©λ‹ˆλ‹€. λ‹€μ–‘ν•œ μš΄μ˜μ²΄μ œλ“€μ΄ λ‹€μ–‘ν•œ μ»€λ„μ„ μ‚¬μš©ν•˜λ©°, κ°κ°μ˜ μ»€λ„μ€ νŠΉμ • μš΄μ˜μ²΄μ œμ— μ΅œμ ν™”λ˜μ–΄ μžˆμŠ΅λ‹ˆλ‹€.

μœ„μ˜ κ·Έλ¦Όκ³Ό 같이 μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œμ„ΈμŠ€(μ‘μš© ν”„λ‘œκ·Έλž¨)듀이 μžμ›μ— μ ‘κ·Όν•˜λ € ν•  λ•Œ 였직 μžμ‹ (컀널)λ§Œμ„ ν†΅ν•΄μ„œ μ ‘κ·Όν•˜λ„λ‘ ν•©λ‹ˆλ‹€. 

 

μ»€λ„μ˜ νŠΉμ§• 

1) ν”„λ‘œμ„ΈμŠ€ 관리: 컀널은 ν”„λ‘œμ„ΈμŠ€λ₯Ό μƒμ„±ν•˜κ³  μŠ€μΌ€μ€„λ§ν•˜μ—¬ 각각의 ν”„λ‘œμ„ΈμŠ€μ— CPU μ‹œκ°„μ„ ν• λ‹Ήν•©λ‹ˆλ‹€. λ˜ν•œ ν”„λ‘œμ„ΈμŠ€ κ°„μ˜ 톡신과 동기화λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€.

2) λ©”λͺ¨λ¦¬ 관리: 컀널은 μ‹œμŠ€ν…œμ˜ λ©”λͺ¨λ¦¬λ₯Ό 효과적으둜 κ΄€λ¦¬ν•˜λ©°, ν”„λ‘œμ„ΈμŠ€μ— ν•„μš”ν•œ λ©”λͺ¨λ¦¬λ₯Ό ν• λ‹Ήν•˜κ³  νšŒμˆ˜ν•©λ‹ˆλ‹€. λ˜ν•œ 가상 λ©”λͺ¨λ¦¬λ₯Ό μ‚¬μš©ν•˜μ—¬ 물리적 λ©”λͺ¨λ¦¬μ˜ ν•œκ³„λ₯Ό κ·Ήλ³΅ν•©λ‹ˆλ‹€.

3) 파일 μ‹œμŠ€ν…œ 관리: 컀널은 파일 및 디렉토리λ₯Ό 생성, 읽기, μ“°κΈ°, μ‚­μ œν•˜λŠ” λ“±μ˜ 파일 μ‹œμŠ€ν…œ μž‘μ—…μ„ μ²˜λ¦¬ν•©λ‹ˆλ‹€. μ΄λŠ” λ°μ΄ν„°μ˜ 영ꡬ μ €μž₯κ³Ό 관련이 μžˆμŠ΅λ‹ˆλ‹€.

4) μž₯치 λ“œλΌμ΄λ²„ 관리: 컀널은 μ‹œμŠ€ν…œμ˜ λ‹€μ–‘ν•œ ν•˜λ“œμ›¨μ–΄ μž₯μΉ˜μ™€ ν†΅μ‹ ν•˜κΈ° μœ„ν•œ μž₯치 λ“œλΌμ΄λ²„λ₯Ό κ΄€λ¦¬ν•©λ‹ˆλ‹€. 이λ₯Ό 톡해 μš΄μ˜μ²΄μ œλŠ” λ‹€μ–‘ν•œ ν•˜λ“œμ›¨μ–΄μ™€ μƒν˜Έ μž‘μš©ν•  수 μžˆμŠ΅λ‹ˆλ‹€.

5) μ‹œμŠ€ν…œ 콜 μΈν„°νŽ˜μ΄μŠ€ 제곡: ν”„λ‘œκ·Έλž¨μ΄ 운영체제 κΈ°λŠ₯에 μ ‘κ·Όν•˜κΈ° μœ„ν•΄ μ‚¬μš©ν•˜λŠ” μ‹œμŠ€ν…œ μ½œμ΄λΌλŠ” μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€. μ‹œμŠ€ν…œ μ½œμ€ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ»€λ„μ—κ²Œ μ„œλΉ„μŠ€λ₯Ό μš”μ²­ν•˜λŠ” λ°©λ²•μž…λ‹ˆλ‹€.

6) μΈν„°λŸ½νŠΈ 및 μ˜ˆμ™Έ 처리: 컀널은 ν•˜λ“œμ›¨μ–΄ μΈν„°λŸ½νŠΈμ™€ μ˜ˆμ™Έλ₯Ό κ΄€λ¦¬ν•˜μ—¬ μ‹œμŠ€ν…œμ˜ μ•ˆμ •μ„±μ„ μœ μ§€ν•˜κ³  였λ₯˜ 상황을 μ²˜λ¦¬ν•©λ‹ˆλ‹€.


운영체제의 μ»€λ„μ€ μ‹œμŠ€ν…œμ˜ ν•΅μ‹¬ λΆ€λΆ„이기 λ•Œλ¬Έμ— μ•ˆμ •μ„±κ³Ό νš¨μœ¨μ„±μ΄ λ§€μš° μ€‘μš”ν•©λ‹ˆλ‹€. λ‹€μ–‘ν•œ μš΄μ˜μ²΄μ œλ“€μ€ μ„œλ‘œ λ‹€λ₯Έ λͺ©ν‘œμ™€ μš”ꡬ μ‚¬ν•­μ„ μΆ©μ‘±ν•˜κΈ° μœ„ν•΄ κ°μžμ˜ μ»€λ„μ„ κ°œλ°œν•˜κ³  μ΅œμ ν™”ν•©λ‹ˆλ‹€.

 

 


The kernel is the central part of an operating system, facilitating communication between software and hardware while managing essential system functions like process scheduling and memory allocation.

λŒ“κΈ€