πŸ“— CS/OS

[OS] 운영체제의 μ—­ν• , ꡬ쑰

Dongwoongkim 2023. 8. 13. 23:20

μš΄μ˜μ²΄μ œλž€ ?

  • 운영체제(Operating System, OS)λŠ” μ‚¬μš©μžκ°€ 컴퓨터λ₯Ό μ‰½κ²Œ 닀루고 ν•΄μ£ΌλŠ” μΈν„°νŽ˜μ΄μŠ€μž…λ‹ˆλ‹€. 
  • λ˜ν•œ 컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›μ„ 효율적으둜 κ΄€λ¦¬ν•˜λŠ” μΌμ’…μ˜ μ†Œν”„νŠΈμ›¨μ–΄

 

운영체제 μ’…λ₯˜

  • EX) Window, MAC OS, Unix, Linux, Android, IOS λ“±

운영체제의 μ—­ν• 

크게 λ„€ κ°€μ§€κ°€ μžˆμŠ΅λ‹ˆλ‹€.

 

1. CPU μŠ€μΌ€μ₯΄λ§, ν”„λ‘œμ„ΈμŠ€ 관리 

CPU μ†Œμœ κΆŒμ„ μ–΄λ–€ ν”„λ‘œμ„ΈμŠ€μ—κ²Œ ν• λ‹Ήν• μ§€, ν”„λ‘œμ„ΈμŠ€μ˜ 생성과 μ‚­μ œ, μžμ› ν• λ‹Ή 및 λ°˜ν™˜μ„ 관리

 

2. λ©”λͺ¨λ¦¬ 관리

ν•œμ •λœ λ©”λͺ¨λ¦¬λ₯Ό μ–΄λ–€ ν”„λ‘œμ„ΈμŠ€μ— μ–Όλ§ŒνΌ ν• λ‹Ήν•΄μ•Ό ν•  μ§€ 관리

 

3. λ””μŠ€ν¬ 파일 관리

λ””μŠ€ν¬ νŒŒμΌμ„ μ–΄λ–€ λ°©λ²•μœΌλ‘œ 보관할지 관리

 

4. ν•˜λ“œμ›¨μ–΄ 관리 및 ν•˜λ“œμ›¨μ–΄ μΈν„°νŽ˜μ΄μŠ€ 제곡

I/O λ””λ°”μ΄μŠ€μΈ 마우슀, ν‚€λ³΄λ“œμ™€ 컴퓨터 κ°„ 데이터λ₯Ό μ£Όκ³ λ°›λŠ” 것을 κ΄€λ¦¬ν•˜κ³  λ³΅μž‘ν•œ 과정없이 ν•˜λ“œμ›¨μ–΄ μž₯λΉ„λ₯Ό μ‚¬μš©ν•  수 μžˆλ„λ‘ ν•˜λ“œμ›¨μ–΄ μΈν„°νŽ˜μ΄μŠ€ (= μ†Œν”„νŠΈμ›¨μ–΄) 제곡  

 

ν•œλ§ˆλ””λ‘œ μ •λ¦¬ν•˜λ©΄ μš΄μ˜μ²΄μ œλŠ” ν•˜λ“œμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜κ³ , μ€‘μ•™μ²˜λ¦¬μž₯치, κΈ°μ–΅μž₯치, μž…μΆœλ ₯ μž₯μΉ˜λΌλŠ” μ»΄ν“¨ν„°μ˜ μžμ›μ„ μ‚¬μš©μžκ°€ 효율적으둜 ν™œμš©ν•  수 μžˆλ„λ‘ κ΄€λ¦¬ν•˜λŠ” 경영자 역할을 ν•˜λŠ” μ‹œμŠ€ν…œ μ†Œν”„νŠΈμ›¨μ–΄μž…λ‹ˆλ‹€.

운영체제의 ꡬ쑰

 

