Computersysteme. Dom Bedos, "Die Kunst des Orgelbauers". Erster Teil (1766), Kenntnis der Orgel und der Prinzipien ihrer Mechanik.

Größe: px
Ab Seite anzeigen:

Download "Computersysteme. Dom Bedos, "Die Kunst des Orgelbauers". Erster Teil (1766), Kenntnis der Orgel und der Prinzipien ihrer Mechanik."

Transkript

1 Computersysteme Es gibt keine Kunst, die nicht ihre Prinzipien hätte. Der ist kein Künstler, der nicht die Prinzipien seiner Kunst behe"schte. Der Orgelbau hat die seinen, wie alle anderen Künste. Es ist wesentlich für den Orgelbauer, darüber Bescheid zu wissen, um nicht auf gut Glück ein Instrument von so großer Tragweite zu bauen, und dessen Kosten immerhin recht beträchtlich sind. (... ) Dom Bedos, "Die Kunst des Orgelbauers". Erster Teil (1766), Kenntnis der Orgel und der Prinzipien ihrer Mechanik. Ein Computer ist im Prinzip eine Maschine, die eine Folge von Anweisungen (ein Programm) ausführen kann. Dazu muß das Programm als Sequenz von (zum Beispiel je 16 Bit langen) Instruktionswörtern in einem Speicher abgelegt sein. Durch eine entsprechende Steuerlogik wird automatisch ein Befehl nach dem anderen aus dem Speicher gelesen und die entsprechende Aktion veranlaßt. Die elektronischen Logikschaltungen, die letztlich dafür zuständig sind, erlauben aber in der Regel nur die (allerdings extrem schnelle) Exekution sehr elementarer Anweisungen. Beispiele dafür wären: o Addiere zwei Zahlen o Teste, ob eine Zahl gleich Null ist; wenn ja, überspringe die 13 nächsten Instruktionen Die elementaren Anweisungen formen eine Sprache, die als Maschinensprache bezeichnet wird; sie ist die einzige, die ein Computer wirklich "verstehen" kann. Nun ist diese aber wegen ihrer numerischen Darstellungsform für einen Menschen denkbar ungeeignet (versuchen Sie einmal, sich die Hexadezimaldarstellungen der ersten hundert Maschineninstruktionen des Intel zu merken). Die Idee ist nun die, eine für den Menschen besser geeignete neue Sprache einzuführen und eine Art identischer Abbildung auf die Maschinenbefehle vorzunehmen. Vernünftigerweise wird man die Fähigkeiten des Computers für die Konversion der Sprachen einsetzen. Dabei sind prinzipiell zwei Lösungen möglich: o Übersetzung Jede Instruktion eines in der neuen Sprache geschriebenen Source-Programmes wird von einem universellen Übersetzungsprogramm in eine äquivalente Folge von Maschinenbefehlen übersetzt. Das Resultat ist ein auf dem Computer exekutierbares Programm in Maschinensprache, das Source-Programm wied danach im Prinzip nicht mehr benötigt. Es liegt demzufolg~ eine Trennung von Ubersetzungsund Ausführungsphase vor. Der benötigte Ubersetzer muß aber (einmal) in Maschinensprache geschrieben werden. o Ein universelles Interpreterprogramm verwendet die in der neuen Sprache ge-

