Skip to content

Latest commit

ย 

History

History
93 lines (56 loc) ยท 3.02 KB

File metadata and controls

93 lines (56 loc) ยท 3.02 KB

๋ฆฌ๋ˆ…์Šค

1991๋…„์— ํ—ฌ์‹ด์ด ๋Œ€ํ•™์˜ ๋ฆฌ๋ˆ„์Šค ํ† ๋ฐœ์ฆˆ๊ฐ€ ๋ฆฌ๋ˆ…์Šค ์ปค๋„์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ์˜คํ”ˆ์†Œ์Šค ์œ ๋‹‰์Šค ๊ณ„์—ด์˜ ์šด์˜์ฒด์ œ๋กœ GNUํ”„๋กœ์ ํŠธ๋กœ ๋ณต์‚ฌ,๋ฐฐํฌ,์ดํ•ด,์ˆ˜์ • ๋“ฑ ๋ชจ๋“  ์ œํ•œ์—†์ด ๊ณต๊ฐœํ•˜๊ณ  ์žˆ๋Š” ์šด์˜์ฒด์ œ๋กœ ๋ˆ„๊ตฌ๋‚˜ ์ฐธ์—ฌํ•˜์—ฌ ๊ธฐ์—ฌํ•  ์ˆ˜ ์žˆ๋‹ค.

์œ ๋‹‰์Šค

1969 AT&T ๋ฒจ ์—ฐ๊ตฌ์†Œ์˜ ์ผ ํ†ค์Šจ๊ณผ ๋ฐ๋‹ˆ์Šค ๋ฆฌ์น˜๊ฐ€ ๋งŒ๋“  ์šด์˜์ฒด์ œ๋กœ POSIXํ‘œ์ค€์„ ๋”ฐ๋ฅด๋Š” ์šด์˜์ฒด์ œ

๊ตฌ์กฐ

  • ์ปค๋„ : ํ•ญ์ƒ ๋ฉ”๋ชจ๋ฆฌ์— ์ƒ์ฃผํ•˜๋ฉด์„œ ๋™์ž‘ํ•˜๋Š” ์šด์˜์ฒด์ œ์˜ ํ•ต์‹ฌ ๋ถ€๋ถ„
  • ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋žจ : ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ, ์ปดํŒŒ์ผ๋Ÿฌ, ๋ช…๋ น์–ด(ํŒŒ์ผ, task, ๋„คํŠธ์›Œํฌ, ์‹œ์Šคํ…œ...)๋“ฑ

ํŠน์ง•

  • ๋งˆ์ดํฌ๋กœ ์ปค๋„์ด ์•„๋‹Œ ๋ชจ๋†€๋ฆฌํ‹ฑ๊ตฌ์กฐ์ด๋ฉฐ, ๋ชจ๋“ˆ์„ ๋„์ž…ํ•ด ๋งˆ์ดํฌ๋กœ ์ปค๋„์˜ ์žฅ์ ์„ ํ™œ์šฉ
    • ๋งˆ์ดํฌ๋กœ ์ปค๋„ : ์ปค๋„ ๊ณต๊ฐ„์— ๊ผญ ํ•„์š”ํ•œ ๊ธฐ๋Šฅ(์ธํ„ฐ๋ŸฝํŠธ, ํŽ˜์ด์ง•, ์Šค์ผ€์ค„๋ง, ๋ฌธ๋งฅ๊ตํ™˜, IPC)๋งŒ ์ปค๋„์ˆ˜์ค€์— ํฌํ•จํ•œ ๊ฒƒ.

์žฅ์ 

  • ์‚ฌ์šฉ์ž ์ž„์˜๋Œ€๋กœ ์žฌ๊ตฌ์„ฑ ๊ฐ€๋Šฅ
  • h/w๋ฅผ ์ง์ ‘ ๋™์ž‘ ๊ฐ€๋Šฅ
  • ์ž‘์€ ์ปค๋„์˜ ํฌ๊ธฐ
  • ์•ˆ์ •์„ฑ ๋“ฑ ๋งŽ์€ ์žฅ์  ์กด์žฌ

์‰˜(Shell)

์ผ์ข…์˜ ๋ช…๋ น์–ด ํ•ด์„๊ธฐ๋กœ ์šฐ๋ฆฌ๊ฐ€ ์ž…๋ ฅํ•œ ๋ช…๋ น์–ด๋ฅผ ํ•ด์„ํ•ด ํŠน์ • ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•˜๊ฒŒ ํ•ด์ฃผ๋Š” ๋‹ค๋ฆฌ์—ญํ• ์˜ ํ”„๋กœ๊ทธ๋žจ


๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๊ตฌ์กฐ

์šด์˜์ฒด์ œ๋Š” ์ž์›์„ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์ข…์˜ ์ž์›๊ด€๋ฆฌ์ž์ด๋ฉฐ ๊ด€๋ฆฌํ•  ์ž์›์—๋Š” ํฌ๊ฒŒ ๋ฌผ๋ฆฌ์  ์ž์›, ์ถ”์ƒ์ ์ธ ์ž์›์ด ์กด์žฌํ•œ๋‹ค.

  • ๋ฌผ๋ฆฌ์ ์ธ ์ž์› : CPU, Memory, Disk, Network ๋“ฑ

  • ์ถ”์ƒ์ ์ธ ์ž์› : ๋ฌผ๋ฆฌ์  ์ž์›์„ OS๊ฐ€ ๊ด€๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์ถ”์ƒํ™” ์‹œํ‚จ ๊ฐ์ฒด

    • Task : CPU๋ฅผ ์ถ”์ƒํ™”
    • Segment, Page : Memory๋ฅผ ์ถ”์ƒํ™”
    • File : Disk๋ฅผ ์ถ”์ƒํ™”
    • Protocol, Packet.. : Network๋ฅผ ์ถ”์ƒํ™”

๊ฐ ์ถ”์ƒ์ ์ธ ์ž์›๋“ค์—๋Š” ๊ด€๋ฆฌ์ž๋“ค์ด ์กด์žฌํ•˜๊ณ  ๋ฌผ๋ฆฌ์ ์ธ ์ž์›๋“ค์„ ๊ด€๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค.

๋ณดํ†ต /usr/src/kernels/ ๋””๋ ‰ํ† ๋ฆฌ์— ์กด์žฌํ•œ๋‹ค.

โ—พ ๋””๋ ‰ํ† ๋ฆฌ ์ข…๋ฅ˜

  • kernel : ํƒœ์Šคํฌ ๊ด€๋ฆฌ์ž๊ฐ€ ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • task ์ƒ์„ฑ, ์†Œ๋ฉธ
    • ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰, ์Šค์ผ€์ค„๋ง, ์‹œ๊ทธ๋„ ์ฒ˜๋ฆฌ
    • signal
  • arch : ํ•˜๋“œ์›จ์–ด์˜ ์ข…์†์ ์ธ ๋ถ€๋ถ„๋“ค์ด ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • intel์˜ x86, arm๊ณ„์—ด๋“ฑ ํŠน์ • ํ•˜๋“œ์›จ์–ด์— ๋งž๊ฒŒ ์‹คํ–‰ ์‹œํ‚ค๊ธฐ ์œ„ํ•จ
  • fs : ํŒŒ์ผ์‹œ์Šคํ…œ๋“ค๊ณผ ์‹œ์Šคํ…œ ํ˜ธ์ถœ์ด ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • ext2, ext3, ext4, nfs, fat, proc, xfs ..
    • open(), read(), write()
    • pipe
  • mm : ๋ฉ”๋ชจ๋ฆฌ ๊ด€๋ฆฌ์ž๊ฐ€ ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

  • driver : ๋””๋ฐ”์ด์Šค ๋“œ๋ผ์ด๋ฒ„๊ฐ€ ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • disk, terminal, network card ๋“ฑ
  • net : ๋ฆฌ๋ˆ…์Šค๊ฐ€ ์ง€์›ํ•˜๋Š” ํ†ต์‹  ํ”„๋กœํ† ์ฝœ์ด ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • ๋„๋ฉ”์ธ ํ†ต์‹  ํ”„๋กœํ† ์ฝœ, 802.11, IPX, RPC, Bluetooth, socket ๋“ฑ
  • ipc : ํ”„๋กœ์„ธ์Šค๊ฐ„ ํ†ต์‹  ๊ธฐ๋Šฅ์ด ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

    • message passing, shard memory, sema-phore...
  • init : ์ปค๋„์˜ ๋ฉ”์ธ ์‹œ์ž‘ ํ•จ์ˆ˜๊ฐ€ ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ

  • include : ์‚ฌ์šฉํ•˜๋Š” ํ—ค๋”ํŒŒ์ผ๋“ค์ด ๊ตฌํ˜„๋œ ๋””๋ ‰ํ† ๋ฆฌ





Reference

๋ฆฌ๋ˆ…์Šค ์ปค๋„ ๋‚ด๋ถ€๊ตฌ์กฐ - ๋ฐฑ์Šน์žฌ, ์ตœ์ข…๋ฌด