Zum Inhalt springen
View in the app

A better way to browse. Learn more.

Fachinformatiker.de

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

richtige Erklärung der Prozesssteuerung durch ntdll.dll ?

Empfohlene Antworten

Hallo die folgendende Antwort hat mir gemini generiert : 'ntdll.dll ist eine Kern-Bibliothek von Windows. Wenn Node.js nichts aktiv zu berechnen hat, gibt es die Kontrolle an das Betriebssystem ab. ' Daraufhin antwortete ich 'das verwirrt mich ich bin davon ausgegangen , dass der Kernel die prozess und Datenorganisation steuert, müsste die Kontrolle dann nicht an den Kernel zurükgeben werden ?' Daraufhin bekamm ich folgende Erklärung: Um deine Frage direkt zu beantworten: Ja, genau das ist damit gemeint. Die Kontrolle wird physisch und logisch an den Kernel zurückgegeben. Oft wird der Begriff „Betriebssystem“ umgangssprachlich als Überbegriff genutzt, auch wenn auf technischer Ebene eigentlich spezifisch der „Kernel“ (der Kern des Betriebssystems) die Arbeit macht.

Lass uns das kurz entwirren und schauen, welche Rolle die ntdll.dll dabei spielt:

Die Brücke zwischen Node.js und dem Kernel

Moderne Betriebssysteme (wie Windows, Linux, macOS) unterteilen den Speicher und die Rechte aus Sicherheits- und Stabilitätsgründen in zwei Bereiche:

  1. User Mode (Benutzermodus): Hier laufen normale Programme wie Node.js, dein Browser oder Spiele. Sie haben keinen direkten Zugriff auf die Hardware oder die CPU-Ressourcenverwaltung.

  2. Kernel Mode (Kernelmodus): Hier läuft der Kernel. Er hat die absolute Kontrolle über alles (Prozesse, Speicher, Hardware).

Wenn Node.js nun feststellt, dass es aktuell nichts zu berechnen hat (z. B. weil es darauf wartet, dass eine Datei von der Festplatte geladen wird oder eine Datenbank antwortet), möchte es keine wertvolle CPU-Zeit verschwenden. Es muss dem Kernel also mitteilen: "Ich brauche die CPU gerade nicht, leg mich schlafen und weck mich, wenn meine Daten da sind."

Da Node.js (im User Mode) das aber nicht selbst entscheiden darf, braucht es einen Mittelsmann. Und genau hier kommt die ntdll.dll ins Spiel.

Der Ablauf (Schritt für Schritt)

Die ntdll.dll ist die tiefste und fundamentalste Bibliothek, die im User Mode von Windows läuft. Sie fungiert quasi als „Türsteher“ oder „Brücke“ zum Kernel.

  1. Node.js möchte pausieren: Die interne Engine von Node (genauer gesagt die Bibliothek libuv, die den Event-Loop steuert) ruft eine Windows-Funktion auf, um zu warten.

  2. Der Weg zur ntdll.dll: Dieser Aufruf wandert durch die Windows-API und landet ganz unten in der ntdll.dll.

  3. Der Systemaufruf (Syscall): Die ntdll.dll führt nun einen speziellen CPU-Befehl aus (einen sogenannten Syscall oder System Call). Dieser Befehl ist der magische Moment der Übergabe: Er zwingt den Prozessor, vom User Mode in den Kernel Mode zu wechseln.

  4. Der Kernel übernimmt: Jetzt hat der Windows-Kernel die Kontrolle. Er schaut sich die Anfrage an, nimmt den Node.js-Prozess von der CPU (pausiert ihn) und gibt die frei gewordene Rechenzeit einem anderen Prozess, der sie gerade braucht.

Zusammenfassung

Wenn man sagt, "Node.js gibt die Kontrolle an das Betriebssystem ab über die ntdll.dll", ist das eine vereinfachte Umschreibung für: Wenn man sagt, "Node.js gibt die Kontrolle an das Betriebssystem ab über die ntdll.dll", ist das eine vereinfachte Umschreibung für:

"Node.js nutzt die ntdll.dll, um einen Systemaufruf an den Kernel zu senden, damit dieser (der Kernel) die Ressourcenverwaltung übernimmt."

Ist die Erklärung korrekt ?

LG Ortwin

Erstelle ein Konto oder melde dich an, um einen Kommentar zu schreiben.

Konto

Navigation

Suchen

Suchen

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.