Author Topic: Operacne systemy  (Read 133805 times)

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: Operacne systemy
« Reply #425 on: 06.05.2011, 01:07:38 »
caute ako je to s tym fork a execve ? chapem ze execve nahradi ten proces cize sa nevypise nic po execve volani..ale preco mi nepisuje printf pred nim ? aj ked napr do suboru zapise cize ten kod sa nejako vykona...

Skúsil som toto:
Code: [Select]
#include <stdio.h>
#include <unistd.h>

int main() {
    printf("before");
    //fflush(stdout);
    execlp("echo", "echo", "execlp", NULL);
    printf("after");

    return 0;
}

A vypísalo len:
execlp

Čiže "before" nevypísalo. Pravdepodobne to bude tým, že výstupný buffer sa ešte nevyprázdnil a keďže execlp pôvodný proces prepísalo, nemal sa už ani kedy vyprázdniť. Treba ho k tomu prinútiť, napr. vypísaním nového riadku:
printf("before\n");
alebo cez fflush:
printf("before");
fflush(stdout);


Reťazec "after" sa samozrejme nevypíše nikdy, to je v poriadku.

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: Operacne systemy
« Reply #426 on: 06.05.2011, 01:10:04 »
Prosim vas, ako vyzera vas serv2.txt ? Ako vam tam zapisuje?  :ropebanana:

S tými dodanými programami takto:
Code: [Select]
nula-pr-s-serv1
desat-pr-s-serv1
jeden-pr-s-serv1
dvadsat-pr-s-serv1
dva-pr-s-serv1
tridsat-pr-s-serv1
tri-pr-s-serv1
styridsat-pr-s-serv1
styri-pr-s-serv1
patdesiat-pr-s-serv1

majod

  • Newbie
  • *
  • Posts: 20
    • View Profile
    • portfolio
Re: Operacne systemy
« Reply #427 on: 06.05.2011, 05:27:38 »
nemate niekto pri odovzdavani zadania problem so signalmi? mne nikdy neprejde kontrolou, pretoze to zastane na p1, pretoze neprijme ziadny signal od proc_pr, ten ma ako posledne vo vystupe "Posielam SIGUSR1 procesu P1." a tym to konci, runner stopne zadanie po 120 sekundach. program mi na mojom linuxe aj na hrone bezi v poriadku

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #428 on: 06.05.2011, 14:25:55 »
cafte,

ako riesite toto:

program zadanie ma vytvorit vsetky zdroje pre ipc

chcem vytvorit pomenovanu pajpu, co neni problem

ale ako to potom odovzdavate tym ostatnym programom - jednoducho si kazdy z nich otvori tu istu pajpu, alebo im nejako odovzdavat nazov tej pajpy (cez argumenty) ?

podobne shared memory. hlavny program vytvori zdielanu pamat s nejakym klucom. hm sice v tomto pripade to neni konstanta, lebo to vymysli ftok. No kazdopadne, ako to potom odovzdavate podprogramom - cez argumenty, alebo jak?

peace out  bq
« Last Edit: 06.05.2011, 14:27:28 by v_oid »

majod

  • Newbie
  • *
  • Posts: 20
    • View Profile
    • portfolio
Re: Operacne systemy
« Reply #429 on: 06.05.2011, 15:06:58 »
cez argumenty a pipe nech je radsej nepomenovany

ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: Operacne systemy
« Reply #430 on: 06.05.2011, 21:22:07 »
no ved ze argumenty im to posles tie id-cka co ti vrati shmget, semget, pre pipy im posles tie deskriptory ..atd

p.s. ak proces pr chce citaci koniec pipy, tak logicky bude chciet nepomenovanu..
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

Valj

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Operacne systemy
« Reply #431 on: 07.05.2011, 07:29:32 »
nemate niekto pri odovzdavani zadania problem so signalmi? mne nikdy neprejde kontrolou, pretoze to zastane na p1, pretoze neprijme ziadny signal od proc_pr, ten ma ako posledne vo vystupe "Posielam SIGUSR1 procesu P1." a tym to konci, runner stopne zadanie po 120 sekundach. program mi na mojom linuxe aj na hrone bezi v poriadku

Nie je to tym ze tvoje p1 a p2 sa ukoncia pred tym ako dostanu signal ?
Ak ano tak skus : sigsuspend()

somtoja

  • Newbie
  • *
  • Posts: 3
    • View Profile
