Task 7

Task 7: Applications for OOStuBS

Learning objectives

Task description

In this assignment you will implement an OOStuBS application of your choice. If possible, several threads should be used, which are synchronized via semaphores.

Games are a good choice, but of course they are not the only thing you can think of. You can also implement a device driver for OOStuBS (e.g. to play PCM sound on the PC speaker, or to switch to a graphics mode).

Templates

We provide a random-number generator (RNG) class for you (random.*).

Submission

This year we'll have the task #7 demos and contest in the first week after the lecturing period end, on Wednesday 2023-07-19 at 11:10 in room APB/E023. By default, solutions must run in QEMU on the lecturer's notebook; if you need to deviate from this (e.g. you want to run on real hardware, or in some other virtualization environment), please contact me with enough lead time. The boot image build/system and the source code (please don't include the very large bootdisk.iso!) must be submitted via email until 2023-07-18 14:00 (hard deadline, although last-minute updates are possible). Your team is expected to demonstrate your submission yourself in front of the class, and to say a few words about how you did it (e.g. which system abstractions you used, what you added to/modified in OOStuBS etc.).

Members of the teams behind the "best" and the second-"best" submissions will receive prices. This year, Genode Labs GmbH (from Dresden) donates Raspberri Pi Zero hardware for this purpose. The winners will be determined by voting, where anyone present, qualified, and not overly prejudiced will be allowed to vote. (Unless announced otherwise, voting will only be possible for on-site participants, using pen and paper.)

Hint: If you don't trust yourself to compete with MacOS, Linux and Windows, you can also try to inspire your fellow students with wit and creativity.