Sitzung: Jeden Freitag ab 14:30 s.t. online. Falls ihr den Link haben wollt, schreibt uns.

Betriebssystempraktikum (Bachelor)

Das Betriebssystempraktikum ist eine Pflichtveranstaltung im fünften Semester des Studiengangs Technische Informatik. Die Veranstaltung entspricht 6 ECTS-Leistungspunkten und besteht aus einer Vorlesung und optionalen, aber hochgradig benötigten, betreuten Rechnerzeiten.

Inhalt

Im Laufe der Veranstaltung wird von Grund auf ein Betriebssystem für ein ARM-Board geschrieben. Eine kleine Starthilfe in Form einer rudimentären Vorgabe und eines Makefiles für den Weg des Codes vom PC zum Board wird gestellt. Das ARM-Board ist aus TechGI 3 bekannt und folgt dem aus TechGI 3 bekannten ARM-Befehlssatz. Inhaltlich deckt die Veranstaltung sich sehr mit TechGI 3, Themen sind unter anderem Speicherverwaltung, Prozessscheduling und Interrupts, die hier aber komplett praktisch umgesetzt werden.

Vorkenntnisse in C sind auf jeden Fall nötig, aus TechGI 3 aber ausreichend. ARM-Assembler-Vorkenntnisse sind nicht unbedingt erforderlich, da die Programmierung hauptsächlich in C erfolgt.

Die Vorlesung findet wöchentlich statt, die Hausaufgaben-Abgabe alle 14 Tage. Die betreuten Rechenzeiten finden wöchentlich statt. Seit WiSe 2015 besteht die Prüfung nur noch aus der Abschlussklausur. Zur Klausurzulassung müssen in beiden Semesterhälften von den Abgaben jeweils mindestens 50% der Punkte erreicht werden. Allerdings bezieht sich die Klausur direkt auf die Aufgaben des Praktikums, weshalb es sinnvoll ist, sich mit allen Abgaben zumindest zu beschäftigen.

Tipps und nützliche Infos

Hier gibt es eine Anleitung um ARM und Qemu unter Linux einzurichten.

Nehmt die Aufgaben auf jeden Fall ernst. Sie sind nicht ganz so schwer, erfordern jedoch relativ viel Zeit und müssen höchstwahrscheinlich (erstmal) im Rechnerraum erledigt werden, weil dort die Boards stehen. Die Vorgaben sind zwar meist klar, aber doch recht allgemein gehalten, weshalb man sich oft erst lange selbst ins Thema einfinden und eine Lösungsstrategie entwickeln muss, bevor man anfangen kann zu coden.

Fragt besonders auch die Tutoren, da sie kompetent sind (und die Lösungen kennen / erstellt haben). Die meisten Fragen werden durch die Tutoren schnell beantwortet, aber legt euch die Fragen vorher zurecht, da die Tutoren vielen Leuten die Fragen beantworten müssen und sich dafür meist erst in den Code einlesen müssen, was Zeit frisst.

Die Klausur am Ende ist recht einfach, da sie die Sachen abfragt, die in den Hausaufgaben behandelt wurden und ihr diese (hoffentlich) selbst gemacht habt. Deshalb gilt hier besonders: Wer die Hausaufgaben richtig macht, muss nichts (weniger) zur Klausur lernen!