QNX

QNX (oder) ist ein kommerzielles Unix ähnliches Echtzeitbetriebssystem, gerichtet in erster Linie auf den eingebetteten Systemmarkt. Das Produkt wurde von der kanadischen Gesellschaft QNX Softwaresysteme ursprünglich entwickelt, der später durch die Forschung In der Bewegung erworben wurde.

Beschreibung

Als ein mikrokernbasierter OS basiert QNX auf der Idee, die meisten OS in der Form mehrerer kleiner Aufgaben zu führen, die als Server bekannt sind. Das unterscheidet sich vom traditionelleren monolithischen Kern, in dem das Betriebssystem ein einzelnes sehr großes Programm ist, das aus einer riesigen Zahl von "Teilen" mit speziellen geistigen Anlagen zusammengesetzt ist. Im Fall von QNX erlaubt der Gebrauch eines Mikrokerns Benutzern (Entwickler), jede Funktionalität abzudrehen, die sie nicht verlangen, ohne den OS selbst ändern zu müssen; statt dessen werden jene Server einfach nicht geführt.

Das System ist mit früheren Versionen ziemlich klein, die auf einer einzelnen Diskette passen.

QNX Neutrino (2001) ist zu mehreren Plattformen getragen worden und läuft jetzt auf praktisch jeder modernen Zentraleinheit, die auf dem eingebetteten Markt verwendet wird. Das schließt PowerPC, x86 Familie, MIPS, SCH 4 und die nah verwandte Familie des ARMS, StrongARM und XScale Zentraleinheiten ein.

Bezüglich am 12. September 2007 bietet QNX eine Lizenz für nichtkommerzielle Benutzer an.

BlackBerry Playbook Block-Computer, der durch die Forschung In der Bewegung entworfen ist, verwendet eine Version von QNX als das primäre Betriebssystem.

Geschichte

Gordon Bell und Dan Dodge, Studenten an der Universität von Waterloo 1980, haben beide einen Standardinformatik-Kurs im Betriebssystemdesign genommen, in dem die Studenten einen grundlegenden Echtzeitkern gebaut haben. Sich beide waren überzeugt, dass es ein kommerzielles Bedürfnis nach solch einem System gab, und sich zu Kanata, Ontario bewegt hat (ein hochtechnologisches Gebiet dann nach Westen Ottawas und jetzt in diese Stadt fusioniert hat), Quant-Softwaresysteme in diesem Jahr anzufangen. 1982 wurde die erste Version von QNX für Intel 8088 CPU veröffentlicht.

Einer des ersten weit verbreiteten Gebrauches des QNX schritthaltenden OS (RTOS) war in der nichteingebetteten Welt, als es als das Betriebssystem für Ontarios eigenes Computerdesign des Systems der Ausbildung, die Unisys IKONE ausgewählt wurde. Im Laufe der Jahre wurde QNX größtenteils für "größere" Projekte verwendet, weil sein 44k Kern zu groß war, um innerhalb der Einchipcomputer des Zeitalters zu passen. Das System hat einen Ruf für die Zuverlässigkeit gespeichert und hat sich in der Gebrauch-Laufen-Maschinerie in mehreren Industrieanwendungen gefunden.

In den späten 1980er Jahren hat Quant begriffen, dass der Markt an das POSIX Modell und entschieden schnell heranging, um den Kern umzuschreiben, um auf niedrigerer Ebene viel vereinbarer zu sein. Das Ergebnis war QNX 4. Während dieser Zeit hat Patrick Hayden, während er als ein Internierter, zusammen mit Robin Burgener (ein ganztägiger Angestellter zurzeit) gearbeitet hat, ein neues Konzept für a entwickelt. Dieses patentierte Konzept wurde in den embeddable GUI entwickelt hat das QNX Foton microGUI genannt. QNX hat auch eine Version des X Fenstersystems zur Verfügung gestellt. Wegen der POSIX-Schnittstelle, Pakete von Unix und BSD zu QNX tragend, ist viel leichter geworden.

Zum Ende der 1990er Jahre hat die Gesellschaft (hat jetzt QNX Softwaresysteme genannt), Arbeit an einer völlig neuen Version des QNX RTOS, entworfen vom Boden begonnen bis zu, fähig sein SMP, und den ganzen Strom POSIX APIs und jeden neuen POSIX APIs zu unterstützen, der vorausgesehen werden konnte, während man noch die Mikrokernarchitektur behalten hat. Das ist auf das QNX Neutrino RTOS hinausgelaufen, der 2001 veröffentlicht wurde.

