๋ณธ๋ฌธ ๋ฐ”๋กœ๊ฐ€๊ธฐ

OS

2์žฅ System Structure & Program Execution

 

reference: kocw์˜ ๋ฐ˜ํšจ๊ฒฝ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜์™€ ๊ถŒ์ง„์šฑ ๊ต์ˆ˜๋‹˜ ๊ฐ•์˜(๋Œ€ํ•™ ์ •๊ทœ ์ˆ˜์—…)
์ˆ˜์—…์„ ๋“ฃ๊ณ ๋‚˜์„œ ๊ฐ•์˜ ๊ต์žฌ๋ฅผ ํƒ€์ดํ•‘ํ•˜๊ณ  ํ•„๊ธฐํ•œ ๋ถ€๋ถ„์„ ์ถ”๊ฐ€์ ์œผ๋กœ ์ •๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค.
์›น๋ทฐ์—์„œ toc๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
github์˜ md ํŒŒ์ผ๋กœ ๋ณด๋Š” ๊ฒŒ ํŽธํ•˜์‹œ๋‹ค๋ฉด, ์—ฌ๊ธฐ๋กœ ์ด๋™ํ•ด์ฃผ์‹œ๋ฉด ๋ฉ๋‹ˆ๋‹ค.


1 ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ตฌ์กฐ

1-1. ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ ๊ตฌ์กฐ

์•„๋ž˜์˜ ์‚ฌ์ง„์€ ํ•œ ํ•™๊ธฐ ๋‚ด๋‚ด ๋‹ค์‹œ๋ณด๊ณ  ๋‹ค์‹œ๋ณด๊ณ  ๋‹ค์‹œ๋ดค๋˜ ์ค‘์š”ํ•œ ์ž๋ฃŒ์ž…๋‹ˆ๋‹ค.

๋จผ์ € ์ „๋ฐ˜์ ์œผ๋กœ ์–ด๋–ป๊ฒŒ ํ˜๋Ÿฌ๊ฐ€๋Š”์ง€ ์‚ดํŽด๋ณด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

๋ฉ”๋ชจ๋ฆฌ์—์„œ ๊ธฐ๊ณ„์–ด๋ฅผ ํ•˜๋‚˜์”ฉ ์ฝ์–ด์„œ ์‹คํ–‰ํ•ฉ๋‹ˆ๋‹ค.

CPU๊ฐ€ ๊ธฐ๊ณ„์–ด๋ฅผ ์—ฐ์‚ฐ(์ˆ˜ํ–‰)ํ•œ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ทธ๋Ÿฐ๋ฐ ๋‹ค์Œ ๊ธฐ๊ณ„์–ด๋ฅผ ์‹คํ–‰ํ•˜๊ธฐ์— ์•ž์„œ์„œ ํ˜น์‹œ interrupt line ์— ์‹œ๊ทธ๋„(์ธํ„ฐ๋ŸฝํŠธ) ๋“ค์–ด์˜จ ๊ฒŒ ์žˆ๋Š”์ง€ ํ™•์ธํ•ฉ๋‹ˆ๋‹ค.

(interrupt๋Š” ๊ฐ€์žฅ ์˜ค๋ฅธ์ชฝ์— ์žˆ๋Š” i/o device ๋“ค์ด ์ฃผ๋กœ ๋ฐœ์ƒ์‹œํ‚ต๋‹ˆ๋‹ค.)

๋” ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์•„๋ž˜์—์„œ ์ด์–ด์ง‘๋‹ˆ๋‹ค.

1-2. Mode bit

mode bit์ด๋ž€?

์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์˜ ์ž˜๋ชป๋œ ์ˆ˜ํ–‰์œผ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ ๋ฐ ์šด์˜ ์ฒด์ œ์— ํ”ผํ•ด๊ฐ€ ๊ฐ€์ง€ ์•Š๋„๋ก ํ•˜๊ธฐ ์œ„ํ•œ ๋ณดํ˜ธ ์žฅ์น˜์ด๋‹ค.

 

