MKL
우선순위,priority
우선순위큐,priority_queue
RTOS 에서는 인터럽트 처리 정책이 매우 중요
mkl? (del ok)
장치,device
버스,bus
breakpoint
hardware_signal - 신호,signal from 하드웨어,hardware ...? hardware signal
우선순위,priority
우선순위큐,priority_queue
RTOS 에서는 인터럽트 처리 정책이 매우 중요
mkl? (del ok)
장치,device
버스,bus
breakpoint
hardware_signal - 신호,signal from 하드웨어,hardware ...? hardware signal
Topics
인터럽트신호 : 신호,signal
interrupt_signal ? interrupt_signal interrupt_signal interrupt_signal interrupt_signal interrupt_signal 인터럽트 신호
신호 외에 이벤트,event와도 유사성이 있어서 (인터럽트는 항상 event인지? chk) event_handling , event_listener 등 event-driven_programming 쪽 이론/방법론과 겹치는 게 있다
인터럽트 발생신호 외에 이벤트,event와도 유사성이 있어서 (인터럽트는 항상 event인지? chk) event_handling , event_listener 등 event-driven_programming 쪽 이론/방법론과 겹치는 게 있다
queuing_theory 와도?
인터럽트 처리
=,interrupt_handler .
{
https://foldoc.org/interrupt handler
interrupt handler
https://en.wikipedia.org/wiki/Interrupt_handler
interrupt handler
interrupt handler
}
interrupt_service_routine ISR
=,interrupt_service_routine =,ISR .
인터럽트처리기? interrupt_handler ? => ISR 과 완전 동의어인지 chk=,interrupt_service_routine =,ISR .
interrupt service routine
번역들을 어떻게 하나? interrupt service routine
https://wiki.osdev.org/Interrupt_Service_Routines
번역들을 어떻게 하나? interrupt service routine
https://wiki.osdev.org/Interrupt_Service_Routines
=,interrupt_handler .
{
https://foldoc.org/interrupt handler
interrupt handler
https://en.wikipedia.org/wiki/Interrupt_handler
interrupt handler
interrupt handler
}
인터럽트제어 / 인터럽트제어기 ?
interrupt_control ?
interrupt_controller ?
https://en.wikipedia.org/wiki/Interrupt_flag
interrupt_control ?
interrupt_controller ?
programmable_interrupt_controller PIC
=,programmable_interrupt_controller =,PIC .
programmable interrupt controller (PIC)
interrpt_flag=,programmable_interrupt_controller =,PIC .
programmable interrupt controller (PIC)
(프로그래머블|프로그래밍 가능한|프로그램 가능한) 인터럽트 (제어기|컨트롤러)
https://ko.wikipedia.org/wiki/프로그래머블_인터럽트_컨트롤러
https://en.wikipedia.org/wiki/Programmable_interrupt_controller
programmable interrupt controller
programmable interrupt controller
Sub:
Intel_8259
Intel 8259
https://en.wikipedia.org/wiki/Intel_8259
Advanced Programmable Interrupt Controller (APIC)
https://en.wikipedia.org/wiki/OpenPIC_and_MPIC
https://ko.wikipedia.org/wiki/프로그래머블_인터럽트_컨트롤러
https://en.wikipedia.org/wiki/Programmable_interrupt_controller
programmable interrupt controller
programmable interrupt controller
Sub:
Intel_8259
Intel 8259
https://en.wikipedia.org/wiki/Intel_8259
Advanced Programmable Interrupt Controller (APIC)
https://en.wikipedia.org/wiki/OpenPIC_and_MPIC
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
interrupt priority level
interrupt priority level
interrupt+priority+level
interrupt_priority_level IPL
=,interrupt_priority_level =,IPL .
인터럽트에는 우선순위,priority가 있어서 순위가 낮은 것은 무시되거나 연기.
https://foldoc.org/interrupt priority level
https://en.wikipedia.org/wiki/Interrupt_priority_level
interrupt priority level
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 이 레지스터 이름에서 유래한 것과 비슷한 느낌의? (더 궁금하면 CAR_and_CDR)
Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)
Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)
https://en.wikipedia.org/wiki/Spl_(Unix)
인터럽트요청 인터럽트요구 ?
interrupt_request = IRQ
{
https://foldoc.org/interrupt request
https://ko.wikipedia.org/wiki/인터럽트_요청
interrupt_request = IRQ
{
https://foldoc.org/interrupt request
https://ko.wikipedia.org/wiki/인터럽트_요청
IRQL =,IRQL . IRQL (Windows specific?)
{
IRQL_(Windows)
https://en.wikipedia.org/wiki/IRQL_(Windows)
https://en.wikipedia.org/wiki/IRQL_(Windows)
IRQL
IRQL
IRQL
}
{
IRQL_(Windows)
https://en.wikipedia.org/wiki/IRQL_(Windows)
https://en.wikipedia.org/wiki/IRQL_(Windows)
IRQL
IRQL
IRQL
}
end_of_interrupt EOI
end of interrupt EOI
=,end_of_interrupt =,EOI .
{
https://en.wikipedia.org/wiki/End_of_interrupt
end of interrupt EOI
}
end of interrupt EOI
=,end_of_interrupt =,EOI .
{
https://en.wikipedia.org/wiki/End_of_interrupt
end of interrupt EOI
}
inter-processor_interrupt (IPI)
=,inter-processor_interrupt =,IPI .
{
inter-processor interrupt (IPI)
=,inter-processor_interrupt =,IPI .
{
inter-processor interrupt (IPI)
interrupt_vector =,interrupt_vector =,interrupt_vector . interrupt_vector
=,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) 구조가 완전히 바뀌어서 이름도 바꾼 듯?
interrupt vector
interrupt_vector_table (IVT) =,interrupt_vector_table =,interrupt_vector_table . interrupt_vector_table =,IVT .
interrupt_descriptor_table = IDTinterrupt_vector_table (IVT) =,interrupt_vector_table =,interrupt_vector_table . interrupt_vector_table =,IVT .
interrupt vector table = IVT
Interrupt Vector Table (IVT) ... (copy from osdev) 대문자화할 필요 없는 듯? (we)
Cmp: interrupt_descriptor_table (IDT)
https://ko.wikipedia.org/wiki/인터럽트_벡터_테이블
https://en.wikipedia.org/wiki/Interrupt_vector_table
https://wiki.osdev.org/Interrupt_Vector_Table (x86 real_mode 얘기)
인터럽트 벡터 테이블
인터럽트 벡터 테이블
interrupt vector table
interrupt vector table
interrupt vector table
Up: interrupt_vector 테이블,table
Interrupt Vector Table (IVT) ... (copy from osdev) 대문자화할 필요 없는 듯? (we)
Cmp: interrupt_descriptor_table (IDT)
https://ko.wikipedia.org/wiki/인터럽트_벡터_테이블
https://en.wikipedia.org/wiki/Interrupt_vector_table
https://wiki.osdev.org/Interrupt_Vector_Table (x86 real_mode 얘기)
인터럽트 벡터 테이블
인터럽트 벡터 테이블
interrupt vector table
interrupt vector table
interrupt vector table
Up: interrupt_vector 테이블,table
=,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) 구조가 완전히 바뀌어서 이름도 바꾼 듯?
REL
(via osdev)
IDTR (IDT register) IDTR IDT_register
LIDT (instruction) 은
IDT_Descriptor 구조체에 대한 포인터를 인자로 받는다.
https://ko.wikipedia.org/wiki/인터럽트_서술자_테이블
https://en.wikipedia.org/wiki/Interrupt_descriptor_table
https://wiki.osdev.org/Interrupt_Descriptor_Table
Cmp: interrupt_vector_table (IVT)
Up: descriptor_table { Sub: GDT,global_descriptor_table { https://en.wikipedia.org/wiki/Global_Descriptor_Table https://wiki.osdev.org/Global_Descriptor_Table } LDT,local_descriptor_table { https://wiki.osdev.org/Local_Descriptor_Table Local_Descriptor_Table is redirect to a section of GDT: Global_Descriptor_Table#Local_Descriptor_Table } IDT,interrupt_descriptor_table ... }
...
interrupt descriptor table
interrupt descriptor table
interrupt descriptor table
interrupt+descriptor+table
}
(via osdev)
IDTR (IDT register) IDTR IDT_register
LIDT (instruction) 은
IDT_Descriptor 구조체에 대한 포인터를 인자로 받는다.
https://ko.wikipedia.org/wiki/인터럽트_서술자_테이블
https://en.wikipedia.org/wiki/Interrupt_descriptor_table
https://wiki.osdev.org/Interrupt_Descriptor_Table
Cmp: interrupt_vector_table (IVT)
Up: descriptor_table { Sub: GDT,global_descriptor_table { https://en.wikipedia.org/wiki/Global_Descriptor_Table https://wiki.osdev.org/Global_Descriptor_Table } LDT,local_descriptor_table { https://wiki.osdev.org/Local_Descriptor_Table Local_Descriptor_Table is redirect to a section of GDT: Global_Descriptor_Table#Local_Descriptor_Table } IDT,interrupt_descriptor_table ... }
...
interrupt descriptor table
interrupt descriptor table
interrupt descriptor table
interrupt+descriptor+table
}
인터럽트 분류 ¶
- 내부 인터럽트
- division_by_zero
- overflow
- illegal instruction
- division_by_zero
- 외부 인터럽트
- I/O 장치 etc..
- I/O 장치 etc..
- maskable interrupt / non-maskable interrupt (NMI) - 마스크,mask esp interrupt_mask interrupt_masking { curr see https://en.wikipedia.org/wiki/Interrupt#Masking }을 할 수 있는지 여부인 maskability에 따라 두가지로 나뉨
- maskable_interrupt : maskable interrupt maskable interrupt maskable interrupt
- non-maskable_interrupt : https://foldoc.org/NMI
.... maskable interrupt maskable interrupt
- maskable_interrupt : maskable interrupt maskable interrupt maskable interrupt
- 하드웨어,hardware / 소프트웨어,software
- software_interrupt ... https://foldoc.org/software interrupt https://en.wikipedia.org/wiki/Software_interrupt redir to: Interrupt#Software_interrupts .... software interrupt hardware interrupt software interrupt hardware interrupt
- hardware_interrupt ... 하드웨어인터럽트,hardware_interrupt =하드웨어인터럽트,hardware_interrupt =,hardware_interrupt . 하드웨어인터럽트 hardware_interrupt { 하드웨어 인터럽트 hardware interrupt https://en.wikipedia.org/wiki/Hardware_interrupt redir to Interrupt#Hardware_interrupts ... 하드웨어 인터럽트 하드웨어 인터럽트 하드웨어 인터럽트 hardware interrupt }
- software_interrupt ... https://foldoc.org/software interrupt https://en.wikipedia.org/wiki/Software_interrupt redir to: Interrupt#Software_interrupts .... software interrupt hardware interrupt software interrupt hardware interrupt
인터럽트와 폴링 ¶
번호 | 관련 |
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 . { timer ? REL 시간,time 이벤트,event / Sub: APIC_timer { https://wiki.osdev.org/APIC_Timer APIC timer } // APIC timer \ PIT { Programmable Interval Timer (PIT) https://wiki.osdev.org/PIT Programmable Interval Timer } 타이머 타이머 timer } // timer
{
timer interrupt
timer_interrupt ? x 2023-11-06
Timer_interrupt ?
Timer_interrupt ??
}
keyboard_interrupt - 키보드,keyboard
mouse_interrupt - 마우스,mouse
...같은 page 만들 수 있음
timer_interrupt - 타이머,timer =,timer . { timer ? REL 시간,time 이벤트,event / Sub: APIC_timer { https://wiki.osdev.org/APIC_Timer APIC timer } // APIC timer \ PIT { Programmable Interval Timer (PIT) https://wiki.osdev.org/PIT Programmable Interval Timer } 타이머 타이머 timer } // timer
{
timer interrupt
timer_interrupt ? x 2023-11-06
Timer_interrupt ?
Timer_interrupt ??
}
Interw:
https://foldoc.org/interrupt
https://simple.wikipedia.org/wiki/Interrupt
https://ko.wikipedia.org/wiki/인터럽트
https://en.wikipedia.org/wiki/Interrupt
https://simple.wikipedia.org/wiki/Interrupt
https://ko.wikipedia.org/wiki/인터럽트
https://en.wikipedia.org/wiki/Interrupt