Benötigt ein Betriebssystem selbst Ressourcen (abgesehen von dem Speicherplatz, auf dem es installiert ist)?

550
Celeritas

Ich habe gerade einen Kurs über Betriebssysteme absolviert und die Definition eines Betriebssystems ist mir immer noch unklar. Belegt ein Betriebssystem selbst Ressourcen wie CPU und Speicher? Zum Beispiel muss der Planungsalgorithmus etwas Rechenleistung benötigen, um Aufgaben zu vergleichen, um zu sehen, welche Daten zuerst ankommen und welche Datenstruktur die Aufgaben enthalten, beansprucht Speicherplatz.

Das Wissen, was mit virtuellem Speicher zu tun ist, muss auch Berechnungen erfordern, die Ressourcen beanspruchen, oder?

Hypothetisch gesprochen, wenn ein Computer mit einem Programm und keinem Betriebssystem das Programm ausführte, würde das Programm schneller als auf demselben Computer, jedoch mit einem Betriebssystem ausgeführt. Ist das wahr?

EDIT: Ich stimme zu, dass der Kurs totaler Mist war, zu Vergnügungszwecken hier ist die Definition des Betriebssystems, das uns gegeben wurde

Was sind Betriebssysteme? • Mehrere mögliche Definitionen 1.Der Code, den bereitstellt 2.Der Code, von dem Sie abhängig sind, dass Sie auch nicht geschrieben haben 3.Der Code, der im privilegierten Modus ausgeführt wird 4.Der Code, der Dinge erzeugt Arbeit 5. Der Code, der die Dinge zum Absturz bringt (eher zynische Definition) 6. Und viele andere ...

Was sind Betriebssysteme? • Eine Abstraktion - bietet eine geeignete Schnittstelle für Anwendungen, die auf einem Computer ausgeführt werden, um auf die Ressourcen des Computers zuzugreifen - vieles hängt davon ab, wie wir "angemessen" definieren. • Ein Weg, um verschiedene Anliegen zu berücksichtigen: Leistung in Zeit - Leistung in Space Sharing und Ressourcenmanagement - Fehlertoleranz - Sicherheit - Marktfähigkeit

Dieser Spott eines Lehrbuchs, für das wir mehr als 100 Dollar ausgeben mussten, definiert Betriebssysteme als "es ist Software, von der fast alles andere abhängt. Dies ist immer noch vage, aber der Begriff wird in der gesamten Branche in einer ziemlich nebulösen Weise verwendet".

