Intel x86 Bootstrapping
|
|
|
- Hajo Gerber
- vor 9 Jahren
- Abrufe
Transkript
1 Intel x86 Bootstrapping Meine CPU, mein Code! Andreas Galauner SigInt 2010
2 Democode Es gibt Democode: SigInt10OSWorkshop git clone git://github.com/g33katwork/ SigInt10OSWorkshop.git Am besten direkt clonen und make eingeben, Toolchain (binutils, gcc, nasm, qemu) wird gebaut make V=1 macht verbose output, falls es Probleme gibt
3 Intel x86 Geschichte Mikroprozessor-Architektur Entworfen von Intel Erstmals im 8088/8086 im Jahre 1978 genutzt 8086 war 16 Bit Nachfolgemodelle: 80186, 80286, etc. 32 Bit ab Virtueller Speicher mit MMU ab AMD entwickelte x86_64 (EM64T bei Intel)
4 Bootvorgang Ab startet Prozessor bei 0xFFFFFFF0 (reset vector) BIOS liegt aber in unteren 64KB (ca.) Lösung: Nach reset wird BIOS vom Chipsatz meistens in die obersten paar MB gemappt Wenn BIOS läuft, wird Black-Initialisierungs-Voodoo ausgeführt (näheres dazu unter coreboot.org) Danach werden, je nach Bootdevice, 512 Byte nach 0x0:07C0 kopiert und hingesprungen CPU befindet sich hier im Real Mode (8086, 16 Bit)
5 Segmentierung 8086 hatte 20 Adressleitungen (A0 - A19) Physikalisch Adressierbar waren somit 1MB RAM Register sind aber alle nur 16 Bit breit, womit 4 Bit im Adressbus brach lägen Segmentierung löst das Problem
6 Segmentierung Speicher wird in 16-Byte große Segmente (16 Byte = 64KB adressierbar) aufgeteilt Segmente können sich überlappen In 16 Bit Registern (CS, DS, ES, SS) kann für verschiedene Zwecke ein Segmentanfang ausgewählt werden Physikalische Adresse resultiert aus: Segmentregister * 16 + Offset
7 Real Mode Ist der alte 16 Bit Modus eines 8086 Intel ist voll binär Abwärtskompatibel Bootloader starten hier BIOS bietet Systemfuntkionen über Interrupts an (Floppy steuern, Text ausgeben...)
8 Protected Mode Mit kam ein 24 Bit Adressbus (16MB) und der Protected Mode Alle Register blieben 16 Bit breit Der Protected Mode bietet Speicherschutz durch manuelles erstellen der Speichersegmente (GDT - Global Descriptor Table und LDT - Local Descriptor Table) Insgesamt gab es 1GB virtuellen Speicher
9 A20 Gate Es gab DOS-Programme, die sich darauf verließen, dass es nur 20 Bit breite physikalische Adressen gab Sie nutzten also explizit den Überlauf der Register, um $stuff im Speicher zu adressieren Der 286er konnte aber mehr als 1MB Speicher adressieren und sollte abwörtskompatibel sein IBM schuf die Möglichkeit die 20. Adressleitung fest auf GND zu legen Somit war der Überlauf wieder da, es gab allerdings auch nur 1MB adressierbaren Speicher
10 A20 Gate Existiert heute immernoch Bereitet einem viel Freude Wurde früher vom Keyboard Controller (SRSLY!) gesteuert Heute über Chipsatz Es gibt gefühlte 3 mio. Arten das Ding zu aktivieren
11 Umschalten in 32 Bit Protected Mode Nachdem wir jetzt mehr als 1MB Ram nutzen können, wollen wir 32 Bit Segmentierung ist fies, 16 Bit sowieso Blos weg da Mit kam der 32 Bit Protected Mode Wie Protected Mode aus 80286, nur volle 32 Bit - und zwar überall. IA-32 Architektur
12 Umschalten in 32 Bit Protected Mode Was müssen wir dafür tun? Segmentierung konfigurieren Möglichst so, das wir ein flaches, 4GB großes Segment haben, da wir dieses später eh wieder über Paging unterteilen Mittels GDT Danach im CR0 Register das 0. Bit setzen Mit einem Far-Jump in neues, über GDT beschriebenes, Speichersegment springen Nun stehen uns keinerlei Hilfen vom BIOS mehr zur Verfügung
13 Virtueller Speicher Einer der Grundpfeiler zur Abschottung einzelner Prozesse Jeder Prozess erhält einen eigenen Adressraum Der Adressraum kann dann via Paging realer Speicher zugewiesen werden Virtueller Speicher ermöglicht setzen einiger Kontrollbits (Privilege Level, NX- Bit, Read/Write etc.) Bei Missachtung dieser Kontrollbits, wird eine Exception geworfen: Page Fault Adressumsetzung passiert transparent in der CPU durch die Memory Management Unit (MMU) Auch andere Inhalte im Speicher möglich, wie z.b. Dateien Optimierung des Speicherverbrauchs durch gleichzeitiges Mappen einzelner Frames in mehrere Adressräumen und evtl. Copy-On-Write Swapping
14 Paging Wir unterteilen den physikalischen und virtuellen Speicher in gleich große Teile Physikalische Teile nennen wir Frames Virtuelle Teile werden die Pages Jeder Teil ist bei x86 (IA-32) 4KB oder 4MB groß Bei 4KB haben wir also 4GB / 4KB = Pages, die wir nun mit Frames befüllen können Ein Page Directory (Mapping von Pages zu Frames) ist also (bei 4B langen Pointern) * 4B = 4MB groß zu groß!
15 Pages Frames Pages Paging Prozess 1 Physikalischer Speicher Prozess 2
16 Paging Lösung für unser Größenproblem: 2-stufiges Paging Obere 10 Bit der virtuellen Adresse ergeben Index im Page Directory, der auf eine Page Table zeigt Folgende 10 Bit ergeben den Index der Page in der Page Table Letzte 12 Bit sind dann Offset im Frame selbst
17 Paging Virtuelle Adresse! Directory-Index! Page-Index! Offset! Physikalische Adresse! Basisadresse! Offset! Page Directory! 1023! Page Table! Phys. Adresse des Frames! 1023! Adressen der Pagetables! Phys. Adresse Page Table! 0! Frame-Adresse! 0! Pro Tabelle 1024 Einträge 1 Eintrag = 32 Bit Macht 4KB pro Tabelle
18 Paging Aktivierung? Page Directory und Page Tables von Hand zusammenbasteln Page Directory Adresse in CR3 schreiben Bit 31 in CR0 setzen Vorsicht: Vom Linker erstelle Adressen stimmen unter Umständen nicht mehr Code muss entweder relokiert werden Oder kleineres Programm vorher initialisiert Paging und springt dann in den eigentlich und korrekt auf die neue Basisadresse gelinkten Kernelcode
19 Interrupts x86 kann auch Interrupts Prozessor hat 256 verschiedene Interrupts Unterste 32 sind als Exceptions reserviert Prozessor hat (oder hatte... virtualisierter Bus usw.) eine physikalische Interruptleitung An Prozessor hingen 2 PICs (Programmable Interrupt Controller), die Interrupts angenommen haben und an der Prozessorleitung gezogen haben Im Anschluss konnte man die PICs fragen, was los war
20 PIC PIC 1 (Master) PIC 2 (Slave) IRQ 0 + <--- Timer IRQ 1 + <--- Tastatur IRQ 8 + <--- Echtzeituhr IRQ IRQ 9 + < IRQ 3 + <--- Seriell IRQ 10 + < IRQ 4 + <--- Seriell IRQ 11 + < IRQ 5 + <--- Soundkarte IRQ 12 + <--- PS/2 Maus IRQ 6 + <--- Floppy IRQ 13 + <--- Koprozessor IRQ 7 + <--- Parallel IRQ 14 + <--- Festplatte Port IRQ 15 + <--- Festplatte >>> Zur CPU
21 Interrupts handlen Um Interrupts zu behandeln müsen wir folgendes tun: IDT (Interrupt Descriptor Table) erstellen IDT laden Interrupts aktivieren Für Hardware-Interrupts MUSS der (A)PIC konfiguriert werden
22 Long Mode Long Mode ist der 64 Bit Modus Aktivierung: In Protected Mode wechseln, Paging aus Paging-Tabellen basteln PAE in CR4 aktivieren (max. 64GB physikalischen RAM) Longmode in MSR (Model Specific Register) aktivieren Paging und Longmode in CR0 aktivieren 64 Bit GDT laden
23 Multitasking Jeder Task bekommt einige ms CPU-Zeit, danach wird gewechselt Umschalten läuft völlig transparent ab Kompletter State eines Tasks muss gesichert und neuer geladen werden Unterbrechungen finden durch Timer Interrupt statt
24 Task State x86 kann Hardware Task Switching Wir machen es in Software Gründe: Kaum Geschwindigkeitsnachteile Portabler Zum State gehört: Register Stack evtl. Page Directory
25 State sichern Die CPU führt fröhlich Instruktionen aus und es passiert ein Interrupt Beim Interrupt werden verschiedene Sachen auf den Stack geschoben, um nachher wieder zurückkehren zu können Die ist ein Teil unserer zu sichernden States Zur Sicherheit schieben wir am Anfang des Interrupts den Rest auch noch direkt auf den Stack Nun brauchen wir uns den Kram nur noch vom Stack holen und in eine struct schreiben und der State ist gesichert
26 Neuen Task wählen Die Wahl des neuen Tasks kann beliebig kompliziert werden Auswahlkriterien können Zustand sein (wartend/schlafend, ausführend), Priorität, etc. Wir machen hier Round-Robin, also einfach immer den nächsten wählen ohne viele Extras
27 State wiederherstellen Um den State eines Tasks wieder herzustellen, müssen wir die Register einzeln setzen, alle erwarteten Interrupt- Rücksprungargumente auf den Stack pushen Und ireten Neuer Task sollte laufen
28 Kurze GeexOS Demo
29 Fragen? Antworten!
Wie schreibt man ein Betriebssystem?
Wie schreibt man ein Betriebssystem? Vom BIOS in den Userspace Andreas Galauner Easterhegg 2011 Democode Es gibt Democode: http://github.com/g33katwork/sigint10osworkshop git clone git://github.com/g33katwork/
Virtueller Speicher und Memory Management
Virtueller Speicher und Memory Management Speicher-Paradigmen Programmierer ein großer Adressraum linear adressierbar Betriebssystem eine Menge laufender Tasks / Prozesse read-only Instruktionen read-write
Zwei 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
Übung zu Betriebssystembau (Ü BS)
Übung zu Betriebssystembau (Ü BS) Interruptbehandlung in OOStuBS Wanja Hofer Lehrstuhl für Informatik IV WS 07/08 1 Agenda: IRQ-Behandlung in OOStuBS Interrupts und Traps beim x86 Die Interrupt-Deskriptor-Tabelle
Betriebssystembau. 3. Übung. Michael Engel Arbeitsgruppe Eingebettete Systemsoftware. Lehrstuhl für Informatik 12 TU Dortmund
Betriebssystembau 3. Übung Michael Engel Arbeitsgruppe Eingebettete Systemsoftware Lehrstuhl für Informatik 12 TU Dortmund [email protected] http://ess.cs.uni-dortmund.de/~me/ 1 Agenda: IRQ-Behandlung
Echtzeitbetriebssysteme
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
Betriebssysteme (BS) IA-32. Überblick. das Programmiermodell der Intel Architektur. Historie der Intel x86 Prozessoren. 8086: Programmiermodell
Betriebssysteme (BS) alias Betriebssystembau (BSB) IA-32 das Programmiermodell der Intel Architektur Überblick Historie Basisprogrammiermodell Speicherverwaltung und Adressierung Schutz "Tasks" Zusammenfassung
5.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,
Aufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Erweiterung
RO-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
Konzepte 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
Proseminar 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
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
Paging. Einfaches Paging. Paging mit virtuellem Speicher
Paging Einfaches Paging Paging mit virtuellem Speicher Einfaches Paging Wie bisher (im Gegensatz zu virtuellem Speicherkonzept): Prozesse sind entweder ganz im Speicher oder komplett ausgelagert. Im Gegensatz
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
Name: ES2 Klausur Thema: ARM 25.6.07. Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 95 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
Name: ES2 Klausur Thema: ARM Name: Punkte: Note:
Name: Punkte: Note: Hinweise für das Lösen der Aufgaben: Zeit: 75 min. Name nicht vergessen! Geben Sie alle Blätter ab. Die Reihenfolge der Aufgaben ist unabhängig vom Schwierigkeitsgrad. Erlaubte Hilfsmittel
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
Betriebssysteme BS-V SS 2015. Hans-Georg Eßer. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls. Dipl.-Math., Dipl.-Inform.
BS-V Betriebssysteme SS 2015 Dipl.-Math., Dipl.-Inform. Foliensatz V: Ulix: Interrupts und Faults Ulix: System Calls v1.0, 2015/05/28 (klassische Dokumentation) Folie V-1 Übersicht: BS Praxis und BS Theorie
Aufgabe 2 - Erweiterung um PIC und Interrupts
Aufgabe 2 - Erweiterung um PIC und Interrupts Dr.-Ing. Volkmar Sieh Department Informatik 3: Rechnerarchitektur Friedrich-Alexander-Universität Erlangen-Nürnberg WS2010/2011 Aufgabe 2 - Erweiterung um
Tutorium 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
Einführung in die technische Informatik
Einführung in die technische Informatik Christopher Kruegel [email protected] http://www.auto.tuwien.ac.at/~chris Betriebssysteme Aufgaben Management von Ressourcen Präsentation einer einheitlichen
Betriebssysteme KU - Einführungstutorium
Betriebssysteme KU - Einführungstutorium SWEB-Tutoren 5. Oktober 2008 1 Grundlagen 2 SWEB 3 Kernel Basics Memory Management Details 4 Userspace 5 Hacking 6 Beispiele 7 Assignment 0 Aufgaben eines Betriebssystems
Pru fungsprotokoll. Prüfer: Dr. Lenhardt Beisitzer:? Datum der Prüfung: Dauer: 25 Minuten
Pru fungsprotokoll Prüfer: Dr. Lenhardt Beisitzer:? Datum der Prüfung: 09.12.2016 Dauer: 25 Minuten Das folgende Protokoll habe ich nach bestem Wissen und Gewissen erstellt. Es besteht kein Anspruch auf
Prof. 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
Realisierung: virtueller Prozessor: der reale Prozessor wird periodisch dem Programm zugewiesen Im Prozessor: durch Task-Status Segment (TSS)
1.2 Multitasking Damit ein Computer mehrere Aufgaben gleichzeitig erledigen kann, die jede für sich oder die auch gemeinsam arbeiten, z.b. Daten lesen Berechnungen ausführen Netzwerkkontakt abarbeiten
20 Task-Management Was bleibt noch zu tun? Wird ein Poolelement in die Queue aufgenommen, dann muß der Poolelemente-Zähler inkrementiert werden. Dies erledigt die Anweisung pool_kopf_adr -> anzahl_der.pool_elemente
Betriebssysteme 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
Aufgabe 1 Entwicklung einer Virtuellen Maschine
Aufgabe 1 Entwicklung einer Virtuellen Maschine Rainer Müller Department Informatik 4 Verteilte Systeme und Betriebssysteme Friedrich-Alexander-Universität Erlangen-Nürnberg WS 2014/2015 R. Müller Entwicklung
Betriebssysteme SS Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 ( , v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen
Betriebssysteme SS 2013 Hans-Georg Eßer Dipl.-Math., Dipl.-Inform. SB 3 (17.03.2013, v2) Speicherverwaltung Ein-/Ausgabegeräte und Schnittstellen 17.03.2013, v2 Modul 6: Betriebssysteme, SS 2013, Hans-Georg
Schreiben von Pages. Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen).
Schreiben von Pages Schreiben einer Page in den Swap Space ist sehr teuer (kostet millionen von CPU Zyklen). Write Through Strategie (siehe Abschnitt über Caching) ist hier somit nicht sinnvoll. Eine sinnvolle
7. Speicherverwaltung
7. Speicherverwaltung Ziele Zuteilung des Arbeitsspeicher Abbildung der symbolischen Adresse auf die physikalische Adresse Adress-Transformation Symbolische Adresse verschiebbare Adresse physikalische
Kapitel 6 Speicherverwaltung Seite 1 zum Teil nach: Silberschatz&Galbin, Operating System Concepts, Addison-Wesley)
Kapitel 6 Speicherverwaltung Seite 1 6 Speicherverwaltung 6.1 Hintergrund Ein Programm muß zur Ausführung in den Hauptspeicher gebracht werden und in die Prozeßstruktur eingefügt werden. Dabei ist es in
Lö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
Betriebssysteme Sommersemester Betriebssysteme. 5. Kapitel. Adressumsetzung. Dr. Peter Tröger / Prof. M. Werner. Professur Betriebssysteme
Betriebssysteme Sommersemester 2017 Betriebssysteme 5. Kapitel Adressumsetzung Dr. Peter Tröger / Prof. M. Werner Professur Betriebssysteme 5.1 Speicher schneller, teurer, kleiner Betriebssysteme Adressumsetzung
Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum.
15.1.1 Kompatibilitätsmodi: Real Mode: - Segmentregister*16+Offset => Adresse - Keine Segmentdeskriptoren, kein Paging, - ~ 1 MB Adressraum. - 15. Hauptspeicher-Adressierung 15.1 Adressierungsmodi Virtual
(Cache-Schreibstrategien)
Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. 2. Nennen Sie zwei rotierende magnetische digitale Datenspeicher. 3. Nennen Sie zwei
x86 Open Source Virtualisierungstechniken Thomas Glanzmann <[email protected]>
x86 Open Source Virtualisierungstechniken März 2006 Zu meiner Person Informatik Student an der Universität Erlangen im 9. Semester 4 jährige Mitarbeit an dem Projekt FAUmachine der
Speicherverwaltung III
Speicherverwaltung III Andreas Görzen Marius Schultchen Benjamin Kotke Sascha Sternheim 26. Februar 2013 Inhaltsverzeichnis 1 Datenstruktur zur physikalischen Speicherverwaltung 2 1.1 Übersicht möglicher
Linux Paging, Caching und Swapping
Linux Paging, Caching und Swapping Inhalte Paging Das Virtuelle Speichermodell Die Page Table im Detail Page Allocation und Page Deallocation Memory Mapping & Demand Paging Caching Die verschiedenen Caches
Quiz. Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset.
Quiz Gegeben sei ein 16KB Cache mit 32 Byte Blockgröße. Wie verteilen sich die Bits einer 32 Bit Adresse auf: Tag Index Byte Offset 32 Bit Adresse 31 3 29... 2 1 SS 212 Grundlagen der Rechnerarchitektur
Virtueller Speicher. SS 2012 Grundlagen der Rechnerarchitektur Speicher 44
Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 44 Die Idee Virtuelle Adressen Prozess 1 Speicherblock 0 Speicherblock 1 Speicherblock 2 Speicherblock 3 Speicherblock 4 Speicherblock
Mikroprozessortechnik Grundlagen 1
Grundlagen - Grundbegriffe, Aufbau, Rechnerarchitekturen, Bus, Speicher - Maschinencode, Zahlendarstellung, Datentypen - ATMELmega28 Progammierung in C - Vergleich C und C++ - Anatomie eines µc-programmes
Lösung von Übungsblatt 2
Lösung von Übungsblatt 2 Aufgabe 1 (Digitale Datenspeicher) 1. Nennen Sie einen digitalen Datenspeicher, der mechanisch arbeitet. Lochstreifen, Lochkarte, CD/DVD beim Pressen. 2. Nennen Sie zwei rotierende
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11.
Das Paging: Stellen wir uns eine Zahlenmenge vor mit 12 Zahlen und zwar von 0 bis 11. {0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11} Stellen wir uns nun vor, die 12 Zahlen sind nicht in der richtigen Reihenfolge,
Atmel AVR für Dummies
Atmel AVR für Dummies [email protected] 29.12.2005 Übersicht 1 Hardware Kurzvorstellung Atmega8 Programmierkabel (Eigenbau vs. Kommerzlösung) Alternative: Bootloader (Programmieren via rs232) Software Speicher
Systeme 1. Kapitel 9.2. Interaktion von Hardware und Betriebssystem Linux-Kernel und x86 Systeme
Systeme 1 Kapitel 9.2 Interaktion von Hardware und Betriebssystem Linux-Kernel und x86 Systeme Speicherzugriffe auf x86 Systemen Auf x86 Systemen existieren drei Arten von Speicheradressen Logische Adresse
Linker: 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
Leichtgewichtsprozesse
Leichtgewichtsprozesse häufiger Prozeßwechsel stellt in einem Betriebssystem eine hohe Belastung dar; auch erfordert die Generierung eines neuen Prozesses viele System-Resourcen in vielen Anwendungen werden
Betriebssysteme. Speicherverwaltung - Grundlegende Konzepte. Sommersemester 2014 Prof. Dr. Peter Mandl. Prof. Dr. Peter Mandl Seite 1.
Speicherverwaltung - Grundlegende Konzepte Sommersemester 2014 Prof. Dr. Peter Mandl Prof. Dr. Peter Mandl Seite 1 Gesamtüberblick 1. Einführung in 2. Betriebssystemarchitekturen und Betriebsarten 3. Interruptverarbeitung
Grundlagen der Rechnerarchitektur
Grundlagen der Rechnerarchitektur Speicher Übersicht Speicherhierarchie Cache Grundlagen Verbessern der Cache Performance Virtueller Speicher SS 2012 Grundlagen der Rechnerarchitektur Speicher 2 Speicherhierarchie
virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher.
Kapitel 9 virtueller Speicher Seite 1 Kapitel 9: virtueller Speicher - Seiten-Swap Hintergrund virtueller Speicher - Trennung des logischen Speichers der Anwendung vom physikalischen Speicher. - Der Adressraum
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf
Vortrag zur Seminarphase der PG Solar Doorplate MSP430 Wichtigste Grundlagen von David Tondorf Technische Daten 16-Bit RISC Architektur bis zu 16 Mhz Vcc: 1,8-3,6V 64 KB FRAM 2 KB SRAM 7 Schlafmodi 5 16-Bit
Speicherverwaltung (Swapping und Paging)
Speicherverwaltung (Swapping und Paging) Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente 750k 0 Rückblick: Segmentierung Feste Einteilung des Speichers in einzelne Segmente
Cache Blöcke und Offsets
Cache Blöcke und Offsets Ein Cache Eintrag speichert in der Regel gleich mehrere im Speicher aufeinander folgende Bytes. Grund: räumliche Lokalität wird wie folgt besser ausgenutzt: Bei Cache Miss gleich
ARM Cortex-M Prozessoren. Referat von Peter Voser Embedded Development GmbH
ARM Cortex-M Prozessoren Referat von Peter Voser Embedded Development GmbH SoC (System-on-Chip) www.embedded-development.ch 2 Instruction Sets ARM, Thumb, Thumb-2 32-bit ARM - verbesserte Rechenleistung
5.5.5 Der Speicherverwalter
5.5.5 Der Speicherverwalter Speicherverwalter (memory manager) reagiert auf = im einfachsten Fall ein Systemprozess, der für die Umlagerung der Seiten (page swapping) zuständig ist (analog zum Umlagerer/Swapper)
Konzepte 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
Computer-Systeme Teil 15: Virtueller Speicher
Computer-Systeme Teil 15: Virtueller Speicher Computer-Systeme WS 12/13 - Teil 15/Virtueller Speicher 14.01.2013 1 Übersicht Segmente Systemaufrufe Swapping Paging Computer-Systeme WS 12/13 - Teil 15/Virtueller
DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME
1 / 25 DYNAMISCHE VERWALTUNG VIRTUELLEN SPEICHERS FÜR ECHTZEITSYSTEME Martin Böhnert, Thorsten Zitterell, Christoph Scholl Albert-Ludwigs-Universität Freiburg Fakultät für Angewandte Wissenschaften Institut
E Mikrocontroller-Programmierung
E Mikrocontroller-Programmierung E Mikrocontroller-Programmierung E.1 Überblick Mikrocontroller-Umgebung Prozessor am Beispiel AVR-Mikrocontroller Speicher Peripherie Programmausführung Programm laden
Ein- und Ausgabegeräte
Blockorientiert Jeder Block kann unabhängig gelesen und geschrieben werden. Festplatten, CD-ROMs, USB-Sticks, etc. Zeichenorientiert Keine Struktur, nicht adressierbar, Daten werden als Folge von Zeichen
Besprechung 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
Arithmetische und Logische Einheit (ALU)
Arithmetische und Logische Einheit (ALU) Enthält Blöcke für logische und arithmetische Operationen. n Bit Worte werden mit n hintereinander geschalteten 1 Bit ALUs bearbeitet. Steuerleitungen bestimmen
Sonstiges Award Bios POST Codes ab 6.0
CFh Test der CMOS Read/Write-Funktionalität Award Bios POST Codes ab 6.0 C0h Chipsatz-Initialisierung: - Shadow RAM ausschalten - L2 Cache (Sockel 7 oder älter) ausschalten - Chipsatz-Register initialisieren
Vorlesung: Virtualisierung und Rechenzentrumsinfrastrukturen. Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung
Vorlesung: Lars Göbel & Christian Müller VL04: Einführung in die Virtualisierung Themenüberblick Virtualisierung VL 02: Einführung in die Virtualisierung (heute) VL 06: VL 08: XaaS VL 09: PaaS + SaaS VL
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001. Heiko Holtkamp [email protected]
Technische Informatik II Wintersemester 2002/03 Sommersemester 2001 Heiko Holtkamp [email protected] Speicher ist eine wichtige Ressource, die sorgfältig verwaltet werden muss. In der Vorlesung
01744 PC-Technologie Prüfungsprotokoll (Note 1,3) vom 20.06.16 bei Dr. Lenhardt, Protokollführer Dr. Bähring
01744 PC-Technologie Prüfungsprotokoll (Note 1,3) vom 20.06.16 bei Dr. Lenhardt, Protokollführer Dr. Bähring Dr. Lenhardt legt Wert darauf, dass man kurz und ohne ausschweifen Antwortet. Abkürzungen sollen
BIOS-Signale. Die unterschiedlichen BIOS-Hersteller verwenden unterschiedliche Signale. AMI AWARD IBM PHOENIX MR-BIOS
BIOS-Signale Wenn der Rechner beim Startvorgang (bevor überhaupt ein Betriebssystem startet) stehen bleibt, lassen sich anhand der ausgegebenen Pieps-Töne (Beeps) Zückschlüsse auf den Fehler ziehen. Die
Grundlagen Rechnerarchitektur und Betriebssysteme
Grundlagen Rechnerarchitektur und Betriebssysteme Johannes Formann Definition Computer: Eine Funktionseinheit zur Verarbeitung von Daten, wobei als Verarbeitung die Durchführung mathematischer, umformender,
Vorlesung "Struktur von Mikrorechnern" (CBS)
5 Entwicklung der Prozessorarchitekturen 5.1 Intel Prozessorenreihe i86 5.1.1 8088 und 8086 Prozessoren 5.1.3 80386 Prozessoren 5.1.5 Pentium Prozessoren 5.2 Vergleich von Prozessorarchitekturen unterschiedlicher
Bibliotheks-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)
Betriebssysteme Teil 10: Virtueller Speicher
Betriebssysteme Teil 10: Virtueller Speicher 11.12.15 1 Übersicht Segmente Systemaufrufe Swapping Paging 2 Physikalischer Adressraum I - Wiederholung 3 Physikalischer Adressraum II - Wiederholung Es wird
Betriebssysteme 1. Thomas Kolarz. Folie 1
Folie 1 Betriebssysteme I - Inhalt 0. Einführung, Geschichte und Überblick 1. Prozesse und Threads (die AbstrakFon der CPU) 2. Speicherverwaltung (die AbstrakFon des Arbeitsspeichers) 3. Dateisysteme (die
Betriebssysteme (BS) IA-32. Überblick: Vorlesungen. das Programmiermodell der Intel-Architektur. Agenda. Historie der Intel x86-prozessoren
Betriebssysteme (BS) Überblick: Vorlesungen Daniel Lohmann IA-32 das Programmiermodell der Intel-Architektur Lehrstuhl für Informatik 4 Verteilte Systeme und Betriebssysteme Gerätezugriff (Treiber) Anwendung(en)
