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

[CS] 운영체제 기초 지식 정리 (3/3)

by The Future Engineer, Lucy 2024. 11. 20.
728x90
λ°˜μ‘ν˜•

가상 λ©”λͺ¨λ¦¬

가상 λ©”λͺ¨λ¦¬λž€

  • ν”„λ‘œμ„ΈμŠ€μ˜ μΌλΆ€λ§Œ λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•˜κ³ , λ‚˜λ¨Έμ§€λŠ” λ””μŠ€ν¬μ— λ‘” μƒνƒœλ‘œ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰ν•˜λŠ” 방식.
  • ν”„λ‘œμ„ΈμŠ€ 전체가 λ©”λͺ¨λ¦¬μ— μ˜¬λΌμ˜€μ§€ μ•Šμ•„λ„ ν”„λ‘œμ„ΈμŠ€λ₯Ό μ‹€ν–‰ν•˜λŠ” 데 λ¬Έμ œκ°€ μ—†λ‹€λŠ” μ μ—μ„œ μ°©μ•ˆλ¨.
  • μ‚¬μš©μžμ—κ²ŒλŠ” ν”„λ‘œμ„ΈμŠ€ 전체가 λ©”λͺ¨λ¦¬μ— λ‘œλ“œλœ κ²ƒμ²˜λŸΌ λ³΄μ΄μ§€λ§Œ, μ‹€μ œλ‘œλŠ” 전체가 λ‘œλ“œλœ 것이 μ•„λ‹ˆμ–΄μ„œ 가상 λ©”λͺ¨λ¦¬λΌ 함.
  • 가상 λ©”λͺ¨λ¦¬ μž₯점
    • ν”„λ‘œκ·Έλž¨μ΄ λ©”λͺ¨λ¦¬ 크기에 λŒ€ν•œ μ œμ•½μ„ 덜 받을 수 있음.
    • λ™μ‹œμ— λ§Žμ€ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λ―€λ‘œ CPU 이용λ₯ κ³Ό μ²˜λ¦¬μœ¨μ€ 높일 수 있음.
    • ν•„μš”ν•œ μ˜μ—­λ§Œ λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•΄ μŠ€μ™€ν•‘ 회수λ₯Ό μ€„μ—¬μ„œ ν”„λ‘œκ·Έλž¨ μ‹€ν–‰ 속도λ₯Ό 높일 수 있음.

μš”κ΅¬ νŽ˜μ΄μ§•

  • ν”„λ‘œμ„ΈμŠ€μ—μ„œ ν•„μš”ν•œ νŽ˜μ΄μ§€λ§Œ λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•˜λŠ” 방식
  • νŽ˜μ΄μ§€λ₯Ό λͺ¨λ‘ λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•˜μ§€ μ•Šκ³  μ΄ˆκΈ°μ— ν•„μš”ν•œ μ˜μ—­λ§Œ λ‘œλ“œν•œ ν›„ λ‹€λ₯Έ μ˜μ—­μ€ μš”μ²­μ΄ 올 λ•Œ λ©”λͺ¨λ¦¬μ— λ‘œλ“œ.
  • ν•„μš”ν•œ νŽ˜μ΄μ§€λ₯Ό 물리 λ©”λͺ¨λ¦¬μ— λ‘œλ“œν•˜κ³ , ν•„μš”ν•˜μ§€ μ•Šμ€ νŽ˜μ΄μ§€λŠ” λ””μŠ€ν¬μ— μ €μž₯.
  • ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν•˜λ‹€κ°€ 물리 λ©”λͺ¨λ¦¬μ— ν•„μš”ν•œ νŽ˜μ΄μ§€κ°€ 없을 λ•Œ 이λ₯Ό νŽ˜μ΄μ§€ 폴트라고 함.
    • νŽ˜μ΄μ§€ ν΄νŠΈκ°€ λ°œμƒν•˜λ©΄ λ””μŠ€ν¬μ—μ„œ ν•„μš”ν•œ νŽ˜μ΄μ§€λ₯Ό μŠ€μ™‘ 인. μ΄λ•Œ νŽ˜μ΄μ§€μ— ν•΄λ‹Ήν•˜λŠ” λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ 물리 λ©”λͺ¨λ¦¬μ— μžˆλŠ”μ§€λŠ” νŽ˜μ΄μ§€ ν…Œμ΄λΈ”λ‘œ νŒŒμ•… κ°€λŠ₯.

