λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
πŸ’ λ³΄μ•ˆ·μ·¨μ•½μ /πŸ”Έμ‹œμŠ€ν…œ·μš΄μ˜μ²΄μ œ

[OS] μ‹œμŠ€ν…œ ꡬ쑰

by Jenny:! 2023. 10. 1.

1. μš΄μ˜μ²΄μ œκ°€ ν•˜λŠ” 일

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

일반적으둜 μš΄μ˜μ²΄μ œμ— λŒ€ν•œ μ ν•©ν•œ μ •μ˜λŠ” μ—†μœΌλ©°, λ‹¨μˆœν•˜κ²Œ λ³Έλ‹€λ©΄ μš΄μ˜μ²΄μ œλŠ” 운영체제의 곡급업체가 μ œκ³΅ν•˜λŠ” λͺ¨λ“  것을 ν¬ν•¨ν•˜λŠ” 것이닀. ν¬ν•¨λœ κΈ°λŠ₯은 μ‹œμŠ€ν…œλ§ˆλ‹€ λ‹€λ₯΄λ©°, μš©λ„μ— 따라 μΆ”κ°€ κΈ°λŠ₯을 μ œκ³΅ν•œλ‹€. 예λ₯Ό λ“€λ©΄, λ§Žμ€ OSκ°€ GUI 기반 μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜μ§€λ§Œ, μ„œλ²„μš© LInuxλŠ” 일반적으둜 GUIκ°€ ν¬ν•¨λ˜μ–΄ μžˆμ§€ μ•ŠμœΌλ©° 터미널 ν˜•νƒœλ‘œ μ‚¬μš©λœλ‹€.

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

  • μ»΄ν“¨ν„°μ—μ„œ 항상 μ‹€ν–‰λ˜λŠ” ν”„λ‘œκ·Έλž¨(called the Kernel)
    - μ‹œμŠ€ν…œ ν”„λ‘œκ·Έλž¨ : μ‹œμŠ€ν…œ μž‘λ™κ³Ό κ΄€λ ¨μžˆμ§€λ§Œ μ»€λ„μ˜ 일뢀일 ν•„μš”λŠ” μ—†μŒ
    - μ‘μš© ν”„λ‘œκ·Έλž¨ : μ‹œμŠ€ν…œ μž‘λ™κ³Ό κ΄€λ ¨ μ—†μŒ
    - 미듀웨어 : μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό 운영체제 μ‚¬μ΄μ˜ μ€‘κ°œ 역할을 μˆ˜ν–‰ν•¨
  • μ‘μš© ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ ν™˜κ²½μ„ 제곡
  • 컴퓨터 ν•˜λ“œμ›¨μ–΄λ₯Ό κ΄€λ¦¬ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄
  • μ‚¬μš©μžμ™€ 컴퓨터 ν•˜λ“œμ›¨μ–΄ κ°„μ˜ μΈν„°νŽ˜μ΄μŠ€ μ—­ν• 

 

운영체제의 λ‹€μ–‘ν•œ μ“°μž„

슀마트폰, PC, μ„œλ²„, IoT μž₯치λ₯Ό ν¬ν•¨ν•˜λŠ” μžλ™μ°¨, κ°€μ „μ œν’ˆ

 

컴퓨터 μ‹œμŠ€ν…œμ˜ ꡬ쑰


user

↕️

application programs

(compilers, web browsers, development kits, etc.)

↕️ ↕️ ↕️

operating system

↕️ ↕️ ↕️

computer hareware

(CPU, memory, I/O devices, etc.)


 

운영체제의 μ—­ν• 

  1. ν”„λ‘œμ„ΈμŠ€ 관리 (Process Management)
    • ν”„λ‘œμ„ΈμŠ€ 생성·μ†Œλ©Έ, λ¬Έλ§₯ κ΅ν™˜(context switch), μŠ€μΌ€μ€„λ§(μ–΄λ–€ ν”„λ‘œμ„ΈμŠ€μ— CPUλ₯Ό 쀄지 κ²°μ •) 등을 λ‹΄λ‹Ήν•œλ‹€.
    • λ©€ν‹°νƒœμŠ€ν‚Ή ν™˜κ²½μ—μ„œ μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ΄ λ™μ‹œμ— μ‹€ν–‰λ˜λŠ” κ²ƒμ²˜λŸΌ 보이게 ν•˜λŠ” 핡심 κΈ°λŠ₯이닀.
  2. λ©”λͺ¨λ¦¬ 관리 (Memory Management)
    • 물리 λ©”λͺ¨λ¦¬(RAM)λ₯Ό ν”„λ‘œμ„ΈμŠ€λ“€μ— 효율적으둜 ν• λ‹Ή·ν•΄μ œν•˜κ³  가상메λͺ¨λ¦¬(paging, swapping)λ₯Ό 톡해 λ©”λͺ¨λ¦¬ μ£Όμ†Œ 곡간을 격리·ν™•μž₯ν•œλ‹€.
    • λ³΄ν˜Έμ™€ μ£Όμ†Œ λ³€ν™˜(virtual address ↔ physical address)을 μ œκ³΅ν•œλ‹€.
  3. 파일 μ‹œμŠ€ν…œ 관리 (File System Management)
    • 데이터 μ €μž₯을 μœ„ν•œ 계측적 디렉터리 ꡬ쑰와 파일 μž…μΆœλ ₯ μΈν„°νŽ˜μ΄μŠ€λ₯Ό μ œκ³΅ν•˜κ³ , 파일 κΆŒν•œ·λ¬΄κ²°μ„±·μΊμ‹±μ„ κ΄€λ¦¬ν•œλ‹€.
  4. μž…μΆœλ ₯(I/O) 및 λ””λ°”μ΄μŠ€ 관리 (I/O & Device Management)
    • λ””λ°”μ΄μŠ€ λ“œλΌμ΄λ²„λ₯Ό 톡해 ν•˜λ“œμ›¨μ–΄(λ””μŠ€ν¬, λ„€νŠΈμ›Œν¬ μΉ΄λ“œ, ν‚€λ³΄λ“œ, λ””μŠ€ν”Œλ ˆμ΄ λ“±)λ₯Ό μΆ”μƒν™”ν•˜κ³ , I/O μš”μ²­μ„ μŠ€μΌ€μ€„·λ²„퍼링·μ€‘μž¬ν•œλ‹€.
  5. λ³΄μ•ˆκ³Ό μ ‘κ·Ό μ œμ–΄ (Security & Protection)
    • μ‚¬μš©μž·ν”„λ‘œμ„ΈμŠ€ κΆŒν•œ 관리λ₯Ό 톡해 μžμ› 접근을 ν†΅μ œν•˜κ³ , 인증·κΆŒν•œ·κ°μ‚¬(둜그) κΈ°λŠ₯을 μ œκ³΅ν•΄ μ‹œμŠ€ν…œμ„ λ³΄ν˜Έν•œλ‹€.

 

