인터럽트,interrupt

Difference between r1.13 and the current

@@ -206,9 +206,10 @@
...같은 page 만들 수 있음
[[timer_interrupt]] - [[타이머,timer]] =,timer . { WtEn:timer ? REL [[시간,time]] [[이벤트,event]] / Sub: [[APIC_timer]] { https://wiki.osdev.org/APIC_Timer Ggl:"APIC timer" } // APIC timer \ [[PIT]] { '''Programmable Interval Timer (PIT)''' https://wiki.osdev.org/PIT Ggl:"Programmable Interval Timer" } Ndict:타이머 Ggl:"타이머 timer" } // timer
{
WtEn:timer_interrupt ?
WpSp:timer_interrupt ?
WpEn:timer_interrupt ??
'''timer interrupt'''
WtEn:timer_interrupt ? x 2023-11-06
WpSp:Timer_interrupt ?
WpEn:Timer_interrupt ??
}

----


MKL
우선순위,priority
우선순위큐,priority_queue
RTOS 에서는 인터럽트 처리 정책이 매우 중요
mkl? (del ok)
장치,device
버스,bus
breakpoint
hardware_signal - 신호,signal from 하드웨어,hardware ...? Ggl:hardware signal

Topics

인터럽트신호 : 신호,signal
interrupt_signal ? WtEn:interrupt_signal WpSp:interrupt_signal WpEn:interrupt_signal Bing:interrupt_signal Ggl:interrupt_signal Ndict:인터럽트 신호
신호 외에 이벤트,event와도 유사성이 있어서 (인터럽트는 항상 event인지? chk) event_handling , event_listener 등 event-driven_programming 쪽 이론/방법론과 겹치는 게 있다
queuing_theory 와도?

인터럽트 발생

인터럽트 처리
interrupt_service_routine ISR
=,interrupt_service_routine =,ISR .
interrupt service routine
번역들을 어떻게 하나? Ndict:interrupt service routine
https://wiki.osdev.org/Interrupt_Service_Routines

인터럽트처리기? interrupt_handler ? => ISR 과 완전 동의어인지 chk
=,interrupt_handler .
{
https://foldoc.org/interrupt handler
interrupt handler
https://en.wikipedia.org/wiki/Interrupt_handler
Ndict:interrupt handler
Ggl:interrupt handler
}

인터럽트제어 / 인터럽트제어기 ?
interrupt_control ?
interrupt_controller ?
programmable_interrupt_controller PIC
=,programmable_interrupt_controller =,PIC .
programmable interrupt controller (PIC)
interrpt_flag
https://en.wikipedia.org/wiki/Interrupt_flag


interrupt_priority_level IPL
interrupt_priority_level IPL
=,interrupt_priority_level =,IPL .
인터럽트에는 우선순위,priority가 있어서 순위가 낮은 것은 무시되거나 연기.
https://foldoc.org/interrupt priority level
https://en.wikipedia.org/wiki/Interrupt_priority_level
Ggl:interrupt priority level
Bing:interrupt priority level
interrupt+priority+level

spl (Unix) - 이름은 PDP-11 assembly language instruction에서 유래. 뜻은 set priority level. "is the name for a collection of Unix kernel routines or macros used to change the interrupt_priority_level." (we) car cdr 이 레지스터 이름에서 유래한 것과 비슷한 느낌의? (더 궁금하면 WpEn:CAR_and_CDR)
WpEn:Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)




end_of_interrupt EOI
end of interrupt EOI
=,end_of_interrupt =,EOI .
{
https://en.wikipedia.org/wiki/End_of_interrupt
Ggl:end of interrupt EOI
}

inter-processor_interrupt (IPI)
=,inter-processor_interrupt =,IPI .
{
inter-processor interrupt (IPI)


interrupt_vector =,interrupt_vector =,interrupt_vector . interrupt_vector
interrupt vector
interrupt_vector_table (IVT) =,interrupt_vector_table =,interrupt_vector_table . interrupt_vector_table =,IVT .
interrupt_descriptor_table = IDT
=,interrupt_descriptor_table =,interrupt_descriptor_table . interrupt_descriptor_table =,IDT .
{
interrupt descriptor table
이건 x86 specific term? - Yes, x86에서 쓰는 용어는 real_mode 에서 IVT, protected_mode and long_mode 에서는 IDT. (osdev wiki) 구조가 완전히 바뀌어서 이름도 바꾼 듯?


인터럽트 분류

인터럽트와 폴링

폴링,polling
  • 인터럽트: 사건이 발생했을 때 처리
  • 폴링: 일정 주기로 장치들을 점검 / 주기적 확인



(we)"interrupt (sometimes referred to as a trap)" 즉 인터럽트를 가끔 트랩이라 부른다는 것.

2023-08-17 Ggl:인터럽트 트랩 해보니 interrupt/예외,exception/트랩,trap 셋을 비교해놓은 게 많이 보임
}

//old, merge
{
Turbo_C에는 함수 선언 시 interrupt를 지정할 수 있음.
getvect(), setvect() 등을 씀.

번호 관련
9 키보드? 키보드,keyboard
10h 비디오
16h 키보드?
21h DOS syscall, DOS interrupt
33h 마우스,mouse
}

DOS_interrupt - 도스,DOS
keyboard_interrupt - 키보드,keyboard
mouse_interrupt - 마우스,mouse
...같은 page 만들 수 있음
timer_interrupt - 타이머,timer =,timer . { WtEn:timer ? REL 시간,time 이벤트,event / Sub: APIC_timer { https://wiki.osdev.org/APIC_Timer Ggl:APIC timer } // APIC timer \ PIT { Programmable Interval Timer (PIT) https://wiki.osdev.org/PIT Ggl:Programmable Interval Timer } Ndict:타이머 Ggl:타이머 timer } // timer
{
timer interrupt
WtEn:timer_interrupt ? x 2023-11-06
WpSp:Timer_interrupt ?
WpEn:Timer_interrupt ??
}


Interw: