์ธํ„ฐ๋ŸฝํŠธ(Interrupt)

2023. 3. 11. 17:26ใ†CS/CS ์Šคํ„ฐ๋””

ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ ์‹คํ–‰๋˜๋ฉด ์ด ํ”„๋กœ์„ธ์Šค๋Š” CPU๋ฅผ ์ ์œ ํ•˜๊ฒŒ ๋œ๋‹ค.

๊ฐ€๋ น ์‚ฌ์šฉ์ž๊ฐ€ ์นด์นด์˜คํ†ก์„ ์‹คํ–‰ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜๋ฉด, ์ด ๊ฒฝ์šฐ์—” ์นด์นด์˜คํ†ก์ด CPU๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์ด๋‹ค.

์ด์ œ ํ•˜๋‚˜์˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋” ์‹คํ–‰์‹œํ‚จ๋‹ค๊ณ  ๊ฐ€์ •ํ•˜์ž. ์—ฌ๊ธฐ์—์„œ๋Š” ํฌ๋กฌ์˜ ์˜ˆ์‹œ๋ฅผ ๋“ค๊ฒ ๋‹ค.

์ด์ œ ์‹คํ–‰ ์ค‘์ธ ๋‘ ํ”„๋กœ์„ธ์Šค๋Š” CPU๋ฅผ ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ ์ ์œ ํ•˜๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์‚ฌ์šฉ์ž๋กœ ํ•˜์—ฌ๊ธˆ ๋‘ ํ”„๋กœ์„ธ์Šค๊ฐ€ ๋™์‹œ์— ์‹คํ–‰๋˜๊ณ  ์žˆ๋Š” ๊ฒƒ๊ณผ ๊ฐ™์€ ์ฐฉ๊ฐ์„ ๋ถˆ๋Ÿฌ ์ผ์œผํ‚จ๋‹ค.

์ด ๋•Œ ์–ด๋–ค ๋ฐฉ์‹์„ ํ†ตํ•ด ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ CPU๋ฅผ ์ ์œ ํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? ํ”„๋กœ์„ธ์Šค๋“ค์ด ์ž๋ฐœ์ ์œผ๋กœ ๋‹ค๋ฅธ ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ์–‘๋ณดํ•˜๋Š” ๊ฒƒ์ผ๊นŒ? 

์‚ฌ์‹ค ์šด์˜์ฒด์ œ์— ๋Œ€ํ•ด ๊ณต๋ถ€ํ•ด๋ณธ ์‚ฌ๋žŒ์ด๋ผ๋ฉด ํ”„๋กœ์„ธ์Šค๋“ค์ด ๋ฒˆ๊ฐˆ์•„๊ฐ€๋ฉฐ CPU๋ฅผ ์ ์œ ํ•˜๋„๋ก ํ•˜๋Š” ๊ฒƒ์˜ ์ฃผ์ฒด๋Š” ์šด์˜์ฒด์ œ์ด๊ณ  ์ด๋ฅผ ์Šค์ผ€์ค„๋ง์ด๋ผ๊ณ  ๋ถ€๋ฅธ๋‹ค๋Š” ๊ฒƒ์„ ์•Œ๊ณ  ์žˆ์„ ๊ฒƒ์ด๋‹ค.

ํ•˜์ง€๋งŒ ๊ฒฐ๊ตญ ์šด์˜์ฒด์ œ๋„ CPU๋ฅผ ์ ์œ ํ•ด์•ผ ์Šค์ผ€์ค„๋ง์„ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด๋ฉฐ ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ž๋ฐœ์ ์œผ๋กœ ์šด์˜์ฒด์ œ์—๊ฒŒ CPU๋ฅผ ์–‘๋ณดํ•˜์ง€ ์•Š๋Š”๋‹ค.

๋˜ํ•œ ์ด ์ƒํ™ฉ์—์„œ ์‚ฌ์šฉ์ž๊ฐ€ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์ˆ˜ํ–‰ํ•œ๋‹ค๋ฉด? ์ž˜ ์ž‘๋™ํ•˜๋Š” ์ปดํ“จํ„ฐ์ž„์„ ๋ณด์ด๋ ค๋ฉด ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์„ ์ˆ˜์‹ ํ•  ํ”„๋กœ์„ธ์Šค๊ฐ€ ์ฆ‰๊ฐ์ ์œผ๋กœ ์ž‘๋™ํ•˜์—ฌ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ž…๋ ฅ ์‚ฌํ•ญ๋“ค์ด ํ™”๋ฉด์— ์ถœ๋ ฅ๋˜์–ด์•ผ ํ•œ๋‹ค. ์ด ๋•Œ๋„ ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ์„ธ์Šค๋Š” ์ž๋ฐœ์ ์œผ๋กœ CPU๋ฅผ ์–‘๋ณดํ•˜์ง€ ์•Š๋Š”๋‹ค.

