์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

์šด์˜ ์ฒด์ œ ์†Œ๊ฐœ

ํ—ค์ด ํ•˜๋ธŒ๋ฅด! ์ œ ์ƒ๊ฐ์—๋Š” ํฅ๋ฏธ๋กœ์šด ๋ฌธํ—Œ ์ธ OSTEP์— ๋Œ€ํ•œ ์ผ๋ จ์˜ ๊ธฐ์‚ฌ ๋ฒˆ์—ญ์„ ์—ฌ๋Ÿฌ๋ถ„์˜ ๊ด€์‹ฌ์„ ๋Œ๊ณ  ์‹ถ์Šต๋‹ˆ๋‹ค. ์ด ์ž๋ฃŒ๋Š” ์œ ๋‹‰์Šค ๊ณ„์—ด ์šด์˜ ์ฒด์ œ์˜ ์ž‘์—…, ์ฆ‰ ํ”„๋กœ์„ธ์Šค, ๋‹ค์–‘ํ•œ ์Šค์ผ€์ค„๋Ÿฌ, ๋ฉ”๋ชจ๋ฆฌ ๋ฐ ์ตœ์‹  OS๋ฅผ ๊ตฌ์„ฑํ•˜๋Š” ๊ธฐํƒ€ ์œ ์‚ฌํ•œ ๊ตฌ์„ฑ ์š”์†Œ ์ž‘์—…์— ๋Œ€ํ•ด ๋งค์šฐ ๊นŠ์ด ๋…ผ์˜ํ•ฉ๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—์„œ ๋ชจ๋“  ์ž๋ฃŒ์˜ ์›๋ณธ์„ ๋ณผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์—. ๋น„์ „๋ฌธ์ ์œผ๋กœ(์ƒ๋‹นํžˆ ์ž์œ ๋กญ๊ฒŒ) ๋ฒˆ์—ญํ–ˆ์ง€๋งŒ ์ผ๋ฐ˜์ ์ธ ์˜๋ฏธ๋ฅผ ์œ ์ง€ํ–ˆ์œผ๋ฉด ํ•ฉ๋‹ˆ๋‹ค.

์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ์—ฐ๊ตฌ์‹ค ์ž‘์—…์€ ์—ฌ๊ธฐ์—์„œ ์ฐพ์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

๊ธฐํƒ€ ๋ถ€ํ’ˆ :

์—์„œ ๋‚ด ์ฑ„๋„์„ ํ™•์ธํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด์•ผ๊ธฐ =)

OS๊ฐ€ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ œ๊ณตํ•˜๋Š” ๊ฐ€์žฅ ๊ธฐ๋ณธ์ ์ธ ์ถ”์ƒํ™”์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค์˜ ์ •์˜๋Š” ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ. ํ”„๋กœ๊ทธ๋žจ ์ž์ฒด๋Š” ๋””์Šคํฌ์— ์žˆ๋Š” ์ƒ๋ช…์ด ์—†๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Š” ์ผ๋ จ์˜ ๋ช…๋ น์ด๋ฉฐ ์‹คํ–‰์„ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ผ๋ถ€ ์ •์  ๋ฐ์ดํ„ฐ์ผ ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํ•ด๋‹น ๋ฐ”์ดํŠธ๋ฅผ ๊ฐ€์ ธ์™€ ์‹คํ–‰ํ•˜์—ฌ ํ”„๋กœ๊ทธ๋žจ์„ ์œ ์šฉํ•œ ๊ฒƒ์œผ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ฒƒ์€ OS์ž…๋‹ˆ๋‹ค.
๋Œ€๋ถ€๋ถ„์˜ ๊ฒฝ์šฐ ์‚ฌ์šฉ์ž๋Š” ๋™์‹œ์— ๋‘ ๊ฐœ ์ด์ƒ์˜ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ๋ฅผ ์›ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋…ธํŠธ๋ถ์—์„œ ๋ธŒ๋ผ์šฐ์ €, ๊ฒŒ์ž„, ๋ฏธ๋””์–ด ํ”Œ๋ ˆ์ด์–ด, ํ…์ŠคํŠธ ํŽธ์ง‘๊ธฐ ๋“ฑ์„ ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์‹ค์ œ๋กœ ์ผ๋ฐ˜์ ์ธ ์‹œ์Šคํ…œ์€ ์ˆ˜์‹ญ ๋˜๋Š” ์ˆ˜๋ฐฑ ๊ฐœ์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋™์‹œ์— ์‹คํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ์‚ฌ์‹ค์€ ์‹œ์Šคํ…œ ์‚ฌ์šฉ์„ ๋” ์‰ฝ๊ฒŒ ๋งŒ๋“ค๊ณ , CPU๊ฐ€ ๋น„์–ด ์žˆ๋Š”์ง€ ์—ฌ๋ถ€์— ๋Œ€ํ•ด ๊ฑฑ์ •ํ•  ํ•„์š”๊ฐ€ ์—†์œผ๋ฉฐ, ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค.

