๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ
CS/์šด์˜์ฒด์ œ

5. ์šด์˜์ฒด์ œ์˜ ์—ญํ• 

by ๐Ÿณ Laboon 2024. 4. 21.
์šด์˜์ฒด์ œ์— ํ•„์š”ํ•œ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์€ ์–ด๋–ป๊ฒŒ ๊ตฌ์„ฑ๋˜์–ด ์žˆ์„๊นŒ?

 

์šด์˜์ฒด์ œ์˜ ์—ญํ• ์— ๋Œ€ํ•ด ์ดํ•ดํ•˜๋ ค๋ฉด ๋จผ์ € ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ตฌ์กฐ๋ฅผ ์•Œ์•„์•ผํ•œ๋‹ค.

 

์šฐ๋ฆฌ๋Š” 1. ์šด์˜์ฒด์ œ๋ž€? ์—์„œ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์˜ ๊ธฐ๋ณธ์ ์ธ ๊ตฌ์กฐ๋ฅผ ํ™•์ธํ–ˆ์—ˆ๋‹ค.

ํฌ๊ฒŒ ์‘์šฉ SW <-> OS <-> HW์˜ ๊ณ„์ธต์„ ๊ฐ–๊ณ  ์žˆ๋Š”๋ฐ ์—ฌ๊ธฐ์„œ OS๊ฐ€ ์‚ฌ์šฉ์ž(์‘์šฉ SW)์™€ HW ๊ฐ„์— ์ค‘๊ณ„ ์—ญํ• (์ธํ„ฐํŽ˜์ด์Šค)์„ ์ˆ˜ํ–‰ํ•˜๊ณ  ์žˆ๊ธฐ ๋•Œ๋ฌธ์ด๋‹ค. ๊ทธ๋ž˜์„œ OS๋Š” ์ž์›์— ๋Œ€ํ•ด ๋ฐฐํƒ€์  ๋…์ ์„ ํ•˜๊ณ  ์žˆ๊ณ  ์‚ฌ์šฉ์ž๋‚˜ SW๋Š” OS๋ฅผ ํ†ตํ•ด์„œ๋งŒ HW์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ํŠน์ง•์ด ์žˆ๋‹ค.

 

๊ทธ๋ฆผ A. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ตฌ์กฐ

 