Zusammen mit dem Neutrino-Kern haben QNX Softwaresysteme eine ernste Verpflichtung zur Bearbeitung übernommen, und sind ein Gründungsmitglied des Eklipse-Konsortiums geworden. Die Gesellschaft hat ein Gefolge von Eklipse-Einfügefunktionen veröffentlicht, die mit dem Eklipse-Arbeitstisch 2002 unter dem Namen QNX Momentics Werkzeug-Gefolge paketiert sind.

2004 hat die Gesellschaft bekannt gegeben, dass sie an Harman Internationale Industrien verkauft worden war. Vor diesem Erwerb wurde QNX Software bereits in der Automobilindustrie für Telematik-Systeme weit verwendet. Seit dem Kauf durch Harman ist QNX Software in mehr als 200 verschiedenes Automobil entworfen worden macht und Modelle — nicht nur in Telematik-Systemen, aber in infotainment und Navigationseinheiten ebenso. Die QNX AUTO-Anwendungsplattform läuft in mehr als 20 Millionen Fahrzeugen bezüglich der Mitte 2011. Die Gesellschaft hat mehrere middleware Produkte einschließlich des QNX Aviage Multimediagefolge, der QNX Aviage Akustisches In einer Prozession gehendes Gefolge und der QNX HMI Gefolge seitdem veröffentlicht.

Im September 2007 haben QNX Softwaresysteme die Verfügbarkeit von etwas von seinem Quellcode bekannt gegeben.

Am 9. April 2010 hat die Forschung In der Bewegung bekannt gegeben, dass sie QNX Softwaresysteme von Harman Internationalen Industrien erwerben würden. An demselben Tag wurde QNX Quellcodezugang beschränkt. Im September 2010 hat die Gesellschaft einen Block-Computer, BlackBerry PlayBook und ein neues Betriebssystem Block von BlackBerry auf QNX gestützter OS bekannt gegeben, um auf dem Block zu laufen.

Das ein/Ausgabe-Steuersystem-XR von Cisco (extremes hohes Verfügbarkeitsein/Ausgabe-Steuersystem) hat gebaut ungefähr 2004-2005 basieren auf der QNX Software, wie 2006 eingeführte Ein/Ausgabe-Steuersystem-Softwaremodularität ist.

Technologie

Der QNX Kern enthält nur Zentraleinheitsterminplanung, Zwischenprozess-Kommunikation, Unterbrechungswiederrichtung und Zeitmesser. Etwas anderes läuft als ein Benutzerprozess, einschließlich eines speziellen Prozesses bekannt als, der Prozess-Entwicklung und Speichermanagement durch das Funktionieren in Verbindung mit dem Mikrokern durchführt. Das wird möglich durch zwei Schlüsselmechanismen — Typ-Zwischenprozess-Kommunikation des Unterprogramm-Anrufs und ein Stiefellader gemacht, der ein Image laden kann, das nicht nur der Kern, aber jede gewünschte Sammlung von Benutzerprogrammen und geteilten Bibliotheken enthält. Es gibt keine Gerät-Fahrer im Kern. Der Netzstapel basiert auf dem Code von NetBSD. Zusammen mit seiner Unterstützung für seine eigenen, geborenen, Gerät-Fahrer unterstützt QNX sein Vermächtnis, Io-Nettobetriebsleiter Server und die von NetBSD getragenen Netzfahrer.

QNX Zwischenprozess-Kommunikation besteht daraus, eine Nachricht von einem Prozess bis einen anderen zu senden und auf eine Antwort zu warten. Das ist eine einzelne Operation, genannt. Die Nachricht wird durch den Kern vom Adressraum des Senden-Prozesses zu diesem des Empfang-Prozesses kopiert. Wenn der Empfang-Prozess auf die Nachricht wartet, wird die Kontrolle der Zentraleinheit zur gleichen Zeit ohne einen Pass durch den Zentraleinheitsplaner übertragen. So laufen das Senden einer Nachricht an einen anderen Prozess und das Warten für eine Antwort "auf das Verlieren von jemandes Umdrehung" für die Zentraleinheit nicht hinaus. Diese dichte Integration zwischen Nachrichtenübergang und Zentraleinheitsterminplanung ist einer der Schlüsselmechanismen, der QNX Nachricht macht, die weit gehend verwendbar geht. Die meisten Zwischenprozess-Nachrichtenmechanismen von Unix und Linux haben an dieser dichten Integration Mangel, obwohl eine Durchführung der QNX-Typ-Nachrichtenübermittlung für Linux wirklich besteht. Das Misshandeln dieses feinen Problems ist ein primärer Grund für die enttäuschende Leistung einiger anderer Mikrokernsysteme wie frühe Versionen des Machs.

