Task 7: Applications for OOStuBS
Learning objectives
- Using threads and semaphores
- Having fun
Task description
In this assignment you will implement an OOStuBS application of your choice. If possible, use several threads that 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, to switch to a graphics mode, to program USB devices, or to access a FAT filesystem on a SATA hard disk), or port OOStuBS to a different architecture (e.g. to ARM/Raspberry PI)
Template code
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 last week of the lecturing period, on Wednesday 2025-07-16 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.
Please submit the following
via email until
2025-07-15 13:00 15:00 (hard deadline, but last-minute updates
after that deadline are possible):
- a datashare/cloud storage link to a compressed .zip file of your source-code tree including generated files (especially build/system and build/bootdisk.iso) (***)
- instructions for me how to run and test the submission
- a name/title for the submission (for the contest slides + announcements), maybe not giving away too much what your submission is about
- a list of (co)authors
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 team(s) behind the "best" submission(s) will receive prices. This year, Kernkonzept 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: As you may have a hard time to compete with MacOS, Linux and Windows, you can also try to inspire your fellow students with wit and creativity!