Betriebssystem (1): Überblick über das Betriebssystem [Einführung in das Betriebssystem darf nicht fehlen ...]

Studiere hart und mache jeden Tag Fortschritte

Dieser Artikel wurde in mein Github-Repository DayDayUP aufgenommen : github.com/RobodLee/DayDayUP, willkommen bei Star

Vorwort

Ich habe das Betriebssystem noch nie systematisch studiert und habe das Gefühl, dass ich bestimmte Konzepte in meinem üblichen Lernprozess, wie Interrupts, Speicher, Prozesse und Threads, nur unzureichend verstehe. Ich habe vor, systematisch etwas über das Betriebssystem zu lernen. Zu Beginn habe ich Lehrer Li Zhijun vom Harbin Institute of Technology in Station B beobachtet. Aber ich habe begonnen, den Startvorgang anhand des Assembler-Codes zu analysieren. Obwohl er sehr gut war, könnte ich zu dumm sein, um ihn zu verstehen. Also habe ich mir das "Betriebssystem" der Soochow University auf dem MOOC der chinesischen Universität angesehen .

Mit anderen Worten, dies ist auch eine nationale Boutique. Obwohl es nicht sehr gut ist, ist es ziemlich einfach zu akzeptieren. Das Buch, das ich gelesen habe, ist "Operating System Concept Seventh Edition".

Diese Artikelserie dient als Notizen zum Erlernen des Betriebssystems, und ich hoffe, denjenigen helfen zu können, die Betriebssysteme lernen möchten und lernen. Nicht viel zu erzwingen, der offizielle Inhalt wird unten beginnen.

Was ist das Betriebssystem?

Dies ist ein logisches Diagramm der Komponenten eines Computersystems. Aus dem Diagramm geht hervor, dass Benutzer das Betriebssystem verwenden müssen, wenn Software auf Computerhardware ausgeführt werden soll. Das Betriebssystem ist die Software der untersten Ebene des Computers. Es ist die grundlegende Supportumgebung für die Ausführung von Anwendungsprogrammen und unverzichtbar. Das Betriebssystem ist jedoch nicht unbedingt erforderlich. Beispielsweise können einige kleine Computer wie Single-Chip-Mikrocomputer Programme auch ohne Betriebssystem ausführen.

Was bedeutet das Betriebssystem? Ich denke, es ist " bequem " für normale Benutzer und Entwickler . printf("hello world!");Jeder hat geschrieben, warum kann eine solche Codezeile einen Satz auf dem Bildschirm ausgeben? Dies liegt daran, dass nach dem Ausführen dieser Codezeile die Schnittstelle des Betriebssystems aufgerufen wird und das Betriebssystem dann die zugrunde liegende Hardware für verwandte Vorgänge steuert. Für uns sind diese unsinnig und schreiben lediglich eine Codezeile. .

Mein Verständnis des Betriebssystems lautet also: Das Betriebssystem ist die Haushälterin, und die Computerhardware ist das Haus, und der Benutzer ist der Eigentümer des Hauses. Wenn wir zum Beispiel essen möchten, sagen wir dem Butler, dass es Zeit zum Kochen ist, und dann wird der Butler versenden und dafür sorgen, dass die Leute kaufen und kochen, und wir müssen nur warten, bis das Essen serviert wird. Wenn es keinen Butler gibt, müssen diese Dinge selbst erledigt werden. Mit dem Betriebssystem können wir den Computer also bequem und effizient nutzen.

Multi-Programm-Design und Time-Sharing

Das aktuelle Betriebssystem ist am Anfang nicht so gut, hat aber mehrere Entwicklungsstufen durchlaufen.

Kein Betriebssystem (manuelle Bedienung)

Die frühesten Computer hatten kein Betriebssystem. Beispielsweise betrieb ENIAC manuell Kabel, um Aufgaben auszuführen, was äußerst ineffizient war.

Batch-System

Als der Transistor erschien, wurde der Computer der zweiten Generation geboren und seine Größe und Zuverlässigkeit wurden erheblich verbessert. Um die Leistung des Computers besser nutzen zu können, wurden auch Stapelverarbeitungssysteme eingeführt. Das Stapelverarbeitungssystem übergibt einen Stapel von Jobs an das Betriebssystem und dann das residente Überwachungsprogramm (Monitor), um den Betrieb und die Planung des Jobs ohne manuelles Eingreifen zu steuern und die Effizienz des Computers erheblich zu verbessern.

Ähnlich wie am Fließband einer Fabrik ist die CPU der Arbeiter. Eine Charge der zu verarbeitenden Produkte wird vom Förderband übertragen, und die Arbeiter verarbeiten die Produkte nacheinander.

Multiprogrammiersystem

