Warum können Betriebssysteme heruntergefahren werden? [Duplikat]

10

Windows 98-Bildschirm zum Herunterfahren
(Quelle: ytimg.com )

Ich möchte wissen, warum Betriebssysteme das Herunterfahren mithilfe einer Option erfordern. Warum kann ich mich nicht einfach mit einem mechanischen Schalter ausschalten?

Kann ich die Hardware beschädigen oder meine Daten beschädigen, wenn ich einen Computer ständig herunterfahre, ohne die Betriebssystemoption zu verwenden?

Zur Verdeutlichung: Ich möchte einen Intel Compute Stick als Media Player verwenden, der an einen Projektor angeschlossen ist, damit er von einem elektrischen Schalter gesteuert wird. Auf dem Computer wird nur das Video ausgeführt und es werden keine Programme installiert. Der Computer hat keinen Internetzugang.

IAmJulianAcosta
quelle
30
Was hat Ihnen Ihre Forschung gesagt? Eine schnelle Google-Suche nach "Warum muss ich meinen Computer herunterfahren, anstatt den Strom zu ziehen?" Findet zahlreiche Antworten ... Und ja, Sie können Ihre Hardware beschädigen, aber die Risiken sind gering, aber es besteht definitiv die Möglichkeit Daten beschädigen oder verlieren.
Acejavelin
1
Wenn Ihre Hardware dies unterstützt und das System, mit dem Sie arbeiten, im schreibgeschützten Modus vollständig auf Speicher zugreift und das System keine Hardware betreibt, die mit einem bestimmten Verfahren heruntergefahren werden muss (z. B. einige TV-Tunerkarten, Modems, ...) Dann ist es kein Problem, nur die Stromversorgung zu unterbrechen. Solche Systeme sind jedoch ziemlich schwer zu finden.
Daniel Jour
1
Ältere Hardware war weniger tolerant gegenüber plötzlichen Stromausfällen. Moderne Hardware toleriert jedoch plötzliche Stromausfälle. Desktop-Systeme erfordern in der Regel ein ordnungsgemäßes Herunterfahren. Eingebettete Systeme können plötzliche Stromausfälle tolerieren. Embedded Linux verwendet häufig JFFS2- und UBIFS-Dateisysteme. "Sowohl UBI (siehe hier ) als auch UBIFS sind tolerant gegenüber Stromausfällen und wurden unter Berücksichtigung dieser Eigenschaft entwickelt." . Beachten Sie, dass dies lesbare / beschreibbare Dateisysteme sind.
Sägemehl
1
@DrZoo war (ist) in XP identisch, wenn Sie es auf einem System ohne ATX-Netzteil ausführen. Ich habe ein Testkit mit einem eingebauten Standard-XP-Pro-PC verwendet.
Chris H

Antworten:

41

Dies hängt davon ab, was zu dem Zeitpunkt mit dem System passiert, zu dem Sie den Strom plötzlich abschalten möchten. Wenn das System mit dem Schreiben wichtiger Daten beschäftigt ist und Sie den Strom abschalten, können Sie möglicherweise Daten beschädigen oder das Betriebssystem beschädigen. Es gibt viele Dinge, die Sie nicht wirklich sehen. Wenn Sie einen Hard-Reset durchführen, müssen Sie sich meistens Sorgen machen, dass etwas mit der Software zu tun hat. Bei der Hardware sollten keine Probleme auftreten. Auf Holz klopfen

Sie möchten es sich nicht zur Gewohnheit machen, die Abschaltmethode zu umgehen und den Strom abzuschalten. Es wäre nur eine Frage der Zeit, bis etwas beschädigt wird und Sie das Betriebssystem neu installieren müssen.

In einigen Fällen ist ein Hard-Reset die einzige Wahl, die Sie haben. Wenn Ihr Computer abstürzt und Sie ihn nicht dazu bringen können, etwas zu tun, welche andere Option gibt es?

Der Ursprung dieses Bildschirms liegt bei Windows 9X Systems, wo die Meldung angezeigt wird, wenn Windows erfolgreich unter MS-DOS heruntergefahren wurde, jedoch nicht so konfiguriert ist, dass die Eingabeaufforderung (COMMAND.COM) erneut angezeigt wird. Auf Systemen mit ordnungsgemäßer ACPI-Unterstützung und ATX-Stromversorgung wird der PC möglicherweise stattdessen ausgeschaltet.

