Heim php教程 PHP开发 Eine eingehende Analyse der Interrupts von Linux-Gerätetreibern (1)

Eine eingehende Analyse der Interrupts von Linux-Gerätetreibern (1)

Dec 23, 2016 pm 02:30 PM

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)!


Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

R.E.P.O. Energiekristalle erklärten und was sie tun (gelber Kristall)
2 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Repo: Wie man Teamkollegen wiederbelebt
4 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island Abenteuer: Wie man riesige Samen bekommt
3 Wochen vor By 尊渡假赌尊渡假赌尊渡假赌

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Android TV Box erhält inoffizielles Ubuntu 24.04-Upgrade Sep 05, 2024 am 06:33 AM

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 Web Version Eingang Deepseek Offizielle Website Eingang Deepseek Web Version Eingang Deepseek Offizielle Website Eingang Feb 19, 2025 pm 04:54 PM

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.

So installieren Sie Deepseek So installieren Sie Deepseek Feb 19, 2025 pm 05:48 PM

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.

BitPie Bitpie-Wallet-App-Download-Adresse BitPie Bitpie-Wallet-App-Download-Adresse Sep 10, 2024 pm 12:10 PM

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 Offizielle Website -Installation (2025 Anfängerhandbuch) Bitget Offizielle Website -Installation (2025 Anfängerhandbuch) Feb 21, 2025 pm 08:42 PM

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.

Installation der Quellcode-Kompilierung von Zabbix 3.4 Installation der Quellcode-Kompilierung von Zabbix 3.4 Sep 04, 2024 am 07:32 AM

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

Ouyi OKX Installationspaket ist direkt enthalten Ouyi OKX Installationspaket ist direkt enthalten Feb 21, 2025 pm 08:00 PM

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.

Holen Sie sich das Installationspaket Gate.io kostenlos Holen Sie sich das Installationspaket Gate.io kostenlos Feb 21, 2025 pm 08:21 PM

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.

See all articles