なぜコンピューターはフロッピードライブの欠如を検出できないのでしょうか?

なぜコンピューターはフロッピードライブの欠如を検出できないのでしょうか?

存在しないドライブからフロッピーを読み取ろうとしたために初めて OS がフリーズして以来、ずっと疑問に思っていたことがあります。なぜオペレーティング システムはそんなことをしようとするのでしょうか? マザーボードに接続されたドライブが存在しないことを検出できないのでしょうか?

答え1

昔のフロッピー ドライブの動作は、OS によって直接制御されるのではなく、フロッピー ディスク コントローラと呼ばれる特殊なハードウェアによって制御されていました。オペレーティング システムは、フロッピー コントローラを使用してフロッピー ディスクからの読み取りを要求しますが、フロッピー ディスクが接続されていない場合、コントローラは信号が返ってくるのを待ってしばらく停止し、オペレーティング システムがフリーズしたように見えます。オペレーティング システムはこのプロセスを制御できないため、フリーズを回避する方法はありませんでした。

その理由は、フロッピー ドライブのハードウェアは、ハードウェアが非常に高価だった 1970 年代にまで遡るからです。フロッピーが存在しないかどうかを検出する機能をチップに追加するには、単純にコストがかかりすぎたため、コスト効率を維持するために、常にフロッピー ディスクが存在するものと想定していました。そのため、BIOS で実際に存在するフロッピー ディスク ドライブを指定する必要がありました。IBM フロッピー ドライブのハードウェア標準を変更すると、さまざまなオペレーティング システムとの互換性が失われるため、このレガシー ハードウェアの側面はフロッピー ディスクの寿命を通じて存続しました。

答え2

通常、BIOS でフロッピー シークが無効になっている場合、私の知る限り問題は発生しません。私が作業した多くのコンピューターでは、存在しないフロッピー ドライブによって発生したエラーは、BIOS で変更することで修正されました。

関連情報