In jeder Situation, in der Sie einen Hard-Reset durchführen, rufen Sie an Ihrem PC unbedingt " Ich bin der Herr der Elektrizität !!!" . Zeigen Sie, wer der Boss ist.

DrZoo
quelle
26
Die letzte Zeile ... leider hat es nicht das gleiche Gefühl, wenn es sich um eine virtuelle Maschine handelt
Burgi
14
@ Burgi " Ich bin der Baron der Elektrizität !!! * " - behoben?
CorsiKa
5
@ Burgi " Ich bin der König der Bits !!! "
hBy2Py
5
In Bezug auf die Hardware verstehe ich, dass das Ziehen der Stromversorgung dazu führt, dass eine Festplatte einen "Notfallpark" durchführt. Während dies normalerweise verhindert, dass das Laufwerk beschädigt wird, sind Festplatten für eine viel geringere Anzahl von Notfallparks als für normale (befohlene) Parks ausgelegt, sodass sich das Laufwerk möglicherweise schneller abnutzt.
Nate Eldredge
6
Auf einem modernen Dateisystem mit Journal müssen Sie das Betriebssystem unter normalen Umständen nicht neu installieren. Sie könnten jedoch plausibel viele Anwendungsdaten verlieren, von denen Sie dachten, Sie hätten sie auf der Festplatte gespeichert.
Kevin
27

Computer sind so konzipiert, dass sie schnell sind. Das kann Betrug beinhalten. Wenn ein Computer beispielsweise Daten schreiben soll, speichern Computer möglicherweise Daten im RAM, anstatt sie auf eine Festplatte zu schreiben. Dies geschieht, weil RAM viel schneller ist.

Durch das Herunterfahren wird der Computer angewiesen, die Puffer zu leeren, um die Speicherung von Daten im RAM zu beenden und sich darauf vorzubereiten, dass das System Strom verliert. Wenn Sie tatsächlich Strom verlieren, bevor Sie sicherstellen, dass alle diese Daten ordnungsgemäß geschrieben wurden, können Daten verloren gehen.

Ein Teil der Details der Struktur des Dateisystem-Volumes wird vom Dateisystem-Handhabungscode des Betriebssystems (manchmal auch als Dateisystemtreiber bezeichnet) behandelt. Oft verwenden die Dateisysteme Tabellen. (Visuell können Sie sich diese Diagramme vorstellen.) Stellen Sie sich vor, Sie schreiben eine Multiplikationstabelle und es heißt:
2 4 6 8 10 12 14 1

Zunächst hat jede Spalte nur eine Zeile. Multiplikationsprobleme sollen aus drei Teilen bestehen (zwei multiplizierten Zahlen (Multiplikand und Multiplikator) und einer Antwort (Produkt)). Hier sehen wir nur eine Reihe einzelner Zahlen, sodass wir nicht einmal ein vollständiges Beispiel für ein Multiplikationsprodukt haben. Was wir haben, ist nutzlos.

Zweitens ist das, was wir haben, tatsächlich schlimmer als nutzlos. Manchmal ist das einzige, was schlimmer ist als fehlende Informationen (was dazu führt, dass Sie keine Fortschritte machen, während Sie die benötigten Informationen herausfinden), vertrauenswürdige irreführende Informationen, die dazu führen, dass Sie Ressourcen ausgeben, um in eine nutzlose, schlechte Richtung zu gehen. In diesem Fall haben Sie gegen Ende ungültige Daten: eine Eins anstelle einer 16. (Die Idee hier ist, dass das Diagramm plötzlich nicht mehr aktualisiert wird, bevor die gesamte Zahl "16" richtig notiert wurde.) Wenn Sie dies nicht zulassen Wenn der Computer seine Diagramme korrekt ausfüllt, kann dies zu Verwirrung führen. (Wenn der Computer angewiesen wird, einige Daten zu aktualisieren, und er auf Position 16 schreiben soll ... möchten Sie nicht, dass er auf Position 1 schreibt!) Der Computer stützt sich auf Tabellen, die dieser Art sehr ähnlich sind.

