๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
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.
728x90