μŠ€λ ˆμ‹±

  • λ™μ‹œμ— 일정 수 μ΄μƒμ˜ ν”„λ‘œκ·Έλž¨μ„ μ‹€ν–‰ν–ˆμ„ λ•Œ 였히렀 CPU 이용λ₯ μ΄ λ–¨μ–΄μ§€λŠ” 상황
  • 가상 λ©”λͺ¨λ¦¬λ₯Ό κ΅¬ν˜„ν•΄ 닀쀑 ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ©΄ CPU 이용λ₯ μ΄ 높아짐. κ·ΈλŸ¬λ‚˜ 일정 수 μ΄μƒμœΌλ‘œ 닀쀑 ν”„λ‘œκ·Έλž˜λ°μ„ ν•˜λ©΄ νŽ˜μ΄μ§€ ν΄νŠΈκ°€ 자주 일어남. ➑️ λ””μŠ€ν¬ μ˜μ—­μ—μ„œ ν•„μš”ν•œ νŽ˜μ΄μ§€λ₯Ό μŠ€μ™‘ μΈν•˜κ³  λΆˆν•„μš”ν•œ νŽ˜μ΄μ§€λ₯Ό μŠ€μ™‘ μ•„μ›ƒν•˜λŠ” μž‘μ—…λ„ 자주 ν•˜κ²Œ 됨.
    • 닀쀑 ν”„λ‘œκ·Έλž˜λ° 정도가 일정 μˆ˜μ€€ 이상 높아지면 νŽ˜μ΄μ§•μ΄ λΉˆλ²ˆν•˜κ²Œ μΌμ–΄λ‚˜κ²Œ 되고 μ‹€μ§ˆμ μœΌλ‘œ CPU 이용λ₯ μ΄ λ–¨μ–΄μ§€λŠ” μŠ€λ ˆμ‹±μ΄ λ°œμƒ

μŠ€λ ˆμ‹± λ°œμƒ μ‹œμ 

  • μŠ€λ ˆμ‹±μ„ μ˜ˆλ°©ν•˜λ €λ©΄ μ›Œν‚Ή μ„ΈνŠΈλ₯Ό μ„€μ •ν•˜λŠ” 방법이 있음.
    • μ›Œν‚Ή μ„ΈνŠΈ : 지역성을 기반으둜 자주 μ‚¬μš©ν•˜λŠ” νŽ˜μ΄μ§€λ₯Ό μ €μž₯ν•΄ λ‘λŠ” 것.
    • μ›Œν‚Ή μ„ΈνŠΈλ₯Ό λ°”νƒ•μœΌλ‘œ 자주 μ‚¬μš©ν•˜λŠ” νŽ˜μ΄μ§€λ₯Ό 물리 λ©”λͺ¨λ¦¬μ˜ ν”„λ ˆμž„μ— κ³ μ •ν•˜λ©΄ νŽ˜μ΄μ§€ ν΄νŠΈκ°€ λΉˆλ²ˆν•˜κ²Œ λ°©μƒν•˜λŠ” ν˜„μƒμ„ 방지할 수 있음.

μΊμ‹œ λ©”λͺ¨λ¦¬

