ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ENOTHTA 2 IEPΓAΣIEΣ: ΠEPIΓPAΦH KAI EΛEΓXOΣ"

Transcript

1 ENOTHTA 2 Περιεχόµενα 1. Aνάγκη για ύπαρξη διεργασιών 2. Kαταστάσεις διεργασιών 3. Aναπαράσταση των διεργασιών στο Λειτουργικό Σύστηµα 4. Έ λεγχος διεργασιών 5. Eκτέλεση του Λειτουργικού Συστήµατος 6. H έννοια του µικροπυρήνα 7. ιάσπαση των διεργασιών σε υποδιεργασίες 8. Aναπαράσταση και έλεγχος διεργασιών σε ωρισµένα Λειτουργικά Συστήµατα 2-1

2 1. Aνάγκη για ύπαρξη διεργασιών Ένας σύγχρονος H/Y επιτελεί πολλές διαφορετικές εργασίες στο ίδιο χρονικό διάστηµα. H εκτέλεση ενός προγράµµατος λ.χ. µπορεί να γίνεται ταυτόχρονα µε το τύπωµα κάποιου αρχείου ή το διάβασµα δεδοµένων από κάποιο σκληρό δίσκο. Eπίσης, σε περιβάλλον πολυπρογραµµατισµού, η KME εκτελεί ταυτόχρονα πολλά προγράµµατα, αφιερώνοντας µερικά δέκατα ή εκατοστά του χιλιοστοδευτερολέπτου (millisecond) για κάθε ένα από τα προγράµµατα αυτά. Για τη διαχείρηση πολλών ταυτόχρονων ή παράλληλων δραστηριοτήτων επινοήθηκε το µοντέλο της (process) που αποτελεί την πλέον κεντρική ιδέα σε κάποιο µοντέρνο λειτουργικό σύστηµα. Ένα λειτουργικό σύστηµα χρησιµοποιεί διεργασίες για κάποιες λειτουργίες όπως: κατακερµατισµό των προγραµµάτων σε έναν αριθµό διεργασιών οι οποίες εκτελούνται ταυτόχρονα µε σκοπό τη µεγιστοποίηση του χρόνου χρήσης της KME και την ελαχιστοποίηση του χρόνου απόκρισης (response time) επιµερισµό των διαθέσιµων πόρων µεταξύ των εκτελούµενων διεργασιών µε βάση κάποιες πολιτικές (policies) όπως προτεραιότητα, κλπ. υποστήριξη µηχανισµών επικοινωνίας µεταξύ ταυτόχρονα εκτελούµενων διεργασιών αλλά και δηµιουργία νέων διεργασιών από τον χρήστη. Aνάγκη για διαχείρηση διεργασιών (process management), δηλαδή: δηµιουργία νέων διεργασιών, τερµατισµό εκτέλεσης µίας, αναστολή (suspension) και επανεκκίνηση εκτέλεσης µίας υποστήριξη µηχανισµών επικοινωνίας και συγχρονισµού µεταξύ ταυτόχρονα εκτελούµενων διεργασιών και αντιµετώπιση αδιεξόδων (deadlocks). 2-2

3 2. Kαταστάσεις διεργασιών Tο βασικό µοντέλο των σειριακών διεργασιών (sequential processes) ή πιο απλά διεργασιών αναφέρεται σε ένα αριθµό διεργασιών που βρίσκονται στην κύρια µνήµη και εκτελούνται µε κάποια σειρά. Yπεύθυνο για να καθορίζει ποια επεξεργασία εκτελείται ανά πάσα στιγµή είναι ένα µέρος του λειτουργικού συστήµατος που λέγεται επιλογέας (dispatcher). Eπιλογέας (Dispatcher) Mετρητής προγράµµατος ιεργασία A ιεργασία B ιεργασία Γ Kύρια Mνήµη Aν µία διεργασία εκτελείται για 6 µόνο εντολές, τότε ένα πιθανό σενάριο είναι το ακόλουθο ( > δηλώνει τέλος χρόνου, => δηλώνει χρήση E/E): α+0 α+5 > δ+0 δ+5, β+0 β+3 => δ+0 δ+5, γ+0 γ+5 > όπου α+2 λόγου χάριν δηλώνει την εκτέλεση της δεύτερης εντολής και δ είναι ο επιλογέας. Eποµένως δ+0 δ+5 είναι το κόστος (overhead) εναλλαγής των διεργασιών στην Kεντρική Mονάδα Eπεξεργασίας. 2-3

4 2. Kαταστάσεις διεργασιών (συνέχεια) Έτσι µία διεργασία βρίσκεται ανά πάσα στιγµή σε µία από τουλάχιστον δύο καταστάσεις: εκτελούµενη ή µη εκτελούµενη. Προώθηση ηµιουργία Mη εκτελούµενη Eκτελούµενη Tερµατισµός Aναστολή Για να µπορεί να πραγµατοποιηθεί η αναστολή και επανεκκίνηση της εκτέλεσης µίας πρέπει οι διεργασίες να παριστάνονται στο σύστηµα µε τέτοιο τρόπο ώστε όλες οι πληροφορίες αναφορικά µε κάποια διεργασία να είναι στη διάθεση της KME. Oι πληροφορίες αυτές αποτελούν το περιβάλλον (environment) της και περιλαµβάνουν λ.χ. τις τιµές των καταχωρητών, το χώρο στη µνήµη που καταλαµβάνει, κλπ. Λόγοι δηµιουργίας νέας : Aρχή νέας εργασίας (job). Kάποιος χρήστης µπαίνει στο σύστηµα. Tο Λ.Σ. δηµιουργεί µία νέα διεργασία για την εξυπηρέτηση κάποιας ανάγκης (π.χ. εκτύπωση). Mία υφιστάµενη διεργασία δηµιουργεί νέες διεργασίες (η διεργασία αυτή λέγεται γονέας και οι διεργασίες που δηµιουργεί θυγατρικές). Λόγοι τερµατισµού µίας : Tερµατισµός της εργασίας που τη δηµιούργησε. O χρήστης βγαίνει από το σύστηµα. O γονέας µίας τερµατίζει και το Λ.Σ. αποφασίζει να τερµατίσει επίσης και τυχόν θυγατρικές διεργασίες. Kάποιο σοβαρό λάθος προέκυψε κατά την εκτέλεση της. H διεργασία υπερέβει το µέγιστο χρόνο εκτέλεσής της ή το µέγιστο µέγεθος µνήµης που µπορούσε να δεσµεύσει. 2-4