์ด๋Š” ๋ฌธ์ œ๋ฅผ ์ œ๊ธฐํ•ฉ๋‹ˆ๋‹ค. ์–ด๋–ป๊ฒŒ ๋งŽ์€ CPU๊ฐ€ ์žˆ๋‹ค๋Š” ํ™˜์ƒ์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์„๊นŒ์š”? ๋ฌผ๋ฆฌ์  CPU๊ฐ€ ํ•˜๋‚˜๋งŒ ์žˆ๋Š” ๊ฒฝ์šฐ์—๋„ OS๋Š” ์–ด๋–ป๊ฒŒ CPU ์ˆ˜๊ฐ€ ๊ฑฐ์˜ ๋ฌดํ•œํ•˜๋‹ค๋Š” ํ™˜์ƒ์„ ๋งŒ๋“ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๊นŒ?

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

์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค

์šด์˜ ์ฒด์ œ์— ์˜ํ•ด ์‹คํ–‰๋˜๋Š” ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ์˜ ์ถ”์ƒํ™”๋ฅผ ์šฐ๋ฆฌ๋Š” ์ด๋ ‡๊ฒŒ ๋ถ€๋ฆ…๋‹ˆ๋‹ค. ๋ฐฉ๋ฒ•. ์•ž์„œ ์–ธ๊ธ‰ํ–ˆ๋“ฏ์ด ํ”„๋กœ์„ธ์Šค๋Š” ์–ด๋Š ์ˆœ๊ฐ„์—๋‚˜ ์‹คํ–‰๋˜๋Š” ํ”„๋กœ๊ทธ๋žจ์ผ ๋ฟ์ž…๋‹ˆ๋‹ค. ์ด ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ ์•ก์„ธ์Šคํ•˜๊ฑฐ๋‚˜ ์˜ํ–ฅ์„ ๋ฏธ์น˜๋Š” ๋‹ค์–‘ํ•œ ์‹œ์Šคํ…œ ๋ฆฌ์†Œ์Šค๋กœ๋ถ€ํ„ฐ ์š”์•ฝ ์ •๋ณด๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ๋Š” ํ”„๋กœ๊ทธ๋žจ์ž…๋‹ˆ๋‹ค.
ํ”„๋กœ์„ธ์Šค์˜ ๊ตฌ์„ฑ์š”์†Œ๋ฅผ ์ดํ•ดํ•˜๋ ค๋ฉด ์‹œ์Šคํ…œ ์ƒํƒœ, ์ฆ‰ ํ”„๋กœ๊ทธ๋žจ์ด ์ž‘๋™ ์ค‘์— ๋ฌด์—‡์„ ์ฝ๊ฑฐ๋‚˜ ๋ณ€๊ฒฝํ•  ์ˆ˜ ์žˆ๋Š”์ง€๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์–ธ์ œ๋“ ์ง€ ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰์— ์ค‘์š”ํ•œ ์‹œ์Šคํ…œ ์š”์†Œ๋ฅผ ์ดํ•ดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.
ํ”„๋กœ์„ธ์Šค์— ํฌํ•จ๋œ ์‹œ์Šคํ…œ ์ƒํƒœ์˜ ๋ช…๋ฐฑํ•œ ์š”์†Œ ์ค‘ ํ•˜๋‚˜๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค. ะฟะฐะผัั‚ัŒ. ์ง€์นจ์€ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์ด ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ๋ฐ์ดํ„ฐ๋„ ๋ฉ”๋ชจ๋ฆฌ์— ์žˆ์Šต๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฃผ์†Œ๋ฅผ ์ง€์ •ํ•  ์ˆ˜ ์žˆ๋Š” ๋ฉ”๋ชจ๋ฆฌ(์ฃผ์†Œ ๊ณต๊ฐ„์ด๋ผ๊ณ  ํ•จ)๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ผ๋ถ€์ž…๋‹ˆ๋‹ค.
๋˜ํ•œ ์‹œ์Šคํ…œ ์ƒํƒœ์˜ ์ผ๋ถ€๋Š” ๋ ˆ์ง€์Šคํ„ฐ์ž…๋‹ˆ๋‹ค. ๋งŽ์€ ๋ช…๋ น์–ด๋Š” ๋ ˆ์ง€์Šคํ„ฐ ๊ฐ’์„ ๋ณ€๊ฒฝํ•˜๊ฑฐ๋‚˜ ๊ทธ ๊ฐ’์„ ์ฝ๋Š” ๊ฒƒ์„ ๋ชฉํ‘œ๋กœ ํ•˜๋ฏ€๋กœ ๋ ˆ์ง€์Šคํ„ฐ๋„ ํ”„๋กœ์„ธ์Šค ์ž‘๋™์˜ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด ๋ฉ๋‹ˆ๋‹ค.
๋จธ์‹  ์ƒํƒœ๋Š” ์ผ๋ถ€ ํŠน์ˆ˜ ๋ ˆ์ง€์Šคํ„ฐ๋กœ๋ถ€ํ„ฐ๋„ ํ˜•์„ฑ๋œ๋‹ค๋Š” ์ ์— ์œ ์˜ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, IP - ๋ช…๋ น์–ด ํฌ์ธํ„ฐ โ€” ํ”„๋กœ๊ทธ๋žจ์ด ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ๋ช…๋ น์–ด์— ๋Œ€ํ•œ ํฌ์ธํ„ฐ์ž…๋‹ˆ๋‹ค. ๋„ ์žˆ์Šต๋‹ˆ๋‹ค ์Šคํƒ ํฌ์ธํ„ฐ ๊ทธ๋ฆฌ๊ณ  ๊ทธ์™€ ๊ด€๋ จ๋œ ํ”„๋ ˆ์ž„ ํฌ์ธํ„ฐ, ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜, ์ง€์—ญ ๋ณ€์ˆ˜ ๋ฐ ๋ฐ˜ํ™˜ ์ฃผ์†Œ๋ฅผ ๊ด€๋ฆฌํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.
๋งˆ์ง€๋ง‰์œผ๋กœ ํ”„๋กœ๊ทธ๋žจ์€ ROM(์ฝ๊ธฐ ์ „์šฉ ๋ฉ”๋ชจ๋ฆฌ)์— ์•ก์„ธ์Šคํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์Šต๋‹ˆ๋‹ค. ์ด "I/O"(์ž…๋ ฅ/์ถœ๋ ฅ) ์ •๋ณด์—๋Š” ํ˜„์žฌ ํ”„๋กœ์„ธ์Šค์—์„œ ์—ด๋ ค ์žˆ๋Š” ํŒŒ์ผ ๋ชฉ๋ก์ด ํฌํ•จ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค API

