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

3 Dual Mode (User & Kernel mode) + System Call

by Dowon Kang 2023. 12. 21.

μš΄μ˜μ²΄μ œμ—μ„œλŠ” 주둜 μ‚¬μš©μž λͺ¨λ“œ(User Mode)와 컀널 λͺ¨λ“œ(Kernel Mode)λΌλŠ” 두 가지 μ‹€ν–‰ λͺ¨λ“œλ₯Ό μ‚¬μš©ν•©λ‹ˆλ‹€. 이λ₯Ό 이쀑 λͺ¨λ“œ(Dual Mode)라고도 ν•©λ‹ˆλ‹€. 즉, 이쀑 λͺ¨λ“œλž€ CPUκ°€ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•˜λŠ” λͺ¨λ“œλ₯Ό 크게 μ‚¬μš©μž λͺ¨λ“œμ™€ 컀널λͺ¨λ“œλ‘œ κ΅¬λΆ„ν•˜λŠ” 방식을 μ˜λ―Έν•©λ‹ˆλ‹€.

 

μ™œ 두 가지 λͺ¨λ“œκ°€ μžˆμ„κΉŒμš”? 일반적으둜 λ‹€μ–‘ν•œ μ‘μš© ν”„λ‘œκ·Έλž¨λ“€μ΄ ν•˜λ“œμ›¨μ–΄μ— λ¬΄μ°¨λ³„μ μœΌλ‘œ μ ‘κ·Όν•˜λ©΄ μœ„ν—˜ν•  수 있기 λ•Œλ¬Έμ— μš΄μ˜μ²΄μ œλŠ” 이λ₯Ό 이쀑 λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜μ—¬ ν•΄κ²°ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€. 

 

μ‚¬μš©μž λͺ¨λ“œ (User Mode)

μ‚¬μš©μž λͺ¨λ“œλŠ” 운영체제 μ„œλΉ„μŠ€μ˜ 제곡 없이 μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” ν™˜κ²½μž…λ‹ˆλ‹€. μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹€ν–‰λ˜λ©°, μ œν•œλœ μžμ›κ³Ό κΆŒν•œμ— μ ‘κ·Όν•  수 μžˆμŠ΅λ‹ˆλ‹€. μ‚¬μš©μž λͺ¨λ“œμ—μ„œλŠ” μ§μ ‘μ μœΌλ‘œ μ‹œμŠ€ν…œ μžμ›μ— μ ‘κ·Όν•˜λŠ” κ²ƒμ΄ μ œν•œλ˜μ–΄ μžˆμ–΄ μ•ˆμ •μ„±μ„ μœ μ§€ν•˜κ³  λ³΄μ•ˆμ„ κ°•ν™”ν•©λ‹ˆλ‹€.

 

컀널 λͺ¨λ“œ (Kernel Mode)

컀널 λͺ¨λ“œλŠ” 운영체제의 핡심 뢀뢄인 컀널이 μ‹€ν–‰λ˜λŠ” ν™˜κ²½μž…λ‹ˆλ‹€. 컀널은 μ‹œμŠ€ν…œμ˜ λͺ¨λ“  μžμ›κ³Ό κΆŒν•œμ— μ ‘κ·Όν•  수 μžˆλŠ” νŠΉκΆŒμ„ 가지고 μžˆμŠ΅λ‹ˆλ‹€. 특ꢌ λͺ…λ Ήμ–΄λ₯Ό μ‹€ν–‰ν•  μˆ˜ μžˆλŠ” κΆŒν•œμ„ κ°€μ§€λ―€λ‘œ, μ‹œμŠ€ν…œ λ ˆλ²¨μ˜ μž‘업을 μˆ˜ν–‰ν•  μˆ˜ μžˆμŠ΅λ‹ˆλ‹€.

 

 


 

 

μ‹œμŠ€ν…œ 호좜 (System Call)

 

이쀑 λͺ¨λ“œλŠ” μ‹œμŠ€ν…œμ˜ μ•ˆμ „μ„±μ„ μœ μ§€ν•˜κΈ° μœ„ν•΄ μ‚¬μš©λ©λ‹ˆλ‹€. μ‘μš© ν”„λ‘œκ·Έλž¨μ€ μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹€ν–‰λ˜λ‹€κ°€ νŠΉμ • μ„œλΉ„μŠ€λ‚˜ μžμ›μ— μ ‘κ·Όν•΄μ•Ό ν•  λ•Œ, μ‹œμŠ€ν…œ 콜(System Call)을 ν˜ΈμΆœν•˜μ—¬ 컀널 λͺ¨λ“œλ‘œ μ „ν™˜ν•©λ‹ˆλ‹€.

 

μ‹œμŠ€ν…œ μ½œμ€ μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ 운영체제의 μ„œλΉ„μŠ€λ₯Ό μš”μ²­ν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€μž…λ‹ˆλ‹€. μ‘μš© ν”„λ‘œκ·Έλž¨μ΄ νŠΉμ • κΈ°λŠ₯을 ν•„μš”λ‘œ ν•  λ•Œ, 예λ₯Ό λ“€μ–΄ 파일 읽기, ν”„λ‘œμ„ΈμŠ€ 생성 λ“±, μ‹œμŠ€ν…œ μ½œμ„ ν˜ΈμΆœν•©λ‹ˆλ‹€.

 

 

μ‹œμŠ€ν…œ μ½œμ€ 컀널 λͺ¨λ“œμ—μ„œλ§Œ 싀행될 수 있기 λ•Œλ¬Έμ—, μ‚¬μš©μž λͺ¨λ“œμ—μ„œ 컀널 λͺ¨λ“œλ‘œ μ „ν™˜ν•˜μ—¬ ν•΄λ‹Ή μ„œλΉ„μŠ€λ₯Ό μ²˜λ¦¬ν•˜κ³ , 처리 κ²°κ³Όλ₯Ό λ‹€μ‹œ μ‚¬μš©μž λͺ¨λ“œλ‘œ λ°˜ν™˜ν•©λ‹ˆλ‹€. μ΄λŸ¬ν•œ 이쀑 λͺ¨λ“œ 및 μ‹œμŠ€ν…œ μ½œμ„ 톡해 μš΄μ˜μ²΄μ œλŠ” μ‚¬μš©μžμ™€ ν•˜λ“œμ›¨μ–΄ κ°„μ˜ 효과적인 μƒν˜Έ μž‘μš©κ³Ό μžμ› 관리λ₯Ό λ‹΄λ‹Ήν•©λ‹ˆλ‹€.

 

 


User mode is a restricted execution environment where application programs run. In this mode, access to critical system resources and hardware is limited.

Kernel mode, also known as supervisor or privileged mode, is an execution mode with elevated privileges. The operating system kernel runs in this mode, allowing unrestricted access to system resources.

 

Dual mode refers to a system architecture that supports both user and kernel modes. This dual-level protection enhances system security by segregating user processes from critical system functions.

 

A system call is a mechanism that allows user programs to request services from the operating system kernel. It acts as a bridge between user mode and kernel mode.

 

λŒ“κΈ€