Ein weiteres Beispiel ist der virtuelle Speicher. Wenn einem Computer der Arbeitsspeicher ausgeht, kann er Speicherplatz auf einer Festplatte verwenden, um Details zu verfolgen. Zum Beispiel haben Sie vielleicht ein Dokument mit fünfzig Seiten in einem Textverarbeitungsprogramm. Der Computer verfolgt die Tatsache, dass das Textverarbeitungsprogramm geöffnet ist, und verfolgt die ersten 12 Seiten. Die verbleibenden 38 Seiten werden jedoch auf der Festplatte im sogenannten "virtuellen Speicher" gespeichert. Beim Herunterfahren durchläuft der Computer den gesamten Prozess des Herunterfahrens von Programmen, wodurch RAM freigegeben wird, und verwendet schließlich den "virtuellen Speicher", um das Textverarbeitungsprogramm ordnungsgemäß zu handhaben. Wenn Sie einfach die Stromversorgung verloren haben, läuft das Textverarbeitungsprogramm nicht mehr (weil alles stoppt). Wenn der Computer dann startet, Der virtuelle Speicher enthält die Daten der 38 Seiten des Dokuments, die in einem Textverarbeitungsprogramm geöffnet wurden. Der Computer weiß nicht einmal, dass die Daten von einem Textverarbeitungsprogramm verwendet wurden. Durch das Herunterfahren können solche Dinge erledigt werden, während der Computer diese Details verfolgen kann.

Im Vergleich zu Windows 95 war MS-DOS bei plötzlichen Stromausfällen widerstandsfähiger (weniger anfällig für Probleme). (Ein Teil dieser erhöhten Sicherheitsanfälligkeit war auf die Fähigkeit von Windows 95 zurückzuführen, Multitasking zu betreiben und virtuellen Speicher zu verarbeiten.) Die Anfälligkeit des Computers für ungültige Herunterfahren oder auch wenn überhaupt ein offizielles Herunterfahren erforderlich ist, hängt davon ab, welches Betriebssystem verwendet wird. Die meisten modernen Betriebssysteme sind so konzipiert, dass sie ein ordnungsgemäßes Herunterfahren erfordern, da Betriebssysteme mit einer solchen Anforderung einfacher zu entwerfen sind. Es gibt keinen Grund, der der Fall sein muss, und tatsächlich erlauben einige Betriebssysteme nanobsd einer Person, es einfach auszuschalten. Auf einer Seite zu nanobsd heißt es beispielsweise : " Zur Laufzeit ist alles schreibgeschützt. Es ist sicher, den Netzstecker zu ziehen."Auf der Homepage von resflash steht ein Aufzählungspunkt: "Strom kann jederzeit sicher verloren gehen." Es gibt also keinen Grund, warum das absolute Herunterfahren eine Anforderung sein muss, die Betriebssystementwickler beim Erstellen des Entwurfs eines Betriebssystems auferlegen. Das Herunterfahren ist einfach eine Anforderung, die durchaus üblich ist.

TOOGAM
quelle
1
"Wenn der Computer dann startet, sieht er, dass der virtuelle Speicher die Daten von den 38 Seiten des Dokuments enthält, die in einem Textverarbeitungsprogramm geöffnet wurden." - Es ist egal, es behandelt dies als Mülldaten und verwendet es nicht, bis es überschrieben wird. (Denn was würden Sie erwarten, dort zu sein? Es wird nie etwas Nützliches sein)
user253751
1
"Es ist egal, es wird dies als Müll behandeln" - richtig. Deshalb sagte mein nächster Satz (nach dem von Ihnen zitierten): "Der Computer weiß nicht einmal, dass die Daten von einem Textverarbeitungsprogramm verwendet wurden." Es verlor den Überblick über diese Tatsache.
TOOGAM
Was ich meine ist, dass das keine Probleme verursacht.
user253751
" Die meisten modernen Betriebssysteme sind so konzipiert, dass sie mit einer solchen Anforderung einfacher zu entwerfen sind. " IMO ist dies eine übermäßige Vereinfachung. Wir können Stillstände vermeiden, aber zu sehr teuren Kosten. Kein Caching, keine Möglichkeit, Hintergrundprozesse (Server, Backup-Manager, Updates) zu benachrichtigen. Auch moderne Hardware wird mit PIO nicht mehr verwendet, aber mit DMA weisen Sie die Festplatte und die Netzwerkkarte an, Daten aus dem RAM zu lesen, und sie benachrichtigen Sie, wenn Sie fertig sind. Was passiert, wenn die Stromversorgung zwischen den Festplatten verloren geht und aus dem Cache auf die Platten geschrieben wird? Lassen Sie das Betriebssystem entscheiden, um wie viel das Herunterfahren verzögert werden soll. Es weiß es besser.
Margaret Bloom
5