μœ μ € ν”„λ‘œκ·Έλž¨μΈ μ‘μš©ν”„λ‘œκ·Έλž¨, μœ ν‹Έλ¦¬ν‹°κ°€ 맨 μœ„μ— 있고 κ·Έ λ‹€μŒμœΌλ‘œ GUI, μ‹œμŠ€ν…œ 콜, 컀널, λ“œλΌμ΄λ²„κ°€ 있으며 κ°€μž₯ 밑에 ν•˜λ“œμ›¨μ–΄κ°€ μžˆλŠ” κ΅¬μ‘°μž…λ‹ˆλ‹€.

 

μ—¬κΈ°μ„œ GUI, System Call, Kernel, Driver 뢀뢄이 λ°”λ‘œ 운영체제λ₯Ό μ§€μΉ­ν•©λ‹ˆλ‹€. 참고둜 GUIκ°€ μ—†κ³  CUI만 μžˆλŠ” λ¦¬λˆ…μŠ€ μ„œλ²„λ„ μžˆμŠ΅λ‹ˆλ‹€.

 

1.  GUI 

  • μ‚¬μš©μžκ°€ μ „μž μž₯μΉ˜μ™€ μƒν˜Έμž‘μš© ν•  수 μžˆλ„λ‘ ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€
  • CUI : κ·Έλž˜ν”½μ΄ μ•„λ‹Œ λͺ…λ Ήμ–΄λ‘œ μ²˜λ¦¬ν•˜λŠ” μΈν„°νŽ˜μ΄μŠ€

2. System call 

  • μš΄μ˜μ²΄μ œκ°€ Kernel에 μ ‘κ·Όν•˜κΈ° μœ„ν•œ μΈν„°νŽ˜μ΄μŠ€μ΄λ©°, μœ μ € ν”„λ‘œκ·Έλž¨μ΄ 운영체제의 μ„œλΉ„μŠ€λ₯Ό λ°›κΈ° μœ„ν•΄ 컀널 ν•¨μˆ˜λ₯Ό ν˜ΈμΆœν•  λ•Œ μ‚¬μš©ν•©λ‹ˆλ‹€.

 

 

μš΄μ˜μ²΄μ œμ—μ„œλŠ” 컀널 λͺ¨λ“œ, μ‚¬μš©μž λͺ¨λ“œλ‘œ λ‚˜λ‰˜μ–΄ κ΅¬λ™λ˜λŠ”λ°, ν”„λ‘œκ·Έλž¨μ΄ κ΅¬λ™λ˜λŠ”λ° μžˆμ–΄ νŒŒμΌμ„ μ½κ±°λ‚˜ μ“°κ±°λ‚˜ 좜λ ₯ν•˜λŠ” λ“± λ§Žμ€ λΆ€λΆ„(I/O μš”μ²­μ— λŒ€ν•œ 처리)이 컀널 λͺ¨λ“œλ₯Ό μ‚¬μš©ν•˜κ³ , μ‹œμŠ€ν…œ μ½œμ€ μ΄λŸ¬ν•œ 컀널 μ˜μ—­μ˜ κΈ°λŠ₯을 μ‚¬μš©μž λͺ¨λ“œκ°€ μ‚¬μš© κ°€λŠ₯ν•˜κ²Œ, 즉 ν”„λ‘œμ„ΈμŠ€κ°€ ν•˜λ“œμ›¨μ–΄μ— 직접 μ ‘κ·Όν•˜μ—¬ ν•„μš”ν•œ κΈ°λŠ₯(I/O μš”μ²­)을 μ‚¬μš©ν•  수 있게 ν•΄μ€λ‹ˆλ‹€.

  • μ‚¬μš©μž λͺ¨λ“œ : I/O 에 λŒ€ν•œ μš”μ²­μ„ ν™•μΈν•˜κ³  컀널 λͺ¨λ“œλ‘œ λ³€ν™˜ ( μœ μ €κ°€ μ ‘κ·Όν•  수 μžˆλŠ” μ˜μ—­μ„ μ œν•œμ μœΌλ‘œ 두어 μžμ›μ— ν•¨λΆ€λ‘œ μ ‘κ·Όν•˜μ§€ λͺ»ν•˜λŠ” λͺ¨λ“œ)
  • 컀널 λͺ¨λ“œ : I/O 에 λŒ€ν•œ μ‹€μ œμ  처리 ( λͺ¨λ“  컴퓨터 μžμ›μ— μ ‘κ·Όν•  수 μžˆλŠ” λͺ¨λ“œ )
