profile
๐Ÿง‘โ€๐Ÿ’ป ์ด์ œ ๋ง‰ ์‹œ์ž‘ํ•œ ๋นˆ ์ง‘ ๋ธ”๋กœ๊ทธ...
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (6)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. ๋‚˜๋จธ์ง€ ๋ณต์žกํ•œ ์นœ๊ตฌ๋“ค ์ด์ œ 12๊ฐœ๋งŒ ๋” ํ†ต๊ณผํ•˜๋ฉด ๋œ๋‹ค! ๋ถ€ํ„ฐ ์—ด์–ด๋ณด์ž. ์ด ํŒŒ์ผ์€ ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค ์ƒ์—์„œ๋Š” ์˜ ํฌ๊ธฐ๊ฐ€ 16์ธ๋ฐ, ์“ฐ๊ธฐ๋ฅผ ์‹œ๋„ํ•  ๋•Œ EOF์— ๋„๋‹ฌํ–ˆ๊ธฐ ๋•Œ๋ฌธ์— 0์ด ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•˜๋Š”๋ฐ ์šฐ๋ฆฌ์˜ ์˜ ๊ฒฐ๊ณผ๋Š” 16์„ ์ถœ๋ ฅํ•˜๊ณ  ์žˆ๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ๊ณ„

2023๋…„ 3์›” 19์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (5)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. fork() ์ˆ˜๋ฆฌ ์ผ๋‹จ ๋ฅผ ์ž˜๋ชป ์งฐ๋Š”์ง€, ์—ฌ๊ธฐ์„œ๋ถ€ํ„ฐ ๊ณ„์† ํ…Œ์ŠคํŠธ๊ฐ€ ์‹คํŒจํ•˜๋Š” ์ƒํ™ฉ์ด๋‹ค. ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์˜ ๊ฒฐ๊ณผ๋ฅผ ๋ณด๋‹ˆ ์ƒˆ๋กœ์šด ํŽ˜์ด์ง€๋ฅผ ํ• ๋‹น๋ฐ›์„ ๋•Œ ์‚ฌ์šฉํ•˜๋Š” ์—์„œ ์กฐ๊ฑด์„ ๋งŒ์กฑ์‹œํ‚ค์ง€ ๋ชปํ•ด ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ๋‹ค. ์ด ํ•จ์ˆ˜๋Š” ์˜ ํ•จ์ˆ˜์—์„œ ํ˜ธ์ถœ๋˜๊ณ , ์ด๊ฒƒ์€ ์—์„œ ํ˜ธ์ถœ๋œ๋‹ค. ์–ด... ๋ณด๋‹ˆ๊นŒ ์ด๊ฑธ ์•ˆ ํ–ˆ๋„ค? ์‹œํ‚ค๋Š” ๋Œ€๋กœ ์จ ๋ณด๋„๋ก ํ•˜์ž. ์ด๋ ‡๊ฒŒ ํ–ˆ๋”๋‹ˆ, ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๊ณ„์† -1๋กœ ์ข…๋ฃŒ๋˜๋Š” ์ƒํ™ฉ์ด์—ˆ๋Š”๋ฐ, ํ•จ์ˆ˜์—์„œ ๋ถ€๋ชจ ์Šค๋ ˆ๋“œ์˜ ์ž์‹ ๋ฆฌ์ŠคํŠธ๊ฐ€ ๋น„์–ด ์žˆ๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ•˜์˜€๋‹ค. ์ด๋Š” ์—์„œ ์ž์‹ ๋ฆฌ์ŠคํŠธ๋ฅผ ๋ฒŒ์จ ๋นผ ๋ฒ„๋ ธ๊ธฐ ๋•Œ๋ฌธ์— ๋ฐœ์ƒํ•œ ๋ฌธ์ œ๋ผ์„œ, ์•ˆ์— ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค(์ž์‹)๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ํ•˜๋Š” ๋ถ€๋ถ„์„ ๋บ๋‹ค. ์‚ฌ์†Œํ•œ ์‹ค์ˆ˜๋ผ๊ณ  ๋ณผ