์šด์˜์ฒด์ œ์—์„œ ์œ„ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ์‹์ด ์กด์žฌํ•˜๋Š”๋ฐ, ์ด๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ๋ผ๊ณ  ํ•œ๋‹ค.

 

 

์ธํ„ฐ๋ŸฝํŠธ

์ถœ์ฒ˜: http://www.it.uu.se/education/course/homepage/os/vt18/module-1/exception-and-interrupt-handling/

์ธํ„ฐ๋ŸฝํŠธ๋ž€ ์ปดํ“จํ„ฐ ์‹œ์Šคํ…œ์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ผ์ข…์˜ ์ด๋ฒคํŠธ๋กœ,

์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ์ค‘๋‹จํ•˜๊ณ  CPU๋ฅผ ์ปค๋„ ๋ชจ๋“œ๋กœ ๊ฒฉ์ƒ ์‹œํ‚จ ํ›„ ๋ฐœ์ƒํ•œ ์ธํ„ฐ๋ŸฝํŠธ์— ๋Œ€ํ•œ ํ•ธ๋“ค๋Ÿฌ๋ฅผ ์‹คํ–‰ํ•œ๋‹ค. 

์ธํ„ฐ๋ŸฝํŠธ์˜ ์ข…๋ฅ˜์—๋Š” ํฌ๊ฒŒ ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ์™€ ์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ์žˆ๋‹ค.

 

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด์—์„œ ๋ฐœ์ƒํ•˜๋Š” ์ด๋ฒคํŠธ์— ๋Œ€ํ•œ ์ธํ„ฐ๋ŸฝํŠธ๋กœ,

์˜ˆ์‹œ๋กœ๋Š” ์ž…๋ ฅ ์žฅ์น˜ ์ธํ„ฐ๋ŸฝํŠธ(ํ‚ค๋ณด๋“œ, ๋งˆ์šฐ์Šค), ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ ๋“ฑ์ด ์กด์žฌํ•œ๋‹ค.

์„œ๋ก ์—์„œ ์–ธ๊ธ‰ํ•œ ํ‚ค๋ณด๋“œ ์ž…๋ ฅ์ด ์ด๋ฃจ์–ด์ง€๋ฉด, ์ž…๋ ฅ ์žฅ์น˜ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜์—ฌ ์‹คํ–‰ ์ค‘์ด๋˜ ํ”„๋กœ์„ธ์Šค๋ฅผ ๋ฉˆ์ถ”๊ณ  ์‚ฌ์šฉ์ž ์ž…๋ ฅ์„ ๋ฐ›์•„๋“ค์ธ๋‹ค.

๋˜ํ•œ ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๋Š” CPU ์Šค์ผ€์ค„๋ง์— ์ด์šฉ๋˜๋Š”๋ฐ, ํŠน์ • ํ”„๋กœ์„ธ์Šค๊ฐ€ CPU๋ฅผ ์ ์œ ํ•œ ๋’ค ์ผ์ • ํƒ€์ž„ ์Šฌ๋ผ์ด์Šค๊ฐ€ ์ง€๋‚˜๊ณ  ํƒ€์ด๋จธ ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•˜๋ฉด ์ œ์–ด๊ถŒ์ด ์šด์˜์ฒด์ œ๋กœ ์ด๊ด€๋˜๊ณ  ์šด์˜์ฒด์ œ๋Š” ๋‹ค์Œ ์‹คํ–‰์‹œํ‚ฌ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฒฐ์ •ํ•˜๊ฒŒ ๋œ๋‹ค.

ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์™ธ๋ถ€ ์š”์ธ์— ๋Œ€ํ•œ ์ธํ„ฐ๋ŸฝํŠธ์ด๊ธฐ ๋•Œ๋ฌธ์— ์–ธ์ œ ๋ฐœ์ƒํ•  ์ง€ ์˜ˆ์ƒํ•  ์ˆ˜ ์—†๊ณ , ๊ทธ๋ ‡๊ธฐ ๋•Œ๋ฌธ์— ๋น„๋™๊ธฐ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ–๋Š”๋‹ค.

์ข…์ข… ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋ฅผ ์ธํ„ฐ๋ŸฝํŠธ ๊ทธ ์ž์ฒด๋กœ ๋ถ€๋ฅด๊ธฐ๋„ ํ•œ๋‹ค.

 

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์†Œํ”„ํŠธ์›จ์–ด ๋‚ด๋ถ€์ ์œผ๋กœ ๋ฐœ์ƒํ•˜๋Š” ์ธํ„ฐ๋ŸฝํŠธ๋กœ, 

