DE112005002314T5 - Mechanismus zum Erzeugen eingeschränkter und uneingeschränkter Ausführungsumgebungen - Google Patents
Mechanismus zum Erzeugen eingeschränkter und uneingeschränkter Ausführungsumgebungen Download PDFInfo
- Publication number
- DE112005002314T5 DE112005002314T5 DE112005002314T DE112005002314T DE112005002314T5 DE 112005002314 T5 DE112005002314 T5 DE 112005002314T5 DE 112005002314 T DE112005002314 T DE 112005002314T DE 112005002314 T DE112005002314 T DE 112005002314T DE 112005002314 T5 DE112005002314 T5 DE 112005002314T5
- Authority
- DE
- Germany
- Prior art keywords
- thread
- access
- restricted
- unrestricted
- chipset
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/468—Specific access rights for resources, e.g. using capability register
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
Abstract
Computersystem,
umfassend:
eine zentrale Verarbeitungseinheit (CPU) mit:
einem ersten Thread mit einer ersten zugehörigen Thread-Kennung (ID); und
einem zweiten Thread mit einer zweiten zugehörigen Thread-ID; und
einen Chipsatz, der so verbunden ist, daß er Zugriffsanforderungen von der CPU empfängt und eine der Zugriffsanforderung beigeschlossene Thread-ID prüft, um zu bestimmen, welcher Thread Zugriff fordert.
eine zentrale Verarbeitungseinheit (CPU) mit:
einem ersten Thread mit einer ersten zugehörigen Thread-Kennung (ID); und
einem zweiten Thread mit einer zweiten zugehörigen Thread-ID; und
einen Chipsatz, der so verbunden ist, daß er Zugriffsanforderungen von der CPU empfängt und eine der Zugriffsanforderung beigeschlossene Thread-ID prüft, um zu bestimmen, welcher Thread Zugriff fordert.
Description
- Hierin ist urheberrechtlich geschütztes Material enthalten. Der Inhaber des Urheberrechts hat keine Einwände gegen die Vervielfältigung durch Kopieren der Patentoffenbarung durch eine beliebige Person, so wie sie in den Patentakten oder -dateien des Patent- und Markenamtes aussieht, behält sich jedoch ansonsten alle durch das Urheberrecht gewährten Rechte vor.
- GEBIET DER ERFINDUNG
- Die vorliegende Erfindung betrifft Computersysteme; insbesondere betrifft die vorliegende Erfindung Computersysteme, die in einer vertrauenswürdigen oder geschützten Umgebung operieren können.
- Es gibt eine Vielzahl von Anwendungen, für die eine „isolierte Ausführung" und eine „isolierte Speicherung" von Vorteil wären. Isolierte Ausführung ist die Fähigkeit eines Ausführungscodes, der durch andere Software nicht unterbrochen oder beobachtet werden kann. Isolierte Ausführung ist wichtig für Sicherheitssoftware sowie für den Schutz vor nicht bösartiger, aber schlecht geschriebener Software. Zum Beispiel kann ein schlecht geschriebener Gerätetreiber potentiell den ordnungsgemäßen Betrieb eines Betriebssystems (OS) stören, was einen Absturz zur Folge hat, der den Betrieb zeitkritischer Anwendungen (wie eines digitalen Videorecorders) verhindert.
- Isolierte Speicherung bezieht sich auf eine Fähigkeit, Daten in einem nicht flüchtigen Speicher zu speichern, auf den nur ein autorisierter Besitzer zugreifen kann. Somit kann keine andere Software die Daten modifizieren oder löschen. Das Löschungskonzept ist wichtig, weil ein Fehler in einem OS oder seinem Gerätetreiber dazu führen könnte, daß auf Daten oder eine Platte nicht mehr zugegriffen werden kann.
- KURZE BESCHREIBUNG DER ZEICHNUNGEN
- Die Erfindung ist beispielhaft und nicht einschränkend in den Figuren der beigefügten Zeichnungen illustriert, in denen gleiche Bezugszeichen ähnliche Elemente bezeichnen und in denen:
-
1 ein Blockdiagramm einer Ausführungsform eines Computersystems ist; -
2 ein Blockdiagramm ist, das eine Ausführungsform einer mit einer Platte verbundenen Plattensteuereinheit illustriert; und -
3 ein Ablaufschema einer Ausführungsform für den Betrieb eines Computersystems ist. - DETAILLIERTE BESCHREIBUNG
- Es wird ein Mechanismus für eingeschränkte und uneingeschränkte Ausführungsumgebungen bei einem Computersystem beschrieben. In der folgenden detaillierten Beschreibung der vorliegenden Erfindung werden zahlreiche spezifische Details dargelegt, um ein umfassendes Verständnis der vorliegenden Erfindung zu gewährleisten. Es ist jedoch für den Fachmann auf dem Gebiet offensichtlich, daß die vorliegende Erfindung ohne diese spezifischen Details praktiziert werden kann. Andererseits werden hinlänglich bekannte Strukturen und Vorrichtungen in Form von Blockdiagrammen statt im Detail gezeigt, um die vorliegende Erfindung nicht undurchschaubar zu machen.
- Die Bezugnahme auf „eine Ausführungsform" in der Beschreibung bedeutet, daß ein(e) bestimmte(s) Merkmal, Struktur oder Eigenschaft, die im Zusammenhang mit der Ausführungsform beschrieben wird, in mindestens einer Ausführungsform der Erfindung eingeschlossen ist. Die Vorkommen der Formulierung „in einer Ausführungsform" an verschiedenen Stellen der Beschreibung beziehen sich nicht unbedingt alle auf dieselbe Ausführungsform.
- Einige Abschnitte der folgenden detaillierten Beschreibungen werden in Form von Algorithmen und symbolischen Darstellungen von Operationen auf Datenbits in einem Computerspeicher präsentiert. Diese algorithmischen Beschreibungen und Darstellungen sind die Mittel, die von Datenverarbeitungsfachleuten verwendet werden, um anderen Fachleuten den Inhalt ihrer Arbeit am effektivsten zu vermitteln.
- Ein Algorithmus wird hier, und im allgemeinen, verstanden als eine in sich widerspruchsfreie Abfolge von Schritten, die zu einem gewünschten Ergebnis führt. Die Schritte sind solche, die eine physikalische Verarbeitung physikalischer Größen erfordern. Üblicherweise, jedoch nicht unbedingt, haben diese Größen die Form elektrischer oder magnetischer Signale, die gespeichert, übertragen, kombiniert, verglichen und anderweitig verarbeitet werden können. Es hat sich zuweilen als praktisch erwiesen, hauptsächlich aus Gründen der allgemeinen Üblichkeit, auf diese Signale als Bits, Werte, Elemente, Symbole, Zeichen, Ausdrücke, Zahlen oder dergleichen Bezug zu nehmen.
- Es sollte jedoch bedacht werden, daß all diese und ähnliche Begriffe den eigentlichen physikalischen Größen zuzuordnen sind und lediglich praktische Etiketten sind, mit denen diesen Größen versehen wurden. Sofern nicht im Einzelfall anders angegeben, wie aus der folgenden Erörterung zu entnehmen, betreffen in der gesamten Beschreibung Erörterungen unter Verwendung von Begriffen wie „verarbeiten" oder "berechnen" oder „rechnen" oder "bestimmen" oder „anzeigen" oder dergleichen den Betrieb und die Prozesse eines Computersystems oder einer ähnlichen elektronischen Recheneinrichtung, die in den Registern und Speichern des Computersystems als physikalische (elektronische) Größen dargestellte Daten zu/in andere(n) Daten verarbeitet und umformt, die in ähnlicher Weise als physikalische Größen in den Speichern oder Registern oder anderen solchen Informationsspeicher-, Übertragungs- oder Anzeigeeinrichtungen des Computersystems dargestellt werden.
- Die vorliegende Erfindung betrifft auch eine Vorrichtung zum Ausführen der hierin dargelegten Operationen. Diese Vorrichtung kann speziell für die erforderlichen Zwecke konstruiert sein, oder sie kann einen allgemein einsetzbaren Computer umfassen, der durch ein in dem Computer gespeichertes Computerprogramm selektiv aktiviert oder neu konfiguriert wird. Ein solches Computerprogramm kann auf einem computerlesbaren Speichermedium gespeichert sein, wie, jedoch nicht beschränkt auf, jede Art von Platte einschließlich Floppy-Disks, optische Platten, CD-ROMs und magnetooptische Platten, Nur-Lese-Speicher (ROMs), Speicher mit wahlfreiem Zugriff (RAMs), EPROMs, EEPROMs, magnetische oder optische Karten oder jede Art von Medien, die für das Speichern elektronischer Befehle geeignet und jeweils mit einem Bus des Computersystems verbunden sind.
- Die hierin präsentierten Algorithmen und Anzeigen sind nicht an eine(n) bestimmten Computer oder andere Vorrichtung gebunden. Verschiedene allgemein einsetzbare Systeme können mit Programmen gemäß den hierin dargelegten Lehren verwendet werden, oder es kann sich als praktisch erweisen, eine speziellere Vorrichtung zu konstruieren, um die erforderlichen Verfahrensschritte auszuführen. Die erforderliche Struktur für eine Vielzahl dieser Systeme ist der nachstehenden Beschreibung zu entnehmen. Darüber hinaus ist die vorliegende Erfindung nicht unter Bezugnahme auf eine bestimmte Programmiersprache beschrieben. Es kann eine Vielzahl von Programmiersprachen verwendet werden, um die Lehren der Erfindung, wie hierin beschrieben, umzusetzen.
- Die Befehle der Programmiersprache(n) können durch eine oder mehrere Verarbeitungsvorrichtungen (z. B. Prozessoren, Steuereinheiten, zentrale Verarbeitungseinheiten (CPUs), Ausführungskerne etc.) ausgeführt werden.
-
1 ist ein Blockdiagramm einer Ausführungsform eines Computersystems100 . Das Computersystem100 schließt eine zentrale Verarbeitungseinheit (CPU)102 ein, die mit einem Bus105 verbunden ist. Gemäß einer Ausführungsform schließt die CPU102 mehrere Kerne103 ein. Zum Beispiel schließt die CPU102 Kern 0 und Kern 1 ein. Bei einer Ausführungsform betreibt das Computersystem100 mehrere Betriebssysteme gleichzeitig. Bei einer solchen Ausführungsform operiert auf jedem Kern103 ein separates OS. So operiert ein erstes OS auf dem Kern 0, während ein zweites OS auf dem Kern 1 operiert. Bei einer weiteren Ausführungsform kann jeder einzelne Kern mehr als einen Thread ausführen. In der nachstehenden Beschreibung wird der Begriff Thread jedoch verwendet, um eine Prozessorfunktion anzuzeigen, die ein OS umsetzt. - Bei einer Ausführungsform ist die CPU
102 ein Prozessor der Pentium®-Prozessorfamilie einschließlich der Pentium® II-Prozessorfamilie, Pentium® III-Prozessoren und Pentium® IV-Prozessoren, erhältlich von Intel Corporation, Santa Clara, Kalifornien. Alternativ können andere CPUs verwendet werden. - Ein Chipsatz
107 ist ebenfalls mit dem Bus105 verbunden. Der Chipsatz107 schließt einen Speichersteuerknotenpunkt (MCH)110 ein. Der MCH110 kann eine Speichersteuereinheit112 einschließen, die mit einem Hauptsystemspeicher115 verbunden ist. Der Hauptsystemspeicher115 speichert Daten und Befehlsfolgen, die durch die CPU102 oder eine andere in das System100 eingeschlossene Vorrichtung ausgeführt werden. Bei einer Ausführungsform schließt der Hauptsystemspeicher115 einen dynamischen Speicher mit wahlfreiem Zugriff (DRAM) ein; der Hauptsystemspeicher115 kann jedoch unter Verwendung anderer Speicherarten umgesetzt werden. - Gemäß einer Ausführungsform schließt der MCH
110 eine Thread-ID-Prüfeinheit112 ein. Die ID-Prüfeinheit116 empfängt von der CPU über den Bus105 eine Thread-ID, die anzeigt, welcher Thread einen Speicher- oder I/O-Zugriff ausführt. Bei einer Ausführungsform weist die Thread-ID-Prüfeinheit112 einem bestimmten Thread bestimmte Speicherbereiche zu. - Bei einer weiteren Ausführungsform wird einem uneingeschränkten Thread Zugriff auf alle Speicherseiten gewährt, während einem oder mehreren anderen eingeschränkten Thread(s) lediglich Zugriff auf bestimmte Seiten gewährt wird. Weiterhin ermöglichen es die CPU
102 und der Chipsatz110 , daß eingeschränkte Komponenten der Computersystem-100 Plattform modifiziert werden, während die uneingeschränkten Komponenten der Plattform nicht zurückgesetzt werden. Bei noch einer weiteren Ausführungsform kann der uneingeschränkte Thread Überwachungszugriff über eingeschränkte Threads haben. Ein solcher Überwachungszugriff ermöglicht, daß der uneingeschränkte Thread die Zugriffsniveaus der eingeschränkten Threads prüft. - Der MCH schließt auch Zeitgeber und Unterbrechungsressourcen
114 und Zurücksetzungs- und Leistungsmanagementregister116 ein. Die Zeitgeber- und Unterbrechungsressourcen sind den uneingeschränkten Threads beigegeben, damit der uneingeschränkte Thread über Zeitgeber- und Unterbrechungsleistungen verfügen kann, die durch den/die uneingeschränkten Thread(s) nicht (absichtlich oder versehentlich) modifiziert werden können. - Die Zurücksetzungs- und Leistungsmanagementregister
116 sind ebenfalls für die uneingeschränkten Threads umgesetzt. Die Zurücksetzungs- und Leistungsmanagementregister116 verursachen Ereignisse, die durch die eingeschränkten Threads gemanagt werden. Dadurch können die eingeschränkten Threads die Zurücksetzungs- und Leistungsmanagementpolitiken innehaben. Gemäß einer Ausführungsform ermöglicht der MCH110 , daß kritische Ereignisse, die normalerweise eine Systemmanagementunterbrechung (SMI) verursachen würden, statt dessen eine Unterbrechung des uneingeschränkten Thread verursachen. Dadurch können OS-unabhängige Threads auf dem uneingeschränkten Thread ausgeführt werden, ohne den Ausführungsfluß des auf dem eingeschränkten Thread laufenden OS zu stören. - Der MCH
110 kann auch eine Grafikschnittstelle113 einschließen, die mit einem Grafikbeschleuniger130 verbunden ist. Gemäß einer Ausführungsform ermöglicht die Grafikschnittstelle113 , daß ein uneingeschränkter Thread ein Fenster auf einem Anzeigemonitor (nicht gezeigt) so anzeigt, daß ein einem eingeschränkten Thread zugehöriges Fenster nicht über dem dem uneingeschränkten Thread zugehörigen Fenster angeordnet werden kann. - Der MCH
110 ist über eine Knotenpunktschnittstelle mit einem Eingangs/Ausgangs-Steuerknotenpunkt (ICH)140 verbunden. Der ICH140 stellt eine Schnittstelle für Eingangs/Ausgangs-(I/O-)Einrichtungen in dem Computersystem100 bereit. Der ICH140 schließt eine Plattensteuereinheit142 , eine Audiosteuereinheit144 und eine Netzwerksteuereinheit146 ein. Die Plattensteuereinheit142 ist über eine Schnittstelle mit einem oder mehreren Plattenlaufwerk(en) (nicht gezeigt) verbunden, um die Datenübertragung zwischen dem Chipsatz107 und den Laufwerken zu steuern. - Gemäß einer Ausführungsform wird dem uneingeschränkten Thread über die Plattensteuereinheit
142 vollständiger Zugriff auf Daten auf der Festplatte260 gewährt. Bei einer solchen Ausführungsform wird jedoch eingeschränkten Threads nicht gestattet, auf bestimmte Abschnitte der Festplatte260 zuzugreifen.2 ist ein Blockschaltbild, das eine Ausführungsform einer mit einer Platte verbundenen Plattensteuereinheit142 illustriert. Die Plattensteuereinheit142 schließt Schnittstellen230 und DMA-Maschinen250 ein. Die Schnittstellen230 schließen die Schnittstellen 0 und 1 ein. - Die Schnittstelle 0 und die Schnittstelle 1 stellen unabhängige Schnittstellen für Software bereit, die auf Daten auf der Festplatte
260 zugreift. Zum Beispiel kann ein Konfigurationsraum durch den uneingeschränkten Thread eingesehen werden, während der andere durch einen oder mehrere uneingeschränkte(n) Thread(s) eingesehen werden kann. Die DMA-Maschinen250 ermöglichen direkte Speicherzugriffe zwischen der Festplatte260 . - Wiederum unter Bezugnahme auf
1 operiert die Audiosteuereinheit144 , um die Aufnahme und Wiedergabe von Klängen zu koordinieren. Gemäß einer Ausführungsform ermöglicht die Audiosteuereinheit144 , daß ein Ausgangs-Audiostrom unabhängig für die uneingeschränkten und eingeschränkten Threads operiert. Dies verhindert, daß der eingeschränkte Thread den uneingeschränkten Thread "stummschaltet". Bei einer weiteren Ausführungsform schließt die Audiosteuereinheit144 einen Modus ein, um zu ermöglichen, daß ein Eingangsstrom zuerst zu dem uneingeschränkten Thread übertragen wird, der entscheiden kann, ob die Audiodaten an den eingeschränkten Thread weitergeleitet werden sollten. - Die Netzwerksteuereinheit
146 verbindet das Computersystem100 mit einem Computernetzwerk (in1 nicht gezeigt) und unterstützt die Kommunikation zwischen den Maschinen. Gemäß einer Ausführungsform wird dem uneingeschränkten Thread vollständiger Zugriff auf die Netzwerksteuereinheit146 gewährt, während die eingeschränkten Threads keinen vollständigen Zugriff haben. Bei einer Ausführungsform werden durch die eingeschränkten Threads "übertragene" Pakete zuerst für eine Inspektion oder Modifikation durch den uneingeschränkten Thread zugänglich gemacht. Weiterhin können vom Netzwerk empfangene Pakete zuerst durch den uneingeschränkten Thread inspiziert werden, bevor sie dem eingeschränkten Thread zugänglich gemacht werden. -
3 ist ein Ablaufschema einer Ausführungsform für die Speicher- oder I/O-Zugriffsanforderung bei dem Computersystem100 . Beim Verarbeitungsblock310 empfängt der Chipsatz107 von der CPU102 eine Anforderung, auf eine Vorrichtung zuzugreifen. Zum Beispiel kann der MCH110 eine solche Anforderung, auf den Speicher115 zuzugreifen, empfangen. In ähnlicher Weise kann die Plattensteuereinheit142 die Anforderung empfangen, auf die Festplatte260 zuzugreifen. - Beim Verarbeitungsblock
320 prüft die Thread-ID-Prüfeinheit116 die der Anforderung beigeschlossene Thread-ID, um den anfordernden Thread zu bestimmen. Beim Entscheidungsblock330 wird bestimmt, ob der anfordernde Thread ein eingeschränkter Thread oder ein uneingeschränkter Thread ist. Wenn es ein uneingeschränkter Thread ist, wird dem uneingeschränkten Thread vollständiger Zugriff auf Daten von der Vorrichtung, auf das die Anforderung zielt, gewährt, Verarbeitungsblock340 . - Wenn es jedoch ein eingeschränkter Thread ist, findet eine Prüfung statt, um zu bestimmen, ob der eingeschränkte Thread Zugriff auf die angeforderten Ressourcen hat, Verarbeitungsblock
350 . Beim Entscheidungsblock360 wird bestimmt, ob der eingeschränkte Thread auf die angeforderten Daten zugreifen kann. Wenn Zugriff ausgewiesen wird, wird dem Thread Zugriff auf die angeforderten Daten von dem Gerät, auf das die Anforderung zielt, gewährt, Verarbeitungsblock370 . Wird jedoch bestimmt, daß der Thread keinen Zugriff auf die angeforderten Daten hat, wird der Zugriff verweigert, Verarbeitungsblock380 . - Obgleich viele Veränderungen und Modifikationen der vorliegenden Erfindung für einen Fachmann nach dem Lesen der vorstehenden Beschreibung zweifellos offensichtlich sind, versteht es sich, daß jede besondere Ausführungsform, die illustrationshalber gezeigt und beschrieben ist, in keiner Weise als einschränkend angesehen werden soll. Daher sollen Bezugnahmen auf Details verschiedener Ausführungsformen den Umfang der Ansprüche nicht einschränken, die als solche nur diejenigen Merkmale wiedergeben, die als wesentlich für die Erfindung angesehen werden.
- Zusammenfassung
- Gemäß einer Ausführungsform wird ein Computersystem offenbart. Das Computersystem schließt eine zentrale Verarbeitungseinheit (CPU) mit einem ersten Thread mit einer ersten zugehörigen Thread-Kennung (ID) und einem zweiten Thread mit einer zweiten zugehörigen Thread-ID ein. Das Computersystem schließt ebenfalls einen Chipsatz ein, der so verbunden ist, daß er Zugriffsanforderungen von der CPU empfängt und eine der Zugriffsanforderung beigeschlossene Thread-ID prüft, um zu bestimmen, welcher Thread Zugriff fordert.
Claims (29)
- Computersystem, umfassend: eine zentrale Verarbeitungseinheit (CPU) mit: einem ersten Thread mit einer ersten zugehörigen Thread-Kennung (ID); und einem zweiten Thread mit einer zweiten zugehörigen Thread-ID; und einen Chipsatz, der so verbunden ist, daß er Zugriffsanforderungen von der CPU empfängt und eine der Zugriffsanforderung beigeschlossene Thread-ID prüft, um zu bestimmen, welcher Thread Zugriff fordert.
- Computersystem nach Anspruch 1, dadurch gekennzeichnet, daß der erste Thread ein uneingeschränkter Thread ist, dem vollständiger Zugriff auf Daten gewährt wird, und der zweite Thread ein eingeschränkter Thread ist, dem beschränkter Zugriff auf Daten gewährt wird.
- Computersystem nach Anspruch 2, das weiterhin eine mit dem Chipsatz verbundene Speichereinrichtung umfaßt, wobei dem uneingeschränkten Thread Zugriff auf alle Seiten der Speichereinrichtung gewährt wird und dem eingeschränkten Thread Zugriff auf zugewiesene Bereiche der Speichereinrichtung gewährt wird.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß die CPU und der Chipsatz ermöglichen, daß eingeschränkte Komponenten des Computersystems modifiziert werden, während die uneingeschränkten Komponenten unmodifiziert bleiben.
- Computersystem nach Anspruch 4, dadurch gekennzeichnet, daß der uneingeschränkte Thread Überwachungszugriff über den eingeschränkten Thread hat, damit der uneingeschränkte Thread die Zugriffsniveaus des eingeschränkten Threads prüfen kann.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz Zeitgeber- und Unterbrechungsressourcen umfaßt, die durch den eingeschränkten Thread nicht modifiziert werden können.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz weiterhin Register umfaßt, um es dem uneingeschränkten Thread zu ermöglichen, Ereignisse zu verursachen, die durch die eingeschränkten Threads gemanagt werden.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz eine Grafikschnittstelle umfaßt, um dem uneingeschränkten Thread zu ermöglichen, ein Fenster auf einem Monitor so anzuzeigen, daß ein dem eingeschränkten Thread zugehöriges Fenster nicht über dem dem uneingeschränkten Thread zugehörigen Fenster angeordnet werden kann.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz eine Plattensteuereinheit umfaßt, um dem uneingeschränkten Thread vollständigen Zugriff auf Daten auf einer mit der Plattensteuereinheit
142 verbundenen Festplatte zu gewähren und den eingeschränkten Threads Zugriff auf bestimmte Abschnitte der Festplatte zu gewähren. - Computersystem nach Anspruch 9, dadurch gekennzeichnet, daß die Plattensteuereinheit umfaßt: eine erste, dem uneingeschränktem Thread zugehörige Schnittstelle; eine zweite, dem eingeschränktem Thread zugehörige Schnittstelle; und eine DMA-Maschine.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz eine Audiosteuereinheit umfaßt, um einem Ausgangs-Audiostrom zu ermöglichen, unabhängig für die uneingeschränkten und eingeschränkten Threads zu operieren, um zu verhindern, daß der eingeschränkte Thread den uneingeschränkten Thread stummschaltet.
- Computersystem nach Anspruch 11, dadurch gekennzeichnet, daß die Audiosteuereinheit einen Modus einschließt, um zu ermöglichen, daß ein Eingangsstrom zuerst zu dem uneingeschränkten Thread übertragen wird, um zu bestimmen, ob die Audiodaten an den eingeschränkten Thread weitergeleitet werden sollten.
- Computersystem nach Anspruch 2, dadurch gekennzeichnet, daß der Chipsatz eine Netzwerksteuereinheit umfaßt, um dem uneingeschränkten Thread vollständigen Zugriff und dem eingeschränkten Thread eingeschränkten Zugriff zu gewähren.
- Computersystem nach Anspruch 13, dadurch gekennzeichnet, daß durch die eingeschränkten Threads übertragene Pakete für eine Inspektion oder Modifikation durch den uneingeschränkten Thread zugänglich gemacht werden und vom Netzwerk empfangene Pakete zuerst durch den uneingeschränkten Thread inspiziert werden, bevor sie dem eingeschränkten Thread zugänglich gemacht werden.
- Verfahren, umfassend: Empfangen einer Anforderung, auf Datenressourcen einer Einrichtung zuzugreifen; Prüfen einer der Anforderung zugehörigen Thread-Kennung (ID); und Gewähren eines vollständigen Zugriffs auf die Datenressourcen, wenn die Thread-ID eine Anforderung von einem uneingeschränkten Thread anzeigt.
- Verfahren nach Anspruch 15, das weiterhin das Gewähren von Zugriff auf festgelegte Komponenten der Datenressourcen umfaßt, wenn die Thread-ID eine Anforderung von einem eingeschränkten Thread anzeigt.
- System, umfassend: ein Festplattenlaufwerk; und eine mit dem Festplattenlaufwerk verbundene Plattensteuereinheit, einschließend: eine erste, einem uneingeschränktem Thread zugehörige Schnittstelle, um dem uneingeschränkten Thread vollständigen Zugriff auf Daten auf dem Festplattenlaufwerk zu gewähren; und eine zweite, einem eingeschränktem Thread zugehörige Schnittstelle, um dem eingeschränkten Thread Zugriff auf bestimmte Abschnitte der Festplatte zu gewähren.
- System nach Anspruch 9, dadurch gekennzeichnet, daß die Plattensteuereinheit weiterhin eine DMA-Maschine umfaßt.
- Fertigungsartikel, das ein oder mehrere computerlesbare(s) Medium/Medien einschließt, das/die ein Befehlsprogramm verkörpert/n, dadurch gekennzeichnet, daß das Befehlsprogramm, wenn es durch eine Verarbeitungseinheit ausgeführt wird, die Verarbeitungseinheit zu folgendem veranlaßt: Empfangen einer Anforderung, auf Datenressourcen einer Vorrichtung zuzugreifen; Prüfen einer der Anforderung zugehörigen Thread-Kennung (ID); und Gewähren eines vollständigen Zugriffs auf die Datenressourcen, wenn die Thread-ID eine Anforderung von einem uneingeschränkten Thread anzeigt.
- Fertigungsartikel nach Anspruch 19, dadurch gekennzeichnet, daß das Befehlsprogramm, wenn es durch eine Verarbeitungseinheit ausgeführt wird, die Verarbeitungseinheit weiterhin dazu veranlaßt, Zugriff auf festgelegte Komponenten der Datenressourcen zu gewähren, wenn die Thread-ID eine Anforderung von einem eingeschränkten Thread anzeigt.
- Chipsatz, der eine Thread-Kennungs-(ID-)Prüfeinheit umfaßt, um Thread-IDs, die einer von einer zentralen Verarbeitungseinheit (CPU) empfangenen Zugriffsanforderung beigeschlossen sind, zu prüfen, um zu bestimmen, ob die Zugriffsanforderung von einem ersten Thread mit einer ersten zugehörigen Thread-Kennung (ID) oder einem zweiten Thread mit einer zweiten zugehörigen Thread-ID stammt.
- Chipsatz nach Anspruch 21, dadurch gekennzeichnet, daß der erste Thread ein uneingeschränkter Thread ist, dem vollständiger Zugriff auf Daten gewährt wird, und der zweite Thread ein eingeschränkter Thread ist, dem beschränkter Zugriff auf Daten gewährt wird.
- Chipsatz nach Anspruch 4, dadurch gekennzeichnet, daß der uneingeschränkte Thread Überwachungszugriff über den eingeschränkten Thread hat, damit der uneingeschränkte Thread die Zugriffsniveaus des eingeschränkten Threads prüfen kann.
- Chipsatz nach Anspruch 22, dadurch gekennzeichnet, daß der Chipsatz Zeitgeber- und Unterbrechungsressourcen umfaßt, die durch den eingeschränkten Thread nicht modifiziert werden können.
- Chipsatz nach Anspruch 24, dadurch gekennzeichnet, daß der Chipsatz weiterhin Register umfaßt, um dem uneingeschränkten Thread zu ermöglichen, Ereignisse zu verursachen, die durch die eingeschränkten Threads gemanagt werden.
- Chipsatz nach Anspruch 22, dadurch gekennzeichnet, daß der Chipsatz eine Grafikschnittstelle umfaßt, um es dem uneingeschränkten Thread zu ermöglichen, ein Fenster auf einem Monitor so anzuzeigen, daß ein dem eingeschränkten Thread zugehöriges Fenster nicht über dem dem uneingeschränkten Thread zugehörigen Fenster angeordnet werden kann.
- Chipsatz nach Anspruch 22, dadurch gekennzeichnet, daß der Chipsatz eine Plattensteuereinheit umfaßt, um dem uneingeschränkten Thread vollständigen Zugriff auf Daten auf einer mit der Plattensteuereinheit
142 verbundenen Festplatte zu gewähren und den eingeschränkten Threads Zugriff auf bestimmte Abschnitte der Festplatte zu gewähren. - Chipsatz nach Anspruch 22, dadurch gekennzeichnet, daß der Chipsatz eine Audiosteuereinheit umfaßt, um einem Ausgangs-Audiostrom zu ermöglichen, unabhängig für die uneingeschränkten und eingeschränkten Threads zu operieren, um zu verhindern, daß der eingeschränkte Thread den uneingeschränkten Thread stummschaltet.
- Chipsatz nach Anspruch 22, dadurch gekennzeichnet, daß der Chipsatz eine Netzwerksteuereinheit umfaßt, um dem uneingeschränkten Thread vollständigen Zugriff und dem eingeschränkten Thread eingeschränkten Zugriff zu gewähren.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10/974,217 US7797728B2 (en) | 2004-10-27 | 2004-10-27 | Mechanism to generate restricted and unrestricted execution environments |
US10/974,217 | 2004-10-27 | ||
PCT/US2005/039048 WO2006047762A1 (en) | 2004-10-27 | 2005-10-27 | Mechanism to generate restricted and unrestricted execution environments |
Publications (1)
Publication Number | Publication Date |
---|---|
DE112005002314T5 true DE112005002314T5 (de) | 2007-09-06 |
Family
ID=35811715
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE112005002314T Ceased DE112005002314T5 (de) | 2004-10-27 | 2005-10-27 | Mechanismus zum Erzeugen eingeschränkter und uneingeschränkter Ausführungsumgebungen |
Country Status (7)
Country | Link |
---|---|
US (1) | US7797728B2 (de) |
JP (1) | JP4603585B2 (de) |
CN (1) | CN101031922A (de) |
DE (1) | DE112005002314T5 (de) |
GB (2) | GB2434468B (de) |
TW (1) | TWI294097B (de) |
WO (1) | WO2006047762A1 (de) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8095517B2 (en) * | 2007-02-08 | 2012-01-10 | Blue Coat Systems, Inc. | Method and system for policy-based protection of application data |
JP5444628B2 (ja) * | 2008-03-31 | 2014-03-19 | 富士通株式会社 | 情報端末装置および情報処理方法 |
US8910165B2 (en) * | 2009-10-14 | 2014-12-09 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Providing thread specific protection levels |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4442484A (en) * | 1980-10-14 | 1984-04-10 | Intel Corporation | Microprocessor memory management and protection mechanism |
US5038281A (en) * | 1986-09-19 | 1991-08-06 | International Business Machines Corporation | Acceleration of system interrupts between operating systems in guest-host relationship |
US5596718A (en) * | 1992-07-10 | 1997-01-21 | Secure Computing Corporation | Secure computer network using trusted path subsystem which encrypts/decrypts and communicates with user through local workstation user I/O devices without utilizing workstation processor |
US5901312A (en) * | 1994-12-13 | 1999-05-04 | Microsoft Corporation | Providing application programs with unmediated access to a contested hardware resource |
US5900025A (en) * | 1995-09-12 | 1999-05-04 | Zsp Corporation | Processor having a hierarchical control register file and methods for operating the same |
US5845129A (en) | 1996-03-22 | 1998-12-01 | Philips Electronics North America Corporation | Protection domains in a single address space |
US6349355B1 (en) * | 1997-02-06 | 2002-02-19 | Microsoft Corporation | Sharing executable modules between user and kernel threads |
US6389449B1 (en) * | 1998-12-16 | 2002-05-14 | Clearwater Networks, Inc. | Interstream control and communications for multi-streaming digital processors |
US6192395B1 (en) * | 1998-12-23 | 2001-02-20 | Multitude, Inc. | System and method for visually identifying speaking participants in a multi-participant networked event |
US6438671B1 (en) * | 1999-07-01 | 2002-08-20 | International Business Machines Corporation | Generating partition corresponding real address in partitioned mode supporting system |
FR2811096A1 (fr) * | 2000-06-28 | 2002-01-04 | St Microelectronics Sa | Microprocesseur securise comprenant un systeme d'attribution de droits a des librairies |
US6684262B1 (en) * | 2000-10-25 | 2004-01-27 | International Business Machines Corporation | Method and system for controlling peripheral device interface behavior using thread registration |
US7448025B2 (en) * | 2000-12-29 | 2008-11-04 | Intel Corporation | Qualification of event detection by thread ID and thread privilege level |
JP4054572B2 (ja) * | 2001-12-17 | 2008-02-27 | キヤノン株式会社 | アプリケーション実行システム |
US6925643B2 (en) * | 2002-10-11 | 2005-08-02 | Sandbridge Technologies, Inc. | Method and apparatus for thread-based memory access in a multithreaded processor |
US7152167B2 (en) * | 2002-12-11 | 2006-12-19 | Intel Corporation | Apparatus and method for data bus power control |
-
2004
- 2004-10-27 US US10/974,217 patent/US7797728B2/en not_active Expired - Fee Related
-
2005
- 2005-10-26 TW TW094137469A patent/TWI294097B/zh not_active IP Right Cessation
- 2005-10-27 DE DE112005002314T patent/DE112005002314T5/de not_active Ceased
- 2005-10-27 CN CNA2005800329889A patent/CN101031922A/zh active Pending
- 2005-10-27 JP JP2007539196A patent/JP4603585B2/ja not_active Expired - Fee Related
- 2005-10-27 WO PCT/US2005/039048 patent/WO2006047762A1/en active Application Filing
- 2005-10-27 GB GB0706013A patent/GB2434468B/en not_active Expired - Fee Related
-
2007
- 2007-03-28 GB GBGB0705991.8A patent/GB0705991D0/en not_active Ceased
Also Published As
Publication number | Publication date |
---|---|
WO2006047762A1 (en) | 2006-05-04 |
US7797728B2 (en) | 2010-09-14 |
GB2434468A (en) | 2007-07-25 |
JP4603585B2 (ja) | 2010-12-22 |
JP2008518363A (ja) | 2008-05-29 |
TW200630877A (en) | 2006-09-01 |
GB2434468A8 (de) | 2007-07-26 |
CN101031922A (zh) | 2007-09-05 |
US20060101463A1 (en) | 2006-05-11 |
GB2434468B (en) | 2009-05-27 |
GB0705991D0 (en) | 2007-05-09 |
TWI294097B (en) | 2008-03-01 |
GB0706013D0 (en) | 2007-05-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE112005003340B4 (de) | Mechanismus zum Bestimmen der Vertrauenswürdigkeit von Außerbandverwaltungsagenten | |
DE10394383B4 (de) | Verfahren und Vorrichtung zum Laden eines vertrauenswürdigen Betriebssystems | |
DE69724862T2 (de) | Verfahren und Anordnung für die Zugangs- und Informationsverfälschungskontrolle in Rechnersystemen | |
DE10195999B3 (de) | Computersystem mit einer in einem Chipsatz enthaltenen Speichersteuereinrichtung zum Kontrollieren von Zugriffen auf einen isolierten Speicher für eine isolierte Ausführung | |
DE69815599T2 (de) | Verfahren und Vorrichtung zum Schutz von Anwendungsdaten in sicheren Speicherbereichen | |
DE19782169C2 (de) | Kryptographisch geschütztes Seitenwechsel-Subsystem | |
DE60006217T2 (de) | Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von einem eingangspunktobjekt | |
EP0155399A2 (de) | Schutzanordnung zur Verhinderung der unerlaubten Ausführung eines Programms | |
DE19919137A1 (de) | Grenzsignal-Thread | |
DE202011111121U1 (de) | System zum Erfassen komplexer Schadsoftware | |
DE10196440B4 (de) | Steuern des Zugriffs auf mehrere isolierte Speicher in einer isolierten Ausführungsumgebung | |
DE112006002237T5 (de) | Verfahren zur selbstinitiierenden Synchronisierung in einem Computersystem | |
DE112009000344T5 (de) | Zugriffsrechte auf eine Speicher-Map | |
DE112010005821T5 (de) | Kontextwechsel | |
DE102012200613A1 (de) | System und Verfahren zur Unterstützung von JIT in einem sicheren System und zufällig zugewiesenen Speicherbereichen | |
DE102007063528A1 (de) | System und Verfahren zum Schützen eines Sicherheitsbereichs eines Systems | |
DE60002687T2 (de) | Techniken zum gewähren des zugriffs durch eine kontextsperre in einem gerät mit kleinem platzbedarf unter verwendung von laufzeitumgebungsprivilegien | |
DE112017008158T5 (de) | Dateienvorababrufeinplanung für cachespeicher zur verringerung von latenzen | |
DE102013224578A1 (de) | Codeschutz unter verwendung von online-authentifizierung und verschlüsselter ausführung von code | |
DE102016220639A1 (de) | Speicherschutzeinheit und Verfahren zum Schützen eines Speicheradressraumes | |
DE60100363T2 (de) | Sequenznummerierungsmechanismus zur sicherung der ausführungsordnungs-integrietät von untereinander abhängigen smart-card anwendungen | |
DE10297686B4 (de) | System und Verfahren zum Steuern der Zugriffe zwischen einzelnen Geräten innerhalb eines Computersystems | |
DE602004002241T2 (de) | Schutz eines auf ausführungwartenden Programms in einem Speicher für einen Mikroprozessor | |
DE112004000626T5 (de) | Verfahren und Gerät zur Schaffung einer Programmlauf- bzw. Ausführungsabschirmung | |
DE112005002314T5 (de) | Mechanismus zum Erzeugen eingeschränkter und uneingeschränkter Ausführungsumgebungen |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
R002 | Refusal decision in examination/registration proceedings | ||
R003 | Refusal decision now final |