[운영체제] μš΄μ˜μ²΄μ œλž€ 무엇인가?

πŸ§ͺ Computer Science/Operating System

μš΄μ˜μ²΄μ œλž€ 무엇인가?

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

ν•˜λ“œμ›¨μ–΄ λ°”λ‘œ μœ„μ— μ„€μΉ˜λ˜μ–΄ μ‚¬μš©μž 및 λ‹€λ₯Έ λͺ¨λ“  μ†Œν”„νŠΈμ›¨μ–΄μ™€ ν•˜λ“œμ›¨μ–΄λ₯Ό μ—°κ²°ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄ 계측
  • 쒁은 의미의 운영체제: 컀널, 운영체제의 ν•΅μ‹¬λΆ€λΆ„μœΌλ‘œ λ©”λͺ¨λ¦¬μ— μƒμ£Όν•˜λŠ” λΆ€λΆ„
  • 넓은 의미의 운영체제: 컀널 + μ‹œμŠ€ν…œ μœ ν‹Έλ¦¬ν‹°

운영체제의 λͺ©μ 

  1. 컴퓨터 μ‹œμŠ€ν…œμ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” ν™˜κ²½ 제곡

    • λ™μ‹œ μ‚¬μš©μž/ν”„λ‘œκ·Έλž¨λ“€μ΄ 각각 λ…μžμ  μ»΄ν“¨ν„°μ—μ„œ μˆ˜ν–‰λ˜λŠ” 것 같은 ν™˜μƒ 제곡
    • ν•˜λ“œμ›¨μ–΄λ₯Ό 직접 λ‹€λ£¨λŠ” λ³΅μž‘ν•œ 뢀뢄을 μš΄μ˜μ²΄μ œκ°€ λŒ€ν–‰
  2. 컴퓨터 μ‹œμŠ€ν…œμ˜ μžμ›(CPU, Memory, I/O device)을 효율적으둜 관리

    • μ‚¬μš©μž κ°„μ˜ ν˜•ν‰μ„± μžˆλŠ” μžμ› λΆ„λ°°(주어진 μžμ›μœΌλ‘œ μ΅œλŒ€ν•œμ˜ μ„±λŠ₯을 내도둝)
    • μ‚¬μš©μžμ™€ 운영체제 μžμ‹ μ˜ 보호
    • ν”„λ‘œμ„ΈμŠ€, 파일, λ©”μ‹œμ§€ 등을 관리

운영체제의 λΆ„λ₯˜

  1. λ™μ‹œ μž‘μ—… κ°€λŠ₯ μ—¬λΆ€

    • 단일 μž‘μ—…(Single tasking) - κ³Όκ±°
      • ν•œ λ²ˆμ— ν•˜λ‚˜μ˜ μž‘μ—…λ§Œ 처리
    • 닀쀑 μž‘μ—…(Multi tasking) - ν˜„λŒ€
      • λ™μ‹œμ— 두 개 μ΄μƒμ˜ μž‘μ—… 처리
      • ex) UNIX, MS Windowsμ—μ„œλŠ” ν•œ λͺ…λ Ήμ˜ μˆ˜ν–‰μ΄ λλ‚˜κΈ° 전에 λ‹€λ₯Έ λͺ…λ Ήμ΄λ‚˜ ν”„λ‘œκ·Έλž¨ μˆ˜ν–‰ κ°€λŠ₯
  2. μ‚¬μš©μžμ˜ 수

    • 단일 μ‚¬μš©μž(Single user)
      • ex) MS-DOS, MS Windows
    • 닀쀑 μ‚¬μš©μž(Multi user)
      • ex) UNIX, NT server
  3. 처리 방식

    • 일괄 처리(batch processing)
      • μž‘μ—… μš”μ²­μ˜ μΌμ •λŸ‰μ„ λͺ¨μ•„μ„œ ν•œλ²ˆμ— 처리
      • μž‘μ—… μ’…λ£ŒκΉŒμ§€ κΈ°λ‹€λ €μ•Ό 함
    • μ‹œλΆ„ν• (time sharing)
      • μ—¬λŸ¬ μž‘μ—… μˆ˜ν–‰ μ‹œ, 컴퓨터 처리 λŠ₯λ ₯을 일정 μ‹œκ°„ λ‹¨μœ„λ‘œ λΆ„ν•  μ‚¬μš©
      • 일괄 μ²˜λ¦¬μ— λΉ„ν•΄ 짧은 응닡 μ‹œκ°„ - UINX
    • μ‹€μ‹œκ°„(Realtime OS)
      • Deadline이 쑴재 -> 정해진 μ‹œκ°„μ•ˆμ— νŠΉμ • μž‘μ—…μ΄ λ°˜λ“œμ‹œ μ’…λ£Œλ¨μ„ 보μž₯
      • ex) 미사일 μ œμ–΄, λ°˜λ„μ²΄ μž₯λΉ„
      • Hard realtime system - ν”Όν•΄μ˜ 정도↑
      • Soft realtime system - ν”Όν•΄μ˜ 정도↓

μš©μ–΄ μ •μ˜

μ»΄ν“¨ν„°μ—μ„œ μ—¬λŸ¬ μž‘μ—…μ„ λ™μ‹œμ— μˆ˜ν–‰ν•˜λŠ” 의미λ₯Ό 가진 μš©μ–΄λ“€μ˜ μ •μ˜

  • Multi tasking: μ—¬λŸ¬ μž‘μ—…μ΄ λ™μ‹œμ— μˆ˜ν–‰
  • Mutliprogramming: μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ΄ λ©”λͺ¨λ¦¬μ— μ˜¬λΌκ°€ 있음
  • Time sharing: CPU의 μ‹œκ°„μ„ λΆ„ν• ν•˜μ—¬ λ‚˜λˆ„μ–΄ 씀
  • Multiprocess: μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ΄ λ™μ‹œμ— μˆ˜ν–‰
  • Multiprocessor: CPU(processor)κ°€ μ—¬λŸ¬ 개 있음