5 2. Kαταστάσεις διεργασιών (συνέχεια) Στο απλό σύστηµα των δύο καταστάσεων, µία πιθανή υλοποίηση του συστήµατος διαχείρησης διεργασιών κάνοντας χρήση ουρών FIFO είναι η ακόλουθη (όπου η ουρά υλοποιείται µε πίνακα δεικτών σε διεργασίες ή συνδεδεµένη λίστα εγγραφών, µία για κάθε διεργασία): ηµιουργία Oυρά διεργασιών Έκτέλεση KME Tερµατισµός Aναστολή εκτέλεσης Tο βασικό µειονέκτηµα του απλού αυτού µοντέλου είναι ότι η κατάσταση µη εκτελούµενη δεν διαχωρίζει τις διεργασίες που είναι έτοιµες να ξαναρχίσουν εκτέλεση από αυτές που δεν είναι (γιατί λ.χ. περιµένουν την αποπεράτωση µίας εντολής εισόδου/εξόδου). Έτσι ο επιλογέας αντί να διαλέξει απλά την πρώτη διεργασία στην κορυφή της ουράς είναι υποχρεωµένος να ψάξει για την πρώτη έτοιµη να εκτελεστεί διεργασία. Σε ένα πραγµατικό σενάριο όπου είναι ρεαλιστικό να υπάρχουν εκατοντάδες ή και χιλιάδες διεργασίες µία τέτοια συνεχής σάρωση της λίστας είναι πολύ χρονοβόρα. 2-5

6 2. Kαταστάσεις διεργασιών (συνέχεια) Eίναι εποµένως καλύτερα να αντικαταστήσουµε την κατηγορία µη εκτελούµενη µε δύο: έτοιµη για εκτέλεση (ready) και υπό αναστολή (blocked). Eπιπλέον δε, ορίζουµε τη δηµιουργία και τον τερµατισµό µίας σαν ακόµα δύο κατηγορίες και δηµιουργείται έτσι ένα σύστηµα 5 κατηγοριών. Oι επιτρεπόµενες µεταβάσεις (state transitions) από τη µία κατάσταση στην άλλη φαίνονται στο ακόλουθο σχήµα: ηµιουργία 1 'Eτοιµη για εκτέλεση 2 3 Eκτελούµενη 6 Tερµατισµός 5 4 Yπό αναστολή Oι πιθανές µεταβάσεις από µία κατάσταση σε άλλη έχουν ως εξής: 1. Mία διεργασία που έχει δηµιουργηθεί αλλά δεν είναι υποψήφια για εκτέλεση τώρα συµπεριλαµβάνεται στην οµάδα των υποψήφιων. 2 & 3. Tο Λ.Σ. αποφασίζει µε βάση κάποια κριτήρια (τα οποία αποτελούν τις πολιτικές χρονοδροµολόγησης που έχει οιοθετήσει το σύστηµα) να διακόψει την εκτέλεση της τρέχουσας που είναι ενεργοποιηµένη και να διαλέξει κάποια άλλη από τη λίστα των υποψήφιων διεργασιών. H νέα αυτή διεργασία ενεργοποιείται ενώ η άλλη επιστρέφει στην οµάδα των υποψήφιων για εκτέλεση περιµένοντας να έρθει πάλι η σειρά της. 4 & 5. Mία διεργασία που εκτελείται ζητάει από το Λ.Σ. µία υπηρεσία και µέχρις ότου το αίτηµά της ικανοποιηθεί βρίσκεται υπό αναστολή, µετά δε γίνεται µέλος της οµάδας των διεργασιών που είναι υποψήφιες για εκτέλεση. Ή, µία διεργασία αναστέλλει τη λειτουργία της περιµένοντας να λάβει χώρα κάποιο εξωτερικό συµβάν. 6. H εκτελούµενη διεργασία τερµατίζει την εκτέλεσή της αλλά οι δοµές της δεν εξαφανίζονται αµέσως από το σύστηµα. 2-6

7 2. Kαταστάσεις διεργασιών (συνέχεια) Aν και δεν φαίνεται στο προηγούµενο σχήµα, υπάρχουν επίσης οι καταστάσεις: Eτοιµη για εκτέλεση > Tερµατισµός, και Yπό αναστολή > Tερµατισµός. Π.χ. όταν ο τερµατισµός µίας προκαλεί και τον τερµατισµό όλων των θυγατρικών της. Ένας πιθανός τρόπος υλοποίησης του συστήµατος διαχείρησης διεργασιών µε 5 καταστάσεις είναι η ακόλουθη: ηµιουργία Oυρά έτοιµων για εκτέλεση διεργασιών Έκτέλεση KME Tερµατισµός Tέλος χρόνου εκτέλεσης Oυρά υπό αναστολή διεργασιών 2-7

8 2. Kαταστάσεις διεργασιών (συνέχεια) Tο πρόβληµα είναι ότι κάθε φορά που µία αίτηση προς το Λ.Σ. ικανοποιείται ή κάποιο εξωτερικό συµβάν λαµβάνει χώρα, το Λ.Σ. πρέπει να ψάξει όλη την ουρά για να βρει ποιες από τις διεργασίες µπορούν να ενεργοποιηθούν. Λαµβάνοντας πάλι υπ όψη ότι σε ένα σύστηµα υπάρχουν εκατοντάδες (ή ακόµα και χιλιάδες) διεργασίες, η αναζήτηση αυτή δυνατόν να είναι πολυέξοδη σε χρόνο. Mία παραλλαγή της ανωτέρω υλοποίησης είναι να έχουµε µία ουρά για κάθε διαφορετικό εξωτερικό συµβάν ή αίτηµα: ηµιουργία Oυρά έτοιµων για εκτέλεση διεργασιών Έκτέλεση KME Tερµατισµός Tέλος χρόνου εκτέλεσης Oυρά υπό αναστολή διεργασιών για συµβάν 1 Oυρά υπό αναστολή διεργασιών για συµβάν 2 Oυρά υπό αναστολή διεργασιών για συµβάν N Kάθε φορά που κάποιο συµβάν λαµβάνει χώρα, οι διεργασίες που βρίσκονται υπό αναστολή στην αντίστοιχη ουρά µεταφέρονται στην ουρά των έτοιµων για εκτέλεση διεργασιών. 2-8

9 2. Kαταστάσεις διεργασιών (συνέχεια) Aκόµα και έτσι, λόγω της µεγάλης διαφοράς σε ταχύτητα µεταξύ KME και συσκευών E/E, κάποια στιγµή όλες οι διεργασίες θα είναι υπό αναστολή σε κάποια ουρά. Πιθανές λύσεις: Aυξάνουµε την κύρια µνήµη και κατ επέκταση τον αριθµό των διεργασιών που µπορεί να βρίσκονται εκεί. Aλλά: (i) η κύρια µνήµη κοστίζει, (ii) πολύ συχνά, περισσότερη µνήµη συνεπάγεται µεγαλύτερες διεργασίες, όχι περισσότερες διεργασίες. Xρησιµοποιούµε το δίσκο για να µεταφέρουµε εκεί οµάδες ολόκληρες διεργασιών υπό αναστολή (σε κάποια ουρά) και να φέρουµε από εκεί στην κύρια µνήµη για εκτέλεση άλλες. Eποµένως δηµιουργείται η ανάγκη να επεκτείνουµε το µοντέλο µε ακόµα µία κατάσταση και δύο µεταβάσεις. ηµιουργία 1 'Eτοιµη για εκτέλεση 2 3 Eκτελούµενη 6 Tερµατισµός Σταµατηµένη 7 Yπό αναστολή Aν και η χρήση του δίσκου είναι ουσιαστικά πράξη E/E, λόγω τού ότι αυτός, σε σχέση µε τις άλλες συσκευές E/E είναι πιο γρήγορος, η µέθοδος αυτή έχει ωφέλιµα αποτελέσµατα. 2-9

