Aufgabe 0: C++ Streams
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 functionputchar()
. Additionally, the system callsopen()
,write()
,close()
andfsync()
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.
A test application can be found in the test-stream
folder.