ํ”„๋กœ์„ธ์Šค ์ž‘๋™ ๋ฐฉ์‹์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋†’์ด๊ธฐ ์œ„ํ•ด ์šด์˜ ์ฒด์ œ ์ธํ„ฐํŽ˜์ด์Šค์— ํฌํ•จ๋˜์–ด์•ผ ํ•˜๋Š” ์‹œ์Šคํ…œ ํ˜ธ์ถœ์˜ ์˜ˆ๋ฅผ ์—ฐ๊ตฌํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ API๋Š” ๋ชจ๋“  OS์—์„œ ์–ด๋–ค ํ˜•ํƒœ๋กœ๋“  ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

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

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ: ์„ธ๋ถ€์ •๋ณด

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

์ดˆ๊ธฐ ์šด์˜ ์ฒด์ œ์—์„œ๋Š” ๋กœ๋”ฉ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ ๊ทน์ ์œผ๋กœ ์ˆ˜ํ–‰๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Š” ํ”„๋กœ๊ทธ๋žจ์ด ์‹œ์ž‘๋˜๊ธฐ ์ „์— ์ „์ฒด ์ฝ”๋“œ๊ฐ€ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ์ตœ์‹  ์šด์˜ ์ฒด์ œ์—์„œ๋Š” ์ด ์ž‘์—…์„ ๋Š๋ฆฌ๊ฒŒ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์ฆ‰, ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰ ์ค‘์— ํ•„์š”ํ•  ๋•Œ๋งŒ ์ฝ”๋“œ๋‚˜ ๋ฐ์ดํ„ฐ ์กฐ๊ฐ์„ ๋กœ๋“œํ•ฉ๋‹ˆ๋‹ค.