10 3. Aναπαράσταση των διεργασιών στο λειτουργικό σύστηµα Tο µοντέλο διεργασιών πρέπει να υλοποιηθεί µε τέτοιο τρόπο έτσι ώστε να µπορεί το Λ.Σ. να ελέγχει τις διεργασίες και να διαχειρίζεται τους πόρους που κάθε µία από τις διεργασίες χρειάζεται. Kάθε διεργασία έχει τη δυνατότητα να δηµιουργήσει άλλες θυγατρικές διεργασίες (child processes). Aυτές, ανάλογα µε την περίπτωση, µπορούν να ζητήσουν καινούργιους πόρους από το Λ.Σ. ή είναι υποχρεωµένες να περιοριστούν στους πόρους που έχουν δοθεί στη γονική διεργασία (parent process), δηλαδή αυτή που τις δηµιούργησε Mία διεργασία που δηµιουργεί θυγατρικές διεργασίες, ανάλογα µε την περίπτωση, µπορεί να συνεχίσει να εκτελείται ταυτόχρονα µε τις θυγατρικές διεργασίες ή να παραµείνει υπό αναστολή µέχρις ότου η εκτέλεσή τους τερµατιστεί. 2-10

11 3. Aναπαράσταση των διεργασιών στο λειτουργικό σύστηµα (συνέχεια) Tο Λ.Σ. δηµιουργεί και διατηρεί δοµές ελέγχου (control structures), µία για κάθε βασική οντότητα του συστήµατος: διεργασίες, αρχεία, µνήµη και συσκευές εισόδου/εξόδου. Συγκεκριµένα, κάθε µία από τις δοµές αυτές είναι ένας πίνακας µε µία σειρά από εγγραφές. Στην περίπτωση των διεργασιών, κάθε εγγραφή αποτελείται από όλες τις πληροφορίες που σχετίζονται µε την εγγραφή αυτή και τις οποίες χρειάζεται το Λ.Σ. Mνήµη Πίνακας µνήµης E/E Πίνακας E/E Aρχεία ιεργασίες Πίνακας αρχείων ιεργασία 1 ιεργασία 2 ιεργασία 1 ιεργασία 2 Πίνακας ιεργασιών Eίδωλο Eίδωλο 2-11

12 3. Aναπαράσταση των διεργασιών στο λειτουργικό σύστηµα (συνέχεια) O πίνακας µνήµης έχει πληροφορίες όπως: Kατανοµή κύριας µνήµης στις διεργασίες. Kατανοµή περιφερειακής µνήµης στις διεργασίες. Πληροφορίες για τυχόν περιορισµούς στην προσπέλαση στη µνήµη. Πληροφορίες για διαχείρηση ιδεατής µνήµης. O πίνακας εισόδου/εξόδου έχει πληροφορίες όπως: Ποιες συσκευές είναι διαθέσιµες. Ποιες συσκευές είναι δεσµευµένες και από ποιες διεργασίες. Aν κάποιες λειτουργίες εισόδου/εξόδου βρίσκονται εν εξελίξει. O πίνακας αρχείων έχει πληροφορίες όπως: Ύπαρξη αρχείων. Tην περιοχή που βρίσκονται στην περιφερειακή µνήµη. Άλλες πληροφορίες για το είδος κάθε αρχείου, κλπ. O πίνακας διεργασιών έχει τις ακόλουθες κατηγορίες πληροφοριών για κάθε διεργασία: Tα δεδοµένα που χρειάζονται για την εκτέλεση του προγράµµατος που σχετίζεται µε τη διεργασία. Tο πρόγραµµα καθ εαυτό. Tους δείκτες στοιβών του προγράµµατος και των δεδοµένων. Άλλα χαρακτηριστικά αναφορικά µε το είδος και το ρόλο της. Όλες αυτές οι πληροφορίες αποτελούν το είδωλο µίας (process image), ένα µόνο µέρος του οποίου βρίσκεται ανά πάσα στιγµή στην κύρια µνήµη και το υπόλοιπο είναι αποθηκευµένο στο δίσκο. 2-12

13 3. Aναπαράσταση των διεργασιών στο λειτουργικό σύστηµα (συνέχεια) Tα χαρακτηριστικά µίας αποτελούν το µπλοκ ελέγχου της (process control block) ή τον περιγραφέα της (process descriptor) και περιέχουν τις ακόλουθες πληροφορίες: Tαυτότητες: Tης. Tης που δηµιούργησε αυτή τη διεργασία. Tου ιδιοκτήτη της. Πληροφορίες για την κατάσταση της : Tιµές καταχωρητών. Tιµές δεικτών στοιβών για κάλεσµα συναρτήσεων, κλπ. Πληροφορίες για τον έλεγχο και τη διαχείρηση της : Tρέχουσα κατάσταση και προτεραιότητα της. Για ποιο λόγο βρίσκεται υπό αναστολή (αν βρίσκεται). Πληροφορίες για επικοινωνία µε άλλες διεργασίες. ικαιώµατα της στην προσπέλαση στη µνήµη, χρήση συσκευών και υπηρεσιών που προσφέρει το Λ.Σ., κλπ. είκτες στους χώρους της µνήµης που χρησιµοποιεί η διεργασία. Kατάσταση ανοικτών αρχείων που τυχόν χρησιµοποιεί η διεργασία. Oι πληροφορίες αυτές είναι χρήσιµες για τον καθορισµό της κατάστασης (mode), αναφορικά µε τα δικαιώµατα που έχει, στην οποία τρέχει µία διεργασία: σε κατάσταση συστήµατος (kernel/system/control mode) µία διεργασία µπορεί να χρησιµοποιεί ειδικές ή προνοµοιούχες εντολές (privileged instructions) ενώ σε κατάσταση χρήστη (user mode) µόνο ένα υποσύνολο των διαθέσιµων από το σύστηµα εντολών µπορεί να χρησιµοποιηθεί. 2-13

14 3. Aναπαράσταση των διεργασιών στο λειτουργικό σύστηµα (συνέχεια) H υλοποίηση των λιστών διεργασιών µπορεί εποµένως να είναι στην πραγµατικότητα συνδεδεµένες λίστες περιγραφέων διεργασιών: Eκτελούµενη Έτοιµες για εκτέλεση Yπό αναστολή Περιγραφέας Oι περιγραφείς διεργασιών είναι οι πιο σηµαντικές κεντρικές δοµές δεδοµένων και ελέγχου σε ένα Λ.Σ. γιατί περιέχουν όλες τις πληροφορίες που χρειάζεται το Λ.Σ. για κάθε διεργασία. Σχεδόν όλες οι ρουτίνες λειτουργιών του Λ.Σ. διαβάζουν τις πληροφορίες που βρίσκονται αποθηκευµένες στους περιγραφείς διεργασιών και ανάλογα µε την περίπτωση τις τροποποιούν. 2-14

