Pilota de dispositivu

Dae Wikipedia, s'entziclopedia lìbera.
Jump to navigation Jump to search

Flag of Sardinia, Italy.svg
Artìculu in LSC
Flag of Sardinia, Italy.svg

In informàtica, unu pilota de dispositivu (connotu fintzas comente a device driver, o driver isceti) est una protzedura de programma chi manìgiat is dispositivos de un'elaboradore. Est de sòlitu cunsideradu parte de su sistema operativu e tenet sa masione de incumentzare is operatziones de intrada/essida e de nde giùghere s'acabu[1].

Descritzione[modìfica | modìfica su còdighe de orìgine]

Dae su puntu de annotu de s'impitadore de un'elaboradore, su pilota de dispositivu est unu programma frunidu cun unu cale si siat dispositivu collegadu e chi bolet installadu pro ddu fàghere funtzionare. De onni manera, medas sistemas operativos modernos oe sunt bonos a iscarrigare a solos sa parte manna de is pilotas netzessàrios e medas aparatos, comente a telefoneddos e tauleddas, ddos tenent integrados in sa memòria ROM, duncas s'interventu manuale no est netzessàriu in custos casos.

Pro un'isvilupadore de sistemas operativos, est una parte delicada e de importu mannu de su progetu, ca unu pilota chi funtzionat male podet blocare su dispositivu chi manìgiat o fintzas su sistema intreu.

Su pilota de dispositivu est unu programma dislindadu pro cada dispositivu o, in pagos casos comente pro is sòrighes, pro unu tipu de dispositivu. Sa masione sua est a iscrìere e lèghere in e dae is registros de su dispositivu pro ddi imbiare cumandos o pro lèghere datos in intrada o imbiare datos in essida. Gràtzias a is pilotas, su sistema operativu podet frunire a is programmas de s'usuàriu un'interfàtzia indipendente dae is dispositivos, a manera de pòdere impreare perifèricas de sa pròpiu classe de mollos e produtores diferentes (a esempru, un'ischeda video ATI e una nVidia) cun su pròpiu còdighe.[2]

Is pilotas de dispositivu podent èssere impreados fintzas pro pònnere in òpera àteros servitzios de su sistema, comente a protocollos de retze o sistemas de archìviu, chi recherent su suportu de su sistema operativu. Custu acuntessit in Windows[3] e in carchi sistema tipu-UNIX.

In is sistemas operativos traditzionales, comente a UNIX, su pilota de dispositivu est parte de su nùcleu, mancari chi, comente acontesset in Linux[4] e Windows, potzant èssere carrigados a manera dinàmica pro non si dèpere generare unu nùcleu nou onni borta chi unu dispositivu nou depet èssere manigiadu dae su sistema operativu[2]. Sistemas cun unu disinnu prus modernu, comente GNU/Hurd e MINIX chi impreant unu micro-nùcleu e is versiones prus reghentes de Windows, ant iscostiadu is pilotas de dispositivu dae su nùcleu a s'ispàtziu impitadore pro una seguresa majore e pro lassare su nùcleu prus lèbiu.[5][6][7][8]

Esempru de funtzionamentu[modìfica | modìfica su còdighe de orìgine]

Immaginemus chi unu programma bògiat lèghere un'archìviu dae su discu fissu de s'elaboradore. Custu est su chi acontesset in un'elaboradore tìpicu[2]:

  1. Su programma tzèrriat una funtzione de libreria, comente sa fscanf.
  2. Sa funtzione faghet una mutida de sistema, pro pedire a su sistema operativu de acumprire s'operatzione.
  3. Su còdighe indipendente dae su dispositivu de su sistema operativu tzèrriat su pilota de dispositivu.
  4. Su pilota pedit is datos rechertos imbiende is cumandos a s'eletrònica de su discu.
  5. Su protzessu chi abisòngiat de is datos est blocadu mentras su discu ddus chircat.
  6. Cando su discu at finidu, imbiat unu signale de interrutzione a su micro-protzessore.
  7. Su controllu colat a una funtzione de manìgiu de s'interrutzione. Custa iscoberit cale pilota at aviadu s'operatzione de intrada/essida e ddi donat su controllu.
  8. Su pilota de dispositivu leghet is datos dae is registros de s'eletrònica de su discu e ddos passat a su programma chi ddos at pedidos.
  9. Su controllu colat a su programma, chi immoi podet sighire s'esecutzione.

Notas[modìfica | modìfica su còdighe de orìgine]

  1. (EN) Stallings, William, Operating systems: internals and design principles, 6th ed, Pearson, 2009, p. 556, ISBN 978-81-317-2528-3, OCLC 818853058. URL consultadu su 1º abrile 2020.
  2. 2.0 2.1 2.2 (EN) Tanenbaum, Andrew S., Modern operating systems., Fourth edition, pp. 356-369, ISBN 978-0-13-359162-0, OCLC 870646449. URL consultadu su 1º abrile 2020.
  3. (EN) Stallings, William, Operating systems : internals and design principles, 6th ed, Pearson, 2009, p. 84, ISBN 978-81-317-2528-3, OCLC 818853058. URL consultadu su 1º abrile 2020.
  4. (EN) Linux Device Driver Part 1 - Introduction, in EmbeTronicX, 9 austu 2017. URL consultadu su 1º abrile 2020.
  5. (EN) Interface Design: Microkernels, in www.cs.cornell.edu. URL consultadu su 1º abrile 2020.
  6. (EN) user-space device drivers, in GNU Hurd. URL consultadu su 1º abrile 2020.
  7. (EN) Tanenbaum, Andrew S. e Woodhull, Albert S., Operating systems : design and implementation, 3rd ed, Pearson/Prentice Hall, 2006, p. 231, ISBN 0-13-142938-8, OCLC 61859929. URL consultadu su 1º abrile 2020.
  8. (EN) User-mode vs. Kernel-mode Drivers, in Microsoft (archiviadu), 9 martzu 2008. URL consultadu su 1º abrile 2020 (archiviadu dae s'url originale su 9 martzu 2008).
Controllu de autoridadeBNE (ESXX546589 (data) · BNF (FRcb12492202q (data) · GND (DE4185971-6 · LCCN (ENsh93009551 · NDL (ENJA01108739