ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

...IDE, compilers, κλπ

Συντονιστής: konnn

ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό eipro » 19 Οκτ 2010, 22:23

Σκοπός της άσκησης αυτής είναι Η εξοικειωση με το χειρισμό πολλών διεργασιών (multitasking processes) και την επικοινωνία των διεργασιών αυτών μεταξύ τους (IPC: InterProcess Communication) με pipes.


Θα πρέπει να γράψετε ένα πρόγραμμα C το οποίο θα δημιουργεί μία λίστα από διεργασίες που θα επικοινωνούν μεταξύ τους με pipes. Αρχικά το πρόγραμμα θα αποτελείται από 1 διεργασία από την οποία θα δημιουργηθούν αλυσιδωτά τόσες θυγατρικές διεργασίες (child processes) όσες είναι οι λέξεις που θα δώσει ο χρήστης σαν παράμετρο στην είσοδο. Οι θυγατρικές διεργασίες θα δημιουργηθούν με την βοήθεια του system call fork. Κάθε μια από τις θυγατρικές διεργασίες θα εκτελεί την fork μέχρι να δημιουργηθούν τόσες όσες ζητήθηκαν αρχικά από τον χρήστη. π.χ η 1η δημιουργεί την 2η διεργασία, η 2η δημιουργεί την 3η κτλ. Κάθε pipe που ανοίγει μεταξύ 2 διεργασιών έχει 2 end-points για κάθε μια από τις διεργασίες που εμπλέκονται στην επικοινωνία, ένα read-end από το οποίο διαβάζει και ένα write-end στο οποίο μπορεί και γράφει. Κάθε διεργασία επικοινωνεί με την θυγατρική που δημιούργησε, στέλνοντας δεδομένα στην read-end της θυγατρικής διεργασίας.
Ο χρήστης θα δίνει από τη γραμμή εντολής ένα σύνολο λέξεων διαχωρισμένες με κενά (π.χ. μια πρόταση) και το πρόγραμμα θα τυπώνει τις λέξεις αυτές με την αντίστροφη σειρά. Κάθε διεργασία θα τυπώνει από μία λέξη στην έξοδο και κατάλληλα επεξηγηματικά μηνύματα που θα αποδεικνύουν την ταυτότητά της.
Για να υλοποιήσετε το πρόγραμμα θα χρειαστείτε και τα παρακάτω #includes:
Κώδικας: Επιλογή όλων
#include <sys/types.h> pipe()
#include <unistd.h > fork()
#include <sys/wait.h> read()
#include <signal.h> write()
#include <stdio.h> getpid()
#include <ctype.h> waitpid()
#include <string.h>

