"Төхөөрөмжийн драйвэр"-ны өөр хувилбарууд

 
==Зорилго==
Төхөөрөмжийн драйверууд нь [[тоног төхөөрөмж]] болон хэрэглээний програмууд, үйлдлийн системүүдийг ажиллахад хооронд нь орчуулагч холбогчийн үүрэг гүйцэтгэн ажилладаг хялбаршуулсан програм юм. Програмистууд эцсийн хэрэглэгчид ашиглахад зориулсан ямар ч техник хангамжийн програмын дээд түвшний код бичиж болно. Жишээ нь: өндөр түвшний програм "өгөгдлийг хүлээн авах", "өгөгдлийг илгээх" хоёр төрлийн үйл ажиллагаатай serial port-той харилцан үйлчлэлцэнэ. Доод түвшинд, төхөөрөмжийн драйвер нь хэрэглэгчийн компьютер дээр суулгасан тухайн serial port хянагчтай харилцах үйл ажиллагааг хэрэгжүүлнэ. 16550 UART-ыг удирдахад шаардсан комманд нь FTDI serial port хөрвүүлэгчийг удирдахад шаардсан коммандаас маш их ялгаатай хэдий software interface-тэй адилхан хийсвэр зүйл юм.
 
== Хөгжүүлэлт ==
Төхөөрөмжийн драйверийг бичих нь өгөгдсөн platform-ийн үйл ажиллагаанд техник хангамж болон [[програм хангамж]]ыг хэрхэн ажиллуулах талаар гүнзгий ойлголтыг шаарддаг. Учир нь драйверүүд нь техник хангамжуудыг ажиллуулахын тулд бага түвшиний хандалтыг шаарддаг, маш давуу эрхтэй орчинд ажилладаг ба буруу ажиллах юм бол гэмтэх аюултай. Орчин үеийн үйлдлийн системтэй програмууд нь системийн нөлөөлөлгүйгээр зогсдог. Хэрвээ төхөөрөмж алдаатай програмчлагдсан бол user mode гүйцэтгэж байгаа драйвер нь системийг сүйрүүлж болох юм. Эдгээр зүйлс нь илүү хүнд хэцүү, аюултай асуудлуудыг шийдвэрлэдэг. Драйверуудыг бичих нь програм хангамжийг хөгжүүлж буй компаниудад ажилладаг software engineers, computer engineer-үүдийг багасгаж байна. Учир нь тэд техник хангамжийн загварын талаар мэдээлэл ихтэй байдаг. Түүнээс гадна техник хангамж үйлдвэрлэгчид нь бүтээгдэхүүндээ баталгаа гаргаж өгсөнөөр хэрэглэгчид тэдний техник хангамжуудыг хэрэглэх сонирхол нэмэгдэх юм. physical device driver (PDD)-ыг төхөөрөмж борлуулагчид хэрэглэж байхад logical device driver (LDD)-ыг үйлдэлийн системийн борлуулагчид бичдэг. Гэвч сүүлийн жилүүдэд non-vendors олон тооны төхөөрөмжийн драйвер бичсэн ба голдуу free and open source operating systems хэрэглэж байна. Ийм тохиолдолд техник хангамж үйлдвэрлэгчид төхөөрөмжтэй хэрхэн харьцах талаар мэдээллээр хангаж байх нь чухал юм. Энэ мэдээлэл нь reverse engineering сурахын оронд байж болох ч програм хангамжаас техник хангамжийн хувьд хэцүү юм.
11

edits