Ein Nachteil von Stapelverarbeitungssystemen besteht darin, dass sie die Parallelität der Programmausführung nicht berücksichtigen. Beispielsweise muss ein Programm auf E / A-Vorgänge warten, bevor es weiter ausgeführt werden kann. Beim Warten wird auch die CPU dort verbracht, wodurch Zeit verschwendet wird. Zum Beispiel hielt das Fließband plötzlich für eine Weile an und die Arbeiter ruhten sich dort aus. Um die Leistung der CPU besser zu beeinträchtigen, wurde ein System mit mehreren Programmen eingeführt.

Das heißt, es befinden sich mehrere Jobs gleichzeitig im Speicher, die unter der Kontrolle des Verwaltungsprogramms durchsetzt miteinander ausgeführt werden . Wenn ein Programm warten muss, wechselt es sofort zu einem anderen Job, was die CPU-Auslastung verbessert.

Aus der Vergleichstabelle ist ersichtlich, dass die CPU-Laufzeit in einem Mehrprogrammsystem offensichtlich länger ist als die eines einzelnen Programmsystems und es fast keine Ruhe gibt. Daher ist das Multiprogrammsystem der schwarzherzige Chef, der die Arbeitskräfte der CPU vollständig entleert hat, was die CPU unglücklich macht.

Time-Sharing-System

Obwohl das Multiprogrammsystem die CPU-Auslastung im Vergleich zum Batch-System verbessert hat, kann es jeweils nur ein Programm ausführen, was vom Chef immer noch abgelehnt wird. Das Multiprogrammsystem verlässt dann die Arena und konzentriert sich auf das Üben. Als sie aus dem Berg kamen, hatte die Welt den Namen des Multiprogrammsystems lange vergessen, und das einzige, was bekannt war, war das Time-Sharing-System , das die schattenlose Hand großartig machte .

Richtig, das Time-Sharing-System ist eine erweiterte Version des Multiprogramm-Systems, bei dem es sich im Wesentlichen um das Umschalten von Vorgängen handelt. Das Betriebssystem weist jedoch jedem Programm eine bestimmte Menge an CPU-Zeit zu und wechselt sofort zu einem anderen Programm, wenn die Zeit für ein Programm endet. Da die Zeitscheibe der CPU kurz genug und die Umschaltzeit schnell genug ist, spürt der Benutzer das Umschalten des Programms nicht und glaubt fälschlicherweise, dass mehrere Programme gleichzeitig ausgeführt werden.

Betriebssystembetrieb

Wenn der Entwickler den Code schreibt, kann dies unbeabsichtigt sein oder absichtlich Programmfehler verursachen, und einige schwerwiegende Fehler können andere Programme oder Betriebssysteme beschädigen. Daher muss das Betriebssystem so konzipiert sein, dass sichergestellt ist, dass falsche oder schädliche Programme den normalen Betrieb anderer Programme und des Betriebssystems nicht beeinträchtigen.

Dual-Mode-Betrieb

Der Dual-Modus trennt das Benutzerprogramm vom Systemprogramm. Das Benutzerprogramm wird im Benutzermodus und das Systemprogramm im Kernelmodus ausgeführt. Wenn im Anwenderprogramm eine Ausnahme auftritt, wird sofort in den Kernelmodus gewechselt und zur Verarbeitung an das Betriebssystem übergeben. Diese Anweisungen, die Schäden verursachen können, werden als privilegierte Anweisungen bezeichnet, und privilegierte Anweisungen können im Benutzermodus nicht ausgeführt werden. Wenn ein Benutzerprogramm Systemdienste aufrufen muss, muss es vom Benutzermodus in den Kernelmodus wechseln, um ausgeführt zu werden.

Dieses Modusbit befindet sich in der Computerhardware. Damit können Benutzerprogramme und Systemprogramme unterschieden werden.

E / A- und Speicherschutz

Um zu verhindern, dass Benutzerprogramme illegale E / A-Vorgänge ausführen, sind alle E / A-Anweisungen privilegierte Anweisungen. E / A-Vorgänge können nicht im Benutzermodus ausgeführt und nur zur Ausführung in den Kernelmodus geschaltet werden. Durch die Steuerung von E / A kann das Auftreten illegaler E / A effektiv reduziert werden.

In einem Multiprogrammiersystem werden mehrere Programme im Speicher ausgeführt. Um sicherzustellen, dass Anwendungen nicht illegal auf den Speicherplatz anderer Anwendungen zugreifen können, wird ein Speicherschutzmechanismus angezeigt. Dies erfordert Hardwareunterstützung, wie z. B. Basisadressregister und Register mit begrenzter Länge.

In diesem Bild beschränkt die Zusammenarbeit der beiden Register das Programm darauf, nur auf den Speicherplatz von 300040 ~ 420940 zuzugreifen.

Timer

