Zkouska 6.4.2007

Programování v UNIXu. Cvičení probíhá v laboratoři UNIX a poskytuje posluchačům průpravu v programování v jazyce C v prostředí UNIX.
Uživatelský avatar
langosh
Matfyz(ák|ačka) level II
Příspěvky: 96
Registrován: 28. 1. 2006 13:20
Typ studia: Informatika Mgr.
Bydliště: Bohnice
Kontaktovat uživatele:

Zkouska 6.4.2007

Příspěvek od langosh »

Kdyby nekdo chtel vedet, co bylo na zkousce, aby si to mohl vyzkouset, tak tady je zadani.

Hlavni program vytvori predem dany pocet procesu (napr. 3). Je dany soubor, kde je ulozen jeden ineger, ze zacatku nastaveny na 0. Tento soubor se mel namapovat. Kazdy dostane pridelene cislo tim zpusobem, ze se podiva do tohoto namapovaneho souboru, kde si precte sve cislo, a cislo zvedne o jedna a ulozi. Pro zajisteni se mel pouzit semafor.
Dale existuje spolecny soubor pro vsechny procesy. Kazdy proces se jednou za dve vteriny podiva na takovy byte v tom souboru, jake je jeho cislo. Pokud je na tom miste 0, tak pokracuje dale v cykleni, pokud je tam jednicka, tak vytvori dalsi proces, ktery dela to same. Pokud je tam dvojka, tak pocka na vsechny sve potomky, dokud neskonci a pak skonci take. cely program je ukoncen, pokud skoncily vsechny procesy. Zmena cisel v tom souboru se provadela rucne, pomoci skriptu, ktery nam dal.


Bylo to sice dlouhe, ale celkem lehke zadani, takove hodne umele, aby se vyzkouselo co nejvic probranych veci. Doufam ze sem na nic nezapomel.

Tady je moje reseni. Melo by tam byt vsechno co chtel. jedine co mi vytknul bulo pouziti

fprintf(stdout,.....
sync();

misto

fprintf(stderr,...

Jinak celkem snadna zkouska, neudelaly to snad jenom dva lidi z osmi. Jeden odesel v prubehu, a druhy nemel funkcni program.
Odpovědět

Zpět na „SWI015 Programování v Unixu“