์ฝ”๋“œ์™€ ์ •์  ๋ฐ์ดํ„ฐ๊ฐ€ OS ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ ์ „์— ์ˆ˜ํ–‰ํ•ด์•ผ ํ•  ๋ช‡ ๊ฐ€์ง€ ์ž‘์—…์ด ๋” ์žˆ์Šต๋‹ˆ๋‹ค. ์Šคํƒ์— ์ผ์ •๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ๊ทธ๋žจ์€ ์ง€์—ญ ๋ณ€์ˆ˜, ํ•จ์ˆ˜ ๋งค๊ฐœ๋ณ€์ˆ˜ ๋ฐ ๋ฐ˜ํ™˜ ์ฃผ์†Œ์— ์Šคํƒ์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค.. OS๋Š” ์ด ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜์—ฌ ํ”„๋กœ์„ธ์Šค์— ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค. ์Šคํƒ์€ ์ผ๋ถ€ ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ํ• ๋‹นํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ argc ๋ฐ argv ๋ฐฐ์—ด๊ณผ ๊ฐ™์ด main() ํ•จ์ˆ˜์˜ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ฑ„์›๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ๋Š” ํ”„๋กœ๊ทธ๋žจ ํž™์— ์ผ๋ถ€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ํž™์€ ํ”„๋กœ๊ทธ๋žจ์—์„œ ๋™์ ์œผ๋กœ ํ• ๋‹น๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ช…์‹œ์ ์œผ๋กœ ์š”์ฒญํ•˜๋Š” ๋ฐ ์‚ฌ์šฉ๋ฉ๋‹ˆ๋‹ค.. ํ”„๋กœ๊ทธ๋žจ์€ ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ์ด ๊ณต๊ฐ„์„ ์š”์ฒญํ•ฉ๋‹ˆ๋‹ค. malloc () ํ•จ์ˆ˜๋ฅผ ํ˜ธ์ถœํ•˜์—ฌ ๋ช…์‹œ์ ์œผ๋กœ ์ง€์›๋‹ˆ๋‹ค. ๋ฌด๋ฃŒ(). ํž™์€ ์—ฐ๊ฒฐ๋œ ์‹œํŠธ, ํ•ด์‹œ ํ…Œ์ด๋ธ”, ํŠธ๋ฆฌ ๋“ฑ๊ณผ ๊ฐ™์€ ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ์— ํ•„์š”ํ•ฉ๋‹ˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ์†Œ๋Ÿ‰์˜ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํž™์— ํ• ๋‹น๋˜์ง€๋งŒ ์‹œ๊ฐ„์ด ์ง€๋‚˜๋ฉด์„œ ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๋ฉด์„œ ํž™์€ ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ API ํ˜ธ์ถœ malloc()์„ ํ†ตํ•ด ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ์š”์ฒญํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์šด์˜ ์ฒด์ œ๋Š” ์ด๋Ÿฌํ•œ ํ˜ธ์ถœ์„ ๋งŒ์กฑ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ๋” ๋งŽ์€ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํ• ๋‹นํ•˜๋Š” ํ”„๋กœ์„ธ์Šค์— ์ฐธ์—ฌํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ๋Š” ํŠนํžˆ I/O์™€ ๊ด€๋ จ๋œ ์ดˆ๊ธฐํ™” ์ž‘์—…๋„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, UNIX ์‹œ์Šคํ…œ์—์„œ ๊ฐ ํ”„๋กœ์„ธ์Šค์—๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ ํ‘œ์ค€ ์ž…๋ ฅ, ์ถœ๋ ฅ ๋ฐ ์˜ค๋ฅ˜์— ๋Œ€ํ•œ 3๊ฐœ์˜ ์—ด๋ฆฐ ํŒŒ์ผ ์„ค๋ช…์ž๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ํ•ธ๋“ค์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์€ ํ„ฐ๋ฏธ๋„์˜ ์ž…๋ ฅ์„ ์ฝ์„ ์ˆ˜ ์žˆ์„ ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ ํ™”๋ฉด์— ์ •๋ณด๋ฅผ ํ‘œ์‹œํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.