ευχαριστω εκ των προτερων..
οποιος μπορει ας βοηθησει ρε παιδια!!! :(
Τελευταία επεξεργασία από ALdaperan και 29 Οκτ 2011, 18:54, έχει επεξεργασθεί 1 φορά/ες συνολικά
Αιτία: bbcode για τον κώδικα
eipro
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 19 Οκτ 2010, 21:52
Εκτύπωση

Re: ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό gr.ant » 18 Αύγ 2011, 14:01

Δεν είναι δύσκολη. Να ασχοληθείς χρειάζεται.
υ.γ Αν δε μπορέσεις να την κάνεις παράτα τα.
gr.ant
babeTUX
babeTUX
 
Δημοσιεύσεις: 15
Εγγραφή: 04 Ιούλ 2011, 16:47
Εκτύπωση

Re: ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό asik88 » 19 Οκτ 2011, 02:41

Μπορείς να μου στέλνεις και εμένα τον κώδικά..
Επειδή και εγώ έχω την ίδια άσκηση και δεν μπορώ να βρω άκρη!!
asik88
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 19 Οκτ 2011, 02:38
Εκτύπωση

Re: ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό nikosabr » 29 Οκτ 2011, 17:38

Παιδιά,την έχω προσπαθήσει αλλά δεν βγάζω άκρη..Όποιος την κάνει να στείλει τον κώδικα μπας και πάρουμε το 5αράκι αλλιώς το κάψαμε το μάθημα..
Ευχαριστώ εκ των προτέρων..!
nikosabr
babeTUX
babeTUX
 
Δημοσιεύσεις: 1
Εγγραφή: 29 Οκτ 2011, 17:34
Εκτύπωση

Re: ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό Geochr » 29 Οκτ 2011, 18:18


!

Μήνυμα ενημέρωσης προς τον/την asik88,nikosabr

Σε παρακαλούμε να διαβάσεις τις οδηγίες προς νεοεισερχόμενους προσεκτικά. Είναι σημαντική η προσάρτηση της υπογραφής με τα χαρακτηριστικά του υπολογιστή σου hardware id (πχ [10ec:8168]), έτσι ώστε να δίνονται συγκεκριμένες πληροφορίες όταν πρόκειται για επίλυση ενός προβλήματός σου. Οι αλλαγές μπορούν να γίνουν από τον πίνακα ελέγχου αλλά και με το αυτόματο script που θα το βρεις παρακάτω.
Αυτόματο script υπογραφής

Καλό είναι να προσπαθήσετε να γράψετε μόνοι σας τον κώδικα και όποια απορία έχετε να τη συζητήσετε εδώ.
Δεν είναι το φόρουμ μας μέρος για να λύνουμε ασκήσεις για εργασίες μαθημάτων. Αυτό που μπορεί να γίνει είναι βοήθεια στον κώδικα που έχετε δημιουργήσει και να απαντηθούν όποιες απορίες έχετε απο τα μέλη του φόρουμ μας που γνωρίζουν.

προσθήκη : Μπορείτε επίσης να δείτε την αντίστοιχη ενότητα εδώ
Γνώσεις ⇛Linux: Μαθαίνω αργά ┃ Προγραμματισμός: Ελάχιστο ┃ Αγγλικά: Μέτρια

  • Λειτουργικό ⇛ Ubuntu 16,04LTS
    ⇛Intel Core i3-2365M CPU @1.40GHz ‖ RAM 7780 MB ‖ Acer Aspire V5-571
Άβαταρ μέλους
Geochr
Συντονιστής
Συντονιστής
 
Δημοσιεύσεις: 2466
Εγγραφή: 27 Νοέμ 2010, 01:39
Τοποθεσία: Περιστέρι - Αίγινα
Launchpad: geochr
IRC: Geochr
Εκτύπωση

Re: ΕΡΓΑΣΙΑ ΣΕ ΚΑΤΑΝΕΜΗΜΕΝΑ!!

Δημοσίευσηαπό Star_Light » 31 Οκτ 2011, 12:27

nikosabr έγραψε:Παιδιά,την έχω προσπαθήσει αλλά δεν βγάζω άκρη..Όποιος την κάνει να στείλει τον κώδικα μπας και πάρουμε το 5αράκι αλλιώς το κάψαμε το μάθημα..
Ευχαριστώ εκ των προτέρων..!


Δωσε ενα repository με την προσπαθεια που εχεις κανει φιλε μου. ;) Και θα βγαλουμε εμεις για σενα.

Οποιος κανει τι??? Την εργασια ΣΟΥ για ΣΕΝΑ? χαχαχαχαχαχχα

καλυτερα να μην παρεις ουτε 5αρακι και να αραξεις να διαβασεις. Οποιος εχει τετοια νοοτροπια τσαμπα θα το παρει το πτυχιο
να το ξερει εξαρχης δηλαδη αυτα που βαριεται τωρα να διαβασει και νομιζει πωα θα τα γλιτωσει θα τα βρει πιο μετα μπροστα του.
Γνώσεις ⇛ Linux: Βασικές ┃ Προγραμματισμός: Δέν θέλω μεροκάματο , θέλω C και κακο θάνατο! ┃ Αγγλικά: Lower
Λειτουργικό ⇛ Ubuntu 10.10 σε Dual Boot με Windows 7
Προδιαγραφές ⇛ Επεξεργαστής : Intel(R) Core(TM) i3 CPU 540 @3.07Ghz (64bit)
RAM : Kingston 2GB
HDD : Coreshare 500GB
Κάρτα Γραφικών : Intel Corporation Core Processor Integrated Graphics Controller(rev 18) (prog-if 00 [VGA controller]) [8086:0042]
Star_Light
superbTUX
superbTUX
 
Δημοσιεύσεις: 2787
Εγγραφή: 01 Μάιος 2010, 21:07
Τοποθεσία: Αθήνα
IRC: Star_Light
Εκτύπωση


Επιστροφή στο Εφαρμογές για Ανάπτυξη Λογισμικού