์‚ฌ์‹ค ์ด ๋‚ด์šฉ์€ OS์˜ ์„ ์ˆ˜๊ณผ๋ชฉ์œผ๋กœ ์–ธ๊ธ‰๋˜๋Š” ์ปดํ“จํ„ฐ ๊ตฌ์กฐ๋‚˜ ์‹œ์Šคํ…œ ํ”„๋กœ๊ทธ๋ž˜๋ฐ์—์„œ ๊ณต๋ถ€ํ•ด์•ผ ํ•  ๋‚ด์šฉ์ธ๋ฐ ์ด๋ฏธ ์•Œ๋”๋ผ๋„ ๋ณต์Šตํ•˜๋Š” ๋‚ด์šฉ์œผ๋กœ ๋„˜์–ด๊ฐ€๋ ค๊ณ  ํ•œ๋‹ค.

 

  • CPU(Central Processing Unit)๋Š” ์ค‘์•™์ฒ˜๋ฆฌ์žฅ์น˜๋กœ ๋ฉ”๋ชจ๋ฆฌ์— ์ ์žฌ๋œ ๋ชจ๋“  ๋ช…๋ น์„ ์ฒ˜๋ฆฌํ•˜๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.
    • 32๋น„ํŠธ CPU์˜ ๊ฒฝ์šฐ 2^32 bit๋กœ ์ด 4GB์˜ ๋ฐ์ดํ„ฐ๋ฅผ ์ฒ˜๋ฆฌํ•œ๋‹ค.
    • ์ฆ‰, ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ 4GB๋ฅผ ์ดˆ๊ณผํ•ด๋„ CPU๋Š” 4GB๋งŒ ์ฒ˜๋ฆฌํ•  ์ˆ˜ ์žˆ๋‹ค. 
    • PC, IR, SP, Data Registers, Statuts Register, ... ๋‹ค์–‘ํ•œ ๋ ˆ์ง€์Šคํ„ฐ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค.
  • ๋ฉ”๋ชจ๋ฆฌ(Memory)๋Š” ์šฐ๋ฆฌ๊ฐ€ ํ”ํžˆ ์•„๋Š” RAM์œผ๋กœ ์‹คํ–‰ ํ”„๋กœ๊ทธ๋žจ(*.exe)๊ณผ ๊ฐ™์€ ์‹คํ–‰์„ ์œ„ํ•œ ๋ชฉ์  ํ”„๋กœ๊ทธ๋žจ์ด ์ ์žฌ๋˜๋Š” ๊ณต๊ฐ„์ด๋‹ค.
  • ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ(Cache Memory)๋Š” CPU์˜ ์ฒ˜๋ฆฌ์†๋„ ๋ฐœ์ „์— ๋น„ํ•ด ๋А๋ฆฐ RAM์˜ ์†๋„๋ฅผ ๋ณด์™„ํ•˜๊ธฐ ์œ„ํ•ด CPU์™€ RAM ์‚ฌ์ด์˜ ์†๋„๋ฅผ ๊ฐœ์„ ํ•˜๊ธฐ ์œ„ํ•œ ์ž‘์€ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค.
    • ์บ์‹œ ๋ฐ์ดํ„ฐ๋ผ๋Š” ๋ง์„ ๋“ค์–ด๋ดค์„ ๊ฒƒ์ด๋‹ค. ์ž„์‹œ์ ์œผ๋กœ ์ €์žฅ๋˜๋Š” ๋‚ด์šฉ์ธ๋ฐ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๊ทธ ์—ญํ• ์„ ํ•œ๋‹ค. ์ž์ฃผ ์‹คํ–‰๋˜๊ฑฐ๋‚˜ ์ง€์—ญ์„ฑ์„ ๋ ๊ณ  ์žˆ์œผ๋ฉด ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์— ์ €์žฅ๋˜์–ด ๋‹ค์Œ ๋ฒˆ์— ์‚ฌ์šฉํ•  ๋•Œ, ๋А๋ฆฐ ๋ฉ”๋ชจ๋ฆฌ๋ณด๋‹ค ๋น ๋ฅธ Cache ๋ฉ”๋ชจ๋ฆฌ์—์„œ ์ ‘๊ทผํ•˜๋ฉด์„œ ์ฒ˜๋ฆฌ ์†๋„๋ฅผ ๋†’์ด๋Š” ๋ฐฉ๋ฒ•์ด๋‹ค.
    • On-Chip, Off-Chip ์บ์‹œ๊ฐ€ ์žˆ๋Š”๋ฐ ๊ฐ ๊ฐ CPU ๋‚ด๋ถ€์™€ ์™ธ๋ถ€์—์„œ ์†๋„ ๊ฐœ์„ ์„ ์œ„ํ•ด ์‚ฌ์šฉ๋˜๋Š” ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ์ด๋‹ค.
  • ๋ฒ„์Šค๋Š” ๊ฐ„๋‹จํ•˜๋‹ค. ์šฐ๋ฆฌ๊ฐ€ ์ปดํ“จํ„ฐ ๋ณธ์ฒด๋ฅผ ์กฐ๋ฆฝ ํ•  ๋•Œ, ์„ ๋“ค์„ ์—ฐ๊ฒฐํ•˜๋Š”๋ฐ ์ด ์„ ๋“ค์ด ๋ฒ„์Šค์ด๋‹ค. HW๊ฐ€ ์‹คํ–‰๋˜๊ธฐ ์œ„ํ•ด ์ง์ ‘์ ์œผ๋กœ ์—ฐ๊ฒฐ๋˜๋Š” ์„ ์œผ๋กœ 0๊ณผ 1์˜ ๋””์ง€ํ„ธ ์‹ ํ˜ธ๊ฐ€ ์†ก,์ˆ˜์‹  ๋˜๋Š” ๊ฒƒ์ด๋‹ค.
    • ์ฃผ์†Œ ๋ฒ„์Šค, ๋ฐ์ดํ„ฐ ๋ฒ„์Šค, ์ œ์–ด ๋ฒ„์Šค๊ฐ€ ์žˆ๋‹ค.
  • ๊ทธ ์™ธ ์ž…์ถœ๋ ฅ ์ œ์–ด ์žฅ์น˜ ๋ฐ ์‹œ์Šคํ…œ ์ œ์–ด ํšŒ๋กœ๊ฐ€ ์กด์žฌํ•œ๋‹ค.
    • DMAC (Direct Memory Access Controller) : I/O HW์™€ ๋ฉ”๋ชจ๋ฆฌ ์‚ฌ์ด ๋ฐ์ดํ„ฐ ์ „์†ก์„ ์ฃผ์†Œ๊ฐ’์„ ํ†ตํ•ด ์ง์ ‘ ์ „์†ก
    • INTC (Interrupt Controller) : I/O ์ž…์ถœ๋ ฅ์ด ์ œ๋Œ€๋กœ ์ˆ˜ํ–‰ ๋์„ ๊ฒฝ์šฐ CPU์—๊ฒŒ ์ „๋‹ฌํ•˜๋Š” ์žฅ์น˜
  • ํ˜„๋Œ€์—๋Š” ์กฐ๊ธˆ ๋” ๋ฐœ์ „๋˜์–ด์žˆ๋‹ค.
    • NorthBridge : ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ๋Ÿ‰์ด ๋งŽ์•„ ๋ฉ”๋ชจ๋ฆฌ์™€ ๋น ๋ฅด๊ฒŒ ์ •๋ณด๋ฅผ ์ฃผ๊ณ  ๋ฐ›๋Š” HW๋ฅผ ์—ฐ๊ฒฐ
      ๊ทธ๋ž˜ํ”ฝ ์ œ์–ด ์žฅ์น˜, CPU ๋ฐ ์บ์‹œ ๋ฉ”๋ชจ๋ฆฌ๊ฐ€ ๋Œ€ํ‘œ์ ์ธ ์˜ˆ์‹œ
    • SouthBridge : ์ž…์ถœ๋ ฅ ์žฅ์น˜ ์ œ์–ด๋ฅผ ์œ„ํ•œ ํ†ตํ•ฉ ์นฉ
      ๋Œ€๋ถ€๋ถ„์˜ ์ž…์ถœ๋ ฅ ์žฅ์น˜๊ฐ€ ์—ฌ๊ธฐ์— ์—ฐ๊ฒฐ๋˜์–ด์žˆ๋‹ค.

