• Welcome to TUKE FÓRUM - Fórum pre Å¡tudentov Technickej Univerzity v KoÅ¡iciach.
 

OS

Started by diacon.mex, 01.12.2007, 02:12:26

« predchádzajúce - ïal¹ie »

m!x41

toten revesz to je normalen charakter clovek, ale isto... 40/40 ma moju uctu...

felix

vie mi niekto z tych co odovzdali povedat co znamena Stav zadania:"Odovzdane,nepreslo kontrolou"
a v tom kde je vysledky posledneho odovzdania zadania je Celkove hodnotenie:"zadanie nepreslo kontrolov"
v *.err suboroch nie su ziadne chyby

JCube

sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

felix

co vsetko treba pisat do tej dokumentacie?? lebo chcu toho trochu vela a neviem ze co tam dat

Payne

Inak uspecne som konecne odovzdal svoje zadanie a stala sa taka zaujimava vec a sice, vela ludi tu picovalo, ze im to na kompe doma ide, ale pri odovzdavani to nejde a sice je velmi zaujimave, ze mne to zase doma neslo, ale odovzdalo mi to na prvy raz, super som to necakal...

Este taka vec, mozno niekomu pomoze mne konkretne sa jeden proces neskoncil, ale zadanie aj tak prebehlo bez problemov takze sa nemusite bat, ze by sa vam daco neukoncilo a potom by vam kvoli tomu nezobralo...

Zdravim

A co pisat do dokumentacie? veci k veci...

Daco zrejme pokopirujem zo sofie a daco sam napisem ako som tvoril program a budem mozno aj popisovat ake problemy som dostaval...

hujer

no zacal som robit to zadanie, celkom to da zabrat, som sa dostal uz po proces Serv1 , makam na tom uz druhy den, ale chcem sa spytat na jednu vec, a to ze ako ma vediet  proces proc_t ze do rury sa uz nebude zapisovat ked proc_pr to neda nijako vediet a ak ho chcem pekne ukoncit tak sa to neda , mam to zatial riesene cez cyklus pretoze ten proc_pr posiela 10krat , nejake ine riesenia? A ten proc_s sa tiez sam neukonci vzdy caka na semafor tak ho killnem a ma po chlebe...

JCube

#56
ja som to riesil tak ze zadaniu procesy p1 a p2 poslali po nacitani signal (napr SIGUSR2)...ten ich ratal a poslal ich ako parameter procesu serv2 ktory vykonal recieve od serv1 dany pocet krat...ked skoncil serv2 tak som poslal SIGINT procesu t, d a s...kde to bolo osetrene tak aby skoncili korektne.... serv1 skonci vtedy ked proces d uzavrie spojenie...
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

felix

davate do dokumentacie aj zdrojaky?

JCube

sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Gaspacho

#59
Zdravim ja akurat zacinam a mam 2 otazky:

1. Kde ste robili to zadanie? Myslim Ktosi tu cosik pisal o obmedzeni co sa tyka poctu procesov takze kde sa to najlepsie robi to zadanie?

2. Kde sa odovzdava zadanie? Vdaka!!!


JCube

1) robil som ho doma na notase pod gutsy gibbon...da sa robit aj na hrone len tam treba priebezne mazat IPCs..
2) ruzin.fei.tuke.sk/~zadania_os a tam vstup do systemu unix a login a heslo je ako na hron...a odovzdat zadanie tusim...tak dajak nepamatam presne
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Payne

Quote from: JCube on  24.12.2007, 03:53:10
ja som to riesil tak ze zadaniu procesy p1 a p2 poslali po nacitani signal (napr SIGUSR2)...ten ich ratal a poslal ich ako parameter procesu serv2 ktory vykonal recieve od serv1 dany pocet krat...ked skoncil serv2 tak som poslal SIGINT procesu t, d a s...kde to bolo osetrene tak aby skoncili korektne.... serv1 skonci vtedy ked proces d uzavrie spojenie...

