Ich habe gerade einen Kurs über Betriebssysteme abgeschlossen und die Definition eines Betriebssystems ist mir immer noch unklar. Beansprucht jedes Betriebssystem selbst Ressourcen wie CPU und Speicher? Beispielsweise muss der Planungsalgorithmus eine gewisse Verarbeitungsleistung benötigen, um Aufgaben zu vergleichen und zu sehen, welche zuerst ausgeführt wird, und die Datenstruktur, in der die Aufgaben gespeichert sind, nimmt Speicherplatz in Anspruch.
Auch um zu wissen, was mit dem virtuellen Speicher zu tun ist, sind Berechnungen erforderlich, die Ressourcen beanspruchen, nicht wahr?
Hypothetisch betrachtet würde ein Programm auf einem Computer ohne Betriebssystem schneller abgeschlossen werden, als auf demselben Computer mit Betriebssystem. Stimmt das?
EDIT: Ich stimme zu, der Kurs war totaler Mist, zur Unterhaltung hier die Definition von OS, die wir bekommen haben
Was sind Betriebssysteme? • Mehrere mögliche Definitionen 1. Der Code, den {Microsoft, Apple, Linux-Community, Google} bereitstellt. 2. Der Code, auf den Sie sich verlassen und den Sie nicht selbst geschrieben haben. 3. Der Code, der im privilegierten Modus ausgeführt wird. 4. Der Code, der dafür sorgt, dass Dinge funktionieren. 5. Der Code, der Dinge zum Absturz bringt (eher zynische Definition). 6. Und viele andere ...
Was sind Betriebssysteme? • Eine Abstraktion – Bereitstellung einer geeigneten Schnittstelle für Anwendungen, die auf einem Computer ausgeführt werden, um auf die Ressourcen dieses Computers zuzugreifen – vieles hängt davon ab, wie wir „geeignet“ definieren • Eine Möglichkeit, verschiedene Probleme anzugehen – Leistung in der Zeit – Leistung im Raum – gemeinsame Nutzung und Ressourcenverwaltung – Fehlertoleranz – Sicherheit – Marktfähigkeit
Diese Verhöhnung eines LehrbuchsWir mussten über 100 $ dafür ausgeben. Betriebssysteme werden wie folgt definiert: „Das ist die Software, von der fast alles andere abhängt. Das ist noch vage, aber der Begriff wird in der gesamten Branche auf ziemlich vage Weise verwendet.“
Antwort1
Nimmt ein Betriebssystem selbst Ressourcen in Anspruch (abgesehen vom Speicherplatz, auf dem es installiert ist)?
Ja.
Ich habe gerade einen Kurs über Betriebssysteme abgeschlossen und die Definition eines Betriebssystems ist mir immer noch unklar.
Auf einer niedrigen Ebene unterscheidet sich ein Betriebssystem nicht von jedem anderen Programm. 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) anderes tun als die eines Programms.
Ein Betriebssystem lässt sich am besten beschreiben alsMeta-Programm. Das heißt, stattetwas machenDas Programm ermöglicht es,andereProgramme, um etwas zu tun.
Beansprucht ein Betriebssystem selbst Ressourcen wie CPU und Speicher?
Ja natürlich.
Beispielsweise muss der Planungsalgorithmus eine gewisse Verarbeitungsleistung aufwenden, um Aufgaben zu vergleichen und zu sehen, welche zuerst ausgeführt werden, und die Datenstruktur, in der die Aufgaben gespeichert sind, nimmt Speicherplatz in Anspruch.
Genau. Die Funktionen des Betriebssystems sind einfach eine Ansammlung von CPU-Anweisungen, und wie Funktionen in einem Benutzerprogramm beanspruchen sie Speicherplatz und müssen auf der CPU ausgeführt werden.
Auch um zu wissen, was mit dem virtuellen Speicher zu tun ist, sind Berechnungen erforderlich, die Ressourcen beanspruchen, nicht wahr?
Natürlich.
Hypothetisch betrachtet würde ein Programm auf einem Computer ohne Betriebssystem schneller abgeschlossen werden, als auf demselben Computer mit Betriebssystem. Stimmt das?
Leicht.
Bedenken Sie, dass CPUs sehr schnell sind und einevielAnweisungen in kurzer Zeit ausführen. Darüber hinaus wurden Betriebssysteme so konzipiert und optimiert, dass sie so optimal wie möglich sind, sodass sie so wenig CPU und Speicher wie möglich verbrauchen (zumindest theoretisch). Daher verbrauchen die Algorithmen, die sie für Dinge wie Planung, Speicherverwaltung, Task-Umschaltung, Hardware-Steuerung usw. verwenden, relativ wenig Ressourcen. Sie können dies in einem Task-Manager sehen; wenn keine Programme ausgeführt werden und das Betriebssystem auf das Minimum reduziert ist, wird sehr wenig Speicher verwendet und die CPU läuft mit „0 %“. (Wiederum sprechen wir theoretisch; Windows zum Beispiel ist in letzter Zeit „aufgebläht“, daher trifft dies möglicherweise nicht mehr darauf zu.)
Antwort2
Wenn Sie gerade einen Kurs über Betriebssysteme abgeschlossen haben, sollten Sie Ihr Geld zurückverlangen. Ihre Frage ist so naiv, dass ich nicht wirklich glauben kann, dass Sie nicht nach der Lösung einer Hausaufgabe suchen.
In der modernen Sichtweise ist ein Betriebssystem eine Sammlung von Dienstanbietern, die Anwendungen nutzen können, um auf Ressourcen des Computers zuzugreifen, wie etwa Speicher, CPU und E/A-Geräte. Wo genau die Grenze zwischen Betriebssystem und Anwendung verläuft, ist eine religiöse Angelegenheit (siehe Debatten zwischen Andrew Tanenbaum und Linus Torvalds).
Moderne Betriebssysteme dienen dazu, Anwendungen isolierte Maschinenabstraktionen zu präsentieren. Ihre Anwendung kann beispielsweise nicht auf den von meiner Anwendung verwendeten Speicher zugreifen. Um dies auf sichere Weise zu tun, wird der kritische Code zur Verwaltung der Abstraktion im Allgemeinen in etwas isoliert, das als Betriebssystemkernel bezeichnet wird. Auch hier ist die Grenze zwischen dem, was in den Kernel gehört, und dem, was eine gemeinsam genutzte Bibliothek im Benutzerbereich ist, umstritten.
Im Ernst, wenn diese Dinge in Ihrem Betriebssystemkurs nicht behandelt wurden, was zum Teufel wurde dann behandelt?