λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
μŠ€ν„°λ””/운영체제

[μš΄μ˜μ²΄μ œμ™€ μ •λ³΄κΈ°μˆ μ˜ 원리] 2μž₯ 운영체제 κ°œμš”

by moon101 2023. 2. 18.

 

 

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

  • 컴퓨터 ν•˜λ“œμ›¨μ–΄ λ°”λ‘œ μœ—λ‹¨μ— μ„€μΉ˜λ˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μ΄λ©°,
  • μ‚¬μš©μž 및 λ‹€λ₯Έ λͺ¨λ“  μ†Œν”„νŠΈμ›¨μ–΄μ™€ ν•˜λ“œμ›¨μ–΄λ₯Ό μ—°κ²°ν•˜λŠ” μ†Œν”„νŠΈμ›¨μ–΄μ΄λ‹€. 

 

μ»€λ„μ΄λž€?

  • λ©”λͺ¨λ¦¬μ— μƒμ£Όν•˜λŠ” 운영체제의 뢀뢄을 λ§ν•œλ‹€. 

운영체제의 2가지 μ£Όμš” κΈ°λŠ₯

  • 컴퓨터 μ‹œμŠ€ν…œ λ‚΄μ˜ μžμ›(resource)을 효율적으둜 κ΄€λ¦¬ν•˜λŠ” 것
  • 컴퓨터 μ‹œμŠ€ν…œμ„ νŽΈλ¦¬ν•˜κ²Œ μ‚¬μš©ν•  수 μžˆλŠ” ν™˜κ²½μ„ μ œκ³΅ν•˜λŠ” 것

운영체제의 λΆ„λ₯˜

  • λ™μ‹œ μž‘μ—… 여뢀에 따라 
    • λ‹¨μΌμž‘μ—…(single tasking)
    • λ‹€μ€‘μž‘μ—…(multi tasking) : μš΄μ˜μ²΄μ œκ°€ λ‹€μ€‘μž‘μ—…μ„ μ²˜λ¦¬ν•  λ•Œμ—λŠ” μ—¬λŸ¬ ν”„λ‘œκ·Έλž¨μ΄ CPU와 λ©”λͺ¨λ¦¬λ₯Ό κ³΅μœ ν•œλ‹€. 
  • μž‘μ—…μ„ μ²˜λ¦¬ν•˜λŠ” 방식에 따라
    • μΌκ΄„μ²˜λ¦¬(batch processing) : μš”μ²­λœ μž‘μ—…μ„ μΌμ •λŸ‰μ”© λͺ¨μ•„μ„œ ν•œκΊΌλ²ˆμ— μ²˜λ¦¬ν•˜λŠ” 방식이며, λͺ¨λ“  μž‘μ—…μ΄ μ™„μ „νžˆ μ’…λ£Œλœ 후에 κ²°κ³Όλ₯Ό 얻을 수 있기 λ•Œλ¬Έμ— μ‘λ‹΅μ‹œκ°„μ΄ κΈΈλ‹€λŠ” 단점이 μžˆλ‹€.
    • μ‹œλΆ„ν•  방식(time sharing) : μ—¬λŸ¬ μž‘μ—…μ„ μˆ˜ν–‰ν•  λ•Œ μ»΄ν“¨ν„°μ˜ 처리 λŠ₯λ ₯을 μΌμ •ν•œ λ‹¨μœ„λ‘œ λΆ„ν• ν•΄ μ‚¬μš©ν•˜λŠ” 방식이며, μš”μ¦˜ λŒ€λ‹€μˆ˜μ˜ μ»΄ν“¨ν„°λŠ” μ‹œλΆ„ν•  방식을 μ‚¬μš©ν•œλ‹€. μ—¬λŸ¬ μ‚¬μš©μžμ˜ μž‘μ—…μ„ 짧은 μ‹œκ°„ λ‹¨μœ„μ”© λ²ˆκ°ˆμ•„κ°€λ©° μ²˜λ¦¬ν•˜κΈ° λ•Œλ¬Έμ— 짧은 μ‘λ‹΅μ‹œκ°„μ„ κ°–κ²Œ 되며, μ‚¬μš©μžλŠ” 컴퓨터λ₯Ό λ…μ μ μœΌλ‘œ μ‚¬μš©ν•˜λŠ” κ²ƒμ²˜λŸΌ λŠλ‚€λ‹€. μ‚¬μš©μžμ˜ μš”μ²­μ— λŒ€ν•œ κ²°κ³Όλ₯Ό κ³§λ°”λ‘œ 얻을 수 μžˆλŠ” μ‹œμŠ€ν…œμ„ λŒ€ν™”ν˜• μ‹œμŠ€ν…œ(interactive system)이라고 ν‘œν˜„ν•˜λ©°, μ‹œλΆ„ν•  λ°©μ‹μ˜ λŒ€ν‘œμ μΈ νŠΉμ§•μ΄λ‹€. 
    • μ‹€μ‹œκ°„(real time) : 정해진 μ‹œκ°„ μ•ˆμ— μ–΄λ– ν•œ 일이 λ°˜λ“œμ‹œ μ²˜λ¦¬λ¨μ„ 보μž₯ν•΄μ•Ό ν•˜λŠ” μ‹œμŠ€ν…œμ—μ„œ μ‚¬μš©λœλ‹€.  

