Maschinennahe Programmierung

 
WEITER LESEN
Maschinennahe Programmierung
0/ 15                         Organisation

        Maschinennahe Programmierung

                    Prof. Dr.-Ing. Oliver Theel
                   Marvin Banse, MSc. Inform.

                            Fakultät II
                    Department für Informatik
            Abt. Systemsoftware und verteilte Systeme
                        www.uol.de/svs
Maschinennahe Programmierung
1/ 15                                   Organisation

   Schon ’mal vorab: was ist GANZ wichtig für die Durchführung der
   Präsenzveranstaltungen?
    I für Vorlesungs- (Hörsaal 3) als auch Übungsraum (A1 0-007) gilt:
        die Räume fallen unter des 3G-Regime (“sind 3G-relevant”);
        in diesen Räumen dürfen sich nur 3G-konforme (geimpfte,
        genesene, getestete) Personen aufhalten
    I es dürfen sich zu keiner Zeit mehr als die ausgewiesene
        Maximalanzahl an Personen im Raum aufhalten
    I um 3G-Konformität nachzuweisen, müssen Teilnehmer der
        Präsenzveranstaltung sich zuvor an 3G-Anmeldestellen anmelden
        (Gebäude A14 oder W32, jeweils im Erdgeschoss)
    I es herrscht grundsätzliches Maskengebot, auch am Platz
        I für Räume ohne feste Bestuhlung jedoch mit Sitzplätzen an
          Tischen gilt als Abstandregel: “Eine Person pro Tisch”; der
          jeweilige Sitzplatz ist in Tischmitte
Maschinennahe Programmierung
2/ 15                               Organisation

   Schon ’mal vorab: was ist GANZ wichtig für die Durchführung der
   Präsenzveranstaltungen? (Fort.)
    I die Teilnehmer der Präsenzveranstaltungen sollten sich in StudIP
        für die Lehrveranstaltungen eintragen; das ermöglicht uns eine
        leichtere Anwesenheitsverfolgung
    I über anwesende Personen muss der Veranstalter “Buch führen”;
        um das zu vereinfachen, schickt jeder Teilnehmer zu Beginn jeder
        Präsenzveranstaltung eine Email mit Subject
                              [MNP] YYYY-MM-DD
        an oliver.theel@uol.de (also heute: “[MNP] 2021-10-21”)
        Sollte aus der Emailadresse nicht der Name der Person
        hervorgehen, müssen Sie im Rumpf der Email zudem Ihren
        Namen angeben.
Maschinennahe Programmierung
3/ 15                                 Organisation

   Oliver Theel – wo findet man den?
        Department für Informatik
        Praktische Informatik
        Abt. Systemsoftware und verteilte Systeme
        Büro: A4 2-222
        Email: theel@informatik.uni-oldenburg.de
        Telefon: 0441 / 798-2855 (Sekretariat), -2364 (direkt)
        Http: www.uol.de/svs
        Sprechstunde: mittwochs, 10:00 – 11:00 Uhr oder n.V.,
            Termine buchbar über StudIP
            (Suche “Theel”, Reiter “Sprechstunden”)
        Sekretariat: A5 2-227 oder A4 2-226;
            Frau Burke & Frau Knippenberg
Maschinennahe Programmierung
4/ 15                                Organisation

   Und was macht der so?
    1) Zuverlässige (verteilte) Rechensysteme
    2) Fehlertoleranz in (verteilten) Rechensystemen
    3) Hochverfügbarkeit von Daten und Diensten
    4) Replikation von Daten und Diensten
    5) Selbststabilisierende (verteilte) Algorithmen
    6) Regionentreue (verteilte) Algorithmen
    7) Systemsoftware für mobile Rechensysteme
    8) Dynamik in verteilten Systemen
    9) verteilte Basisalgorithmen, insbesondere Aspekte der
       Skalierbarkeit und der sanften Systemreduktion
   10) (Drahtlose) Sensor- und Aktornetzwerke
   11) Sensorik und Aktuatorik, u.a. für Umweltphänomene
5/ 15                                 Organisation

   Überblick (Fort.)
     I Lehrveranstaltungen:
         -   Betriebssysteme 1 (BSc. Inf u. WInf.,V2+Ü2)
         -   Betriebssysteme 2 (MSc. WInf., MSc. Inf, V2+Ü2)
         -   Betriebssystempraktikum (BSc. Inf.,P4)
         -   Verteilte Betriebssysteme (MSc. Winf., BSc. Inf.,V2+Ü2)
         -   Verteilte Systeme (MSc. Inf.,V2+Ü2)
         -   Seminare mit wechselnden Themen, u.a. Seminare im
             “Konferenzstil” oder kooperative Seminare; à la:
             Kooperatives Studierendenseminar zur Entwicklung eines
             verteilten Umweltsensorsystems (BSc.-Proseminar, MSc- +
             BSc-Seminar, SE2)
         -   Fehlertoleranz in verteilten Systemen
             (MSc. Inf.,V2+Ü2|SE2)
         -   Maschinennahe Programmierung (BSc. Inf.,V2+Ü2)
         -   Projektgruppen (MSc. Inf. u. WInf., P16)
             PG Guerilla Sensor Fighting OL and Beyond
         -   Vertiefungsrichtung Systemsoftware im BSc. Informatik
         -   Vertiefungsrichtung Zuverlässige Systeme im MSc. Informatik
