LinuxFreeBSD

[알림판목록 I] [알림판목록 II] [글목록][이 전][다 음]
[ LinuxFreeBSD ] in KIDS
글 쓴 이(By): hl1sul (HL1SUL)
날 짜 (Date): 2002년 8월  3일 토요일 오전 01시 26분 56초
제 목(Title): Re: [질문]schedule_timeout()


>이 함수가 TASK_INTERRUPTIBLE 등의 매크로와 함께 쓰이면서 프로세스의
>sleep을 관여한다는 정도는 알겠는데요.
>실제 코드에서 사용할 때 왜 쓰이며 인자로 넘겨주는 시간값이 변하는 것이
>실제 결과에 어떤 영향을 미칠 수 있는지 등 개념을 못 잡겠습니다.
>이 부분 아시는 분 설명 좀 부탁합니다.

사용방법에 관한 것은 kernel API documentation을 보시면 되겠고요,
"프로세스의 sleep"이라는 것은 엄밀히 말하면 틀립니다. kernel의 task를
일정시간 재우는 것이죠.  

보통 디바이스 드라이버에서 initialization이나 mode change등을 할 때
하드웨어가 준비될 때까지 기다리는데 쓰는 것을 많이 봅니다. 
TASK_UNINTERRUPTIBLE로 set_current_state를 하면 지정한 시간이나 그 이상이
지나야 깨어납니다. TASK_INTERRUPTIBLE의 경우 이벤트가 오면 지정 시간 
이전에 깨어날 수도 있습니다.
[알림판목록 I] [알림판목록 II] [글 목록][이 전][다 음]
키 즈 는 열 린 사 람 들 의 모 임 입 니 다.