์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. ๋๋จธ์ง ๋ณต์กํ ์น๊ตฌ๋ค ์ด์ 12๊ฐ๋ง ๋ ํต๊ณผํ๋ฉด ๋๋ค! ๋ถํฐ ์ด์ด๋ณด์. ์ด ํ์ผ์ ์ด๋ ๊ฒ ์๊ฒผ๋ค. ํ ์คํธ ์ผ์ด์ค ์์์๋ ์ ํฌ๊ธฐ๊ฐ 16์ธ๋ฐ, ์ฐ๊ธฐ๋ฅผ ์๋ํ ๋ EOF์ ๋๋ฌํ๊ธฐ ๋๋ฌธ์ 0์ด ์ถ๋ ฅ๋์ด์ผ ํ๋๋ฐ ์ฐ๋ฆฌ์ ์ ๊ฒฐ๊ณผ๋ 16์ ์ถ๋ ฅํ๊ณ ์๋ค. ์ฐ๋ฆฌ๊ฐ ๊ณ
์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. fork() ์๋ฆฌ ์ผ๋จ ๋ฅผ ์๋ชป ์งฐ๋์ง, ์ฌ๊ธฐ์๋ถํฐ ๊ณ์ ํ ์คํธ๊ฐ ์คํจํ๋ ์ํฉ์ด๋ค. ๊ฐ์ฅ ๊ธฐ๋ณธ์ ์ธ ์ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋ ์๋ก์ด ํ์ด์ง๋ฅผ ํ ๋น๋ฐ์ ๋ ์ฌ์ฉํ๋ ์์ ์กฐ๊ฑด์ ๋ง์กฑ์ํค์ง ๋ชปํด ์๋ฌ๊ฐ ๋ฐ์ํ๋ค. ์ด ํจ์๋ ์ ํจ์์์ ํธ์ถ๋๊ณ , ์ด๊ฒ์ ์์ ํธ์ถ๋๋ค. ์ด... ๋ณด๋๊น ์ด๊ฑธ ์ ํ๋ค? ์ํค๋ ๋๋ก ์จ ๋ณด๋๋ก ํ์. ์ด๋ ๊ฒ ํ๋๋, ์์ ํ๋ก์ธ์ค๊ฐ ๊ณ์ -1๋ก ์ข ๋ฃ๋๋ ์ํฉ์ด์๋๋ฐ, ํจ์์์ ๋ถ๋ชจ ์ค๋ ๋์ ์์ ๋ฆฌ์คํธ๊ฐ ๋น์ด ์๋ ๋ฌธ์ ๊ฐ ๋ฐ์ํ์๋ค. ์ด๋ ์์ ์์ ๋ฆฌ์คํธ๋ฅผ ๋ฒ์จ ๋นผ ๋ฒ๋ ธ๊ธฐ ๋๋ฌธ์ ๋ฐ์ํ ๋ฌธ์ ๋ผ์, ์์ ํ์ฌ ํ๋ก์ธ์ค(์์)๊ฐ ์ข ๋ฃ๋ ๋ ํ๋ ๋ถ๋ถ์ ๋บ๋ค. ์ฌ์ํ ์ค์๋ผ๊ณ ๋ณผ
์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. ๋จ์ผ ํ๋ก์ธ์ค ํ์ผ ๊ด๋ จ system call ์ผ๋จ ์ด๊ฒ๋ถํฐ ๋ณด์! ์ฐ๋ฆฌ๊ฐ ์ง ์ ๋ค์๊ณผ ๊ฐ๋ค. ํ ์คํธ ์ผ์ด์ค์๋ ์ด ์๋๋ฐ, ๊ณผ ๊ฑฐ๊ธฐ์ ์ฌ์ฉ๋๋ ํจ์๋ฅผ ๋ณด๋ฉด ํ์ผ ์ด๋ฆ์ด ์ด ์๋๋ผ๋ ๊ฐ ์์๋ค. ์ฆ ์ฐ๋ฆฌ๊ฐ ๋ฏธ๋ฆฌ ์ ์ฒดํฌํด์ ๊น์ง ๊ฐ์ง ์๋๋ก ํด์ผ๊ฒ ๋ค. ๋ค์์ ํ์ผ ๊ด๋ จ system call์ธ๋ฐ, ๋ฅผ ๊ฒ์ฌํ๋ ๋ก์ง์ ์ถ๊ฐํ์ง ์์ ๊ฒ ๊ฐ์ผ๋ ๋ฅผ ์ฐพ์์ ๋ ๋์ค๋ ๊ตฌ์กฐ์ฒด์ ์ฃผ์๋ฅผ ์์ ํจ์์ ๋ฃ์ด ๊ฒ์ฌํ๋ ๋ถ๋ถ์ ์ถ๊ฐํ๋ฉด ์ด๋ ์ ๋ ํด๊ฒฐ๋์ง ์์๊น? ๊ทธ ๊ฒฐ๊ณผ ๋๋ถ๋ถ์ ํ ์คํธ๊ฐ ๋ค์ ์คํจํ์๋๋ฐ, ์์ง Project 2์์๋ User program์ด ์ปค๋์์ ๋์ํ๋๋ฐ ์ฐ๋ฆฌ๊ฐ ์ปค๋ ์ฃผ์๋ฅผ ํ์ธํ๋
์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. exec() ์ ์ผ๋จ ๊ฒ๋ณด๊ธฐ์๋...? ์งค ๊ฒ ๋ง์ด ์์ด ๋ณด์ธ๋ค. ๋์ค์ ์ธ๋ฉด์ ๊ณ ์น ์ง๋ ๋ชจ๋ฅด์ง๋ง... ์คํํธ๋ ์ญ์ ๋ก ์ฎ๊ธฐ๋ ๊ฑด๊ฐ? ์ด๋ฏธ ๊ฐ ์๋ฃ๋ ํ๋ก์ธ์ค์ ๋ด์ฉ์ ๋น์ฐ๊ณ ์๋ก์ด ํ๋ก๊ทธ๋จ์ ์ฌ๋ฆฌ๋ ๊ฒ ๊ฐ์๋ฐ ๊ทธ ์ฝ๋ ์ญ์ ์์ด์, ์คํจํ๋ฉด ์ค๋ ๋๋ฅผ ์ข ๋ฃํ๊ธฐ๋ง ํ๋ฉด ๋ ๊ฒ ๊ฐ๋ค. wait() ์ด์ ์ ์ผ ๊ธธ๊ณ ์ด๋ ค์ด ๋ฅผ ์ง ๋ณด์! ์ง๊ธ๊น์ง๋ ๋ฌดํ ๋ฃจํ๋ฅผ ๋ฃ์ด ๋์ ์ํ์ด๋ค. ๋ ํน์ ๋ฅผ ๊ฐ์ง ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋๊น์ง ๊ธฐ๋ค๋ฆฌ๊ณ , ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋์ exit code๋ฅผ ๋ฐ๋๋ค. ์ผ๋จ, ๊ฐ ์คํจํ ์กฐ๊ฑด๋ถํฐ ์ดํด๋ณด์. > does not refer to a direct child of t
์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. Process ๊ด๋ จ system call exit() ์๋ฌด๋๋ ๊ฐ์ฅ ์ด๋ ค์ด ๋ถ๋ถ์ผ ๊ฒ ๊ฐ๋ค! ์ฐ์ ์ค๋๋ Chat GPT์๊ฒ ์ด๋ค ์์๋ก ์ง๋ ๊ฒ ์ข์์ง ํ ๋ฒ ๋ฌผ์ด๋ดค๋ค. ์ผ๋จ ์ด๋ผ๋ ํจ์๊ฐ ์์ผ๋ ๊ฐ์ ธ๋ค ์ฐ๋ฉด ๋ ๊ฒ ๊ฐ๊ธด ํ๋ฐ, ์ด๊ฑธ ๋ฏ์ด๋ณด๋ฉด ์ผ๋ก ๋์ด๊ฐ์ผ ๋ ๊ฒ ๊ฐ์ ๋๋์ด ๋ ๋ค. ๋ ์ด๋ ๊ฒ ์๊ฒผ๋๋ฐ, ์ ๋ฒ์ ์ ์ ๋ฆฌํ๋ ๊ฒ๊น์ง ํ ๊ฒ ๊ฐ์๋ฐ, ์ ์ค๋ช ์์ ํ๋ก์ธ์ค๊ฐ ์ข ๋ฃ๋ ๋ ์ด๋ ค ์๋ ๋ชจ๋ ํ์ผ์ ๋ซ๋๋ค๊ณ ํ์ผ๋
์ด ํฌ์คํ ์ ์ ๊ฐ ์น๊ตฌ์ PintOS ๊ณผ์ ๋ฅผ ํ๋ฉด์ ๋ ์ฌ๋ฆฐ ์๊ฐ์ด๋ ์ฝ์ง์ ํ๋ ๊ณผ์ ์ ์์์ ํ๋ฆ๋๋ก ์ ์ ๊ธ์ด๋ฉฐ ๊ธ์ ์์ฑํ ์ดํ ์๋ ์ฝ๋์์ ์ผ๋ถ ์คํ๋ ๋ฒ๊ทธ๊ฐ ์์ ๋์์ ์ ์์ต๋๋ค. ์ฆ ์ด ํฌ์คํ ์ ์ ๋ต์ ์๋ ค์ฃผ๋ ํฌ์คํ ์ด ์๋์ ๋ฐํ๋๋ค. ๊ฐ๊ฐ์ด ์ฝ์์ธ ์ง๊ธ, ์ด๋ฒ ํ๊ธฐ์ ๋ค์ '์ด์์ฒด์ ๋ฐ ์คํ' ๊ณผ๋ชฉ์ ์ ๋ช ๋์ ๊ณผ์ ์ธ 'PintOS'๋ฅผ ์ด์ง ๋ณด๊ณ ์๋ค! Project 1์ ์ด๋ฏธ ์๋ฃํ๋๋ฐ, ๊ฐ์ด ํ๊ณ ์๋ ์น๊ตฌ๊ฐ README๋ฅผ ์ด์ฌํ ์ ๊ณ ์์ด์ ๋ฐ๋ก ์ ์ง ์๊ธฐ๋ก ํ๊ณ ์ด ๋ธ๋ก๊ทธ๋ ๋ด ๊ณต๋ถ๋ฅผ ์ํด์ ๊ทธ๋ฅ ์์ ์์๋ ์ํ์ฐฉ์ค๋ฅผ ์์ฃผ๋ก ์ ์ ๊ฒ ๊ฐ๋ค! System call System call handler๋ฅผ ์ฌ์ค ๊ฑฐ์ ๋ค ๋ง๋ค๊ธด ํ์๋๋ฐ ์ง๊ณ ๋ณด๋ ๋ถํ ๋ถํฐ ์ ๋๊ธฐ๋ ํ๊ณ , ์ค๊ฐ์ ์ฌํ๋ ๊ฐ๊ณ ์ฌ๋ฌ ์ผ์ ์ด ์์ด์ ์ฝ๋๋ฅผ ์์ด๋ฒ๋ฆฐ ๊ด๊ณ๋ก ์ฒ์๋ถํฐ ์ง ๋ณด๊ธฐ๋ก ํ๋ค. ์ ๋ฒ์๋ ๋ฉ๋ด์ผ์ ๋์จ ์์๋๋ก ์งฐ๋๋ฐ, ๊ทธ๋ ๊ฒ ํ๋ฉด ๊ฑฐ์ ์์ ๋์ค๋ , , , ๊ฐ