μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- TiL
- 4κΈ°
- μκ³ λ¦¬μ¦μμ -λλΉμ°μ νμ2
- BFS
- ν¬λνν€ μ κΈ
- KRAFTON JUNGLE
- λ€μ΅μ€νΈλΌ
- μκ³ λ¦¬μ¦
- λ°±μ€
- νν μ€
- μ΄λ²€νΈ ν¨μ μ€ν μμ
- anonymous page
- ν¬λνν€ μ κΈ 4κΈ°
- c#
- User Stack
- μ λν°
- ν¬λνν€μ κΈ4κΈ°
- C
- kraftonjungle
- μ μ-μ ν¬
- Unity
- project3
- μ€λΈμ
- ν¬λνν€μ κΈ
- μ°κ²°λ¦¬μ€νΈ
- μΆμν΄λμ€μμΈν°νμ΄μ€
- νμ΄μ¬
- λ€νΈμν¬
- ν°μ€ν 리μ±λ¦°μ§
- pintos
- Today
- Total
λ§κ°λ‘κ·Έ
ν¬λνν€ μ κΈ WEEK10 DAY 79 - PintOS Project3 λ³Έλ¬Έ
π2024.3.26
Virtual Memory - Memory Management
Implement Supplemental Page Table
νμ΄μ§ ν΄νΈμ μμ κ΄λ¦¬λ₯Ό μ²λ¦¬νκΈ° μν΄μλ κ° νμ΄μ§μ λν μΆκ°μ μΈ μ 보λ₯Ό λ΄κ³ μμ 보쑰 νμ΄μ§ ν μ΄λΈ(Supplemental Page Table) μ ꡬνν΄μΌ νλ€.
1. νμ΄μ§ ν΄νΈκ° λ°μνμ λ κ·Έκ³³μ μ΄λ€ λ°μ΄ν°κ° μμμ΄μΌ νλμ§λ₯Ό μμλ΄κΈ° μν΄ μ»€λμ 보쑰 νμ΄μ§ ν μ΄λΈμμ ν΄νΈκ° λ°μν κ°μ νμ΄μ§λ₯Ό νμνλ€.
2. 컀λμ΄ νλ‘μΈμ€κ° μ’ λ£λ λ μ΄λ€ μμμ ν΄μ ν μ§ κ³ λ₯΄κΈ° μν΄μ 보쑰 νμ΄μ§ ν μ΄λΈμ μ‘°μ¬νλ€.
SPTμ μ μ
- pml4(νμ΄μ§ ν μ΄λΈ)μμ λΆμ‘±ν μ 보λ₯Ό μ±μμ£ΌκΈ° μν νλ‘μΈμ€λ§λ€ μ‘΄μ¬νλ ν μ΄λΈ
- μλμ 보쑰 λ°μ΄ν°λ€μ λ΄κ³ μλ, νλ‘μΈμ€λ§λ€ μ‘΄μ¬νλ μλ£κ΅¬μ‘°
1. κ°κ°μ νμ΄μ§μ λν΄μ λ°μ΄ν°κ° μ‘΄μ¬νλ κ³³(frame, disk, swap μ€ μ΄λ μ‘΄μ¬νλμ§)
2. μ΄μ μμνλ 컀λ κ°μ μ£Όμλ₯Ό κ°λ¦¬ν€λ ν¬μΈν° μ 보
3. pageμ κ΄λ ¨λ μΆκ° μ 보( activeμΈμ§ inactiveμΈμ§ λ±λ±)
PCB(νλ‘μΈμ€ μ μ΄ λΈλ‘) μ μΈν°λ½νΈ νλ μμ κ°μ μ λ³΄κ° λ΄κΈ°λ κ±° μλμλ? κ·Έλ¬λ©΄ λμ΄ κ°μ μ¬μ©μΈκ°? λΌκ³ ν·κ°λ Έλ κ±Έ μ 리ν΄λ΄€λ€.
1. PCB(νλ‘μΈμ€ μ μ΄ λΈλ‘)
PCBλ μ΄μ 체μ κ° κ° νλ‘μΈμ€λ₯Ό κ΄λ¦¬νκΈ° μν΄ μ¬μ©νλ λ°μ΄ν° ꡬ쑰μ΄λ€.
PCBμλ νλ‘μΈμ€μ λν λ€μν μ λ³΄κ° μ μ₯λλ€. μ΄ μ 보λ νλ‘μΈμ€μ μν, μ€ν μ€μΈ μ½λμ μμΉ, λ©λͺ¨λ¦¬ ν λΉ μ 보, CPU λ μ§μ€ν° κ°, νλ‘μΈμ€μ μ°μ μμ, λΆλͺ¨ νλ‘μΈμ€ λ° μμ νλ‘μΈμ€μ λν μ 보 λ±μ΄ μλ€.
μΌλ°μ μΌλ‘ PCBλ μ΄μ 체μ 컀λ λ΄λΆμ μμΌλ©°, κ° νλ‘μΈμ€μ λν΄ νλμ PCBκ° ν λΉλλ€. PCBλ νλ‘μΈμ€μ μ€ν μνκ° λ³νν λλ§λ€ μ λ°μ΄νΈλλ€.
λ¬Έλ§₯ κ΅ν μμ μ€μν μν μ νλ€.
νμ¬ μ€ν μ€μΈ νλ‘μΈμ€μ μνλ₯Ό PCBμ μ μ₯νλ€. μ΄ μνμλ νλ‘μΈμ€μ λ μ§μ€ν° κ°, νλ‘κ·Έλ¨ μΉ΄μ΄ν°(PC), μ€ν ν¬μΈν°(SP) λ±μ΄ ν¬ν¨λ μ μλ€.
λ€μ μ€νν νλ‘μΈμ€μ PCBλ‘ μ μ΄λ₯Ό μ ννκ³ , ν΄λΉ PCBμ μ μ₯λ μνλ₯Ό CPU λ μ§μ€ν°μ 볡μνλ€.
μλ‘μ΄ νλ‘μΈμ€μ μ½λκ° μ€νλλλ‘ μ μ΄λ₯Ό μ ννλ€.
2. μΈν°λ½νΈ νλ μ
μΈν°λ½νΈ νλ μμ CPUμμ λ°μν μΈν°λ½νΈλ₯Ό μ²λ¦¬νκΈ° μν μ 보λ₯Ό μ μ₯νλ λ° μ¬μ©λλ€.
μΈν°λ½νΈκ° λ°μνλ©΄ CPUλ νμ¬ μ€ν μ€μΈ μ½λμ μνλ₯Ό μ μ₯νκ³ , μΈν°λ½νΈ μ²λ¦¬λ₯Ό μν νΉμ νλ‘μμ λ‘ μ μ΄λ₯Ό μ ννλ€. μ΄λ μΈν°λ½νΈ νλ μμλ νμ¬ CPU λ μ§μ€ν°μ μν, νλ‘κ·Έλ¨ μΉ΄μ΄ν° κ°, μ€ν ν¬μΈν° κ° λ±μ΄ μ μ₯λλ€.
μΈν°λ½νΈ μ²λ¦¬κ° μλ£λλ©΄ μ΄μ μ μ μ₯λ CPU μνλ₯Ό 볡μνμ¬ μΈν°λ½νΈ μ΄μ μ μνλ‘ λ³΅κ·νλ€.
μ 리νμλ©΄, PCBλ μ΄μ 체μ κ° κ° νλ‘μΈμ€λ₯Ό κ΄λ¦¬νκΈ° μν λ°μ΄ν° κ΅¬μ‘°λ‘ μ¬μ©λλ©°, νλ‘μΈμ€μ λν λ€μν μ λ³΄κ° μ μ₯λλ€. μΈν°λ½νΈ νλ μμ CPUμμ λ°μν μΈν°λ½νΈλ₯Ό μ²λ¦¬νκΈ° μν μ 보λ₯Ό μ μ₯νλ λ° μ¬μ©λλ©°, CPU μνμ μ μ₯ λ° λ³΅μ λ±μ΄ μ£Όμ λͺ©μ μ΄λ€.