2๊ฐ€์ง€ ๋ชจ๋“œ์˜ operation์„ ์ง€์›ํ•œ๋‹ค.

  • 1 ์‚ฌ์šฉ์ž ๋ชจ๋“œ: ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ ์ˆ˜ํ–‰, ์•ˆ์ „ํ•œ ๊ธฐ๊ณ„์–ด๋งŒ ์ˆ˜ํ–‰
  • 0 ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ(=์ปค๋„ ๋ชจ๋“œ, ์‹œ์Šคํ…œ ๋ชจ๋“œ): OS ์ฝ”๋“œ ์ˆ˜ํ–‰(OS๊ฐ€ CPU๋ฅผ ์‹คํ–‰ ์ค‘์ผ ๋•Œ), CPU๊ฐ€ ์•„๋ฌด๊ฑฐ๋‚˜ ํ•ด๋„ ์ƒ๊ด€ X

๋ณด์•ˆ์„ ํ•ด์น  ์ˆ˜ ์žˆ๋Š” ์ค‘์š”ํ•œ ๋ช…๋ น์–ด๋Š” ๋ชจ๋‹ˆํ„ฐ ๋ชจ๋“œ์—์„œ๋งŒ ์ˆ˜ํ–‰ ๊ฐ€๋Šฅํ•œ 'ํŠน๊ถŒ๋ช…๋ น'์œผ๋กœ ๊ทœ์ •ํ•œ๋‹ค.

๋ชจ๋“  I/O(์ž…์ถœ๋ ฅ) ๋ช…๋ น์€ ํŠน๊ถŒ ๋ช…๋ น์ด๋‹ค.

  • ์ž‘๋™ ๋ฐฉ์‹

Interrupt๋‚˜ Exception ๋ฐœ์ƒ ์‹œ mode bit์„ 0์œผ๋กœ ๋ฐ”๊พผ๋‹ค. ์ฆ‰ CPU๊ฐ€ ์šด์˜์ฒด์ œ๋กœ ๋„˜์–ด๊ฐ„๋‹ค. ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ CPU๋ฅผ ๋„˜๊ธฐ๊ธฐ ์ „์— mode bit์„ 1๋กœ ๋ฐ”๊พผ๋‹ค.

1-3. Timer

timer interrupt: ์ •ํ•ด์ง„ ์‹œ๊ฐ„์ด ํ๋ฅธ ๋’ค ์šด์˜์ฒด์ œ์—๊ฒŒ ์ œ์–ด๊ถŒ์ด ๋„˜์–ด๊ฐ€๋„๋ก interrupt๋ฅผ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค.

OS๊ฐ€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ A์—๊ฒŒ CPU๋ฅผ ๋„˜๊ธธ ๋•Œ ํƒ€์ด๋จธ ์‹œ๊ฐ„์„ ์„ธํŒ…ํ•ด์„œ ๋„˜๊ฒจ์ค€๋‹ค.

ํƒ€์ด๋จธ๋Š” ๋งค ํด๋Ÿญ ํ‹ฑ ๋•Œ๋งˆ๋‹ค 1์”ฉ ๊ฐ์†Œํ•˜๊ณ  ํƒ€์ด๋จธ ๊ฐ’์ด 0์ด ๋˜๋ฉด ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ๋‹ค.

CPU๋ฅผ ํŠน์ • ํ”„๋กœ๊ทธ๋žจ์ด ๋…์ ํ•˜๋Š” ๊ฒƒ์œผ๋กœ๋ถ€ํ„ฐ ๋ณดํ˜ธํ•œ๋‹ค. (ex, ๋ฌดํ•œ ๋ฃจํ”„)

ํƒ€์ด๋จธ๋Š” time sharing์„ ๊ตฌํ˜„ํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ๋„๋ฆฌ ์ด์šฉํ•œ๋‹ค.

ํƒ€์ด๋จธ๋Š” ํ˜„์žฌ ์‹œ๊ฐ„์„ ๊ณ„์‚ฐํ•˜๊ธฐ ์œ„ํ•ด์„œ๋„ ์‚ฌ์šฉ๋œ๋‹ค.