2023๋…„ 3์›” 8์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (4)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. ๋‹จ์ผ ํ”„๋กœ์„ธ์Šค ํŒŒ์ผ ๊ด€๋ จ system call ์ผ๋‹จ ์ด๊ฒƒ๋ถ€ํ„ฐ ๋ณด์ž! ์šฐ๋ฆฌ๊ฐ€ ์ง  ์€ ๋‹ค์Œ๊ณผ ๊ฐ™๋‹ค. ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์—๋Š” ์ด ์žˆ๋Š”๋ฐ, ๊ณผ ๊ฑฐ๊ธฐ์— ์‚ฌ์šฉ๋˜๋Š” ํ•จ์ˆ˜๋ฅผ ๋ณด๋ฉด ํŒŒ์ผ ์ด๋ฆ„์ด ์ด ์•„๋‹ˆ๋ผ๋Š” ๊ฐ€ ์žˆ์—ˆ๋‹ค. ์ฆ‰ ์šฐ๋ฆฌ๊ฐ€ ๋ฏธ๋ฆฌ ์„ ์ฒดํฌํ•ด์„œ ๊นŒ์ง€ ๊ฐ€์ง€ ์•Š๋„๋ก ํ•ด์•ผ๊ฒ ๋‹ค. ๋‹ค์Œ์€ ํŒŒ์ผ ๊ด€๋ จ system call์ธ๋ฐ, ๋ฅผ ๊ฒ€์‚ฌํ•˜๋Š” ๋กœ์ง์„ ์ถ”๊ฐ€ํ•˜์ง€ ์•Š์€ ๊ฒƒ ๊ฐ™์œผ๋‹ˆ ๋ฅผ ์ฐพ์•˜์„ ๋•Œ ๋‚˜์˜ค๋Š” ๊ตฌ์กฐ์ฒด์˜ ์ฃผ์†Œ๋ฅผ ์•ž์˜ ํ•จ์ˆ˜์— ๋„ฃ์–ด ๊ฒ€์‚ฌํ•˜๋Š” ๋ถ€๋ถ„์„ ์ถ”๊ฐ€ํ•˜๋ฉด ์–ด๋А ์ •๋„ ํ•ด๊ฒฐ๋˜์ง€ ์•Š์„๊นŒ? ๊ทธ ๊ฒฐ๊ณผ ๋Œ€๋ถ€๋ถ„์˜ ํ…Œ์ŠคํŠธ๊ฐ€ ๋‹ค์‹œ ์‹คํŒจํ•˜์˜€๋Š”๋ฐ, ์•„์ง Project 2์—์„œ๋Š” User program์ด ์ปค๋„์—์„œ ๋™์ž‘ํ•˜๋Š”๋ฐ ์šฐ๋ฆฌ๊ฐ€ ์ปค๋„ ์ฃผ์†Œ๋ฅผ ํ™•์ธํ•˜๋Š”