Was ist, wenn ein Programm jetzt eine Endlosschleife enthält und die CPU lange Zeit belegt? Auf diese Weise liegt das Steuerrecht immer in den Händen des Anwenderprogramms, dies reicht nicht aus. Um sicherzustellen, dass die CPU-Steuerung in den Händen des Betriebssystems liegt, kann ein Timer verwendet werden. Der Timer verfügt über einen festen Timer und einen variablen Timer. Nach Erreichen der angegebenen Zeit wird ein Interrupt generiert und der Benutzermodus in den Kernelmodus umgeschaltet. Auf diese Weise wird die Steuerspannung an das Betriebssystem zurückgegeben, um den normalen Betrieb des Systems sicherzustellen.

Betriebssystemfunktion

Prozessmanagement

Das Hauptziel eines Betriebssystems besteht darin, Programme auszuführen, dh die CPU zu verwalten. Ein laufendes Programm wird als Prozess bezeichnet. Das Prozessmanagement löst das laufende Problem des Programms. Das Betriebssystem ist für die folgenden Aktivitäten im Zusammenhang mit dem Prozessmanagement verantwortlich:

  • Erstellen und Löschen von Benutzern und Systemprozessen
  • Prozesse anhalten und fortsetzen
  • Prozesssynchronisationsmechanismus bereitstellen
  • Prozesskommunikationsmechanismus bereitstellen
  • Deadlock-Handhabungsmechanismus bereitstellen

Speicherverwaltung

Nur der Prozess kann die Anforderungen des auszuführenden Programms nicht erfüllen, benötigt jedoch auch Speicher. Da die CPU nur direkt auf die drei Arten von Speichergeräten zugreifen kann: Register, Caches und Speicher. Alle Daten vor und nach der Verarbeitung eines Prozesses befinden sich im Speicher. Zu den Speicherverwaltungsaktivitäten, für die das Betriebssystem verantwortlich ist, gehören:

  • Notieren Sie, welcher Teil des Speichers von wem verwendet wird
  • Wenn Speicherplatz vorhanden ist, entscheiden Sie, welche Prozesse in den Speicher geladen werden können
  • Ordnen Sie nach Bedarf Speicherplatz zu und geben Sie ihn frei

Zusammenfassend lässt sich sagen: Die Speicherverwaltung bietet Funktionen wie Speicherzuweisung, Recycling, Adressumsetzung, Freigabe und Schutz. Verbesserte Speichernutzung und Zugriffsgeschwindigkeit, wodurch die Betriebseffizienz des Computers verbessert wird.

Dokumentenverwaltung

Prozessverwaltung und Speicherverwaltung lösen das laufende Problem des Programms, aber der Speicher kann Daten für eine lange Zeit nicht speichern, sodass eine Datei vorhanden ist. Da die Datei gespeichert werden muss, muss die Datei verwaltet werden, damit die Dateiverwaltung das Computerspeicherproblem löst. Moderne Betriebssysteme werden hauptsächlich für die Dateiverwaltung in einer Baumstruktur von Verzeichnissen verwendet. Das Betriebssystem ist hauptsächlich für die folgenden Aktivitäten im Zusammenhang mit der Dateiverwaltung verantwortlich:

  • Dateien erstellen und löschen
  • Erstellen und löschen Sie Verzeichnisse, um Dateien zu organisieren
  • Stellen Sie Grundelemente für Betriebsdateien und Verzeichnisse bereit (Programmsegmente, die aus mehreren Anweisungen bestehen).
  • Ordnen Sie Dateien sekundären Speichergeräten wie Festplatten zu
  • Sichern Sie Dateien auf stabilen Speichermedien

E / A-Geräteverwaltung

Ein Zweck des Betriebssystems besteht darin, die Eigenschaften bestimmter Hardwaregeräte vor Benutzern zu verbergen. Die Verwaltung von E / A-Geräten ist für die Verwaltung einer Vielzahl von E / A-Geräten und die Lösung des Problems
der Eingabe und Ausgabe von Informationen im Computer verantwortlich .

um zusammenzufassen

Dieser Artikel stellt hauptsächlich das Betriebssystem kurz vor. Er ist in vier Abschnitte unterteilt. In den ersten beiden Abschnitten wird erläutert, was ein Betriebssystem ist, und es wird die Entwicklung des Betriebssystems vorgestellt. In den nächsten beiden Abschnitten werden die Bedienung und Funktionen des Betriebssystems vorgestellt und erläutert, was das Betriebssystem aus einer Makroperspektive tun kann.

Kennwort ist nicht einfach, wenn Sie können, geben Sie mir ein 点赞, 收藏, 关注

wenn Sie wie in meinem Artikel, begrüßen die Aufmerksamkeit auf die Mikrokanal öffentliche Nummer R O b O d

Ich denke du magst

Origin blog.csdn.net/weixin_43461520/article/details/108427132
Empfohlen
Rangfolge