1-4. Device Controller

  • I/O device controller
    • ํ•ด๋‹น I/O ์žฅ์น˜ ์œ ํ˜•์„ ๊ด€๋ฆฌํ•˜๋Š” ์ผ์ข…์˜ ์ž‘์€ CPU (HW)
    • ์ œ์–ด ์ •๋ณด๋ฅผ ์œ„ํ•ด controller register, status register๋ฅผ ๊ฐ€์ง
    • local buffer๋ฅผ ๊ฐ€์ง (์ผ์ข…์˜ data register)
  • I/O๋Š” ์‹ค์ œ device์™€ local buffer ์‚ฌ์ด์—์„œ ์ผ์–ด๋‚จ. CPU๊ฐ€ ์ง์ ‘ I/O ์ž‘์—…์„ ํ•˜์ง€ ์•Š์Œ.
  • Device controller๋Š” I/O๊ฐ€ ๋๋‚ฌ์„ ๊ฒฝ์šฐ interrupt๋กœ CPU์— ๊ทธ ์‚ฌ์‹ค์„ ์•Œ๋ฆผ

์ถ”๊ฐ€์ ์œผ๋กœ!

device driver (์žฅ์น˜ ๊ตฌ๋™๊ธฐ, SW ํŽŒ์›จ์–ด) : OS ์ฝ”๋“œ ์ค‘ ๊ฐ ์žฅ์น˜๋ณ„ ์ฒ˜๋ฆฌ๋ฃจํ‹ด

device controller (์žฅ์น˜ ์ œ์–ด๊ธฐ, HW) : ๊ฐ ์žฅ์น˜๋ฅผ ํ†ต์ œํ•˜๋Š” ์ผ์ข…์˜ ์ž‘์€ CPU

1-5. ์ž…์ถœ๋ ฅ(I/O)์˜ ์ˆ˜ํ–‰

๋ชจ๋“  ์ž…์ถœ๋ ฅ ๋ช…๋ น์€ ํŠน๊ถŒ ๋ช…๋ น์ด๋‹ค.

์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์€ ์–ด๋–ป๊ฒŒ I/O๋ฅผ ํ•˜๋Š”๊ฐ€?

  • ์‹œ์Šคํ…œ์ฝœ(system call)
    • ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์€ ์šด์˜์ฒด์ œ์—๊ฒŒ I/O ์š”์ฒญ
  • trap์„ ์‚ฌ์šฉํ•˜์—ฌ ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ์˜ ํŠน์ • ์œ„์น˜๋กœ ์ด๋™
  • ์ œ์–ด๊ถŒ์ด ์ธํ„ฐ๋ŸฝํŠธ ๋ฒกํ„ฐ๊ฐ€ ๊ฐ€๋ฆฌํ‚ค๋Š” ์ธํ„ฐ๋ŸฝํŠธ ์„œ๋น„์Šค ๋ฃจํ‹ด์œผ๋กœ ์ด๋™
  • ์˜ฌ๋ฐ”๋ฅธ I/O ์š”์ฒญ์ธ์ง€ ํ™•์ธ ํ›„ I/O ์ˆ˜ํ–‰
  • I/O ์™„๋ฃŒ ์‹œ ์ œ์–ด๊ถŒ์„ ์‹œ์Šคํ…œ์ฝœ ๋‹ค์Œ ๋ช…๋ น์œผ๋กœ ์˜ฎ๊น€

1-6. ์ธํ„ฐ๋ŸฝํŠธ (Interrupt)

์‹œ์Šคํ…œ์ฝœ (System Call)

๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ๊ณผ ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ

  • ๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ
    • I/O ์š”์ฒญ ํ›„ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ์™„๋ฃŒ๋œ ํ›„์—์•ผ ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์— ๋„˜์–ด๊ฐ
    • ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 1
      • I/O๊ฐ€ ๋๋‚  ๋•Œ๊นŒ์ง€ CPU๋ฅผ ๋‚ญ๋น„์‹œํ‚ด
      • ๋งค์‹œ์  ํ•˜๋‚˜์˜ I/O๋งŒ ์ผ์–ด๋‚  ์ˆ˜ ์žˆ์Œ.
    • ๊ตฌํ˜„ ๋ฐฉ๋ฒ• 2
      • I/O๊ฐ€ ์™„๋ฃŒ๋  ๋•Œ๊นŒ์ง€ ํ•ด๋‹น ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ์„œ CPU๋ฅผ ๋นผ์•—์Œ
      • I/O ์ฒ˜๋ฆฌ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ๋Š” ์ค„์— ๊ทธ ํ”„๋กœ๊ทธ๋žจ์„ ์ค„ ์„ธ์›€
      • ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์—๊ฒŒ๋Š” CPU๋ฅผ ์คŒ
  • ๋น„๋™๊ธฐ์‹ ์ž…์ถœ๋ ฅ
    • I/O๊ฐ€ ์‹œ์ž‘๋œ ํ›„ ์ž…์ถœ๋ ฅ ์ž‘์—…์ด ๋๋‚˜๊ธฐ๋ฅผ ๊ธฐ๋‹ค๋ฆฌ์ง€ ์•Š๊ณ  ์ œ์–ด๊ฐ€ ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์— ์ฆ‰์‹œ ๋„˜์–ด๊ฐ
    • ๋”ฐ๋ผ์„œ, ๋™๊ธฐ์‹๋ณด๋‹ค ์‹œ๊ฐ„์ด ์ ๊ฒŒ ๊ฑธ๋ฆผ

๋‘ ๊ฒฝ์šฐ ๋ชจ๋‘ I/O์˜ ์™„๋ฃŒ๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋กœ ์•Œ๋ ค์ค€๋‹ค.

1-7. DMA (Direct Memory Access)

  • ๋น ๋ฅธ ์ž…์ถœ๋ ฅ ์žฅ์น˜๋ฅผ ๋ฉ”๋ชจ๋ฆฌ์— ๊ฐ€๊นŒ์šด ์†๋„๋กœ ์ฒ˜๋ฆฌํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ
  • CPU์˜ ์ค‘์žฌ ์—†์ด device controller๊ฐ€ device์˜ buffer storage์˜ ๋‚ด์šฉ์„ ๋ฉ”๋ชจ๋ฆฌ์— block ๋‹จ์œ„๋กœ ์ง์ ‘ ์ „์†ก
  • ๋ฐ”์ดํŠธ ๋‹จ์œ„๊ฐ€ ์•„๋‹ˆ๋ผ block ๋‹จ์œ„๋กœ ์ธํ„ฐ๋ŸฝํŠธ ๋ฐœ์ƒ์‹œํ‚ด
  • ๋“ฑ์žฅ ๋ฐฐ๊ฒฝ: ์‚ฌ์ง„์˜ ์ฒซ๋ฒˆ์งธ ๋ชจ๋ธ์€ ๋ฉ”๋ชจ๋ฆฌ(cpu์˜ ์ž‘์—…๊ณต๊ฐ„)์— ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” ์žฅ์น˜๋Š” CPU ๋ฐ–์— ์—†๋‹ค. ๋” ์ž์„ธํ•œ ์˜ˆ๋ฅผ ๋“ค๋ฉด, disk controller๊ฐ€ ํŒŒ์ผ ์ฝ๋Š” ์ž‘์—…์„ ๋๋ƒˆ๋‹ค๊ณ  ํ•ด์„œ disk controller๊ฐ€ ์ง์ ‘ memory์— ์˜ฎ๊ฒจ๋†“์ง€ ๋ชปํ•œ๋‹ค. ๊ทธ๋ž˜์„œ cpu์—๊ฒŒ interrupt๋ฅผ ๋นˆ๋ฒˆํžˆ ๊ฑธ๊ฒŒ ๋˜๋Š”๋ฐ, ๋น„์‹ผ ์ž์›์ธ CPU์—๊ฒŒ ๋น„ํšจ์œจ์ ์ด๊ธฐ ๋•Œ๋ฌธ์— DMA๊ฐ€ ๋‚˜์™”๋‹ค. interrupt๋Š” ์ž์ฃผ ๊ฑธ๋ฆฌ๋Š” ์•Š๋„๋ก ๋ง์ด๋‹ค.