운영체제 : μ‚¬μš©μž 관점

  • ν•œ λͺ…μ˜ μ‚¬μš©μžκ°€ μžμ›μ„ λ…μ ν•˜λ„λ‘ μ„€κ³„ν•œλ‹€.
  • μ‚¬μš©μžκ°€ μˆ˜ν–‰ν•˜λŠ” μž‘μ—…μ˜ νš¨μœ¨μ„±μ„ μ΅œλŒ€ν™”ν•œλ‹€. (νŽΈμ˜μ„±, μ„±λŠ₯, μš©μ΄μ„±)
  • 일반적으둜 λ‹€μˆ˜μ˜ μ‚¬μš©μž μ‚¬μ΄μ—μ„œ μžμ› 곡유 ν™œμš©μ—λŠ” μ‹ κ²½ μ“°μ§€ μ•ŠλŠ”λ‹€.
  • μ‚¬μš©μžμ™€ μƒν˜Έ μž‘μš©ν•˜κΈ°λ„ ν•œλ‹€. (ν‚€λ³΄λ“œ, 마우슀, ν„°μΉ˜ 슀크린, μŒμ„± 인식)
    - μ‚¬μš©μžμ˜ κ°œμž… 없이 μž‘λ™ν•˜λŠ” ν˜•νƒœλ„ 쑴재 (μ°¨λŸ‰ κ³„κΈ°νŒ, κ°€μ „μ œν’ˆ)

 

운영체제 : μ‹œμŠ€ν…œ 관점

  • OSλŠ” ν•˜λ“œμ›¨μ–΄μ™€ κ°€μž₯ λ°€μ ‘ν•˜κ²Œ μ—°κ΄€λœ μ†Œν”„νŠΈμ›¨μ–΄λ‹€.
  • μ‚¬μš©μžκ°€ 컴퓨터 ν”„λ‘œκ·Έλž¨μ„ μ‚¬μš©ν•  λ•Œ μš”κ΅¬λ˜λŠ” μžμ›λ“€μ„ ν• λ‹Ήν•˜λŠ” μžμ› ν• λ‹Ήμž(resource allocator) 역할을 μˆ˜ν–‰ν•œλ‹€.
  • λ‹€μˆ˜μ˜ μžμ› μš”μ²­μ— λŒ€ν•΄ 컴퓨터 μ‹œμŠ€ν…œμ„ 효율적이고 κ³΅μ •ν•˜κ²Œ μš΄μ˜ν•  수 μžˆλ„λ‘ κ²°μ •ν•œλ‹€.
  • μ—¬λŸ¬ μž…μΆœλ ₯ μž₯μΉ˜μ™€ ν”„λ‘œκ·Έλž¨μ„ μ œμ–΄ν•˜λŠ” μ œμ–΄ ν”„λ‘œκ·Έλž¨ 역할을 μˆ˜ν–‰ν•œλ‹€.
    - ν”„λ‘œκ·Έλž¨ μ—λŸ¬, λΆ€μ μ ˆν•œ μ‚¬μš© λ°©μ§€

2. 운영체제 μ„œλΉ„μŠ€

  • ν”„λ‘œκ·Έλž¨μ˜ μ‹€ν–‰ ν™˜κ²½ 제곡
  • μ‚¬μš©μžλ₯Ό μœ„ν•œ κΈ°λŠ₯
    • μ‚¬μš©μž μΈν„°νŽ˜μ΄μŠ€(GUI, CLI, ν„°μΉ˜)
    • ν”„λ‘œκ·Έλž¨ μˆ˜ν–‰
    • μž…μΆœλ ₯ μ—°μ‚°
    • 파일 μ‹œμŠ€ν…œ μ‘°μž‘
    • 톡신
    • 였λ₯˜ 탐지
  • 효율적인 μ‹œμŠ€ν…œ λ™μž‘μ„ μœ„ν•œ κΈ°λŠ₯
    • μžμ› ν• λ‹Ή
    • 기둝 μž‘μ„±(λ‘œκΉ…)
    • 보호 및 λ³΄μ•ˆ(Protection and Security)

 

3. μ‚¬μš©μžμ™€ 운영체제 μΈν„°νŽ˜μ΄μŠ€

  • μ‚¬μš©μžκ°€ OSλ₯Ό μ‘°μž‘ν•˜λŠ” 방법
    • Command Line Interface(CLI)
      - Batch User Interface
    • Graphical User Interface(GUI)
    • ν„°μΉ˜ 슀크린
    • μŒμ„±
    • CLI둜 직접 λͺ…λ Ή μž…λ ₯