Re: Operacne systemy
« Reply #432 on: 07.05.2011, 14:29:38 »
Caute je tu niekto kto by si chcel zarobit ?.... Ide o to ze treba spravit OS zadanie ...Ak ma niekto zaujem piste spravu

Valj

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Operacne systemy
« Reply #433 on: 07.05.2011, 16:41:37 »
Predam zadanie, jedinecne(kontrola originality), s/bez dokumentacie, ponuky + pripadne specifikacie cez PM.

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #434 on: 07.05.2011, 17:07:51 »
cafte. nijak raz neviem rozbehat ten proc_pr

toto je vsetko co dostanem na vypise

Proces pripraveny.
Posielam SIGUSR1 procesu P1.

moj p1 spracuje SIGUSR1 a zapise data do rurky, ale ten proc_pr ich nikdy neprecita (zjavne).

neviete co robim zle?

tu je moj p1:

Code: [Select]
static FILE *p1_file;
static int r1_write;

void handle_usr1();

int main(int argc, const char **argv) {
rn_check_usage(argc, P1_ARG_COUNT, P1_ARG_COUNT, P1_USAGE);
  r1_write = atoi(argv[0]);
  p1_file = fopen("p1.txt", "r");
rn_plog("p1 ready with pipe %d", r1_write);
signal(SIGUSR1, handle_usr1);
  rn_signal_wait();
}

void handle_usr1() {
  char word[255];
rn_plog("p1 received usr1");
  rn_copy_word_from_stream_to_fildes(p1_file, r1_write);
  rn_signal_wait();
}

a tu je funkcia ktoru tam pouzivam na nakopcenie

Code: [Select]
void rn_copy_word_from_stream_to_fildes(FILE *stream, int fildes) {
char word[255];
  fscanf(stream, "%s", (char *)word);
  rn_plog("copying word %s to %d", word, fildes);
write(fildes, word, strlen(word));
}

ako ten PR vlastne funguje? je tam loop, ktora caka na zapis do r1? ak hej tak to zjavne nefunguje.

a este tu je vystup:

« Last Edit: 07.05.2011, 17:10:40 by v_oid »

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #435 on: 07.05.2011, 18:25:08 »
no prisiel som na to po dvoch hodinach ...

pri zapisovani do rury treba pridat NEWLINE posrany aby to PR vedel precitat ..

fakt by sa im daco stalo keby zverejnili kod ..

keby aspon desatinu toho usilia co davaju do toho aby sme nekopcili zadania (co aj tak vsetci robia) dali do zrozumitelnosti zadani ...


Valj

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Operacne systemy
« Reply #436 on: 07.05.2011, 18:47:15 »
Code: [Select]
19.11.2006
Reťazce pri komunikacii medzi procesmi by mali obsahovat aj znak \n.

Prva vec co zbadas ked sa prihlasujes do systemu na odovzdanie zadania.

sulo

  • Sr. Member
  • ****
  • Posts: 284
    • View Profile
    • Web
Re: Operacne systemy
« Reply #437 on: 07.05.2011, 19:24:26 »
Code: [Select]
Reťazce pri komunikacii medzi procesmi by mali obsahovat aj znak \n.

Je to trochu zložitejšie. Napríklad pri komunikácii cez rúry musí reťazec obsahovať '\n', ale nesmie byť ukončený znakom NULL (teda aspoň mne to v tom prípade nefungovalo). Naopak, pri komunikácii cez zdieľanú pamäť a sockety by nemal obsahovať '\n', inak sa v logu objavovali záznamy typu:

Prijal som 1. slovo 'nula-pr
'
...

(koniec úvodzoviek na novom riadku, čo nevyzerá dvakrát správne)

V tom druhom prípade treba, samozrejme (narozdiel od prvého), pridať aj znak NULL.

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #438 on: 07.05.2011, 20:07:23 »
Code: [Select]
19.11.2006
Reťazce pri komunikacii medzi procesmi by mali obsahovat aj znak \n.

Prva vec co zbadas ked sa prihlasujes do systemu na odovzdanie zadania.

no asi to tak nebude

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #439 on: 07.05.2011, 20:21:31 »
neviete mi este niekto povedat, ako ma vyzerat ta zdielana pamat?

v sofii je vytvorena struktura, tu mame pouzit iba string? (to by som cakal)

