sobota 11. června 2011

VUT–FIT: IOS projekt 2 (problém spícího holiče)

Druhý projekt do operačních systémů. Jednalo se o problém spícího holiče.
Získal jsem za to 13 bodů z 15, takže pro inspiraci se může hodit.


Zdrojový kód nalezte ZDE.
Makefile:
barber: main.c
gcc -std=gnu99 -Wall -Wextra -Werror -pedantic -lrt main.c -o barbers




Script na úklid:
#!/bin/bash ids=$(ipcs | grep $(whoami) | awk "{print \$2}") for id in $ids; do ipcrm -m $id 2>/dev/null ipcrm -q $id 2>/dev/null ipcrm -s $id 2>/dev/null done


   1: /**
   2:     - Soubor:  main.c
   3:     - Datum:   2011/04/26
   4:     - Autor:   Matej Marecek
   5:     - Kontakt: xmarec12@stud.fit.vutbr.cz
   6:     - Projekt: Semafory IOS.
   7:     - Popis:   Program implementuje problem spiciho holice pomoci semaforu.
   8:     - Dalsi popis: Napoveda-viz. stranky se zadanim.
   9:     - Verze:   017_stableD
  10:  **/
 

3 komentáře:

Anonymní řekl(a)...

Ahoj, prosím tě, v jakým programovacím jazyku je napsán ten skript? A k čemu vůbec slouží? Dík.

Cejky - Matěj Mareček řekl(a)...

Je to klasický script do UNIXového Shellu/Terminálu, který uklidí na počítači/serveru zbytky po tvé aplikaci, pokud byla špatně ukončena nebo je nesprávně napsána. V tomto projektu se musela alokovat sdílená paměť pro jednotlivé procesy, případně procesy samotné a pokud se náhodou stalo, že aplikace po sobě neuklidila nebo spadla, tak zanášel systém a nešlo poté nic spustit. To mělo za následek, že PC/NB se muselo restartovat a server nepovolil spustit nic jiného, takže už nešlo testovat a ostatní studenti byli naštvaní, že se zpomaluje server. Proto se vždy, když byl po testování potřeba úklid pustil tento script, který všechno smetí uklidil.

Cejky - Matěj Mareček řekl(a)...

Jinak ten jazyk je přesně Bash. Poznáš to podle hlavičky "#!/bin/bash", která vytvoří takzvané magic number (posloupnost bitů) a podle toho se pustí příslušný interpret. ;-)

http://cs.wikipedia.org/wiki/Bash