Eine eingehende Analyse der Interrupts von Linux-Gerätetreibern (1)
1. Vorwort
Linux-Interrupts werden in zwei Typen unterteilt: Soft-Interrupts und Hard-Interrupts. Lassen Sie mich darauf hinweisen, dass sich die Bedeutung von „weich“ und „hart“ hier auf softwarebezogene und hardwarebezogene Interrupts bezieht und nicht auf softwareimplementierte Interrupts oder hardwareimplementierte Interrupts.
Soft Interrupt ist der „Signalmechanismus“. Ein Soft Neutral ist kein Software-Interrupt. Linux verwendet Signale, um verschiedene Interrupt-Operationen für den Prozess zu generieren. Der spezifische Inhalt kann hier übersprungen werden [1]. Im Allgemeinen werden Soft-Interrupts durch Triggerereignisse des Kernel-Mechanismus verursacht (z. B. Zeitüberschreitungen bei der Ausführung von Prozessen). Es kann jedoch nicht ignoriert werden, dass eine große Anzahl von Soft-Interrupts auch durch Hardware-Interrupts verursacht wird, z. B. wenn ein Druckeranschluss vorhanden ist Erzeugt einen Hardware-Interrupt. Er benachrichtigt den hardwarebezogenen Hard-Interrupt, und der Hard-Interrupt generiert einen Soft-Interrupt und sendet ihn an den Betriebssystemkernel, sodass der Kernel den in der Druckeraufgabenwarteschlange schlafenden Verarbeitungsprozess aufweckt auf diesem Soft-Interrupt.
Hard Interrupt ist ein „Interrupt-Handler“ im üblichen Sinne. Er verarbeitet das von der Hardware gesendete Interrupt-Signal direkt. Wenn der Hard-Interrupt das Interrupt-Signal empfängt, das er verarbeiten soll, geht er zurück zu dem Gerät, das er angesteuert hat, um sich das Statusregister des Geräts anzusehen, um zu verstehen, was passiert ist, und entsprechende Vorgänge auszuführen. Wir werden nicht auf Soft Interrupts eingehen, die bei der Prozessplanung berücksichtigt werden müssen. Da es sich um Gerätetreiber-Interrupts handelt, liegt der Schwerpunkt auf harten Interrupts. Was wir hier besprechen, sind harte Interrupts, also hardwarebezogene Interrupts.
2. Interrupt-Generierung
Interrupt liegt daran, dass das Peripheriegerät das Betriebssystem darüber informieren muss, dass dort etwas passiert ist, aber die Funktion des Interrupts ist nur ein Gerätealarm, wenn das Licht aufleuchtet ist eingeschaltet, es unterbricht nur den Handler, dass etwas passiert ist, aber Sie müssen zum Gerät gehen, um zu sehen, was passiert ist. Mit anderen Worten: Wenn der Interrupt-Handler erfährt, dass auf dem Gerät ein Interrupt aufgetreten ist, weiß er nicht, was mit dem Gerät passiert ist. Erst wenn er auf einige Statusregister auf dem Gerät zugreift, kann er wissen, was genau passiert ist bewältigen.
Das Gerät sendet über die Interrupt-Leitung einen High-Pegel an den Interrupt-Controller, um dem Betriebssystem mitzuteilen, dass es einen Interrupt generiert hat, und das Betriebssystem erkennt anhand des Statusbits des Interrupts, welche Interrupt-Leitung den Interrupt generiert hat Controller. Der auf dem PC verwendete Interrupt-Controller ist der 8259. Jeder dieser Controller kann 8 Interrupt-Leitungen verwalten. Bei der Kaskadierung von zwei 8259 können insgesamt 15 Interrupt-Leitungen gesteuert werden. Bei den Interrupt-Leitungen handelt es sich hier um echte Schaltkreise, die über eine Hardware-Schnittstelle mit dem Gerätecontroller außerhalb der CPU verbunden sind.
3. IRQ
Nicht jedes Gerät kann ein Interrupt-Signal an die Interrupt-Leitung senden Das Signal wird auf dieser Interrupt-Leitung gesendet. Da Computer immer mehr externe Geräte haben, reichen 15 Interrupt-Leitungen nicht mehr aus. Um eine Interrupt-Leitung zu nutzen, müssen Sie eine Interrupt-Leitung beantragen. Dies ist IRQ (Interrupt Requirement). Wir bezeichnen die Beantragung einer Interrupt-Leitung oft als Beantragung eines IRQ oder Beantragung einer Interrupt-Nummer.
IRQ ist sehr wertvoll, daher empfehlen wir Ihnen, einen IRQ nur dann zu beantragen, wenn ein Gerät einen Interrupt benötigt, oder bei der Beantragung eines IRQ eine gemeinsame Interrupt-Methode zu verwenden, damit mehr Geräte Interrupts nutzen können.
Egal ob der IRQ exklusiv genutzt oder geteilt wird, der Prozess der Beantragung eines IRQ ist derselbe und gliedert sich in 3 Schritte:
1. Prüfen Sie alle Interrupt-Leitungen, um festzustellen, welche Interrupts nicht belegt sind. Wählen Sie einen dieser unbelegten Interrupts als IRQ des Geräts.
2. Beantragen Sie den ausgewählten IRQ über die Interrupt-Anwendungsfunktion. Hiermit wird angegeben, ob die Anwendungsmethode exklusiv oder gemeinsam genutzt wird.
3. Bestimmen Sie anhand des Rückgabewerts der Interrupt-Anwendungsfunktion, was zu tun ist: Wenn sie erfolgreich ist, ist alles in Ordnung. Wenn sie fehlschlägt, wenden Sie die Anwendung entweder erneut an oder geben sie auf und geben einen Fehler zurück.
Der Prozess der Bewerbung für einen IRQ wird im Quellcode im Nachschlagewerk ausführlich beschrieben. Leser können ein tiefes Verständnis des Bewerbungsprozesses erlangen, indem sie das kurze Beispiel im Quellcode sorgfältig lesen.
Das Obige ist eine ausführliche Analyse des Linux-Gerätetreiber-Interrupts (1). Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www.php.cn)!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Für viele Benutzer klingt das Hacken einer Android-TV-Box entmutigend. Allerdings stand Entwickler Murray R. Van Luyn während der Broadcom-Chipknappheit vor der Herausforderung, nach geeigneten Alternativen zum Raspberry Pi zu suchen. Seine Zusammenarbeit mit der Armbia