6/ 15                                Organisation

   Überblick (Fort.)
     I Forschungskooperationen:
         – DFG-Graduiertenkolleg GRK 1765: System Correctness under
           Adverse Conditions (SCARE)
         – Erasmus Mundus Projekt TARGET II
         – Hub for Education on ICT for Sustainability (HEdIS)
         – Forschungszentrum Sicherheitskritische Systeme (FZ-SKS)
         – Offis
         – Universität Erlangen-Nürnberg
         – Institute de recherche en informatique et systèmes aléatoires
           (IRISA), Rennes, Frankreich
         – Ben-Gurion University of the Negev, Israel
         – Universidad Nacional de Cordoba, Argentinien
         – Voronesh State University, Russia
         – Nelson Mandela Metropolitan University (NMMU), Port Elizabeth,
           Südafrika
         – Tashkent University of Information Technologies, Tashkent,
           Usbekistan
         – German-Mongolian Institute for Resources and Technology,
           Ulaanbaatar, Mongolei
7/ 15                                  Organisation

   Überblick (Fort.)
     I einige laufende (l) bzw. kürzlich abgeschlossene (a)
       Bachelor- und Masterarbeiten:
         1) Entwicklung und Bau eines Brutkasten für Bienenköniginnen mit
            Schlupferkennung (l)
         2) (Weiter-)Entwicklung eines verteilten Sensornetzwerkes zur
            Optimierung von Lüftungskonzepten für Bildungseinrichtungen (l)
         3) identiBEEcation — Lokalisieren und Kategorisieren von Bienen auf
            Waben anhand von Bilddaten (l)
         4) Erweiterung einer Sensorplattform auf Basis von Mobiltelefonen (l)
         5) Personenverfolgung in der Veranstaltungstechnik (l)
         6) Automatische Erkennung und gezielte Bewässerung von Bäumen
            im industriellen Kontext (l)
         7) Entwicklung und Evaluation eines Bienenhotels mit
            informatikgestütztem Feedbacksystem (l)
         8) Autonomisierung einer Beregnungsmaschine (a)
         9) Votingstrukturen für pfadbasierte Datenreplikationsstrategien (a)
        10) Untersuchung der Überlebenswahrscheinlichkeit regionentreuer
            Algorithmen (a)
        11) KI-basierte Detektion und Klassifizierung von Defekten in
            Composite-Fertigungsproz. anhand thermografischer Bilder (a)
8/ 15                                 Organisation

   Überblick (Fort.)
     I offene Bachelor- und Masterarbeiten (Auswahl):
        1) Erweiterung eines pfadgesteuerten Mähroboters um eine
           Düngeausbringung
        2) Erweiterung einer Verwaltung von Offline-Speichermedien auf
           weitere Datenträgertypen wie DVDs und Hotplug-Festplatten
        3) Entwicklung eines mobilen Kartiergerätes zur landwirtschaftlichen
           Terrainerfassung
        4) Android-App zur Steuerung einer mikroreaktionstechnischen
           internetgesteuerten Anlage (MiA)
        5) Interaktive Lernunterstützung von Schülern bei der Texterfassung
           mittels Eyetracking
        6) Optimierung der Solarpanelausrichtung eines autonomen
           Fahrzeugs
        7) Entwurf und Implementierung eines befähigungsbasierten
           Raumzugangssystems
        8) Strategien zur zielgerichteten Verbesserung regionentreuer
           Algorithmen
        9) → eigene Vorschläge
   siehe auch www.uol.de/svs/lehre/abschlussarbeiten/
9/ 15                                   Organisation

   Was ist wichtig?
    I Aushänge:
             - am Schwarzen Brett neben A4 2-225a
             - im WWW: www.uol.de/svs/lehre/
               Thema “Maschinennahe Programmierung”
             - in StudIP: Veranstaltung 2.01.020 im WS 2021/2022
        I Skript gibt’s leider keines
        I Vorlesung donnerstags, 12:15 bis 13:45 Uhr in Raum A14 1-103
          (Hörsaal 3);
          im Ausweichfall online in StudIP (BBB, Reiter “Meeting”, Raum
          “Vortragsraum Maschinennahe Programmierung”)
        I Folienkopien jeweils einen Tag nach der Vorlesung über’s WWW
          und StudIP (Reiter “Dateien”)
        I Stundenart/-anzahl: V2+Ü2
        I Übungsbetrieb in Form einer Gruppenübung und
          praktischen Arbeiten
            – 02-freitags, 10:15 bis 11:45 Uhr in A1 0-007;
              im Ausweichfall online in StudIP (BBB, Reiter “Meeting”, Raum
              “Vortragsraum Maschinennahe Programmierung”)
            – Beginn in der 43. KW (am Freitag, 29. Oktober 2021)
