Den Kern von Windows kennenlernen 10

Microsoft Windows hat immer in einer Vielzahl von Geschmacksrichtungen kommen. Bis zur Einführung von Windows 10 kann die Varianz zwischen Instanzen jedoch sehr unterschiedlich sein. Windows läuft auf Systemen wie Intels Itanium, MIPS und dem DEC Alpha. Vor kurzem hatten wir das ARM-basierte Windows RT. Und Windows CE wurde entwickelt, um auf ARM zu laufen.

Entwickler mussten Toolsets verwenden, die speziell für diese verschiedenen Plattformen entwickelt wurden, was weniger problematisch war, wenn Systeme in einer eigenständigen Umgebung betrieben wurden. Mit dem Internet der Dinge (IoT) macht dieses Szenario jedoch wenig Sinn.

Bei den verschiedenen Systemen traten zahlreiche Herausforderungen auf, einschließlich der Art und Weise, wie Microsoft ihre Entwicklung und Bereitstellung aufteilte. Visual Studio war Microsofts Entwicklungsplattform, aber ein Designteam innerhalb von Microsoft würde normalerweise einen Snapshot erstellen und ihn sperren, um Unterstützung für eine Plattform wie Windows CE bereitzustellen. Leider sind diese Entwickler nicht mehr mit der neuesten Version von Visual Studio und Windows synchronisiert. Windows 10 IoT Core und das neueste Visual Studio wurden entwickelt, um dieses Paradigma zu ändern.

Zu diesem Zeitpunkt unterstützt Windows 10 IoT Core eine kleine, aber wachsende Anzahl von Plattformen zusätzlich zu den üblichen x86-Plattformen, auf die Desktop- und Serverversionen von Windows abzielen. Bemerkenswert ist der Raspberry Pi 2, der als eine der ersten Plattformen Windows 10 IoT Core unterstützt.

That⠀ ™ s ein Raspberry Pi 2 mit Microsoft Windows 10 für IoT Core unter dem Patch-Board auf der linken Seite. Es steuert den maßgeschneiderten Plotter, der von einem Digitalkameraeingang angetrieben wird.

Bei einem kürzlichen Besuch bei Microsoft sah ich viele Raspberry Pi-Einheiten, die Roboter zu einer interessanten Plotteranwendung fuhren, die auch eine Digitalkamera zur Eingabe verwendete (siehe Abbildung). Dies waren Lagereinheiten, die mit der neuesten Version von Visual Studio programmiert wurden.

Die vielleicht größte Änderung ist, dass der Windows 10 IoT Core eine Teilmenge anderer Windows 10-Versionen ist. Es wird auf ARM-Plattformen sowie x86-Varianten wie dem Minnowboard laufen, auf dem ein Intel Atom läuft.

Ein kopfloses Linux

Windows 10 IoT Core ist nicht vergleichbar mit Windows, das auf einem Desktop oder einer anderen Plattform mit einer ausgeklügelten Benutzeroberfläche ausgeführt wird. Stattdessen ist es eher wie eine kopflose Version von Linux. Es ermöglicht Windows 10 IoT Core, klein zu sein und für eingebettete Anwendungen geeignet zu sein. Es macht auch den Kern einfacher für Microsoft Kompatibilität zwischen den Versionen zu halten.

Der Vorteil für Embedded-Entwickler besteht darin, dass die Sprachen und Tools, die für andere Windows 10-Plattformen verwendet werden, für Windows 10 IoT Core identisch sind. Sprachen wie C ++, C #, Python und Visual Basic können auf allen Plattformen verwendet werden. Es gibt auch eine einzige Debug-Schnittstelle.

Der Umgang mit der Teilmenge von Diensten ist unter Embedded-Entwicklern gut verstanden. Displays oder Grafiken können Teil des Mixes sein, werden aber an dieser Stelle nicht standardisiert. Dies ist im Allgemeinen weniger ein Problem für benutzerdefinierte Designs, die möglicherweise ein 2-zeiliges LCD-Display verwenden, das von einer I2C-Schnittstelle gesteuert wird.

Funktionen wie Sicherheit und Kommunikation sind aufgrund der Basissoftware üblich. Viele Verwaltungstools funktionieren auch plattformübergreifend, z. B. Remote-Update und -Verwaltung. Dies hat möglicherweise keine großen Auswirkungen auf die Maker-Community, aber die Funktionen sind im kommerziellen IoT-Bereich von entscheidender Bedeutung.

Das Verständnis des Umfangs und der Einschränkungen von Windows 10 IoT Core wird für seine Einführung von entscheidender Bedeutung sein. Es ist keine abgespeckte Version des Desktops. Auf der anderen Seite ist das nicht das, was die meisten eingebetteten Anwendungen benötigen oder was die meisten Entwickler auf dieser Ebene wollen. Es ist definitiv eine Option, die es wert ist, für diejenigen untersucht zu werden, die an eingebetteten Anwendungen arbeiten.