15 4. Έλεγχος διεργασιών O πυρήνας (kernel) του Λ.Σ. είναι υπεύθυνος για τη δηµιουργία, αλλαγή κατάστασης, χρονοδροµολόγηση και τερµατισµό των διεργασιών. ηµιουργία µίας : O πίνακας διεργασιών επεκτείνεται µε µία επιπλέον εγγραφή για τη νέα διεργασία στην οποία δίνεται σαν προσδιοριστής (process identifier) ένας µοναδικός αριθµός. Παρέχεται µνήµη για τις ανάγκες της (αποθήκευση κώδικα και δεδοµένων, στοίβες, κλπ.). ηµιουργία του µπλοκ ελέγχου της µε όλες τις σχετικές πληροφορίες µερικές από τις οποίες έχουν εκ των προτέρων µία προκαθορισµένη αρχική τιµή (π.χ. η πρώτη κατάσταση µίας καινούργιας είναι συνήθως έτοιµη για εκτέλεση ). ηµουργούνται οι κατάλληλες διασυνδέσεις της µε τις σχετικές δοµές ελέγχου µε τη χρήση δεικτών (π.χ. η εισαγωγή της στη λίστα για διεργασίες που είναι έτοιµες για εκτέλεση). ηµιουργία άλλων σχετικών δοµών (π.χ. για λογιστικούς ή στατιστικούς λόγους). Eναλλαγή διεργασιών (process switching): Λαµβάνει χώρα όταν υπάρξει κάποια διακοπή (interrupt), λάθος (π.χ. διαίρεση µε το 0), ή κλίση από τον επιτηρητή (supervisor call). Πολλές φορές η εµφάνιση µίας διακοπής δεν είναι απαραίτητο να οδηγήσει και σε εναλλαγή διεργασιών και µετά το πέρας της διακοπής µπορεί να συνεχίσει η εκτέλεση της τρέχουσας. Aυτή η απλούστερη περίπτωση λέγεται µεταγωγή περιβάλλοντος (context switching) και διαφέρει από την πιο πολύπλοκη εναλλαγή διεργασιών. 2-15

16 4. Έλεγχος ιεργασιών (συνέχεια) Στην περίπτωση της µεταγωγής περιβάλλοντος, και πριν την εκτέλεση της ρουτίνας που σχετίζεται µε τη διακοπή, αποθηκεύονται εκείνες οι πληροφορίες που θα µπορούσαν τυχόν να αλλοιωθούν κατά την εκτέλεση της ρουτίνας αυτές περιλαµβάνουν το µέρος εκείνο του µπλοκ ελέγχου (process control block) που σχετίζεται µε την κατάσταση της KME: µετρητής προγράµµατος, τιµές άλλων καταχωρητών και περιεχόµενα των στοιβών. Στην περίπτωση της εναλλαγής οι διαδικασίες που πρέπει να ακολουθηθούν είναι πολύ περισσότερες: Aποθήκευση των πληροφοριών που σχετίζονται µε την κατάσταση της KME. Eνηµέρωση του µπλοκ ελέγχου της που σταµάτησε να εκτελείται για τη νέα της κατάσταση, τους λόγους που σταµάτησε η εκτέλεσή της και τυχόν άλλες πληροφορίες. Σύνδεση του µπλοκ ελέγχου της µε την κατάλληλη λίστα διεργασιών (των έτοιµων για εκτέλεση, υπό αναστολή, κλπ.). Mε βάση κάποια κριτήρια και πολιτική µία άλλη διεργασία επιλέγεται για εκτέλεση. Eνηµέρωση του µπλοκ ελέγχου της αυτής (π.χ. αλλαγή της κατάστασής της σε εκτελούµενη). Eνηµέρωση των δοµών δεδοµένων που σχετίζονται µε τη διαχείρηση της κύριας µνήµης. Aλλαγή της κατάστασης της KME σε αυτή που ήταν την τελευταία φορά που εκτελέστηκε η τρέχουσα διεργασία. 2-16

17 5. Eκτέλεση του λειτουργικού συστήµατος Aφού το Λ.Σ. είναι το ίδιο ένα ακόµα πρόγραµµα, εκτελείται από την KME όπως ένα οποιοδήποτε άλλο πρόγραµµα. Tίθεται εποµένως το ερώτηµα αν το σύστηµα βλέπει το Λ.Σ. σαν µία διεργασία, καθώς επίσης και µε ποιό τρόπο το Λ.Σ. αποκτά και απελευθερώνει τον έλεγχο της KME. Yπάρχουν οι ακόλουθες εναλλακτικές απόψεις: Tο Λ.Σ. είναι µία ξεχωριστή οντότητα και δεν αντιµετωπίζεται σαν διεργασία. Παραδοσιακή άποψη που εφαρµόστηκε στα παλαιότερα Λ.Σ. Tο Λ.Σ. έχει το δικό του χώρο µνήµης, δοµές, στοίβες, κλπ. Eκτελείται σε προνοµιούχα κατάσταση (privileged mode), δηλαδή έχει περισσότερα δικαιώµατα από µία συνηθισµένη διεργασία. Όταν για οποιονδήποτε λόγο µία διεργασία αναστείλει την εκτέλεσή της, ο έλεγχος δίνεται στο Λ.Σ. το οποίο αφού επιτελέσει τις λειτουργίες που απαιτούν οι λόγοι αναστολής εκτέλεσης της, αποφασίζει επίσης κατά πόσο η διεργασία θα συνεχίσει την εκτέλεσή της ή η KME θα δοθεί σε κάποια άλλη διεργασία. 1 2 n Πυρήνας Λ.Σ. Oι περισσότερες από τις λειτουργίες του Λ.Σ. αποτελούν µέρος των εκτελούµενων διεργασιών. Xρησιµοποιείται κυρίως σε Λ.Σ. µικρών συστηµάτων H/Y (π.χ. PCs). Tο Λ.Σ. είναι απλά µία οµάδα από ρουτίνες που µπορούν να καλεσθούν από οποιαδήποτε διεργασία. Eπιτρέπει και εκµεταλλεύεται την έννοια της µεταγωγής περιβάλλοντος. Mία διεργασία, ανάλογα µε την περίσταση, εκτελείται σε κατάσταση χρήστη (user mode) ή σε κατάσταση 2-17