2023๋…„ 3์›” 5์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (3)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. exec() ์€ ์ผ๋‹จ ๊ฒ‰๋ณด๊ธฐ์—๋Š”...? ์งค ๊ฒŒ ๋งŽ์ด ์—†์–ด ๋ณด์ธ๋‹ค. ๋‚˜์ค‘์— ์šธ๋ฉด์„œ ๊ณ ์น ์ง€๋„ ๋ชจ๋ฅด์ง€๋งŒ... ์Šคํƒ€ํŠธ๋Š” ์—ญ์‹œ ๋กœ ์˜ฎ๊ธฐ๋Š” ๊ฑด๊ฐ€? ์ด๋ฏธ ๊ฐ€ ์™„๋ฃŒ๋œ ํ”„๋กœ์„ธ์Šค์˜ ๋‚ด์šฉ์„ ๋น„์šฐ๊ณ  ์ƒˆ๋กœ์šด ํ”„๋กœ๊ทธ๋žจ์„ ์˜ฌ๋ฆฌ๋Š” ๊ฒƒ ๊ฐ™์€๋ฐ ๊ทธ ์ฝ”๋“œ ์—ญ์‹œ ์žˆ์–ด์„œ, ์‹คํŒจํ•˜๋ฉด ์Šค๋ ˆ๋“œ๋ฅผ ์ข…๋ฃŒํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋  ๊ฒƒ ๊ฐ™๋‹ค. wait() ์ด์ œ ์ œ์ผ ๊ธธ๊ณ  ์–ด๋ ค์šด ๋ฅผ ์งœ ๋ณด์ž! ์ง€๊ธˆ๊นŒ์ง€๋Š” ๋ฌดํ•œ ๋ฃจํ”„๋ฅผ ๋„ฃ์–ด ๋†“์€ ์ƒํƒœ์ด๋‹ค. ๋Š” ํŠน์ • ๋ฅผ ๊ฐ€์ง„ ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ๊ธฐ๋‹ค๋ฆฌ๊ณ , ์ž์‹ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ์˜ exit code๋ฅผ ๋ฐ›๋Š”๋‹ค. ์ผ๋‹จ, ๊ฐ€ ์‹คํŒจํ•  ์กฐ๊ฑด๋ถ€ํ„ฐ ์‚ดํŽด๋ณด์ž. > does not refer to a direct child of t

2023๋…„ 3์›” 3์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (2)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. Process ๊ด€๋ จ system call exit() ์•„๋ฌด๋ž˜๋„ ๊ฐ€์žฅ ์–ด๋ ค์šด ๋ถ€๋ถ„์ผ ๊ฒƒ ๊ฐ™๋‹ค! ์šฐ์„  ์˜ค๋Š˜๋„ Chat GPT์—๊ฒŒ ์–ด๋–ค ์ˆœ์„œ๋กœ ์งœ๋Š” ๊ฒŒ ์ข‹์„์ง€ ํ•œ ๋ฒˆ ๋ฌผ์–ด๋ดค๋‹ค. ์ผ๋‹จ ์ด๋ผ๋Š” ํ•จ์ˆ˜๊ฐ€ ์žˆ์œผ๋‹ˆ ๊ฐ€์ ธ๋‹ค ์“ฐ๋ฉด ๋  ๊ฒƒ ๊ฐ™๊ธด ํ•œ๋ฐ, ์ด๊ฑธ ๋œฏ์–ด๋ณด๋ฉด ์œผ๋กœ ๋„˜์–ด๊ฐ€์•ผ ๋  ๊ฒƒ ๊ฐ™์€ ๋А๋‚Œ์ด ๋“ ๋‹ค. ๋Š” ์ด๋ ‡๊ฒŒ ์ƒ๊ฒผ๋Š”๋ฐ, ์ €๋ฒˆ์— ์„ ์ •๋ฆฌํ•˜๋Š” ๊ฒƒ๊นŒ์ง€ ํ•œ ๊ฒƒ ๊ฐ™์€๋ฐ, ์˜ ์„ค๋ช…์—์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ข…๋ฃŒ๋  ๋•Œ ์—ด๋ ค ์žˆ๋Š” ๋ชจ๋“  ํŒŒ์ผ์„ ๋‹ซ๋Š”๋‹ค๊ณ  ํ–ˆ์œผ๋‹ˆ

2023๋…„ 3์›” 1์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท
post-thumbnail

pintos-kaist ํ”„๋กœ์ ํŠธ : System call (1)