Ono to v romto pripade nieje prave najlepsie riesenie, pretoze v tych kontrolnych suboroch sa v oboch nachadzaju po 10 slov, ale ty z kazdeho nacitas len po 5 slov, spolu 10, cize nieje to uplne spravne no...

Ja som rovno daval zase cyklus po 10 krat sa opakoval, aj ked to nieje prave najlepsie riesenie tiez, akurat mi vravel Genci ze slov je napevno na 10, akurat ze to nebolo v zadani spominane, ale ze malo to byt...

No a ja som to robil v Ubuntu Gutsy Gibbon, na hrone som vobec neskusal, tam mi to vobec neslo dokonca ani skompilovat...

ventYl

Quote from: Payne on  24.12.2007, 19:18:47
Quote from: JCube on  24.12.2007, 03:53:10
ja som to riesil tak ze zadaniu procesy p1 a p2 poslali po nacitani signal (napr SIGUSR2)...ten ich ratal a poslal ich ako parameter procesu serv2 ktory vykonal recieve od serv1 dany pocet krat...ked skoncil serv2 tak som poslal SIGINT procesu t, d a s...kde to bolo osetrene tak aby skoncili korektne.... serv1 skonci vtedy ked proces d uzavrie spojenie...

Ono to v romto pripade nieje prave najlepsie riesenie, pretoze v tych kontrolnych suboroch sa v oboch nachadzaju po 10 slov, ale ty z kazdeho nacitas len po 5 slov, spolu 10, cize nieje to uplne spravne no...

Ja som rovno daval zase cyklus po 10 krat sa opakoval, aj ked to nieje prave najlepsie riesenie tiez, akurat mi vravel Genci ze slov je napevno na 10, akurat ze to nebolo v zadani spominane, ale ze malo to byt...

No a ja som to robil v Ubuntu Gutsy Gibbon, na hrone som vobec neskusal, tam mi to vobec neslo dokonca ani skompilovat...

To je programatorska hovadina. Zakladnym pravidlom pre ten cyklus v p[12] ma byt kym je co citat, pretoze ked tam budes mat 10 iteracii a v kazdej z nich sa budes snazit nacitat nenulovy pocet znakov, tak sa ti to lockne. Podruhe, pr ked docita, tak spacha samovrazdu a tusim aj zavrie pipu (nezistoval som).

Potom mozes chytat SIGCHLD a posielat SIGHUP procesom. Nie len ze ten program bude robustnejsi, ale ostatni nebudu musiet cakat minutu a pol, kym tu mrochtu vyvrazdi testovaci system.
ventYl studuje na dopravaka.

JCube

Quote from: Payne on  24.12.2007, 19:18:47
Quote from: JCube on  24.12.2007, 03:53:10
ja som to riesil tak ze zadaniu procesy p1 a p2 poslali po nacitani signal (napr SIGUSR2)...ten ich ratal a poslal ich ako parameter procesu serv2 ktory vykonal recieve od serv1 dany pocet krat...ked skoncil serv2 tak som poslal SIGINT procesu t, d a s...kde to bolo osetrene tak aby skoncili korektne.... serv1 skonci vtedy ked proces d uzavrie spojenie...

Ono to v romto pripade nieje prave najlepsie riesenie, pretoze v tych kontrolnych suboroch sa v oboch nachadzaju po 10 slov, ale ty z kazdeho nacitas len po 5 slov, spolu 10, cize nieje to uplne spravne no...

Ja som rovno daval zase cyklus po 10 krat sa opakoval, aj ked to nieje prave najlepsie riesenie tiez, akurat mi vravel Genci ze slov je napevno na 10, akurat ze to nebolo v zadani spominane, ale ze malo to byt...

