Naja also, die Praxis aufgaben gingen find ich, aber das echt shell kommandos gefragt worden sind fand ich scheiße. Dachte bis jetzt immer das verständnis wichtiger als stures auswendiglernen von cmds wäre... schon klar wer in linux shell städnig arbeitet weiß sowas, aber bin wohl er der GUI typ....
1a)
Was gibt dieses codestück aus? (erklärung warum)
Ausgabe ca. 1 1 2 2 2 2
1b)
Was gibt das aus:
einfach die ausgabe von echo, da es nie zu anweisungen nach exec kommt
1c) also fork aufrufen und jeweils die pipes mit der stout/stdin zu verbinden (zB. dup2(fp[0],fileno(stdin)). Auf wait kann man verzichten da im vater und kind exec aufgerufen wird
2)
2 Semaphore, der erste mit 2 initialisieren und den 2ten mit 8. Bei high_complexity wird nachdem P(id1) aufgerufen wird 3 mal P(id2) aufgerufen. Dadurch wird sichergestellt, dass wenn high_complex läuft nur 5 low_complex laufen usw.. Danach einfahc mit V wieder alles freigeben (3x id2 und 1x id1)
In low_complex ganz normal P(id2)->V(id2)
Therorie in der Anlage (habs abfotografiert, da anscheinend die theroire immer zensiert wurde die letzen male)