Schließlich wurde das Betriebssystem neu compiliert, um die neuesten ARM-Architekturen nutzen zu können. So wurde Compact 7 durch Unterstützung für den Befehlssatz der ARM-v7-Architektur sowie für die NEON-Erweiterungen ergänzt. NEON ist ein Bestand an SIMD-Befehlen (Single Instruction, Multiple Data), mit denen sich die Leistungsfähigkeit von DSP (Digital Signal Processing) und Media-Decode-Routinen gravierend verbessern lässt.
Auch die „Vector Floating Point“-Befehle (VFP) von ARM-Prozessoren werden von Compact 7 genutzt. Diese Unterstützung ist in drei Stufen implementiert: ohne VFP, mit VFP und Aufruf des vorgegebenen C-Run-time-Codes sowie VFP mit Applikationen, die die VFP-Opcodes direkt nutzen. Die VFP-Optionen sind in der Tabelle zusammengefasst.
Szenario | Wann eingesetzt | Vorteile |
---|---|---|
VFP und Applikationen rufen CRT auf | Wenn Applikations-Kompatibilität zu Nicht-VFP-Systemen erforderlich ist |
10-fache Leistungssteigerung gegenüber Systemen ohne VFP |
VFP mit Applikationen, die VFP direkt nutzen | Bei Forderung nach ultimativer Performance | Optimale Performance, geringerer CodeUmfang |
Die Unterstützung für die Vector-Floating-Point-Befehle des ARM-Befehlssatzes kann abgestuft werden.
In Compact 7 wird die Unterstützung für die ARMv4-Architektur aufgegeben, die im inzwischen nicht mehr produzierten StrongARM-Prozessor zum Einsatz kam. Die Architekturen ARMv5 (u.a. im alten XScale-Prozessor eingesetzt) und ARMv6 werden von Compact 7 jedoch nach wie vor unterstützt.
Eine gängige Angriffsmethode von Schad-Software besteht darin, die virtuelle Adresse von Code und Daten in einer Applikation zu erraten. Windows Embedded Compact 7 gewährt Schutz vor Attacken dieser Art, indem es Speicheradressen zufällig verteilt. Die Technik nennt sich Address Space Location Randomization (ASLR). Sie erhöht die Sicherheit durch willkürliches Anordnen der Ladeadressen von DLLs (Dynamic-Link Libraries) im User-Modus sowie von weiteren Komponenten in Applikationen. ASLR ist grundsätzlich inaktiv, kann aber mit dem folgenden Registry-Schlüssel aktiviert werden:
[HKLM\init\BootVars]
„AslrEnabled“=DWORD:1
Aus der Perspektive des Build-Systems wird durch einfaches Setzen der Umgebungsvariable IMGASLRENABLE auf 1 der ASLR-Registry-Wert während des Build-Prozesses automatisch hinzugefügt. Neu in Compact 7 ist auch Data Execution Prevention (DEP) auf ARM-6- und ARM-7-Systemen. DEP verhindert, dass Schad-Software Code in Daten-Seiten (z.B. Heap oder Stack-Seiten) einschleust und anschließend einen Sprung zu diesem Code und dessen Ausführung veranlasst.