-
Die Erfindung betrifft eine Fahrzeugeinheit zur Steuerung von Fahrzeugfunktionen, beispielsweise eine zentrale Fahrzeugsteuereinheit, eine Multimedia-Fahrzeugeinheit oder dergleichen, sowie ein Verfahren zum Betreiben dieser Fahrzeugeinheit. Die Fahrzeugeinheit weist wie üblich einen Mikroprozessor mit einem angeschlossenen Speicher auf, wobei auf dem Mikroprozessor ein Hauptbetriebssystem, welches nachfolgend auch als Main Operating System OS bezeichnet wird, implementiert ist. Das Hauptbetriebssystem bildet erfindungsgemäß die Schnittstelle der Hardware der Fahrzeugsteuereinheit zu in dem Hauptsystem implementierten und/oder gegebenenfalls auch auf den Mikroprozessor zusätzlich implementierten Anwendungsprogrammen (Applikationen) und Benutzerinteraktionen über eine Benutzerschnittstelle (User Interface).
-
Derartige elektronische Fahrzeugeinheiten kommen zunehmend in Fahrzeugen zum Einsatz, wobei auf den Fahrzeugeinheiten Anwendungsprogramme installiert sind, die durch Benutzereingaben oder an die Fahrzeugeinheit angeschlossene Hardwarekomponenten oder beides gesteuert werden. Solche offenen Systeme führen mit einiger Wahrscheinlichkeit dazu, dass das Hauptbetriebssystem und/oder Anwendungsprogramme auf der Fahrzeugeinheit unter bestimmten Bedingungen nicht mehr funktionieren, beispielsweise aufgrund von Fehlern beim Beschreiben des in der Fahrzeugeinheit angeschlossenen Speichers. Derartige Probleme können bei zu vielen Rollback-Speicherzugriffen auf frühere Speichereinträge oder Hinzufüge- oder Löschaktionen von Programmen entstehen. Häufig ist dann eine Neuinstallation des Hauptbetriebssystems sowie gegebenenfalls der Anwendungsprogramme notwendig. Diese Neuinstallation ist für Erstausrüster, Zwischenhändler und Endkunden sehr aufwendig, weil die Fahrzeugeinheit aus dem Fahrzeug ausgebaut und an einen Reparaturservice versandt werden muss, der dann in einem auch als ”Flashing” bezeichneten Prozess den Speicher neu beschreiben muss, um das Hauptbetriebssystem und gegebenenfalls die Anwendungsprogramme auf dem Mikroprozessor neu zu implementieren.
-
Weil dies sehr arbeits- und kostenintensiv ist, liegt die Aufgabe der vorliegenden Erfindung darin, die Anzahl der Fälle zu reduzieren, in denen die zuvor beschriebene Reparatur durch Ausbau und Übersendung der Fahrzeugeinheit an einen Reparaturservice ausgeführt werden müssen.
-
Diese Aufgabe wird durch eine Fahrzeugeinheit mit den Merkmalen des Anspruchs 1 und ein Verfahren zu deren Betreiben gemäß den Merkmalen des Anspruchs 7 gelöst. Bei einer Fahrzeugeinheit der eingangs beschriebenen Art ist dazu vorgesehen, dass der Mikroprozessor in einer Mikrokernel-Architektur mit separaten Partitionen für eine Hauptbetriebssystem-Einheit, eine Crypto-Einheit und eine Supervisions-Einheit aufgebaut ist, wobei in der Hauptbetriebssystem-Einheit das Hauptbetriebssystem sowie gegebenenfalls Anwendungsprogramme eingerichtet sind, in der Crypto-Einheit Software-Zertifikate gespeichert sind und ein Überprüfungsprogramm zur Überprüfung von Zertifikaten und Softwarepaketen eingerichtet ist, und wobei in der Supervisions-Einheit ein Überwachungsprogramm zur Überwachung der Funktionen der anderen Partitionen der Mikrokernel-Architektur vorgesehen ist.
-
Erfindungsgemäß arbeiten die separaten Partitionen mit den darauf eingerichteten Programmen unabhängig voneinander, wobei das Überwachungsprogramm der Supervisions-Einheit die Funktionen der anderen Partitionen überwacht und vorzugsweise bei Feststellen eines Fehlers einen Reparaturvorgang einleitet, beispielsweise durch Neubeschreiben der fehlerhaften Partition in der Mikrokernel-Architektur. Ein derartiger Flash-Vorgang dient dem Reparieren des Systems durch Zurückbringen auf den letztbekannten stabilen Zustands des Systems.
-
Durch das Vorsehen der Mikrokernel-Architektur mit den separaten Partitionen ist es daher erfindungsgemäß möglich, die Supervisions-Einheit auch dann zu verwenden, wenn die Hauptbetriebssystem-Einheit fehlerhaft ist, so dass durch die Supervisions-Einheit eine Reparatur des gesamten Systems erfolgen kann, die herkömmlich durch Anschließen eines entsprechenden Reparatursystems bei einem Reparaturservice erfolgen musste. Das Überwachungsprogramm der Supervisions-Einheit kann dabei beispielsweise als eine Art Watchdog-Funktion insbesondere für die Hauptbetriebssystem-Einheit realisiert sein. Erfindungsgemäß ist die gesamte Mikrokernel-Architektur vorzugsweise auf genau einem Mikroprozessor implementiert, auf dem also alle Einheiten der verschiedenen Partitionen eingerichtet sind und auf dem alle den verschiedenen Einheiten zugewiesenen Funktionen durch Implementierung geeigneter Programme ablaufen.
-
Erfindungsgemäß kann die Partition mit der Hauptbetriebssystem-Einheit dazu eingerichtet sein, von einem Endnutzer, beispielsweise durch einen Download und Installation neuer Anwendungsprogramme und/oder Firmwareprogramme, veränderbar sein. Firmwareprogramme können insbesondere auch neue Versionen des Hauptbetriebssystems umfassen.
-
Dabei ist es erfindungsgemäß möglich, sowohl Updates zu installieren als auch die Partition vollständig neu zu schreiben (Flashing), wobei das Hauptbetriebssystem in der Fahrzeugeinheit neu installiert wird. Dies stellt eine Möglichkeit dar, die Fahrzeugeinheit bei einem Softwarefehler wieder in einen funktionsfähigen Zustand zu versetzen.
-
Gemäß einer besonders vorteilhaften Weiterbildung der vorliegenden Erfindung können weitere Partitionen der Mikrokernel-Architektur in dem Mikroprozessor dazu eingerichtet sein, durch den Endnutzer nicht änderbar zu sein. Dies kann vorzugsweise alle weiteren Partitionen der Mikrokernel-Architektur betreffen, insbesondere aber die Crypto-Einheit und die Supervisions-Einheit beziehungsweise die jeweiligen Partitionen mit der Crypto-Einheit und der Supervisions-Einheit. Hierdurch lässt sich insgesamt eine hohe Systemsicherheit bei gleichzeitiger Einflussnahme durch den Benutzer auf die Hauptbetriebssystem-Einheit erreichen, da die für eine mögliche Wiederherstellung des Hauptbetriebssystems verantwortlichen Partitionen und Einheiten der Mikrokernel-Architektur nicht durch Benutzereingriffe verändert werden können und daher eine Wiederherstellung der Fahrzeugeinheit auf einen vorgegebenen, definierten Stand ermöglichen.
-
In Weiterentwicklung des erfindungsgemäßen Gedankens kann die Crypto-Einheit dazu eingerichtet sein, in der Fahrzeugeinheit zu installierende Software mit in dem Überprüfungsprogramm paketweise zu entschlüsseln und/oder zu überprüfen. Hierdurch wird das Problem gelöst, dass der in den Fahrzeugeinheiten an den Mikroprozessor angeschlossene Speicher, insbesondere ein Flash-Speicher, nur eine vergleichsweise geringe Speicherplatzkapazität aufweist, die häufig für das Zwischenspeichern vollständiger Applikationen nicht ausreichend ist. Dies gilt beispielsweise auch für ein vollständiges Image (Abbild) der Partition mit dem Hauptbetriebssystem.
-
In diesem Zusammenhang ist aus der
US 2009/0217136 A1 bereits ein Speichergerät mit einem Flash-Speichermodul und einem in dem Speichergerät enthaltenen Controller beschrieben, welcher einen eigenen Mikroprozessor mit einem Fehlerkorrekturmodul aufweist, das bei dem Speichern oder Lesen von Daten aus dem Flash-Speichermodul eine paketweise Korrektur durchführt. Hierfür schlägt die
US 2009/0217136 A1 jedoch einen eigenständigen Mikroprozessor vor, der der Speichereinheit fest zugeordnet ist, wobei die Speichereinheit selbst an ein Host-Computersystem angeschlossen werden kann. Eine Realisierung dieser Funktion im Rahmen einer Mikrokernel-Architektur bietet dagegen den Vorteil, dass ein einziger Mikroprozessor verwendet werden kann, weil auch die erfindungsgemäße Crypto-Einheit im Rahmen der Mikrokernel-Architektur als eine von außen nicht veränderbare Partition ausgestaltet ist, die daher gegen ungewollte oder bewusste Manipulationen gesichert ist und im Rahmen der Entschlüsselung und Überprüfung der Hauptbetriebssystem- und/oder Anwendungssoftware besonders zuverlässig arbeitet. Im Rahmen dieser vorgeschlagenen Architektur ist es nicht notwendig, hierfür einen separaten Prozessor und Controller vorzusehen.
-
Vorteilhafterweise ist die erfindungsgemäß besonders wichtige Supervisions-Einheit dazu eingerichtet, mit dem Überwachungsprogramm im Falle eines Fehlers in dem Hauptbetriebssystem ein Wiederherstellungsverfahren für die Partitionen mit dem Hauptbetriebssystem einzuleiten. Indem dies automatisch bei dem Feststellen eines Fehlers in dem Hauptbetriebssystem der Fahrzeugeinheit erfolgt, kann die Fahrzeugbetriebseinheit hierdurch besonders sicher und zuverlässig betrieben werden.
-
Gemäß einer einfachen Variante kann in dem an die Fahrzeugeinheit angeschlossenen Flash-Speicher die Grundversion eines funktionierenden Hauptbetriebssystems mit den wesentlichen Anwendungsprogrammen beispielsweise in Form eines Abbildes (Image) abgelegt sein, welches als Backup-Image der Partition des Hauptbetriebssystems durch die Supervisionseinheit zurückgeschrieben wird.
-
Alternativ oder ergänzend kann im Rahmen des Wiederherstellungsverfahrens ein vorzugsweise Benutzer-interaktiver Download einer aktuellen Hauptbetriebssystem-Version stattfinden, welche anschließend in der Partition der Hauptbetriebssystem-Einheit durch die Supervisions-Einheit installiert wird. Dabei kann vor oder während der Installation durch die Crypto-Einheit die Integrität der installierten Software überprüft werden.
-
Um eine einfache Übertragung einer aktuellen Hauptbetriebssystemversion oder aktueller Anwendungsprogramme zu ermöglichen, kann die Fahrzeugeinheit eine Schnittstelle für ein externes Speichermedium aufweisen, welche auch durch die Supervisions-Einheit ansteuerbar ist. Diese Schnittstelle kann beispielsweise eine USB-Schnittstelle, eine Schnittstelle zum Einstecken einer Secure-Digital-Card (SD-Karte), einer anderen Datenkarte oder dergleichen sein. Dabei muss die Schnittstelle nicht unmittelbar an der Fahrzeugeinheit vorgesehen sein, sondern kann erfindungsgemäß auch in eine in dem Fahrzeug ohnehin vorhandene Benutzerschnittstelle integriert sein.
-
Vorzugsweise weist die Supervisions-Einheit beziehungsweise das darin implementierte Überwachungsprogramm ein Not-Betriebssystem auf, welches dazu eingerichtet ist, benötigte Benutzerschnittstellen wie beispielsweise ein Display, eine Eingabeeinheit und dergleichen, sowie Schnittstellen für ein externes Speichermedium anzusteuern und das Wiederherstellungsverfahren auszuführen.
-
Gemäß einer besonders bevorzugten Ausführungsform kann die Mikrokernel-Architektur als sogenannter Separationskernel (Separation Kernel) mit einer separaten Partition für eine Policy-Einheit ausgebildet sein, wobei die Policy-Einheit dazu eingerichtet ist, die Kommunikation zwischen den einzelnen Partitionen der Mikrokernel-Architektur zu überwachen und gegebenenfalls zu steuern. So hindert zum Beispiel die Policy-Einheit das Hauptbetriebssystem an einem Zugriff auf die anderen Partitionen und kontrolliert Kommunikationsabläufe zwischen den einzelnen Partitionen. Hierdurch wird eine besonders hohe Betriebssicherheit und Manipulationssicherheit der Fahrzeugeinheit erreicht, weil durch die ebenfalls durch den Benutzer nicht veränderbare Policy-Einheit unvorhergesehene Aktionen innerhalb des an den Mikroprozessor angeschlossenen Speichers oder innerhalb des Mikroprozessors selbst nicht erfolgen können.
-
Die Fahrzeugeinheit beziehungsweise die jeweiligen Einheiten der verschiedenen Partitionen der Mikrokernel-Architektur sind erfindungsgemäß zur Durchführung des nachfolgend beschriebenen Verfahrens zum Betreiben der Fahrzeugeinheit oder Teilen davon eingerichtet. Dieses Verfahren dient dem Betreiben einer Fahrzeugeinheit mit einem Mikroprozessor, auf welchem die vorbeschriebene Mikrokernel-Architektur mit den separaten Partitionen für eine Hauptbetriebssystem-Einheit, eine Crypto-Einheit und eine Supvervisions-Einheit aufgesetzt ist. In der Hauptbetriebssystem-Einheit sind erfindungsgemäß das Hauptbetriebssystem sowie gegebenenfalls Anwendungsprogramme eingerichtet. Diese können durch den Nutzer verändert werden. In der Crypto-Einheit sind erfindungsgemäß Software-Zertifikate gespeichert und ein Überprüfungsprogramm zur Überprüfung von Zertifikaten und vollständiger Softwarepakete eingerichtet. In der Supervisions-Einheit ist erfindungsgemäß ein Überwachungsprogramm zur Überwachung der Funktionen der anderen Partitionen in der Mikrokernel-Architektur vorgesehen, wobei durch das Überwachungsprogramm der Supervisions-Einheit das Hauptbetriebssystem sowie gegebenenfalls vorhandene Anwendungssoftware während des Starts und/oder des Betriebs des Hauptbetriebssystems beziehungsweise der Fahrzeugeinheit überwacht und bei Abweichungen von einem vorgegebenen Verhalten ein Wiederherstellungsverfahren für das Hauptbetriebssystem eingeleitet wird. Dadurch lässt sich die Fahrzeugeinheit in vielen Fällen bei einem Ausfall neu starten und in einen betriebsfähigen Zustand zurückversetzen, ohne dass ein Ausbau der Fahrzeugeinheit und ein Neubeschreiben des an den Mikroprozessor angeschlossenen Speichers zur Neuimplementierung der Hauptbetriebssystem-Software sowie der Anwendungsprogramme notwendig werden.
-
In einer besonders vorteilhaften Ausgestaltung des erfindungsgemäßen Verfahrens wird zur Feststellung von Abweichungen während des Starts und/oder Betriebs des Hauptbetriebssystems eine typische Startzeit für eine Benutzerschnittstelle (Human Machine Interface – HMI), die durch das Hauptbetriebssystem beanspruchte Rechenzeit des Mikroprozessors und/oder der durch das Hauptbetriebssystem beanspruchte Speicherplatzbedarf beispielsweise durch Vergleich mit vorgegebenen Grenzwerten für einen Normalbetrieb überwacht. Derartige Daten lassen sich durch das Überwachungsprogramm in einer Art Watchdog-Funktion einfach überwachen, indem beispielsweise ein Ansprechen der Benutzerschnittstelle simuliert und abgefragt sowie der Betrieb des Mikroprozessors und des Speicherplatzes überwacht werden. Dies ist im Rahmen eines eigenständigen Prozesses in der Supervisions-Einheit ohne Weiteres möglich, ohne dass mögliche Fehler in der Partition der Hauptbetriebssystem-Einheit diese Funktion beeinträchtigen.
-
Sofern bei dem Feststellen eines nicht ordnungsgemäßen Betriebs der Partition mit der Hauptbetriebssystem-Einheit das Wiederherstellungsverfahren gestartet wird, kann im Rahmen dieses Wiederherstellungsverfahrens vorzugsweise die Partition mit der Hauptbetriebssystem-Einheit vollständig abgeschaltet und aus der Mikrokernel-Architektur entladen werden. Erfindungsgemäß übernimmt dann das Not-Betriebssystem der Supervisions-Einheit die Ansteuerung der Benutzerschnittstelle und/oder einer Schnittstelle für das externe Speichermedium, um den Ausfall der Fahrzeugeinheit anzuzeigen und ein neues Implementieren der Hauptbetriebssystem-Einheit in der entsprechenden Partition der Mikrokernel-Architektur vornehmen zu können. Das erfindungsgemäße Wiederherstellungsverfahren kann dann automatisiert und/oder benutzergesteuert durchgeführt werden. Eine besonders schnelle, automatische Wiederherstellung der defekten Partition lässt sich dann erreichen, wenn bei dem erfindungsgemäßen Verfahren ein Rückschreiben eines in der Fahrzeugeinheit, beispielsweise dem an dem Mikroprozessor angeschlossenen Speicher, gespeichertes Backup-Images der Partition des Hauptbetriebssystems erfolgt. Nach dem Rückschreiben eines solchen Backup-Images kann die Fahrzeugeinheit neu gestartet werden, wobei bei dem Neustart das neuinstallierte Hauptbetriebssystem ausgeführt wird.
-
Alternativ kann bei dem Wiederherstellungsverfahren das Ausführen eines Benutzer-interaktiven Downloads einer aktuellen Hauptbetriebssystem-Version erfolgen, wobei die aktuelle Hauptbetriebssystem-Version insbesondere über ein externes Speichermedium eingelesen und in der Partition für das Hauptbetriebssystem installiert wird. Erfindungsgemäß kann dem Benutzer dazu eine Seriennummer, eine Versionsidentifikationsnummer oder dergleichen ausgegeben werden, um dem Benutzer die Auswahl des passenden Hauptbetriebssystems, das heißt einer geeigneten Firmware, von einer Herstellerseite in dem Internet zu ermöglichen. In Abwandlung dieser zusätzlich gegebenen Informationen kann auch ein geeigneter Internet-Link, insbesondere in Form einer html-Datei, auf dem externen Speichermedium ausgegeben werden, der nach Anschluss an ein anderes Computersystem mit Internet-Anschluss unmittelbar aufgerufen werden kann und zum Download des geeigneten Hauptbetriebssystems führt. Die html-Datei, gegebenenfalls mit JavaScript-Anteilen, überprüft die Größe des Speichermediums und speichert eine Image-Datei und/oder eine Update-Datei des zu installierenden Hauptbetriebssystems in ein geeignetes Verzeichnis. Hierdurch wird eine Fehlerreduktion erreicht, weil eine fehlerhafte Installation eines falschen Betriebssystems von vornherein vermieden wird, ohne dass die in der Fahrzeugeinheit installierte Crypto-Einheit entsprechend eingreifen müsste. Gegebenenfalls kann hierbei auch ein Zertifikat eingesetzt werden.
-
Trotzdem ist es besonders vorteilhaft, wenn vor oder während der Installation des Hauptbetriebssystems und/oder einer für das Hauptbetriebssystem geeigneten Anwendung in Form eines Anwendungsprogramms eine Überprüfung durch die Crypto-Einheit erfolgt. Dabei können Seriennummer, Hardwareversion, Integrität, Zertifikat oder dergleichen überprüft und gegebenenfalls auch eine Entschlüsselung vorgenommen werden.
-
Erfindungsgemäß kann nach dem Schreiben eines Internet-Links, beispielsweise in Form der html-Datei, in einen automatischen Start-Up-Modus geschaltet werden, der beim Starten beziehungsweise Hochfahren der Fahrzeugeinheit das Vorhandensein eines externen Speichermediums mit der Image-Datei und/oder der Update-Datei überprüft und bei Vorhandensein deren Installation sofort startet. Andernfalls wird das Vorhandensein des externen Speichers nicht geprüft. Hierdurch wird auch sichergestellt, dass nicht mehrmals ein Update mit derselben Softwareversion erfolgt, was unter Umständen zu einem instabilen System führen kann. Nach einer erfolgreichen Neuinstallation des Hauptbetriebssystems, auch Flashen genannt, wird dann wieder in den normalen und üblicher Weise auch schnelleren Startmodus geschaltet.
-
Schließlich betrifft die vorliegende Erfindung auch ein Computerprogrammprodukt mit Programmcodemitteln zur Einrichtung in einer Recheneinheit, welches Computerprogrammprodukt dadurch gekennzeichnet ist, dass durch die Programmcodemittel bei Ausführen des Computerprogramms eine Mikrokernel-Architektur gemäß einem der Ansprüche 1 bis 6 und/oder ein Verfahren gemäß einem der Ansprüche 7 bis 12 in dem Mikroprozessor der Fahrzeugeinheit eingerichtet wird.
-
Weitere Vorteile, Merkmale und Anwendungsmöglichkeiten der vorliegenden Erfindung ergeben sich auch aus der nachfolgenden Beschreibung eines Ausführungsbeispiels und der Zeichnung. Dabei bilden alle beschriebenen und/oder bildlich dargestellten Merkmale für sich oder in beliebiger Kombination den Gegenstand der vorliegenden Erfindung, auch unabhängig von ihrer Zusammenfassung in den Ansprüchen oder deren Rückbezügen. Es zeigen:
-
1: schematisch den Aufbau einer erfindungsgemäßen Mikrokernel-Architektur und
-
2: einen schematischen Ablauf zum Betrieb einer Fahrzeug-Einheit gemäß der vorliegenden Erfindung.
-
In 1 ist dazu die Systempartitionierung eines an den Mikroprozessor angeschlossenen Speichers dargestellt, auf den der Speicher zum Ablauf der verschiedenen Programme in den Partitionen zugreift. Diese Partition ist als ein Separationskernel ausgebildet, der eine spezielle Variante einer Mikrokernel-Architektur darstellt. Bei der Mikrokernel-Architektur sind die verschiedenen Partitionen 1, 2, 3, 4 für die Hauptbetriebssystem-Einheit, die Supervisions-Einheit, die Policy-Einheit und die Crypto-Einheit auf demselben Mikroprozessor mit angeschlossenem Speicher implementiert, wobei die verschiedenen Partitionen unabhängig voneinander auf dem Mikroprozessor ablaufen und auch parallel ausgeführt werden können.
-
In der Partition 1 der Hauptbetriebssystem-Einheit ist das Hauptbetriebssystem der Fahrzeugeinheit installiert, welches durch den Endnutzer beispielsweise durch den Download und Installation neuer Anwendungsprogramme oder neuer Hauptbetriebssystem-Softwareversionen verändert werden kann.
-
Die Partition 4 mit der Crypto-Einheit ist für das Speichern und Validieren von Zertifikaten und das Überprüfen der Zertifikate von Anwendungssoftware oder kompletten Softwarepaketen zuständig. Alle Softwarezertifikate sind im Inneren der Partitionen 4 mit der Crypto-Einheit installiert, ohne dass die anderen Partitionen 1, 2, 3 Zugriff auf die Partition 4 haben. Hierdurch wird erfindungsgemäß die Sicherheit erhöht, weil die Crypto-Einheit durch den Benutzer nicht verändert werden kann.
-
Die Partition 2 mit der Supervisions-Einheit überwacht beispielsweise mit Wachtdog-ähnlichen Mechanismen die anderen Partitionen 1, 3, 4, und insbesondere die Partition 1 mit der Hauptbetriebssystem-Einheit, welche für die ordnungsgemäße Funktion der Fahrzeugeinheit zuständig ist. Diese Einheit ist erfindungsgemäß also für das Detektieren eines nicht funktionsfähigen Hauptbetriebssystems und das Einleiten eines automatischen oder Benutzer-interaktiven Wiederherstellungsprozesses zuständig.
-
Die Partition 3 mit der Policy-Einheit ist eine Standard-Einheit eines Separationskernels und überwacht beziehungsweise steuert die Kommunikation zwischen den verschiedenen Partitionen 1, 2, 4. So wird beispielsweise überprüft, ob eine Partition A eine Mitteilung M an eine Partition B senden darf. Ferner steuert die Policy-Einheit die Zugriffsrechte auf physikalische Speicherbereiche oder Flash-Partitionen und ändert die Budgets für die Zuweisung an Prozessorleistung zu einzelnen Prozessen oder von Speicherplatz.
-
Ein wesentliches Konzept der vorliegenden Erfindung liegt nun darin, den für die Überwachung und Wiederherstellung der gesamten Fahrzeugeinheit zuständigen Programmcode aus der Partition 1 mit der Hauptbetriebssystem-Einheit in die Partition 2 mit der Supervisions-Einheit auszulagern, wobei diese Partition 2 durch die Mikrokernel-Architektur vor einer Beeinflussung oder einem Zugriff aus der Partition 1 geschützt ist, während sie dennoch auf demselben Mikroprozessor abläuft.
-
Mit dieser Funktion wird auch die Überwachungsfunktion von einem hierfür üblicherweise vorgesehenen externen Mikrokontroller in die Partition 2 der Supervisions-Einheit übertragen, die im Rahmen ihrer Aufgaben mit der Policy-Einheit und der Crypto-Einheit zusammenwirkt.
-
Alle diese Einheiten in den Partitionen 2, 3 und 4 können nicht durch Softwareupdates oder Benutzereingriffe verändert werden, so dass diese ab dem Moment der Herstellung der Fahrzeugeinheit unveränderlich feststehen. Hierdurch lässt sich eine Wiederherstellung der Partitionen 1 mit dem Hauptbetriebssystem in vorhersehbarer Weise kontrollieren. Das Zusammenwirken der Supervisions-Einheit, der Crypto-Einheit und der Policy-Einheit im Rahmen des Separationskernels in der Mikrokernel-Architektur stellen damit sicher, dass nur die Flash-Partitionen überschrieben werden, die der Hauptbetriebssystem-Einheit in der Partition 1 zugerechnet werden, die durch herunterladbare Anwendungsprogramme oder neue Firmwareversionen verändert werden können. Gleichzeitig verhindert die Policy-Einheit in der Partition 3 einen Zugriff der Hauptbetriebssystem-Einheit auf die anderen Partitionen 2, 3 und 4. Erfindungsgemäß können die Supervisions-Einheit, die Crypto-Einheit und die Policy-Einheit anstelle der drei verschiedenen Partitionen 2, 3 und 4 auch in einer gemeinsamen Partition zusammengefasst werden, die erfindungsgemäß jedoch von der Partition 1 der Hauptbetriebssystem-Einheit verschieden ist. Hierdurch lässt sich gegebenenfalls Speicher sparen und die Laufzeitperformance durch einen optimaleren Scheduling-Aufwand des Mikrokernes verbessern.
-
Innerhalb dieser Mikrokernel-Architektur, wie sie in 1 dargestellt ist, lässt sich der nachfolgend beschriebene Ablauf zum Feststellen von Fehlern in der Hauptbetriebssystem-Einheit und zum Wiederherstellen der Hauptbetriebssystem-Einheit zuverlässig implementieren.
-
Das erfindungsgemäße Verfahren wird nachfolgend anhand des schematischen Verfahrensablaufs gemäß 2 beschrieben.
-
Während des Startens der Fahrzeugeinheit läuft in der Supervisions-Einheit der Partition 2 ein Überwachungsprogramm ab, um Fehler des Hauptbetriebssystems festzustellen. Dazu überwacht die Supervisions-Einheit das Starten des Hauptbetriebssystems im Hinblick auf einige Detailfunktionen. Diese Detailfunktionen beinhalten wichtige Servicefunktionen und Zustände des Hauptbetriebssystems.
-
Diese wichtigen Zustände und Funktionen betreffen zum einen eine Basis-Benutzerinteraktion über eine Mensch-Maschine-Schnittstelle HMI, die über das Hauptbetriebssystem angesteuert wird. Dazu wird die Funktion der Mensch-Maschine-Schnittstelle durch die Supervisions-Einheit beispielsweise mittels einer fingierten Eingabe überprüft. Sofern die Mensch-Maschine-Schnittstelle beim Starten der Fahrzeugeinheit nach einer vorgegebenen Zeit nicht einsatzbereit ist, kann dies als Fehler des Hauptbetriebssystems gewertet werden.
-
Zusätzlich kann die Partition 1 des Hauptbetriebssystems als fehlerhaft angesehen werden, wenn eine außergewöhnliche Belastung der Rechenleistung des Prozessors oder ein außergewöhnlicher Speicherplatzbedarf festgestellt wird. Auch ein übermäßiger Netzwerkverkehr zwischen den einzelnen Partitionen des Separationskernels kann als Merkmal für ein fehlerhaftes Hauptbetriebssystems gewertet werden.
-
Im Falle eines festgestellten Fehlers des Hauptbetriebssystems wird eine Wiederherstellung eingeleitet. Im Rahmen dieser Wiederherstellung startet die Überwachungseinheit einen Wiederherstellungsmodus, in welchem die Partition 1 mit der Hauptbetriebssystem-Einheit vollständig ausgeschaltet und aus der Mikrokernel-Architektur entladen wird. Die Supervisions-Einheit übernimmt dann im Rahmen eines Not-Betriebssystems die verbliebenen Funktionen der Fahrzeugeinheit, zu der insbesondere auch das Ansprechen der Mensch-Maschine-Schnittstelle gehört.
-
So gibt die Supervisions-Einheit über einen Bildschirm der Mensch-Maschine-Schnittstelle eine Fehlermeldung an den Endnutzer aus. Auf demselben Bildschirm, auf dem die Fehlermitteilung angezeigt wird, wird ein Internetlink, insbesondere ein https-Link, mit einigen Einzelheiten wie der Seriennummer oder einer Versionsidentifikationsnummer ausgegeben, so dass der Endbenutzer ein aktuelles Software-Paket für das Hauptbetriebssystem und/oder die von ihm benötigte Anwendungssoftware aus dem Internet von einer Serviceseite des Herstellers der Fahrzeugeinheit herunterladen kann.
-
Der Softwaredownload kann von einem herkömmlichen PC erfolgen und auf einem externen Speichermittel, beispielsweise einem USB-Speicherstick, erfolgen. Um diesen Softwaredownload einlesen zu können, aktiviert die Supervisions-Einheit in dem Nat-Betriebssystem die benötigten Treiber für externe Schnittstellen zur Anbindung externer Speichermittel. Wenn das Not-Betriebssystem beispielsweise bei einem Neustart der Fahrzeugeinheit ein derartiges externes Speichermittel an einer Schnittstelle feststellt, wird deren Dateisystem nach einem Software-Update-Paket durchsucht. Sobald ein solches Paket festgestellt wird, wird der Hash-Wert des Paketes berechnet, eine entsprechende Signatur gelesen und die verschlüsselte Software-Version und die Hardware-Kompatibilität des Pakets von dem Speichergerät ausgelesen und an die Partition 4 mit der Crypto-Einheit übersandt. Die Crypto-Einheit überprüft die Inhalte des Software-Pakets und gibt der Überwachungs-Einheit eine Rückmeldung, ob das Software-Paket für die vorliegende Hardware zulässig ist. Ferner kann das Crypto-Paket die Software paketweise entschlüsseln und zur Installation bereitstellen.
-
Wenn das Software-Paket für die Hardware gültig ist, führt die Supervisions-Einheit eine vollständige Überprüfung der Blöcke der Flash-Partitionen durch, die für das Hauptbetriebssystem verwendet werden. Danach startet es eine Neuinstallation der Flash-Partition mit dem Hauptbetriebssystem (Flashing). Nach einer erfolgreichen Installation in der Partition 1 der Hauptbetriebssystem-Einheit startet die Fahrzeugeinheit bei dem nächsten Start mit dem neuen Betriebssystem. Neben einer Fehlerbehandlung lassen sie auf diese Weise auch gezielte Updates einspielen, die beispielsweise durch eine Benutzereingabe in dem Hauptbetriebssystem ausgelöst werden können.
-
Statt nur die Link-Adresse für den Download der Software anzugeben, ist es erfindungsgemäß auch möglich, dass die Supervisions-Einheit auf einem an die Fahrzeugeinheit angeschlossenen Speichergerät einen im Internet aufrufbaren Link speichert, in dem bereits die notwendigen Angaben zur Identifikation der passenden und benötigten Software enthalten sind. Auf diese Weise werden Fehlereingaben vermieden.
-
Damit kann durch die erfindungsgemäße Mikrokernel-Architektur ein durch den Benutzer steuerbares Verfahren zum Betreiben der Fahrzeugeinheit ausgeführt werden, das im Falle eines Saftware-Fehlers ein Wiederherstellen der Einheit erlaubt, ohne dass diese ausgebaut und an eine spezielle Servicestelle gesendet werden muss.
-
Bezugszeichenliste
-
- 1
- Partition, Hauptbetriebssystem-Einheit
- 2
- Partition, Supervisions-Einheit
- 3
- Partition, Policy-Einheit
- 4
- Partition, Crypto-Einheit
-
ZITATE ENTHALTEN IN DER BESCHREIBUNG
-
Diese Liste der vom Anmelder aufgeführten Dokumente wurde automatisiert erzeugt und ist ausschließlich zur besseren Information des Lesers aufgenommen. Die Liste ist nicht Bestandteil der deutschen Patent- bzw. Gebrauchsmusteranmeldung. Das DPMA übernimmt keinerlei Haftung für etwaige Fehler oder Auslassungen.
-
Zitierte Patentliteratur
-
- US 2009/0217136 A1 [0011, 0011]