No a ja som to robil v Ubuntu Gutsy Gibbon, na hrone som vobec neskusal, tam mi to vobec neslo dokonca ani skompilovat...
ano dodany proces pr nacita desatkrat...ale som to riesil mojim sposobom preto lebo som nevedel kolko krat bude nacitavat pr na ruzine...takto mam exaktne spravene ze serv2 bude prijimat len tolko slov kolko si pr vyziada do p1 a p2...dat napevno cyklus do p1 a p2 nie je prave najstastnejsie..
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Gaspacho

Zdravim chcel by som sa opytat taku vec - spusta Zadanie vsetky programy naraz alebo v urcitom poradi? Vdaka!




hujer

konecne som zmakol to zadanie, ale chcem sa opytat ci som to mohol robit na pevny pocet iteracii teda 10, lebo ked mi pri testovani doda nejaky iny proc_pr tak potom je zle

puq

Quote from: hujer on  25.12.2007, 18:47:21
konecne som zmakol to zadanie, ale chcem sa opytat ci som to mohol robit na pevny pocet iteracii teda 10, lebo ked mi pri testovani doda nejaky iny proc_pr tak potom je zle

mozes, pokial ti to zoberie, viem tiez o jednom co to odovzdal tak a mal plny pocet za zadanie, ale odovzdaval to kleinovej

hujer

no na ruzine mi to zobralo a pise ze uspesne odovzdane, a to teraz este musim ist za kleinovou a tam to este ukazat ci co? :)
a este mi v zadanie.err vypisuje nejake chybicky krasy tak mozem skusat odovzdavat dalej aj ked uz mi zobralo?

JCube

ked ti to zobralo uspesne tak nemozes uz odovzdat znova
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

puq

Quote from: hujer on  25.12.2007, 21:52:28
no na ruzine mi to zobralo a pise ze uspesne odovzdane, a to teraz este musim ist za kleinovou a tam to este ukazat ci co? :)
a este mi v zadanie.err vypisuje nejake chybicky krasy tak mozem skusat odovzdavat dalej aj ked uz mi zobralo?

ved jasne.... a dokumentaciu tiez ruzinu ukazes?:D:D

Payne

Ja mam tiez napevno dane, zesa bude vykonavat pevne 10 iteracii a to vobec nieje chyba...

Chyba to nieje z toho hladiska, ze ked ti system zobral zadanie, tak je to ok a jednak aj nebolo v zadani nejak nepisane, ze to treba robit vseobecne a jednak mi aj genci vravel, ze ich je a naisto aj stale bude 10...

Nejde o to u koho to odovzdas, ked si to obhajis, tak musis mat plny pocet bodov... Akurat ide o jednu velmi podstatnu vec a sice bez toho sa stahuju body, ked to mas napise napevno musis do zavera uviest obmedzenie riesenia...

A si myslim ze je najmenej ked to uz mas funkcne to prerobit na vseobecne riesenie... Akurat aj ja som to este tak chcel prerobit, ale uz viac krat sa neda odovzdavat, ked ti to raz vzalo... Tak toto treba povedat pri odovzdavani a mas...

Gaspacho

Asi sa na mna zabudlo tak by som sa este raz rad opytal ci spusta subor zadanie vsetky procesy naraz a o to ktory sa vykona skor sa uz postaraju semafory a podobne alebo sa uz priamo v zadani urcuje poradie, podla ktoreho sa ostatne programy vykonaju? Vdaka

JCube

ja som spustal v poradi p1, usleep(250), p2, usleep(250), pr, waitpid(pid_pr), serv2, usleep(500), serv1, usleep(500), t, s, d...
urcite by som spustal p1 a p2 skorej ako pr a serv2 pred serv1 a serv1 pred d...
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Payne

Ako pise JCube, tie 2 veci su podstatne, aby ti to dobre chodilo...

Inak to s tym usleep, zaujimave celkom, som vobec ani nevedel, ze daco take existuje...

Ja to konkretne spustam v poradi ako je to nakreslene, akurat 2 procesy prehodim... Ale musim to sam odsynchronizovat, aby to dobre vsetko slo...

hujer

ja som si najprv pripravil celu sustavu a potom som spustil proc_pr