๋”ฐ๋ผ์„œ ์ฝ”๋“œ์™€ ์ •์  ๋ฐ์ดํ„ฐ๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋“œํ•˜๊ณ , ์Šคํƒ์„ ์ƒ์„ฑ ๋ฐ ์ดˆ๊ธฐํ™”ํ•˜๊ณ , I/O ์ž‘์—… ์ˆ˜ํ–‰๊ณผ ๊ด€๋ จ๋œ ๊ธฐํƒ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•จ์œผ๋กœ์จ OS๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ๋‹จ๊ณ„๋ฅผ ์ค€๋น„ํ•ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ๋งˆ์ง€๋ง‰ ์ž‘์—…์ด ํ•˜๋‚˜ ๋‚จ์•˜์Šต๋‹ˆ๋‹ค. main() ํ•จ์ˆ˜๋ผ๊ณ  ํ•˜๋Š” ์ง„์ž…์ ์„ ํ†ตํ•ด ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. main() ํ•จ์ˆ˜๋ฅผ ์‹คํ–‰ํ•˜๋ฉด OS๋Š” ์ƒˆ๋กœ ์ƒ์„ฑ๋œ ํ”„๋กœ์„ธ์Šค์— CPU ์ œ์–ด๊ถŒ์„ ๋„˜๊ฒจ์ฃผ๊ณ  ํ”„๋กœ๊ทธ๋žจ์ด ์‹คํ–‰๋˜๊ธฐ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค.

ํ”„๋กœ์„ธ์Šค ์ƒํƒœ

์ด์ œ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ฌด์—‡์ธ์ง€, ํ”„๋กœ์„ธ์Šค๊ฐ€ ์–ด๋–ป๊ฒŒ ์ƒ์„ฑ๋˜๋Š”์ง€ ์–ด๋Š ์ •๋„ ์ดํ•ดํ–ˆ์œผ๋ฏ€๋กœ ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋ฅผ ๋‚˜์—ดํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ํ˜•ํƒœ๋กœ ํ”„๋กœ์„ธ์Šค๋Š” ๋‹ค์Œ ์ƒํƒœ ์ค‘ ํ•˜๋‚˜์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ— ๋‹ฌ๋ฆฌ๋Š”. ์‹คํ–‰ ์‹œ ํ”„๋กœ์„ธ์Šค๋Š” ํ”„๋กœ์„ธ์„œ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค. ์ด๋Š” ๋ช…๋ น์ด ์‹คํ–‰๋˜๊ณ  ์žˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค.
โ— ์ค€๋น„. ์ค€๋น„ ์ƒํƒœ์—์„œ๋Š” ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•  ์ค€๋น„๊ฐ€ ๋˜์—ˆ์ง€๋งŒ ์–ด๋–ค ์ด์œ ๋กœ OS๊ฐ€ ์ง€์ •๋œ ์‹œ๊ฐ„์— ํ”„๋กœ์„ธ์Šค๋ฅผ ์‹คํ–‰ํ•˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค.
โ— ๋ง‰ํžŒ. ์ฐจ๋‹จ๋œ ์ƒํƒœ์—์„œ ํ”„๋กœ์„ธ์Šค๋Š” ์ผ๋ถ€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ์‹คํ–‰ ์ค€๋น„๊ฐ€ ๋˜์ง€ ์•Š๋„๋ก ํ•˜๋Š” ์ผ๋ถ€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ํ•œ ๊ฐ€์ง€ ์ผ๋ฐ˜์ ์ธ ์˜ˆ๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ IO ์ž‘์—…์„ ์‹œ์ž‘ํ•  ๋•Œ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ํ”„๋กœ์„ธ์„œ๋ฅผ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋„๋ก ์ฐจ๋‹จ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

