Linus Torvalds inogumisa floppy drive driver rutsigiro

floppy dhiraivha

Linus Torvalds paakagadzira Linux muna 1991, komputa yaaishanda nayo sezvakaita izvo nguva yaive yakagadzirirwa floppy drive. Y zvino tsigiro yeizvi yasvika kumagumo. Sezvo mubhuku razvino mugadziri weanozivikanwa sosi yakavhurwa sisitimu yekushambadzira anozivisa kumiswa kwekuchengetedzwa kwemutyairi wemadhiropu.

Kutarisa kwakatenderedza kunotendera, kune imwe nhanho, kuti unzwisise iyi chinyorwa chinyorwa. Muchokwadi, zvakaringana kucherechedza kuti mazhinji malaptops uye kunyange makomputa edesktop anoisa pamusika nhasi haana floppy drive.

“Midziyo yerudzi urwu pamusika nhasi iri kuramba ichinetsa kuwana. Iyo iyo ichiri kuwanikwa mumatanga ndeye USB-yakavakirwa. Pakarepo mutyairi wepakutanga haachazotsvagwa, ”anodaro Torvalds.

Nayo hakuchazovapo mumwe munhu anotarisira kuchengetedza rutsigiro ye floppy disk mutyairi weLinux, Zvirinani izvozvisezvo Linus iri kutora mukana wekukwezva vanofarira vechitatu mapato.

Nekudaro, mutyairi anoramba aripo kuti ave nechokwadi chekutsigirwa kwemuchina chaiwo uyo uchiri kutsamira pauri.

Kune zvizvarwa zvitsva izvo zvisingazive nezve floppy disks kana floppy disk Ini ndinogona kukuudza kuti iyi iri yemagineti mhando dhata yekuchengetedza svikiro, Yakaumbwa netete rakatetepa jira (dhisiki) remagineti inogadzikana uye inoshanduka (nekudaro zita rayo), yakavharirwa mupurasitiki, yakaenzana kana yakatetepa, yaishandiswa mukombuta, semuenzaniso: yebhutsu disk, kuendesa data uye ruzivo kubva kune imwe komputa kuenda kune imwe, kana kungo chengeta uye kuchengetedza mafaera

Aya akafanana neaya ari mumufananidzo.

floppy_disk

Iko kudikanwa kwekuenderera nekuvimbisa ichi chikamu chakawana mutyairi kodhi kodhi kodhi rudo rwemuchengeti kusvikira nhasi. Icho chokwadi ndechekuti floppy drive virtualization inounza matambudziko asingamuke neiyo vhezheni ye Hardware.

“Hardware yedhiraivha inononoka kukonzeresa kusangana panguva imwe chete. Kune rimwe divi, iyo floppy drive yakakwenenzverwa inounza zvakawanda pamusoro nekuti inokurumidza zvikuru, "anodaro Jiri Kosina muchinyorwa chakaburitswa makore mapfumbamwe apfuura.

Kodhi yekodhi yemutyairi uyu inowanikwa yevagadziri vanoda Linux floppy drive rutsigiro uye vape ruzivo kana zvichidikanwa.

madhiraivha / block / floppy.c raw_cmd-> kernel_data = floppy_track_buffer; mbichana_cmd-> kureba = 4 * F_SECT_PER_TRACK; kana (! F_SECT_PER_TRACK) kudzoka; / * bvumidza angangoita makumi matatu ema data ekufambisa kwedata parimwe nzira @@ -30 +5 @@ static int set_geometry (unsigned int cmd, struct floppy_struct * g, int cnt; / * sanity kutarisa ma parameter. * / Kana (g-> sect <= 6 || g-> musoro <= 3230,8 || kana ((int) g-> sekete <= 3233,12 || (int) g-> musoro <= 0 || / * tarisa kufashukira mu max_sector * / (int) (g-> sect * g-> musoro) <= 0 || / * tarisa zero mu F_SECT_PER_TRACK * / (unsigned char) ((g-> sect << 0) >> FD_SIZECODE (g)) == 0 || g-> track <= 0 | | g-> track> UDP-> tracks >> STRETCH (g) || / * tarisa kana mabheti akachengetwa akaiswa * / (g-> kutambanudza & ~ (FD_STRETCH | FD_SWAPSIDES | FD_SECTBASEMASK))! = 2) @@ - 0 +0 @@ static int fd_getgeo (struct block_device * bdev, struct hd_geometry * geo) dzoka 0;} static bool valid_floppy_drive_params (const short autodetect [3375,6], int native_format) {size_t floppy_type_size = ARRAY_SI; ; for (i = 3382,24; i <0; ++ i) {if (autodetect [i] <8 || autodetect [i]> = floppy_type_size) dzoka nhema;} kana (native_format <0 || native_format> = floppy_type_size) dzoka nhema; dzoka t rue; } static int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, unsigned int cmd, unsigned long param) {@@ -0 +8 @@ static int fd_locked_ioctl (struct block_device * bdev, fmode_t mode, unsigned int SUPBOUND (size, size, (const char *) outparam) + 0); break; kesi FDSETDRVPRM: if (! valid_floppy_drive_params (inparam.dp.autodetect, inparam.dp.native_format)) kudzoka -EINVAL; * UDP = inparam.dp; break; kesi FDGETDRVPRM: @@ -0 +3501,6 @@ static int compat_setdrvprm (int drive, return -EPERM; if (copy_from_user (& v, arg, sizeof (struct compat_floppy_drive_params))) kudzoka -EFAULT; kana (! Valid_floppy_drive_params (v.autodetect,. native_format)) kudzoka -EINVAL; mutex_lock (& ​​floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;

Floppy disks chikamu chakakosha munhoroondo yemakomputa, asi isu tinofanirwa kubvuma kuti ivo chikamu chenyaya. Asi, kusimbisa, mubvunzo unomuka: ichi hachisi chipenga chezvizvarwa zvinotevera?

Kushaikwa kwe Hardware zvakare kunoreva kuti ioctl renji yekutarisa zvigadziriso zvingangonyanya kukosha kune chero munhu anoshandisa mafiripisi munzvimbo chaiyo.

Uyezve, zvinogona kupikiswa kuti, nekuda kwekuvhurika kwayo, Linux ichiri sisitimu yekushandisa yesarudzo kune vanhu vanoda kuyedza pamidziyo inoonekwa seyakare.


Siya yako yekutaura

Your kero e havazobvumirwi ichibudiswa. Raida minda anozivikanwa ne *

*

*

  1. Inotarisira iyo data: Miguel Ángel Gatón
  2. Chinangwa cheiyo data: Kudzora SPAM, manejimendi manejimendi.
  3. Legitimation: Kubvuma kwako
  4. Kutaurirana kwedata
  5. Dhata yekuchengetedza: Dhatabhesi inobatwa neOccentus Networks (EU)
  6. Kodzero: Panguva ipi neipi iwe unogona kudzora, kupora uye kudzima ruzivo rwako