Skip to content

Latest commit

ย 

History

History
47 lines (36 loc) ยท 6.02 KB

File metadata and controls

47 lines (36 loc) ยท 6.02 KB
  • monolithic kernel๊ณผ micro kernel์˜ ์ฐจ์ด์ ์€ ๋ฌด์—‡์ด๊ณ , ๊ฐ๊ฐ์˜ ์žฅ๋‹จ์ ์€ ๋ฌด์—‡์ธ๊ฐ€? ๊ทธ๋ฆฌ๊ณ , ๋ฆฌ๋ˆ…์Šค ๋Š” ๋‘˜ ์ค‘ ์–ด๋””์— ๊ฐ€๊นŒ์šด๊ฐ€?

    • monolithic kernel

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

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

      ๋ฆฌ๋ˆ…์Šค๋Š” ๊ธฐ๋ณธ์ ์œผ๋กœ monolithic kernel์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ž์œ ์˜ ๋ชธ์ธ ๋ฆฌ๋ˆ…์Šค๋Š” micro kernel์˜ ์—ฌ๋Ÿฌ ์žฅ์ ๋“ค ๋˜ํ•œ ๊ฐ€์ ธ์™”๋‹ค. ์ฆ‰, ๋ฆฌ๋ˆ…์Šค๋Š” ๊ธฐ๋ณธ์ ์ธ monolithic kernel๊ตฌ์กฐ์— ๋”ํ•ด, ๋ชจ๋“ˆํ™” ์„ค๊ณ„, ์„ ์ ํ˜•, ๋ชจ๋“ˆ ๋™์  ๋กœ๋“œ ๋“ฑ ์—ฌ๋Ÿฌ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.

      ๋ฆฌ๋ˆ…์Šค๋Š” monolithic kernel์ด์ง€๋งŒ, micro kernel์˜ ์—ฌ๋Ÿฌ ์žฅ์ ๋“ค์„ ๊ฐ€์ ธ์™”๋‹ค.

  • ๋ฆฌ๋ˆ…์Šค๊ฐ€ Unix like (์œ ๋‹‰์Šค์™€ ๋น„์Šทํ•˜๋ฉด์„œ ์œ ๋‹‰์Šค๊ฐ€ ์•„๋‹ˆ๋‹ค)์ด๋ผ๊ณ  ๋ถˆ๋ฆฌ๋Š” ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€?

    • UNIX์™€ ๋น„์Šทํ•œ ์ด์œ 

      • ๋ฆฌ๋ˆ…์Šค๋Š” ์œ ๋‹‰์Šค์˜ ์—ฌ๋Ÿฌ ์„ค๊ณ„ ์ฒ ํ•™ (Small is beautiful.) ์„ ๊ณ„์Šนํ•˜๊ณ , ์œ ๋‹‰์Šค์˜ ํ‘œ์ค€์ธ POSIX(์œ ๋‹‰์Šค API) ๋ฅผ ๋งŒ์กฑํ•œ๋‹ค.
    • UNIX ์•„๋‹Œ ์ด์œ 

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

      • ์ „ํ†ต ์œ ๋‹‰์Šค๋Š” monolithic kernel์ด๋‹ค. ๊ทธ์— ๋ฐ˜ํ•ด ๋ฆฌ๋ˆ…์Šค๋Š” ๊ธฐ๋ณธ์ ์ธ monolithic kernel์— ๋ชจ๋“ˆ์˜ ๋™์  ๋กœ๋”ฉ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ–ˆ๋‹ค.
      • ์ „ํ†ต์ ์ธ ์œ ๋‹‰์Šค์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ๋ฆฌ๋ˆ…์Šค๋Š” SMP ๋ฅผ ์ง€์›ํ•œ๋‹ค.
      • ์ „ํ†ต์ ์ธ ์œ ๋‹‰์Šค์™€๋Š” ๋‹ค๋ฅด๊ฒŒ, ๋ฆฌ๋ˆ…์Šค๋Š” ์„ ์ ํ˜• ์ด๋‹ค.
      • ๋ฆฌ๋ˆ…์Šค๋Š” ํ”„๋กœ์„ธ์Šค์™€ ์Šค๋ ˆ๋“œ๋ฅผ ๊ตฌ๋ถ„ํ•˜์ง€ ์•Š๊ณ , ๋ชจ๋‘ ๋™๋“ฑํ•œ ํ”„๋กœ์„ธ์Šค๋กœ ๊ฐ„์ฃผํ•œ๋‹ค. ๋‹ค๋งŒ, ์ž์›์„ ๊ณต์œ ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๊ฐ€ ์žˆ์„ ๋ฟ์ด๋‹ค.
  • ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ๋Š” ์™œ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋Š”๊ฐ€?

    ํŽ˜์ด์ง• ์€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ ์—์„œ ์‚ฌ์šฉํ•˜๋Š” ๊ธฐ๋ฒ•์ด๋ฉฐ, ๊ฐ€์ƒ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๋™์ผํ•œ ํฌ๊ธฐ์˜ ํŽ˜์ด์ง€ ๋กœ ๋‚˜๋ˆ„๋Š” ๊ฒƒ์ด๋‹ค. ์ดํ›„ ํŽ˜์ด์ง€ ๋Š” MMU์— ์˜ํ•ด ๋ฌผ๋ฆฌ ๋ฉ”๋ชจ๋ฆฌ์˜ ํ”„๋ ˆ์ž„ ๊ณผ ๋งตํ•‘๋œ๋‹ค. ์ด๋Ÿฌํ•œ ๊ณผ์ •์„ ๊ด€์žฅํ•˜๋Š” ๊ฒŒ ์ปค๋„(์šด์˜์ฒด์ œ) ์ด๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์ปค๋„ ์ด ์ž๊ธฐ ์ž์‹ ์„ ํŽ˜์ด์ง• ํ•˜๋Š” ๊ฒƒ์ด ๊ฐ€๋Šฅํ• ๊นŒ?

    ํ•˜๋‚˜์˜ ์˜ˆ์‹œ๋กœ, ์ปค๋„์—์„œ๋Š” ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ๊ฐ„ํŽธํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์—†๋‹ค. ์‚ฌ์šฉ์ž ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์€ ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ์„ ํ•ด์•ผ ํ•  ๋•Œ, ์ปค๋„์—๊ฒŒ ํŠธ๋žฉ์„ ๋ณด๋‚ธ๋‹ค. ์ปค๋„์€ ํŠธ๋žฉ์„ ๋ฐ›์œผ๋ฉด ์—ฐ์‚ฐ ๋ชจ๋“œ๋ฅผ ๋ถ€๋™์†Œ์ˆ˜์  ๋ชจ๋“œ๋กœ ๋ฐ”๊พผ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ปค๋„์€ ์ž์‹ ์˜ ํŠธ๋žฉ์„ ๋ฐ›์„ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์—, ๋ถ€๋™์†Œ์ˆ˜์  ์—ฐ์‚ฐ ์‹œ ๋ณต์žกํ•œ ๊ณผ์ •์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ๋œ๋‹ค.

    ์œ„์˜ ์˜ˆ์‹œ์—์„œ ๋ณผ ์ˆ˜ ์žˆ๋“ฏ์ด, ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํŽ˜์ด์ง• ํ•˜์ง€ ๋ชปํ•˜๋Š” ์ด์œ  ๋˜ํ•œ MMU์™€ ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ, ํŽ˜์ด์ง• ๊ธฐ๋Šฅ์„ ๋‹ด๋‹นํ•˜๋Š” ์ปค๋„์ด ์ž์‹ ์˜ ๋ฉ”๋ชจ๋ฆฌ๋ฅผ ํŽ˜์ด์ง• ํ•˜๋Š” ๊ฒƒ์ด ๋ฒˆ๊ฑฐ๋กœ์›Œ์„œ ๊ทธ๋Ÿฐ ๊ฒƒ์ด๋ผ๊ณ  ํŒ๋‹จํ–ˆ๋‹ค. ์ด ์ฃผ์ œ์— ๋Œ€ํ•œ ํ† ๋ก  ํ›„ ์•„์ง ํ•ด๊ฒฐ๋˜์ง€ ์•Š๋Š” ๊ถ๊ธˆ์ฆ์ด ๋‚จ์•„์žˆ์—ˆ๋‹ค.

    ์ปค๋„ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ํŽ˜์ด์ง• ๊ธฐ๋Šฅ ์„ ์‚ฌ์šฉํ•  ์ˆ˜ ์—†๋‹ค๋Š” ๊ฒƒ์€, ๊ธฐ์ˆ ์ ์œผ๋กœ ๊ตฌํ˜„์ด ๋ถˆ๊ฐ€ํ•˜๋‹ค๋Š” ์˜๋ฏธ์ผ๊นŒ, ์•„๋‹ˆ๋ฉด ๊ตฌํ˜„์ด ๊ฐ€๋Šฅํ•˜๋”๋ผ๋„ ์‚ฌ์šฉํ•˜๋Š” ๊ฒƒ์„ ๊ธˆ์ง€ํ•œ๋‹ค๋Š” ์˜๋ฏธ์ผ๊นŒ?

  • SMP์˜ ํ™•์žฅ์„ฑ์ด ๋‚ฎ์€ ์ด์œ ๋Š” ๋ฌด์—‡์ธ๊ฐ€?

    SMP๋Š” ์ปดํ“จํ„ฐ์˜ ์ž์›์„ ์—ฌ๋Ÿฌ ํ”„๋กœ์„ธ์„œ๊ฐ€ ๋™๋“ฑํ•œ ์ž…์žฅ์—์„œ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค. ๋”ฐ๋ผ์„œ ํ”„๋กœ์„ธ์„œ์˜ ๊ฐœ์ˆ˜๋ฅผ ๋Š˜๋ฆฌ๋ฉด ํŠน์ • ํ•œ๋„๊นŒ์ง€๋Š” ์„ฑ๋Šฅ์„ ๋Œ์–ด์˜ฌ๋ฆด ์ˆ˜ ์žˆ์„ ๊ฒƒ์ด๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ํ•œ๋„์— ๋‹ค๋‹ค๋ฅธ ์ƒํƒœ์—์„œ ํ”„๋กœ์„ธ์„œ ๊ฐœ์ˆ˜๊ฐ€ ๋Š˜์–ด๋‚œ๋‹ค๋ฉด, ๋ชจ๋“  ํ”„๋กœ์„ธ์„œ๋“ค์€ ๊ณตํ†ต์˜ ์ž์›์„ ๊ณต์œ ํ•˜๊ธฐ ๋•Œ๋ฌธ์—, ๋Œ€๊ธฐ ์‹œ๊ฐ„์ด ๊ธธ์–ด์ง€๊ณ  ์ถฉ๋Œ์ด ๋ฐœ์ƒํ•  ๊ฐ€๋Šฅ์„ฑ์ด ๋†’๋‹ค. ๋”ฐ๋ผ์„œ MPP๋ณด๋‹ค ํ™•์žฅ์„ฑ์ด ๋‚ฎ๋‹ค. ์ด๋Š” Scale Up๊ณผ Scale Out์˜ ๊ฐœ๋…๊ณผ๋„ ์œ ์‚ฌํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ•  ์ˆ˜ ์žˆ๋‹ค.