Sleep을 사용할때 Context Switching 현상
글쓴이: paeksj98 / 작성시간: 목, 2013/08/08 - 4:39오후
단말기 베이스이고 QT3.3에 Kernel 2.6 입니다.
Wirte 중간 중간에 1ms의 Delay 기능이 구현하려고 합니다.
for(int i=0; i<1000000; i++) { res = write(m_handle, m_cBuff, Length); usleep(1000); // 1ms의 delay 발생 ==> Context Switching 발생 ==> 실제 딜레이 시간 10ms이상 }
스위칭이 일어나지 않고 1ms정도의 딜레이 시간을 유지 시키는 방법이 있을까요..??
오차범위는 10%안에 들면 좋은데 +-50%까지도 상관 없을것 같습니다.
이런 문제가 있을경우 해결 방법이 있을까요..??
Forums:
cpu를 소모하고라도 buzy waiting을 하면
cpu를 소모하고라도 buzy waiting을 하면 되지 않을까요?
http://kldp.org/node/62634
http://kldp.org/node/38627
요거 되는건지 모르겠네요.
http://sourceforge.net/projects/high-res-timers/
Signature :) - "여유를 갖고 행동하되 게을러지지 말자"
댓글 달기