Da Linus Torvalds skapte Linux i 1991, var datamaskinen han jobbet på, i likhet med datamaskinene fra den tiden, utstyrt med en diskettstasjon . Og nå er støtten for den opphørt . I et nylig innlegg annonserte skaperen av det berømte operativsystemet med åpen kildekode at vedlikeholdet av diskettstasjonsdriveren ble avviklet.
Et blikk rundt lar deg til en viss grad forstå dette informasjonsnotatet. Det er faktisk nok å merke seg at de fleste bærbare datamaskiner og til og med stasjonære datamaskiner som markedsføres i dag, ikke har en diskettstasjon.
“Utstyr av denne typen på markedet i dag blir stadig vanskeligere å finne. Den som fremdeles er tilgjengelig i bodene er USB-basert. Plutselig blir det ikke lenger søkt i den opprinnelige driveren, sier Torvalds.
Med dette vil det ikke lenger være noen som har ansvaret for å opprettholde støtten for Linux-diskettdriveren, i hvert fall ikke foreløpig , ettersom Linus benytter anledningen til å tiltrekke seg interesserte tredjeparter.
Imidlertid er driveren fortsatt tilgjengelig for å sikre støtte fra virtuelle maskiner som fremdeles er avhengige av det.
For nyere generasjoner som ikke er kjent med disketter, kan jeg fortelle at dette er et magnetisk datalagringsmedium , bestående av et tynt, sirkulært ark (disk) av magnetiserbart og fleksibelt materiale (derav navnet), innesluttet i et firkantet eller rektangulært plastdeksel, som ble brukt i datamaskiner, for eksempel: som en oppstartsdisk, for å overføre data og informasjon fra en datamaskin til en annen, eller bare for å lagre og beskytte filer.
Dette er som de på bildet:

Behovet for å fortsette å garantere denne komponenten som har tjent sjåførens kildekode hengivenheten til en vedlikeholder frem til i dag. Faktum er at virtualisering av diskettstasjoner utgjør problemer som ikke oppstår med maskinvareversjonen.
“Diskettstasjonen for maskinvare er for treg til å utløse samtidige tilgangssituasjoner. På den annen side bringer den virtualiserte diskettstasjonen mye til overflaten fordi den er mye raskere, sier Jiri Kosina i et innlegg publisert for 9 år siden.
Kildekoden for denne driveren er tilgjengelig for utviklere som ønsker støtte for Linux-diskettstasjoner, og kan gi informasjon om nødvendig.
drivere / blokk / floppy.c raw_cmd-> kernel_data = floppy_track_buffer; raw_cmd-> lengde = 4 * F_SECT_PER_TRACK; hvis (! F_SECT_PER_TRACK) returnerer; / * tillate omtrent 30 ms for datatransport per spor * / head_shift = (F_SECT_PER_TRACK + 5) / 6; @@ -3230,8 +3233,12 @@ statisk int set_geometry (usignert int cmd, struct floppy_struct * g, int cnt; / * sunnhetssjekk for parametere. * / If (g-> sect <= 0 || g- > hode <= 0 || hvis ((int) g-> sekt <= 0 || (int) g-> hode <= 0 || / * sjekk for overløp i max_sector * / (int) (g-> sect * g-> hode) <= 0 || / * sjekk om null i F_SECT_PER_TRACK * / (usignert tegn) ((g-> sekt << 2) >> FD_SIZECODE (g)) == 0 || g-> spor <= 0 || g-> spor> UDP-> spor >> STRETCH (g) || / * sjekk om reserverte bits er satt * / (g-> stretch & ~ (FD_STRETCH | FD_SWAPSIDES | FD_SECTBASEMASK))! = 0 ) @@ -3375,6 +3382,24 @@ statisk int fd_getgeo (struct block_device * bdev, struct hd_geometry * geo) return 0;} static bool valid_floppy_drive_params (const short autodetect [8], int native_format) {size_t floppy_type_SizeE = AR (floppy_type); size_t i = 0; for (i = 0; i <8; ++ i) {if (autodetect [i] <0 || autodetect [i]> = floppy_type_size) return false;} if (native_format < 0 || native_format> = floppy_type_size) returner false; returner t rue; } statisk int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, usignert int cmd, usignert lang param) {@@ -3501,6 +3526,9 @@ statisk int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, usignert int SUPBOUND ( størrelse, strlen ((const char *) outparam) + 1); break; case FDSETDRVPRM: if (! valid_floppy_drive_params (inparam.dp.autodetect, inparam.dp.native_format)) return -EINVAL; * UDP = inparam.dp; break ; sak FDGETDRVPRM: @@ -3698,6 +3726,8 @@ statisk int compat_setdrvprm (int-stasjon, retur -EPERM; hvis (copy_from_user (& v, arg, sizeof (struct compat_floppy_drive_params))) return -EFAULT; hvis (! valid_floppy_drive_params) (v.autodetect, v.native_format)) return -EINVAL; mutex_lock (& floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;
Disketter er en viktig del av datahistorien, men vi må innrømme at de er en del av historien. For å understreke dette, oppstår imidlertid et spørsmål: er ikke dette et tilbakeslag for fremtidige generasjoner?
Mangelen på maskinvare betyr også at reparasjoner av ioctl-områdekontroll sannsynligvis er mer relevante for alle som bruker disketter i et virtuelt miljø.
Videre kan det hevdes at Linux på grunn av dets åpenhet fremdeles er det valgte operativsystemet for folk som ønsker å eksperimentere på utstyr som anses som foreldet.