In den Tagen von MS-DOS würde das Abschalten der Stromversorgung des Computers im Allgemeinen zum Verlust von Informationen führen, die im RAM gespeichert, aber nicht auf der Festplatte gespeichert waren, aber die auf der Festplatte gespeicherten Informationen nicht beeinträchtigten. Durch das Speichern von Informationen auf der Festplatte werden die alten Informationen jedoch häufig zumindest geringfügig unlesbar, bevor die neue Version lesbar ist. Ein Stromausfall zwischen der Zerstörung der alten Version und der neuen schriftlichen Version würde dazu führen, dass keine Version der Informationen mehr verfügbar ist. Wenn es sich bei den fraglichen Informationen um eine Verzeichnisstruktur handelt, können große Bereiche der Festplatte im Wesentlichen nicht zugänglich sein.

Wenn man Software verwendet, die Informationen nur dann auf die Festplatte schreibt, wenn man ausdrücklich dazu aufgefordert wird, sollte man nicht versehentlich Informationen auf der Festplatte blockieren, vorausgesetzt, man unterbricht die Stromversorgung nicht sofort, nachdem man das System aufgefordert hat, auf die Festplatte zu schreiben. Moderne Systeme haben jedoch häufig eine oder mehrere Aufgaben, bei denen Informationen zu Zeiten auf den Datenträger geschrieben werden, die der Benutzer nicht unbedingt erwartet. Wenn das System kurz vor dem Stromausfall des Benutzers mit dem Schreiben von Informationen beginnt, kann dies zu einer Beschädigung der Festplatte und zu Datenverlust führen.

Ein Teil des Zwecks der Auswahl von "Herunterfahren" besteht darin, die Möglichkeit auszuschließen, dass das System spontan alle Aktionen startet, die Daten auf die Festplatte schreiben, während der Benutzer die Stromversorgung abschaltet. Alle Aktionen, die nicht ausgelöst werden, bevor die Meldung "Sie können Ihren Computer jetzt herunterfahren" angezeigt wird, können erst nach dem Neustart des Systems ausgelöst werden. Es besteht also keine Gefahr, dass etwas passiert, wenn der Benutzer den Stecker zieht.

Superkatze
quelle
1
Selbst in den DOS-Tagen war es eine wirklich schlechte Idee. Wenn eine Datei aktualisiert wurde, die FAT jedoch nicht aktualisiert wurde, wird eine beschädigte Datei angezeigt.
Dewi Morgan
1
@DewiMorgan: In den DOS-Tagen gab es Dienstprogramme für das Zurückschreib-Caching, aber jede eigenständige Version von DOS, an die ich mich erinnern kann, verwendete das Durchschreib-Caching als normales Verhalten. Was würde man sonst tun, um das System zu benachrichtigen, das heruntergefahren werden soll?
Supercat
3
@ DewiMorgan: Ich weiß, dass einige alte Festplatten Head-Park-Dienstprogramme hatten, aber diese waren ziemlich veraltet, lange bevor Windows 95 DOS ersetzte.
Supercat
1
supercat: Nein, MS-DOS hat ein solches Caching nur durchgeführt, wenn Sie dafür eine Software wie das mitgelieferte SmartDrv ausgeführt haben. Wie Sie benachrichtigen würden, dass das System heruntergefahren werden soll, ist zu verwenden SmartDrv/C. (Ich glaube, das Standardverhalten in Bezug auf das Zwischenspeichern von Schreibvorgängen war zwischen MS-DOS 5.0 und 6.22 unterschiedlich. Ich kann mich nicht ohne weiteres daran erinnern, ob das Upgrade 5.0-> 6.0 oder ein späteres Upgrade die Änderung vorgenommen hat.) Wenn ich recht erinnere, einer des späteren Upgrades (ab 6 oder höher) verursachte smartdrv automatisch das tun lassen , bevor Command.Com die Aufforderung zeigt wieder, so sicher ausgeschaltet , wenn bei der Aufforderung
TOOGAM
1
@Supercat Soweit ich weiß, schützt das Durchschreib-Caching einen einzelnen Datenblock vor Beschädigung während eines Schreibvorgangs. Es schützt nicht zwei verschiedene Blöcke (FAT und Dateiinhalte) vor einer Synchronisation, wenn die Stromversorgung zwischen dem Schreiben des einen oder des anderen unterbrochen wird.
Dewi Morgan
4