3
Ich habe noch nie ein Programm gesehen, das ohne Betriebssystem läuft. Es sei denn, das Programm ist das Betriebssystem. Darius vor 10 Jahren 0
@Darius ach wirklich nicht mal bei eingebetteten Geräten? Mein Rechner [Ti-86] (http://en.wikipedia.org/wiki/TI-86) hat ein "Programm", das die quadratische Formel für mich ausführt. Celeritas vor 10 Jahren 0
Wenn ein Programm ohne Betriebssystem ausgeführt wird, muss es einen Großteil dessen ausführen, was ein Betriebssystem tut. Für einige Beispiele, die dies tun, schauen Sie sich programmierbare Steuerungen an. hildred vor 10 Jahren 0
@Celeritas, wenn Sie den Z80-Assembler verwenden, sind Sie * nah * am System, aber selbst dann hat der Rechner noch eine Art Betriebssystem, sonst wären Ihre Programme viel komplexer und enthalten Maschinencode auf niedriger Ebene selbst grundlegende Dinge zu tun (ganz zu schweigen mit TI-BASIC). Zumindest * läuft * ein Betriebssystem *. Beispielsweise können Assemblierungsprogramme in DOS die Hardware bearbeiten, aber sie * laufen immer noch unter DOS *. Synetech vor 10 Jahren 0
@Celeritas Mein Wissen ist begrenzt, aber ich verstehe, wenn das "Programm", das die eingebetteten Geräte ausführt, nicht das Betriebssystem des Geräts ist, wie würde es heißen? Und ich gehe davon aus, dass alle anderen Berechnungen oder Funktionen zusätzliche Programme sind, die auf dem Basisbetriebssystem ausgeführt werden. Meine Vermutung: Betriebssystem des Rechners wäre einfach "Anzeige auf Bildschirm" und "Übernehmen-Taste drückt für Bildschirmanzeige und Berechnung". Die eigentliche Berechnung (quadratische Formel) wäre jedoch ein Programm, das das Betriebssystem aufrufen kann, um ein Ergebnis zu generieren. (korrigiere mich wenn ich falsch liege) Darius vor 10 Jahren 0
@Celeritas Was für ein Zeug war der Kurs, den Sie besucht haben? crdx vor 10 Jahren 0
@crdx IMO konzentrierte sich hauptsächlich auf Prozesse und Threads und damit zusammenhängende Themen, z. B. Scheduling-Algorithmen, gemeinsam genutzter Adressraum, Parallelität usw. Celeritas vor 10 Jahren 0

2 Antworten auf die Frage

10
Synetech

Benötigt ein Betriebssystem selbst Ressourcen (abgesehen von dem Speicherplatz, auf dem es installiert ist)?

Ja.

Ich habe gerade einen Kurs über Betriebssysteme absolviert und die Definition eines Betriebssystems ist mir immer noch unklar.

Auf einer niedrigen Ebene unterscheidet sich ein Betriebssystem nicht von anderen Programmen. Letztendlich ist es nichts weiter als eine Reihe von CPU-Anweisungen. Der einzige Unterschied besteht darin, dass die Anweisungen eines Betriebssystems etwas (mehr oder weniger) anders sind als die eines Programms.

Ein Betriebssystem lässt sich am besten als Meta-Programm beschreiben . Das heißt, anstatt etwas zu tun, ermöglicht das Programm, dass andere Programme etwas tun.

Belegt ein Betriebssystem selbst Ressourcen wie CPU und Speicher?

Ja bitte.

Zum Beispiel muss der Planungsalgorithmus etwas Rechenleistung benötigen, um Aufgaben zu vergleichen, um zu sehen, welche Daten zuerst ankommen und welche Datenstruktur die Aufgaben enthalten, beansprucht Speicherplatz.

Genau. Die Funktionen des Betriebssystems sind nur Stapel von CPU-Anweisungen. Wie Funktionen in einem Anwenderprogramm beanspruchen sie Speicherplatz und müssen auf der CPU laufen.

Das Wissen, was mit virtuellem Speicher zu tun ist, muss auch Berechnungen erfordern, die Ressourcen beanspruchen, oder?

Natürlich.

Hypothetisch gesprochen, wenn ein Computer mit einem Programm und keinem Betriebssystem das Programm ausführte, würde das Programm schneller als auf demselben Computer, jedoch mit einem Betriebssystem ausgeführt. Ist das wahr?

Leicht.

Denken Sie daran, dass CPUs sehr schnell sind und viele Anweisungen in kurzer Zeit ausführen können . Darüber hinaus wurden Betriebssysteme so konzipiert und optimiert, dass sie so optimal wie möglich sind, so dass sie (zumindest theoretisch) so wenig CPU und Speicher wie möglich benötigen. Daher benötigen die Algorithmen, die sie für Dinge wie Planung, Speicherverwaltung, Task-Switching, Hardware-Betrieb usw. verwenden, relativ wenig Ressourcen. Sie können dies in einem Task-Manager sehen. Wenn keine Programme ausgeführt werden und das Betriebssystem auf ein Minimum reduziert ist, wird nur sehr wenig Speicher verwendet und die CPU läuft auf „0%“. (Wieder reden wir theoretisch; Windows zum Beispiel ist in letzter Zeit "aufgebläht", daher trifft es möglicherweise nicht mehr zu.)

-6
anon

Wenn Sie gerade einen Kurs über Betriebssysteme abgeschlossen haben, sollten Sie Ihr Geld zurückfordern. Ihre Frage ist so naiv, ich kann nicht wirklich glauben, dass Sie nicht nach der Lösung einer Hausaufgabenfrage suchen.

Die moderne Ansicht eines Betriebssystems ist eine Sammlung von Dienstanbietern, mit denen Anwendungen auf Ressourcen auf dem Computer zugreifen können, z. B. Arbeitsspeicher, CPU und E / A-Geräte. Wo genau die Grenze zwischen Betriebssystem und Anwendung gezogen wird, ist eine religiöse Angelegenheit (siehe Debatten zwischen Andrew Tanenbaum und Linus Torvalds).

Moderne Betriebssysteme dienen dazu, isolierte Maschinenabstraktionen für Anwendungen darzustellen, z. B. kann Ihre Anwendung den Speicher nicht erreichen, der von meiner Anwendung verwendet wird. Um dies auf sichere und sichere Weise zu erreichen, wird der kritische Code zum Verwalten der Abstraktion im Allgemeinen als so genannter OS-Kernel isoliert. Wiederum ist die Grenze zwischen dem, was im Kernel läuft, und der gemeinsam genutzten Bibliothek für den Benutzerbereich offen.

Wirklich, wenn diese Art von Sachen in Ihrem OS-Kurs nicht behandelt wurde, was war der Teufel?

Die Frage ist nicht * Was ist ein Betriebssystem? * Oder sogar * Wodurch unterscheidet sich ein Betriebssystem von einem Programm? * Ist es *, ob ein Betriebssystem Ressourcen verwendet *. Ich bin mir sicher, dass eine der vorherigen Fragen bereits existiert, also können Sie Ihre Antwort auf eine Frage stellen, bei der es angemessener ist (vorausgesetzt natürlich, dass es Ihre Absicht war, Informationen zu geben und nicht nur Beleidigungen). Synetech vor 10 Jahren 2
Jede grundlegende Definition eines Betriebssystems sollte für jeden, der aufmerksam ist, bedeuten, dass Ressourcen verwendet werden. Wenn das Originalposter die richtige Definition eines Betriebssystems kennen würde, wäre die Frage nach der Ressourcennutzung sehr umstritten. anon vor 10 Jahren 0
@anon - Ich stimme vielleicht zu, dass jemand, der gerade einen College-Kurs in Betriebssystemen besucht hat und eine Frage stellt, wenn das Betriebssystem selbst CPU-Ressourcen verwendet, naiv ist, Ihre vollständige und vollständige Missachtung des Gefühls des Autors nicht wirklich geschätzt wird und der einzige ist Grund, warum ich ein Downvote abgegeben habe. Mit anderen Worten, durch Beleidigungen zu werfen, wird Ihnen keinen guten Ruf verschaffen und wahrscheinlich dazu führen, dass Sie keine Antworten posten können. Ramhound vor 10 Jahren 2
Oder noch wichtiger als die Emotionen: Die Antwort geht einfach nicht auf die Frage ein. Auch ich finde die Antwort trivial (zumindest für mich selbst mit jahrelangen Computerkenntnissen), aber ich kann mir das vorstellen, auch jemanden, der an einem OS-Kurs teilgenommen hat (der möglicherweise nicht so kompliziert ist wie derjenige, den ich habe) einmal genommen) kann es nicht ganz richtig verstehen oder einfach nur überwältigt und verwirrt sein von der Menge an detaillierten Informationen. Deshalb habe ich versucht, eine prägnante Antwort zu veröffentlichen, die jeden Punkt anspricht, um die tatsächlich gestellte Frage zu beantworten. Synetech vor 10 Jahren 0
Ernste Frage: Mein Lehrbuch hat im Wesentlichen wörtlich gesagt, dass die Definition des Betriebssystems nicht eindeutig ist und häufig auf verschiedene Weise verwendet wird. Ist dies richtig? Celeritas vor 10 Jahren 0