vmiskos Δημοσ. 8 Μαΐου 2009 Δημοσ. 8 Μαΐου 2009 char *const arg[]={“compute”,Row,Column,NULL}; execvp (“path/compute”,arg[]); ετσι το εχω γραψει αλλα κ παλι δε ξερω
T-spoilerGR Δημοσ. 8 Μαΐου 2009 Δημοσ. 8 Μαΐου 2009 Ψαξτο εισαι σε καλο δρομο Απλα σκεψου τι του δινεις, τι παιρνει το compute και θα την βρεις τη λυση!
narbi Δημοσ. 8 Μαΐου 2009 Δημοσ. 8 Μαΐου 2009 τι ακριβώς θέλεις για τo ---------- Το μήνυμα προστέθηκε στις 17:50 ---------- τι ακριβώς θέλεις να μάθεις για το shared memory ? Θέλω να μάθω πως διαβάζουν συγκεκριμένα στοιχεία μέσα απο το shared memory..Δηλαδή αν εγώ σε ένα segment έχω βάλει 3 πίνακες όπως στην προκειμένη... Πως θα ξέρω που είναι ένα συγκεκριμένο στοιχείο του πίνακα Β για παράδειγμα για να το διαβάσω? Θα πρέπει να κάνω Load όλο τονπίνακα για να βρω το συγκεκριμένο στοιχείο?
DarkLord22 Δημοσ. 9 Μαΐου 2009 Δημοσ. 9 Μαΐου 2009 ρε παιδεια στους πινακες τα 5 5 πανω ειναι σωστα? αν 8ελω να τα βαλω σε μεταβλειτες πως θα το κανω? δειτε και αυτο το σημειο ειναι σωστο? int x=b*k; for(i=0; i<x; i++) { Rtvalue=fork(); /*dimioyrgia diergasias*/ if(Rtvalue==0) /*Thygatriki diergasia*/ { printf("Thygatriki ergasia \n"); int execv (int Row *home, int Column C[][]); if ((x=shmat(Rtvalue,NULL,0))<=0) { printf("Adynamia episinapsis tis koinis mnimis"); exit(1); } compute (b,k); } return(0); }
DarkLord22 Δημοσ. 9 Μαΐου 2009 Δημοσ. 9 Μαΐου 2009 πως θα καλεσω το compute??? δεν μας εχει πει πως να κανουμε προγραματα..
vmiskos Δημοσ. 9 Μαΐου 2009 Δημοσ. 9 Μαΐου 2009 με την execvp θα καλεσεις το compute...διαβασε τις διαφανειες απο την προηγουμενη ασκηση...
gms20 Δημοσ. 10 Μαΐου 2009 Δημοσ. 10 Μαΐου 2009 καλα ρε παιδια θελετε να μου πειτε οτι σας βαζουν ασκησεις οπου δε μπορειτε να τις λυσετε μονοι σας?ποιος τα κανει αυτα? σιγουρα θα σας εχουν πει κατι...πηγαινετε καθολου θεωρια??????? καθιστε και διαβαστε λιγο μη τα περιμενετε ολα ετοιμα... "αμα δε βρεξεις κωλο,ψαρια δε πιανεις" πως αλλιως περιμενετε να μαθετε?
Mr.Mao Δημοσ. 11 Μαΐου 2009 Δημοσ. 11 Μαΐου 2009 Θέλω να μάθω πως διαβάζουν συγκεκριμένα στοιχεία μέσα απο το shared memory..Δηλαδή αν εγώ σε ένα segment έχω βάλει 3 πίνακες όπως στην προκειμένη... Πως θα ξέρω που είναι ένα συγκεκριμένο στοιχείο του πίνακα Β για παράδειγμα για να το διαβάσω? Θα πρέπει να κάνω Load όλο τονπίνακα για να βρω το συγκεκριμένο στοιχείο? αμα κατάλαβα καλά θέλεις τον τρόπο με τον οποίο το πρόγραμμα compute διαβάζει τους A,B απο την κοινή μνήμη ?
narbi Δημοσ. 11 Μαΐου 2009 Δημοσ. 11 Μαΐου 2009 Ενας τρόπος είναι αφού κάνω shmget και shmat και πάρω τον Pointer που μου δείχνει στην αρχή της μνήμης να αρχίσω να διαβάζω με τη σειρά τον Α πίνακα κ μετά τον Β έτσι όπως γράφτηκαν.. Αλλά έτσι θα κάνω στην ουσία Load 2 ολόκληρους 2d πίνακες ενώ εγώ θα θέλω μόνο μερικά συγκεκριμένα στοιχεία του πίνακα Α κ μερικά συγκεκριμένα του πίνακα Β. Υπάρχει άλλος τρόπος? Αυτό ρωτάω....
DarkLord22 Δημοσ. 14 Ιουνίου 2009 Δημοσ. 14 Ιουνίου 2009 γεια! εχω ενα προβλημα εχω την compute.c και δεν ειμαι σιγουρος πως με δουλευει η shared_memory=(char *) shmat (id, NULL, 0); στην ουσια εβαλα execpv για να τρεξει την compute.c αλλα δεν ξερω πως η compute.c μεσω της κοινης μνημης θα επιστρεψει τον πολλαπλασιασμο αν καποιος ξερει την απαντηση η καταλαβενει να μου πει πως δουλευει η shared memory ... ευχαριστω!
narbi Δημοσ. 14 Ιουνίου 2009 Δημοσ. 14 Ιουνίου 2009 γεια! εχω ενα προβλημα εχω την compute.c και δεν ειμαι σιγουρος πως με δουλευει η shared_memory=(char *) shmat (id, NULL, 0); στην ουσια εβαλα execpv για να τρεξει την compute.c αλλα δεν ξερω πως η compute.c μεσω της κοινης μνημης θα επιστρεψει τον πολλαπλασιασμο αν καποιος ξερει την απαντηση η καταλαβενει να μου πει πως δουλευει η shared memory ... ευχαριστω! Βασικά η compute απλώς θα παίρνει 2 ορίσματα γραμμή κ στήλη κάθε φορά κ θα κάνει την πράξη κ θα επιστρέφει το αποτέλεσμα που θα ειναι ενα στοιχείο του πίνακα C. Ελπίζω να βοηθησα!
Προτεινόμενες αναρτήσεις
Αρχειοθετημένο
Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.