[ 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의 경우 이벤트가 오면 지정 시간 이전에 깨어날 수도 있습니다. |