์ด ๋ฌธ์„œ์˜ ์›๋ณธ์€ ์™ธ๋ถ€ ์œ„ํ‚ค์—์„œ ๊ฐ€์ ธ์™”์Šต๋‹ˆ๋‹ค.
RTOS์—์„œ ๋„˜์–ด์˜ด
1. ๊ฐœ์š”2. ์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ ๋ชฉ๋ก3. ๊ด€๋ จ ๋ฌธ์„œ

1. ๊ฐœ์š”[ํŽธ์ง‘]

์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ ๋˜๋Š” RTOS(real-time operating system)๋Š” ์ œํ•œ๋œ ์‹œ๊ฐ„ ๋‚ด์— ์›ํ•˜๋Š” ์ž‘์—…์„ ์ฒ˜๋ฆฌํ•˜๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•˜๋Š” ์šด์˜ ์ฒด์ œ๋ฅผ ๋งํ•œ๋‹ค. RTOS๊ฐ€ ๋“ค์–ด๊ฐ€๋Š” ๊ธฐ๊ธฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์ž„๋ฒ ๋””๋“œ ์‹œ์Šคํ…œ์ธ๋ฐ, ์ด๋“ค์€ ๋ณดํ†ต ์ผ๋ฐ˜ PC๋ณด๋‹ค ์„ฑ๋Šฅ์ด ๋‚ฎ์€ ๊ฒƒ๋“ค์ด ๋“ค์–ด๊ฐ„๋‹ค. Real-time์ธ๋ฐ ์™œ ์„ฑ๋Šฅ์ด ๋‚ฎ์€ ๊ฑธ ์“ฐ๋А๋ƒ๊ณ  ํ•  ์ˆ˜ ์žˆ๋Š”๋ฐ, Real-time๊ณผ High performance๋Š” ๋‹ค๋ฅธ ๊ฐœ๋…์ด๋‹ค. ๋งŒ์•ฝ 1์ดˆ๋งˆ๋‹ค ๋๋งˆ์ณ์•ผ ํ•˜๋Š” ์ž‘์—…์ด ์žˆ๋‹ค๊ณ  ํ•˜๋ฉด, ์ผ๋ฐ˜์ ์ธ PC OS๋ฅผ ์“ฐ๋Š” ๊ณ ์„ฑ๋Šฅ ์ปดํ“จํ„ฐ๋Š” ๋ณดํ†ต์˜ ๊ฒฝ์šฐ 0.1์ดˆ๋งŒ์— ๋๋‚ผ ์ˆ˜๋Š” ์žˆ์ง€๋งŒ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์— ์˜ํ•ด์„œ ๋ง‰ํžˆ๋ฉด 2์ดˆ, ์‹ฌํ•˜๋ฉด 10์ดˆ๋„ ๊ฑธ๋ฆด ์ˆ˜ ์žˆ๋‹ค. PC OS๋ฅผ ์“ฐ๋‹ค๋ณด๋ฉด ์•Œ๊ฒ ์ง€๋งŒ ํ‰์†Œ๋ณด๋‹ค ๋А๋ ค์งˆ ๋•Œ๊ฐ€ ๋ถ„๋ช…ํžˆ ์žˆ๋‹ค. ํ•˜์ง€๋งŒ RTOS๋ฅผ ํƒ‘์žฌํ•œ ๊ธฐ๊ธฐ๋Š” ํ‰๊ท  ์•ฝ 0.8์ดˆ๊ฐ€ ๊ฑธ๋ฆฌ๋”๋ผ๋„ ์–ด๋– ํ•œ ์ƒํ™ฉ์—์„œ๋„ 1์ดˆ ๋‚ด์— ๋๋‚ด๋Š” ๊ฒƒ์„ ๋ณด์žฅํ•œ๋‹ค. ์—ฌ๊ธฐ์„œ๋Š” ์ดˆ ๋‹จ์œ„๋ฅผ ์˜ˆ๋กœ ๋“ค์—ˆ์ง€๋งŒ, RTOS๋Š” ๋Œ€์ฒด๋กœ ์ˆ˜ ๋ฐ€๋ฆฌ์ดˆ(1000๋ถ„์˜ 1์ดˆ), ์‹ฌ์ง€์–ด๋Š” ๋งˆ์ดํฌ๋กœ์ดˆ(100๋งŒ ๋ถ„์˜ 1์ดˆ)๋‹จ์œ„๋กœ ์ปจํŠธ๋กคํ•˜๊ธฐ ์œ„ํ•ด ์“ฐ์ธ๋‹ค. ๋ฆฌ๋ˆ…์Šค๋‚˜ ์œˆ๋„์šฐ์—์„  ๋ฐ€๋ฆฌ์ดˆ ๋‹จ์œ„๋กœ ์ •๊ตํ•˜๊ฒŒ ํ”„๋กœ๊ทธ๋ž˜๋ฐํ•˜๊ธฐ ๋งค์šฐ ํž˜๋“ค๋‹ค.

๋˜ํ•œ RTOS๋ฅผ ์“ฐ๋Š” ์ž„๋ฒ ๋””๋“œ ๊ธฐ๊ธฐ๊ฐ€ ํŠน์ • ์ž‘์—…๋งŒ ํ•˜๋„๋ก ์„ค๊ณ„๋˜์—ˆ๊ณ , ์ผ๋ฐ˜ PC์ฒ˜๋Ÿผ ํ”„๋กœ๊ทธ๋žจ์„ ์ด๊ฒƒ์ €๊ฒƒ ์„ค์น˜ํ•ด์„œ ์“ฐ๋Š” ๊ฒƒ์ด ์•„๋‹ˆ์–ด์„œ, ์›ํ•˜๋Š” ์ž‘์—…์— ๋Œ€ํ•œ ์„ฑ๋Šฅ๋งŒ ๊ฐ–์ถ”๋ฉด ๋˜์ง€ ๊ตณ์ด ๋น„์‹ธ๊ณ  ํฌ๊ธฐ๊ฐ€ ํฐ ๊ณ ์„ฑ๋Šฅ์˜ ์นฉ์…‹์„ ์“ธ ํ•„์š”๊ฐ€ ์—†๋‹ค.

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

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

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

์‚ผ์„ฑ์˜ ๋ฐ”๋‹ค๊ฐ€ ์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ์ธ Nucleus RTOS์˜ ์ปค๋„์„ ์‚ฌ์šฉํ–ˆ๋‹ค.

2. ์‹ค์‹œ๊ฐ„ ์šด์˜ ์ฒด์ œ ๋ชฉ๋ก[ํŽธ์ง‘]

3. ๊ด€๋ จ ๋ฌธ์„œ[ํŽธ์ง‘]