Anonymous Page - sihyun10/pintos-lab-vm GitHub Wiki
νμ΄μ§λ ν¬κ² λ λΆλ₯λ‘ λλλ€.
- μ΅λͺ
νμ΄μ§(
Anonymous Page
) : νμΌλ‘λΆν° λ§€νλμ§ μμ, 컀λλ‘λΆν° ν λΉλ (μΌλ°μ μΈ λ©λͺ¨λ¦¬) νμ΄μ§ - νμΌ-κΈ°λ° νμ΄μ§(
File-backed Page
) : νμΌλ‘λΆν° λ§€νλ νμ΄μ§
Anonymous Page
μ΅λͺ
νμ΄μ§λ νμ κ±°μΉμ§ μκ³ ν λΉλ°μ λ©λͺ¨λ¦¬ 곡κ°μ΄λ€.
νμΌμ κΈ°λ°νκ³ μμ§ μμ νμ΄μ§μ¬μ 0μΌλ‘ μ΄κΈ°ν λμ΄μλ€.
νλ anonymous page
μ΄λ€.
malloc
, new
κ°μ λ©λͺ¨λ¦¬ ν λΉμλ anonymous page
μμ μΌλΆ λ©λͺ¨λ¦¬λ₯Ό μλΌμ ν λΉ λ°λλ€.
νλ‘μΈμ€κ° mmap()
μΌλ‘ 컀λμκ² μ΅λͺ
νμ΄μ§λ₯Ό ν λΉ μμ²νκ² λλ©΄, 컀λμ νλ‘μΈμ€μκ² κ°μ λ©λͺ¨λ¦¬ μ£Όμ 곡κ°μ λΆμ¬νκ² λλ€.
λΆμ¬λ κ°μ λ©λͺ¨λ¦¬ 곡κ°μ μμ§κΉμ§λ μ€μ 물리 λ©λͺ¨λ¦¬ νμ΄μ§λ‘ ν λΉλμ§ μμ 곡κ°μ΄λ€.
μ€μ loading
μ μ¬μ©μ νλ‘μΈμ€μμ ν΄λΉ λ©λͺ¨λ¦¬μ μ κ·Όμ μλν λκ° λμ΄μμΌ μ΄λ€μ§λ€.
μ΄λ₯Ό lazy loading
μ΄λΌκ³ νλ€.
Lazy Loadingμ μ΄μ©ν νμ΄μ§ μ΄κΈ°ν
- λ©λͺ¨λ¦¬ λ‘λ©μ νμν μμ κΉμ§ λ―Έλ£Έ
- νμ΄μ§λ₯Ό ν λΉν λ ν΄λΉ νμ΄μ§μ λμνλ page κ΅¬μ‘°μ²΄λ§ λ§λ€κ³ , 물리 frame ν λΉνμ§ μκ³ , μ€μ λ΄μ©λ μκ²λ ꡬν
- μ€μ λ‘ λ΄μ©μ΄ load λλ μμ μ page faultκ° λ°μνμ λ!
Lazy Loadingμ μ¬μ©νλ©΄ νλ‘μΈμ€κ° νμν νμ΄μ§λ₯Ό νμν μμ μ λ‘λν μ μκ³ ,
λΆνμν λ©λͺ¨λ¦¬ μ¬μ©μ μ€μΌ μ μλ€.