이 과정을 톡해 컴퓨터 μžμ›μ— λŒ€ν•œ 직접 접근을 차단할 수 있고 ν”„λ‘œκ·Έλž¨μ„ λ‹€λ₯Έ ν”„λ‘œκ·Έλž¨μœΌλ‘œλΆ€ν„° λ³΄ν˜Έν•  수 μžˆμŠ΅λ‹ˆλ‹€.

 

ModeBit

  • μ‹œμŠ€ν…œ 콜의 modebitλŠ” μ‚¬μš©μž λͺ¨λ“œ(1)κ³Ό 컀널λͺ¨λ“œ(0) 사이λ₯Ό μ „ν™˜ν•˜κΈ° μœ„ν•œ λΉ„νŠΈμž…λ‹ˆλ‹€.
  • μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹œμŠ€ν…œμ½œμ„ ν˜ΈμΆœν•˜λ©΄, 컀널 λͺ¨λ“œλ‘œ μ „ν™˜λ˜μ–΄ μ‹œμŠ€ν…œμ½œ ν•¨μˆ˜λ₯Ό μ‹€ν–‰ν•˜κ³ , 싀행이 μ™„λ£Œλ˜λ©΄ λ‹€μ‹œ μ‚¬μš©μž λͺ¨λ“œλ‘œ λŒμ•„κ°‘λ‹ˆλ‹€
  • μ‚¬μš©μž λͺ¨λ“œμ—μ„œλŠ” μ‹œμŠ€ν…œ μ½œμ„ λͺ»ν•˜λ„둝 λ§‰μ•„μ„œ ν•œμ •λœ 일만 μˆ˜ν–‰ν•  수 있음.
  • μœ μ € ν”„λ‘œκ·Έλž¨μ΄ 카메라λ₯Ό μ΄μš©ν•˜λ €κ³  ν•œλ‹€.
    • 1. μ‚¬μš©μž λͺ¨λ“œμ—μ„œ μ‹œμŠ€ν…œ 콜 ν˜ΈμΆœν•˜μ—¬ modebit 1 -> 0
    • 2. 컀널 λͺ¨λ“œμ—μ„œ μžμ›μ„ μ΄μš©ν•œ 둜직 μˆ˜ν–‰
    • 3. modebit 0 -> 1 
    • 4. μ‚¬μš©μž λͺ¨λ“œμ—μ„œ 이후 둜직 μˆ˜ν–‰

 

3. Kernel

운영체제의 핡심 λΆ€λΆ„μ΄μž System Call μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜λ©° λ³΄μ•ˆ, λ©”λͺ¨λ¦¬, ν”„λ‘œμ„ΈμŠ€, νŒŒμΌμ‹œμŠ€ν…œ , I/O λ””λ°”μ΄μŠ€, I/O μš”μ²­ 관리 λ“± μš΄μ˜μ²΄μ œμ—μ„œ 쀑좔적인 역할을 ν•©λ‹ˆλ‹€.

 

λ”°λΌμ„œ, μ»€λ„μ˜ μ•ˆμ •μ„±κ³Ό λ³΄μ•ˆμ„± = 운영체제의 μ•ˆμ •μ„±κ³Ό λ³΄μ•ˆμ„±μ— 직접적인 영ν–₯을 미치며, 운영체제 μ „μ²΄μ˜ μ•ˆμ •μ„±κ³Ό λ³΄μ•ˆμ„±μ„ κ²°μ •μ§“λŠ” μ€‘μš”ν•œ μš”μ†Œ

 

4. Driver

ν•˜λ“œμ›¨μ–΄λ₯Ό μ œμ–΄ν•˜κΈ° μœ„ν•œ μ†Œν”„νŠΈμ›¨μ–΄