Wegen der Mikrokernarchitektur ist QNX auch ein verteiltes Betriebssystem. Dan Dodge und Peter van der Veen meinen, dass die Vereinigten Staaten 6,697,876 gestützte auf dem QNX patentieren, hat Betriebssystem in einer Prozession gehende Eigenschaften bekannt gewerblich als Durchsichtige Verteilte Verarbeitung verteilt.

Alle Eingabe/Ausgabe-Operationen, Dateisystemoperationen und Netzoperationen sind gemeint geworden, um durch diesen Mechanismus zu arbeiten, und die übertragenen Daten wurden während des Nachrichtenübergangs kopiert. Spätere Versionen von QNX vermindern die Anzahl von getrennten Prozessen und integrieren den Netzstapel und die anderen Funktionsblöcke in einzelne Anwendungen aus Leistungsgründen.

Das Nachrichtenberühren ist prioritized durch den Faden-Vorrang. Da Eingabe/Ausgabe-Bitten mit dem Nachrichtenübergang durchgeführt werden, erhalten hohe Vorzugsfäden Eingabe/Ausgabe-Dienst vor niedrigen Vorzugsfäden, einer wesentlichen Eigenschaft in einem harten Echtzeitsystem.

Der Stiefellader, obwohl selten besprochen, ist der andere Schlüsselbestandteil des minimalen Mikrokernsystems. Weil Benutzerprogramme ins Stiefelimage eingebaut werden können, braucht der Satz von Gerät-Fahrern und für den Anlauf erforderlichen Unterstützungsbibliotheken nicht zu sein, und ist nicht im Kern. Sogar solche Funktionen wie das Programm-Laden sind nicht im Kern, aber sind stattdessen in geteilten als ein Teil des Stiefelimages geladenen Benutzerraumbibliotheken. Es ist möglich, ein komplettes Stiefelimage ins ROM zu stellen, das für eingebettete Systeme von diskless verwendet wird.

Neutrino unterstützt symmetrische Mehrverarbeitung und Verarbeiter-Sympathie, genannt gebundene Mehrverarbeitung (BMP) in der QNX Fachsprache. BMP wird verwendet, um das Schlagen des geheimen Lagers zu verbessern und die Wanderung von non-SMP sicheren Anwendungen auf Mehrverarbeiter-Computer zu erleichtern.

Neutrino unterstützt strenge Vorzugsvorkaufsterminplanung und anpassungsfähige Teilungsterminplanung (APS). APS versichert minimale Zentraleinheitsprozentsätze zu ausgewählten Gruppen von Fäden, wenn auch andere höheren Vorrang haben können. Der anpassungsfähige Teilungsplaner ist noch ausschließlich Vorzugsvorkaufs-, wenn das System underloaded ist. Es kann auch konfiguriert werden, um einen ausgewählten Satz von kritischen ausschließlich schritthaltenden Fäden zu führen, selbst wenn das System überladen wird.

Durchsichtige verteilte Verarbeitung

Durchsichtige Verteilte Verarbeitung oder TDP, ist der Name, dass der QNX Betriebssystemgebrauch, um sich auf sein Netz zu beziehen, Architektur verteilt hat. Da QNX ein Mikrokern ist, ist es von Natur aus verteilbares Netz, so läuft TDP wirklich auf ein Protokoll-Modul hinaus, das zum QNX einsteckt, der Stapel vernetzt. Dieses Protokoll-Modul (bekannt als qnet) verbindet die Mikrokerne über das Netz zusammen, so dass mit Betriebssystemdienstleistungen genau denselben Mechanismus ohne Rücksicht auf den Computerknoten zugegriffen wird, auf dem sie wohnen.

TDP wird durch amerikanische Offene 5,745,759 bedeckt.

Foundry27

Foundry27 ist eine webbasierte QNX von der Gesellschaft gegründete Gemeinschaft. Es dient als ein Mittelpunkt der QNX Neutrino-Entwicklung, wo Entwickler einschreiben, die Lizenz wählen, und den Quellcode und das verwandte Werkzeug des RTOS bekommen können. Bezüglich am 9. April 2010 (nach dem Erwerb durch den RAND) ist der volle QNX Quellcode für Hobbyisten oder für die breite Öffentlichkeit nicht mehr verfügbar.

Siehe auch

  • Vergleich von Betriebssystemen

Weiterführende Literatur

Links


Georgische Dichter / Sichuan
Impressum & Datenschutz