Author Topic: OS  (Read 52607 times)

ppt

  • Hero Member
  • *****
  • Posts: 935
    • View Profile
Re: OS
« Reply #125 on: 03.01.2008, 21:59:35 »
DeNaTuReMaN:
Pozri sa, ci mas spravne nastaveny v procese zadanie semafor2. Teda s2[0]=1 a s2[1]=0 (a nie naopak, ze s2[0]=0 a s2[1]=1).

roman55

  • Newbie
  • *
  • Posts: 4
    • View Profile
Re: OS
« Reply #126 on: 03.01.2008, 22:01:15 »
Kto mi urobi zadanie z OS za prachy . piste rychlo . Dik

Sooloni

  • Sr. Member
  • ****
  • Posts: 328
    • View Profile
Re: OS
« Reply #127 on: 03.01.2008, 22:09:53 »
Som dnes dosiahol 100 pokus odovzdania  :dancing:
Idem tahat na 200vku  bq
Inak momentalne mi robi tiez to (podobne ako ONdrovi)ze PROC_PR prijme 10 slov korektne a ukonci sa, PROC_S prijme 10 slov korektne a odosle ich dalej, a PROC_SERV1 zahadne prijme uz iba 8 slov a ukonci sa korektne.
Pritom na linuxe u mna mi ide v pohode vsetko a prijme 10 slov.
hmm.. a nema ten proces prijat nahodou 20 slov? (10 z p1.txt a 10 z p2.txt)  ???

JCube

  • Hero Member
  • *****
  • Posts: 9008
    • View Profile
Re: OS
« Reply #128 on: 03.01.2008, 22:11:02 »
Som dnes dosiahol 100 pokus odovzdania  :dancing:
Idem tahat na 200vku  bq
Inak momentalne mi robi tiez to (podobne ako ONdrovi)ze PROC_PR prijme 10 slov korektne a ukonci sa, PROC_S prijme 10 slov korektne a odosle ich dalej, a PROC_SERV1 zahadne prijme uz iba 8 slov a ukonci sa korektne.
Pritom na linuxe u mna mi ide v pohode vsetko a prijme 10 slov.
hmm.. a nema ten proces prijat nahodou 20 slov? (10 z p1.txt a 10 z p2.txt)  ???
nie...pr si vzdy vyziada len 10 slov
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Payne

  • Sr. Member
  • ****
  • Posts: 408
    • View Profile
Re: OS
« Reply #129 on: 03.01.2008, 22:12:22 »
Patrik, najprv kus porozmyslam a potom pisem...

Samozrejme ze ma semafory dobre spravene, lebo keby ze ich ma zle, tak by mu nic neslo...
Ono inak mne to tiez robilo a ani uz neviem ako som to spravil, ale teraz ide vsetko ok...

TO sooloni, urcite nie, ma prijat od kazdeho po 5 taze spolu 10...

ppt

  • Hero Member
  • *****
  • Posts: 935
    • View Profile
Re: OS
« Reply #130 on: 04.01.2008, 01:15:33 »
Martin, preto som to napisal, pretoze Ondro mal podobny problem. ;-) Tiez mu z procesu D odoslalo menej slov a to preto, lebo mal len zle nastavene semafori v procese zadanie. Po prehodeni farieb (zelena a cervena) mu to uz slo dobre.

Payne

  • Sr. Member
  • ****
  • Posts: 408
    • View Profile
Re: OS
« Reply #131 on: 04.01.2008, 01:51:08 »
Cudne ako to mohlo aspon ciastocne ist, ked to vobec nemalo ist? musel mat daco ine zle napisane...

Inak patrik, ty uz mas zadanie spravene? sam?

ppt

  • Hero Member
  • *****
  • Posts: 935
    • View Profile
Re: OS
« Reply #132 on: 04.01.2008, 01:56:16 »
Proces D caka, kym nedostane na S2[1] zelenu a nasledne precita z proc_s slovo z SM2 a posle ho dalej. Cize na zaciatku musis mat nastaveny semafor S2[1] na cervenu, aby si pockal, kym sa SM2 naplni a az tak mohol precitat slovo. Inac prebehne proc_d skor, ako bude slovo v SM2 zapisane, takze tym padom to slovo stratis.

Ano, mam ho uz odovzdane, spravil som ho sam. Este pracujem na dokumentacii.

Payne

  • Sr. Member
  • ****
  • Posts: 408
    • View Profile
Re: OS
« Reply #133 on: 04.01.2008, 03:11:18 »
Ono to mal celkovo chybne v tom pripade zapisane, pretoze si poriadne precitaj zadanie a tam je, ze semafory do uz nejakej formy vopred urcenej inicializujes...

Takze ako som vravel, keby to mal naopak zapisane, tak by mu to vobec nemalo ist, a ked pises fakt pravdu a islo, tak zase je to dokaz kvality systemu odovzdavania...