์˜ˆ์‹œ๋กœ๋Š” ์ˆ˜๋ฅผ 0์œผ๋กœ ๋‚˜๋ˆ„๋Š” ์—๋Ÿฌ๋‚˜ ์Šคํƒ ์˜ค๋ฒ„ํ”Œ๋กœ์šฐ, ํ˜น์€ ํ”„๋กœ๊ทธ๋žจ ๋‚ด๋ถ€์—์„œ ์˜๋„์ ์œผ๋กœ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ธํ„ฐ๋ŸฝํŠธ ๋“ฑ์ด ์žˆ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ์ข…์ข… ์˜ˆ์™ธ(Exception)๋ผ๊ณ  ๋ถˆ๋ฆฌ๋ฉฐ, ์˜ˆ์™ธ์˜ ํŠน์ดํ•œ ์ผ€์ด์Šค๋กœ ํŠธ๋žฉ(Trap)์ด ์กด์žฌํ•œ๋‹ค.

์ผ๋ฐ˜์ ์ธ ์˜ˆ์™ธ๋“ค์€ ์˜๋„์น˜ ์•Š๊ฒŒ ๋ฐœ์ƒํ•˜์ง€๋งŒ, ํŠธ๋žฉ์€ ์˜๋„์ ์œผ๋กœ ๋ฐœ์ƒ์‹œํ‚จ๋‹ค. 

ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚ค๋Š” ์ด์œ ๋Š” System Call๊ณผ ๊ฐ™์ด, ์šด์˜์ฒด์ œ์— ํŠน์ • ์ž‘์—…์„ ์š”์ฒญํ•˜๊ธฐ ์œ„ํ•จ์ด๋‹ค.

๋ณด์•ˆ ์ƒ์˜ ์ด์œ ๋กœ ์œ ์ € ๋ชจ๋“œ์—์„œ ์ž‘๋™ํ•˜๋Š” ํ”„๋กœ์„ธ์Šค๋“ค์€ ํŒŒ์ผ I/O๋‚˜ ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ง์ ‘ ์ฒ˜๋ฆฌํ•˜์ง€ ๋ชปํ•˜๊ธฐ ๋•Œ๋ฌธ์— 

ํ”„๋กœ์„ธ์Šค๋“ค์€ ์ด๋ฅผ System Call์„ ํ†ตํ•ด ์šด์˜์ฒด์ œ์— ์š”์ฒญํ•˜๊ฒŒ ๋˜๋Š”๋ฐ, ์ด ๋•Œ ๊ถŒํ•œ์„ ์ปค๋„ ๋ชจ๋“œ๋กœ ๋†’์ด๊ธฐ ์œ„ํ•ด ํŠธ๋žฉ์„ ๋ฐœ์ƒ์‹œํ‚ค๊ณ  ์ด๋Š” ์ธํ„ฐ๋ŸฝํŠธ๊ฐ€ ๋ฐœ์ƒํ•œ ๊ฒƒ์ด๋ฏ€๋กœ ์šด์˜์ฒด์ œ์— ์ œ์–ด๊ถŒ์„ ์œ„์ž„ํ•˜๊ฒŒ ๋œ๋‹ค. 

์ด๋ฅผ ํ†ตํ•ด ์šด์˜์ฒด์ œ๋Š” ์ œ์–ด๊ถŒ์„ ํ†ตํ•ด ํŒŒ์ผ I/O, ํ”„๋กœ์„ธ์Šค ์ƒ์„ฑ๊ณผ ๊ฐ™์€ ์ž‘์—…์„ ์ˆ˜ํ–‰ํ•œ ํ›„ ๊ธฐ์กด ํ”„๋กœ์„ธ์Šค์—๊ฒŒ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ˜ํ™˜ํ•œ๋‹ค.

์†Œํ”„ํŠธ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ๋Š” ํ•˜๋“œ์›จ์–ด ์ธํ„ฐ๋ŸฝํŠธ์™€๋Š” ๋‹ฌ๋ฆฌ, ๋™๊ธฐ์ ์ธ ํ”„๋กœ์„ธ์Šค๋ฅผ ๊ฐ–๋Š”๋‹ค.

 

 

์ฐธ์กฐ

OSTEP(Operating System Three Easy Pieces), 2015 - Remzi H. Arpaci-Dusseau, Andrea C. Arpaci-Dusseau 

https://www.baeldung.com/cs/os-trap-vs-interrupt

https://www.javatpoint.com/trap-vs-interrupt-in-operating-system

 

Trap vs Interrupt in Operating System - javatpoint

Trap vs Interrupt in Operating System with OS Tutorial, Types of OS, Process Management Introduction, Attributes of a Process, CPU Scheduling, FCFS with overhead, FCFS Scheduling etc.

www.javatpoint.com