운영체제의 μžμ› 관리 κΈ°λŠ₯

  • ν•˜λ“œμ›¨μ–΄ μžμ›: CPU와 λ©”λͺ¨λ¦¬, μ£Όλ³€μž₯치, μž…μΆœλ ₯ μž₯치(ν•˜λ“œλ””μŠ€ν¬, ν‚€λ³΄λ“œ, λͺ¨λ‹ˆν„°)
    • CPU μŠ€μΌ€μ₯΄λ§ : CPUλ₯Ό κ°€μž₯ 효율적으둜, νŠΉμ • ν”„λ‘œμ„ΈμŠ€κ°€ λΆˆμ΄μ΅μ„ λ‹Ήν•˜μ§€ μ•Šλ„λ‘ ν•˜λ©΄μ„œ μ—¬λŸ¬ 개의 ν”„λ‘œμ„ΈμŠ€κ°€ λ™μ‹œμ— μˆ˜ν–‰λ  수 μžˆλ„λ‘ ν•œλ‹€.
      • μ„ μž…μ„ μΆœ (First Come First Served: FCFS)
      • λΌμš΄λ“œ 둜빈 (Round Robin) : CPUλ₯Ό ν•œ 번 ν• λ‹Ήλ°›μ•„ μ‚¬μš©ν•  수 μžˆλŠ” μ‹œκ°„μ„ μΌμ •ν•˜κ²Œ κ³ μ •λœ μ‹œκ°„μœΌλ‘œ μ œν•œν•œλ‹€. 
      • μš°μ„ μˆœμœ„ (priority)
    • λ©”λͺ¨λ¦¬ μŠ€μΌ€μ₯΄λ§ : μš΄μ˜μ²΄μ œλŠ” λ©”λͺ¨λ¦¬μ˜ μ–΄λŠ 뢀뢄이 μ–΄λ–€ ν”„λ‘œκ·Έλž¨μ— μ˜ν•΄ μ‚¬μš©λ˜κ³  μžˆλŠ”μ§€λ₯Ό μ£Όμ†Œλ₯Ό 톡해 κ΄€λ¦¬ν•œλ‹€. μš΄μ˜μ²΄μ œλŠ” ν”„λ‘œκ·Έλž¨μ— λ©”λͺ¨λ¦¬κ°€ ν•„μš”ν•  λ•Œ ν• λ‹Ήν•˜κ³ , ν•„μš”ν•˜μ§€ μ•Šμ„ λ•Œ νšŒμˆ˜ν•œλ‹€. μš΄μ˜μ²΄μ œλŠ” 각 ν”„λ‘œμ„ΈμŠ€κ°€ μžμ‹ μ˜ λ©”λͺ¨λ¦¬ μ˜μ—­μ—λ§Œ μ ‘κ·Όν•  수 μžˆλ„λ‘ 관리해야 ν•œλ‹€. 
      • κ³ μ •λΆ„ν• (fixed partition) 방식: 물리적 λ©”λͺ¨λ¦¬λ₯Ό λͺ‡ 개의 λΆ„ν• λ‘œ 미리 λ‚˜λˆ„μ–΄ κ΄€λ¦¬ν•œλ‹€. 
      • κ°€λ³€λΆ„ν•  (variable partition) 방식: 맀 μ‹œμ  ν”„λ‘œκ·Έλž¨μ˜ 크기에 맞게 λ©”λͺ¨λ¦¬λ₯Ό λΆ„ν• ν•΄μ„œ μ‚¬μš©ν•˜λŠ” 방식이닀. 
      • 가상메λͺ¨λ¦¬ (virtual memory) 방식: ν˜„μž¬ 제일 많이 μ‚¬μš©λ˜κ³  μžˆλ‹€. 물리적 λ©”λͺ¨λ¦¬λ³΄λ‹€ 더 큰 ν”„λ‘œκ·Έλž¨μ΄ μ‹€ν–‰λ˜λŠ” 것을 μ§€μ›ν•œλ‹€. 
  • μ†Œν”„νŠΈμ›¨μ–΄ μžμ›

μ»¨νŠΈλ‘€λŸ¬λž€?

  • μ£Όλ³€μž₯μΉ˜λ“€μ€ 각 μž₯μΉ˜λ§ˆλ‹€ κ·Έ μž₯μΉ˜μ—μ„œ μΌμ–΄λ‚˜λŠ” 업무λ₯Ό κ΄€λ¦¬ν•˜κΈ° μœ„ν•œ μΌμ’…μ˜ μž‘μ€ CPUλ₯Ό 가지고 μžˆλŠ”λ° 이것을 컨트둀러(controller)라고 λΆ€λ₯Έλ‹€. μ»¨νŠΈλ‘€λŸ¬λŠ” ν•΄λ‹Ή μž₯μΉ˜μ— λŒ€ν•œ 업무λ₯Ό μ²˜λ¦¬ν•˜κ³  이λ₯Ό 메인 CPU에 μΈν„°λŸ½νŠΈλ₯Ό λ°œμƒμ‹œμΌœλ³΄κ³  ν•˜λŠ” 역할을 ν•œλ‹€. 

 

 

 

 

 

참고자료

https://www.tutorialspoint.com/operating_system/os_overview.htm

λŒ“κΈ€