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.

Unknown ř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.

Unknown ř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