์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ณ„์ธต ๊ตฌ์กฐ๋ฅผ ์™œ ์•Œ์•„์•ผ ํ• ๊นŒ?

 

๊ทธ ์ด์œ ๋Š” ์šด์˜์ฒด์ œ์˜ ๋™์ž‘ ๋ฐฉ์‹์„ ์ œ๋Œ€๋กœ ์ดํ•ดํ•˜๊ธฐ ์œ„ํ•ด์„œ์ด๋‹ค.

์ปดํ“จํ„ฐ๋Š” ๋Œ€๋ถ€๋ถ„ ์ธํ„ฐํŽ˜์ด์Šค๋กœ ์ด๋ฃจ์–ด์ ธ์žˆ๋‹ค. ๋งŒ์•ฝ OS๋ผ๋Š” ์ธํ„ฐํŽ˜์ด์Šค๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ•ด๋ณด์ž.

 

๊ทธ๋ฆผ A์—์„œ ํ™•์ธํ–ˆ๋“ฏ์ด ์‚ฌ์šฉ์ž๋Š” ํ‚ค๋ณด๋“œ๋กœ ์ž…๋ ฅํ•œ ๊ฐ’์„ HW์— ์ €์žฅํ•˜๊ธฐ ์œ„ํ•ด ์ง์ ‘ ๋ฒ„์Šค๋ฅผ ํ†ตํ•ด HW ์ฃผ์†Œ์— ์ ‘๊ทผํ•ด์•ผํ•œ๋‹ค. ์ด ๋•Œ, ์–ด๋А ๊ณต๊ฐ„์ด ๋น„์–ด์žˆ๋Š”์ง€ ํ™•์ธํ•ด์•ผํ•˜๊ณ . ๋ฉ”๋ชจ๋ฆฌ์˜ ํŠน์ • ์ฃผ์†Œ์— ๋ˆ„๊ตฐ๊ฐ€๊ฐ€ ๊ฐ’์„ ์‚ฝ์ž…ํ•  ์˜ˆ์ •์ธ๋ฐ ํ˜„ ์‹œ์ ์—์„œ๋Š” ๊ทธ๊ฒƒ์„ ๋ชจ๋ฅด๊ณ  ์žˆ์œผ๋‹ˆ ๊ทธ ์ฃผ์†Œ์— ์ ‘๊ทผํ–ˆ๋‹ค๊ฐ€ ๋ฐ์ดํ„ฐ๊ฐ€ ์†์‹ค๋œ๋‹ค๊ฑฐ๋‚˜ ํ•˜๋Š” ์—ฌ๋Ÿฌ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธด๋‹ค. 

 

