Heim > System-Tutorial > LINUX > Hauptteil

Betriebssystem-FAQ~

WBOY
Freigeben: 2024-02-18 08:15:33
nach vorne
848 Leute haben es durchsucht

Betriebssystem-FAQ~

1: Erklären Sie die typischen Gründe, warum Prozesse zwischen drei Grundzuständen wechseln

(1) Wenn der Prozessplaner einem Prozess im Bereitschaftszustand einen Prozessor zuweist, wechselt der Prozess vom Bereitschaftszustand in den Ausführungszustand.

(2) Wenn dem ausführenden Prozess der Prozessor zum Anhalten der Ausführung entzogen wird, weil die ihm zugewiesene Zeitscheibe aufgebraucht ist, ändert sich sein Status vom Ausführungsstatus in den Bereitschaftsstatus.

(3) Wenn etwas passiert, das die Ausführung des aktuellen Prozesses blockiert und es unmöglich macht, die Ausführung fortzusetzen, ändert sich der Status des Prozesses von Ausführung in Blockierung.

2: Warum sollten Threads in das Betriebssystem eingeführt werden? Welche Vorteile hat die Einführung von Threads?

(1) Da der Prozess der Eigentümer der Ressource ist, ist bei den Erstellungs-, Lösch- und Umschaltvorgängen ein großer Zeit- und Platzaufwand erforderlich, was die weitere Verbesserung des Parallelitätsgrads einschränkt. Um die Kosten für den Prozesswechsel zu senken, werden die beiden Attribute des Prozesses als Ressourcenzuteilungseinheit und Planungseinheit getrennt behandelt, dh der Prozess wird weiterhin als Grundeinheit für die Ressourcenzuteilung verwendet, jedoch nicht als Grundeinheit der Planung (selten geplant oder umgeschaltet), und die Planung ist Die Verantwortung für die Ausführung und Umschaltung liegt bei „Threads“.

(2) Die Einführung von Threads in das Betriebssystem und die Verwendung von Threads als Grundeinheit für Planung und Versand können die Leistung von Multiprozessorsystemen effektiv verbessern, den Zeit- und Platzaufwand reduzieren, der bei der gleichzeitigen Ausführung von Programmen entsteht, und die Parallelität des Betriebssystems verbessern

Drei: (1) Was ist Deadlock? (2) Was ist der Grund für den Deadlock?

(1) Eine Gruppe von Prozessen ist blockiert, wenn jeder Prozess in der Gruppe auf ein Ereignis wartet, das nur von anderen Prozessen in der Gruppe ausgelöst werden kann.

(2) ① Der Wettbewerb um nicht abrufbare Ressourcen führt zu einem Stillstand. (Nicht präemptive Ressourcen bedeuten, dass, sobald das System dem Prozess eine Ressource zuweist, diese nicht zwangsweise zurückgenommen werden kann und erst freigegeben werden kann, wenn der Prozess aufgebraucht ist.)

② Der Wettbewerb um Verbrauchsressourcen führt zu Stillstand. (Verbrauchbare Ressourcen werden vom Prozess während der Ausführung des Prozesses dynamisch erstellt und verbraucht)

③Eine unsachgemäße Prozessfortschrittsreihenfolge führt zu einem Deadlock (ist die Reihenfolge der Ressourcenanwendung und -freigabe bei laufendem Prozess zulässig?)

Viertens: Mehrere Möglichkeiten, das Programm zu laden

(1) Absolute Lademethode: Nach der Kompilierung des Benutzerprogramms wird der Zielcode mit absoluter Adresse generiert, der nur für Einzelprogrammierumgebungen geeignet ist.

(2) Verschiebbare Lademethode: Das Lademodul kann an jede zulässige Stelle im Speicher geladen werden, geeignet für Umgebungen mit mehreren Programmierungen.

(3) Lademethode während der dynamischen Laufzeit: Wenn das Lademodul in den Speicher geladen wird, ist alles noch eine logische Adresse, und die logische Adresse wird erst dann in eine physikalische Adresse umgewandelt, wenn das Programm tatsächlich ausgeführt wird.

