Linus Torvalds结束了对软驱驱动程序的支持

软盘驱动器

当Linus Torvalds在1991年创建Linux时,他使用的计算机 像那个 时代配备了软盘驱动器。 Ÿ 现在对此的支持已经结束。 自从在最近的出版物中,著名的开源操作系统的创建者宣布不再维护软盘驱动器时。

扫一眼可以在某种程度上了解此信息说明。 实际上,足以注意到当今市场上出售的大多数笔记本电脑甚至台式计算机都没有软​​盘驱动器。

“当今市场上这种类型的设备越来越难找到。 这些摊位中仍然可用的是基于USB的。 “突然不再搜索原始驱动程序,” Torvalds说。

有了它 不再会有人负责维持支持 对于Linux的软盘驱动程序, 至少暂时Linus借此机会吸引了感兴趣的第三方。

但是,该驱动程序仍然可用,以确保仍依赖该驱动程序的虚拟机得到支持。

对于不知道软盘的新世代 或软盘 我可以告诉你这是磁性类型的数据存储介质由可磁化的柔性材料的圆形薄板(磁盘)(因此得名)形成,并封装在方形或矩形的塑料盖中,该盖用于计算机中,例如:用于引导盘,用于传输数据和信息从一台计算机传输到另一台计算机,或者仅仅是为了存储和保护文件。

这些就像图片中的那些:

软盘

直到今天,仍需要继续保证已经为驾驶员的源代码赢得维护者青睐的该组件。 事实是,软盘驱动器虚拟化带来了硬件版本不会出现的问题。

“硬件软盘驱动器太慢,无法触发并发访问情况。 另一方面,虚拟化的软盘驱动器由于速度更快而浮出水面,” Jiri Kosina在9年前发表的一篇文章中说。

该驱动程序的源代码可用 适用于需要Linux软盘驱动器支持并在需要时提供信息的开发人员。

驱动程序/块/ floppy.c raw_cmd-> kernel_data = floppy_track_buffer; raw_cmd->长度= 4 * F_SECT_PER_TRACK; 如果(!F_SECT_PER_TRACK)返回; / *每条轨道大约需要30ms的数据传输时间* / head_shift =(F_SECT_PER_TRACK + 5)/ 6; @@ -3230,8 +3233,12 @@静态int set_geometry(无符号int cmd,结构floppy_struct * g,int cnt; / *参数的完整性检查。* / If(g-> sect <= 0 || g- > head <= 0 || if((int)g->宗派<= 0 ||(int)g-> head <= 0 || / *检查max_sector中的溢出* /(int)(g->宗派* g->头)<= 0 || / *在F_SECT_PER_TRACK中检查零* /(无符号字符)((g-> sect << 2)>> FD_SIZECODE(g))== 0 || g->轨道<= 0 || g->轨道> UDP->轨道>> STRETCH(g)|| / *检查是否设置了保留位* /(g-> Stretch&〜(FD_STRETCH | FD_SWAPSIDES | FD_SECTBASEMASK))!= 0 )@@ -3375,6 +3382,24 @@ static int fd_getgeo(struct block_device * bdev,struct hd_geometry * geo)返回0;}静态布尔值valid_floppy_drive_params(const short autodetect [8],int native_format) (floppy_type); size_t i = 0; for(i = 0; i <8; ++ i){if((autodetect [i] <0 || autodetect [i]> = floppy_type_size)返回false;}如果(native_format < 0 || native_format> = floppy_type_size)返回false;返回t 后悔; } static int fd_locked_ioctl(struct block_device * bdev,fmode_t mode,unsigned int cmd,unsigned long param){@@ -3501,6 +3526,9 @@ static int fd_locked_ioctl(struct block_device * bdev,fmode_t模式,unsigned int SUPBOUND( size,strlen((const char *)outparam)+1);中断;大小写FDSETDRVPRM:if(!valid_floppy_drive_params(inparam.dp.autodetect,inparam.dp.native_format))return -EINVAL; * UDP = inparam.dp;中断; case FDGETDRVPRM:@@ -3698,6 +3726,8 @@ static int compat_setdrvprm(int drive,返回-EPERM; if(copy_from_user(&v,arg,sizeof(struct compat_floppy_drive_params)))返回-EFAULT; if(!valid_floppy_drive_params (v.autodetect,v.native_format))返回-EINVAL;互斥锁(&floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;

软盘是计算机历史的重要组成部分, 但是我们必须承认它们是历史的一部分。 但是,要强调的是,出现了一个问题:这不是对后代的扭伤吗?

缺少硬件还意味着ioctl范围检查修复程序可能与在虚拟环境中使用软盘的任何人都更相关。

另外,可以说,由于Linux的开放性,它仍然是想要在过时的设备上进行实验的人们的首选操作系统。


成为第一个发表评论

发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。