Linux Kernel

LInux Kernel์— ๋Œ€ํ•ด ์•Œ์•„๋ณด์•„์š”

Linux Kernel ์ด๋ž€?

  • System์— ์กด์žฌํ•˜๋Š” ์ž์›์„ ํšจ์œจ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๋Š” ์ž์› ๊ด€๋ฆฌ์ž๋กœ, ์•„๋ž˜์™€ ๊ฐ™์€ ์ฃผ์š” ๊ธฐ๋Šฅ์„ ๊ฐ€์ง„๋‹ค

    1. Processor ๊ด€๋ฆฌ

      • ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ํ–ฅ์ƒ์‹œํ‚ค๊ธฐ ์œ„ํ•ด ์—ฌ๋Ÿฌ Process๋ฅผ ๋ณ‘๋ ฌ๋กœ ์—ฐ๊ฒฐํ•˜์—ฌ ์‚ฌ์šฉํ•œ๋‹ค

      • system์—์„œ ๋™์ž‘ํ•˜๋Š” process๋„ kernel์—์„œ๋Š” ๊ด€๋ฆฌํ•ด์•ผ ํ•  ์ž์›์ด๊ณ , OS์˜ ์ฒ˜๋ฆฌ ์š”๊ตฌ์— ๋งž์ถฐ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ process์— ํ•„์š”ํ•œ processor๋ฅผ ํšจ์œจ์ ์œผ๋กœ ํ• ๋‹นํ•˜๊ณ  ์ˆ˜ํ–‰ํ•˜๋„๋ก ๊ด€๋ฆฌํ•œ๋‹ค

    2. Process ๊ด€๋ฆฌ

      • OS์—๋Š” ์ตœ์†Œํ•œ ํ•˜๋‚˜ ์ด์ƒ์˜ process๊ฐ€ ๋™์ž‘ํ•œ๋‹ค

        • Process๋Š” ๋‹ค๋ฅธ ๋ง๋กœ task๋ผ๊ณ ๋„ ํ•˜๋ฉฐ, ์ฃผ์–ด์ง„ ์ผ์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ธฐ๋ณธ ๋‹จ์œ„์ด๋‹ค

      • Kernel์€ scheduler๋ฅผ ์ด์š”ํ•˜์—ฌ ์—ฌ๋Ÿฌ process๊ฐ€ ๋™์ž‘ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ process๋ฅผ ์ƒ์„ฑํ•˜๊ณ  ์ œ๊ฑฐํ•˜๋ฉฐ ์™ธ๋ถ€ ํ™˜๊ฒฝ๊ณผ process๋ฅผ ์—ฐ๊ฒฐํ•˜๊ณ  ๊ด€๋ฆฌํ•œ๋‹ค

    3. Memory ๊ด€๋ฆฌ

      • ๊ฐ๊ฐ์˜ Process๊ฐ€ ๋…๋ฆฝ์ ์ธ ๊ณต๊ฐ„์—์„œ ์ˆ˜ํ–‰ํ•  ์ˆ˜ ์žˆ๋„๋ก ๊ฐ€์ƒ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ์ œ๊ณตํ•œ๋‹ค

      • ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ๋ฐ”ํƒ€์‘๋กœ ๋ฌผ๋ฆฌ์ ์ธ ํ•œ๊ณ„๋ฅผ ๊ทน๋ณตํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ์ œ๊ณตํ•œ๋‹ค

  • ์ด์™ธ์—๋„ File System ๊ด€๋ฆฌ, Device ์ œ์–ด, Network ๊ด€๋ฆฌ ๋“ฑ์˜ ๊ธฐ๋Šฅ์„ ํ•œ๋‹ค

  • Linux Kernel์€ OS์—์„œ ๊ฐ€์žฅ ์ค‘์š”ํ•œ ๋ถ€๋ถ„์ด๋‹ค

    • Processor์™€ System memory์— ์ƒ์ฃผํ•˜๋ฉด์„œ device๋‚˜ memory ๊ฐ™์€ hardware ์ž์›์„ ๊ด€๋ฆฌํ•˜๊ณ ,

    • Process์˜ schedule์„ ๊ด€๋ฆฌํ•˜์—ฌ ๋‹ค์ค‘ process๋ฅผ ๊ตฌํ˜„ํ•˜๊ณ ,

    • System์— ์—ฐ๊ฒฐ๋œ I/O๋ฅผ ์ฒ˜๋ฆฌํ•˜๋Š” OS์˜ ํ•ต์‹ฌ ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค!

Last updated