Dynamisches Binden in Multics
|
|
- Rüdiger Scholz
- vor 6 Jahren
- Abrufe
Transkript
1
2 Dynamisches Binden in Multics AKSS Seminarvortrag Daniel Götz Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme
3 Motivation Welche Vorteile bietet dynamisches Binden gegenüber statischem Binden? Programmcode wird nicht kopiert Programm muss nicht neu kompiliert werden, um andere Versionen zu benutzen Seit 2010 allein wissenschaftliche Papiere zum Thema dynamisches Binden auf ACM Daniel Götz AKSS Seminarvortrag Motivation 3
4 Motivation Warum sollte man sich mit dynamischem Binden in Multics beschäftigen? Multics als ezientes Mehrbenutzerbetriebssystem wegweisender Konzepte Dynamisches Binden als innovative Kernkomponente Bis heute relevantes Konzept? The establishing of links at reference time on an as-needed basis is a fundamental service of Multics Organick, The Multics System: An Examination of Its Structure, S.55 Daniel Götz AKSS Seminarvortrag Motivation 4
5 Motivation In heutigen Betriebssystemen intensiv genutzt Windows: DLLs Unix/Mac OS X: Shared Libraries Daniel Götz AKSS Seminarvortrag Motivation 5
6 Gliederung Motivation Konzept Vor- und Nachteile Fazit Daniel Götz AKSS Seminarvortrag Motivation Gliederung 6
7 Gliederung Motivation Konzept Vor- und Nachteile Fazit Daniel Götz AKSS Seminarvortrag Konzept 7
8 Konzept Dynamisches Binden enthält keinen kopierten Code, sondern Zeiger Aufgabe des dynamischen Binders ist die Auösung zur Laufzeit call 0x8000 call ptr foo ptr foo: 0xabc foo:... 0x8000 foo:... 0xabc Daniel Götz AKSS Seminarvortrag Konzept 8
9 Konzept Dynamisches Binden als Hinzufügen von Daten und Algorithmen zur Laufzeit Was wird gebunden? Wann wird gebunden? Wie funktioniert das Binden? Daniel Götz AKSS Seminarvortrag Konzept 9
10 Konzept Was wird gebunden? Daniel Götz AKSS Seminarvortrag Konzept Was wird gebunden? 10
11 Multics Adressraum Seitennummerierte Segmentierung Prozess besteht aus beliebiger Anzahl von Segmenten Adressierung von Daten- oder Prozedursegmenten über generalisierte Adresse (Segmentnummer Wortnummer) Multics bindet auf Segmentebene Daniel Götz AKSS Seminarvortrag Konzept Was wird gebunden? 11
12 Deskriptorsegment übersetzt,vgl. GE-Manual S.22 Datenstruktur für Segmentinformation: Deskriptorsegment Daniel Götz AKSS Seminarvortrag Konzept Was wird gebunden? 12
13 Deskriptorsegment Deskriptorsegment enthält Deskriptor für alle bekannten Segmente eines Prozesses Zentrale Datenstruktur des Prozesses zur Umsetzung der generalisierten Adressen Kritisch für das Binden: Zur Laufzeit erweiterbar Daniel Götz AKSS Seminarvortrag Konzept Was wird gebunden? 13
14 Konzept Wann wird gebunden? Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 14
15 Konzept 1. Befehle können Referenzen auf segmentfremde Operanden enthalten LOAD <Foo> [x] LOAD Link#4,bs 2. Generierung von Verknüpfungen für dynamische Referenzen LOAD Link#4,bs Link#4:Ref(Foo x) 3. Bindevorgang bei Benutzung einer unetablierten Verknüpfung Link#4:Ref(Foo x)? Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 15
16 Befehlsformat 1. Befehle können Referenzen auf segmentfremde Operanden enthalten LOAD <Foo> [x] LOAD Link#4,bs BR: Auswahl eines Adressbasisregisters (ABR) B: Setzen des B-Flags, um Nutzung des ABRs zu signalisieren TM/TD: Setzen des korrekten Modus für den indirekten Zugri Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 16
17 Adressbasisregister 4 Adressbasisregisterpaare Inhalt wird als generalisierte Adresse interpretiert Enthalten u.a. Ort der Verknüpfungen bzw. des Bindungssegments paired address base register SP LP BP AP segment number word number segment number word number segment number word number segment number word number Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 17
18 Bindungssegment 2. Generierung von Verknüpfungen für dynamische Referenzen Bindungssegment enthält Verknüpfungen für alle Referenzen Maschinenbefehl referenziert nur die Verknüpfung Verknüpfung umgesetzt durch ITS-Zeiger Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 18
19 Indirekte Zeiger Bestehen aus jeweils 2 36-Bit Worten Verknüpfung zu Segment inklusive Versatz ITS-Zeiger (Indirect to Segment) Verweist fest auf verknüpftes Segment Adressierung über generalisierte Adresse ITB-Zeiger (Indirect to Base) Verweist über Adressbasisregister auf beliebiges Segment Adressierung über Wortnummer und Auswahl eines Adressbasisregisters Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 19
20 ITS-Zeiger 3. Bindevorgang bei Benutzung einer unetablierten Verknüpfung Vor der Etablierung Kennzeichnung des Segments durch symbolischen Namen Enthält nach Etablierung Segment- und Wortnummer generalisierte Adresse Etablierungsstatus im Etikett des 0-Wortes FT2: Aktivierung des Binders ITS: Zugri über etablierte Verknüpfung Wort 0 18 Bit 9 Bit 3 Bit 6 Bit SEGMENT# UNBENUTZT UUU ETIKETT 18 Bit 9 Bit 3 Bit 6 Bit Wort 1 ADRESSE UNBENUTZT UUU ETIKETT Daniel Götz AKSS Seminarvortrag Konzept Wann wird gebunden? 20
21 Konzept Wie funktioniert das Binden? Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 21
22 Konzept 1. Maschinenbefehl referenziert ITS-Zeiger 2. Verknüpfung im Bindungssegment ist unetabliert und löst einen Bindefehler aus 3. Segment wird im Speicher des aufrufenden Prozesses eingeblendet 4. Verknüpfung wird etabliert Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 22
23 1. Maschinenbefehl 1. Maschinenbefehl referenziert ITS-Zeiger Adressbasisregisteragge und BR-Feld gesetzt Adressbasisregister speziziert ITS-Zeiger Etikett wählt indiziert-indirekten Zugri Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 23
24 ABR-Adressierung Quelle: W. Schröder-Preikschat, Betriebssystemtechnik descriptor segment information segment DBR generalized address segment number word number paired address base register + SP 6 LP 4 BP 2 AP 0 segment number word number segment number word number segment number word number segment number word number offset ABR address opcode tag field instruction word index register Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 24
25 2. Unetablierte Verknüpfung 2. Verknüpfung im Bindungssegment ist unetabliert und löst einen Bindefehler aus Symbolischer Name im Dateisystem statt generalisierter Adresse Magic Bytes FT2 im Etikett lösen Bindefehler aus Finden des Segmentes über Suchregeln 18 Bit 9 Bit 3 Bit 6 Bit Wort 0 SEGMENTNAME UNBENUTZT UUU FT2 18 Bit 9 Bit 3 Bit 6 Bit Wort 1 EINTRITTSPUNKT UNBENUTZT UUU TAG Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 25
26 3. Einblendung 3. Segment wird im Speicher des aufrufenden Prozesses eingeblendet Betriebssystem lädt Segment in Hauptspeicher, falls nötig Deskriptorsegmenteintrag unter nächster freier Nummer Nummer unterschiedlich je nach Zeitpunkt der Etablierung Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 26
27 4. Etablierung 4. Verknüpfung wird etabliert Generalisierte Adresse ersetzt symbolischen Namen FT2-Etikett auswechseln durch ITS Erneute Durchführung des Befehls 18 Bit 9 Bit 3 Bit 6 Bit Wort 0 SEGMENT# UNBENUTZT UUU ITS 18 Bit 9 Bit 3 Bit 6 Bit Wort 1 ADRESSE UNBENUTZT UUU ETIKETT Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 27
28 Grasche Darstellung des Bindevorgangs vgl. GE-Manual S Maschinenbefehl referenziert ITS-Zeiger Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 28
29 Grasche Darstellung des Bindevorgangs vgl. GE-Manual S Verknüpfung im Bindungssegment ist unetabliert und löst einen Bindefehler aus Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 29
30 Grasche Darstellung des Bindevorgangs vgl. GE-Manual S Segment wird im Speicher des aufrufenden Prozesses eingeblendet Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 30
31 Grasche Darstellung des Bindevorgangs vgl. GE-Manual S Verknüpfung wird etabliert Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 31
32 Prozedurbindung Prinzipiell analog zur Datensegmentbindung Prozeduren können wiederum Referenzen enthalten Beim Binden eines Prozedursegments wird ein Prototyp der Bindungssektion kopiert Für den nutzenden Prozess werden die Verknüpfungen dann jeweils etabliert Daniel Götz AKSS Seminarvortrag Konzept Wie funktioniert das Binden? 32
33 Gliederung Motivation Konzept Vor- und Nachteile Fazit Daniel Götz AKSS Seminarvortrag Vor- und Nachteile 33
34 Vorteile für Multics + Sparen von Speicher + Automatisiertes, einfaches Binden über symbolischen Namen + Mehrfache Indirektionen möglich für Prozeduren + Leichtes Austauschen/Auswählen von Bibliotheken möglich Daniel Götz AKSS Seminarvortrag Vor- und Nachteile 34
35 Nachteile für Multics - Eventuelle Sicherheitslücken im Binder - Namenskonikte relativ wahrscheinlich bei generischen Namen (z.b. error für Prozedur) - Keine Bindungssektion für Datensegmente - Etablieren von Verknüpfungen teuer - Eventuell viele Bindungssektionen pro Prozess Daniel Götz AKSS Seminarvortrag Vor- und Nachteile 35
36 Gliederung Motivation Konzept Vor- und Nachteile Fazit Daniel Götz AKSS Seminarvortrag Fazit 36
37 Fazit Dynamisches Binden ist Schlüsselkonzept für Programmierung für Multics Sinnvolle Automatismen und Freiheiten für Entwickler Nachteile zu dieser Zeit vertretbar Konzept bis heute sehr relevant Daniel Götz AKSS Seminarvortrag Fazit 37
38 Diskussion Diskussion Daniel Götz AKSS Seminarvortrag Fazit Diskussion 38
Dynamisches Binden in Multics
Dynamisches Binden in Multics Daniel Götz Friedrich-Alexander-Universität Erlangen Martensstraße 1 Erlangen, Deutschland daniel.dg.goetz@fau.de ABSTRACT Das Betriebssystem Multics wurde Mitte der 1960er
MehrEinführung. Übungen zur Vorlesung Virtuelle Maschinen. Stefan Potyra. SoSe 2009
Einführung Übungen zur Vorlesung Virtuelle Maschinen Stefan Potyra Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg SoSe 2009 Übungsaufgaben 1 Entwickeln
MehrBibliotheks-basierte Virtualisierung
Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Bibliotheks-basierte Virtualisierung (WS15/16)
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrÜbung Praktische Informatik II
Übung Praktische Informatik II FSS 2009 Benjamin Guthier Lehrstuhl für Praktische Informatik IV Universität Mannheim guthier@pi4.informatik.uni-mannheim.de 22.05.09 11-1 Heutige große Übung Ankündigung
MehrAusgewählte Kapitel der Systemsoftwaretechnik: MULTICS
Ausgewählte Kapitel der Systemsoftwaretechnik: MULTICS Christian Dietrich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg Wintersemester
MehrZwei Möglichkeiten die TLB zu aktualisieren
Zwei Möglichkeiten die TLB zu aktualisieren Die MMU kümmert sich um alles (Hardware-Lösung) sucht die p-entry wenn diese nicht da ist, behandelt direkt das TLB-miss zum Schluss wird die neue p-entry (virt
MehrDesign and Implementation of a Soft-error Resilient OSEK Real-time Operating System
Design and Implementation of a Soft-error Resilient OSEK Real-time Operating System Florian Lukas Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich Alexander Universität Erlangen
MehrPC/XT/AT ASSEMBLER-BUCH
PC/XT/AT ASSEMBLER-BUCH Alle Befehle + Makro-Assembler KLAUS-DIETER THIES t
MehrNaiver Ansatz. Blöcke und Seiten. Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme
Betriebssysteme I Sommersemester 2009 Kapitel 6: Speicherverwaltung und Dateisysteme Hans-Georg Eßer Hochschule München Teil 3: Zusammenhängende Speicherzuordnung 06/2009 Hans-Georg Eßer Hochschule München
MehrSysteme I: Betriebssysteme Kapitel 8 Speicherverwaltung
Systeme I: Betriebssysteme Kapitel 8 Speicherverwaltung Version 21.12.2016 1 Inhalt Vorlesung Aufbau einfacher Rechner Überblick: Aufgabe, Historische Entwicklung, unterschiedliche Arten von Betriebssystemen
MehrKonzepte von Betriebssystem-Komponenten. Programmstart & dynamische Bibliotheken SS 05. Wladislaw Eckhardt.
Proseminar KVBK Programmstart dynamische Bibliotheken Konzepte von Betriebssystem-Komponenten Programmstart & dynamische Bibliotheken SS 05 Wladislaw Eckhardt Wladi23@gmx.net 1 1 Einleitung 1.1 Problematik
MehrAssembler - Adressierungsarten
Assembler - Adressierungsarten Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg SS 2008 Assembler - Adressierungsarten 1/31 2008-04-01
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 9 und Präsenzaufgaben Übung 10 Dominik Schoenwetter Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität
MehrMaschinencode Dateiformat und Stackframes
Maschinencode Dateiformat und Stackframes Proseminar C-Programmierung - Grundlagen und Konzepte Julian M. Kunkel julian.martin.kunkel@informatik.uni-hamburg.de Wissenschaftliches Rechnen Fachbereich Informatik
MehrDer General Electric 645 Computer. Max Krüger
Der General Electric 645 Computer Max Krüger 2015 11 23 GE-645 Warum lohnt es sich, sich mit der GE-645 zu befassen? Bis heute einflussreiches Design Sehr ambitioniertes Projekt Starke gegenseitige Beeinflussung
MehrHinweise C-Programmierung
Hinweise C-Programmierung Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2016/2017 V. Sieh Hinweise C-Programmierung
MehrKonzepte von Betriebssystemkomponenten Referat am Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner
Konzepte von Betriebssystemkomponenten Referat am 24.11.2003 Thema: Adressräume, Page Faults, Demand Paging, Copy on Write Referent: Johannes Werner Gliederung Adressräume Page Faults Demand Paging Copy
MehrBetriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung)
Betriebssysteme I: Speicherverwaltung (Teil A: Adress-Bindung) Mühlbacher BS: Speicherverwaltung TeilA Adressbindung,Loader, Linker 1 Ausgangssituation Programm ist auf einem Massenspeicher als binary
Mehr5.4 Segmentierung. Einfachstes Beispiel: 1 Code-Segment + 1 Datensegment. 0 codelength 0 datalength. bs-5.4 1
5.4 Segmentierung Adressraum besteht aus mehreren Segmenten (segments), die unabhängig voneinander manipulierbar sind. Segmentierungsstruktur ist festgelegt durch die Hardware den Adressumsetzer. Einfachstes
MehrLinker: Adreßräume verknüpfen. Informationen über einen Prozeß. Prozeß-Erzeugung: Verwandtschaft
Prozeß: drei häufigste Zustände Prozeß: anatomische Betrachtung jeder Prozeß verfügt über seinen eigenen Adreßraum Sourcecode enthält Anweisungen und Variablen Compiler überträgt in Assembler bzw. Binärcode
MehrEinführung in die Systemprogrammierung
Einführung in die Systemprogrammierung Dynamische Programmbibliotheken Prof. Dr. Christoph Reichenbach Fachbereich 12 / Institut für Informatik 28. Mai 2015 Dynamische Programmbibliotheken Idee: Programm
Mehr5.6 Segmentierter virtueller Speicher
5.6 Segmentierter virtueller Speicher Zur Erinnerung: Virtueller Speicher ermöglicht effiziente und komfortable Nutzung des realen Speichers; Sharing ist problematisch. Segmentierung erleichtert Sharing,
MehrDer Intel 8086 Reto Gurtner 2005
Der Intel 8086 Reto Gurtner 2005 1 1. DIE INTERNEN REGISTER... 3 1.1 ALLGEMEINE REGISTER AX, BX, CX UND DX... 3 DAS AX-REGISTER... 4 DAS BX-REGISTER... 4 DAS CX-REGISTER... 5 DAS DX-REGISTER... 5 1.2 DIE
MehrÜbungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9
Übungen zu Grundlagen der Rechnerarchitektur und -organisation: Bonusaufgaben Übung 8 und Präsenzaufgaben Übung 9 Dominik Schoenwetter Erlangen, 30. Juni 2014 Lehrstuhl für Informatik 3 (Rechnerarchitektur)
MehrLösungsvorschlag für Übung September 2009
Universität Mannheim Vorlesung Betriebssysteme Lehrstuhl für Praktische Informatik 1 Herbstsemester 2009 Prof. Dr. Felix Freiling Dipl.-Inform. Jan Göbel Lösungsvorschlag für Übung 2 25. September 2009
MehrEchtzeitbetriebssysteme
Speicherverwaltung (Memory Management) Aufgaben der Memory-Management-Unit ist l der Speicherschutz und l die Adressumsetzung Wird durch Hardware unterstützt l Memory Management Unit (MMU) l MMU wird vom
MehrWas machen wir heute? Betriebssysteme Tutorium 11. Mounten: Vorher. Frage 11.1.a
Was machen wir heute? Betriebssysteme Tutorium 11 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrWas machen wir heute? Betriebssysteme Tutorium 10. Frage 10.1.a. Frage 10.1.a
Was machen wir heute? Betriebssysteme Tutorium 10 Philipp Kirchhofer philipp.kirchhofer@student.kit.edu http://www.stud.uni-karlsruhe.de/~uxbtt/ Lehrstuhl Systemarchitektur Universität Karlsruhe (TH) 1
MehrRechnernetze und Organisation
Framework für Assignment A2 1 Übersicht Framework für Assignment A2 WH: Aufgabenstellung Klassen und Methoden Getting started Erste Instruktion aus Testdaten dekodieren 2 Aufgabenstellung Instruction-Set
MehrProseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging
Proseminar Konzepte von Betriebssystem- Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Grundlegende Bedeutung von Speicheradressierung: Wie sind die Daten auf Dem Speicher
Mehr9. Die Adressierungsarten des MSP 430
9. Die Adressierungsarten 9.1 Übersicht über die Adressierungsarten 9.2 -Operanden 9.3 Indexregister mit Distanz 9.4 Symbolische (relativ zum ) 9.5 Absolute 9.6 Indirekte 9.7 Indirekte Adressierung mit
MehrGrundlagen der Rechnerarchitektur. MIPS Assembler
Grundlagen der Rechnerarchitektur MIPS Assembler Übersicht Arithmetik, Register und Speicherzugriff Darstellung von Instruktionen Logische Operationen Weitere Arithmetik Branches und Jumps Prozeduren 32
Mehr10. Die Adressierungsarten des MSP 430
10. Die Adressierungsarten 10.1 Übersicht über die Adressierungsarten 10.2 -Operanden 10.3 Indexregister mit Distanz 10.4 Symbolische (relativ zum ) 10.5 Absolute 10.6 Indirekte 10.7 Indirekte Adressierung
MehrThreads. Netzwerk - Programmierung. Alexander Sczyrba Jan Krüger
Netzwerk - Programmierung Threads Alexander Sczyrba asczyrba@cebitec.uni-bielefeld.de Jan Krüger jkrueger@cebitec.uni-bielefeld.de Übersicht Probleme mit fork Threads Perl threads API Shared Data Mutexes
Mehrx86-assemblerprogrammierung
x86-assemblerprogrammierung von Michael Röhrs (Ergänzend zum Vortrag am 25.04.01) Einleitung Die Familie der x86-prozessoren gehört zur Klasse der CISC-Prozessoren ( Complex Instruction Set Computer ).
MehrDOSEMU. Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren. Matthias Felix FAU. 13.
DOSEMU Vortrag im Hauptseminar Konzepte und Techniken virtueller Maschinen und Emulatoren Matthias Felix filo@icip.de FAU 13. Juni 2007 Matthias Felix (FAU) DOSEMU 13. Juni 2007 1 / 22 Inhalt 1 Einführung
MehrFAKULTÄT FÜR INFORMATIK
FAKULTÄT FÜR INFORMATIK TECHNISCHE UNIVERSITÄT MÜNCHEN Lehrstuhl für Rechnertechnik und Rechnerorganisation Prof. Dr. Arndt Bode Einführung in die Rechnerarchitektur Wintersemester 2016/2017 Tutorübung
Mehr7 Laufzeit-Speicherverwaltung
7.1 Grundlagen Bevor wir die Code-Generierung betrachten, müssen wir uns Gedanken über zur Laufzeit des zu generierenden Programms notwendige Aktivitäten zur Zuordnung und Freigabe von Speicherplatz machen.
Mehr"Organisation und Technologie von Rechensystemen 4"
Klausur OTRS-4, 29.09.2004 Seite 1 (12) INSTITUT FÜR INFORMATIK Lehrstuhl für Rechnerarchitektur (Informatik 3) Universität Erlangen-Nürnberg Martensstr. 3, 91058 Erlangen 29.09.2004 Klausur zu "Organisation
MehrAssembler. Dr.-Ing. Volkmar Sieh. Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
Assembler Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2017/2018 V. Sieh Assembler (WS16/17) 1 15 Einleitung
MehrÜ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
MehrJust-In-Time-Compiler (2)
Just-In-Time-Compiler (2) Dr.-Ing. Volkmar Sieh Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2015/2016 V. Sieh Just-In-Time-Compiler
Mehr- dynamisches Laden -
- - Fachbereich Technik Department Elektrotechnik und Informatik 21. Juni 2012 1/23 2/23 s dynamisch Code kann von mehreren Programmen genutzt werden => kleinere Programme einzelne Teile eines Programms
MehrBetriebssysteme BS-S SS Hans-Georg Eßer. Foliensatz S: Speicherverwaltung. Dipl.-Math., Dipl.-Inform. v1.0, 2015/04/14
BS-S Betriebssysteme SS 2015 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. Foliensatz S: Speicherverwaltung v1.0, 2015/04/14 Betriebssysteme, SS 2015 Hans-Georg Eßer Folie S-1 Übersicht: BS Praxis und BS
MehrArithmetik, Register und Speicherzugriff. Grundlagen der Rechnerarchitektur Assembler 9
Arithmetik, Register und Speicherzugriff Grundlagen der Rechnerarchitektur Assembler 9 Arithmetik und Zuweisungen Einfache Arithmetik mit Zuweisung C Programm: a = b + c; d = a e; MIPS Instruktionen: Komplexere
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrKlausur zum Kurs Betriebssysteme (1802) am 18. September 2010
Fakultät für Mathematik und Informatik Lehrgebiet Kooperative Systeme Prof. Dr. Jörg M. Haake Klausur zum Kurs Betriebssysteme (1802) am 18. September 2010 Klausurort: Vorname Name: Adresse: Matrikelnummer:
MehrBetriebssysteme Teil 10 B: Fragen rund um Seitenfehler
Betriebssysteme Teil 10 B: Fragen rund um Seitenfehler 1 Überlegungen Wenn wir einige Seiten eines Programms in den Speicher laden, brauchen wir eine Strategie, welche Seiten als nächstes geladen werden
MehrRO-Tutorien 15 und 16
Tutorien zur Vorlesung Rechnerorganisation Tutorienwoche 10 am 29.06.2011 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft
MehrAusgewählte Kapitel der Systemsoftwaretechnik: Rekonfigurierbare Systemsoftware
Ausgewählte Kapitel der Systemsoftwaretechnik: Rekonfigurierbare Systemsoftware Christoph Erhardt, Peter Ulbrich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität
MehrBetriebssystemtechnik
Betriebssystemtechnik Adressräume: Trennung, Zugriff, Schutz XI. Bindelader Wolfgang Schröder-Preikschat 30. Juni 2015 Gliederung Einleitung Gemeinschaftsbibliothek Binden und Laden Textverbünde Multics
Mehr8. Referenzen und Zeiger
8. Referenzen und Zeiger Motivation Variable werden in C++ an speziellen Positionen im Speicher abgelegt. An jeder Position befindet sich 1 Byte. Sie sind durchnummeriert beginnend bei 0. Diese Positionen
MehrProgrammiertechnik. Teil 4. C++ Funktionen: Prototypen Overloading Parameter. C++ Funktionen: Eigenschaften
Programmiertechnik Teil 4 C++ Funktionen: Prototypen Overloading Parameter C++ Funktionen: Eigenschaften Funktionen (Unterprogramme, Prozeduren) fassen Folgen von Anweisungen zusammen, die immer wieder
MehrH. Intel x86 CPU. Höhere Informatik. Systemprogrammierung: - Betriebssystemkonzepte, Ein- & Ausgabe
H. Intel x86 CPU Historische Entwicklung des x86 Registersatzes. Complex Instruction Set Computer (CISC), Deskriptoren & Adressierung, Cacheausstattung. Höhere Informatik Systemprogrammierung: - Betriebssystemkonzepte,
MehrHans-Georg Eßer, Hochschule München, Betriebssysteme I, SS Speicherverwaltung 1
Sep 19 14:20:18 amd64 sshd[20494]: Accepted rsa for esser from ::ffff:87.234.201.207 port 61557 Sep 19 14:27:41 amd64 syslog-ng[7653]: STATS: dropped 0 Sep 20 01:00:01 amd64 /usr/sbin/cron[29278]: (root)
MehrGrundbegriffe der Informatik
Grundbegriffe der Informatik Kapitel 22: Mima-X Thomas Worsch KIT, Institut für Theoretische Informatik Wintersemester 2015/2016 GBI Grundbegriffe der Informatik KIT, Institut für Theoretische Informatik
MehrProf. Dr. Sharam Gharaei. Inhaltsverzeichnis. 1 Einleitung 1. 2 Grundlage der Realisierung 2. 3 Die Realisierung 3. Literaturverzeichnis 7
Prof. Dr. Sharam Gharaei Version 1.2.0, 07.04.2017 Inhaltsverzeichnis 1 Einleitung 1 1.1 Code-bezogene Aspekte 2 1.2 Speicherungsbezogene Aspekte 2 2 Grundlage der Realisierung 2 3 Die Realisierung 3 3.1
MehrRechnerstrukturen Wintersemester 2002/03. Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1
(c) Peter Sturm, Universität Trier 1 Rechnerstrukturen 8. Assembler Für Hartgesottene Maschinensprache Opcode, Operanden, Adressierung Für Menschen schwer verdauliche Folgen von 0 und 1 Assembler Symbolische
MehrKonzepte von Betriebssystemkomponenten
Konzepte von Betriebssystemkomponenten Systemstart und Programmausführung Seminarvortrag 15.12.2003, Michael Moese Übersicht 2. Systemstart 3. Programmausführung TEIL 1: Systemstart 1.1 Das BIOS 1.2 Der
Mehr... Adressierung und Befehlsfolgen (1) Speicherbelegung. Hauptspeicheradressen. Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle
Adressierung und Befehlsfolgen (1) Speicherbelegung Hauptspeicheradressen Inhalt von Speicherbelegungen: Operanden - Zahlen - Zeichen Befehle Address 0 1 i k 2-1 n bits...... word 0 word 1 b n-1 b 1 b
MehrSystemnahe Programmierung in C (SPiC)
Systemnahe Programmierung in C (SPiC) 9 Funktionen Jürgen Kleinöder, Daniel Lohmann, Volkmar Sieh Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrAusgewählte Kapitel der Systemsoftwaretechnik: MULTICS
Ausgewählte Kapitel der Systemsoftwaretechnik: MULTICS Dieses Wissenschaft?! Christian Dietrich Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg
MehrSystemprogrammierung
Systemprogrammierung 3Vom C-Programm zum laufenden Prozess 6. November 2008 Jürgen Kleinöder Universität Erlangen-Nürnberg Informatik 4, 2008 SS 2006 SOS 1 (03-Pro.fm 2008-11-06 08.52) 3 Vom C-Programm
MehrSPARK95. Ingmar Wirths. 12. Juli 2007
SPARK95 Ingmar Wirths 12. Juli 2007 Motivation Ada wurde zur Programmierung von Mikroprozessoren entwickelt. Motivation Ada wurde zur Programmierung von Mikroprozessoren entwickelt. Ein Systemversagen
MehrÜbung zu Betriebssystemtechnik
Übung zu Betriebssystemtechnik Nachrichtenaustausch und Copy-on-Write 11. Juni 28 Andreas Ziegler Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
MehrRechnerstrukturen. 7. Assembler. Inhalt. Vorlesung Rechnerstrukturen. Assemblerprogrammierung SML-CPU. SML-Assembler. Binden
Rechnerstrukturen 7. Assembler Assemblerprogrammierung SML-CPU Inhalt SML-Assembler Adressierungsarten Instruktionssatz Assembler-Direktiven Binden 7.2 1 Maschinensprache Instruktion = Bitkombination Für
MehrBetriebssysteme. Vorlesung im Herbstsemester 2010 Universität Mannheim. Kapitel 6: Speicherbasierte Prozessinteraktion
Betriebssysteme Vorlesung im Herbstsemester 2010 Universität Mannheim Kapitel 6: Speicherbasierte Prozessinteraktion Felix C. Freiling Lehrstuhl für Praktische Informatik 1 Universität Mannheim Vorlesung
MehrÜbungen zu Grundlagen der systemnahen Programmierung in C (GSPiC) im Sommersemester 2018
Übungen zu Grundlagen der systemnahen Programmierung in C (GSPiC) im Sommersemester 2018 2018-05-29 Bernhard Heinloth Lehrstuhl für Informatik 4 Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl
MehrProseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert
Proseminar Konzepte von Betriebssystem-Komponenten (KVBK) Vortrag zum Thema: Speicheraddressierung, Segmentierung, Paging Von Christian Hubert 1.: Speicherung und Adressierung von Daten Bei der Speicheradressierung
MehrPointer und Arrays. INE1, Montag M. Thaler, Office TG208. ZHAW, M. Thaler, K. Rege, G.
Pointer und Arrays INE1, Montag M. Thaler, tham@zhaw.ch Office TG208 http://www.zhaw.ch/~tham 1 Um was geht es? Variable Speicherplatz Datenwert über Name ansprechbar hat Typ hat Adresse (Speicheradresse)
MehrHochschule Düsseldorf University of Applied Sciences HSD RISC &CISC
HSD RISC &CISC CISC - Complex Instruction Set Computer - Annahme: größerer Befehlssatz und komplexere Befehlen höhere Leistungsfähigkeit - Möglichst wenige Zeilen verwendet, um Aufgaben auszuführen - Großer
MehrBetriebssysteme, Rechnernetze und verteilte Systeme 1. Crashkurs C (2)
Betriebssysteme, Rechnernetze und verteilte Systeme 1 Crashkurs C (2) Olaf Spinczyk Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund olaf.spinczyk@tu-dortmund.de http://ess.cs.uni-dortmund.de/teaching/ss2008/bsrvs1/
MehrBesprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben
Themen heute Besprechung des 9. Übungsblattes Virtuelle Speicherverwaltung Aufgaben Besprechung des 9. Übungsblattes Aufgabe 2 Ist in einer Aufgabe wie hier keine explizite Wortbreite angegeben, nicht
MehrRechnern netze und Organisatio on
Rechnernetze und Organisation Subroutines 1 Übersicht Motivation Bibliotheken Call und Return Stack Parameterübergabe Lokale Variablen Shared Libraries Interrupts und Exceptions 2 Reusability von Code
MehrAgenda. Informatik I WS05/06 Folien von Tobias Dezulian
15.12.2005 Agenda Geltungsbereich (Scope) von Variablen Blöcke Der Call-Stack Einschub: Debugging unter Eclipse Der Heap Lebensdauer von Objekten Müllabfuhr: Garbage Collection Exceptions Geltungsbereich
MehrComputeranwendung 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
MehrTutorium Rechnerorganisation
Woche 11 Tutorien 3 und 4 zur Vorlesung Rechnerorganisation 1 Christian A. Mandery: KIT Universität des Landes Baden-Württemberg und nationales Grossforschungszentrum in der Helmholtz-Gemeinschaft www.kit.edu
Mehr2Binden 3. und Bibliotheken
3 Vom C-Programm zum laufenden Prozess 3.1 Übersetzen - Objektmodule 1Übersetzen 3. - Objektmodule (2) Teil III 3Vom C-Programm zum laufenden Prozess 2. Schritt: Compilieren übersetzt C-Code in Assembler
MehrLösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009
Fachgebiet Rechnerarchitektur Fachbereich Informatik Lösungsvorschlag 9. Übung Technische Grundlagen der Informatik II Sommersemester 2009 Aufgabe 9.1: Dinatos-Algorithmus-Analyse Die folgenden Verilog-Zeilen
MehrHardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2008/2009 Hardware PCI-Bus 1/23 2008-08-06 Übersicht Inhalt:
MehrHardware PCI-Bus. Dr.-Ing. Matthias Sand. Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg
Hardware PCI-Bus Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2007/2008 Hardware PCI-Bus 1/23 2007-10-26 Übersicht Inhalt:
MehrTeil 1: Prozessorstrukturen
Teil 1: Prozessorstrukturen Inhalt: Mikroprogrammierung Assemblerprogrammierung Motorola 6809: ein einfacher 8-Bit Mikroprozessor Mikrocontroller Koprozessoren CISC- und RISC-Prozessoren Intel Pentium
MehrProgrammieren in C++
Programmieren in C++ SS 2016 Vorlesung 8, Dienstag 14. Juni 2016 (Templates, Templates, Templates) Prof. Dr. Hannah Bast Lehrstuhl für Algorithmen und Datenstrukturen Institut für Informatik Universität
Mehrz/architektur von IBM
von IBM Grundzüge einer modernen Architektur Von Matthias Fäth Gliederung Geschichtlicher Überblick Neuestes Flaggschiff Namensgebung Überblick Warum 64-Bit große Register Kompatibilität zu älteren Systemen
MehrHardware Logik-Analysatoren
Hardware Logik-Analysatoren Dr.-Ing. Matthias Sand Lehrstuhl für Informatik 3 (Rechnerarchitektur) Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2010/2011 Hardware Logik-Analysatoren 1/24 2010-10-12
MehrSchutzkonzepte in Multics
Schutzkonzepte in Multics Benedict Herzog Seminar Ausgewählte Kapitel der Systemsoftwaretechnik Lehrstuhl für Informatik 4 (Verteilte Systeme und Betriebssysteme) 21. Dezember 2015 Motivation Warum Schutzmechanismen?
MehrSpeicherverwaltung. Design Digitaler Systeme. Prof. Dr.-Ing. Rainer Bermbach
Speicherverwaltung Design Digitaler Systeme Prof. Dr.-Ing. Rainer Bermbach Übersicht Speicherverwaltung Virtueller Speicher Memory Management Unit Segmentierung Paging Kombination Segmentierung/ Paging
MehrKlausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten)
Institut für Angewandte Informatik und Formale Beschreibungsverfahren 15.02.2010 Klausur über den Stoff der Vorlesung Grundlagen der Informatik II (90 Minuten) Name: Vorname: Matr.-Nr.: Semester: (WS 2009/10)
MehrAssembler - 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
MehrLock-free Datenstrukturen
Lock-free Datenstrukturen Eine Einführung in die lock-free Programmierung Burak Ok Friedrich-Alexander Universität Erlangen-Nürnberg (FAU) 24. Januar 2017 burak.ok@fau.de Lock-free Datenstrukturen (24.
Mehr05. Assembler-Programmierung. Datenstrukturen des ATMega32. Literatur
0. Assembler-Programmierung Datenstrukturen des ATMega32 Literatur mikrocontroller.net avr-asm-tutorial.net asm Alles über AVR AVR-Assembler-Einführung Assembler AVR-Aufbau, Register, Befehle 2008: ouravr.com/attachment/microschematic/index.swf
MehrExploit-Entwicklung mit Python
Penetration Testing III Bachelor in Computer Science (BCS) 6. Semester Exploit-Entwicklung mit Python von Daniel Baier und Demian Rosenkranz 1 / 20 Gliederung Grundlagen Sicherheitslücken Prozess- und
MehrProgrammierkurs. Steffen Müthing. January 18, Interdisciplinary Center for Scientific Computing, Heidelberg University
Programmierkurs Steffen Müthing Interdisciplinary Center for Scientific Computing, Heidelberg University January 18, 2019 Konzepte Standard-Konzepte für Code Reuse: Polymorphie/Vererbung Funktionalität
Mehr