INTERRUPT

포스트: 25
Tags

Posts

25 posts

[Linux][Kernel] 인터럽트 - request_threaded_irq 기초

Guillermo Austin Kim|2017년 12월 9일

개요 하드웨어 관점에서 인터럽트는 인터럽트 콘트롤러에 의해 인가되는 전기신호 인데요. 이 신호는 인터럽트 컨트롤러 입력 핀으로 전달됩니다. 각각 보드마다 인터럽트 컨트롤러는 연결된 여러 개의 인터럽트 배선을 하나의 배선에 묶어서 프로세서에 전달해준다. 인터럽트를 받으면 인터럽트 콘트롤러는 프로세서에 신호를 보낸다. 신호를 감지하면 프로세서는 인터럽트를 처리하기 위해 현재 실행하던 일을 잠시 중단한다. 그다음 프로세서는 커널에 인터럽트가 일어났다는 것을 알리고, 커널은 상황에 맞게 인터럽트를 처리한다. 위에서 설명한 인터럽트가 처리되는 과정은 어느 플렛폼이나 거의 유사하다. 주의해야 할 점 인터럽트가 올라오면 인터럽트 서비스 루틴(ISR)이 호출이 된다. 이 때 프로세서는 기존에 하던 일을 잠시

[Linux][Kernel] 인터럽트(Interrupt) - request_threaded_irq overview(1)

Guillermo Austin Kim|2017년 12월 9일

리눅스 커널 인터럽트 개념 중에 top/bottom half란 용어를 많이 들어봤죠? 하드웨어적으로 인터럽트가 처리될 때는 되도록 실시간으로 처리할 데이터만 빨리 처리하고,빨리 처리해도 안되는 동작은 쓰레드 레벨로 수행한다는 거죠. 수 없이 이런 글을 읽어봤는데, 사실 인터럽트 서비스 루틴에서 발생하는 수 많은 이슈를 대응하기 전까지는 개념이머리 속에 잘 들어오지 않더라구요. 그래서 이번 시간에 좀 좀 정리를 해보려고 해요. 리눅스 커널에서 bottom half로 처리되는 루틴은 크게 세 가지가 있어요.1> softirq2> workqueue3> irq_thread 이번 시간에는 irq_thread에 대해서 touch 드라이버를 예를 들어서 분석을 해보려구요.touch의 IRQ 관련

[DOS-AdLib Game Recording] 인터럽트(Interrupt, Bloody Signal)

[DOS-AdLib Game Recording] 인터럽트(Interrupt, Bloody Signal)

三途川 懸衣翁|2013년 8월 14일

Interrupt(Bloody Signal) Game Recording (44.1kHz 192kbps, MP3, 44.0MiB) Download Link : (C) 1995 Family Production / Sound works by D.A.C 피와 기티(Pee & Gity)로 유명한 패밀리 프로덕션에서 1995년에 발표한 로봇액션게임 인터럽트(Interrupt, 해외 수출판 이름 : Bloody Signal)에 나오는 모든 곡을 녹음했습니다. 이 게임도 일루젼 블레이즈때와 마찬가지로 Option Mode에 Music test를 넣어놔서 Real DOS Machine에서 곡을 녹음할 때 정말로 수월했습니다. 단, 이전에 포스팅한 것처럼 메모리 문제 때문에 고생한건 제외하고요. 그

 패밀리 프로덕션의 인터럽트... 메모리 오류 해결!

패밀리 프로덕션의 인터럽트... 메모리 오류 해결!

三途川 懸衣翁|2013년 8월 12일

패밀리 프로덕션의 인터럽트라는 게임... 메모리 문제 해결했습니다. 이 게임은 XMS를 검출하는데 매우 오래된 방식을 사용했었나봅니다. 그래서 시스템의 메인메모리가 64MB를 초과하는 경우 XMS의 용량을 엉뚱하게 검출해서 메모리 부족 오류를 냈던 건데요, (지난 글의 EXT의 정체는 XMS였습니다.) 이를 해결하는 방법은 아래 사진처럼 CMOS에서 [OS Select For DRAM > 64MB]의 옵션을 OS/2로 두는 거였어요. 저 옵션이 어떤 역할을 하는지는 인터넷 검색을 해 보시면 금방 아실 수 있을겁니다. 참고로 제 도스 머신은 256MB의 메모리를 가지고 있습니다. 혹시나 해서 최후희 수단으로 만져본 옵션이 해결책이었다니... 전 OS/2를 써보지 않은 덕분에 CMOS에서 저