|  Startsida |  Hårdvara |  Nätverk |  Programmering |  Programvara |  Felsökning |  System |   
Hårdvara
  • Allt-i - ett-skrivare
  • Apple Computers
  • BIOS
  • CD & DVD drives
  • Processorer
  • Computer Drives
  • Bildskärmar
  • Kringutrustning
  • Datorkraft Källor
  • dator Skrivare
  • Computer uppgraderingar
  • Stationära datorer
  • Elektronisk bok läsare
  • Externa hårddiskar
  • Flash Drives
  • Input & Output Devices
  • Kindle
  • Bärbara datorer
  • stordatorer
  • Möss & tangentbord
  • Netbooks
  • Network Equipment
  • Nook
  • bärbara datorer
  • Övrigt Hårdvara
  • PC Computers
  • projektorer
  • RAM , kort och moderkort
  • skannrar
  • Servrar
  • Ljudkort
  • Tablet PC
  • grafikkort
  • arbetsstationer
  • iPad
  • iPhone
  • * Dator Kunskap >> Hårdvara >> Input & Output Devices >> Content

    Hur kommunicerar en enhetsdrivrutin med enheten?

    En enhetsdrivrutin kommunicerar med en enhet som använder olika metoder, beroende på typ av enhet och operativsystemet. Kommunikationen är sällan direkt; Istället förlitar det sig på mellanliggande lager och standardiserade gränssnitt. Här är en uppdelning:

    1. Hårdvaruspecifika gränssnitt:

    * Memory-mappat I/O (MMIO): Enhetens register mappas in i systemets minnesadressutrymme. Föraren läser och skriver till dessa minnesadresser för att styra enheten. Detta är vanligt för många enheter, inklusive grafikkort och nätverksgränssnittskort (NIC). Föraren interagerar direkt med de fysiska hårdvaruregistrerna.

    * Port-mappade I/O (PIO): Enheten nås via specifika ingångs-/utgångsportar. Föraren skickar kommandon och tar emot data genom att skriva till och läsa från dessa portar. Detta är mindre vanligt nu men fortfarande finns i äldre system. Liksom MMIO är det en direkt interaktion.

    * avbrott: Enheten avbryter CPU när den behöver uppmärksamhet (t.ex. data är redo, ett fel inträffade). Avbrottet utlöser en specifik avbrottshanterare i föraren, vilket gör att föraren kan svara på enhetens händelse. Detta är avgörande för asynkrona operationer.

    * Direktminnesåtkomst (DMA): Enheten kan direkt komma åt systemminnet utan CPU -ingripande, förbättra prestanda. Föraren konfigurerar DMA -överföringen och frigör CPU för andra uppgifter.

    2. Programvarugränssnitt (abstraktionslager):

    De råa hårdvaruinteraktionerna som beskrivs ovan abstraheras vanligtvis av mjukvarulager för att ge ett mer hanterbart och bärbart gränssnitt. Dessa inkluderar:

    * Operativsystem Kernel: Föraren arbetar inom operativsystemets kärna. Den använder kärntjänster för att få tillgång till hårdvaruresurser och interagera med andra delar av systemet.

    * enhetsspecifika API:er: Operativsystem ger ofta API:er (applikationsprogrammeringsgränssnitt) specifika för vissa enhetstyper (t.ex. SCSI, SATA, USB). Dessa API:er förenklar förarutvecklingen genom att abstrahera detaljer på låg nivå.

    * bussspecifika gränssnitt: Enheten är ansluten till systemet via en buss (t.ex. PCI, USB, SATA). Föraren använder bussspecifika protokoll och gränssnitt för att kommunicera med enheten över bussen.

    Sammanfattningsvis:

    Kommunikationsprocessen kan visualiseras enligt följande:

    1. applikation (användare eller system): Begär en operation (t.ex. läsa data från en hårddisk).

    2. Operativsystem: Ruttar begäran till lämplig enhetsdrivrutin.

    3. Enhetsdrivare: Använder lämpligt hårdvaruspecifikt gränssnitt (MMIO, PIO, etc.) och programvaruabstraktioner för att kommunicera med enheten. Detta kan innebära att skicka kommandon, ta emot data, hantera avbrott eller hantera DMA -överföringar.

    4. enhet: Utför den begärda operationen och skickar resultatet (om någon) tillbaka till föraren.

    5. Enhetsdrivare: Bearbetar svaret och returnerar resultatet till operativsystemet.

    6. Operativsystem: Returnerar resultatet till applikationen.

    Kommunikationens komplexitet beror mycket på enhetens sofistikering och operativsystemet. Moderna system använder ofta flera lager av abstraktion för att förenkla förarens utveckling och förbättra portabilitet.

    Tidigare:

    nästa:
    relaterade artiklar
    ·Är en knappsats en ingång eller utgång?
    ·Vad gör buffertar och register?
    ·Hur du ansluter en HP PSC 500 till en bärbar dator
    ·Input & Output enheter som används i Multimediatilläm…
    ·Hur ingång Jack blir till utgången Jack?
    ·Vilka är principerna för ingångs- och utgångsenhete…
    ·Vilka andra utgångsenheter har du?
    ·Vad är fyra olika ingångsenheter förutom ett tangent…
    ·Hur ta isär en Logitech Z - 640 Subwoofer
    ·Vilken enhet konverterar datorutgång till visade bilde…
    Utvalda artiklarna
    ·Hur Ange ett Phoenix BIOS
    ·Hur man ansluter en Dell laptop till en projektor
    ·HP Pavilion Modell ze1115 Specifikationer
    ·Hur kommer jag åt BIOS i en Acer Aspire 3680
    ·Vilka kablar behövs för att ansluta en dator
    ·Lexmark 4200 Installation
    ·Är det sant att en mus är den mest lämpliga inmatnin…
    ·Vad är Fragmentering och olika typer av Fragmentering
    ·Hur kan dator och projektor vara användbar i undervisn…
    ·Hur man öppnar en HP LaserJet P1006 Skal
    Copyright © Dator Kunskap https://www.dator.xyz