Warum kann Windows RT keine normalen Windows-Programme ausführen?

607
jabe

Was ist das Besondere an Windows RT, aufgrund dessen es nicht möglich ist, normale Windows-Programme auszuführen, die nicht aus dem App Store stammen?

Ich verstehe, dass Windows RT mit ARM-Prozessoren verwendet wurde, aber einige meiner alten Windows 98-Programme liefen gut auf einem Intel Pentium und noch gut auf moderneren AMD-Prozessoren. Ich versuche zu verstehen, was ARM und Windows RT so besonders macht.

1

2 Antworten auf die Frage

4
Tonny

Ihr Intel Pentium- und AMD-Beispiel sind Beispiele für dieselbe Intel / AMD x86 / x64-CPU-Architektur.
Obwohl es eine Reihe von CPU-Generationen gibt, sind sie im Großen und Ganzen kompatibel. (Oder besser gesagt: Die neueren CPUs verfügen hauptsächlich über Funktionen, die bereits in älteren Versionen enthalten waren.)
Dies bedeutet, dass (gut gemachte) Software, die für ältere CPUs geschrieben wurde, auch mit den neueren Generationen funktionieren kann.

ARM ist jedoch eine völlig andere CPU-Architektur als x86 / x64.
Die ARM-CPUs sprechen intern eine völlig andere Sprache und sie verstehen einfach nicht die Sprache, die von den Intel-CPUs verwendet wird. (Und umgekehrt.)
Sie können dies grundsätzlich mit jemandem vergleichen, der nur Englisch spricht und versucht, einen Text auf Chinesisch zu lesen. Er wird nicht weit kommen.

Windows RT ist eine spezielle Windows-Version, die für die Verwendung in der ARM-Umgebung entwickelt wurde und daher keine Programme ausführen kann, die ursprünglich für normales Windows entwickelt wurden. (Windows Mobile und Windows IoT sind übrigens auch für ARM verfügbar.)

1
LawrenceC

Was ist das Besondere an Windows RT, aufgrund dessen es nicht möglich ist, normale Windows-Programme auszuführen, die nicht aus dem App Store stammen?

Microsoft hat Windows RT gesperrt.

  • Windows RT-Geräte implementieren Secure Boot und erlauben keine Deaktivierung oder Installation anderer Schlüssel
  • Windows RT führt nur signierte Binärdateien aus, sodass kein Code von Drittanbietern ausgeführt werden kann.

Das Vorstehende hat nichts mit ARM zu tun - Microsoft hindert nichts daran, ein Nicht-ARM-Gerät herzustellen, das sich wie das oben genannte verhält. Windows hat eine Konfiguration unterstützt, bei der nur signierte Binärdateien lange ausgeführt werden können und neuere Systeme mit Secure Boot gesperrt werden können. Es ist also nichts Neues, obwohl Sie auf RT-Systemen diese Optionen nicht deaktivieren können.

Microsoft hat die oben genannten Schritte unternommen, um eine Appliance-ähnliche Erfahrung wie Apple mit dem iPad zu bieten. Beispielsweise werden Programme überprüft, genehmigt und in einem Sandkasten abgelegt, und das Betriebssystem kann nicht geändert werden.

Ich verstehe, dass Windows RT mit ARM-Prozessoren verwendet wurde, aber einige meiner alten Windows 98-Programme liefen gut auf einem Intel Pentium und noch gut auf moderneren AMD-Prozessoren

AMD hat schon immer CPUs hergestellt, die mit Intel kompatibel sind - speziell mit der "x86" -Architektur von Intel. Selbst dann implementieren AMD- und Intel-Chips bestimmte neuere Funktionen auf unterschiedliche Weise - unterschiedlich genug, wenn das Programm wissen muss, um welche Art von CPU es sich handelt, und ändern, was es tut, ein wenig, aber nicht verschieden genug, wo die meisten Programme nicht ausgeführt werden.

ARM ist eine völlig andere Art von CPU, die ein neues Design hatte (von einer britischen Firma namens "Acorn RISC Machines") und eine völlig andere Architektur aufweist. Es ist nicht kompatibel mit Intel.

Hypothetisch, wenn Windows RT nicht von Microsoft gesperrt wurde, funktionieren reguläre EXE-Dateien immer noch nicht, da sie auf einem Intel-basierten Prozessor laufen sollen. Wie schafft es eine universelle Windows-App, auf ARM und Intel zu arbeiten, wenn reguläre Exes nicht funktionieren? jabe vor 7 Jahren 0
Deine erste Frage - so ziemlich. Microsoft verfügt jedoch über das .NET-Framework - und es ist möglich, eine .exe-Datei zu erstellen, die aus "CIL" besteht. Diese Art von Code ist prozessorunabhängig und ist Just-In-Time (JIT), die unmittelbar vor der Ausführung in nativen Code kompiliert wird Java. Ich glaube, dass dies eine zentrale Rolle dabei spielt, wie UWP-Apps in jeder Architektur funktionieren. Ein Blick auf die Erstellung von UWP-Apps ist vielseitig und komplex - die .appx-Datei, die die App selbst darstellt, scheint ein Paketformat zu sein, das CIL-Code, nativen Code usw. enthalten kann. LawrenceC vor 7 Jahren 0
Derzeit ist ARM "Advanced RISC Machines" ... Yousha Aleayoub vor 6 Jahren 0