์šด์˜์ฒด์ œ๊ฐ€ ์—†๋Š” ๊ฒฝ์šฐ

 

์‹ค์ƒํ™œ ์˜ˆ์‹œ๋กœ ํ•„๋ฆฌํ•€๊ณผ ๊ฐ™์€ ๊ตญ๊ฐ€๋ฅผ ๋ณด๋ฉด ์‚ฌ๊ฑฐ๋ฆฌ ๋„๋กœ์— ์‹ ํ˜ธ๋“ฑ์ด ์—†๊ฑฐ๋‚˜ ๋”ฐ๋กœ ๊ด€๋ฆฌํ•ด์ฃผ๋Š” ์‚ฌ๋žŒ๋“ค์ด ์—†์–ด์„œ ๋ฌด์งˆ์„œํ•˜๋‹ค. ์ด ๊ฒฝ์šฐ, ์†๋„๋Š” ์กฐ๊ธˆ ๋” ๋น ๋ฅผ ์ˆ˜ ์žˆ์ง€๋งŒ ์‚ฌ๊ณ ์— ๋Œ€ํ•œ ๊ฑฑ์ •์„ ํ•˜๊ฒŒ ๋˜๊ณ  ๋ชจ๋“  ์ฐจ๊ฐ€ ๋™์‹œ์— ์ถœ๋ฐœํ•˜๋ ค๋Š” ์ƒํ™ฉ์ด ๋ฐœ์ƒํ•  ์ˆ˜ ์žˆ๋‹ค. ์ด ๋•Œ, ์šด์˜์ฒด์ œ๊ฐ€ ๋„์ž…๋œ๋‹ค๋ฉด ๊ฐ€์žฅ ์ ์ ˆํ•œ ์šด์˜์ฒด์ œ๋Š” ์‹ ํ˜ธ๋“ฑ์ด ๋  ๊ฒƒ์ด๋‹ค. ์‹ ํ˜ธ๋“ฑ์€ ์‚ฌ๊ฑฐ๋ฆฌ์—์„œ ํŠน์ •์‹œ๊ฐ„๋งˆ๋‹ค A, B, C, D์—์„œ ์ถœ๋ฐœํ•  ์ˆ˜ ์žˆ๋„๋ก ์Šค์ผ€์ค„๋งํ•œ๋‹ค. ์ปดํ“จํ„ฐ์˜ ์šด์˜์ฒด์ œ๊ฐ€ ๊ฐ™์€ ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ๋ณผ ์ˆ˜ ์žˆ๋‹ค.

 

์šด์˜์ฒด์ œ๊ฐ€ ํ•˜๋Š” ์—ญํ• 

 

์šด์˜์ฒด์ œ๋Š” ์ค‘๊ณ„์ž ์—ญํ• ์„ ํ•œ๋‹ค๊ณ  ํ–ˆ๋Š”๋ฐ ํฌ๊ฒŒ HW์™€ SW ์‚ฌ์ด์˜ ์ค‘๊ณ„ ์—ญํ• ์„ ํ•œ๋‹ค.

์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•œ ์šด์˜์ฒด์ œ์˜ ์—ญํ• 

 

