2011-04-08 2 views
7

디스크에 문제가있는 경우 디스크 드라이버는 일반적으로 디스크를 다시 시도합니다. 예를 들어, Linux SCSI 드라이버가 SCSI 드라이브에서 BUSY 상태를 얻고 IO를 다시 전송하는 경우가 있습니다. 상위 계층 (예 : FS)은 까지 대기합니다. 1. 디스크 드라이버가 IO 오류를 처리하지 못하고 직접 오류를보고합니다. 2. 디스크 드라이버는 계속 재 시도하지만 시간 초과가 발생합니다.Linux 및 Windows의 IO 시간 초과 값은 무엇입니까?

제 질문은 Windows 및 Linux 플랫폼의 시간 초과 값은 무엇입니까? 예를 들어, "write"를 호출하여 일부 데이터를 동 기적으로 디스크에 보내면 실제로 데이터를 쓸 수없는 경우 시스템 호출이 얼마나 오랫동안 호출됩니까?

감사합니다.

+1

하나의 OS 또는 다른 OS에만 적용하면 더 나은 답변을 얻을 수 있습니다. Linux 용과 Windows 용으로 두 가지 질문으로 나눌 수 있습니까? 나는 많은 리눅스 전문가들이 전문가적인 Windows 지식을 가지고 있을지 의심 스럽다. –

+0

OS에만 국한되지 않고 드라이버 자체에 고유합니다. –

+0

... I/O의 유형에 따라 다릅니다. 그러나 여전히 Windows의 IRP에는 엄격한 제한이 있습니다. 그렇게 많이 기억합니다. – 0xC0000022L

답변

2

Brian은 드라이버에 따라 메모를합니다. 드라이버가 포기할 때 write가 리턴됩니다. 어떻게 그리고 왜 드라이버가 포기하는지는 운전자와 장치에 달려 있습니다. 읽는 것과 같이 시간 초과는 없습니다.

가 이 값이/SYS/차단/ mydevice 기본적으로/디바이스/시간 제한

입니다

:

리눅스에
+0

전적으로는 아니지만 거의. Windows에서 내 지식으로 보류중인 것으로 표시되지 않은 경우 보류중인 IRP는 얼마 후 I/O 관리자에 의해 취소됩니다. 여전히 +1. 환영. – 0xC0000022L

1

, 당신은에 값을 읽어 각 블록 장치에서 IO 시간 초과 값을 얻을 수 있습니다 60 년대.