18 5. Eκτέλεση του λειτουργικού συστήµατος (συνέχεια) πυρήνα (kernel mode), όπου στη τελευταία αυτή δικαιούται να εκτελέσει ειδικές εντολές. Όταν µία διεργασία πρέπει να αναστείλλει την εκτέλεσή της, τότε αποθηκεύονται οι πληροφορίες που σχετίζονται µε την τρέχουσα κατάστασή της και ο έλεγχος περνάει σε µία κατάλληλη ρουτίνα του Λ.Σ. Aυτό όµως γίνεται µε µεταγωγή περιβάλλοντος, δηλαδή η ρουτίνα αυτή τρέχει µέσα στο χώρο µνήµης της που υπέστη αναστολή. Όταν ολοκληρωθεί η εκτέλεση της ρουτίνας, ο έλεγχος επανέρχεται στην υπό αναστολή διεργασία. Mόνο όταν χρειάζεται να γίνει εναλλαγή έχουµε πλήρη αποµάκρυνση της από την KME και την εισγωγή σε αυτήν άλλης. Mε άλλα λόγια σε σύγκριση µε την προηγούµενη προσέγγιση γλυτώνουµε το κόστος της εναλλαγής όταν ο έλεγχος πρέπει να επανέλθει στη διεργασία που είχε ανασταλλεί. Tο γεγονός ότι η ευθύνη εναλλαγής των διεργασιών φαίνεται να ανήκει στις διεργασίες καθεαυτές και όχι σε κάποια άλλη ουδέτερη οντότητα, δεν δηµιουργεί προβλήµατα δικαιοσύνης (fairness) διότι οι ρουτίνες του Λ.Σ. εκτελούνται σε κατάσταση πυρήνα όπου ο χρήστης (και ιδιοκτήτης της ) δεν έχει δικαίωµα πρόσβασης στον κώδικα των ρουτινών του Λ.Σ. (παρόλο που αυτές εκτελούνται στο περιβάλλον της του) και εποµένως δεν µπορεί να τον τροποποιήσει για το συµφέρον του. 1 2 n Συναρτήσεις Λ.Σ. Συναρτήσεις για εναλλαγή διεργασιών 2-18

19 5. Eκτέλεση του λειτουργικού συστήµατος (συνέχεια) Tο Λ.Σ. αποτελεί µία οµάδα από διεργασίες. Oι περισσότερες από τις σηµαντικές λειτουργίες του Λ.Σ. εκτελούνται σαν ξεχωριστές διεργασίες. ιευκολύνει την ανάπτυξη δοµηµένης οργάνωσης στο Λ.Σ. Tο Λ.Σ. γίνεται πιο ευέλικτο και µπορεί να χρησιµοποιήσει τα ίδια κριτήρια οργάνωσης των διεργασιών των χρηστών στις δικές του διεργασίες (π.χ. µπορεί να εκτελεί τις διεργασίες του µε διαφορετικούς βαθµούς προτεραιότητας ανάλογα µε τη σηµασία της κάθε ρουτίνας που έχει καλεσθεί). Ένα Λ.Σ. βασισµένο σε αυτή την προσέγγιση µπορεί πιο εύκολα να επεκταθεί για παράλληλα και κατανεµηµένα περιβάλλοντα. 1 2 n ΛΣ1 ΛΣ2 ΛΣk Συναρτήσεις για εναλλαγή διεργασιών 6. H έννοια του µικροπυρήνα Σε πολλά µοντέρνα λειτουργικά συστήµατα έχει αρχίσει να αναπτύσσεται ή έννοια του µικροπυρήνα (microkernel). H ιδέα εδώ είναι ότι ο πυρήνας του Λ.Σ. αποτελείται µόνο από την άκρως απαραίτητη λειτουργικότητα που χρειάζεται ένα Λ.Σ. Όλα τα υπόλοιπα υλοποιούνται µε βάση τον πυρήνα αυτόν, αλλά εκτός αυτού ως διαφορετικά προγράµµατα. Aυτό επιτρέπει την πιο εύκολη υποστήριξη ενός Λ.Σ. από πολλές πλατφόρµες (portability) αφού µόνο ο (σχετικά µικρός) πυρήνας χρειάζεται να τροποποιηθεί ανάλογα µε τις απαιτήσεις της κάθε αρχιτεκτονικής. Tα Λ.Σ. Mach και Windows NT βασίζονται σε αυτή τη φιλοσοφία. 2-19

20 7. ιάσπαση των διεργασιών σε υποδιεργασίες Mέχρι τώρα η διεργασία παρουσιάστηκε σαν η µικρότερη οντότητα που µπορεί να δεσµεύσει µνήµη και να εκτελεσθεί. Σε πολλά Λ.Σ. όµως (π.χ. OS/2, Mach) η διεργασία µπορεί να αποτελείται από υποδιεργασίες (threads) οι οποίες µοιράζονται το χώρο µνήµης της στην οποία ανήκουν αλλά εκτελούνται σαν ξεχωριστές οντότητες. Σε αυτή την περίπτωση η µικρότερη οντότητα που εκτελείται σε ένα σύστηµα H/Y είναι η υποδιεργασία. κοινή µνήµη και πόροι στοίβα υποδιεργασία καταχωρητές Kάθε υποδιεργασία έχει τη δικιά της κατάσταση, στοίβα µε τιµές του περιβάλλοντός της, µνήµη για τοπικές µεταβλητές και δικαίωµα προσπέλασης και χρήσης στη µνήµη και πόρους αντίστοιχα της στην οποία ανήκει. H ύπαρξη υποδιεργασιών σε ένα Λ.Σ. επηρεάζει θετικά την απόδοση του συστήµατος γιατί είναι πιο γρήγορη η δηµιουργία, τερµατισµός, αναστολή και επανεκκίνηση εκτέλεσης µίας υπο από την αντίστοιχη λειτουργία για διεργασία. Eπίσης, η επικοινωνία µεταξύ υποδιεργασιών είναι πιο απλή από την αντίστοιχη µεταξύ διεργασιών γιατί δεν χρειάζεται να καλεσθούν οι σχετικές συναρτήσεις του πυρήνα. 2-20

21 7. ιάσπαση των διεργασιών σε υποδιεργασίες (συνέχεια) Σε γενικές γραµµές, όταν µία λειτουργία µπορεί να υλοποιηθεί σαν µία οµάδα από άµεσα συσχετιζόµενες µονάδες, είναι πολλές φορές προτιµότερο να δηµιουργήσουµε µία διεργασία για τη λειτουργία αυτή, η οποία να αποτελείται από µία οµάδα από υποδιεργασίες (µία για κάθε µονάδα), αντί για µία οµάδα διεργασιών. Kλασσικά παραδείγµατα είναι σε µία εφαρµογή να έχουµε µία υποδιεργασία που να διαβάζει δεδοµένα από τον χρήστη ενώ άλλες να εκτελούν τα ήδη υπάρχοντα, περιοδική αυτόµατη αποθήκευση των δεδοµένων µίας εφαρµογής την ώρα που αυτή εκτελείται, ταυτόχρονη εκτέλεση εντολών εισόδου/εξόδου, κλπ. Aνάλογα µε τον τρόπο που υποστηρίζονται από το Λ.Σ., οι υποδιεργασίες µπορεί να υλοποιηθούν σε επίπεδο χρήστη (user-level) ή Λ.Σ. (kernel-level). Στο επίπεδο χρήστη, η υλοποίησή τους γίνεται µέσω µιας βιβλιοθήκης που παρέχει ρουτίνες για τη διαχείρησή τους (δηµιουργία, τερµατισµό, κλπ.) και οι οποίες καλούνται µέσα από το πρόγραµµα της εφαρµογής. Aπό το σηµείο αναφοράς του Λ.Σ. δεν υπάρχει καµµία διαφορά από ένα περιβάλλον που δεν υποστηρίζει υποδιεργασίες το Λ.Σ. συνεχίζει να βλέπει µόνο µία διεργασία. Στο επίπεδο του Λ.Σ., η υλοποίησή τους γίνεται από το ίδιο το σύστηµα, το οποίο είναι υπεύθυνο για τη διαχείρησή τους ο κώδικας της εφαρµογής απλά χρησιµοποιεί ένα API για τη διασύνδεσή του µε το κοµµάτι του Λ.Σ. που διαχειρίζεται τις υποδιεργασίες. Tα Λ.Σ. Windows2000, Linux και OS/2 οϊοθετούν αυτή την προσέγγιση. Tα πλεονεκτήµατα της υλοποίησης των υποδιεργασιών στο επίπεδο του χρήστη είναι: H µεταφορά της εκτέλεσης του προγράµµατος από µία υποδιεργασία σε άλλη δε χρειάζεται εναλλαγή διεργασιών αλλά µόνο µεταγωγή περιβάλλοντος (µικρότερο κόστος). H χρονοδροµολόγηση των υποδιεργασιών µπορεί να καθορισθεί από κάθε εφαρµογή ξεχωριστά και όχι να επιβάλλεται από το Λ.Σ. (ευελιξία). Mπορεί να χρησιµοποιηθεί οποιοδήποτε Λ.Σ. (ανεξαρτησία). 2-21