Fünf: Mehrere Möglichkeiten, das Programm zu verknüpfen

(1) Statische Verknüpfungsmethode: Bevor das Programm ausgeführt wird, werden jedes Zielmodul und seine erforderlichen Bibliotheksfunktionen zunächst zu einem vollständigen Baugruppenmodul verbunden und werden in Zukunft nicht mehr zerlegt.

(2) Dynamische Verknüpfung während des Ladens: Eine Reihe von Zielmodulen, die nach dem Kompilieren des Benutzerquellprogramms erhalten wurden, werden mithilfe einer Verknüpfungsmethode zum gleichzeitigen Laden und Verknüpfen in den Speicher geladen.

(3) Dynamische Laufzeitverknüpfung: Verknüpfen bestimmter Zielmodule, Verknüpfen nur dann, wenn das Zielmodul während der Programmausführung benötigt wird

Sechs: (1) Was ist virtueller Speicher, (2) Was sind seine Eigenschaften?

(1) Ein Speichersystem mit Anforderungsübertragungsfunktion und Ersetzungsfunktion, das die Speicherkapazität logisch erweitern kann. Seine logische Kapazität wird durch die Summe aus Speicherkapazität und externer Speicherkapazität bestimmt. Seine Laufgeschwindigkeit liegt nahe an der des Arbeitsspeichers und seine Kosten liegen nahe an denen des externen Speichers.

(2) ①Mehrfach: Das Programm und die Daten im Job können mehrfach aufgeteilt und zur Ausführung in den Speicher geladen werden.

② (Basis) Austauschbarkeit: Programme und Daten in einem Job dürfen während der Ausführung des Jobs ausgetauscht werden.

③Virtualität: Erweitert logisch die Speicherkapazität.

Sieben: (1) Was ist Jitter? (2) Was ist die Ursache für Jitter?

(1) Wenn die Multiprogrammierung zu hoch ist, werden Seiten häufig zwischen dem Speicher und der Außenwelt eingeplant, sodass die zum Fischen der Seite erforderliche Zeit länger ist als die tatsächliche Laufzeit des Prozesses Wenn die Effizienz stark abnimmt und das System sogar zusammenbricht, wird dieses Phänomen als Jitter bezeichnet.

(2) Der Grund dafür ist, dass im System zu viele Prozesse gleichzeitig ausgeführt werden, sodass jedem Prozess zu wenige physische Blöcke zugewiesen sind, die die Grundanforderungen für den normalen Betrieb des Prozesses nicht erfüllen können Dadurch stößt jeder Prozess beim Ausführen der Seite häufig auf Fehler. Das System muss aufgefordert werden, die fehlende Seite in den Speicher zu übertragen, sodass sich die Anzahl der Prozesse erhöht, die im System in der Warteschlange stehen und auf die Übertragung der Seite warten im Jitter.

Acht: (1) Was ist eine Pufferzone? (2)Was ist der Hauptgrund für die Einführung des Puffermanagements?

(1) Der Puffer ist ein Speicherbereich, der aus speziellen Hardwareregistern oder Speicher bestehen kann.

Die Hauptfunktion der Pufferverwaltung besteht darin, diese Puffer zu organisieren und Mittel zum Abrufen und Freigeben von Puffern bereitzustellen.

(2) Die Hauptgründe für die Einführung des Puffermanagements sind:

① Beseitigen Sie Geschwindigkeitsunterschiede zwischen CPU und E/A-Geräten.

②Reduzieren Sie die Häufigkeit von CPU-Interrupts und lockern Sie die Begrenzung der entsprechenden Zeit von CPU-Interrupts.

③Lösen Sie das Problem der Nichtübereinstimmung der Datenpartikelanzahl.

④Verbessern Sie die Parallelität zwischen CPU und E/A-Geräten.

Das obige ist der detaillierte Inhalt vonBetriebssystem-FAQ~. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:linuxprobe.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage