Linus Torvalds termina o suporte ao driver da unidade de disquete

unidade de disquete

Quando Linus Torvalds criou o Linux em 1991, o computador com o qual estava trabalhando como aqueles daquele era foi equipado com uma unidade de disquete. Y agora o suporte para isso chegou ao fim. Já que em uma publicação recente o criador do famoso sistema operacional open source anuncia a descontinuação da manutenção de drivers para unidades de disquete.

Uma olhada ao redor permite, até certo ponto, entender esta nota informativa. Na verdade, é suficiente observar que a maioria dos laptops e até mesmo os desktops colocados no mercado hoje não possuem unidade de disquete.

“Equipamentos desse tipo no mercado hoje estão cada vez mais difíceis de encontrar. O que ainda está disponível nas barracas é baseado em USB. De repente, o driver original não é mais revistado ”, diz Torvalds.

Com ele não haverá mais alguém encarregado de manter o suporte para o driver de disquete para Linux, Pelo menos por enquantopois a Linus está aproveitando a oportunidade para atrair terceiros interessados.

Porém, o driver permanece disponível para garantir o suporte das máquinas virtuais que ainda dependem dele.

Para as novas gerações que não sabem sobre disquetes ou disquete Posso dizer que este é um meio de armazenamento de dados do tipo magnético, formada por uma fina folha circular (disco) de material magnetizável e flexível (daí seu nome), envolta em uma capa de plástico, quadrada ou retangular, que foi usada no computador, por exemplo: para disco de boot, para transferência de dados e informações de um computador para outro, ou simplesmente para armazenar e proteger arquivos.

São como os da imagem:

Disquete

A necessidade de continuar garantindo esse componente que até hoje rendeu ao código-fonte do driver o carinho de um mantenedor. O fato é que a virtualização da unidade de disquete apresenta problemas que não surgem com a versão do hardware.

“A unidade de disquete de hardware é muito lenta para acionar situações de acesso simultâneo. Por outro lado, a unidade de disquete virtualizada traz muito à tona porque é muito mais rápida ”, disse Jiri Kosina em um post publicado há 9 anos.

O código-fonte deste driver está disponível para desenvolvedores que desejam suporte para unidade de disquete Linux e fornecem informações, se necessário.

drivers / block / floppy.c raw_cmd-> kernel_data = floppy_track_buffer; raw_cmd-> length = 4 * F_SECT_PER_TRACK; if (! F_SECT_PER_TRACK) return; / * permite cerca de 30ms para transporte de dados por trilha * / 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; / * verificação de sanidade para parâmetros. * / If (g-> sect <= 0 || g-> head <= 0 || if ((int) g-> seita <= 0 || (int) g-> cabeça <= 0 || / * verificar se há estouro em max_setor * / (int) (g-> seita * g-> head) <= 0 || / * verifique se há zero em F_SECT_PER_TRACK * / (unsigned char) ((g-> sect << 2) >> FD_SIZECODE (g)) == 0 || g-> track <= 0 | | g-> track> UDP-> tracks >> STRETCH (g) || / * verifique se os bits reservados estão definidos * / (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) return 0;} bool estático valid_floppy_drive_params (const short autodetect [8], int native_format) {size_t floppy_type_size = ARRAY_SIZE (floppy_tipo_tamanho = 0); ; para (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) retornar falso; retornar t arruda; } static int fd_locked_ioctl (struct block_device * bdev, modo fmode_t, unsigned int cmd, unsigned long param) {@@ -3501,6 +3526,9 @@ static int fd_locked_ioctl (struct block_device * bdev, modo fmode_t, 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;

Os disquetes são uma parte essencial da história dos computadores, mas devemos admitir que eles fazem parte da história. Mas, para sublinhar, surge uma pergunta: isso não é uma torção para as gerações futuras?

A falta de hardware também significa que as correções de verificação de alcance do ioctl são provavelmente mais relevantes para qualquer pessoa que use disquetes em um ambiente virtual.

Além disso, pode-se argumentar que, devido à sua abertura, o Linux ainda é o sistema operacional de escolha para quem deseja experimentar em equipamentos considerados desatualizados.


Deixe um comentário

Seu endereço de email não será publicado. Campos obrigatórios são marcados com *

*

*

  1. Responsável pelos dados: Miguel Ángel Gatón
  2. Finalidade dos dados: Controle de SPAM, gerenciamento de comentários.
  3. Legitimação: Seu consentimento
  4. Comunicação de dados: Os dados não serão comunicados a terceiros, exceto por obrigação legal.
  5. Armazenamento de dados: banco de dados hospedado pela Occentus Networks (UE)
  6. Direitos: A qualquer momento você pode limitar, recuperar e excluir suas informações.