Es gibt zwei Hauptgründe, warum Computersysteme ordnungsgemäß heruntergefahren werden müssen:

Anwendungsstatus

Viele Anwendungen haben einen Status, der in einen permanenten Speicher geschrieben werden muss. Das offensichtliche Beispiel ist ein Datenbankserver, aber selbst meistgelesene Anwendungen wie Web- oder NTP-Server können Protokolle oder Statistiken schreiben, die möglicherweise unverständlich sind, wenn ein Schreibvorgang unterbrochen wird.

Dieses Problem kann möglicherweise behoben werden, wenn die betreffenden Anwendungen Dateien nicht direkt lesen oder schreiben, sondern diese Vorgänge über einen Transaktionsmechanismus ausführen, z. B. das Schreiben in eine relationale Datenbank.

Dateisystemstruktur

Da das Betriebssystem Dateien im Namen der Anwendungen schreibt, werden Schreibvorgänge möglicherweise gepuffert, bis die Datenträger aufholen. Dies bedeutet, dass die Schreibvorgänge der Anwendungen erst einige Zeit später abgeschlossen werden. Energiesparmechanismen erhöhen hier tendenziell die Verzögerung, sodass Sie einen Kompromiss zwischen Energieverbrauch und Datensicherheit haben.

Während Daten auf die Festplatte geschrieben werden, gibt es Punkte, an denen die Dateisystemdaten inkonsistent sind. Moderne Dateisystemimplementierungen achten darauf, die Zeiträume zu minimieren, können jedoch nicht vollständig beseitigt werden. Wenn beispielsweise ein Block aus der freien Liste genommen wird, gibt es ein kurzes Fenster, in dem er weder zugewiesen noch frei ist. Dieses Konsistenzproblem ist der Grund, warum ein Betriebssystem nach einem unsauberen Herunterfahren beim nächsten Start eine Dateisystemprüfung durchführen muss, um alle Blöcke zu untersuchen und sicherzustellen, dass sie korrekt berücksichtigt werden.

Journalling-Dateisysteme erleichtern dies in gewissem Maße, indem beabsichtigte Änderungen in einem Protokoll aufgezeichnet werden, bevor sie tatsächlich ausgeführt werden. Dann kann die Dateisystemprüfung viel schneller ausgeführt werden, indem alle vollständigen Protokolleinträge wiedergegeben und unvollständige verworfen werden.

Probleme mit der Dateisystemkonsistenz können vermieden werden, indem keine lokalen Festplatten vorhanden sind und das Root-Dateisystem über NFS bereitgestellt wird. Der Verlust zwischengespeicherter Schreibvorgänge ist für diese Systeme jedoch weiterhin ein Problem. Die einzigen Systeme, die ich bereit bin, ohne Herunterfahren auszuschalten, sind solche, auf denen die Festplatten schreibgeschützt montiert sind (meistens eingebettete Systeme wie mein Empeg Car-Musikplayer, aber auch ein paar festplattenlose Webbrowser-Terminals, die ich lüge für Besucher).

TL; DR

Das Schreiben von Daten in den permanenten Speicher muss vor dem Ausschalten abgeschlossen sein. Wenn Sie keinen beschreibbaren Speicher haben, ist das Risiko eines Stromausfalls gering.

Toby Speight
quelle
-1

Denn wenn eine Deskriptordatei geöffnet ist, kann sie eine wichtige Datei beschädigen und das Betriebssystem tot lassen

Ricardo Luna
quelle
15
Willkommen bei Super User. Ein häufiger Fehler, den neue Benutzer machen, besteht darin, ohne Angaben zur tatsächlichen Behebung des Problems zu antworten. Die Antworten sollten detailliert sein und bei Bedarf Verweise enthalten. Bitte nehmen Sie sich ein paar Minuten Zeit, um Ihre Antwort zu bearbeiten und Details darüber anzugeben, warum Ihre Antwort gültig ist. Wenn Sie Hilfe benötigen, lesen Sie Wie schreibe ich eine gute Antwort? .
CharlieRB