Δημιουργία Διεργασιών

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Advertisements

Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Ορισμός ΛΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
Λογισμικο συστηματοσ Κεφάλαιο 4ο
Λειτουργικά Συστήματα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 11 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
NIKOΛΑΟΣ ΝΤΙΡΛΗΣ 5ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΙΘΟΥΣΑ Β4 1.  Ένα thread έχει: ID, program counter, register set, stack  Μοιράζεται με τα άλλα threads της ίδιας διεργασίας.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 19 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Λειτουργικά Συστήματα ΑΔΙΕΞΟΔΑ. 3.1 Εισαγωγή  Αδιέξοδο = ένα σύνολο από διεργασίες που δημιουργούν μια κυκλική αλυσίδα όπου κάθε process στην αλυσίδα.
1 Α. Βαφειάδης Τ.Ε.Ι Θεσσαλονίκης – Τμήμα Πληροφορικής Μάθημα Προηγμένες Αρχιτεκτονικές Υπολογιστών Εργαστηριακό Μέρος Μέρος: Δεύτερο Εξάμηνο: Έβδομο Καθηγητής:
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Head head –n L file Παραθέτει τις L πρώτες γραμμές του αρχείου file στο standard output Παράδειγμα: head –n 10 test Θα εμφανίσει τις πρώτες 10 γραμμές.
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
Ντίρλης Νίκος- ΕΤΥ 4ο ΦΡΟΝΤΙΣΤΗΡΙΟ Παρασκευή Β4 1.
Διεργασίες Λειτουργικά Συστήματα. Λειτουργικά Συστήματα/ Slide 2 Η Έννοια της Διεργασίας * Διεργασία (Process) – ο μηχανισμός εκτέλεσης ενός προγράμματος.
ΔΙΕΡΓΑΣΙΕΣ ΣΤΟ LINUX ΕΡΓΑΣΙΑ ΤΗΣ ΜΑΘΗΤΡΙΑΣ ΒΙΚΤΩΡΙΑΣ ΜΑΡΓΑΡΙΤΗ.
Λειτουργικά Συστήματα
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
Εφαρμογές Υπολογιστών Ά Λυκείου Κεφ. 4 Λογισμικό Συστήματος
Διεργασίες.
Προηγμένες Υπηρεσίες Τηλεκπαίδευσης στο Τ.Ε.Ι. Σερρών Το εκπαιδευτικό υλικό που ακολουθεί αναπτύχθηκε στα πλαίσια του έργου «Προηγμένες Υπηρεσίες Τηλεκπαίδευσης.
105 ΠΡΟΤΨ – ΠΡΟΣΩΠΟΛΟΓΙΑ – ΤΕΧΝΙΚΗ ΨΙΜΥΘΙΩΣΗΣ ΜΑΘΗΜΑ 3)
ΣΧΕΔΙΟ ΕΡΓΑΣΙΑΣ (project) ΘΕΜΑ: “ΒΟΥΛΕΥΤΙΚΕΣ ΕΚΛΟΓΕΣ”
1 Διαχείριση Μνήμης Γενικά Εναλλαγή (Swapping) Συμπαγής Εκχώρηση (Contiguous Allocation) Σελιδοποίηση (Paging) Κατάτμηση (Segmentation) Κατάτμηση με Σελιδοποίηση.
ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ Αρχιτεκτονική Υπολογιστών.
1 Οικονομικού Κλίματος & Προσδοκιών Αποτελέσματα Έρευνας: Δεκέμβριος 2015.
Σύστημα Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 1 Η κύρια μνήμη είναι η μνήμη που διατηρεί τα προγράμματα που εκτελούνται και τα δεδομένα τους  Όλες οι.
1 Εισαγωγή στα Συστήματα Διεπιχειρησιακών Διεργασιών /Ροών Εργασίας (Cross-Organizational Process/Workflow Systems) Dan C. Marinescu (2002). Internet-Based.
1 Σ ΥΣΤΗΜΑΤΑ Α ΥΤΟΜΑΤΟΥ Ε ΛΕΓΧΟΥ ΙΙ 5η ΕΒΔΟΜΑΔΑ ΔΙΑΛΕΞΕΩΝ /9/9 Συντονισμός PID-ελεγκτή από το πεδίο συχνότητας Από το Bode-διάγραμμα μέτρου.
Προσδιορισμός Απαιτήσεων στην ανάπτυξη Π.Σ. (Διάλεξη 8)
Click to edit Master text styles Ευρετήρια & Πίνακες Παιδαγωγικές Εφαρμογές Η/Υ Ευρετήρια & Πίνακες Υπεύθυνος Μαθήματος: Αλεξόπουλος Σεραφείμ Τμήμα: 4.
Linux ROCs - Performance
Διαχείριση Διεργασιών (1/5)
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems Εισαγωγή
Δ.Ε.Υ.Α. και Οικονομική Κρίση
Κατανεμημένα Συστήματα
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Tο υλικό του Ηλεκτρονικού Υπολογιστή
Η ΕΙΔΙΚΟΤΗΤΑ ΤΗΣ ΕΡΓΟΘΕΡΑΠΕΙΑΣ

