Echtzeit-Multitasking

Ähnliche Dokumente
Echtzeit-Multitasking

Entscheidungshilfe zur Auswahl Schlanker Produktionssysteme für die Montage von Werkzeugmaschinen

Markus Andre Eisen Optimierte Parameterfindung und prozessorientiertes Qualitätsmanagement für das Selective Laser Melting Verfahren


Berichte aus der Produktionstechnik

Tutorium Rechnerorganisation

Virtueller Speicher und Memory Management

RO-Tutorien 15 und 16

Rechnernutzung in der Physik. Betriebssysteme

Echtzeitbetriebssysteme

Otto Bruhns. Aufgabensammlung Technische Mechanik 1. Statik für Bauingenieure und Maschinenbauer

Wolf-Dieter Gess. Methodik und Implementierung der Balanced Scorecard in mittelständischen Unternehmen

Vom Fachbereich Maschinenwesen der Universität Duisburg-Essen zur Erlangung des akademischen Grades eines Doktor-Ingenieurs genehmigte Dissertation

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software

Ulrich Rohland. Statistik. Erläuterung grundlegender Begriffe und Verfahren

(Cache-Schreibstrategien)

Entwicklung eines innovativen nutzerorientierten Informationsmanagementsystems für KMU

Ebene Wellen in verlustbehafteten, optisch steuerbaren Material-Strukturen im W-Band

Prof. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7

Prof. Dr.-Ing. habil. W. Schwarz Prof. Dr.-Ing. Dr.rer.nat. K. Reinschke Prof. A. Griewank, PhD Prof. Dr.-Ing. Dr.h.c. M. Zeitz

Systeme I: Betriebssysteme Kapitel 4 Prozesse. Wolfram Burgard

Bestimmung der Sauerstoffsättigung und des Hämatokrits an humanem Blut mittels ortsaufgelöster Streulichtmessung

Vergleich von ERP-Systemen

Modellierung und Management von Workflows. - Prof. Dr. H.W.A. Quint -

Tim Landvoigt Stefan Nieland. Konzeption von Supply-Chain- Management-Funktionen für elektronische Marktplätze

Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung

Zum Zusammenhang von Burnout und Gesundheitsbewusstsein

5. GIESSENER BAUFORUM 2008

Von der Tracheotomie zur Dekanülierung Ein transdisziplinäres Handbuch

Grundlagen der Automatisierungstechnik. F. Puente León

Empfänger-Strukturen für die UMTS-Abwärtsstrecke

Identität im Feld von Mehrsprachigkeit als didaktische Herausforderung für den Unterricht im Förderschwerpunkt Sprache

Alleinerziehend - was nun?

Supply-Chain-Management

Aus der Klink für Anästhesiologie Universitätsklinikum Düsseldorf Direktor: Univ.-Prof. Dr. med. Jörg Tarnow

Betriebssysteme KU - Einführungstutorium

Maschinenelemente-Skript Block A

Distraktorenanalyse Ein Beitrag zur Konstruktion von Alternativantworten

10. GIESSENER BAUFORUM 2013

Intrinsische Motivation und das ökonomische Verhaltensmodell

Entwicklung eines Abrechnungsmodells für SAP-Business-Information-Warehouse-Systeme

Just-In-Time-Compiler (2)

Cloud Computing - Motivation, Geschäftsmodelle, Trends

Industrie 4.0. Integrative Produktion. Aachener Perspektiven. Aachener Perspektiven. Industrie 4.0. Zu diesem Buch

Wie groß ist die Page Table?

Grundlagen Rechnerarchitektur und Betriebssysteme

Teil 3: Konzepte von Betriebssystemen

Konzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner

REGELUNG DER ABTRAGTIEFE FÜR DAS REAKTIVE ABTRAGEN MIT CO 2 -LASERSTRAHLUNG

Betriebssysteme Übung 2. Tutorium System Calls & Multiprogramming

Die Geschäftsfelder des professionellen Sports

Konstruktivistischer Geographieunterricht in der Praxis

