LinusTorvaldsがフロッピードライブドライバのサポートを終了

フロッピードライブ

Linus Torvaldsが1991年にLinuxを作成したとき、彼が使用していたコンピューター そのようなもの 時代はフロッピードライブが装備されていました。 Y これに対するサポートは終了しました。 最近の出版物で、有名なオープンソースオペレーティングシステムの作成者がフロッピードライブのドライバメンテナンスの中止を発表して以来。

一目見れば、この情報メモをある程度理解することができます。 実際、今日市場に出回っているほとんどのラップトップやデスクトップコンピュータでさえ、フロッピードライブを備えていないことに注意するだけで十分です。

「今日市場に出回っているこのタイプの機器を見つけるのはますます困難になっています。 屋台でまだ利用できるのはUSBベースです。 突然、元のドライバーは検索されなくなりました」とトーバルズは言います。

それと共に サポートの維持を担当する人はもういません Linux用のフロッピーディスクドライバの場合、 少なくとも今のところLinusは、関心のあるサードパーティを引き付ける機会を利用しています。

ただし、ドライバーは引き続き使用可能であり、引き続きそれに依存する仮想マシンを確実にサポートします。

フロッピーディスクを知らない新世代向け またはフロッピーディスク これは磁気式のデータ記憶媒体だと言えます、磁化可能で柔軟な材料(その名前の由来)の薄い円形シート(ディスク)で形成され、正方形または長方形のプラスチックカバーで囲まれ、コンピュータで使用されました。たとえば、ブートディスク、データや情報の転送に使用されます。あるコンピュータから別のコンピュータへ、または単にファイルを保存して保護するため。

これらは写真のもののようなものです:

フロッピーディスク

 

ドライバーのソースコードを獲得したこのコンポーネントを、今日までメンテナーの愛情を保証し続ける必要があります。 事実、フロッピードライブの仮想化は、ハードウェアバージョンでは発生しない問題を引き起こします。

「ハードウェアフロッピードライブは遅すぎて、同時アクセス状況をトリガーできません。 一方、仮想化されたフロッピードライブは、はるかに高速であるため、表面に多くのことをもたらします」と、9年前に公開された投稿でJiriKosina氏は述べています。

このドライバーのソースコードが利用可能です Linuxフロッピードライブのサポートが必要な開発者向けで、必要に応じて情報を提供します。

ドライバー/ブロック/floppy.c raw_cmd-> kernel_data = floppy_track_buffer; raw_cmd->長さ= 4 * F_SECT_PER_TRACK; if(!F_SECT_PER_TRACK)return; / *トラックごとのデータ転送に約30msを許可します* / head_shift =(F_SECT_PER_TRACK + 5)/ 6; @@ -3230,8 +3233,12 @@ static int set_geometry(unsigned int cmd、struct floppy_struct * g、int cnt; / *パラメータの健全性チェック。* / If(g-> sect <= 0 || g-> head <= 0 || if((int)g-> sect <= 0 ||(int)g-> head <= 0 || / * max_sectorのオーバーフローをチェック* /(int)(g-> sect * g-> head)<= 0 || / * F_SECT_PER_TRACKのゼロをチェック* /(unsigned char)((g-> sect << 2)>> FD_SIZECODE(g))== 0 || g->トラック<= 0 | | g->トラック> UDP->トラック>> STRETCH(g)|| / *予約ビットが設定されているかどうかを確認します* /(g->ストレッチ&〜(FD_STRETCH | FD_SWAPSIDES | FD_SECTBASEMASK))!= 0)@@- 3375,6 +3382,24 @@ static 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_size = ARRAY_SIZE = ARRAY_SIZE(floppy_type); = 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)falseを返します; tを返しますrue; } 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 mode、unsigned int SUPBOUND(size、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; case FDGETDRVPRM: @@ -3698,6 +3726,8 @@ 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))return -EINVAL; mutex_lock(&floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;

フロッピーディスクは、コンピュータの歴史の重要な部分です。 しかし、私たちはそれらが歴史の一部であることを認めなければなりません。 しかし、強調するために、疑問が生じます:これは将来の世代のための捻挫ではありませんか?

ハードウェアがないということは、仮想環境でフロッピーディスクを使用している人にとっては、ioctl範囲チェックの修正がおそらくより適切であることを意味します。

さらに、Linuxはそのオープン性のために、時代遅れと見なされている機器で実験したい人々にとって依然として最適なオペレーティングシステムであると主張することができます。


記事の内容は、次の原則に準拠しています。 編集倫理。 エラーを報告するには、 ここで.

コメントを最初に

コメントを残す

あなたのメールアドレスが公開されることはありません。

*

*

  1. データの責任者:MiguelÁngelGatón
  2. データの目的:SPAMの制御、コメント管理。
  3. 正当化:あなたの同意
  4. データの伝達:法的義務がある場合を除き、データが第三者に伝達されることはありません。
  5. データストレージ:Occentus Networks(EU)がホストするデータベース
  6. 権利:いつでも情報を制限、回復、削除できます。