μΊμ‹œ λ©”λͺ¨λ¦¬μ™€ 지역성

  • μΊμ‹œ λ©”λͺ¨λ¦¬λŠ” CPU와 메인 λ©”λͺ¨λ¦¬ 간에 데이터 μ ‘κ·Ό μ‹œ 속도 차이λ₯Ό 쀄이기 μœ„ν•΄ μ‚¬μš©.
  • CPUμ—μ„œ 메인 λ©”λͺ¨λ¦¬μ— μžˆλŠ” 데이터λ₯Ό κ°€μ Έμ˜¬ λ•Œ 자주 μ‚¬μš©ν•˜λŠ” λ°μ΄ν„°λŠ” μΊμ‹œ λ©”λͺ¨λ¦¬μ— λ”°λ‘œ μ €μž₯함. 이후에 ν•΄λ‹Ή 데이터가 ν•„μš”ν•˜λ©΄ μΊμ‹œ λ©”λͺ¨λ¦¬μ— 접근함. ➑️ 메인 λ©”λͺ¨λ¦¬μ— μ ‘κ·Όν•˜λŠ” 것보닀 속도 ν–₯상 κ°€λŠ₯.
  • μΊμ‹œ λ©”λͺ¨λ¦¬μ— μ–΄λ–€ 데이터λ₯Ό μ €μž₯ν• μ§€λŠ” 지역성을 λ°”νƒ•μœΌλ‘œ κ²°μ •.
    • 지역성 : CPUκ°€ 자주 μ°Έμ‘°ν•˜λŠ” 데이터가 κ³ λ₯΄κ²Œ λΆ„ν¬λ˜μ§€ μ•Šκ³  νŠΉμ • 뢀뢄에 λͺ°λ € μžˆλŠ” 것.
    • μΊμ‹œ 적쀑λ₯ μ„ 높이렀면 지역성을 λ°”νƒ•μœΌλ‘œ 데이터λ₯Ό μ €μž₯.
    • μ‹œκ°„ 지역성 : 졜근 μ°Έμ‘°ν•œ λ‚΄μš©μ„ λ‹€μ‹œ μ°Έμ‘°ν•  κ°€λŠ₯성이 λ†’μŒ.
    • 곡간 지역성 : μ‹€μ œ μ°Έμ‘°ν•œ μ£Όμ†Œ 근처의 λ‚΄μš©μ„ μ°Έμ‘°ν•  κ°€λŠ₯성이 λ†’μŒ.

μΊμ‹œ λ©”λͺ¨λ¦¬μ˜ 맀핑 방식

  • 직접 맀핑: 메인 λ©”λͺ¨λ¦¬λ₯Ό μΌμ •ν•œ 크기둜 λ‚˜λˆ„κ³  각 μ˜μ—­μ„ μΊμ‹œ λ©”λͺ¨λ¦¬μ— λ§€ν•‘ν•˜λŠ” 방식. 메인 λ©”λͺ¨λ¦¬λŠ” μΊμ‹œ λ©”λͺ¨λ¦¬λ³΄λ‹€ ν¬λ―€λ‘œ λ‚˜λˆ μ§„ n개의 λ©”λͺ¨λ¦¬ μ˜μ—­μ΄ 1개의 μΊμ‹œ λ©”λͺ¨λ¦¬μ— 맀핑됨.
  • μ—°κ΄€ 맀핑: λ©”λͺ¨λ¦¬ μ˜μ—­μ„ μΊμ‹œ λ©”λͺ¨λ¦¬μ— κ·œμΉ™ 없이 λ§€ν•‘ν•˜λŠ” 방식. λ©”λͺ¨λ¦¬ μ˜μ—­μ„ μΊμ‹œ λ©”λͺ¨λ¦¬μ— μ μž¬ν•  λ•ŒλŠ” κ°„λ‹¨ν•˜μ§€λ§Œ, μΊμ‹œ λ©”λͺ¨λ¦¬μ—μ„œ ν•„μš”ν•œ λ©”λͺ¨λ¦¬ μ˜μ—­μ„ 찾을 λ•ŒλŠ” λΉ„νš¨μœ¨μ .
  • 집합 μ—°κ΄€ 맀핑: 직접 맀핑과 μ—°κ΄€ 맀핑을 κ²°ν•©ν•΄ 단점을 λ³΄μ™„ν•œ λ°©μ‹μœΌλ‘œ, λ²”μš©μ μœΌλ‘œ μ‚¬μš©λ¨.
728x90
λ°˜μ‘ν˜•