
У меня есть вопрос, который меня мучает с тех пор, как моя первая ОС зависла из-за попытки прочитать дискету с несуществующего привода. Зачем операционные системы вообще пытаются это сделать? Разве они не могут обнаружить отсутствие привода, подключенного к материнской плате?
решение1
Работа старых дисководов напрямую не контролировалась ОС, а скорее специализированным оборудованием, называемым контроллером дискет. Операционная система запрашивала чтение с дискеты с помощью контроллера дискет, и если дискета не была подключена, контроллер довольно долго простаивал в ожидании сигнала, из-за чего операционная система казалась зависшей. Операционная система не могла контролировать этот процесс, и, таким образом, не было способа избежать его зависания.
Причина этого в том, что оборудование для дисководов гибких дисков в основном берет свое начало в 1970-х годах, в эпоху, когда оборудование было действительно дорогим. Добавление в чип функций для определения отсутствия дискеты было просто слишком дорогим, поэтому он всегда предполагал, что дискета там есть, чтобы оставаться экономически эффективным. Вот почему вам приходилось указывать, какие дисководы гибких дисков фактически присутствовали в BIOS. Этот аспект устаревшего оборудования сохранялся на протяжении всего срока службы дискет, поскольку изменение стандартов оборудования для дисководов IBM нарушило бы совместимость с различными операционными системами.
решение2
Обычно я не знаю ни о какой проблеме, если в BIOS отключен поиск дискеты. На многих компьютерах, с которыми я работал, ошибка, вызванная несуществующим дисководом, была исправлена путем его изменения в BIOS.