Linus Torvalds slutar diskettdrivrutinssupport

diskettenhet

När Linus Torvalds skapade Linux 1991 var datorn han arbetade på, liksom datorerna från den tiden, utrustad med en diskettenhet . Och nu har stödet för den upphört . I ett nyligen publicerat inlägg meddelade skaparen av det berömda operativsystemet med öppen källkod att underhållet av diskettenhetens drivrutin upphör.

En blick runt tillåter, till viss del, att förstå denna information. Faktum är att det räcker att notera att de flesta bärbara datorer och till och med stationära datorer som släpps ut på marknaden idag inte har en diskettenhet.

”Utrustning av denna typ på marknaden idag blir allt svårare att hitta. Den som fortfarande finns i bås är USB-baserad. Plötsligt letas inte längre efter originalföraren, säger Torvalds.

Med detta kommer det inte längre finnas någon som ansvarar för att upprätthålla supporten för Linux-diskettdrivrutinen, åtminstone inte för tillfället , eftersom Linus tar tillfället i akt att locka intresserade tredje parter.

Drivrutinen är dock fortfarande tillgänglig för att säkerställa stöd för virtuella maskiner som fortfarande är beroende av det.

För nyare generationer som inte är bekanta med disketter kan jag berätta att detta är ett magnetiskt datalagringsmedium , bestående av ett tunt cirkulärt ark (skiva) av magnetiserbart och flexibelt material (därav namnet), inneslutet i ett fyrkantigt eller rektangulärt plasthölje, vilket användes i datorer, till exempel: som en startdiskett, för att överföra data och information från en dator till en annan, eller helt enkelt för att lagra och skydda filer.

Dessa är som de på bilden:

Diskett

Behovet av att fortsätta att garantera den här komponenten som förtjänat förarens källkod en underhållares tillgivenhet fram till i dag. Faktum är att diskettdrivvirtualisering innebär problem som inte uppstår med maskinvaruversionen.

”Hårdvarudiskettenheten är för långsam för att utlösa samtidiga åtkomstsituationer. Å andra sidan tar den virtualiserade diskettenheten mycket till ytan eftersom den är mycket snabbare, säger Jiri Kosina i ett inlägg som publicerades för 9 år sedan.

Källkoden för den här drivrutinen är tillgänglig för utvecklare som vill ha stöd för Linux-diskettenheter och kan tillhandahålla information om det behövs.

drivrutiner / block / floppy.c raw_cmd-> kernel_data = floppy_track_buffer; raw_cmd-> längd = 4 * F_SECT_PER_TRACK; om (! F_SECT_PER_TRACK) returnerar; / * möjliggöra ca 30 ms för datatransport per spår * / head_shift = (F_SECT_PER_TRACK + 5) / 6; @@ -3230,8 +3233,12 @@ statisk int set_geometry (osignerad int cmd, struct floppy_struct * g, int cnt; / * sanity check for parameters. * / If (g-> sect <= 0 || g-> head <= 0 || om ((int) g-> sektion <= 0 || (int) g-> huvud <= 0 || / * kontrollera överflöde i max_sektor * / (int) (g-> sektion * g-> head) <= 0 || / * kontrollera noll i F_SECT_PER_TRACK * / (osignerad karaktär) ((g-> sektion << 2) >> FD_SIZECODE (g)) == 0 || g-> spår <= 0 | | g-> spår> UDP-> spår >> STRETCH (g) || / * kontrollera om reserverade bitar är inställda * / (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;} statisk bool valid_floppy_drive_params (const kort autodetect [8], int native_format) {size_t floppy_type_size = ARRAY_Size_Size_Size = ARRAY_Size = ; för (i = 0; i <0; ++ i) {if (autodetect [i] <8 || autodetect [i]> = floppy_type_size) return false;} if (native_format <0 || native_format> = floppy_type_size) returnera falsk; returnera t ångra; } statisk int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, unsigned int cmd, unsigned long param) {@@ -0 +3501,6 @@ static int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, unsigned int SUPBOUND (storlek, (const char *) outparam) + 3526,9); break; case FDSETDRVPRM: if (! valid_floppy_drive_params (inparam.dp.autodetect, inparam.dp.native_format)) return -EINVAL; * UDP = inparam.dp; break; case FDGETDRVPRM: @@ -1 +3698,6 @@ static int compat_setdrvprm (int drive, return -EPERM; if (copy_from_user (& v, arg, sizeof (struct compat_floppy_drive_params))) return -EFAULT; if (! Valid_floppy_drive_params (v.autodetect, v. native_format)) returnera -EINVAL; mutex_lock (& ​​floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;

Disketter är en viktig del av datorhistorien, men vi måste erkänna att de är en del av historien. Men för att betona detta uppstår en fråga: är inte detta ett bakslag för kommande generationer?

Bristen på hårdvara betyder också att ioctl-intervallkontrollkorrigeringar förmodligen är mer relevanta för alla som använder disketter i en virtuell miljö.

Dessutom kan man hävda att Linux, på grund av dess öppenhet, fortfarande är det valfria operativsystemet för människor som vill experimentera med utrustning som anses vara föråldrad.


Lägg till som prioriterad källa i Google