Προς το περιεχόμενο

κοινη μνημη στο posix(ασκηση)


tolias85

Προτεινόμενες αναρτήσεις

  • Απαντ. 41
  • Δημ.
  • Τελ. απάντηση
Δημοσ.

Ψαξτο εισαι σε καλο δρομο ;)

Απλα σκεψου τι του δινεις, τι παιρνει το compute και θα την βρεις τη λυση!

Δημοσ.
τι ακριβώς θέλεις για τo

 

---------- Το μήνυμα προστέθηκε στις 17:50 ----------

 

τι ακριβώς θέλεις να μάθεις για το shared memory ?

 

Θέλω να μάθω πως διαβάζουν συγκεκριμένα στοιχεία μέσα απο το shared memory..Δηλαδή αν εγώ σε ένα segment έχω βάλει 3 πίνακες όπως στην προκειμένη... Πως θα ξέρω που είναι ένα συγκεκριμένο στοιχείο του πίνακα Β για παράδειγμα για να το διαβάσω? Θα πρέπει να κάνω Load όλο τονπίνακα για να βρω το συγκεκριμένο στοιχείο?

Δημοσ.

ρε παιδεια στους πινακες τα 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);

}

Δημοσ.

καλα ρε παιδια θελετε να μου πειτε οτι σας βαζουν ασκησεις οπου δε μπορειτε να τις λυσετε μονοι σας?ποιος τα κανει αυτα?

σιγουρα θα σας εχουν πει κατι...πηγαινετε καθολου θεωρια???????

καθιστε και διαβαστε λιγο μη τα περιμενετε ολα ετοιμα...

"αμα δε βρεξεις κωλο,ψαρια δε πιανεις"

πως αλλιως περιμενετε να μαθετε?

Δημοσ.
Θέλω να μάθω πως διαβάζουν συγκεκριμένα στοιχεία μέσα απο το shared memory..Δηλαδή αν εγώ σε ένα segment έχω βάλει 3 πίνακες όπως στην προκειμένη... Πως θα ξέρω που είναι ένα συγκεκριμένο στοιχείο του πίνακα Β για παράδειγμα για να το διαβάσω? Θα πρέπει να κάνω Load όλο τονπίνακα για να βρω το συγκεκριμένο στοιχείο?

 

αμα κατάλαβα καλά θέλεις τον τρόπο με τον οποίο το πρόγραμμα compute διαβάζει τους A,B απο την κοινή μνήμη ?

Δημοσ.

Ενας τρόπος είναι αφού κάνω shmget και shmat και πάρω τον Pointer που μου δείχνει στην αρχή της μνήμης να αρχίσω να διαβάζω με τη σειρά τον Α πίνακα κ μετά τον Β έτσι όπως γράφτηκαν.. Αλλά έτσι θα κάνω στην ουσία Load 2 ολόκληρους 2d πίνακες ενώ εγώ θα θέλω μόνο μερικά συγκεκριμένα στοιχεία του πίνακα Α κ μερικά συγκεκριμένα του πίνακα Β. Υπάρχει άλλος τρόπος? Αυτό ρωτάω....

  • 1 μήνα μετά...
Δημοσ.

γεια! εχω ενα προβλημα εχω την compute.c και δεν ειμαι σιγουρος πως με δουλευει η shared_memory=(char *) shmat (id, NULL, 0);

στην ουσια εβαλα execpv για να τρεξει την compute.c αλλα δεν ξερω πως η compute.c μεσω της κοινης μνημης θα επιστρεψει τον πολλαπλασιασμο

αν καποιος ξερει την απαντηση η καταλαβενει να μου πει πως δουλευει η shared memory ... ευχαριστω!

Δημοσ.
γεια! εχω ενα προβλημα εχω την compute.c και δεν ειμαι σιγουρος πως με δουλευει η shared_memory=(char *) shmat (id, NULL, 0);

στην ουσια εβαλα execpv για να τρεξει την compute.c αλλα δεν ξερω πως η compute.c μεσω της κοινης μνημης θα επιστρεψει τον πολλαπλασιασμο

αν καποιος ξερει την απαντηση η καταλαβενει να μου πει πως δουλευει η shared memory ... ευχαριστω!

 

Βασικά η compute απλώς θα παίρνει 2 ορίσματα γραμμή κ στήλη κάθε φορά κ θα κάνει την πράξη κ θα επιστρέφει το αποτέλεσμα που θα ειναι ενα στοιχείο του πίνακα C. Ελπίζω να βοηθησα!

Αρχειοθετημένο

Αυτό το θέμα έχει αρχειοθετηθεί και είναι κλειστό για περαιτέρω απαντήσεις.

  • Δημιουργία νέου...