Zgodovina: Kako je Windows 95 izgubil detekcijo diskete

Matej Huš

6. apr 2009 ob 00:39:14

Ena izmed pogostejših nevšečnosti, ki je pestila uporabnike legendarnega Windows 95, je bil šklepetajoči disketnik. Če je uporabnik odprl kakšno datoteko neposredno z diskete, je Windows spravil njeno bližnjico v nedavno uporabljene dokumente v meniju start, kar počne še danes. Žal je to pomenilo, da je računalnik ob vsakem naslednjem zagonu na silo poskušal prebrati vsebino diskete, pa če je ta bila v pogonu ali pa ne. Podobno se je disketnik oglasil, če je uporabnik poskušal dostopati do diska A:, ko v disketniku ni bilo ničesar. Na MSDN blogu je Microsoft pojasnil, kakšne ideje so imeli z implementacijo detekcije prisotnosti diskete v pogonu.

Oseba, ki je pisala 32-bitni gonilnik za disketnik, je ugotovila, da je s pametno izbranimi ukazi moč ugotoviti, ali je disketa dejansko v pogonu, ne da bi se zavrtela. Žal je imela funkcija lepotno napako, da je delovala na približno polovici pogonov diametralno nasprotno. Disketnik iste serije je vedno vrnil 0 ali 1, odvisno od prisotnosti diskete, ni pa se dalo vnaprej napovedati, kakšen bo odgovor posamezne vrste disketnikov (odgovor je bil torej konsistenten, a ne vnaprej napovedljiv). Inženirji so razmišljali, kaj storiti, in ugotovili, da bi bilo najbolje Windows naučiti, s čim ima opraviti. Ideja je bila, da bi med instalacijo uporabnika pozvali, da vstavi disketo, sistem bi nato izvedel rutino za preverjanje prisotnosti in se naučil, kakšen odgovor vrne dani disketnik, ko je poln.

Kasneje so se odločili, da ta funkcionalnost terja preveliko napora za končnega uporabnika za premalo efekta, tako da so jo črtali. Glavni problem je dejstvo, da disketniki niso podpirali Plug & Play, torej ni bilo mogoče ugotoviti, kdaj je bil uporabljen prvikrat ali morebiti nameščen nov. Prav tako mnogi uporabniki niso nameščali sistema sami, ampak so to za njih storili OEM-i ipd. Je pa zgodba zanimiva z vidika porabljenega truda, ki ga je Microsoft investiral v navidez banalno funkcijo, kot je avtodetekcija diskete. Slashdot.