Verbunde aus Hochtemperaturthermoplasten und Kupfer für flexible Schaltungsträger

PC/XT/AT ASSEMBLER-BUCH

Prozessoptimierung in Unternehmen und Unternehmensnetzwerken

Risikomanagement im Mittelstand 2010: Eine empirische Studie zum aktuellen Stand des Risikomanagements mittelständischer Unternehmen in Ostwestfalen

Kriminologie für die Soziale Arbeit

Beitrag zur Untersuchung von passiven planaren Hochgeschwindigkeitsmagnetlagern für die Anwendung in der Mikrosystemtechnik

Organisation der kundenindividuellen Massenproduktion

Doris Kortus-Schultes Moderne Managementkonzepte: Balanced Scorecard und Supply Chain Management

Rainer Ambrosy / Franz Bosbach / Susanne Schulz (Hrsg.) Campusmanagement

EQUITY CARVE OUT ALS DESINVESTITIONSINSTRUMENT ZUR STEIGERUNG DES UNTERNEHMENSWERTES

Simulation des Tribokontakts zwischen Kette und Variatorscheibe im CVT-Getriebe. Dissertation zur Erlangung des Grades eines Doktor-Ingenieurs

Universitätsprofessor Dr. rer. nat. habil. Karl-Ernst Biebler und Dr. rer. nat. Bernd Jäger

Die Begrenzbarkeit der Ausschlagung auf die gewillkürte Erbschaft gem Abs. 1 BGB

Auslegung von Zentrifugalpumpen zur effizienten, drucksensitiven und atraumatischen Herzunterstützung

Bei»Zugl.:«Uni ändern! Es wurde nicht angegeben, ob»diss«oder»habil«bei»zugl.:«!, ansonsten :.

Münstersche Schriften zur Kooperation

Technische Universität Dresden. Modellierung und Identifikation der Parameter des Linearantriebs der Magnetschwebebahn Transrapid

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß?

Entwicklung einer universellen Gruppenbeitragszustandsgleichung

ENTWICKLUNG UND CHARAKTERISIERUNG STRUKTURIERENDER LASERVERFAHREN FÜR DIE HERSTELLUNG KRISTALLINER SILIZIUM - SOLARZELLEN

Familienorientierte Trauerbegleitung nach dem Tod eines nahe stehenden Menschen

Betriebssysteme. Tutorium 2. Philipp Kirchhofer

LINEARE ALGEBRA II JÜRGEN HAUSEN

Automatisierte Reglerinbetriebnahme für elektrische Antriebe mit schwingungsfähiger Mechanik

Just-In-Time-Compiler (2)

Entwicklung einer neuartigen Geschwindigkeitsmessmethode auf der Basis von Röntgenstrahlen für Blasensäulen mit hohem Gasgehalt

Kapazitive mikromechanische Drehraten- und Beschleunigungssensoren mit hybrider Inertialmasse

Speicherverwaltung (Swapping und Paging)

Stephan Buse / Rajnish Tiwari (Hrsg.) Grundlagen Strategien Kundenakzeptanz Erfolgsfaktoren

Elementare Einführung in die Wahrscheinlichkeitsrechnung, Informationstheorie und stochastische Prozesse. Computer-Netzwerke

Jürg Gutknecht, SI und ETH Zürich, April 2015

Qualitätsmanagement Querschnittsaufgabe in Wirtschaft und Wissenschaft

TECHNIK WISSENSCHAFTLICHEN ARBEITENS. Stefan Bauernschmidt Jens Stegmaier RECHERCHIEREN FORMGESTALTUNG PRÄSENTIEREN

Symposium. Neue Medien und Schulentwicklung

Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging

Weltprobleme und Psychologie

Elektrotechnik CAD. Erfahrungen mit aktueller Technologie Zukunftsperspektiven

Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler

Thema: Strategische Unternehmensplanung in einer Data Warehouse-Umgebung unterstützt durch ein Wissensmanagementsystem.