10/ 15                                    Organisation

   Was noch ist wichtig?
    I Modulanmeldung
             – bis eine Woche vor Prüfungstermin
             – durch Meldung beim Prüfungsamt bzw. über StudIP
         I Prüfungsform (aktueller Stand): Modulklausur im Präsenzformat;
           Prüfungstermin am 4.2.2022 von 10:00 bis 12:00 Uhr in A1 0-007
         I Wiederholungsprüfung in der 10. KW 2022
           (vermutlich Präsenzklausur am 9.3.2022; endgültiger Termin,
           Modus und Raum wird noch bekanntgegeben)
         I Modulbewertung

             1) Es gibt keine Übungspunkte.
             2) Es gibt keine Boni für Übungsteilnahme.
             3) insgesamt müssen mindestens 40% der Klausurpunkte
                erreicht werden, um das Modul erfolgreich zu bestehen
             4) gleiches gilt für eine Wiederholungsklausur
11/ 15                                Organisation

   Hintergrundliteratur

         The C Programming Language, 2nd Edition
         Brian W. Kernighan and Dennis M. Ritchie
         Prentice Hall Software Series, 2006,
         272 Seiten, ISBN 0-13-110370-9,
         41. Druckauflage, 28,95 Euro
         (alt, aber “der Klassiker”; Umfang reicht zudem
         für das Ziel der Vorlesung aus)

         Assembly Language Step by Step,
         3rd Edition
         Jeff Duntemann
         Wiley Publishing, Inc., 2009, 609 Seiten,
         ISBN 978-0-470-49702-9, ab ca. 29,00 Euro
12/ 15                                    Organisation

   Lernziel
    I Verständnis für
             –   Begrifflichkeit
             –   Aufbau, Funktionsweise, Konzeption
             –   Kernproblematiken und
             –   wesentliche (Lösungs-)konzepte
           der Programmiersprache C, der Intel-Architektur, des
           NASM-Assemblers und der strukturierten, systematischen
           Programmierung in Assembler.
         I Die Vorlesung soll u.a.
            1) klären, wie ein C-Programm und ein Assembler-Programm
               aufgebaut sind,
            2) klären, wie ein C-Programm systematisch in ein
               Assembler-Programm übersetzt werden kann,
            3) zeigen, wie dabei auf die Erzeugung von effizientem und
               übersichtlichem Kode geachtet werden kann,
            4) Interesse wecken, selber in Assembler zu programmieren –
               insbesondere im Kontext von Betriebssystemen und eingebetteten
               Systemen.
13/ 15                                        Organisation

   Einordnung des Vorlesungsstoffes

                                           Progammiersprachen
              Betriebssysteme

                                  Maschinennahe                 eingebettete
                                                                  Systeme
                                  Programmierung
         Systemsoftware

                                Hardware              Rechnerarchitektur
14/ 15                                Organisation

   geplante Themen in Maschinennaher Programmierung:
     1) Einführung, Einführung in C, historische Entwicklung
     2) klassische Sprachbestandteile von C soweit benötigt (ANSI C)
     3) kurze Einführung Rechnerarchitektur, Prozessorarchitektur,
        Intel-Prozessoren
     4) Einführung Assemblierer, Assembler, NASM
     5) Arithmetrische Ausdrücke, Linearisierung eines Baumes,
        Auswertung mittels Stapel, arithmetrische Befehle und
        Stapelzugriff
     6) Bedingte Anweisungen, optimale Auswertung Boole’scher
        Ausdrücke
15/ 15                             Organisation

   geplante Themen in Maschinennaher Programmierung: (Fort.)
     7) Fallanweisungen, Sprungtabellen
     8) Speicherabbildung von Datentypen, Reihungen, Verbunden
     9) Schleifen
   10) Unterprogramme, Prozeduren und Funktionen
   11) Rekursive Prozeduren und Funktionen
   12) Dynamische Variable, Zeiger, Verwaltung dynamischer
       Datenstrukturen, Freispeicherverwaltung
       → “Erzeugen und Vernichten von Objekten”
   13) Interaktion mit Linux, Makros, Linux-Systemdienste
16/ 15                          Organisation   Anhang

   Kooperatives Studierendenseminar zur Entwicklung eines
   verteilten Umweltsensorsystems (SS 2021)

   zurück
17/ 15                          Organisation   Anhang

   PG Guerilla Sensor Fighting OL and Beyond (SS 2021)

   zurück
18/ 15                           Organisation   Anhang

   PG Guerilla Sensor Fighting OL and Beyond (SS 2021) (Fort.)

   zurück
Sie können auch lesen