22 7. ιάσπαση των διεργασιών σε υποδιεργασίες (συνέχεια) Tα µειονεκτήµατα της υλοποίησης των υποδιεργασιών στο επίπεδο του χρήστη είναι: εδοµένου ότι πολλές ρουτίνες του Λ.Σ. (system calls) όταν καλεσθούν από µία εφαρµογή οδηγούν στην αναστολή εκτέλεσής της, αν µία υποδιεργασία καλέσει µια τέτοια ρουτίνα θα ανασταλεί η εκτέλεση συνολικά της στην οποία ανήκει η υποδιεργασία και όχι µόνο της υπο που έκανε το κάλεσµα. Στην περίπτωση που ο H/Y έχει περισσότερους από έναν επεξεργαστές, µία διεργασία δεν µπορεί να εκµεταλλευτεί περισσότερους από έναν, έστω και αν αποτελείται από πολλές υποδιεργασίες. Στην περίπτωση που οι υποδιεργασίες υποστηρίζονται σε επίπεδο Λ.Σ., η ανωτέρω κατάσταση αντιστρέφεται: το Λ.Σ. έχει τον έλεγχο της διαχείρησής τους έτσι µπορεί να τις εκτελέσει σε διαφορετικούς επεξεργαστές ή αν κάποια πρέπει να αναστείλει την εκτέλεσή της, µπορεί να αρχίσει εκτέλεση κάποια άλλη υποδιεργασία της ίδιας. Όµως το Λ.Σ. πρέπει να υποστηρίζει υποδιεργασίες και το κόστος µεταφοράς του ελέγχου από το επίπεδο της εφαρµογής σε αυτό του Λ.Σ. είναι σηµαντικό. H σχέση µεταξύ διεργασιών και υποδιεργασιών µπορεί να είναι: 1:1, όπου ουσιαστικά δεν υποστηρίζεται η έννοια της υπο (τυπικό Λ.Σ. εδώ είναι το Unix Σύστηµα V). 1:M, όπως περιγράφηκε ανωτέρω, όπου κάθε διεργασία καθορίζει τα όρια µνήµης και πόρων των υποδιεργασιών M από τις οποίες αποτελείται (τυπικά Λ.Σ. είναι τα OS/2, Mach και MVS). M:1, όπου κατά τη διάρκεια της ζωής της, µία υποδιεργασία µπορεί να µεταναστεύσει από τη διεργασία στην οποία αρχικά δηµιουργήθηκε σε άλλη διεργασία. Σε αυτή την περίπτωση, µεταφέρει µαζί της και κάποιες αναγκαίες πληροφορίες. H ιδέα αυτή εφαρµόζεται κυρίως σε κατανεµηµένα Λ.Σ. (όπως τα Clouds και Emerald) όπου είναι χρήσιµη η έννοια µίας υπο να εκτελείται σε διαφορετικούς χώρους µνήµης και να µεταναστεύει από µία µηχανή σε άλλη. M:M, όπου γίνεται συνδυασµός των ανωτέρω δύο περιπτώσεων (τυπικό παράδειγµα εδώ είναι το πειραµατικό Λ.Σ. Trix). 2-22

23 8. Aναπαράσταση και έλεγχος διεργασιών σε ορισµένα Λ.Σ. Eδώ αναφέρουµε µερικά µόνο από τα κύρια χαρακτηριστικά µερικών Λ.Σ. αναφορικά µε τις έννοιες που καλύφθηκαν σε αυτή την ενότητα. Στο Unix µία διεργασία δηµιουργείται µε την εντολή fork. H εντολή pid=fork(); δηµιουργεί µία θυγατρική διεργασία που είναι ακριβές αντίγραφο της γονικής. Oι δύο διεργασίες εκτελούνται ταυτόχρονα. Για να ξεχωρίζει η γονική από τη θυγατρική διεργασία, η πρώτη έχει σαν προσδιοριστή µία θετική τιµή ενώ η δεύτερη το 0. Έτσι σε ένα πρόγραµµα που κάνει χρήση διεργασιών υπάρχουν εντολές του τύπου if (pid>0) δηλαδή, είµαι η γονική διεργασία else κώδικας για τη γονική διεργασία δηλαδή, είµαι θυγατρική διεργασία κώδικας για τη θυγατρική διεργασία Άλλες σηµαντικές εντολές είναι οι ακόλουθες (όπου στη µεταβλητή s εκχωρείται η τιµή 0 αν η κλήση της συνάρτησης ήταν επιτυχής και η τιµή -1 σε περίπτωση σφάλµατος): s=waitpid(pid, ) αναµονή µέχρι τον τερµατισµό της θυγατρικής pid. s=execve(name, ) αντικατάσταση της τρέχουσας από το πρόγραµµα name. s=kill(pid, ) αποστολή σήµατος τερµατισµού της pid. exit(status) τερµατισµός εκτέλεσης της και επιστροφή κωδικού εξόδου. Mία διεργασία στο Unix µπορεί να είναι σε µία από 9 καταστάσεις. Yπάρχουν 2 καταστάσεις για την περίπτωση µίας που εκτελείται, ανάλογα µε τον αν εκτελείται σαν διεργασία πυρήνα (kernel mode) ή χρήστη (user mode). Eπίσης διαχωρίζεται η περίπτωση διεργασιών υπό αναστολή που όµως βρίσκονται στην κύρια µνήµη από αυτές που έχουν µεταφερθεί στην περιφερειακή µνήµη. Tέλος, στο Unix υπάρχει 1:1 αντιστοιχία µεταξύ διεργασιών και υποδιεργασιών. 2-23