์ด๋Ÿฌํ•œ ์ƒํƒœ๋ฅผ ๊ทธ๋ž˜ํ”„ ํ˜•ํƒœ๋กœ ์ƒ์ƒํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๊ทธ๋ฆผ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๋Š” OS์˜ ์žฌ๋Ÿ‰์— ๋”ฐ๋ผ RUNNING๊ณผ READY ์‚ฌ์ด์—์„œ ๋ณ€๊ฒฝ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๊ฐ€ READY์—์„œ RUNNING์œผ๋กœ ๋ณ€๊ฒฝ๋˜๋ฉด ํ•ด๋‹น ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ˆ์•ฝ๋˜์—ˆ์Œ์„ ์˜๋ฏธํ•ฉ๋‹ˆ๋‹ค. ๋ฐ˜๋Œ€ ๋ฐฉํ–ฅ - ๋ ˆ์ด์•„์›ƒ์—์„œ ์ œ๊ฑฐ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด IO ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๋Š” ๋“ฑ ํ”„๋กœ์„ธ์Šค๊ฐ€ BLOCKED๋˜๋Š” ์ˆœ๊ฐ„ OS๋Š” IO ์™„๋ฃŒ์™€ ๊ฐ™์€ ์ผ๋ถ€ ์ด๋ฒคํŠธ๊ฐ€ ๋ฐœ์ƒํ•  ๋•Œ๊นŒ์ง€ ์ด ์ƒํƒœ๋ฅผ ์œ ์ง€ํ•ฉ๋‹ˆ๋‹ค. ์ด ์ˆœ๊ฐ„ READY ์ƒํƒœ๋กœ ์ „ํ™˜๋˜๊ณ , OS๊ฐ€ ๊ฒฐ์ •ํ•˜๋ฉด ์ฆ‰์‹œ RUNNING ์ƒํƒœ๋กœ ์ „ํ™˜๋  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค.
๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ด๋Ÿฌํ•œ ์ƒํƒœ๋ฅผ ์–ด๋–ป๊ฒŒ ์ด๋™ํ•˜๋Š”์ง€์— ๋Œ€ํ•œ ์˜ˆ๋ฅผ ์‚ดํŽด๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์šฐ์„  ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋ชจ๋‘ ์‹คํ–‰ ์ค‘์ด๊ณ  ๊ฐ๊ฐ โ€‹โ€‹CPU๋งŒ ์‚ฌ์šฉํ•˜๊ณ  ์žˆ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝ์šฐ ์ƒํƒœ๋Š” ๋‹ค์Œ๊ณผ ๊ฐ™์Šต๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

