• Navigation überspringen
  • Zur Navigation
  • Zum Seitenende
Organisationsmenü öffnen Organisationsmenü schließen
Lehrstuhl für Informatik 4 & 16
  • FAUZur zentralen FAU Website
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik
  • English
  • Campo
  • UnivIS
  • Stellenangebote
  • Lageplan
  • Hilfe im Notfall
  1. Friedrich-Alexander-Universität
  2. Technische Fakultät
  3. Department Informatik

Lehrstuhl für Informatik 4 & 16

Menu Menu schließen
  • Lehrstuhl
    • Leitbild
    • Team
    • Kontakt und Anfahrt
    • 50-jähriges Jubiläum
    Portal Lehrstuhl
  • Forschung
    • Forschungsbereiche
      • Betriebssysteme
      • Echtzeitsysteme
      • Energiebewusste Systeme
      • Verteilte Systeme
    • Projekte
      • BFT2Chain
      • e.LARN
      • NEON
      • PAVE
      • PRIMaTE
      • REFIT
      • ResPECT
      • SURESOFT
      • TRR 89 C1: iRTSS
      • TRR 89 C5
      • Watwa
    • Projektkampagnen
      • DOSS
      • maRE
    • Forschungsgruppen
      • ergoo
    Portal Forschung
  • Publikationen
  • Lehre
    • Sommersemester 2023
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssystemtechnik
      • Projekt angewandte Systemsoftwaretechnik
      • Systemnahe Programmierung in C
      • Systemprogrammierung 1
      • Verteilte Systeme
    • Wintersemester 2023/24
      • Ausgewählte Kapitel der Systemsoftware
      • Betriebssysteme
      • Systemprogrammierung 2
      • Middleware – Cloud Computing
      • Virtuelle Maschinen
      • Web-basierte Systeme
    Portal Lehre
  • Examensarbeiten
  1. Startseite
  2. Extern

Extern

Bereichsnavigation: Lehre
  • Betriebssysteme
    • Vorlesung
      • Folien
    • Übung
      • Seminar
      • Aufgaben
      • Aufgabe 0: C++ Streams
        • Assembler Crashkurs
          • C++ Crashkurs
            • Entwicklungsumgebung
              • FAQ
                • Ruhmeshalle
                • Evaluation

                Aufgabe 0: C++ Streams

                Assignment 0: Operator Overloading in C++

                Learning Objectives

                • Getting to know the programming language C++
                • First steps with the version management system git

                Videos (WS21, in German)

                • Organisation (im WS21) (15 min)
                • C++ Crashkurs (26 min)
                • Git Crashkurs (18 min)

                Preface

                This task is voluntary and will not be evaluated. However, it is highly recommended as preparation for the first assignment.

                Output Stream

                For test outputs and to facilitate troubleshooting, output functions are essential in operating system development. StuBS achieves this with functionality similar to the output stream of the C++ I/O library, in our case provided by the classes Stringbuffer and OutputStream – the standard library itself is of course not available on bare hardware.

                Attention
                Do not use any C/C++ library functions (especially no sprintf) and avoid dynamic memory allocation. The only exceptions is the library function putchar(). Additionally, the system calls open(), write(), close() and fsync() may be used.

                The implementation should be extensively tested by implementing the classes ConsoleOut and FileOut and use them in a console application on Linux. It will be integrated in OOStuBS or MPStuBS in the next assignment.

                Class Map for Assignment 0

                A test application can be found in the test-stream folder.

                Further Reading

                • C++ Introduction for OS Developers
                Friedrich-Alexander-Universität
                Erlangen-Nürnberg

                Schlossplatz 4
                91054 Erlangen
                • Impressum
                • Datenschutz
                • Barrierefreiheit
                • Facebook
                • RSS Feed
                • Twitter
                • Xing
                Nach oben