Aerodynamik II. Prof. Dr.-Ing. C. Tropea. Dipl.-Ing. S. Grundmann

Ein Multi-Agenten-System zur verteilten p-adaptiven Finite-Elemente-Simulation am Beispiel der Baugrund-Tragwerk-Interaktion

Transkript:

Technische Informatik Klaus-Dieter Thies Echtzeit-Multitasking Memory Management und System Design im Protected Mode der x86/pentium-architektur. Shaker Verlag Aachen 2002

Die Deutsche Bibliothek - CIP-Einheitsaufnahme Thies, Klaus-Dieter: Echtzeit-Multitasking : Memory Management und System Design im Protected Mode der x86/pentium-architektur / Klaus-Dieter Thies. Aachen : Shaker, 2002 (Technische Informatik) ISBN 3-8265-9954-3 Copyright Shaker Verlag 2002 Alle Rechte, auch das des auszugsweisen Nachdruckes, der auszugsweisen oder vollständigen Wiedergabe, der Speicherung in Datenverarbeitungsanlagen und der Übersetzung, vorbehalten. Printed in Germany. ISBN 3-8265-9954-3 ISSN 1436-882X Shaker Verlag GmbH Postfach 1290 52013 Aachen Telefon: 02407 / 95 96-0 Telefax: 02407 / 95 96-9 Internet: www.shaker.de email: info@shaker.de

Die vorliegende Arbeit wendet sich an System-Designer und Betriebssystem-Entwickler, sowie an Software-Entwickler, die den protected mode der x86/pentium-architektur nutzen wollen. In diesem mode "betrachtet" die Architektur das Software-System (das Betriebssystem genauso wie die Anwendungen) als eine Anzahl asynchroner Tasks. Jede Task kann aus maximal 4 Privilegebenen bestehen, von denen jede einen individuellen Grad an Software-Schutz gewährt. Ein x86/pentium-betriebssystem muss mit Hilfe der Hardware die Aktivitäten vieler Tasks koordinieren und den Schutz zwischen den Tasks und innerhalb der Tasks zwischen den Privileg-Ebenen verwalten. Tasks Eine Task ist die Ausführung einer Sequenz von Instruktionen. Ein Programm ist eine logische Einheit, die viele Repräsentationen haben kann: Zum Beispiel eine source code-datei oder eine object program-datei. Ein Programm wird zur Task, wenn es aktuell für die Ausführung verfügbar ist. Dies wird erreicht durch die Konvertierung des source codes (z. B. mit einem Compiler, einem Assembler oder einem Programmlader) in eine Repräsentation, die für die Ausführung geeignet ist, und der Bekanntgabe an das Betriebssystem, dass die Task für die Installation und Ausführung bereit ist. Der Unterschied zwischen Programmen und Tasks kann am besten an Multitasking-Systemen geklärt werden. Dort ist es möglich, dass zwei oder mehrere Tasks ein Programm simultan ausführen. Ein Zeileneditor-Programm in einem timesharing-system ist ein allgemeines Beispiel. Obwohl jede Zeileneditor-Task das gleiche Programm benutzt, liefert jede Task unterschiedliche Ergebnisse, denn jede Task wird mit individuelle Eingaben "versorgt". Segmentierter Speicher Die x86/pentium-architektur bildet den virtuellen Adressraum einer Task auf physikalische Segmente variabler Länge ab. Ein physikalisches Segment ist ein zusammenhängender Block von Speicher und überlappt sich im Regelfall nicht mit einem anderen physikalischen Segment. Jedes physikalische Segment einer Task enthält ein oder mehrere logische Segmente, die ihrerseits die Organisation der Task als Code-, Daten- und Stack-Region reflektieren. Pageorientierter Speicher Jedes x86/pentium-betriebssystem implementiert normalerweise eines der möglichen Segmentierungsmodelle, doch paging ist optional. Obwohl paging typischerweise zur Implementierung eines virtuellen Speichers eingesetzt wird, kann es wegen seiner Leistungsmerkmale auch für andere Anwendungen benutzt werden. Zum Beispiel: Virtuelle 86 mode-tasks generieren Adressen, die im ersten 1 Megabyte des linearen Adressraums liegen. Ein Betriebssystem, das mehrere solcher Tasks unterstützt, kann paging benutzen, um deren Adressen auf unterschiedliche pages im physikalischen Adressraum abzubilden. Alle pages haben die gleiche Grösse von 4 K Bytes. Sie können deshalb relativ "bequem" während der Disk-Transfers aus- und eingelagert werden. In Echtzeit-Betriebssystemen ist der pageorientierte Speicher nicht empfehlenswert, denn bedingt durch die sogenannten swapping-zeiten (aus- und einlagern der pages) reduzieren sich die Antwortzeiten der Tasks.