1-8. ์„œ๋กœ ๋‹ค๋ฅธ ์ž…์ถœ๋ ฅ ๊ธฐ๊ณ„์–ด

์ „์ž๋Š” I/O๋ฅผ ์ˆ˜ํ–‰ํ•˜๋Š” special instruction(๊ธฐ๊ณ„์–ด)๋กœ I/O๋ฅผ ํ•จ

ํ›„์ž๋Š” memory mapped I/O์— ์˜ํ•ด ์ฆ‰ ๋ฉ”๋ชจ๋ฆฌ ์ ‘๊ทผ ๊ธฐ๊ณ„์–ด๋กœ I/O๋„ ํ•จ

1-9. ์ €์žฅ ์žฅ์น˜ ๊ณ„์ธต ๊ตฌ์กฐ

 

  • ์ƒ์œ„๋กœ ๊ฐˆ์ˆ˜๋ก ์šฉ๋Ÿ‰์ด ์ž‘๊ณ  ๋น ๋ฅด๊ณ  ๋น„์‹ธ๋‹ค. ํœ˜๋ฐœ์„ฑ์ด๋‹ค.
  • ํ•˜์œ„๋กœ ๊ฐˆ์ˆ˜๋ก ์šฉ๋Ÿ‰์ด ํฌ์ง€๋งŒ ๋Š๋ฆฌ๊ณ  ์ €๋ ดํ•˜๋‹ค. ๋น„ํœ˜๋ฐœ์„ฑ์ด๋‹ค.

* executable: ์‹คํ–‰ ๊ฐ€๋Šฅํ•œ

CPU๊ฐ€ ์ง์ ‘ ์ ‘๊ทผํ•  ์ˆ˜ ์žˆ๋Š” main memory

์—ฌ๊ธฐ์—์„œ์˜ issue๋Š” caching์ด๋‹ค: copying information into faster storage system


2 ํ”„๋กœ๊ทธ๋žจ ์‹คํ–‰

2-1. ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰

1 ํŒŒ์ผ ์‹œ์Šคํ…œ์— ์žˆ๋Š” ์‹คํ–‰ ํŒŒ์ผ์„ ์‹คํ–‰ํ•˜๋ฉด

2 ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋˜์–ด(Physical memory์— ์˜ฌ๋ผ๊ฐ)

3 ๋งˆ์น˜๋ฉด ์ข…๋ฃŒ

 

๊ทผ๋ฐ ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ(physical memory)์— ์˜ฌ๋ผ๊ฐ€๊ธฐ ์ „์—

๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค 0๋ฒˆ์ง€๋ถ€ํ„ฐ ์žˆ๋Š” ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ(virtual memory)์ฃผ์†Œ ๊ณต๊ฐ„์ด ๋จผ์ € ์ƒ๊ธด ํ›„

์ฃผ์†Œ ๋ณ€ํ™˜์„ ํ†ตํ•ด ๋ฌผ๋ฆฌ์  ๋ฉ”๋ชจ๋ฆฌ์— ํ”„๋กœ์„ธ์Šค๊ฐ€ ์˜ฌ๋ผ๊ฐ„๋‹ค.

 

์œ„์˜ ์‚ฌ์ง„์€ ๊ณ„์†ํ•ด์„œ running ์ƒํƒœ์— ์žˆ๋Š” ํ”„๋กœ์„ธ์Šค์˜ ๋ชจ๋“œ๊ฐ€ ๋ฐ”๋€Œ๋Š” ๊ฒƒ์„ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ๋‹ค.

  • user mode: mode bit 1
  • kernel mode: mode bit 0

์‹œ์Šคํ…œ ์ฝœ: cpu ์ œ์–ด๊ถŒ์ด ์šด์˜์ฒด์ œ์— ๋„˜์–ด๊ฐ€์„œ ์šด์˜ ์ฒด์ œ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์— ์žˆ๋Š” ์ฝ”๋“œ๊ฐ€ ์‹คํ–‰