์ด ํฌ์ŠคํŒ…์€ ์ œ๊ฐ€ ์นœ๊ตฌ์™€ PintOS ๊ณผ์ œ๋ฅผ ํ•˜๋ฉด์„œ ๋– ์˜ฌ๋ฆฐ ์ƒ๊ฐ์ด๋‚˜ ์‚ฝ์งˆ์„ ํ•˜๋Š” ๊ณผ์ •์„ ์˜์‹์˜ ํ๋ฆ„๋Œ€๋กœ ์ ์€ ๊ธ€์ด๋ฉฐ ๊ธ€์„ ์ž‘์„ฑํ•œ ์ดํ›„ ์›๋ž˜ ์ฝ”๋“œ์—์„œ ์ผ๋ถ€ ์˜คํƒ€๋‚˜ ๋ฒ„๊ทธ๊ฐ€ ์ˆ˜์ •๋˜์—ˆ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฆ‰ ์ด ํฌ์ŠคํŒ…์€ ์ •๋‹ต์„ ์•Œ๋ ค์ฃผ๋Š” ํฌ์ŠคํŒ…์ด ์•„๋‹˜์„ ๋ฐํž™๋‹ˆ๋‹ค. ๊ฐœ๊ฐ•์ด ์ฝ”์•ž์ธ ์ง€๊ธˆ, ์ด๋ฒˆ ํ•™๊ธฐ์— ๋“ค์„ '์šด์˜์ฒด์ œ ๋ฐ ์‹คํ—˜' ๊ณผ๋ชฉ์˜ ์•…๋ช… ๋†’์€ ๊ณผ์ œ์ธ 'PintOS'๋ฅผ ์‚ด์ง ๋ณด๊ณ  ์žˆ๋‹ค! Project 1์€ ์ด๋ฏธ ์™„๋ฃŒํ–ˆ๋Š”๋ฐ, ๊ฐ™์ด ํ•˜๊ณ  ์žˆ๋Š” ์นœ๊ตฌ๊ฐ€ README๋ฅผ ์—ด์‹ฌํžˆ ์ ๊ณ  ์žˆ์–ด์„œ ๋”ฐ๋กœ ์ ์ง€ ์•Š๊ธฐ๋กœ ํ•˜๊ณ  ์ด ๋ธ”๋กœ๊ทธ๋Š” ๋‚ด ๊ณต๋ถ€๋ฅผ ์œ„ํ•ด์„œ ๊ทธ๋ƒฅ ์ž‘์—… ์ˆœ์„œ๋‚˜ ์‹œํ–‰์ฐฉ์˜ค๋ฅผ ์œ„์ฃผ๋กœ ์ ์„ ๊ฒƒ ๊ฐ™๋‹ค! System call System call handler๋ฅผ ์‚ฌ์‹ค ๊ฑฐ์˜ ๋‹ค ๋งŒ๋“ค๊ธด ํ–ˆ์—ˆ๋Š”๋ฐ ์งœ๊ณ  ๋ณด๋‹ˆ ๋ถ€ํŒ…๋ถ€ํ„ฐ ์•ˆ ๋˜๊ธฐ๋„ ํ•˜๊ณ , ์ค‘๊ฐ„์— ์—ฌํ–‰๋„ ๊ฐ€๊ณ  ์—ฌ๋Ÿฌ ์ผ์ •์ด ์žˆ์–ด์„œ ์ฝ”๋“œ๋ฅผ ์žŠ์–ด๋ฒ„๋ฆฐ ๊ด€๊ณ„๋กœ ์ฒ˜์Œ๋ถ€ํ„ฐ ์งœ ๋ณด๊ธฐ๋กœ ํ–ˆ๋‹ค. ์ €๋ฒˆ์—๋Š” ๋ฉ”๋‰ด์–ผ์— ๋‚˜์˜จ ์ˆœ์„œ๋Œ€๋กœ ์งฐ๋Š”๋ฐ, ๊ทธ๋ ‡๊ฒŒ ํ•˜๋ฉด ๊ฑฐ์˜ ์•ž์— ๋‚˜์˜ค๋Š” , , , ๊ฐ€

2023๋…„ 2์›” 26์ผ
ยท
0๊ฐœ์˜ ๋Œ“๊ธ€
ยท