Multitasking Die x86/pentium-architektur stellt alle Mechanismen zur Unterstützung von Multitasking bereit. Eine Task wird entweder durch einen Interrupt, eine Ausnahmesituation, einen jump oder einen call aufgerufen. Jede dieser Formen bezieht sich auf einen speziellen Deskriptor in einer der Deskriptor-Tabellen. Dieser Deskriptor bewirkt einen Wechsel von der augenblicklichen Task zu einer neuen Task, nachdem der Status der "austretenden" Task in ein spezielles Segment gerettet worden ist. Ein Taskwechsel ist mit einem Funktionsaufruf vergleichbar. Der Unterschied ist, dass bei einem Taskwechsel mehr Prozessorstatus- Informationen gerettet werden als beim Prozduraufruf. Nach dem Wechsel befindet sich der Prozessor in einer komplett neuen Umgebung. Das Buch besteht aus 11 Kapiteln Kapitel 1 beschreibt das Basis-Programmier-Modell des x86/pentium und führt den Leser in diejenigen Eigenschaften ein, die vor allem für die Entwicklung und Implementierung von Anwender-Programmen von Interesse sind. Kapitel 2 zeigt das segment- und pageorientierte Memory Management, die virtuelle Adressierung und die Mechanismen des Cache-Speichers in Single- und Multiprozessor-Systemen. Kapitel 3 beschreibt die Wechselwirkungen zwischen dem Memory Management und dem implementierten Schutz wie Segment-Schutz, Page-Schutz und Privileg-Ebenen. Kapitel 4 erklärt die Mechanismen des Multitasking sowohl in segment- als auch in pageorientierten Systemen. Kapitel 5 zeigt detailliert die Funktionsabläufe bei der Interrupt-Verarbeitung. Kapitel 6 fasst alle möglichen Ausnahmesituationen zusammen und beschreibt deren Behandlung Kapitel 7 Kapitel 8 erklärt die Bus-Transfer-Mechanismen und zeigt den Zusammenhang zwischen Schutz und I/0-Zugriffen. enthält eine komplette Einführung in die Architektur, das Zahlensystem und die Numerik-Mechanismen der Floating Point-Einh'eit. Kapitel 9 erklärt die wichtigsten Sprachelemente des System Builders BLD386 und zeigt den Entwurf statischer Grundsysteme im Protected Mode. Kapitel 10 zeigt, wie Real Mode-Programme (z.b. DOS-Programme) als virtuelle Tasks in der geschützten Protected-Mode-Umgebung zum Ablauf gebracht werden. Kapitel 11 beschreibt, auf welche Weise der DEBUG-Prozeß unterstützt wird.

Alle dargestellten Themen werden von Programmierbeispielen begleitet, die dem Leser Beispiele für die Entwicklung eigener Systemsoftware geben, oder ihn bei der Interpretation bereits vorhandener Systemsoftware unterstützen. Hinweis: Im Text taucht manchmal der Prozessorname 80486 auf. Er ist ein Synonym für die Prozessorfamilie 80386..PentiumX, denn alle beschriebenen und dargestellten Strukturen und Mechanismen sind software-transparent und gelten für alle Mitglieder der Familie. Klaus-Dieter Thies DSc