Linus Torvalds нь уян дискний драйверын дэмжлэгийг дуусгадаг

уян диск

Линус Торвалдс 1991 онд Линукс бүтээхэд түүнтэй хамтран ажиллаж байсан компьютер үүнтэй адил эрин уян дискээр тоноглогдсон байвБайна. Я одоо үүнийг дэмжиж дууслаа. Алдарт нээлттэй эхийн үйлдлийн системийн бүтээгч саяхан хэвлэгдсэн нийтлэлдээ уян диск хөтчийн засвар үйлчилгээг зогсоосноо зарлалаа.

Эргэн тойрон харах нь энэхүү мэдээллийн тэмдэглэлийг тодорхой хэмжээгээр ойлгох боломжийг олгодог. Үнэн хэрэгтээ, өнөөдөр зах зээл дээр гарч буй ихэнх зөөврийн компьютерууд, тэр ч байтугай ширээний компьютерууд нь уян диск хөтөчгүй байдаг гэдгийг тэмдэглэх нь хангалттай юм.

“Өнөөдөр ийм төрлийн тоног төхөөрөмжийг зах зээл дээр олоход улам бүр хэцүү болж байна. Одоо лангуун дээр байгаа нь USB-д суурилсан хувилбар юм. Гэнэт анхны драйверыг хайхаа больсон ”гэж Торвалдс хэлэв.

Тэр нь дэмжлэгийг хадгалах үүрэгтэй хүн байхаа болино Линуксийн уян дискний драйверын хувьд Ядаж л нэг хоромЛинус энэ боломжийг ашиглан сонирхсон гуравдагч этгээдийг татах гэж байна.

Гэсэн хэдий ч драйвер нь үүнээс хамааралтай виртуал машинуудын дэмжлэгийг хангах боломжтой хэвээр байна.

Уян дискний талаар мэдэхгүй шинэ үеийнхэнд зориулав эсвэл уян диск Энэ бол соронзон төрлийн өгөгдөл хадгалах хэрэгсэл гэдгийг би хэлж чадна, соронзон, уян хатан материалын (иймээс ийм нэртэй) нимгэн дугуй хуудас (диск) -ээр бүрдсэн, хуванцар бүрхүүлд дөрвөлжин, тэгш өнцөгт хэлбэрээр хавсаргасан, компьютерт ашигласан, жишээ нь: ачаалах дискэнд, өгөгдөл, мэдээлэл дамжуулахад нэг компьютерээс нөгөөд шилжүүлэх, эсвэл файл хадгалах, хамгаалах.

Эдгээр нь зурган дээрхтэй адил юм:

Уян диск

 

Жолоочийн эх кодыг өнөөдрийг хүртэл хамгаалагчийн хайр энэрлийг олсон энэхүү бүрэлдэхүүн хэсгийг үргэлжлүүлэн баталгаажуулах шаардлагатай байна. Үнэн хэрэгтээ уян дискийг виртуалчлах нь техник хангамжийн хувилбартай холбоотой асуудал үүсгэдэггүй явдал юм.

“Тоног төхөөрөмжийн уян диск драйвер нь нэвтрэх нөхцөл байдлыг өдөөхөд хэтэрхий удаан байдаг. Нөгөөтэйгүүр, виртуалчлагдсан уян диск нь илүү хурдан тул гадаргуу дээр маш их зүйлийг авчирдаг "гэж Жири Косина 9 жилийн өмнө нийтэлсэн нийтлэлдээ дурджээ.

Энэ драйверын эх код боломжтой Линуксийн уян дискний дэмжлэгийг хүсч, шаардлагатай бол мэдээлэл өгөхийг хүсч буй хөгжүүлэгчдэд зориулав.

драйверууд / block / floppy.c raw_cmd-> kernel_data = floppy_track_buffer; түүхий_смд-> урт = 4 * F_SECT_PER_TRACK; хэрэв (! F_SECT_PER_TRACK) буцах; / * Нэг зам дээр өгөгдөл тээвэрлэхэд 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 || хэрэв ((int) g-> sect <= 0 || (int) g-> head <= 0 || / * max_sector * / (int) (g-> sect * g-> толгой) <= 0 || / * F_SECT_PER_TRACK * / (unsigned char) ((g-> sect << 2) >> FD_SIZECODE (g)) == 0 || g-> track <= 0 | | g-> track> UDP-> tracks >> STRETCH (g) || / * нөөцлөгдсөн битүүдийг тохируулсан эсэхийг шалгах * / (g-> stretch & ~ (FD_STRETCH | FD_SWAPSIDES | FD_SECTBASEMASK))! = 0) @@ - 3375,6 +3382,24 @@ статик INT fd_getgeo (бүтцийг block_device * bdev, бүтцийг hd_geometry * гео) өгөөж 0;} статик bool valid_floppy_drive_params (Const богино автоматаар танихын [8], INT native_format) {size_t floppy_type_size = ARRAY_SIZE = ARRAY_SIZE (floppy_type); size_t би = 0; for (i = 0; i <8; ++ i) {if (autodetect [i] <0 || autodetect [i]> = floppy_type_size) return return false;} if (native_format <0 || native_format> = floppy_type_size) return false; return 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 SUPBENND (size, size (const char *) outparam) + 1); завсарлага; case FDSETDRVPRM: if (! valid_floppy_drive_params (inparam.dp.autodetect, inparam.dp.native_format)) return -EINVAL; * UDP = inparam.dp; break; case FDGETDRVM: @@ -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.autod) native_format)) return -EINVAL; mutex_lock (& ​​floppy_mutex); UDP-> cmos = v.cmos; UDP-> max_dtr = v.max_dtr;

Уян диск нь компьютерийн түүхийн чухал хэсэг, гэхдээ тэд түүхийн нэг хэсэг гэдгийг бид хүлээн зөвшөөрөх ёстой. Гэхдээ доогуур нь зурвал нэг асуулт урган гарч ирж байна: энэ бол хойч үедээ өвдөж байгаа юм биш үү?

Тоног төхөөрөмжийн дутагдал нь ioctl мужийг засах засварууд нь виртуал орчинд уян диск ашигладаг хүмүүст илүү хамаатай байж магадгүй юм.

Цаашилбал, Линукс нь нээлттэй байдлаасаа болоод хуучирсан гэж үзсэн тоног төхөөрөмж дээр туршилт хийх хүсэлтэй хүмүүсийн үйлдлийн систем хэвээр байна гэж маргаж болох юм.


Нийтлэлийн агуулга нь бидний зарчмуудыг баримталдаг редакцийн ёс зүй. Алдааны талаар мэдээлэхийн тулд товшино уу энд байна.

Сэтгэгдэл бичих эхний хүн бай

Сэтгэгдэлээ үлдээгээрэй

Таны и-мэйл хаяг хэвлэгдсэн байх болно. Шаардлагатай талбарууд нь тэмдэглэгдсэн байна *

*

*

  1. Мэдээллийг хариуцах: Мигель Анхель Гатан
  2. Мэдээллийн зорилго: СПАМ-ыг хянах, сэтгэгдлийн менежмент.
  3. Хууль ёсны байдал: Таны зөвшөөрөл
  4. Мэдээллийн харилцаа холбоо: Хуулийн үүргээс бусад тохиолдолд мэдээллийг гуравдагч этгээдэд дамжуулахгүй.
  5. Өгөгдөл хадгалах: Occentus Networks (ЕХ) -с зохион байгуулсан мэдээллийн сан
  6. Эрх: Та хүссэн үедээ мэдээллээ хязгаарлаж, сэргээж, устгаж болно.