์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด ์ง์ ‘ HW๋ฅผ ๋‹ค๋ฃจ์ง€ ๋ชปํ•˜๋„๋ก ์ฐจ๋‹จํ•œ๋‹ค. ์•ž์—์„œ ๊ณ„์† ๋‚˜์™”๋˜ ๋ง์ด์ง€๋งŒ, ์šด์˜์ฒด์ œ๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ ๊ฐ„ HW ์‚ฌ์šฉ์˜ ์ถฉ๋Œ ๋•Œ๋ฌธ์— ์ž์›์„ ๋…์ ํ•˜๊ณ  ์žˆ๋‹ค. ์‘์šฉํ”„๋กœ๊ทธ๋žจ์ด HW๋ฅผ ์‚ฌ์šฉํ•˜๊ณ  ์‹ถ์„ ๋•Œ๊ฐ€ ์žˆ์„ํ…๋ฐ ์ด ๋•Œ๋Š” ์šด์˜์ฒด์ œ์—๊ฒŒ ์š”์ฒญํ•œ ๋’ค ์šด์˜์ฒด์ œ๊ฐ€ ๋Œ€์‹ ํ•ด์„œ HW๋ฅผ ์ƒํ™ฉ์— ๋งž๊ฒŒ ์กฐ์ž‘ํ•œ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด DISK์— ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๊ณ  ์‹ถ์€๋ฐ ์ ์ ˆํ•œ ์œ„์น˜๋ฅผ ์ฐพ๋Š” ๊ฒฝ์šฐ

 

์š”์ฒญํ•  ์ˆ˜ ์žˆ๋Š” ์œ ์ผํ•œ ๋ฐฉ๋ฒ•์€ System Call ํ˜ธ์ถœ์ด ์žˆ๋‹ค. 

์ด๋ ‡๊ฒŒ OS๋Š” ์‘์šฉํ”„๋กœ๊ทธ๋žจ์— ๋Œ€ํ•ด์„œ HW์™€์˜ ์ธํ„ฐํŽ˜์ด์Šค ์—ญํ• ์„ ํ•˜๊ณ  ์‘์šฉํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ์ˆœ์„œ๋ฅผ ์ œ์–ดํ•˜๊ณ  ์‘์šฉํ”„๋กœ๊ทธ๋žจ ์‚ฌ์ด์˜ ํ†ต์‹ ์„ ์ค‘๊ณ„ํ•  ์ˆ˜ ์žˆ๋Š” ์—ญํ• ์„ ํ•œ๋‹ค.

 

์‚ฌ์šฉ์ž์— ๋Œ€ํ•œ ์šด์˜์ฒด์ œ์˜ ์—ญํ• 

 

์‚ฌ์šฉ์ž๋Š” HW ์ง€์‹์ด ์—†์–ด๋„ ๋œ๋‹ค. ๋งŒ์•ฝ DISK์—์„œ 100๋ฒˆ์ง€ ํ”„๋กœ๊ทธ๋žจ์„ ์‹คํ–‰ํ•˜๊ณ  ์‹ถ์€๋ฐ, ์–ด์…ˆ๋ธ”๋ฆฌ ์–ธ์–ด๋‚˜ ๊ธฐ๊ณ„ ์–ธ์–ด๋กœ ์ฒ˜๋ฆฌํ•  ํ•„์š” ์—†์ด GUI๋กœ DISK 100๋ฒˆ์ง€์˜ ํ”„๋กœ๊ทธ๋žจ์ด ๋ˆˆ ์•ž์— ๋ณด์ธ๋‹ค. ์šฐ๋ฆฌ๋Š” ๋”๋ธ”ํด๋ฆญ๋งŒ ํ•˜๋ฉด ๋œ๋‹ค.

๊ทธ ์™ธ์—๋„ ์ปดํ“จํ„ฐ๋ฅผ ์‰ฝ๊ฒŒ ์‚ฌ์šฉํ•˜๊ธฐ ์œ„ํ•ด ๋‹ค์–‘ํ•œ ๋ฐฉ๋ฒ•์„ ์ œ๊ณตํ•œ๋‹ค.

 

ํ•˜๋“œ์›จ์–ด์— ๋Œ€ํ•œ ์šด์˜์ฒด์ œ์˜ ์—ญํ• 

 

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

์ด ๋•Œ, ์šด์˜์ฒด์ œ๋Š” ๋“œ๋ผ์ด๋ฒ„๋ฅผ ํ†ตํ•ด์„œ HW์— ๋Œ€ํ•œ ๋ชจ๋“  ์ฒ˜๋ฆฌ๋ฅผ ํ•˜๊ฒŒ ๋œ๋‹ค.