Χρονοπρογραμματισμός CPU - SCHEDULING
Υλοποίηση Δικτυακών Υποδομών και Υπηρεσιών: Εξυπηρετητής Apache
Εισαγωγή στα Λειτουργικά Συστήματα (ΛΣ) Operating Systems (OS)
ΤΕΧΝΟΛΟΓΙΑ ΛΟΓΙΣΜΙΚΟΥ
ΠΡΟΓΡΑΜΜΑ ΚΑΘΗΜΕΡΙΝΌΤΗΤΑΣ
ΣΥΣΤΗΜΑΤΑ ΑΝΑΜΟΝΗΣ Queuing Systems
ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ – Α’ Τάξη ΓΕ.Λ
Διεργασίες Διεργασίες Διαδιεργασιακή Επικοινωνία (IPC)
Κολοκάσι Σωτήρας Κολοκάσι-Πούλλες Σωτήρας
Απ’ το ΚΕΔΔΥ στο ΚΕΔΔΥ Ξάνθη 21/3/2017.
ΕΝΟΤΗΤΑ 2 – Κεφάλαιο 6: Γραφικό Περιβάλλον Επικοινωνίας
Processes.
Εφαρμογές Υπολογιστών Ά Τεχνολογικού Λυκείου Κεφ
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Ι
Οικονομικού Κλίματος & Προσδοκιών
ΠΟΛΙΤΟΥ ΓΙΑΝΝΟΥΣΤΑ ΚΡΥΣΤΑΛΛΩ ΤΖΙΑΤΖΙΟΣ ΔΗΜΗΤΡΙΟΣ ΨΟΥΡΟΥΚΑ ΕΥΑΓΓΕΛΙΑ
Στρατηγικό Σχέδιο για το Συνήγορο του Πολίτη 20 χρόνια μετά - Στόχοι 2020.
Καλώς ορίσατε στην τρισδιάστατη αναπαράσταση της Αρχαίας Αθήνας!
ΣΥΝΕΡΓΑΣΙΑ ΔΙΑΙΤΗΤΙΚΗΣ ΟΜΑΔΑΣ (Δουλεύοντας με ΑΡΜΟΝΙΑ)
«Προώθηση οίνων σε αγορές τρίτων χωρών»
Linux Fork/Exec Example
Εισήγηση 5ης εβδομάδας – κατά παραγγελία κοστολόγηση
Περιγραφή διεργασίας Διάφοροι εθνικοί και διεθνείς οργανισμοί χρηματοδότησης ερευνητικών προγραμμάτων χρησιμοποιούν σύστημα κρίσης για να αποφασίσουν ποιές.
ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ Λογισμικό Λειτουργικό σύστημα Λογισμικό συστήματος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ
Χρονοπρογραμματισμός CPU - SCHEDULING
Ηλεκτρονικές εφαρμογές Φορολογίας Κεφαλαίου
Μεταγράφημα παρουσίασης:

