Windows ist stark auf die Registrierung angewiesen, um kleine Informationen wie die IP-Adresse des Computers zu speichern. Unix und damit Linux und OS-X speichern alles in normalen Dateien.
Wenn es um die Registrierung geht, sehe ich einige Probleme damit:
Der Zugriff auf die Informationen ist nicht so einfach. Wenn der Computer beispielsweise nicht gestartet werden kann und ich versuche, das Problem zu beheben, indem ich die Festplatte auf einem anderen Computer einbinde, um von einem anderen Betriebssystem aus darauf zuzugreifen (wäre es ein anderes Windows oder Linux), kann ich problemlos auf alle Dateien zugreifen ( mit Ausnahme von Berechtigungen und Verschlüsselung), aber mit Registrierung, obwohl es theoretisch möglich ist, es zu lesen (und wahrscheinlich zu ändern), erfordert es zusätzliche Anwendungen.
Der Befehlszeilenzugriff (in einem Kontext, in dem der Computer nicht mehr startet) ist nicht möglich (es sei denn, es gibt auch Apps dafür, aber ich bin mir ziemlich sicher, dass die Installation und Verwendung dieser Apps viel schwieriger ist als der einfache Zugriff auf Dateien auf der Festplatte ).
Informationen können sich entweder in Dateien oder in der Registrierung befinden, sodass zwei Speicherorte miteinander in Einklang gebracht werden müssen.
Gängige Tools, die bei der Arbeit mit Dateien verwendet werden (z. B.
findstr
der kleine Bruder von Windowsgrep
), sind bei der Arbeit mit Registrierungsschlüsseln nicht vorhanden.
Ich bin mir sicher, dass Microsoft die Registrierung ursprünglich aus gutem Grund implementiert hat und Windows gegenüber anderen Betriebssystemen dieser Zeit einen (sogar geringfügigen) Wettbewerbsvorteil verschafft hat.
Ich habe über Leistungs- und Speicherplatzbeschränkungen nachgedacht, die besonders wichtig waren, als Windows geboren wurde, aber ich kann nicht sehen, wie das Speichern von Daten in der Registrierung die Leistung verbessert oder den verwendeten Speicherplatz reduziert (Speichern von DWORD als tatsächliches DWORD in der Registrierung im Vergleich zum Speichern der Zeichenfolgendarstellung in Dateien sparen Platz, aber wäre das auch 1985 so wichtig?
In Bezug auf die Sicherheit scheint es auch keinen Unterschied zu geben. Ich bin mir nicht sicher, ob dies 1985 der Fall war, aber die heutigen dateibasierten Berechtigungen sehen genauso leistungsfähig aus wie die für Registrierungsschlüssel implementierten.
Die Organisation ist ebenfalls ähnlich: Eine baumbasierte Struktur ohne Indizierungs- / Suchfunktionen (während spätere Windows-Versionen die Indizierung von Dateien implementieren).
Was sind oder waren die Vorteile der Registrierung im Vergleich zum Speichern aller Dateien?
quelle
find
oderfindstr
(zusammen mit den übrigen Befehlszeilen-Tools) zusammen mitreg
... verwenden, zum Beispielfor /f "tokens=3 usebackq" %a in (`reg query "HKEY_LOCAL_MACHINE\Software\Microsoft\Internet Explorer" /v version ^| find "version"`) do echo IE version: %a
reg export ...
Antworten:
Bevor Microsoft mit der Verwendung der Registrierung begann, verfügten sie über INI-Dateien (Textdateien). Sie fanden es sehr schwierig, eine gute Plattform nur mit INI-Dateien zu entwickeln, weil:
Da es sich um eine Textdatei handelt, werden die Berechtigungen auf Dateiebene und nicht auf Schlüsselebene festgelegt. Wer Zugriff auf die Datei hat, hat Zugriff auf alle Parameter.
Wenn zwei Threads gleichzeitig versuchen, eine INI-Datei zu aktualisieren, können sie versehentlich die vom anderen vorgenommenen Änderungen löschen.
Dies sind die Hauptpunkte, die Microsot bei der Suche nach einer neuen Lösung beeinflusst haben, und sie wurden mit der Registrierung geliefert. Die Registrierung ist eine Datenbank, daher werden die vorherigen Probleme behoben, aber neu erstellt:
Gutschrift auf wichtige Quelle: http://blogs.msdn.com/b/oldnewthing/archive/2007/11/26/6523907.aspx
quelle