๋‹ค์Œ ์˜ˆ์—์„œ ์ฒซ ๋ฒˆ์งธ ํ”„๋กœ์„ธ์Šค๋Š” ์ผ์ • ์‹œ๊ฐ„ ์‹คํ–‰๋œ ํ›„ IO๋ฅผ ์š”์ฒญํ•˜๊ณ  BLOCKED ์ƒํƒœ์— ๋“ค์–ด๊ฐ€ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋„๋ก ํ—ˆ์šฉํ•ฉ๋‹ˆ๋‹ค(๊ทธ๋ฆผ 1.4). OS๋Š” ํ”„๋กœ์„ธ์Šค 0์ด CPU๋ฅผ ์‚ฌ์šฉํ•˜์ง€ ์•Š๋Š” ๊ฒƒ์„ ํ™•์ธํ•˜๊ณ  ํ”„๋กœ์„ธ์Šค 1์„ ์‹œ์ž‘ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค 1์ด ์‹คํ–‰๋˜๋Š” ๋™์•ˆ IO๊ฐ€ ์™„๋ฃŒ๋˜๊ณ  ํ”„๋กœ์„ธ์Šค 0์˜ ์ƒํƒœ๊ฐ€ READY๋กœ ๋ณ€๊ฒฝ๋ฉ๋‹ˆ๋‹ค. ๋งˆ์ง€๋ง‰์œผ๋กœ ํ”„๋กœ์„ธ์Šค 1์ด ์™„๋ฃŒ๋˜๊ณ , ์™„๋ฃŒ๋˜๋ฉด ํ”„๋กœ์„ธ์Šค 0์ด ์ž‘์—…์„ ์‹œ์ž‘ํ•˜๊ณ  ์‹คํ–‰ํ•˜๊ณ  ์™„๋ฃŒํ•ฉ๋‹ˆ๋‹ค.

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

๋ฐ์ดํ„ฐ ๊ตฌ์กฐ

OS ์ž์ฒด๋Š” ํ”„๋กœ๊ทธ๋žจ์ด๋ฉฐ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ๊ณผ ๋งˆ์ฐฌ๊ฐ€์ง€๋กœ ๋‹ค์–‘ํ•œ ๊ด€๋ จ ์ •๋ณด๋ฅผ ์ถ”์ ํ•˜๋Š” ๋ช‡ ๊ฐ€์ง€ ์ฃผ์š” ๋ฐ์ดํ„ฐ ๊ตฌ์กฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ๊ฐ ํ”„๋กœ์„ธ์Šค์˜ ์ƒํƒœ๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•ด OS๋Š” ์ผ๋ถ€ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ง€์›ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก READY ์ƒํƒœ์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด์™€ ํ˜„์žฌ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ถ”์ ํ•˜๊ธฐ ์œ„ํ•œ ๋ช‡ ๊ฐ€์ง€ ์ถ”๊ฐ€ ์ •๋ณด์ž…๋‹ˆ๋‹ค. ๋˜ํ•œ OS๋Š” ์ฐจ๋‹จ๋œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ชจ๋‹ˆํ„ฐ๋งํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. IO๊ฐ€ ์™„๋ฃŒ๋œ ํ›„ OS๋Š” ํ•„์š”ํ•œ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊นจ์šฐ๊ณ  ์‹คํ–‰ํ•  ์ค€๋น„๊ฐ€ ๋œ ์ƒํƒœ๋กœ ๋†“์•„์•ผ ํ•ฉ๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด OS๋Š” ํ”„๋กœ์„ธ์„œ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ƒํƒœ๋ฅผ ๋ณด์กดํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ค‘์ง€๋˜๋Š” ์ˆœ๊ฐ„ ๋ ˆ์ง€์Šคํ„ฐ์˜ ์ƒํƒœ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์— ์ €์žฅ๋˜๋ฉฐ, ๋™์ž‘์ด ๊ณ„์†๋˜๋Š” ์ˆœ๊ฐ„ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๊ฐ’์ด ๋ณต์›๋˜์–ด ์ด ํ”„๋กœ์„ธ์Šค์˜ ์‹คํ–‰์ด ๊ณ„์†๋ฉ๋‹ˆ๋‹ค.

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

์šด์˜ ์ฒด์ œ: ์„ธ ๊ฐ€์ง€ ์‰ฌ์šด ๋ถ€๋ถ„. 2๋ถ€: ์ถ”์ƒํ™”: ํ”„๋กœ์„ธ์Šค(๋ฒˆ์—ญ)

๊ฐ•์˜์˜ ํ•ต์‹ฌ ํฌ์ธํŠธ:

โ— ะŸั€ะพั†ะตัั โ€” OS์—์„œ ์‹คํ–‰ ์ค‘์ธ ํ”„๋กœ๊ทธ๋žจ์˜ ์ฃผ์š” ์ถ”์ƒํ™”์ž…๋‹ˆ๋‹ค. ์–ธ์ œ๋“ ์ง€ ํ”„๋กœ์„ธ์Šค๋Š” ํ•ด๋‹น ์ƒํƒœ, ์ฆ‰ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋ฉ”๋ชจ๋ฆฌ ๋‚ด์šฉ, ๋ช…๋ น์–ด ํฌ์ธํ„ฐ ๋ฐ ์Šคํƒ ํฌ์ธํ„ฐ๋ฅผ ํฌํ•จํ•œ ํ”„๋กœ์„ธ์„œ ๋ ˆ์ง€์Šคํ„ฐ์˜ ๋‚ด์šฉ, ์ฝ๊ฑฐ๋‚˜ ์“ฐ๋Š” ์—ด๋ฆฐ ํŒŒ์ผ๊ณผ ๊ฐ™์€ IO ์ •๋ณด๋กœ ์„ค๋ช…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ— ํ”„๋กœ์„ธ์Šค API ํ”„๋กœ๊ทธ๋žจ์ด ํ”„๋กœ์„ธ์Šค๋ฅผ ํ˜ธ์ถœํ•  ์ˆ˜ ์žˆ๋Š” ํ˜ธ์ถœ๋กœ ๊ตฌ์„ฑ๋ฉ๋‹ˆ๋‹ค. ์ผ๋ฐ˜์ ์œผ๋กœ ์ด๋Ÿฌํ•œ ํ˜ธ์ถœ์€ ์ƒ์„ฑ, ์‚ญ์ œ ๋˜๋Š” ๊ธฐํƒ€ ํ˜ธ์ถœ์ž…๋‹ˆ๋‹ค.
โ— ํ”„๋กœ์„ธ์Šค๋Š” ์‹คํ–‰ ์ค‘, ์ค€๋น„ ์™„๋ฃŒ, ์ฐจ๋‹จ๋จ ๋“ฑ ์—ฌ๋Ÿฌ ์ƒํƒœ ์ค‘ ํ•˜๋‚˜์— ์žˆ์Šต๋‹ˆ๋‹ค. ์Šค์ผ€์ค„๋ง, ์Šค์ผ€์ค„๋ง ์˜ˆ์™ธ ๋˜๋Š” ๋Œ€๊ธฐ์™€ ๊ฐ™์€ ๋‹ค์–‘ํ•œ ์ด๋ฒคํŠธ๋กœ ์ธํ•ด ํ”„๋กœ์„ธ์Šค ์ƒํƒœ๊ฐ€ ์„œ๋กœ ๋ฐ”๋€” ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
โ— ํ”„๋กœ์„ธ์Šค ๋ชฉ๋ก ์‹œ์Šคํ…œ์˜ ๋ชจ๋“  ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•œ ์ •๋ณด๋ฅผ ํฌํ•จํ•ฉ๋‹ˆ๋‹ค. ๊ฐ ํ•ญ๋ชฉ์„ ํ”„๋กœ์„ธ์Šค ์ œ์–ด ๋ธ”๋ก์ด๋ผ๊ณ  ํ•˜๋ฉฐ ์‹ค์ œ๋กœ๋Š” ํŠน์ • ํ”„๋กœ์„ธ์Šค์— ๋Œ€ํ•ด ํ•„์š”ํ•œ ๋ชจ๋“  ์ •๋ณด๋ฅผ ํฌํ•จํ•˜๋Š” ๊ตฌ์กฐ์ž…๋‹ˆ๋‹ค.โ€ƒ

์ถœ์ฒ˜ : habr.com

์ฝ”๋ฉ˜ํŠธ๋ฅผ ์ถ”๊ฐ€