Deepseek ist ein leistungsstarkes Intelligent -Such- und Analyse -Tool, das zwei Zugriffsmethoden bietet: Webversion und offizielle Website. Die Webversion ist bequem und effizient und kann ohne Installation verwendet werden. Unabhängig davon, ob Einzelpersonen oder Unternehmensnutzer, können sie massive Daten über Deepseek problemlos erhalten und analysieren, um die Arbeitseffizienz zu verbessern, die Entscheidungsfindung zu unterstützen und Innovationen zu fördern.

Es gibt viele Möglichkeiten, Deepseek zu installieren, einschließlich: kompilieren Sie von Quelle (für erfahrene Entwickler) mit vorberechtigten Paketen (für Windows -Benutzer) mit Docker -Containern (für bequem am besten, um die Kompatibilität nicht zu sorgen), unabhängig von der Methode, die Sie auswählen, bitte lesen Die offiziellen Dokumente vorbereiten sie sorgfältig und bereiten sie voll und ganz vor, um unnötige Schwierigkeiten zu vermeiden.

Wie lade ich die BitPie Bitpie Wallet-App herunter? Die Schritte sind wie folgt: Suchen Sie im AppStore (Apple-Geräte) oder Google Play Store (Android-Geräte) nach „BitPie Bitpie Wallet“. Klicken Sie auf die Schaltfläche „Get“ oder „Install“, um die App herunterzuladen. Besuchen Sie für die Computerversion die offizielle BitPie-Wallet-Website und laden Sie das entsprechende Softwarepaket herunter.

Bitget ist eine Kryptowährungsbörse, die eine Vielzahl von Handelsdienstleistungen anbietet, darunter Spot -Handel, Vertragshandel und Derivate. Der 2018 gegründete Austausch hat seinen Hauptsitz in Singapur und verpflichtet sich, den Benutzern eine sichere und zuverlässige Handelsplattform zu bieten. Bitget bietet eine Vielzahl von Handelspaaren, einschließlich BTC/USDT, ETH/USDT und XRP/USDT. Darüber hinaus hat der Austausch einen Ruf für Sicherheit und Liquidität und bietet eine Vielzahl von Funktionen wie Premium -Bestellarten, gehebelter Handel und Kundenunterstützung rund um die Uhr.

1. Installationsumgebung (virtuelle Hyper-V-Maschine): $hostnamectlStatichostname:localhost.localdomainIconname:computer-vmChassis:vmMachineID:renwoles1d8743989a40cb81db696400BootID:renwoles272f4aa59935dcdd0d456501Virtualisierung:microsoftOperatingSystem:CentOS 7(Kern)CPEOSName:cpe:

Ouyi Okx, die weltweit führende digitale Asset Exchange, hat jetzt ein offizielles Installationspaket gestartet, um ein sicheres und bequemes Handelserlebnis zu bieten. Auf das OKX -Installationspaket von Ouyi muss nicht über einen Browser zugegriffen werden. Der Installationsprozess ist einfach und einfach zu verstehen.

Gate.io ist ein beliebter Kryptowährungsaustausch, den Benutzer verwenden können, indem sie sein Installationspaket herunterladen und auf ihren Geräten installieren. Die Schritte zum Abholen des Installationspakets sind wie folgt: Besuchen Sie die offizielle Website von Gate.io, klicken Sie auf "Download", wählen Sie das entsprechende Betriebssystem (Windows, Mac oder Linux) und laden Sie das Installationspaket auf Ihren Computer herunter. Es wird empfohlen, die Antiviren -Software oder -Firewall während der Installation vorübergehend zu deaktivieren, um eine reibungslose Installation zu gewährleisten. Nach Abschluss muss der Benutzer ein Gate.io -Konto erstellen, um es zu verwenden.
