Interrupt handler (original) (raw)
Obsluha přerušení (zkratka ISR, anglicky interrupt handler nebo též interrupt service routine), je v informatice speciální procedura, která je v operačním systému vyvolána při obsluze přerušení. Přerušení je asynchronní událost, při jejímž příchodu je přerušena činnost procesoru, je vyvolána obsluha přerušení, a poté činnost procesoru pokračuje na místě, kde bylo přerušení vyvoláno. Obsluha přerušení je obvykle součástí ovladačů zařízení, které se instalují do operačního systému kvůli obsluze připojených hardwarových zařízení (tzv. vnější přerušení), ale slouží též pro obsluhu přerušení vyvolaných uvnitř procesoru (tzv. vnitřní přerušení) a softwarových přerušení vyvolaných speciální strojovou instrukcí.
Property | Value |
---|---|
dbo:abstract | Obsluha přerušení (zkratka ISR, anglicky interrupt handler nebo též interrupt service routine), je v informatice speciální procedura, která je v operačním systému vyvolána při obsluze přerušení. Přerušení je asynchronní událost, při jejímž příchodu je přerušena činnost procesoru, je vyvolána obsluha přerušení, a poté činnost procesoru pokračuje na místě, kde bylo přerušení vyvoláno. Obsluha přerušení je obvykle součástí ovladačů zařízení, které se instalují do operačního systému kvůli obsluze připojených hardwarových zařízení (tzv. vnější přerušení), ale slouží též pro obsluhu přerušení vyvolaných uvnitř procesoru (tzv. vnitřní přerušení) a softwarových přerušení vyvolaných speciální strojovou instrukcí. (cs) روتين المقاطعة (بالإنجليزية: Interrupt handler) ويسمى أيضًا روتين خدمة المقاطعة (بالإنجليزية: Interrupt Service Routine) هو مجموعة من الأوامر يقوم المعالج بتنفيذها في حال حدوث مقاطعة. لكل نوع مقاطعة يوجد روتين خاص بها يختلف عن باقي أنواع المقاطعات وتختلف مهام الروتين حسب سبب حدوث المقاطعة أو حسب السرعة المطلوبة لتنفيذ الروتين. (ar) In computer systems programming, an interrupt handler, also known as an interrupt service routine or ISR, is a special block of code associated with a specific interrupt condition. Interrupt handlers are initiated by hardware interrupts, software interrupt instructions, or software exceptions, and are used for implementing device drivers or transitions between protected modes of operation, such as system calls. The traditional form of interrupt handler is the hardware interrupt handler. Hardware interrupts arise from electrical conditions or low-level protocols implemented in digital logic, are usually dispatched via a hard-coded table of interrupt vectors, asynchronously to the normal execution stream (as interrupt masking levels permit), often using a separate stack, and automatically entering into a different execution context (privilege level) for the duration of the interrupt handler's execution. In general, hardware interrupts and their handlers are used to handle high-priority conditions that require the interruption of the current code the processor is executing. Later it was found convenient for software to be able to trigger the same mechanism by means of a software interrupt (a form of synchronous interrupt). Rather than using a hard-coded interrupt dispatch table at the hardware level, software interrupts are often implemented at the operating system level as a form of callback function. Interrupt handlers have a multitude of functions, which vary based on what triggered the interrupt and the speed at which the interrupt handler completes its task. For example, pressing a key on a computer keyboard, or moving the mouse, triggers interrupts that call interrupt handlers which read the key, or the mouse's position, and copy the associated information into the computer's memory. An interrupt handler is a low-level counterpart of event handlers. However, interrupt handlers have an unusual execution context, many harsh constraints in time and space, and their intrinsically asynchronous nature makes them notoriously difficult to debug by standard practice (reproducible test cases generally don't exist), thus demanding a specialized skillset—an important subset of system programming—of software engineers who engage at the hardware interrupt layer. (en) 인터럽트 핸들러(영어: interrupt handler) 또는 인터럽트 서비스 루틴(영어: interrupt Service Routine, ISR)은 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴이다. 운영 시스템이나 임베디드에서 장치 드라이버에서 요구하는 일을 처리하는 기능적 코드 집합으로 콜백 루틴 방식으로 처리된다. 인터럽트 핸들러는 인터럽트 원인에 따라 각각 존재하고 인터럽트 핸들러가 작업을 마치는 데 걸리는 시간도 다양하다. 마이크로프로세서에서 발생하는 예외도 역시 예외 처리 핸들러가 필요하다. 인터럽트는 운영 체계를 사용하는 컴퓨터 시스템에서는 커널과 밀접한 관계를 갖는다. 따라서 인터럽트 핸들러는 커널에 존재하고 응용 프로그램에는 넣지 않는다. 초기의 DOS는 인터럽트 핸들러를 응용 프로그램과 결합하여 작성하였지만, 윈도가 본격적인 운영체계를 갖추면서 커널에서 처리하게 되었다. 임베디드 시스템에서 많이 사용하는 마이크로컨트롤러는 운영체계없이 정해진 기능이 동작하도록 하는 경우가 많다. 이런경우 각각의 인터럽트 핸들러는 전체 프로그램에 넣어 작성된다. 인터럽트 핸들러는 어셈블리 뿐만 아니라 C언어로 표현이 가능하므로, 개발 도구에 지원하는 방식에 따라 표현하면 된다. 표현 방식은 표준언어가 아니므로 각각의 개발 도구에 따라 다르다. (ko) 割り込みハンドラ(英: Interrupt handler)または割り込みサービスルーチン(英: Interrupt Service Routine, ISR)は、割り込み受け付けによって起動されるオペレーティングシステムやデバイスドライバのコールバックルーチンである。割り込みハンドラは割り込み原因によってそれぞれ存在し、割り込みハンドラがそのタスクを完了するまでにかかる時間も様々である。 割り込みハンドラはイベントハンドラに対応してハードウェアに近いところで動作する。これらのハンドラは、ハードウェアの割り込みかソフトウェアの割り込み命令で起動され、ハードウェア機器のための処理をしたり、システムコールなどのCPUモードの移行を行ったりする。 (ja) In informatica un gestore di interrupt è una routine la cui esecuzione è innescata dal verificarsi di un interrupt. È l'evoluzione di una Interrupt Service Routine (ISR), una funzione informatica, di tipo callback, che viene avviata dal sistema operativo in risposta a un Interrupt. (it) Опрацьовувач переривань (англ. interrupt handler), також відомий як процедура опрацювання переривань (англ. interrupt service routine, ISR) або обробник переривань, це функція зворотного виклику в операційній системі або драйвері пристрою, виконання якої спричиняється отриманням переривання. Опрацьовувачі переривань мають безліч функцій, які різняться відповідно до причини виникнення переривання і швидкодії опрацьовувача. Опрацьовувач переривань є низькорівневим двійником опрацьовувача подій (повідомлень). Ці опрацьовувачі ініціюються або апаратними перериваннями або інструкціями переривання на програмному рівні, і використовуються для обслуговування апаратних пристроїв і переходів між захищеними режимами операцій такими як системні виклики. (uk) Обрабо́тчик прерыва́ний (или процедура обслуживания прерываний) — специальная процедура, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание. Обработчик прерываний — это низкоуровневый эквивалент обработчика событий. Эти обработчики вызываются либо по аппаратному прерыванию, либо соответствующей инструкцией в программе, и соответственно обычно предназначены для взаимодействия с устройствами или для осуществления вызова функций операционной системы. На современных ПК обработчики основных аппаратных и программных прерываний находятся в памяти BIOS. Современная операционная система, во время своей загрузки, заменяет эти обработчики своими. При загрузке драйверов устройств операционная система распределяет управление обработкой прерывания между ними. В операционных системах семейства Windows программные прерывания используются для вызовов многих API функций. В ассемблере x86 прерывание вызывается командой INT. (ru) |
dbo:wikiPageID | 638824 (xsd:integer) |
dbo:wikiPageLength | 13274 (xsd:nonNegativeInteger) |
dbo:wikiPageRevisionID | 1043609356 (xsd:integer) |
dbo:wikiPageWikiLink | dbr:Preemption_(computing) dbr:Programmable_Interrupt_Controller dbr:Non-maskable_interrupt dbr:System_programming dbr:Kernel_(computer_science) dbr:Unix dbr:Deferred_Procedure_Call dbr:Device_driver dbr:Inter-processor_interrupt dbr:Interrupt_latency dbr:Interrupt_priority_level dbr:Computer_keyboard dbr:Motorola_6809 dbr:Concurrency_(computer_science) dbr:Context_switch dbr:Linux dbr:MacOS dbr:Callback_(computer_programming) dbr:Z/OS dbr:Stack_overflow dbc:Subroutines dbr:DESQview dbr:Event_handler dbr:Exception_handling dbr:Central_processing_unit dbr:Direct_memory_access dbr:Real-time_operating_system dbr:Red_zone_(computing) dbr:Interrupt dbr:Interrupt_vector dbr:Interrupts_in_65xx_processors dbr:Jitter dbr:Advanced_Programmable_Interrupt_Controller dbc:Interrupts dbr:Microsoft_Windows dbr:Operating_system dbr:Reentrancy_(computing) dbr:System_call dbr:Memory_management_unit dbr:Schedule_(computer_science) dbr:IRQL_(Windows) dbr:Digital_logic dbr:Mouse_(computing) dbr:Systems_programming dbr:Run_queue dbr:Reentrant_(subroutine) |
dbp:date | July 2020 (en) |
dbp:reason | This begs the question: on those other systems, what does "upper half" mean, if it means something different than Linux systems? (en) |
dbp:wikiPageUsesTemplate | dbt:Clarify dbt:Clear dbt:Div_col dbt:Div_col_end dbt:More_citations_needed dbt:Reflist dbt:Short_description dbt:Use_mdy_dates dbt:Mdashb dbt:Operating_system |
dcterms:subject | dbc:Subroutines dbc:Interrupts |
gold:hypernym | dbr:Function |
rdf:type | yago:WikicatSubroutines yago:Abstraction100002137 yago:Code106355894 yago:CodingSystem106353757 yago:Communication100033020 yago:Driver106574473 yago:Program106568978 yago:Writing106359877 yago:WrittenCommunication106349220 dbo:Disease yago:Routine106582403 yago:Software106566077 yago:UtilityProgram106581410 yago:WikicatDeviceDrivers |
rdfs:comment | Obsluha přerušení (zkratka ISR, anglicky interrupt handler nebo též interrupt service routine), je v informatice speciální procedura, která je v operačním systému vyvolána při obsluze přerušení. Přerušení je asynchronní událost, při jejímž příchodu je přerušena činnost procesoru, je vyvolána obsluha přerušení, a poté činnost procesoru pokračuje na místě, kde bylo přerušení vyvoláno. Obsluha přerušení je obvykle součástí ovladačů zařízení, které se instalují do operačního systému kvůli obsluze připojených hardwarových zařízení (tzv. vnější přerušení), ale slouží též pro obsluhu přerušení vyvolaných uvnitř procesoru (tzv. vnitřní přerušení) a softwarových přerušení vyvolaných speciální strojovou instrukcí. (cs) روتين المقاطعة (بالإنجليزية: Interrupt handler) ويسمى أيضًا روتين خدمة المقاطعة (بالإنجليزية: Interrupt Service Routine) هو مجموعة من الأوامر يقوم المعالج بتنفيذها في حال حدوث مقاطعة. لكل نوع مقاطعة يوجد روتين خاص بها يختلف عن باقي أنواع المقاطعات وتختلف مهام الروتين حسب سبب حدوث المقاطعة أو حسب السرعة المطلوبة لتنفيذ الروتين. (ar) 割り込みハンドラ(英: Interrupt handler)または割り込みサービスルーチン(英: Interrupt Service Routine, ISR)は、割り込み受け付けによって起動されるオペレーティングシステムやデバイスドライバのコールバックルーチンである。割り込みハンドラは割り込み原因によってそれぞれ存在し、割り込みハンドラがそのタスクを完了するまでにかかる時間も様々である。 割り込みハンドラはイベントハンドラに対応してハードウェアに近いところで動作する。これらのハンドラは、ハードウェアの割り込みかソフトウェアの割り込み命令で起動され、ハードウェア機器のための処理をしたり、システムコールなどのCPUモードの移行を行ったりする。 (ja) In informatica un gestore di interrupt è una routine la cui esecuzione è innescata dal verificarsi di un interrupt. È l'evoluzione di una Interrupt Service Routine (ISR), una funzione informatica, di tipo callback, che viene avviata dal sistema operativo in risposta a un Interrupt. (it) In computer systems programming, an interrupt handler, also known as an interrupt service routine or ISR, is a special block of code associated with a specific interrupt condition. Interrupt handlers are initiated by hardware interrupts, software interrupt instructions, or software exceptions, and are used for implementing device drivers or transitions between protected modes of operation, such as system calls. (en) 인터럽트 핸들러(영어: interrupt handler) 또는 인터럽트 서비스 루틴(영어: interrupt Service Routine, ISR)은 인터럽트 접수에 의해 발생되는 인터럽트에 대응하여 특정 기능을 처리하는 기계어 코드 루틴이다. 운영 시스템이나 임베디드에서 장치 드라이버에서 요구하는 일을 처리하는 기능적 코드 집합으로 콜백 루틴 방식으로 처리된다. 인터럽트 핸들러는 인터럽트 원인에 따라 각각 존재하고 인터럽트 핸들러가 작업을 마치는 데 걸리는 시간도 다양하다. 마이크로프로세서에서 발생하는 예외도 역시 예외 처리 핸들러가 필요하다. 인터럽트는 운영 체계를 사용하는 컴퓨터 시스템에서는 커널과 밀접한 관계를 갖는다. 따라서 인터럽트 핸들러는 커널에 존재하고 응용 프로그램에는 넣지 않는다. 초기의 DOS는 인터럽트 핸들러를 응용 프로그램과 결합하여 작성하였지만, 윈도가 본격적인 운영체계를 갖추면서 커널에서 처리하게 되었다. (ko) Обрабо́тчик прерыва́ний (или процедура обслуживания прерываний) — специальная процедура, вызываемая по прерыванию для выполнения его обработки. Обработчики прерываний могут выполнять множество функций, которые зависят от причины, которая вызвала прерывание. Обработчик прерываний — это низкоуровневый эквивалент обработчика событий. Эти обработчики вызываются либо по аппаратному прерыванию, либо соответствующей инструкцией в программе, и соответственно обычно предназначены для взаимодействия с устройствами или для осуществления вызова функций операционной системы. (ru) Опрацьовувач переривань (англ. interrupt handler), також відомий як процедура опрацювання переривань (англ. interrupt service routine, ISR) або обробник переривань, це функція зворотного виклику в операційній системі або драйвері пристрою, виконання якої спричиняється отриманням переривання. Опрацьовувачі переривань мають безліч функцій, які різняться відповідно до причини виникнення переривання і швидкодії опрацьовувача. (uk) |
rdfs:label | روتين المقاطعة (نظام تشغيل) (ar) Obsluha přerušení (cs) Unterbrechungsroutine (de) Gestore di interrupt (it) Interrupt handler (en) 割り込みハンドラ (ja) 인터럽트 핸들러 (ko) Обработчик прерывания (ru) Опрацьовувач переривань (uk) |
owl:sameAs | freebase:Interrupt handler yago-res:Interrupt handler wikidata:Interrupt handler dbpedia-ar:Interrupt handler dbpedia-az:Interrupt handler dbpedia-cs:Interrupt handler dbpedia-de:Interrupt handler dbpedia-et:Interrupt handler dbpedia-it:Interrupt handler dbpedia-ja:Interrupt handler dbpedia-ko:Interrupt handler dbpedia-no:Interrupt handler dbpedia-ru:Interrupt handler dbpedia-tr:Interrupt handler dbpedia-uk:Interrupt handler https://global.dbpedia.org/id/YGmn |
prov:wasDerivedFrom | wikipedia-en:Interrupt_handler?oldid=1043609356&ns=0 |
foaf:isPrimaryTopicOf | wikipedia-en:Interrupt_handler |
is dbo:wikiPageDisambiguates of | dbr:Handler |
is dbo:wikiPageRedirects of | dbr:FLIH dbr:Interrupt_Handler dbr:Interrupt_Service_Routine dbr:Interrupt_routines dbr:Interrupt_service_routine dbr:SLIH |
is dbo:wikiPageWikiLink of | dbr:Carbon_(API) dbr:Programmable_interrupt_controller dbr:End_of_interrupt dbr:List_of_computing_and_IT_abbreviations dbr:Non-maskable_interrupt dbr:MIKBUG dbr:Cypress_PSoC dbr:Deferred_Procedure_Call dbr:Double_fault dbr:EFM32 dbr:Intel_8259 dbr:Inter-processor_interrupt dbr:Interrupt_flag dbr:Interrupt_latency dbr:Interrupt_storm dbr:Interrupt_vector_table dbr:Inversion_of_control dbr:STM32 dbr:General_Instrument_CP1600 dbr:Context_switch dbr:Linux_kernel dbr:Lockheed_MAC-16 dbr:MOS_Technology_6502 dbr:Signetics_2650 dbr:National_Semiconductor_PACE dbr:Terminate-and-stay-resident_program dbr:TinyOS dbr:WDC_65C02 dbr:Actor_model dbr:Exception_handling dbr:Fn_key dbr:Microcontroller dbr:Handler dbr:Raster_bar dbr:Raster_interrupt dbr:Red_zone_(computing) dbr:Status_register dbr:Atmel_ARM-based_processors dbr:Interrupt dbr:Interrupt_request_(PC_architecture) dbr:Interrupts_in_65xx_processors dbr:Assembly_language dbr:ARM11 dbr:ARM9 dbr:ARM_Cortex-M dbr:ARM_Cortex-R dbr:Advanced_Programmable_Interrupt_Controller dbr:KGraft dbr:Binary-code_compatibility dbr:Supervisor_Call_instruction dbr:Unix_architecture dbr:DioneOS dbr:FLIH dbr:IBM_System/360_Model_67 dbr:INT_13H dbr:Micro-Controller_Operating_Systems dbr:Operating_system dbr:REX_OS dbr:Reentrancy_(computing) dbr:ISR dbr:Message_Signaled_Interrupts dbr:TI_MSP432 dbr:Experix dbr:INT_10H dbr:IRQL_(Windows) dbr:NXP_LPC dbr:Event_(computing) dbr:Execution_(computing) dbr:Systems_programming dbr:Motorola_S08 dbr:Scheduling_(computing) dbr:Interrupt_Handler dbr:Non-blocking_algorithm dbr:Interrupt_Service_Routine dbr:Interrupt_routines dbr:Interrupt_service_routine dbr:SLIH |
is foaf:primaryTopic of | wikipedia-en:Interrupt_handler |