24 8. Aναπαράσταση και έλεγχος διεργασιών σε ορισµένα Λ.Σ. (συνέχεια) Ένα από τα χαρακτηριστικά του OS/2 είναι ότι επιπλέον της έννοιας της υπο, υποστηρίζεται επίσης η περίοδος (session) επαφής χρήστη- µηχανής που ορίζεται σαν ένα σύνολο από διεργασίες. Aυτό επιτρέπει την ύπαρξη και χρήση πολλών παραθύρων ταυτόχρονα και τη διοχέτευση της ροής των δεδοµένων E/E από και προς το κατάλληλο παράθυρο. Στο Λ.Σ. MVS (Multiple Virtual Storage) υπάρχουν µόνο 3 καταστάσεις διεργασιών: έτοιµη (για εκτέλεση), εκτελούµενη και υπό αναστολή. Σε κάθε διεργασία παρέχεται ένα µέρος της διαθέσιµης µνήµης και οποιαδήποτε άλλη θυγατρική διεργασία περιορίζεται στη χρήση µόνο αυτής της µνήµης. 2-24

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

Διαβάστε περισσότερα

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN

ENOTHTA 8 IAXEIPIΣH KAI ΣYΣTHMATA APXEIΩN ENOTHTA 8 Περιεχόµενα 1. οµή αρχείων 2. Λειτουργίες επί των αρχείων 3. Oργάνωση αρχείων 4. Iδιοχαρακτηριστικά αρχείων 5. Kατάλογοι αρχείων 6. ιαχείριση του χώρου του δίσκου 7. Yλοποίηση αρχείων 8-1 1.

Διαβάστε περισσότερα

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

Διαβάστε περισσότερα

ENOTHTA 5 XPONO POMOΛOΓHΣH

ENOTHTA 5 XPONO POMOΛOΓHΣH ENOTHTA 5 Περιεχόµενα 1. Xρονοδροµολόγηση 2. Eίδη χρονοδροµολόγησης 3. Στόχοι και κριτήρια της χρονοδροµολόγησης 4. Tαξινόµηση αλγόριθµων χρονοδροµολόγησης 5. Xρονοδροµολόγηση µε βάση τον χρόνο εισόδου

Διαβάστε περισσότερα

Περιγραφή και Έλεγχος ιεργασιών

Περιγραφή και Έλεγχος ιεργασιών Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

Διαβάστε περισσότερα

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή

Διαβάστε περισσότερα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ 2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο

Διαβάστε περισσότερα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός

Διαβάστε περισσότερα

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

Διαβάστε περισσότερα

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθηµα 1 Ο ρόλος του ΛΣ Υλικό Υπολογιστικό σύστηµα Λειτουργικό σύστηµα Λογισµικό Προγράµµατα εφαρµογής Στόχοι του ΛΣ Χρήστες ιευκόλυνση των χρηστών ιευκόλυνση

Διαβάστε περισσότερα

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA

ENOTHTA 9 AΣΦAΛEIA KAI ΠPOΣTAΣIA ENOTHTA 9 Περιεχόµενα 1. Aσφάλεια vs Προστασία 2. Aσφάλεια 3. Προϋποθέσεις για ύπαρξη ασφάλειας 4. Eίδη απειλών 5. Σχεδιαστικές αρχές για ασφάλεια 6. Mηχανισµοί προστασίας 9-1 1. Aσφάλεια vs Προστασία

Διαβάστε περισσότερα

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 1 ΕΙΣΑΓΩΓΗ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Λιβανός Γιώργος Εξάμηνο 2017Β

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Κεφάλαιο 3: Λειτουργικά Συστήµατα

Κεφάλαιο 3: Λειτουργικά Συστήµατα Κεφάλαιο 3: Λειτουργικά Συστήµατα B Μέρος Συντονισµός Δραστηριοτήτων Υπολογιστή Copyright 2008 Pearson Education, Inc. Publishing as Pearson Addison-Wesley Εισαγωγή Σήµερα θα περιγράψουµε πως ένα λειτουργικό

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)

Διαβάστε περισσότερα

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Λειτουργικά συστήματα πραγματικού χρόνου

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

Διαβάστε περισσότερα

Κεφάλαιο 3: Λειτουργικά Συστήματα

Κεφάλαιο 3: Λειτουργικά Συστήματα Κεφάλαιο 3: Λειτουργικά Συστήματα (από το βιβλίο του Brookshear) B Μέρος Συντονισμός Δραστηριοτήτων Υπολογιστή Εισαγωγή Σήμερα θα περιγράψουμε πως ένα λειτουργικό σύστημα συντονίζει την εκτέλεση Λογισμικού

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

Διαβάστε περισσότερα

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση: Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση: Page 1 Χρήστης Εφαρμογή Λειτουργικό Σύστημα Υλικό Γνωστά Λειτουργικά

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ H/Y

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ H/Y ΤΕΙ ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΙΟΙΚΗΣΗΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ H/Y ΠΑΝΑΓΙΩΤΗΣ ΧΑΤΖΗ ΟΥΚΑΣ ΑΡΤΑ 2007 ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ Κεφάλαιο 1 Εισαγωγή... 1 1.1 Ορισµός λειτουργικού

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 2 : Σκοποί ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ

Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ Κεφάλαιο 4 Διεργασίες Β Τάξη ΕΠΑΛ Καθ. Παπαδάκη Αν. Λειτουργικά Συστήματα 1 Περιγραφή Διεργασίας Στους υπολογιστές που έχουν μια μόνο ΚΜΕ, σε κάθε χρονική στιγμή μπορεί να εκτελείται μια μόνο εντολή γλώσσας

Διαβάστε περισσότερα

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ

ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ ENOTHTA 7 IAXEIPIΣH ΣYΣKEYΩN E/E & AΠOΘHKEYΣHΣ Περιεχόµενα 1. Συσκευές εισόδου/εξόδου 2. Aπευθείας προσπέλαση µνήµης 3. Pόλος του Λειτουργικού Συστήµατος στη διαχείριση των συσκευών E/E 4. ιαχείριση δίσκου

Διαβάστε περισσότερα

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

ροµολόγηση Επεξεργαστή

ροµολόγηση Επεξεργαστή ροµολόγηση Επεξεργαστή Κεφάλαιο 9 Στόχοι της ροµολόγησης Χρόνος Απόκρισης Throughput Αποδοτική χρήση επεξεργαστή Τύποι ροµολόγησης Μακροπρόθεσµη δροµολόγηση Μεσοπρόθεσµη δροµολόγηση Βραχυπρόθεσµη δροµολόγηση

Διαβάστε περισσότερα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

Διαβάστε περισσότερα

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

Διαβάστε περισσότερα

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling) Μάθημα 6 ο Χρονοδρομολόγηση (Scheduling) Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και τη λειτουργία της χρονοδρομολόγησης σε ένα Λειτουργικό Σύστημα. Θα μάθουμε: Να ορίζουμε τι είναι

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1

Νήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1 Νήµατα ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων Κατανεµηµένα Συστήµατα 10-1 ιεργασίεςκαι νήµατα ιεργασία 1 Μνήµη ιεργασία 2 Μνήµη ιεργασία 3 Μνήµη Λειτουργικό Σύστηµα

Διαβάστε περισσότερα

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε

Ο βασικός παράγοντας είναι ο χρόνος αξιοποίησης του επεξεργαστή Ελάχιστος αριθµός πράξεων και όχι µακρόχρονες αιτήσεις Ε/Ε Εισαγωγή Ε-03: Λειτουργικά Συστήµατα ΙΙ Εαρινό Εξάµηνο 2005-06 «ροµολόγηση ιεργασιών (1/2)» ροµολόγηση σε συστήµατα µε έναν επεξεργαστή ροµολόγηση σε πολυεπεξεργαστικά συστήµατα ροµολόγηση σε κατανεµηµένα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (Λ/Σ)

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι

Διαβάστε περισσότερα

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Εικονική Μνήµη. Κεφάλαιο 8. Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Εικονική Μνήµη Κεφάλαιο 8 Υλικό και δοµές ελέγχου Οι αναφορές στην µνήµη υπολογίζονται δυναµικά κατά την εκτέλεση Ηδιεργασίαχωρίζεταισετµήµατα τα οποία δεν απαιτείται να καταλαµβάνουν συνεχόµενες θέσεις

Διαβάστε περισσότερα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (ΗΥ321)

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 17: Χειρισμός Εισόδου - Εξόδου Συστήματα Εισόδου / Εξόδου: Το Υλικό Ε/Ε Μεγάλη ποικιλία συσκευών Ε/Ε Και μεγαλώνει Συνηθισμένες έννοιες: Πόρτα Δίαυλος Κοινό μέσο πρόσβασης

Διαβάστε περισσότερα

Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης. Περιεχόμενα. Ανάγκη για διαχείριση μνήμης. Βασικές αρχές διαχείρισης μνήμης.

Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης. Περιεχόμενα. Ανάγκη για διαχείριση μνήμης. Βασικές αρχές διαχείρισης μνήμης. ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 7 (Κεφάλαιο 7) Διαχείριση Μνήμης Οι

Διαβάστε περισσότερα

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα

Διαβάστε περισσότερα

Προγραµµατισµός 2 The shell

Προγραµµατισµός 2 The shell Προγραµµατισµός 2 The shell 1 CLI vs GUI! CLI (Command Line Interface) Μεγαλύτερη ευελιξία και ταχύτητα Πιο εύκολο να γίνουν πολύπλοκες λειτουργίες. find. -mtime -2 -name '*.txt' -exec sed -i.bak 's/hi/bye/g'

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Εικονική Μνήμη (1/2)

Εικονική Μνήμη (1/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

Διαβάστε περισσότερα

Λειτουργικά Συστήµατα

Λειτουργικά Συστήµατα Λειτουργικά Συστήµατα Περιεχόµενα Ορισµός Βασικές Λειτουργίες Κατηγορίες Κύρια Συστατικά ιαχείριση ιεργασιών Παραδείγµατα Λειτουργικά Συστήµατα Το λειτουργικό σύστηµα: Είναι ένα σύνολο προγραµµάτων που

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω

Διαβάστε περισσότερα

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Η/Υ

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 9 «Δρομολόγηση Διεργασιών» Διδάσκων: Δ, Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης

Διαβάστε περισσότερα

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling)

Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling) Χρονοπρογραµµατισµός ιεργασιών (Process Scheduling) Περίληψη Χρονοπρογραµµατισµός διεργασιών και κριτήρια Κατηγορίες χρονοπρογραµµατιστών λγόριθµοι χρονοπρογραµµατισµού Χρονοπρογραµµατισµός Η πολιτική

Διαβάστε περισσότερα

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

Λειτουργικά Συστήματα

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κλειώ Σγουροπούλου Λειτουργικό Σύστημα Ένα πρόγραμμα που διαχειρίζεται τους πόρους ενός υπολογιστικού συστήματος και ενεργεί ως μεσάζων μεταξύ του χρήστη και των πόρων αυτών user

Διαβάστε περισσότερα

Κεφάλαιο 4. Λογισμικό Συστήματος

Κεφάλαιο 4. Λογισμικό Συστήματος Κεφάλαιο 4 Λογισμικό Συστήματος 4.1 Λογισμικό συστήματος Λογισμικό εφαρμογών (application software):προγράμματα για την αντιμετώπιση εξειδικευμένων προβλημάτων π.χ. επεξεργασία κειμένου, μισθοδοσία κλπ.

Διαβάστε περισσότερα

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

Διαβάστε περισσότερα

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

Διαβάστε περισσότερα

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης

Μάθημα 7 ο. Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7 ο Αλγόριθμοι Χρονοδρομολόγησης Σκοπός του μαθήματος Στην ενότητα αυτή θα εξηγήσουμε το ρόλο και την αξιολόγηση των αλγορίθμων χρονοδρομολόγησης, και θα παρουσιάσουμε τους κυριότερους. Θα μάθουμε:

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής

Διαβάστε περισσότερα

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA

Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά

Διαβάστε περισσότερα

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi

Dr. Garmpis Aristogiannis - EPDO TEI Messolonghi Προϋποθέσεις για Αµοιβαίο Αποκλεισµό Μόνο µία διεργασία σε κρίσιµο τµήµασεκοινό πόρο Μία διεργασία που σταµατά σε µη κρίσιµο σηµείο δεν πρέπει να επιρεάζει τις υπόλοιπες διεργασίες εν πρέπει να υπάρχει

Διαβάστε περισσότερα

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1

Νήµαταστην Java. Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων. Κατανεµηµένα Συστήµατα 11-1 Νήµαταστην Java Συγχρονισµός νηµάτων Επικοινωνία νηµάτων Εκτελέσιµα αντικείµενα Νήµατα δαίµονες Οµάδες νηµάτων Κατανεµηµένα Συστήµατα 11-1 Νήµαταστην Java γεννηθείσα notify notifyall έτοιµη start εκπνοή

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

Διαβάστε περισσότερα

Αδιέξοδα (Deadlocks)

Αδιέξοδα (Deadlocks) Αδιέξοδα (Deadlocks) Περίληψη Αδιέξοδα (deadlocks) Τύποι πόρων (preemptable non preemptable) Μοντελοποίηση αδιεξόδων Στρατηγικές Στρουθοκαµηλισµός (ostrich algorithm) Ανίχνευση και αποκατάσταση (detection

Διαβάστε περισσότερα

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

Διαβάστε περισσότερα

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για:

Σελίδα 1 από 11. Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: Σελίδα 1 από 11 Απαντήσεις στο φυλλάδιο 57 Ερώτηση: 1 η : Οι ακροδέκτες αυτοί χρησιµοποιούνται για: την επικοινωνία, µε τα υπόλοιπα ολοκληρωµένα κυκλώµατα του υπολογιστικού συστήµατος. την παροχή τροφοδοσίας

Διαβάστε περισσότερα

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση

Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Συγχρονισµός: Αδιέξοδο & Παρατεταµένη Στέρηση Κεφάλαιο 6 Αδιέξοδο Μόνιµη αναµονή ενός συνόλου διεργασιών οι οποίες ανταγωνίζονται για πόρους του συστήµατος ή για να επικοινωνήσουν µεταξύ τους εν υπάρχει

Διαβάστε περισσότερα

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 2: Σύστημα Αρχείων Τα προγράμματα που εκτελούνται

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα