Tag: kernel

0

64bit ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - Day 5

์ด ๊ธ€์€ โ€˜64๋น„ํŠธ ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - ํ•œ์Šนํ›ˆ ์ €์žโ€™์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ํŽ˜์ด์ง€ ๊ธฐ๋Šฅ์„ ํ™œ์„ฑํ™”ํ•˜์—ฌ 64๋น„ํŠธ ์ „ํ™˜ ์ค€๋น„์„ ํ˜• ์ฃผ์†Œ์™€ 4๋‹จ๊ณ„ ํŽ˜์ด์ง• ๊ธฐ๋ฒ•ํŽ˜์ด์ง•์— ์‚ฌ์šฉํ•˜๋Š” ๊ฐ ํ…Œ์ด๋ธ”์€ 512๊ฐœ์˜ ์—”ํŠธ๋ฆฌ๋กœ ๊ตฌ์„ฑ๋˜๋ฉฐ ๋‹ค์Œ ๋ ˆ๋ฒจ์—์„œ ์‚ฌ์šฉํ•  ํ…Œ์ด๋ธ”์˜ ๊ธฐ์ค€ ์ฃผ์†Œ๋ฅผ ํฌํ•จํ•œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  ๊ฐ€์žฅ ๋งˆ์ง€๋ง‰ ๋ ˆ๋ฒจ์ธ ํŽ˜์ด์ง€ ๋””๋ ‰ํ„ฐ๋ฆฌ์˜ ์—”ํŠธ๋ฆฌ๋Š” 2MB ํŽ˜์ด

0

64bit ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - Day 4

์ด ๊ธ€์€ โ€˜64๋น„ํŠธ ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - ํ•œ์Šนํ›ˆ ์ €์žโ€™์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. A20 ๊ฒŒ์ดํŠธ๋ฅผ ํ™œ์„ฑํ™”ํ•˜์—ฌ 1MB ์ด์ƒ ์˜์—ญ์— ์ ‘๊ทผํ•ด๋ณด์žIA-32e ๋ชจ๋“œ ์ปค๋„๊ณผ ๋ฉ”๋ชจ๋ฆฌ ๋งต์™œ 1MB ์ด์ƒ์˜ ๋ฉ”๋ชจ๋ฆฌ์— ์ ‘๊ทผํ•ด์•ผ ํ•˜๋Š”๊ฐ€์— ๋Œ€ํ•ด์„œ๋Š” ์•ž์„œ ๋ถ€ํŠธ ๋กœ๋”์— ์˜ํ•ด ์ปค๋„ ์ด๋ฏธ์ง€๊ฐ€ 0x10000 ๋ฉ”๋ชจ๋ฆฌ์— ๋กœ๋”ฉ๋˜๊ณ , 1MB ์ดํ•˜์˜ ์–ด๋“œ๋ ˆ์Šค ์ค‘์—์„œ ๋น„๋””์˜ค

0

64bit ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - Day 3

์ด ๊ธ€์€ โ€˜64๋น„ํŠธ ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - ํ•œ์Šนํ›ˆ ์ €์žโ€™์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. C์–ธ์–ด๋กœ ์ปค๋„์„ ์ž‘์„ฑํ•˜์ž์‹คํ–‰ ๊ฐ€๋Šฅํ•œ C ์ฝ”๋“œ ์ปค๋„ ์ƒ์„ฑ ๋ฐฉ๋ฒ•๋นŒ๋“œ ์กฐ๊ฑด๊ณผ ์ œ์•ฝ ์‚ฌํ•ญ์ง€๊ธˆ๊นŒ์ง€ ์ž‘์„ฑ๋œ ์ฝ”๋“œ๋Š” ๋‹จ์ผ ํŒŒ์ผ๋กœ NASM ์ปดํŒŒ์ผ์„ ํ†ตํ•ด ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ ํ˜•ํƒœ๋กœ ๋งŒ๋“ค์–ด์กŒ๋‹ค. ์ง์ „ EntryPoint.s ์ฝ”๋“œ๋„ ๋‹จ์ผ ํŒŒ์ผ๋กœ ์ž‘์„ฑ๋˜์—ˆ๊ณ , 512byte๋กœ

0

64bit ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - Day 2

์ด ๊ธ€์€ โ€˜64๋น„ํŠธ ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - ํ•œ์Šนํ›ˆ ์ €์žโ€™์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฏธ์ง€ ๋กœ๋”ฉ ๊ตฌํ˜„์ฑ…์—์„œ ๊ตฌํ˜„ํ•˜๊ฒŒ ๋  OS๋Š” ๋ถ€ํŠธ ๋กœ๋”, ๋ณดํ˜ธ ๋ชจ๋“œ ์ปค๋„, IA-32e ๋ชจ๋“œ ์ปค๋„๋กœ ๊ตฌ์„ฑ๋˜๊ณ  ์„นํ„ฐ ๋‹จ์œ„๋กœ ์ •๋ ฌ๋˜ ํ•˜๋‚˜์˜ ๋ถ€ํŒ… ์ด๋ฏธ์ง€๋กœ ๋งŒ๋“ค์–ด์ง€๋ฉฐ ๋‘ ๋ฒˆ์งธ ์„นํ„ฐ๋ถ€ํ„ฐ ์ฝ์–ด ๋ฉ”๋ชจ๋ฆฌ์— ๋ณต์‚ฌํ•˜๋ฉด ์ด๋ฏธ์ง€ ๋กœ๋”ฉ์ด ๋๋‚˜๊ฒŒ ๋œ๋‹ค. ์ฑ…์—์„œ ๊ตฌํ˜„ํ•˜๋Š” OS๋Š”

0

64bit ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - Day 1

์ด ๊ธ€์€ โ€˜64๋น„ํŠธ ๋ฉ€ํ‹ฐ์ฝ”์–ด OS ์›๋ฆฌ์™€ ๊ตฌ์กฐ - ํ•œ์Šนํ›ˆ ์ €์žโ€™์„ ๊ณต๋ถ€ํ•˜๋ฉฐ ์ •๋ฆฌํ•œ ๋‚ด์šฉ์„ ์ž‘์„ฑํ–ˆ์Šต๋‹ˆ๋‹ค. ์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ BootLoader๋ถ€ํŠธ ๋กœ๋”๋ฅผ ์ •์ƒ์ ์œผ๋กœ ๋ถˆ๋Ÿฌ์˜ค๊ธฐ ์œ„ํ•ด์„œ๋Š” ํ•œ๊ฐ€์ง€ ๊ทœ์น™์ด ์žˆ๋‹ค. ๋จผ์ € ๋ถ€ํŠธ ์„นํ„ฐ 512Byte์˜ ๋งˆ์ง€๋ง‰ 2Byte๋Š” ๋ฐ˜๋“œ์‹œ 0x55, 0xAA๋ฅผ ๊ฐ€์ ธ์•ผ ํ•œ๋‹ค. ์•„๋ž˜๋Š” ์„ธ์ƒ์—์„œ ๊ฐ€์žฅ ๊ฐ„๋‹จํ•œ ๋ถ€ํŠธ๋กœ๋”๋ฅผ ์ž‘์„ฑํ•œ ์†Œ์Šค ์ฝ”