2 106 Computersysteme schriebenen Programme als Eingangsdaten und exekutiert sukzessive die _einer Instruktion entsprechende Folge von Maschinenbefehlen. Im Gegensatz zur Ubersetzung wird hier die direkte Ausführung der Anweisungen der neuen Sprache simuliert, es ist kein wzwischenprogramm W in der Maschinensprache nötig. Die wübersetzun( der einzelnen Instruktionen und die Ausführung ist also nicht getrennt. Der Interpreter muß wie zuvor (einmal) in Maschinensprache geschrieben werden. In einer bestimmten Art und Weise sind die bei den Techniken äquivalent: Sie vermitteln die Illusion, eine Maschine zur Verfügung zu haben, die die neue Sprache versteh(. Die Ausführung eines derartigen Programmes liefert, sieht man von der Geschwindigkeit ab, genau dieselben Resultate, die dessen Exekution auf einem Spezialcomputer, der tatsächlich die neue Sprache als Maschinensprache hat, ergeben würde. Aus diesem Grunde spricht man in diesem Zusammenhang von einer virtuellen Maschine. Um die Übersetzung oder auch praktisch möglich zu machen, sollten die Unterschiede zwischen der neuen Sprache und der Maschinensprache nicht zu groß sein. So wird zum Beispiel in der Assemblersprache lediglich jeder Maschineninstruktion eine mnemotechnisch günstigen Bezeichnung (wie ADD, CMP) zugeordnet. Durch ein Übersetzungsprogramm (den Assembler) kann aus einem in Assemblersprache geschriebenen Programm ein äquivalentes Maschinenprogramm erzeugt werden. Da sich dadurch aber nur die Darstellung und nicht die Funktionalität der Befehle ändert, wird die Programmierung selbst nicht einfacher. Nichts liegt nun näher, als alle unsere vorherigen Überlegungen erneut anzuwenden, diesmal aufbauend auf einer virtuellen Maschine, die als (Pseudo-)Maschinensprache die Assemblersprache hat. Wir denken uns dazu eine höhere Pro~ammiersprache aus (zum Beispiel Pascal, Modula-2, Ada oder C), schreiben ein Ubersetzerprogramm (einen Compiler) in Assemblersprache, assemblieren diesen und - voila! - der etwa in Pascal programmierbare Computer ist fertig. Aus einem Pascal Source-Programm kann mit Hilfe der maschinensprachlichen Version des Compilers zunächst ein entsprechendes Assembler Source-Programm gewonnen werden; das Assemblieren dieses (Zwischen-)Resultates erzeugt dann das äquivalente (direkt ausführbare) Maschinenprogramm. Fassen wir die bisherigen Überlegungen in einer etwas anderen Art und Weise zusammen: Aufbauend auf einem System bestimmter Funktionalität (der zugrun~eliegenden virtuellen Maschine) wird durch eine Schicht von neuen Funktionen (der Ubersetzung oder ) ein System mit anderer Funktionalität (die virtuelle Maschine, die unsere neue Sprache versteht) gewonnen. Spätestens jetzt sollte Ihnen die Verbindung zu den Schichtenmodellen im Kapitel 2 klargeworden sein (wenn nicht, sollten Sie es vielleicht doch einmal mit dem Lesen der Einführung versuchen!). Jede Schicht stellt zusammen mit allen ihren darunterliegenden Schichten die Implementierung einer virtuellen Maschine dar, die durch ihr Interface "nach oben" (also ihre "Maschinensprache") vollständig definiert ist. Wie eine derartige virtuelle Maschine nun tatsächlich realisiert ist und wieviele Schichten sie umfaßt, ist für eine darauf aufbauenden Schicht irrelevant. Es ist zum Beispiel durchaus im Bereich des Möglichen, einen Computer zu konstruieren, der C oder Pascal als "echte" Maschinensprache besitzt. Alle bisher geschriebenen Programme in diesen Sprachen funktionieren dann (hoffentlich) auch auf dieser Hardware, nur vermutlich wesentlich schneller.

3 Computersysteme 107 Moderne Computersysteme sind aus einer Vielzahl von Schichten aufgebaut, die in höchst unterschiedlichen Technologien implementiert sind. Wir orientieren uns an folgendem Modell (in der Spalte neben der jeweiligen Schicht haben wir die normalerweise übliche Implementierung angegeben): Computer Aided Software Engineering? Höhere Programmiersprachen Assemblersprachen Betriebssysteme Maschinen-Codes Micro-Codes Logische Schaltungen Übersetzung Übersetzung Schichtmodell eines Computersystems Die unterste Schicht Logische Schaltungen wird durch die Verbindung von elementaren Logikbausteinen (den sogenannten Gattern, die einfache Funktionen wie AND, OR, NOT, usw. realisieren) implementiert. Diese Gatter werden von einer darunterliegenden, in unserem Bild nicht dargestellten Ebene zur Verfügung gestellt, die ihrerseits durch eine Vielzahl elektronischer Bauelemente realisiert ist. Das Interface zwischen den Logischen Schaltungen und den darüberliegenden Micro- Codes ist eine (vielleicht etwas ungewöhnliche) Sprache, deren Sprachelemente komplexe Logikbausteine sind. Die korrespondierende virtuelle Maschine kann "Programme" in dieser Sprache "ausführen". Die Ebene der Micro-Codes wird im Prinzip durch einen in der Sprache" der komplexen Logikbausteine "geschriebenen" Interpreter implementiert. Dieser liest die in einem speziellen Micro-Programmspeicher befindlichen Micro-Befehle aus und veranlaßt die Ausführung der einer solchen Instruktion entsprechenden Aktionen (indem er gewisse Logikbausteine aktiviert). Das Interface zur Schicht Maschinen-Codes ist daher schon eine Maschinensprache im Sinne unserer einführenden Erläuterungen. Nun ist die durch die Micro-Codes definierte Sprache aber so primitiv, daß eine direkt darauf aufbauende Programmierung einer Sisyphus-Arbeit gleichen würde. Aus diesem Grunde kann durch einen weiteren, diesmal als Mikroprogramm geschriebenen Interpreter ein Satz von etwas komplexeren Instruktionen realisiert werden, wodurch die Ebene der Maschinen-Codes erreicht wäre. Jeder Hersteller eines bestimmten Prozessors (zum Beispiel Intel 80486, Motorola ) gibt sogenannte "Machine Language Reference Manuals heraus, die jede einzelne Maschineninstruktion genau definieren. Auf dieser Ebene findet die Integration der diversen heterogenen Teilsysteme eines Computers (der Zentraleinheit mit ihren Prozessoren, Speichern und Controllern und den vielen peripheren Geräten wie Disks, Graphikschirmen, Druckern, usw.) statt. Alle diesbezüglichen Funktionen können über entsprechende Folgen von Maschinenbefehlen kontrolliert werden. Auf dieser eigentlichen Maschinensprache baut eine als Betriebssystem (Operating System) bezeichnete neue Schicht auf, die vermittels einen ganz wesentlichen Sprung in der Komplexität der virtuellen Maschine bewirkt. Neben der Implementierung wichtiger Funktionen zur Kontrolle der Hardware ist vor allem die Verwal-

4 108 Computersysteme tung der diversen Resourcen eines Computersystems (wie Prozessoren, Speicher und periphere Geräte) Aufgabe des Betriebssystems. Das Interface zur nächsten Schicht Assemblersprachen ist durch die sogenannten System Calls (Betriebssystemaufrufe) definiert. Ebenfalls enthalten sind aber auch (fast) alle Maschinenbefehle aus dem Interface wnach unten W, das heißt, die Schicht Betriebssysteme wreicht W die Funktionalität der Schicht Maschinen-Codes zum größten Teil wdurchw. Dabei werden jedoch oft weitgehende Restriktionen bezüglich der Verwendbarkeit mancher Instruktionen eingeführt. Durch die mittlerweile konstruierte virtuelle Maschine haben wir die Möglichkeit, Maschinenprogramme für ein beliebig komplexes Computersystem (mit peripheren Geräten, Netzwerkfunktionen, usw.) schreiben zu können. Die immer noch vorhandenen Schwierigkeiten mit der numerischen und relativ primitiven Maschinensprache werden nun durch das Aufsetzen des schon einführend erwähnten Assemblers verbessert. Dieses Programm bildet die Sprachelemente der symbolischen Assemblersprache eins zu eins auf die entsprechenden Maschinenbefehle und System Calls ab, wodurch aus jedem entsprechenden Source-Programm ein ausführbares Maschinenprogramm gewonnen werden kann. Damit haben wir einen Punkt erreicht, auf dem (endlich) die Applikationsprogrammierer aufsetzen können. Alle bisher erwähnten Schichten werden ja normalerweise von Systemprogrammierern und VLSI-Spezialisten implementiert, der gewöhnlich sterbliche Haus- und Hofprogrammierer kommt hier selten in die Verlegenheit, Hand anlegen zu müssen. Mit dem Essen kommt der Appetit, wir setzen daher eine weitere Schicht auf, die uns von der primitiven Programmierung in der Assemblersprache befreit. Ein durch die Definition einer der vielen Höheren Programmiersprachen (Pascal, Modula-2, Ada, C,... ) in seiner Funktionalität festgelegtes Übersetzungsprogramm (Compiler), geschrieben in Assemblersprache, liefert uns eine virtuelle Maschine, die die jeweilige Programmiersprache wversteh(. Diese Ebene ist heutzutage die Basis für die meisten Applikationen, obwohl in zunehmendem Maße auch leistungsfähige Repräsentanten der letzten Schicht in unserem Modell, sogenannte CASE-Systeme (Computer Aided Software Engineering) auftauchen. Die Schicht Computer Aided Software Engineering enthält wwerkzeugew, die den Entwurf von Software in allen Phasen des Designs unterstützen und im Idealfall die bestehende Kluft zwischen der Systemanalyse und (der darauf aufbauenden) konventionellen Programmierung überbrücken. Durch Übersetzungsprogramme W für geeignete wsprachenw, die dem menschlichen Denken näher stehen als die gegenwärtigen höheren Programmiersprachen (und zum Beispiel graphischer Natur sein können), soll die Implementierungsphase automatisiert werden. In allen folgenden Ausführungen werden wir eine bestimmte Klasse von Computersystemen nicht berücksichtigen. Es handelt sich hierbei um Rechner für Echtzeitapplikationen (Prozeßrechner). Die Zielsetzungen für Systeme dieser Art sind ganz anderer Natur, sodaß eine Trennung von den kommerziellen Rechnern unumgänglich erscheint. Echtzeitbedingungen fordern nämlich zusätzlich zur Korrektheit von Verarbeitungsergebnissen deren rechtzeitiges Vorliegen. Ein richtiges Resultat, ein Sekunde zu spät geliefert, ist hier unter Umständen genauso schlecht wie ein falsches. Wir wollen die einleitenden Bemerkungen durch den Hinweis auf eine interessante Unsymmetrie betreffend unser Schichtenmodell beschließ..en. Der Ubergang von den höheren Schichten zu niedrigeren ist, wie erwähnt, durch Ubersetzung oder relativ einfach möglich. Der Rückweg von niedrigeren zu höheren Ebenen ist hingegen vom Prinzip her wesentlich problematischer und nur teilweise befriedigend

5 Computersysteme 109 gelöst. Das prinzipielle Problem des Rückweges liegt darin, daß manche Informationen einer spezifischen Schicht (zum Beispiel Variablennamen in den höheren Programmiersprachen) bei der Übersetzung oder (also auf dem Hinweg) verworfen werden, in der Schicht darunter daher nicht mehr verfügbar sind. So gibt es zum Beispiel Werkzeuge (Utilities, Tools) zur Unterstützung der Fehlersuche in Programmen, sogenannte Debugger, die eine Abbildung der Maschinensprache auf die Ebene der höheren Programmiersprachen durchführen und somit eine Fehlersuche auf diesem Niveau unterstützen. Diese High Level Debugger benötigen jedoch als Zusatzinformation unter anderem das dem Maschinenprogramm entsprechende Source-Programm. (... ) Schließlich muß er die verschiedenen Teile kennen, aus denen sich eine Orgel zusammensetzt, und wissen, wie das Ganze zusammenwirkt. (... ) Dom Bedos, "Die Kunst des Orgelbauers". Erster Teil (1766), Kenntnis der Orgel und der Prinzipien ihrer Mechanik.

Assembler - Einleitung

Assembler - Einleitung Assembler - Einleitung Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Einleitung 1/19 2008-04-01 Teil 1: Hochsprache

Mehr

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (2) Architektur des Haswell- Prozessors (aus c t) Einführung

Mehr

Echtzeit-Multitasking

Echtzeit-Multitasking 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

Mehr

Fragenkatalog Computersysteme Test 25. April 2008

Fragenkatalog Computersysteme Test 25. April 2008 Fragenkatalog Computersysteme Test 25. April 2008 Wolfgang Schreiner Wolfgang.Schreiner@risc.uni-linz.ac.at 6. April 2008 Der Test besteht aus 4 Fragen aus dem folgenden Katalog (mit eventuell leichten

Mehr

Lösungsvorschlag zu 1. Übung

Lösungsvorschlag zu 1. Übung Prof. Frederik Armknecht Sascha Müller Daniel Mäurer Grundlagen der Informatik 3 Wintersemester 09/10 Lösungsvorschlag zu 1. Übung 1 Präsenzübungen 1.1 Schnelltest a) Welche der Aussagen treffen auf jeden

Mehr

Übung 1 - Betriebssysteme I

Übung 1 - Betriebssysteme I Prof. Dr. Th. Letschert FB MNI 13. März 2002 Aufgabe 0: Basiswissen Rechnerarchitektur: Übung 1 - Betriebssysteme I Aus welchen Komponenten besteht ein Rechner mit Von-Neumann Architektur? Was sind Bits

Mehr

Praktische Informatik I

Praktische Informatik I Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?

Mehr

Philipp Grasl PROZESSOREN

Philipp Grasl PROZESSOREN 1 PROZESSOREN INHALTSVERZEICHNIS Definition/Verwendung Prozessor Historische Entwicklung Prozessor Aufbau Prozessor Funktionsweise Prozessor Steuerung/Maschinenbefehle Prozessorkern Prozessortakt 2 DEFINITION

Mehr

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München

Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (0) Erster funktionsfähiger programmgesteuerter Rechenautomat Z3, fertiggestellt 1941 Bild: Nachbau im Deutschen Museum München Einführung (1) Was ist ein Rechner? Maschine, die Probleme für

Mehr

Einführung in die Informatik I (autip)

Einführung in die Informatik I (autip) Einführung in die Informatik I (autip) Dr. Stefan Lewandowski Fakultät 5: Informatik, Elektrotechnik und Informationstechnik Abteilung Formale Konzepte Universität Stuttgart 24. Oktober 2007 Was Sie bis

Mehr

Motivation und Überblick

Motivation und Überblick Motivation und Überblick Drei große Bereiche der Vorlesung: Darstellung von Zahlen in Rechnern Verarbeitung von Binärdaten auf der Ebene digitaler Schaltungen Programmierung auf Maschinenebene und relativ

Mehr

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines

Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Random Access Machine (RAM) Berechenbarkeit und Komplexität Random Access Machines Wolfgang Schreiner Wolfgang.Schreiner@risc.jku.at Research Institute for Symbolic Computation (RISC) Johannes Kepler University,

Mehr

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise

Coma I. Einleitung. Computer und Algorithmen. Programmiersprachen. Algorithmen versus Programmiersprachen. Literaturhinweise Coma I Einleitung 1 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen Literaturhinweise 2 Computer und Algorithmen Programmiersprachen Algorithmen versus Programmiersprachen

Mehr

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16

2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 2. Computer (Hardware) K. Bothe, Institut für Informatik, HU Berlin, GdP, WS 2015/16 Version: 14. Okt. 2015 Computeraufbau: nur ein Überblick Genauer: Modul Digitale Systeme (2. Semester) Jetzt: Grundverständnis

Mehr

Fragenkatalog zur Klausur Computersysteme

Fragenkatalog zur Klausur Computersysteme Fragenkatalog zur Klausur Computersysteme Wolfgang Schreiner RISC-Linz 25. Mai 2002 1. Erklären Sie die Begriffe Übersetzung und Interpretation von Programmiersprachen. Worin liegt der jeweilige Vorteil/Nachteil?

Mehr

GNU Assembler & GCC. Eine virtuelle Maschine aufsetzen. Zunächst muss eine neue virtuelle Maschine erstellt werden.

GNU Assembler & GCC. Eine virtuelle Maschine aufsetzen. Zunächst muss eine neue virtuelle Maschine erstellt werden. GNU Assembler & GCC Mit der VirtualBox von Oracle ( www.virtualbox.org ) Eine virtuelle Maschine aufsetzen Zunächst muss eine neue virtuelle Maschine erstellt werden. Der Assistent will ein paar Dinge

Mehr

Programmiersprachen und Übersetzer

Programmiersprachen und Übersetzer Programmiersprachen und Übersetzer Sommersemester 2009 5. April 2009 Vorteile bei der Verwendung höherer Programmiersprachen Vorteile bei der Verwendung höherer Programmiersprachen 1. Einfache Notation

Mehr

Betriebssysteme Vorstellung

Betriebssysteme Vorstellung Am Anfang war die Betriebssysteme Vorstellung CPU Ringvorlesung SE/W WS 08/09 1 2 Monitor CPU Komponenten eines einfachen PCs Bus Holt Instruktion aus Speicher und führt ihn aus Befehlssatz Einfache Operationen

Mehr

Einleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen

Einleitung und Begriffliches. Einleitung. Programmiersprachen. Software-Komplexität ist inhärent und hat vor allem folgende Ursachen Einleitung Einleitung und Begriffliches Software-Komplexität ist inhärent und hat vor allem folgende Ursachen Komplexität des gegebenen Problems Schwierigkeiten beim Management des Entwicklungsprozesses

Mehr

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme

Einführung. Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme Teil I Einführung Überblick 1 2 Geschichte der Informatik 3 Technische Grundlagen der Informatik Rechnerarchitekturen Entwicklung und Ausführung von Programmen Betriebssysteme 4 Daten, Informationen, Kodierung

Mehr

Einführung in die Programmierung mit Java

Einführung in die Programmierung mit Java Einführung in die Programmierung mit Java Martin Wirsing 2 Ziele Geschichte der OO-Programmiersprachen Warum Java als Programmiersprache verwenden? Ein einfaches Java-Programm erstellen, übersetzen und

Mehr

Im Original veränderbare Word-Dateien

Im Original veränderbare Word-Dateien Das Von-Neumann-Prinzip Prinzipien der Datenverarbeitung Fast alle modernen Computer funktionieren nach dem Von- Neumann-Prinzip. Der Erfinder dieses Konzeptes John von Neumann (1903-1957) war ein in den

Mehr

Wie groß ist die Page Table?

Wie groß ist die Page Table? Wie groß ist die Page Table? Im vorigen (typischen) Beispiel verwenden wir 20 Bits zum indizieren der Page Table. Typischerweise spendiert man 32 Bits pro Tabellen Zeile (im Vorigen Beispiel brauchten

Mehr

Vorlesung Rechnerarchitektur. Einführung

Vorlesung Rechnerarchitektur. Einführung Vorlesung Rechnerarchitektur Einführung Themen der Vorlesung Die Vorlesung entwickelt an Hand von zwei Beispielen wichtige Prinzipien der Prozessorarchitektur und der Speicherarchitektur: MU0 Arm Speicher

Mehr

L1 Programmiersprachen

L1 Programmiersprachen 1 Einführung Delphi 1.1 Wie erstelle ich eigene Software? Um spezielle Problemlösungen zu erstellen bzw. Unterstützung durch den Computer zu erfahren, bedient sich der Anwender spezifischer Softwareprogramme,

Mehr

Übersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009

Übersicht. Einleitung. Übersicht. Architektur. Dr.-Ing. Volkmar Sieh WS 2008/2009 Übersicht Einleitung 1 Einleitung Dr.-Ing. Volkmar Sieh 2 Technologische Trends Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 3 Historischer

Mehr

2 Grundlagen der Programmierung

2 Grundlagen der Programmierung 2 Grundlagen der Programmierung In diesem Kapitel bereiten wir die Grundlagen für ein systematisches Programmieren. Wichtigstes Ziel ist dabei die Herausarbeitung der fundamentalen Konzepte von Programmiersprache.

Mehr

Lektion 3: Was ist und was kann ein Computer?

Lektion 3: Was ist und was kann ein Computer? Lektion 3: Was ist und was kann ein Computer? Helmar Burkhart Informatik burkhart@ifi.unibas.ch EINFÜHRUNG IN DIE INFORMATIK I 3-0 Übersicht Lektion 3 Hardware Software Aufbau eines Computers Rechnerkern

Mehr

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1

Technische Grundlagen der Informatik 2 SS Einleitung. R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt E-1 E-1 Technische Grundlagen der Informatik 2 SS 2009 Einleitung R. Hoffmann FG Rechnerarchitektur Technische Universität Darmstadt Lernziel E-2 Verstehen lernen, wie ein Rechner auf der Mikroarchitektur-Ebene

Mehr

1. Gruppen. 1. Gruppen 7

1. Gruppen. 1. Gruppen 7 1. Gruppen 7 1. Gruppen Wie schon in der Einleitung erläutert wollen wir uns in dieser Vorlesung mit Mengen beschäftigen, auf denen algebraische Verknüpfungen mit gewissen Eigenschaften definiert sind.

Mehr

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006

3AA. Prof. Dr. Wolfgang P. Kowalk. Universität Oldenburg WS 2005/2006 3AA Prof. Dr. Wolfgang P. Kowalk Universität Oldenburg WS 2005/2006 Version vom 24.10.2005 Übersicht Einführung in maschinennahe Programmierung Verständnis für grundlegende Vorgänge im Computer Jedes Programm

Mehr

Entwicklungsmethoden

Entwicklungsmethoden Slide 5.1 Entwicklungsmethoden Prof. Dr. Josef M. Joller jjoller@hsr.ch Development Methodologies Prof. Dr. Josef M. Joller 1 Session 5 Slide 5.2 TOOLS Development Methodologies Prof. Dr. Josef M. Joller

Mehr

Funktionale Programmiersprachen

Funktionale Programmiersprachen Funktionale Programmiersprachen An den Beispielen Haskell und Erlang Übersicht Programmiersprachen λ-kalkül Syntax, Definitionen Besonderheiten von funktionalen Programmiersprache, bzw. Haskell Objektorientierte

Mehr

4D Server v12 64-bit Version BETA VERSION

4D Server v12 64-bit Version BETA VERSION 4D Server v12 64-bit Version BETA VERSION 4D Server v12 unterstützt jetzt das Windows 64-bit Betriebssystem. Hauptvorteil der 64-bit Technologie ist die rundum verbesserte Performance der Anwendungen und

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, R. Wolfinger 1 Vortragende Dr. Herbert Praehofer (G1 u. G2) Mag. Reinhard Wolfinger (G3 u. G4) Institute for System Software

Mehr

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf Seite 1 von 37

Wintersemester Maschinenbau und Kunststofftechnik. Informatik. Tobias Wolf  Seite 1 von 37 Skript Informatik Seite 1 von 37 Was ist Informatik? - Informatik ist die Wissenschaft von der systematischen Verarbeitung von Informationen, insbesondere deren automatisierte Verarbeitung mit Hilfe von

Mehr

Modellierung und Programmierung 1

Modellierung und Programmierung 1 Modellierung und Programmierung 1 Prof. Dr. Sonja Prohaska Computational EvoDevo Group Institut für Informatik Universität Leipzig 21. Oktober 2015 Automat versus Computer Ein Automat ist eine Maschine,

Mehr

Grundlagen der Programmierung UE

Grundlagen der Programmierung UE Grundlagen der Programmierung UE Research and teaching network GdP UE H. Prähofer, M Löberbauer 1 Vortragende Dipl.-Ing. Markus Löberbauer (G1) Dr. Herbert Praehofer (G2 u. G3) Institute for System Software

Mehr

II. Grundlagen der Programmierung

II. Grundlagen der Programmierung II. Grundlagen der Programmierung II.1. Zahlenssteme und elementare Logik 1.1. Zahlenssteme 1.1.1. Ganze Zahlen Ganze Zahlen werden im Dezimalsstem als Folge von Ziffern 0, 1,..., 9 dargestellt, z.b. 123

Mehr

Was ist Informatik? Alexander Lange

Was ist Informatik? Alexander Lange Was ist Informatik? Was ist Informatik? Alexander Lange 12.11.2003 Was ist Informatik? Inhalt 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. Das Wort»Informatik«Die Idee Teilgebiete der Informatik Technische Informatik

Mehr

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme

Institut für Computational Science Prof. Dr. H. Hinterberger. Praxismodul 1. Einführung in die Programmierung Erste Programme Institut für Computational Science Prof. Dr. H. Hinterberger Praxismodul 1 Einführung in die Programmierung Erste Programme Einführung in die Programmierung 2 Institut für Computational Science, ETH Zürich,

Mehr

Digitale Systeme und Schaltungen

Digitale Systeme und Schaltungen Zusammenfassung meines Vortrages vom 26. Jänner 2017 Digitale Systeme und Schaltungen Andreas Grimmer Pro Scientia Linz Johannes Kepler Universität Linz, Austria andreas.grimmer@jku.at In dieser Zusammenfassung

Mehr

Aktuelle Themen der Informatik: Virtualisierung

Aktuelle Themen der Informatik: Virtualisierung Aktuelle Themen der Informatik: Virtualisierung Sebastian Siewior 15 Mai 2006 1 / 22 1 Überblick 2 Techniken 3 Paravirtualisierung 4 Ende 2 / 22 Wieso Virtualisieren Wieso mehrere Betriebsysteme auf einer

Mehr

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4

Systemtheorie 1. Einführung Systemtheorie 1 Formale Systeme 1 # WS 2006/2007 Armin Biere JKU Linz Revision: 1.4 Einführung intro 1 Grobklassifizierung r Methoden in der Informatik intro 2 Systemtheorie 1 Systeme 1 #342234 http://fmv.jku.at/fs1 WS 2006/2007 Johannes Kepler Universität Linz, Österreich Univ. Prof.

Mehr

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

Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Computeranwendung in der Chemie Informatik für Chemiker(innen) 3. Software Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL3 Folie 1 Grundlagen Software steuert Computersysteme

Mehr

Android DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG. EXTRA: E-Book inside. dirk LOUIS peter MÜLLER. 2.

Android DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG. EXTRA: E-Book inside. dirk LOUIS peter MÜLLER. 2. dirk LOUIS peter MÜLLER 2. Auflage Android DER SCHNELLE UND EINFACHE EINSTIEG IN DIE PROGRAMMIERUNG UND ENTWICKLUNGSUMGEBUNG EXTRA: E-Book inside Im Internet: Beispiele, Tutorials, JRE und Android-Bundle

Mehr

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren.

68000 Assembler. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. WAS ist ein Assembler? Ein System, das den Programmierer hilft, eine maschinennahe Programmierung zu realisieren. Ein Programm liegt der CPU in binärer Form vor und wird durch den Assembler in einer primitiven

Mehr

Einführung in die Informatik

Einführung in die Informatik Einführung in die Informatik 01101101 01011001 11010011 10011000 00000011 00011100 01111111 11111111 00110100 00101110 11101110 01110010 10011101 00111010 2 Lehrziel und Inhalt Überblick über die Informatik;

Mehr

Informationswirtschaft

Informationswirtschaft Wolfgang H. Janko Informationswirtschaft 1 Grundlagen der Informatik für die Informationswirtschaft Mit 277 Abbildungen Springer-Verlag Berlin Heidelberg New York London Paris Tokyo Hong Kong Barcelona

Mehr

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016

HM I Tutorium 1. Lucas Kunz. 27. Oktober 2016 HM I Tutorium 1 Lucas Kunz 27. Oktober 2016 Inhaltsverzeichnis 1 Theorie 2 1.1 Logische Verknüpfungen............................ 2 1.2 Quantoren.................................... 3 1.3 Mengen und ihre

Mehr

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes

Grundlagen der Informatik III Wintersemester 2010/ Vorlesung Dr.-Ing. Wolfgang Heenes Grundlagen der Informatik III Wintersemester 2010/2011 4. Vorlesung Dr.-Ing. Wolfgang Heenes int main() { printf("hello, world!"); return 0; } msg: main:.data.asciiz "Hello, world!".text.globl main la

Mehr

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig

Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig Problemorientierte Programmiersprachen Nachteile von Programmen in Maschinensprache sehr aufwendig bei komplexeren Aufgabenstellungen fehleranfällig schwer verständlich nicht portabel, d.h. nicht auf Rechner

Mehr

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection

Übersicht. Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe. AVS SS Teil 12/Protection Übersicht Virtuelle Maschinen Erlaubnisse (Permission, Rechte) Ringe 2 Behandelter Bereich: Virtualisierung Syscall-Schnittstelle Ports Server Apps Server Apps Betriebssystem Protokolle Betriebssystem

Mehr

Programmieren was ist das genau?

Programmieren was ist das genau? Programmieren was ist das genau? Programmieren heisst Computerprogramme herstellen (von griechisch programma für Vorschrift). Ein Computerprogramm ist Teil der Software eines Computers. Als Software bezeichnet

Mehr

Vom Testkonzept zu JUnit

Vom Testkonzept zu JUnit Testen und Testkonzept Dipl.-Inf. (FH) Christopher Olbertz 2. Dezember 2014 Testen und Testkonzept Warum testen? Wichtig, obwohl bei Programmierern unbeliebt Stellt weitgehend korrekte Funktionsweise eines

Mehr

2 Der Schnelleinstieg *

2 Der Schnelleinstieg * 7 2 Der Schnelleinstieg * Eine Programmiersprache können Sie auf verschiedene Art und Weise lernen. Sie können sich zuerst mit den Konzepten befassen und anschließend mit der Praxis oder umgekehrt. Damit

Mehr

Algorithmen und Datenstrukturen

Algorithmen und Datenstrukturen Algorithmen und Datenstrukturen Dipl. Inform. Andreas Wilkens aw@awilkens.com Überblick Grundlagen Definitionen Eigene Entwicklungen Datenstrukturen Elementare Datentypen Abstrakte Datentypen Elementare

Mehr

Konzepte der Programmiersprachen

Konzepte der Programmiersprachen Konzepte der Programmiersprachen Lehrstuhl Prof. Plödereder Eduard Wiebe Institut für Softwaretechnologie Abteilung Programmiersprachen und Übersetzerbau Sommersemester 2007 Programm-Ausführung Programmiersprachen

Mehr

:: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: :: Süsstrunk :: Büchli :: :: :: :: :: :: :: :: :: :: :: :: :: Webdesignkurshandbuch Worum es geht HTML-Dokumente sind in der Regel statisch - will

Mehr

Computational Engineering I

Computational Engineering I DEPARTMENT INFORMATIK Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg Martensstraße 3, 91058 Erlangen 25.01.2016 Probeklausur zu Computational Engineering

Mehr

C-Grundlagen. Einführung von Tronje Krabbe 1/21

C-Grundlagen. Einführung von Tronje Krabbe 1/21 C-Grundlagen Einführung von Tronje Krabbe 1/21 Gliederung Hintergrund Geschichte Nutzungsgebiete C-Derivate Syntax Compiler Beispielcode 2/21 Was ist C? C ist eine imperative, kompilierte Programmiersprache

Mehr

Was bringt dieses Buch (und was nicht)

Was bringt dieses Buch (und was nicht) D3kjd3Di38lk323nnm Einführung i Willkommen bei Windows 10! Dieses Buch aus der Reihe Schritt für Schritt ist so konzipiert, dass Sie es von vorn nach hinten lesen können, um sich mit Windows 10 vertraut

Mehr

Microcomputertechnik

Microcomputertechnik Microcomputertechnik mit Mikrocontrollern der Familie 8051 Bearbeitet von Bernd-Dieter Schaaf 2. Auflage 2002. Buch. 230 S. Hardcover ISBN 978 3 446 22089 8 Format (B x L): 16 x 22,7 cm Gewicht: 407 g

Mehr

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1

2D22 Prinzipien der Softwareentwicklung. Prinzipien der Softwareentwicklung S. Strahringer 1 2D22 1 Inhalte der Lehrveranstaltung Einführung in die Programmierung mit PHP Literatur: Theis, Thomas (2010): Einstieg in PHP 5.3 und MySQL 5.4. [für Programmieranfänger geeignet]. 6., aktualisierte Aufl.

Mehr

Grundlagen der Informatik

Grundlagen der Informatik Grundlagen der Informatik Prof. Dr. Bernhard Schiefer bernhard.schiefer@fh-kl.de http://www.fh-kl.de/~schiefer Wesentliche Inhalte Einführung Rechnergrundlagen Grundlagen der Programmierung Kern imperativer

Mehr

COTI-Plugin für SDL Trados Studio 1.0

COTI-Plugin für SDL Trados Studio 1.0 COTI-Plugin für SDL Trados Studio 1.0 Benutzerhandbuch Inhaltsverzeichnis Inhaltsverzeichnis 1 Zielsetzung... 3 1.1 Der COTI-Standard... 3 1.2 Das COTI-Plugin... 3 2 Installation... 4 2.1 Systemvoraussetzungen...

Mehr

Betriebssysteme Kap A: Grundlagen

Betriebssysteme Kap A: Grundlagen Betriebssysteme Kap A: Grundlagen 1 Betriebssystem Definition DIN 44300 Die Programme eines digitalen Rechensystems, die zusammen mit den Eigenschaften dieser Rechenanlage die Basis der möglichen Betriebsarten

Mehr

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion

01 Einführung in PHP. Einführung in PHP 1/13 PHP in Aktion 01 Einführung in PHP Einführung in PHP 1/13 PHP in Aktion PHP ist eine Programmiersprache, die ganz verschiedene Dinge tun kann: von einem Browser gesendete Formularinhalte auswerten, angepasste Webinhalte

Mehr

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011

Multiprozessoren. Dr.-Ing. Volkmar Sieh. Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren Dr.-Ing. Volkmar Sieh Institut für Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2011 Multiprozessoren 1/29 2011-06-16 Multiprozessoren Leistungsfähigkeit

Mehr

Praktische Informatik I

Praktische Informatik I Praktische Informatik I WS 2005/2005 Prof. Dr. Wolfgang Effelsberg Lehrstuhl für Praktische Informatik IV Universität Mannheim 1. Einführung 1-1 Inhaltsverzeichnis (1) 1. Einführung 1.1 Was ist Informatik?

Mehr

Grundlagen der Informatik I. Übung

Grundlagen der Informatik I. Übung Grundlagen der Informatik I Übung Studiengang Wirtschaftsingenieurwesen Wintersemester 1/13 Autor: Prof. Dr.-Ing. habil. Hans-Joachim Böhme HTW Dresden, Fachbereich Informatik/Mathematik Friedrich-List-Platz

Mehr

Kapitel 1: Einführung

Kapitel 1: Einführung 10 Kapitel 1: Einführung 1.1 Was ist eine Programmiersprache? 1.2 Details zu C++ 1.3 Phasen der Programmierung 1.4 Ein erstes Programm: Hello World! 1.5 Addition zweier Zahlen 1.6 Entscheidungen 1.1 Was

Mehr

Grundlagen der Rechnerarchitektur

Grundlagen der Rechnerarchitektur Grundlagen der Rechnerarchitektur Einführung Unsere erste Amtshandlung: Wir schrauben einen Rechner auf Grundlagen der Rechnerarchitektur Einführung 2 Vorlesungsinhalte Binäre Arithmetik MIPS Assembler

Mehr

Grundlagen der Informatik I Einführung

Grundlagen der Informatik I Einführung Grundlagen der Informatik I Einführung Konzepte imperativer Programmierung : Six, H.W., 99 Themen der heutigen Veranstaltung 1. Informatik, Computer, Programmierung 2. Problem und Algorithmus 3. Programme

Mehr

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2

09.10.2015. 02.10.2015 + 07.10.2015 Seite 1. 02.10.2015 + 07.10.2015 Seite 2 02.10.2015 + 07.10.2015 Seite 1 02.10.2015 + 07.10.2015 Seite 2 1 Anzahl der Klassenarbeiten: Mindestens zwei Klassenarbeiten pro Halbjahr (= 4 KA pro Jahr) Im ersten Ausbildungsjahr gibt es jedoch kein

Mehr

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache

Assembler Programmierung Motivation. Informatik II SS 2004 Teil 4: Assembler Programmierung. Assembler vs. Maschinensprache Assembler Programmierung Motivation Informatik II SS 2004 Teil 4: Assembler Programmierung Was ist ein Programm? Eine Reihe von Befehlen, die der Ausführung einer Aufgabe dient Dazu wird das Programm sequentiell

Mehr

Semestralklausur Einführung in Computer Microsystems

Semestralklausur Einführung in Computer Microsystems Semestralklausur Einführung in Computer Microsystems 07. Juli 2008 Dr.-Ing. Wolfgang Heenes Name (Nachname, Vorname) Matrikelnummer Unterschrift Prüfung Bitte ankreuzen Anzahl abgegebene Zusatzblätter:

Mehr

Überlegungen beim Entwurf eines Betriebssystems

Überlegungen beim Entwurf eines Betriebssystems Überlegungen beim Entwurf eines Betriebssystems Schnelligkeit Schutz und Sicherheit Korrektheit Wartbarkeit Kommerzielle Faktoren Standards und offene Systeme Schnelligkeit Es ist schwierig, Kenngrößen

Mehr

Rechneraufbau und Rechnerstrukturen

Rechneraufbau und Rechnerstrukturen Rechneraufbau und Rechnerstrukturen von Prof. Dr. Walter Oberschelp, RWTH Aachen und Prof. Dr. Gottfried Vossen, Universität Münster 7, vollständig überarbeitete und aktualisierte Auflage R.Oldenbourg

Mehr

Brainfuck Interpreter für ZX81

Brainfuck Interpreter für ZX81 Brainfuck Interpreter für ZX81 Sprache Befehle Die Programmiersprache Brainfuck hat wenige, einfache Regeln. Es gibt 8 Befehle + - > < [ ],. Jeder Befehl besteht aus einem einzelnen Zeichen. Es gibt keine

Mehr

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010

Das negative Zweierkomplementzahlensystem. Ines Junold 23. Februar 2010 Das negative Zweierkomplementzahlensystem Ines Junold 23. Februar 2010 1 Inhaltsverzeichnis 1 Einleitung 3 2 Das konventionelle Zweierkomplement 4 2.1 Definition.......................................

Mehr

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule

Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule Berufsfeldbezogenes Fachseminar - Zahlentheorie Lisa Laudan Prof. Dr. Jürg Kramer Wintersemester 2014/2015 Dezimaldarstellung ganzer Zahlen (Division mit Rest) 1 Division mit Rest in der Hochschule 1.1

Mehr

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14

Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Praktikum zu Einführung in die Informatik für LogWings und WiMas Wintersemester 2013/14 Fakultät für Informatik Lehrstuhl 1 Dr. Lars Hildebrand Iman Kamehkhosh, Marcel Preuÿ, Henning Timm Übungsblatt 2

Mehr

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

Einführung. Anwendung. logischer Adreßraum. Kontrollfluß (Thread) = CPU führt Instruktionen aus. Was charakterisiert einen Kontrollfluß? Kontrollflüsse Einführung 1 Motivation Kontrollfluß Anwendung logischer Adreßraum Kontrollfluß (Thread) = führt Instruktionen aus Was charakterisiert einen Kontrollfluß? Programmzähler Registerinhalte

Mehr

Grundlagen der Programmentwicklung

Grundlagen der Programmentwicklung Informatik für Elektrotechnik und Informationstechnik Benedict Reuschling benedict.reuschling@h-da.de Hochschule Darmstadt Fachbereich Informatik WS 2013/14 Über C++ Über C++ C++ ist eine in der Industrie

Mehr

Einführung in die Informatik Turing Machines

Einführung in die Informatik Turing Machines Einführung in die Informatik Turing Machines Eine abstrakte Maschine zur Präzisierung des Algorithmenbegriffs Wolfram Burgard Cyrill Stachniss 1/14 Motivation und Einleitung Bisher haben wir verschiedene

Mehr

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz

Kapitel 02. Java was, wann, warum, wieso. Fachgebiet Knowledge Engineering Prof. Dr. Johannes Fürnkranz Kapitel 02 Java was, wann, warum, wieso Java, eine objektorientierte Programmiersprache Java ist eine objektorientierte Programmiersprache und als solche ein eingetragenes Warenzeichen der Firma Sun Microsystems.

Mehr

Anleitung zur Installation von Treiber (zwei) und Datenlesesoftware (ToolBox) Misst Radioaktivität einfach und zuverlässig.

Anleitung zur Installation von Treiber (zwei) und Datenlesesoftware (ToolBox) Misst Radioaktivität einfach und zuverlässig. Misst Radioaktivität einfach und zuverlässig. Anleitung zur Installation von Treiber (zwei) und Datenlesesoftware (ToolBox) DE 11/2013 2013 GAMMA-SCOUT GmbH & Co. KG Anleitung zur Installation der Treiber

Mehr

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...?

Kapitel 1. Programmierkurs. 1.2 Allgemeiner Aufbau des Computers. 1.1 Hallo, Computer...? Kapitel 1 Programmierkurs Birgit Engels, Anna Schulze ZAIK Universität zu Köln Einführung Hallo, Computer...? Aufbau eines Computers Was ist eine Programmiersprache? Der Programmierprozess Warum Java?

Mehr

Compilerbau + Virtuelle Maschinen

Compilerbau + Virtuelle Maschinen Helmut Seidl Compilerbau + Virtuelle Maschinen München Sommersemester 2009 1 Organisatorisches Der erste Abschnitt Die Übersetzung von C ist den Vorlesungen Compilerbau und Virtuelle Maschinen gemeinsam

Mehr

Aufbau und Funktionsweise eines Computers

Aufbau und Funktionsweise eines Computers Aufbau und Funktionsweise eines Computers Thomas Röfer Hardware und Software von Neumann Architektur Schichtenmodell der Software Zahlsysteme Repräsentation von Daten im Computer Hardware Prozessor (CPU)

Mehr

J.5 Die Java Virtual Machine

J.5 Die Java Virtual Machine Java Virtual Machine Die Java Virtual Machine 22 Prof. Dr. Rainer Manthey Informatik II Java-Compiler und Java Virtual Machine Quellcode-Datei class C... javac D.java Java-Compiler - Dateien class class

Mehr

Wichtige Rechnerarchitekturen

Wichtige Rechnerarchitekturen Wichtige Rechnerarchitekturen Teil 2 IBM 360 1 IBM 360 Angekündigt im April 1964, weil alle Aspekte der maschinellen Datenverarbeitung (general purpose computer) zusammengefasst werden sollten: 360 Grad

Mehr

INFORMATIK Oberstufe. Funktionsweise eines Rechners

INFORMATIK Oberstufe. Funktionsweise eines Rechners INFORMATIK Oberstufe Funktionsweise eines Rechners Lehrplan Inf 12.3 (ca. 17 Std.): Grundlegende Kenntnisse über den Aufbau eines Rechners und seiner prinzipiellen Funktionsweise helfen den Schülern, den

Mehr

Kapitel. Platzhalter. Was sind Platzhalter?

Kapitel. Platzhalter. Was sind Platzhalter? Kapitel 3 Was sind? sind ganz wichtige Elemente bei der Programmierung. Alle Programme, die du schon kennst (wie beispielsweise die Textverarbeitung WORD oder ein Programm zum Verschicken von E-Mails),

Mehr

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge

1.4! Einführung. Systemmodellierung. Methoden und Werkzeuge Einführung. Vorbemerkungen und Überblick. Die elektronischen e des Fahrzeugs. Prozesse in der Fahrzeugentwicklung im Überblick,.4 Grundlagen. Steuerungs- und regelungstechnische e (Prof. Schumacher). Diskrete

Mehr

Technische Informatik 2 Software

Technische Informatik 2 Software Technische Informatik 2 Software Prof. Dr. Miroslaw Malek Sommersemester 2005 www.informatik.hu-berlin.de/rok/ca Thema heute Evolution der Software Schichten Lader (Manuell, Bootstrap, Programm im ROM)

Mehr

Kurzanleitung zu XML2DB

Kurzanleitung zu XML2DB Kurzanleitung zu XML2DB Inhaltsverzeichnis 1. Einleitung...3 2. Entwicklungsumgebung...3 3. Betriebsanleitung...3 3.1 Einrichten der Java Umgebung...3 3.2 Allgemeines zu java und javac...4 3.2.1 Allgemeines

Mehr

8 Typwandlungen. 8.1 Automatische Typkonvertierungen

8 Typwandlungen. 8.1 Automatische Typkonvertierungen 8 Typwandlungen Hier geben wir Ihnen weitere Informationen zu Goto Java 2, die Sie ergänzend zu Hausaufgabe 3 lesen sollten. Sie sollten für die weiteren Ausführungen zunächst in Go To Java Kapitel 4.6

Mehr