Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic...

20
Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation

Transcript of Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic...

Page 1: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Lukas Büchele Alfred OlschnöggerAtanas Dimitrov Sebastian QuandtSandra Mayer Bojan Zarkovic

Projektpräsentation

Page 2: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Aufgabenstellung / Ziel

• Architektur

• Prozessmanagement

• IPC

• MMU

• HAL

• FAT

• Scrum

Übersicht

Page 3: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Single-User Betriebssystem

• Präemptives Betriebssystem

• Multi-Prozess

• Single-Threaded

• Verwendungszweck

• Webserver

• Zielplattform

• AVR32-AP7000 (UC3)

Aufgabenstellung / Ziel

Page 4: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Projektpräsentation

• Webserver

• TCP/IP-Stack

• SD-Karte

• Remote command line zum Konfigurieren

Aufgabenstellung / Ziel

Page 5: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Architektur

Projektpräsentation

Page 6: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Die Prozessdatenstruktur

besteht im Wesentlichen aus dem PCB und zusätzlichen Informationen für Scheduling / Kommunikation

Prozessmanagement

Projektpräsentation

• Prozesswechsel– Round Robin– FCFS– SPN– Priority Scheduling

Page 7: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Zustandsdiagramm

Prozessmanagement

Projektpräsentation

Page 8: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Shared Memory• IPC mit Pipes• Monitors• Message Passing• Message Queue• Semaphoren

IPC

Projektpräsentation

Page 9: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Paging mit 64 KB Seiten• Page Table

– Einstufige Page Table• Einträge im TLBELO Format• Virt. Adresse als Index

– Mehrstufige Page Table– Inverted Page Table

• Virtueller Speicher begrenzt auf 64 MB• Adressumsetzung mit MMU

– Segmentation und Paging– TLB mit 64 Einträgen– Private Virtual Memory Mode

Memory Management

Projektpräsentation

Page 10: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Virtueller Speicher

Memory Management

Projektpräsentation

Page 11: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Translation Lookaside Buffer• Seitenersetzungsalgorithmen

– Zufällige Seitenersetzung– Not Recently Used

• Memory Manager– Frame Table– Referenzen auf alle Page Tables (nicht Verwendung des

PTBR)– Globale Page für SRAM in ersten TLB Eintrag schreiben

Memory Management

Projektpräsentation

Page 12: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• ELF-Parser

Interpretiert Elf und Programm Headers

• Prozess-Lader

Lädt abhängig von Informationen des Elf Parsers in den virtuellen Speicher bzw. setzt Prozessinformationen

Memory Management

Projektpräsentation

Page 13: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

PowerManager• Initialisiert und startet

Hardwarekomponenten• Bietet Soft-Reset an

SystemClock / Timer• SystemClock für

Prozesswechsel• Timer verfügbar (sleep / wait)

USART• Für Shell- und Debug-

Ausgaben

HAL

Projektpräsentation

LED• Statusanzeigen

SDRAM• Für DMA und virtuellen

Speicher für Prozesse

SDCard• Laden von Dateien/

Programmen (Shell)

Ethernet• Senden / Empfangen von

Paketen

Page 14: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Probleme• Fehler im Software Framework• Unterstützte maximale Taktung• SDRAM

• Größe/ Vorbelegung

• SDCard • Lese-/Schreibfehler• Dateigröße

• Netzwerk

HAL

Projektpräsentation

Lösungen

Register falsch ausgelesen

120MHz statt 150MHz Einheitenverwechslung

32MB da 256Mbit (Manual) Erste vier Bytes ignorieren

Delay zwischen Kommandos ermitteln

Reduktion der Dateigrößen

Page 15: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Zeit: 832

Anweisungen: 333

(Mittelwerte aus 200 Messungen)

Performance-Messung bei Prozesswechsel

Projektpräsentation

Page 16: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Erweiterungen

SDCard über DMA

Generische Device Treiber

Netzwerk (Pakete senden/ empfangen)

TCP/IP Stack integrieren/ implementieren

Weitere Ein- /Ausgabegeräte unterstützen (Keyboard, LCD, Sound,…)

HAL

Projektpräsentation

Page 17: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Fertiges Framework: „FAT File System Module“

http://elm-chan.org/fsw/ff/00index_e.html

Lizenz:

FAT

Projektpräsentation

The FatFs module is a free software opened for education, research and development. You can use, modify and/or redistribute it for personal, non-profit use or commercial products without any restriction under your responsibility. For further information, refer to the application note.

Page 18: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Vorteile– Taskboard– Jeder weiß, woran der andere arbeitet– Jeder weiß zu Beginn, was ungefähr getan werden muss– Tolle Tools für Umsetzung

• Nachteile– Wenn Team verteilt, dann schlecht durchzuführen– Zeitaufwändig– Besser, wenn man die ganze Woche zusammen arbeitet– Projekt zu kurz für Scrum (nur 3 Sprints)

Scrum

Projektpräsentation

Page 19: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

• Speicheradressierung• Beschränkte Debugmöglichkeiten• Sparsame Ressourcennutzung• Sinnvolle Modularisierung • Modulkommunikation über Register• Linkerskript und Elf-Aufbau• AVR Studio • AVR Dokumentation unvollständig und sehr kompakt

– z. B. ASID in TLBEHI bei Prozesswechsel

Lesson‘s Learned

Projektpräsentation

Page 20: Lukas Büchele Alfred Olschnögger Atanas Dimitrov Sebastian Quandt Sandra Mayer Bojan Zarkovic Projektpräsentation.

Vielen Dank

für eure Aufmerksamkeit!

Projektpräsentation