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

Χρειαζομαι τα φωτα σας για να κανω project σε κονσολααα!!


satanakixxx

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

Καλησπερα! λοιπον το Project με το οποιο ασχολουμε εχει να κανει με διεργασιες!! Η εκφώνηση κάπως ετσι:

τατιστικό πακέτο διεργασιών

Το Project αυτό συνίσταται στην κατασκευή ενός προγράμματος σεναρίου κελύφους, που θα

υλοποιεί ένα πρόγραμμα που θα εξάγει στατιστικά στοιχεία που σχετίζονται με τις διεργασίες

που εκτελούνται σε ένα σύστημα Unix. μπλα μπλα μπλα...

και εγω δεν μπορω να καταλαβω το κομματι που λεει πως το προγραμμα θα εξάγει στατιστικα που σχετιζονται με τις διεργασιες. εσεις τι καταλαβαινετε??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ρωτησα αλλα περιμενω ακομα απαντηση!

.

που εκτελούνται σε ένα σύστημα Unix. μπλα μπλα μπλα...

μήπως στο μέρος "μπλα μπλα μπλα..."

γινόταν κάποια αναφορά γι' αυτό που ρωτάς ;

 

.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

ναι γινεται εκανα λαθος ηταν στην επομενη σελιδα. σορρυυυυ! αλλα και παλι δεν ειναι ξεκαθαρο το για ποσο θα τρεχει δηλαδη λεει μεσα α αναλυθεί το ποσοστό χρήσης της μνήμης από τις εκτελούμενες διεργασίες για ένα μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα καθορίζεται από τον χρήστη.

αμεσου παρελθοντος??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

να υλοποιεί ένα πρόγραμμα που θα εξάγει στατιστικά στοιχεία που σχετίζονται με τις διεργασίες

που εκτελούνται σε ένα σύστημα Unix. Το πακέτο θα έχει τις ακόλουθες δυνατότητες:

Θα εμφανίζει όλες τις διεργασίες του συστήματος, με τα πλήρη στοιχεία τους, ταξινομημένες

ως προς :

• Όνομα προγράμματος

• (Χρόνο έναρξης) Παλαιότητα

• Χρήση της CPU

• Χρήστη στον οποίο ανήκουν

• Ομάδα στην οποία ανήκουν

• Γονική διεργασία

8

Τα στοιχεία των διεργασιών θα είναι σε στήλες από τις οποίες ο χρήστης θα επιλέγει το ποιες

θα εμφανιστούν και ποιες όχι. Να υπάρχει η δυνατόττηα εμφάνισης όλων των δυνατών στηλών

όπως η προτεραιότητα (nice) και ο αριθμός των threads.

Ο χρήστης θα μπορεί να επιλέγει διεργασίες βάζοντας τα εξής φίλτρα :

• Όνομα προγράμματος διεργασίας

• (Χρόνο έναρξης) Παλαιότητα

• Χρήση της CPU

• Χρήστη στον οποίο ανήκουν

• Ομάδα στην οποία ανήκουν

• Γονική διεργασία

Να μπορεί να γίνεται ανάλυση ως προς την κατάσταση της διεργασίας (running, stopped,

κ.λ.π.)

Να μπορεί να αναλυθεί το ποσοστό χρήσης της CPU από τις εκτελούμενες διεργασίες για ένα

μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα καθορίζεται από τον χρήστη.

Να μπορεί να αναλυθεί το ποσοστό χρήσης της μνήμης από τις εκτελούμενες διεργασίες για

ένα μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα καθορίζεται από τον χρήστη.

Να υπολογίζεται ο ρυθμός άφιξης νέων διεργασιών, όπως και ο ρυθμός ολοκλήρωσης των

παλιών διεργασιών για ένα μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα

καθορίζεται από τον χρήστη.

Να γίνεται ανάλυση ως προς τον τρόπο χρονοδρομολογησης των διεργασιών.

Κ.λ.π.

 

 

 

