728x90 wil4 [WIL] Pintos 4์ฃผ์ฐจ - VM(2) (์ฃผ๊ฐ๊ณต์ ) 1. ์ผ์ โ 06.19 ~ 06.20 Git book ๊ธฐ์ค lazy loading ๊ตฌํ ์๋ฃ Git book ๊ธฐ์ค stack growth ๊ตฌํ ์๋ฃ โ 06.21 ~ 06.23 Git book ๊ธฐ์ค Memory mapping ๊ตฌํ ์๋ฃ โ 06.24 ~ 06.25 Git book ๊ธฐ์ค Swap In/Out ๊ตฌํ ์๋ฃ 2. ์ฃผ์ ํ์ต 1. Stack growth ์ฌ์ฉ ์ด์ ํ๋ก์ธ์ค๊ฐ ์คํ ์ค์ธ ๋์์ ํจ์ ํธ์ถ ๊น์ด๊ฐ ๊น์ด์ง๊ฑฐ๋ ํฐ ์ง์ญ ๋ณ์ ๋ฑ์ผ๋ก ์ธํด ์คํ์ ๊ณต๊ฐ์ด ๋ถ์กฑํด์ง ์ ์๋ค. ์ด ๋ ํ์ํ ๋งํผ ์คํ ์์ญ์ '์ฑ์ฅ'์ํค๋ ๋ฉ์ปค๋์ฆ์ด ํ์ํฉ๋๋ค. ์ด๋ฅผ "์คํ ์ฑ์ฅ(stack growth)"์ด๋ผ๊ณ ํฉ๋๋ค. 2. Pintos ์์ ๊ตฌํ๋ ๋ฐฉ์ 1. ์ด๊ธฐ ์คํ ์ํ static bool setup_.. 2023. 6. 25. [WIL] Pintos 3์ฃผ์ฐจ - VM(1) (์ฃผ๊ฐ๊ณต์ ) 1. ์ผ์ โ 06.12 ~ 06.15 ๊ฐ์ ๋ฉ๋ชจ๋ฆฌ ๊ฐ๋ ๊ณต๋ถ git book ์ฝ๊ธฐ ๋ฐ ๊ฐ์ ํ์ต ์ด์์ฒด์ ์ฑ ์ฝ๊ธฐ โ 06.16 Git book ๊ธฐ์ค Memory Management ๊ตฌํ โ 06.17 ~ 06.18 Git book ๊ธฐ์ค Anonymous Page ๊ตฌํ 2. ์งํ ์ํฉ 1. SPT ๊ตฌ์กฐ pml4๊ฐ ํ์ด์ง ํ ์ด๋ธ์ ์๋ฏธํ๋ค๋ ๊ฒ์ ์๊ฒ ๋์์ต๋๋ค. git book ๊ธฐ์ค์ผ๋ก Memory Management ๊ตฌํ ์๋ฃ 2. Anonymous Page ๊ตฌํ์ ํด๋ณธ ์ํ Project 2 - userprog (....All fail....) 123 of 141 tests failed 2023. 6. 18. [WIL] Pintos 2์ฃผ์ฐจ - Userprog (์ฃผ๊ฐ๊ณต์ ) 1. ์ผ์ ๊ณํ โ 06.01 ๋๋ต์ ์ธ ์ผ์ ์กฐ์จ ๊ฐ์ธ ์ด๋ก ๊ณต๋ถ โ 06.02 gitbook ๋ฐ ๊ฐ์ ํ์ต โ 06.03 ~ 06.05 passing argument ๊ตฌํ โ 06.06 ~ 06.11 system call ๊ตฌํ 2. ์ฃผ์ ํ์ต user mode vs kernel mode 1. user mode User ๋ชจ๋์์๋ ์ ํ๋ ์์คํ ์์์๋ง ์ ๊ทผ ๊ฐ๋ฅ ํ์ผ ์์คํ , ๋คํธ์ํฌ ์ฐ๊ฒฐ, ์ ์ถ๋ ฅ ์ฅ์น๋ฑ๊ณผ ๊ฐ์ ์ผ๋ฐ์ ์ธ ์์ ์ ์ํํ ์ ์์ง๋ง, ์ง์ ์ ์ผ๋ก ์์คํ ๋ฆฌ์์ค์ ์ ๊ทผํ๊ฑฐ๋ ์์คํ ์ ์ด ๋ช ๋ น์ ์คํํ ์ ์๋ค. 2. kernel mode ์ ์ ๋ชจ๋์์ ์์ฒญ → syscall_entry๋ฅผ ํตํด ์ด์ ๋ธ๋ฆฌ์ด๋ก ์ง์ → rsp = ์ปค๋ ์คํ ํฌ์ธํฐ syscall_handler : ์์คํ ํธ์ถ์ ์๊ตฌ.. 2023. 6. 12. [WIL] Pintos 1์ฃผ์ฐจ - Threads (์ฃผ๊ฐ๊ณต์ ) 1. ์ผ์ ๊ณํ โ 05.25 ๊ฐ์ธ ๋ ธํธ๋ถ์ ์ฐ๋ถํฌ ํ๊ฒฝ ์ค์ ๋๋ต์ ์ธ ์ผ์ ์กฐ์จ ๊ฐ์ธ ์ด๋ก ๊ณต๋ถ โ 05.26 git book ์ฝ๊ธฐ os (thread, processor ๋ฑ) ๊ด๋ จ ๊ฐ๋ ๊ณต๋ถ ๋ฐ ๊ณต์ โ 05.27 Alarm ๊ตฌํ 1์ผ์ฐจ thread.c timer.c ์ฝ๋ ๋ถ์ โ 05.28 Alarm ๊ตฌํ 2์ผ์ฐจ โ 05.29 Priority ๊ตฌํ 1์ผ์ฐจ synch.c ์ฝ๋ ๋ถ์ โ 05.30 Priority ๊ตฌํ 2์ผ์ฐจ โ 05.31 Priority ๊ตฌํ 3์ผ์ฐจ 2. ์ฃผ์ ํ์ต synch.c - lock_acquire() : donation list ์ ์ฅ๋ฐฉ์์ ์ฐจ์ด 1. donate ๊ฐ๋ฅํ ๋ชจ๋ ํ๋ณด์๋ค ์ ์ฅ void lock_acquire (struct lock *lock) { ASSERT (l.. 2023. 6. 1. ์ด์ 1 ๋ค์ 728x90