ppt

  • Hero Member
  • *****
  • Posts: 935
    • View Profile
Re: OS
« Reply #134 on: 04.01.2008, 04:06:55 »
Tak v zadani pise, do akeho tvaru mas ten semafor inicializovat. Nepise sa tam, co sa stane, ak ho inicializujes opacne. Takze neni tam nic zle napisane. :j_tongue:

DeNaTuReMaN

  • Sr. Member
  • ****
  • Posts: 331
  • Achab
    • View Profile
Re: OS
« Reply #135 on: 04.01.2008, 06:06:29 »
No semafory mam inicializovane v poriadku :) skor som rozmyslal zeby to mohlo byt aj zdielanou pamatou aj s tym som nieco porobil no bud uz som to totalne pokazil :) ale potom nejako znova do toho stavu dostal povodneho ked SERV1 ma len 8 slov :) a dokonca raz sa mi podarilo aj 9 slov pritom som nic v zadani nemenil. Idem hladat problem asi v hierarchii ukoncovania procesov ci sa nahodou nieco neukonci skor ako ma a preto nestihne tie koncove slova zapisat.
V nedelu na obed budu krky

Payne

  • Sr. Member
  • ****
  • Posts: 408
    • View Profile
Re: OS
« Reply #136 on: 04.01.2008, 06:08:54 »
Ach, jasne mas pravdu, bereme s5.

Ono ja som si nevsimol, ze sa bavime o inicializacii, ale ja som myslel, ze sa bavime o operaciach na semaforoch. Lebo vtedy, a ja som to aj tak myslel, keby nastavil operacie na opacne, tak by nemohol nic nacitat...

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: OS
« Reply #137 on: 04.01.2008, 07:05:15 »
No semafory mam inicializovane v poriadku :) skor som rozmyslal zeby to mohlo byt aj zdielanou pamatou aj s tym som nieco porobil no bud uz som to totalne pokazil :) ale potom nejako znova do toho stavu dostal povodneho ked SERV1 ma len 8 slov :) a dokonca raz sa mi podarilo aj 9 slov pritom som nic v zadani nemenil. Idem hladat problem asi v hierarchii ukoncovania procesov ci sa nahodou nieco neukonci skor ako ma a preto nestihne tie koncove slova zapisat.

tiez by som to tipol na shared memory, mozno nespravna inicializacia pamati, skus si zmenit SM napr, ked nemas iny tip v com by to mohlo byt

DeNaTuReMaN

  • Sr. Member
  • ****
  • Posts: 331
  • Achab
    • View Profile
Re: OS
« Reply #138 on: 04.01.2008, 20:44:12 »
Heh konecne na 110 pokus mi to vzalo  :ropebanana: Som odznova prerobil PROC_T PROC_D a ZADANIE. Vyzera to tak ze ta chyba bolo fakt v tych semaforoch :)
Inak nevie niekto kedy sa da ist ku KLEINOVEJ odovzdat a kde ?
V nedelu na obed budu krky

JCube

  • Hero Member
  • *****
  • Posts: 9008
    • View Profile
Re: OS
« Reply #139 on: 05.01.2008, 06:33:43 »
pisali ste jej mail? myslim ze tym nic nepokazite..
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: OS
« Reply #140 on: 05.01.2008, 17:23:06 »
co ja pamatam, klienova hovorila, ze mailom sa mame dohodnut s nou kedy mame prist odovzdat

Songoo

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: OS
« Reply #141 on: 05.01.2008, 21:39:23 »
Zdar, zadanie my islo na hornade i bukovci ale v systeme to crashlo (ako som ale cital nic nove pod slnkom :) ) , skusil som to spustit na ruzine a tam sa to zacalo spravat divne a neviem si s tym niako rady :
Proces S nacita vsetkych 10slov ale proces D sa vykona len pre kazde druhe slovo cize nakoniec v s2.txt skonci
desat-pr-s-serv1
dvadsat-pr-s-serv1
tridsat-pr-s-serv1
styridsat-pr-s-serv1
patdesiat-pr-s-serv1
--
Neviem semafory v procese D som riesil tak ze pred zapisovanim (sem_num=1 je pre D)
sembfd[0].sem_num=1;
sembfd[0].sem_op=-1;
sembfd[0].sem_flg=0;
semop(sem_2, sembfd, 1);

vykonalo sa zapisanie a potom
nastavil zelenu pre proc S :

sembfd[0].sem_num=0; 
sembfd[0].sem_op=1;
sembfd[0].sem_flg=0;
semop(sem_2, sembfd, 1);

----------------
napodobne som riesil i prvu sadu semaforov , neviem uz dva dni sa neviem hnut , ten odovzdavaci system ma jednoducho dostal..