ursus

  • Hero Member
  • *****
  • Posts: 595
    • View Profile
Re: Operacne systemy
« Reply #440 on: 07.05.2011, 21:04:34 »
co aka struktura .. shmgetnes to, a tak sa shmatnes na jej zaciatok, co ti vrati smernik na prvy bajt a pises tam uz veselo
So this router walks into the doctor’s office…
- Doctor, it hurts when IP.

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #441 on: 07.05.2011, 21:43:24 »
hej hej uz dava zmysel secko ... :)

majod

  • Newbie
  • *
  • Posts: 20
    • View Profile
    • portfolio
Re: Operacne systemy
« Reply #442 on: 07.05.2011, 22:18:51 »
robil niekto uz dokumentaciu?
co znamena:
1.   Text zadania.
- kde je ten text?
2.   Dodefinovanie zadania – špecifikácia obmedzení realizovaných v zadaní. Navrhnuté obmedzenia je nutné konzultovať s cvičiacim.
- ked neprekonzultujem? lebo uz to chcem odovzdat na najblizsom cviku :)
3.   Popis relevantných štruktúr, algoritmov, dátových typov, konštánt apod. súvisiacich s riešenou témou.
-ake struktury a algoritmy, datove typy? kazdu jednu premennu mam zdokumentovat?

8.   Systémová príručka – príručka pre programátora – popis modulov, funkcií, dátových štruktúr, ich vzájomné vzťahy. Signatúry funkcií.
9.   Príručka používateľa  detailný sprievodca programom – účel programu; popis jeho spustenia, použitia; popis a význam parametrov, ich prípustné hodnoty, závislosti, apod. Musí sa podľa nej dať spustiť a ovládať program.
--- to su co????

diky

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #443 on: 08.05.2011, 03:15:20 »
ja sa uz dobru chvilu serkam s odovzdavanim ..

program zadanie mi pise na stderr:

Permission denied
Permission denied

nemam sajnu kde to blbne, any ideas?

filip27

  • Guest
Re: Operacne systemy
« Reply #444 on: 08.05.2011, 03:33:53 »
skusal uz niekot odvzdavat zadanie??

ja som to tam skusal dnes uploadnut a mi vypisalo "Odovzdane, nepreslo kontrolou" ...to znamena, ze to sa este len bude kontrolovat a lebo to nepselo systemmo lebo ked som to robil tak mi tam vyskocilo zopar warningov :D ...takze neviem ... ???

revelc

  • Sr. Member
  • ****
  • Posts: 275
    • View Profile
Re: Operacne systemy
« Reply #445 on: 08.05.2011, 03:41:33 »
To znamena, ze nieco mas na tom zadani zle... musis ho upravit a odoslat opat...
Mne sa pokial podarilo upravit zadanie tak, aby to bral ten j*****y system, tak to veru nejaky cas trvalo  bu
Čo môžeš urobiť dnes odlož na pozajtra a ziskaš deň voľna.

"I'm a man of simple tastes. I enjoy dynamite...and gunpowder...and gasoline! "

Valj

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Operacne systemy
« Reply #446 on: 08.05.2011, 04:42:12 »
ja sa uz dobru chvilu serkam s odovzdavanim ..

program zadanie mi pise na stderr:

Permission denied
Permission denied

nemam sajnu kde to blbne, any ideas?

Program zadanie sa spusta s  presmerovanim z prikazoveho riadku, cize v zadanie.c zrus otvaranie .out a .err suborov
« Last Edit: 08.05.2011, 04:46:26 by Valj »

v_oid

  • Hero Member
  • *****
  • Posts: 631
    • View Profile
Re: Operacne systemy
« Reply #447 on: 08.05.2011, 05:04:15 »
neotvaram ziadne subory v zadanie.c

Valj

  • Newbie
  • *
  • Posts: 14
    • View Profile
Re: Operacne systemy
« Reply #448 on: 08.05.2011, 05:08:38 »
tak IPC_EXCL pri semaforoch/zdielanej pamati ?

Robokop

  • Jr. Member
  • **
  • Posts: 51
    • View Profile
Re: Operacne systemy
« Reply #449 on: 08.05.2011, 10:28:34 »
kolegovia, kto bol na prednaske, daval ujo sivy prezencku na poslednej prednaske? a ak hej dokedy je cas na referat?
« Last Edit: 08.05.2011, 10:38:19 by Robokop »