Een Linux device driver is significant verschillend van zijn Windows- tegenhanger . Linux drivers zijn gemaakt alleen om een interface aan de hardware . Ze hebben geen aannames te doen over hoe de hardware zal worden gebruikt . Ook zijn ze meestal niet in elke vorm van grafische interfaces voor de hardware . De meeste drivers voor Linux ondersteunde hardware zijn onderdeel van de Linux kernel source tree en worden onderhouden door de ontwikkeling van Linux gemeenschap . Functie functie Een stuurprogramma is om toegang tot een stuk hardware te bieden . In Windows , wordt dit gedaan door middel van de Application Binary Interface ( ABI ) noemt die Microsoft biedt aan de bestuurder ontwikkelaar. De device driver voor Windows wordt vervolgens aan de gebruiker als een binaire applicatie voorzien . In Linux , is er geen ABI of Application Programming Interface ( API ) voor het stuurprogramma . In plaats daarvan , de Linux kernel biedt een stabiele userspace interface voor applicaties . Stuurprogramma's worden gemaakt als modules van de Linux kernel dat de details van hoe het apparaat werkt verbergen. Deze modules voldoen aan een set van gestandaardiseerde gesprekken die onafhankelijk van de stuurprogramma's zelf zijn . Eigenschappen Een van de belangrijkste kenmerken van Linux device drivers is dat ze modulair . Ze kunnen en worden gebouwd afzonderlijk van de rest van de kernel . Dit betekent dat elke module ( of driver ) kunnen worden gebruikt of verwijderd uit de kernel tijdens runtime afhankelijk van hardware beschikbaar . Drivers ook gebouwd met het onderscheid tussen mechanisme en beleid. Mechanisme wat mogelijkheden zijn voorzien , en het beleid is hoe de mogelijkheden worden gebruikt . De Linux device driver is het beleid vrij . De chauffeur toegang tot de hardware, maar de gebruiker hoe het kan of moet worden gebruikt niet vertellen . Apparaat klassen De Linux kernel scheidt hardware-apparaten in drie hoofdtypen : character devices , block devices , en netwerkinterfaces . Een Character apparaat kan worden benaderd als een stroom van karakters of bytes , vergelijkbaar met een bestand . Deze apparaten zijn de tekst console , het toetsenbord en de seriële poorten . Een block device is een apparaat dat alleen toegankelijk is in blokken van gegevens (meestal een kilobyte of een andere macht van 2 ) en kan een bestandssysteem hosten , als een disk drive . Linux maakt het mogelijk applicaties te lezen en schrijven om apparaten als een personage apparaat wilt blokkeren , zodat ze worden beheerd op een bijzondere manier door de kernel . Een netwerkapparaat maakt de uitwisseling van gegevens met andere hosts . Deze apparaten zijn meestal hardware , maar kan ook zuiver software . De kernel heeft een andere manier met netwerkapparaten te communiceren dan met karakter of block devices . In plaats van het lezen en schrijven naar het apparaat , het behandelt pakketverzending . Driver Licensing De Linux kernel is gelicentieerd onder de GNU General Public License ( GPL ) , wat betekent het is open source en vrij beschikbaar voor iedereen om zo lang te downloaden , te wijzigen en opnieuw te distribueren als de herverdeeld code wordt ook onder de GPL . Echter, dit geldt niet voor Linux device drivers . Omdat de kernel is modulair , doet het stuurprogramma geen onderdeel van de kernel geworden . In plaats daarvan de kernel toegang door middel van een goed gedefinieerde interface. Als het stuurprogramma gebruikt deze module -interface , is het niet hoeft te worden onder de GPL . Echter, als het stuurprogramma daadwerkelijk gebruik maakt van een deel van de kernel code om te werken , in plaats van de interface beschikbaar is , moet het worden die onder de GPL . Samenvoegen met de Kernel < br > Zodra een device driver wordt aanvaard als " werken " door de Linux Kernel Development team , zal het deel van de mainline Linux kernel source tree geworden . Dat betekent dat het zal worden bijgehouden door middel van latere kernel veranderingen , zal werken met alle centrale verwerkingseenheden ( CPU's ) wordt ondersteund door Linux , en zal worden vastgesteld en versterkt door de ontwikkeling van Linux gemeenschap . De kernel source tree modules geldt voor de meeste hardware die door Linux . Daarom , zo lang als u gebruik maakt van Linux ondersteunde hardware , kunt u het besturingssysteem te laden en uw hardware te laten werken zonder het installeren van een extra driver .
|