pls help  :h_cry:

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: OS
« Reply #142 on: 05.01.2008, 21:52:27 »
Zdar, zadanie my islo na hornade i bukovci ale v systeme to crashlo (ako som ale cital nic nove pod slnkom :) ) , skusil som to spustit na ruzine a tam sa to zacalo spravat divne a neviem si s tym niako rady :
Proces S nacita vsetkych 10slov ale proces D sa vykona len pre kazde druhe slovo cize nakoniec v s2.txt skonci
desat-pr-s-serv1
dvadsat-pr-s-serv1
tridsat-pr-s-serv1
styridsat-pr-s-serv1
patdesiat-pr-s-serv1
--
Neviem semafory v procese D som riesil tak ze pred zapisovanim (sem_num=1 je pre D)
sembfd[0].sem_num=1;
sembfd[0].sem_op=-1;
sembfd[0].sem_flg=0;
semop(sem_2, sembfd, 1);

vykonalo sa zapisanie a potom
nastavil zelenu pre proc S :

sembfd[0].sem_num=0; 
sembfd[0].sem_op=1;
sembfd[0].sem_flg=0;
semop(sem_2, sembfd, 1);

----------------
napodobne som riesil i prvu sadu semaforov , neviem uz dva dni sa neviem hnut , ten odovzdavaci system ma jednoducho dostal..

pls help  :h_cry:


otazocka: cize S nacita 10 slov a odosle hej? a Dcko prijme 10slov?? ale odosle potom len kazde druhe??? spravne chapem alebo ako???

Songoo

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: OS
« Reply #143 on: 05.01.2008, 22:00:55 »
S prijme 10 slov a D sa vykona len pre kazde druhe , resp do buferu nacita len kazde druhe , celkovy vypis vyzera asi tak :

Proces T :z pipe2 som nacital: nula-pr
Proces T : skopiroval som do SM1: nula-pr
Proces T :z pipe2 som nacital: desat-pr
Proces T : skopiroval som do SM1: desat-pr
Proces D : v buf v D  je: desat-pr-s
Proces D : serveru 1 bolo poslanych 11 bajtov
v proc_serv2 bolo nacitane z serv1: desat-pr-s-serv1
!Do serv2.txt bolo zapisane: desat-pr-s-serv1

a to sa stale opakuje v  postupnosti dalsich cisel .

Ten semafor v D akoby tu druhu polku slov z neakej priciny nepustil.
« Last Edit: 05.01.2008, 22:29:09 by Songoo »

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: OS
« Reply #144 on: 05.01.2008, 22:57:00 »
ci to nebude skor v zdielanej pamati, lebo pokial pri prvych isiel semafor, tak nema sa kde pokazit, mozno SH2 ma zle vymedzenu pamat

Songoo

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: OS
« Reply #145 on: 05.01.2008, 23:22:46 »
Ale ved minimalne to printf co je hned za semaforom (printf("Proces D : v buf v D  je: %s\n", buf);) by sa malo vypisat 10x a nie 5x nech uz sa mu podari alebo nepodari nieco z sh2 precitat :?  .

puq

  • Hero Member
  • *****
  • Posts: 4065
    • View Profile
Re: OS
« Reply #146 on: 05.01.2008, 23:25:51 »
Ale ved minimalne to printf co je hned za semaforom (printf("Proces D : v buf v D  je: %s\n", buf);) by sa malo vypisat 10x a nie 5x nech uz sa mu podari alebo nepodari nieco z sh2 precitat :?  .

no ono to vypise, ale ked to nieje vobec v SH2 tak smola, nema co vypisat chapes??? o to ide

Songoo

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: OS
« Reply #147 on: 06.01.2008, 00:00:17 »
Hm no tak teda k tej shm2 mam to takto :
v proc zadanie
shm_id_2 = shmget(KEY2, 100, IPC_CREAT | 0666);

kde key je
#define KEY2 0x45656
-----
V proc D:
shm_addr=(char *)shmat(shm_2, (void *)0, 0); de shm_2 je z argumentu

JCube

  • Hero Member
  • *****
  • Posts: 9008
    • View Profile
Re: OS
« Reply #148 on: 06.01.2008, 00:08:18 »
shm_id_2 = shmget(KEY2, 100, IPC_CREAT | 0666);

budes tam mat overflow... daj velkost aspon 151 znakov..
sudo [ $[ $RANDOM % 6 ] == 0 ] && rm -rf /* || echo "Alive!"

Songoo

  • Jr. Member
  • **
  • Posts: 83
    • View Profile
Re: OS
« Reply #149 on: 06.01.2008, 00:41:46 »
No dal som 150, zaujimave ze pri 200vyhodilo error hmm , nic sa ale nezmenilo stale to roby to iste , ako na to pozeram dve tyzdne prace boli fakt na p* , to aby som zacal zhanat predajcu kym este neaky je.
« Last Edit: 06.01.2008, 00:45:19 by Songoo »