윈도우즈의 .sys 파일이나 리눅스의 .ko 파일들처럼 LKM 파일안에도 여러 함수들이 있을수 있고 그 함수들이 호출될수 있는데요
커널모듈 내부의 이런 함수들이 수행될때 context switching 이 발생하나요?
인터럽트 컨텍스트, 즉, ISR(Interrupt Service Routine, top half)을 실행하는 도중에는 문맥 교환(Context Swiching)이 발생하지 않습니다.
나머지 루틴은 문맥 교환이 가능합니다. 예를 들면,
가 있습니다. 커널 모듈이라고 해도 모듈 파일(.ko)만 따로 있는 것이지, 로드하게 되면 어차피 커널에서 동작하는 루틴들 입니다. 문제는 커널이 선점 가능하기 때문에 동기화 문제로 꽤나 골치가 아프죠.
Just do it!
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
인터럽트 컨텍스트, 즉, ISR(Interrupt
인터럽트 컨텍스트, 즉, ISR(Interrupt Service Routine, top half)을 실행하는 도중에는 문맥 교환(Context Swiching)이 발생하지 않습니다.
나머지 루틴은 문맥 교환이 가능합니다. 예를 들면,
가 있습니다. 커널 모듈이라고 해도 모듈 파일(.ko)만 따로 있는 것이지, 로드하게 되면 어차피 커널에서 동작하는 루틴들 입니다. 문제는 커널이 선점 가능하기 때문에 동기화 문제로 꽤나 골치가 아프죠.
Just do it!
댓글 달기