Δημιουργία Διεργασιών Η διεργασία γονέας (parent process) δημιουργεί παιδιά (child processes), τα οποία, με τη σειρά τους, μπορούν να δημιουργήσουν άλλες διεργασίες διαμορφώνοντας έτσι ένα δέντρο διεργασιών. Η διεργασία γονέας και τα παιδιά της εκτελούνται ταυτόχρονα. Η διεργασία παιδί είναι ένα διπλότυπο της διεργασίας γονέα. Υλοποίηση στο UNIX: η κλήση συστήματος fork δημιουργεί μία νέα διεργασία.

Δέντρο διεργασιών σε ένα σύστημα UNIX root page daemon swapper init User 1 User 2 User 3

Κλήσεις συστήματος UNIX fork() wait() exit()

UNIX fork() Από την τρέχουσα διεργασία προκύπτουν δύο διεργασίες: ο γονέας και το παιδί. Η διεργασία παιδί κληρονομεί από τον γονέα: ακριβές αντίγραφο της μνήμης, περιεχόμενα καταχωρητών, όλα τα αρχεία τα οποία έχει ανοίξει ο γονέας. Επιστρέφει -1 εάν δεν επιτύχει. Ο γονέας και το παιδί εκτελούν στο ίδιο σημείο μετά την κλήση fork(). Για το παιδί, η fork() επιστρέφει 0. Για το γονέα, η fork() επιστρέφει τον προσδιοριστή διεργασίας (Process identifier) του παιδιού.

Παράδειγμα fork() Το πλαίσιο εκτέλεσης (execution context) της διεργασίας παιδί είναι αντίγραφο του πλαισίου εκτέλεσης του γονέα στη χρονική στιγμή της κλήσης.

Λειτουργία fork (1/6)

Λειτουργία fork (2/6)

Λειτουργία fork (3/6)

Λειτουργία fork (4/6)

Λειτουργία fork (5/6)

Λειτουργία fork (6/6)

Παράδειγμα fork

Κανονικός τερματισμός διεργασίας: exit() αυτή η κλήση συστήματος: Σώζει το αποτέλεσμα – όρισμα της exit. Kλείνει όλα τα ανοικτά αρχεία και τις συνδέσεις. Αποδεσμεύει την μνήμη. Αποδεσμεύει τις περισσότερες από τις δομές OS που έχει δεσμεύσει η διεργασία. Ελέγχει αν η γονική διεργασία είναι ζωντανή. Εάν η γονική διεργασία είναι ζωντανή, το αποτέλεσμα της τρέχουσας κρατείται (μαζί με PID και CPU time) μέχρι να το ζητήσει ο γονέας. Σε αυτή την περίπτωση η διεργασία δεν «πεθαίνει» αλλά μπαίνει σε μία κατάσταση zombie. Εάν η γονική διεργασία δεν είναι ζωντανή, όλες οι δομές αποδεσμεύονται και η διεργασία παιδί τερματίζει.

Κλήση συστήματος wait() H wait() υλοποιεί ένα απλό τρόπο για την επιβεβαίωση της ολοκλήρωσης μίας διεργασίας. Η καλούσα διεργασία αναστέλεται μέχρι να καλέσει την exit κάποιο από τα παιδιά της. Οταν έχει παιδί καλέσει την exit(), το λειτουργικό σύστημα αποδεσμεύει (unblock) την γονική διεργασία και επιστρέφει την τιμή της exit ως αποτέλεσμα της wait(). Εάν δεν υπάρχουν «ζωντανά» παιδιά, η wait επιστρέφει άμεσα. Εάν υπάρχουν παιδιά σε κατάσταση zombie, η wait επιστρέφει την τελική κατάσταση τους (exit state) και τα αποδεσμεύει.

Αλλες σχετικές κλήσεις συστήματος η getpid επιστρέφει τον προσδιοριστή της καλούσας διεργασίας. Παράδειγμα pid=getpid(); η getppid επιστρέφει τον προσδιοριστή της γονικής διεργασίας.