2-2. ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„์˜ ๋‚ด์šฉ

์šด์˜์ฒด์ œ์˜ stack์€ ํŠน์ดํ•˜๋‹ค.

์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ A ์‹คํ–‰ ์ค‘ OS๋ฅผ ํ˜ธ์ถœํ•˜๋ฉด ์ปค๋„ ์Šคํƒ์€ A์˜ ์ปค๋„ ์Šคํƒ์„ ์“ด๋‹ค. ์ฆ‰, ๊ฐ ํ”„๋กœ์„ธ์Šค๋งˆ๋‹ค ๋ณ„๋„๋กœ ๋‘๊ณ  ์žˆ๋‹ค.

2-3. ์‚ฌ์šฉ์ž ํ”„๋กœ๊ทธ๋žจ์ด ์‚ฌ์šฉํ•˜๋Š” ํ•จ์ˆ˜

  • ์‚ฌ์šฉ์ž ์ •์˜ ํ•จ์ˆ˜ ใ…ก> ํ”„๋กœ์„ธ์Šค A์˜ ์ฃผ์†Œ ๊ณต๊ฐ„
    • ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์˜ํ•œ ํ•จ์ˆ˜
  • ๋ผ์ด๋ธŒ๋Ÿฌ๋ฆฌ ํ•จ์ˆ˜ ใ…ก> ํ”„๋กœ์„ธ์Šค A์˜ ์ฃผ์†Œ ๊ณต๊ฐ„
    • ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์—์„œ ์ •์˜ํ•˜์ง€ ์•Š๊ณ  ๊ฐ€์ ธ๋‹ค ์“ด ํ•จ์ˆ˜
    • ์ž์‹ ์˜ ํ”„๋กœ๊ทธ๋žจ์˜ ์‹คํ–‰ ํŒŒ์ผ์— ํฌํ•จ๋˜์–ด ์žˆ๋‹ค.

์œ„ ๋‘ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ, ๋‚ด ํ”„๋กœ๊ทธ๋žจ ์•ˆ์—์„œ program counter ๊ฐ’๋งŒ ๋ฐ”๊พธ์–ด ๋‹ค๋ฅธ ์œ„์น˜์˜ ๊ธฐ๊ณ„์–ด๋ฅผ ์‹คํ–‰ํ•จ.

  • ์ปค๋„ ํ•จ์ˆ˜ ใ…ก> ์ปค๋„ ์ฃผ์†Œ ๊ณต๊ฐ„
    • ์šด์˜์ฒด์ œ ํ”„๋กœ๊ทธ๋žจ์˜ ํ•จ์ˆ˜
    • ์ปค๋„ ํ•จ์ˆ˜์˜ ํ˜ธ์ถœ = ์‹œ์Šคํ…œ ์ฝœ

์ปค๋„ ํ•จ์ˆ˜์˜ ๊ฒฝ์šฐ, ๊ฐ€์ƒ ๋ฉ”๋ชจ๋ฆฌ์˜ ์ฃผ์†Œ ๊ณต๊ฐ„์„ ๊ฐ€๋กœ์งˆ๋Ÿฌ์„œ ๋‹ค๋ฅธ ํ”„๋กœ๊ทธ๋žจ์˜ ์˜์—ญ์œผ๋กœ ์™„์ „ํžˆ ๋ฐ”๋€œ

interrupt line์„ ์„ธํŒ…ํ•ด์„œ CPU ์ œ์–ด๊ถŒ์„ ์šด์˜ ์ฒด์ œ์— ๋„˜๊ธฐ๊ธฐ ๋•Œ๋ฌธ!

'OS' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

7์žฅ Deadlock  (0) 2021.06.19
6์žฅ Process Synchronization  (0) 2021.06.19
5์žฅ CPU scheduling  (0) 2021.06.18
4์žฅ Process Management  (0) 2021.06.18
3์žฅ Process  (0) 2021.06.18
1์žฅ Introduction to Operating System  (0) 2021.06.18