Linux-Kernel funktioniert nur im Kernel-Modus

349
위잉위잉

Wenn Sie den Linux-Kernel auf eine Architektur portieren, die keine Ausführungsmodi hat (sich immer im Kernel-Modus befindet ) und keine MMUs hat, scheint dies ein sehr ungeschütztes System zu sein. Wäre es möglich, Linux in dieser Umgebung laufen zu lassen? Und wenn es möglich wäre, wäre es sinnlos? Wäre es klüger, andere Alternativen in Betracht zu ziehen, da die gesamte Sicherheit, die Linux bietet, verschwendet wird?

0
Siehe [Embeddable Linux Kernel Subset] (https://en.wikipedia.org/wiki/Embeddable_Linux_Kernel_Subset), auch die Seite [offizielle Website "Einführung" (http://elks.sourceforge.net/introduction.html). a CVn vor 8 Jahren 0

1 Antwort auf die Frage

1
Scott
  • Es gibt keinen technologischen Grund, warum dies unmöglich wäre. In den 1980er-Jahren brachte IBM den IBM PC und den PC XT auf den Markt, die auf dem Intel 8088-Prozessor (einem Vorgänger der 8086- und der x86-Linie) basierten, der über keinen geschützten Modus verfügte: Er konnte immer alles machen. (Es hatte ein sehr vereinfachtes Speicherverwaltungsschema, das es ihm ermöglichte, auf einen physischen 20- Byte-Adressraum mit einem virtuellen 16-Bit-Adressraum zuzugreifen.)

    Und doch gab es eine Unix-Version für das XT. Zwar kann jeder Prozess auf den gesamten Speicher zugreifen (oder E / A direkt initiieren), aber das war in einem C-Programm nicht einfach. Die Benutzer wussten, dass es nicht wirklich sicher war, aber zumindest hatten sie eine falsche Sicherheit. Es war (in gewissem Sinne) mit DOS (und vielleicht den frühesten Versionen von Windows) konkurrierend, was keine Sicherheit hatte. Daher kam Unix bei diesem Thema vor.

    Möglicherweise müssen Sie einige Änderungen an Linux vornehmen, damit die primitive Hardware nicht verschluckt wird. Dies wäre jedoch wahrscheinlich so einfach wie das Deaktivieren des Codes, der Benutzerprozesse in den Benutzermodus versetzt, usw. Es gibt sogar einen #ifdefGrund dafür .

  • Natürlich ist Sicherheit nicht das einzige Feature von Linux, sondern die Funktionalität. Wo sonst andere als ein Unix (und ich gehören Dinge wie Cygwin, dass) würden Sie feststellen awk, sed, Pfeifen und nutzlos Katzen? Genauer gesagt, Sie haben zwei grundlegende Optionen für einen solchen Computer:

    • Verwenden Sie es als Briefbeschwerer oder Türstopper oder
    • Verwenden Sie es als Computer.

    Und wenn Sie es als Computer verwenden, warum setzen Sie nicht Linux darauf?

Natürlich möchten Sie es niemals mit dem Internet verbinden.