εχω καταφερει ενα μικρο κομματι μοναχα. ελπιζω να ειναι σωστο. αρχικα δηλαδη. να κανει απλα ταξηνομηση με βαση αυτα που λεει. τωρα αρχιζουν τα δυσκολα??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

2 τρόποι μου έρχονται αυτή τη στιγμή στο μυαλό (και χωρίς να έχω πιεί καφέ, το τονίζω).

Ο ένας (ο "μπακάλικος") είναι να τρέχεις την εντολή ps για να παίρνεις όλα αυτά τα στατιστικά που χρειάζεσαι από τις στήλες που θα σου επιστρέφει η εντολή. Τρέξε την εντολή:

>ps afx

για να πάρεις μιά γεύση,

Ο 2ος τρόπος (και σωστότερος νομίζω για λόγους που μπορούμε να τους συζητήσουμε αν θέλεις) είναι να διαβάσεις το /proc pseudo filesystem. Εκεί άν κάνεις ls θα δείς directories που έχουν για ονόμα αριθμούς. Αυτοί οι αριθμοί αντιστοιχούν στα PID's (process ID) που είναι ενεργά αυτή τη στιγμή στο σύστημα. Μέσα σε κάθε ένα από αυτούς τους φακέλους θα βρείς ένα αρχείο με όνομα status το οποίο μπορείς να διαβάσεις με cat. Εκεί έχει σχεδόν όλες τις πληροφορίες που χρειάζεσαι. Με cat και grep για την γραμμή που χρειάζεσαι, άντε και ένα awk '{print $2}' για να πάρεις μόνο την πληροφορία που χρειάζεσαι για να δείξεις στον χρήστη.

Μιά παρατήρηση μόνο, σε τί distro θα παίξει αυτό το shell script? Γιατί άν είναι πολύ παλιός ο kernel δέν είναι σίγουρο οτι θα υπάρχουν όλα αυτά στο /proc που σου είπα, θα πρέπει να βρεθεί άλλος τρόπος.

Όσον αφορά τα υπόλοιπα, θα πρέπει να κάνεις parse τις παραμέτρους που θα περνάει ο χρήστης στο script καθώς και να χρησιμοποιήσεις την εντολή sort για να σου κάνει την ταξινόμηση, περνώντας τα αποτελέσματά σου σε αυτήν με pipeline.

Αυτά τα ολίγα για αρχή. Άν έχεις πιό συγκεκριμένες απορίες στην πορεία του κώδικα τα ξαναλέμε.

Καλη επιτυχία!

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Kαλημερα! αυτο που ειπες ν κανω δεν το διδαχτηκαμε και δεν νομιζω να το δεχτει.

εμενα περισσοτερο με μπερδευει το σημειο απο δω και υστερα :

Να μπορεί να αναλυθεί το ποσοστό χρήσης της CPU από τις εκτελούμενες διεργασίες για ένα

μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα καθορίζεται από τον χρήστη.

Να μπορεί να αναλυθεί το ποσοστό χρήσης της μνήμης από τις εκτελούμενες διεργασίες για

ένα μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα καθορίζεται από τον χρήστη.

Να υπολογίζεται ο ρυθμός άφιξης νέων διεργασιών, όπως και ο ρυθμός ολοκλήρωσης των

παλιών διεργασιών για ένα μεταβλητό διάστημα (του άμεσου παρελθόντος) που θα

καθορίζεται από τον χρήστη.

πως γινεται αυτο??

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

Λογικά το "άμεσο παρελθόν" σημαίνει να μπορεί να ζητήσει ο χρήστης τις τιμές για ένα διάστημα. Δηλαδή "Ξεκίνα την ανάλυση από τώρα μέχρι τότε (π.χ. για ένα λεπτό)". Έτσι το καταλαβαίνω εγώ.

Συνδέστε για να σχολιάσετε
Κοινοποίηση σε άλλες σελίδες

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

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

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