Λειτουργικά Συστήματα
|
|
- Θέμις Παπαϊωάννου
- 8 χρόνια πριν
- Προβολές:
Transcript
1 Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες. Καταστάσεις Διεργασιών. PCB. Νήματα. Δρ. Μηνάς Δασυγένης Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. 2
3 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα στο Πανεπιστήμιο Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 3
4 Σκοπός ενότητας Η κατανόηση της έννοιας της διεργασίας. Η παρουσίαση των καταστάσεων των διεργασιών. Η σημαντικότητα των νημάτων. 4
5 Τι είναι η διεργασία; (1/2) Διεργασία (Process) είναι ο μηχανισμός εκτέλεσης ενός προγράμματος. Η διαδικασία είναι μια ενεργή οντότητα (περιέχει ένα σύνολο από συσχετισμένους με αυτή πόρους προκειμένου να εκτελεστεί). Το πρόγραμμα είναι παθητική οντότητα. Σημαντικό: ένα πρόγραμμα από μόνο του δεν αποτελεί διεργασία. Κάθε διεργασία εκτελεί ένα μοναδικό πρόγραμμα. Το ίδιο πρόγραμμα μπορεί να εκτελείται από πολλές διεργασίες (με διαφορετικές ταχύτητες και ακολουθίες εκτέλεσης των εντολών). Η εκτέλεση μιας διεργασίας γίνεται σειριακά. Το λειτουργικό μπορεί όμως να εκτελεί πολλές διεργασίες «παράλληλα» μεταξύ τους. 5
6 Τι είναι η διεργασία; (2/2) Ο πυρήνας του ΛΣ. Ο φλοιός του ΛΣ. Ο μεταφραστής (compiler). Βοηθητικά προγράμματα.... 6
7 Λειτουργίες του ΛΣ για τις διεργασίες Παραχώρηση πόρων. Χρονοδρομολόγηση. Διαδιεργασιακή επικοινωνία (συγχρονισμός, αδιέξοδα,..). 7
8 Το μοντέλο της διεργασίας. Η έννοια του ψευδοπαραλληλισμού (a) Πολυπρογραµµατισµός 4 προγραµµάτων, (b) Εννοιολογικό Μοντέλο 4 ανεξάρτητων σειριακών Διεργασιών, (c) Ένα πρόγραμμα ενεργό κάθε στιγμή! 8
9 Δημιουργία της διεργασίας Αρχικοποίηση Συστήματος. Κλήση συστήματος από μια άλλη διεργασία. Αίτηση χρήστη. Ξεκίνημα μιας εργασίας δέσμης (a batch job). 9
10 Τερματισμός μιας διεργασίας Κανονική Έξοδος (οικειοθελής). «Κανονικό» σφάλμα (οικειοθελής). «Μοιραίο» σφάλμα (ανοικειοθελώς). «Σκότωμα» (Kill) από μια άλλη διεργασία (ανοικειοθελώς). 10
11 Ιεραρχίες Διεργασιών Η μητρική δημιουργεί θυγατρικές, οι οποίες μπορούν να δημιουργήσουν δικές τους θυγατρικές. Δημιουργία Ιεραρχίας. Στο UNIX αποκαλείται «ομάδα διεργασιών» (process group). Στα Windows δεν υπάρχει τέτοια έννοια: Όλες οι διεργασίες «γεννιούνται ίσες». 11
12 Οι 2 καταστάσεις διεργασιών 12
13 Οι 3 καταστάσεις των διεργασιών Προσοχή στις έγκυρες μεταβάσεις! 13
14 Οι 5 καταστάσεις διεργασιών new: Η διεργασία δημιουργείται. running: Η διεργασία εκτελείται σε κάποιον επεξεργαστή. waiting: Η διεργασία αναμένει (απενεργοποιημένη) κάποιο συμβάν. ready: Η διεργασία αναμένει να τις δοθεί (από το ΛΣ) σε κάποιον επεξεργαστή για την συνέχιση της εκτέλεσης της. terminated: Η διεργασία έχει ολοκληρώσει την εκτέλεσή της. 14
15 Αλλαγές Κατάστασης Διεργασίας running -> waiting -> ready: Μια διεργασία αλλάζει την κατάσταση της από running σε waiting συνήθως όταν περιµένει να της δοθεί κάποιος πόρος ή επιθυµεί να χρησιµοποιήσει κάποιον πόρο που δεν είναι διαθέσιµος και πρέπει να ελευθερωθεί. Εν συνεχεία, η διεργασία αλλάζει σε κατάσταση ready όταν τις δοθεί ο πόρος που ζητήθηκε. running -> ready: Μια διεργασία αλλάζει την κατάσταση της από running σε ready συνήθως όταν η εκτέλεση της διακόπτεται από διακοπή υλικού (hardware interrupt) ή κλήση συστήµατος (software trap). ready -> running: Μια διεργασία αλλάζει την κατάσταση της από ready σε running όταν της δοθεί επεξεργαστής για να συνεχίσει την εκτέλεση της. 15
16 Οι έγκυρες μεταβάσεις στις 5 καταστάσεις διεργασιών 16
17 Οι διεργασίες blocked τοποθετούνται σε μια ουρά 17
18 Πολλαπλές Ουρές 18
19 Το μοντέλο των 6 καταστάσεων Αν η διεργασία τοποθετηθεί στο swap-file (δηλαδή γίνει swapped) τότε υπάρχει η 6 κατάσταση. 19
20 Το μοντέλο των 7 καταστάσεων 20
21 Πότε μπορεί να γίνει suspend; Ανταλλαγή Άλλοι λόγοι ΛΣ Το λειτουργικό σύστημα πρέπει να απελευθερώσει αρκετή μνήμη για να διαχειριστεί μια διεργασία που είναι έτοιμη να τρέξει Το ΛΣ μπορεί να αναστείλει την εκτέλεση μιας βοηθητικής διεργασίας ή διεργασίας που τρέχει στο παρασκήνιο ή διεργασίας που ενδεχομένως προκαλεί προβλήματα πχ αδιέξοδο Διαδραστική αίτηση χρήστη Χρονισμός Ένας χρήστης μπορεί να αναστείλει την εκτέλεση ενός προγράμματος για λόγους αποσφλαμάτωσης ή σε συνδυασμό με τον πόρο που χρησιμοποιείται Μια διεργασία μπορεί να εκτελείται περιοδικά και μπορεί να ανασταλεί καθώς περιμένει την άφιξη της επόμενης χρονοθυρίδας Αίτηση διεργασίας Μια διεργασία μπορεί να αναστείλει μια διεργασία παιδιού για να την εξετάσει και να την τροποποιήσει ή για να συντονίσει την δραστηριότητα της με τις άλλες διεργασίας παιδιών 21
22 Το μοντέλο των 9 καταστάσεων (UNIX) 22
23 Αναπαράσταση Εκτέλεσης Διεργασιών (μια ΚΜΕ) 23
24 Λογικά Τμήματα Μνήμης Διεργασιών Τμήμα κώδικα (code section): περιέχει τις εντολές του προγράμματος που εκτελείται. Τμήμα καθολικών δεδομένων (static / global data section): περιέχει τα μόνιμα δεδομένα του προγράμματος που εκτελείται. Τμήμα δυναμικών δεδομένων (dynamic data section ή heap): περιέχει τα δυναμικά δεδομένα της εκτέλεσης. Στοίβα (stack): περιέχει τις προσωρινές τοπικές μεταβλητές της εκτέλεσης που δημιουργούνται λόγω κλήσεων συναρτήσεων. 24
25 Δημιουργία Νέας Διεργασίας Οι πατρικές διεργασίες (Parent process) δημιουργούν διεργασίες παιδιά (children processes), οι οποίες με τη σειρά τους, δημιουργούν άλλες διεργασίες, δημιουργώντας έτσι ένα δένδρο διεργασιών. Διαμοιρασμός πόρων. Οι «γονείς και τα παιδιά» μοιράζονται όλους τους πόρους. Τα παιδιά παίρνουν υποσύνολο των πόρων. Οι πατρικές και οι θυγατρικές δεν μοιράζονται κανέναν πόρο. Εκτέλεση. Οι πατρικές και οι θυγατρικές διεργασίες εκτελούνται ταυτόχρονα. Οι πατρικές διεργασίες περιμένουν τον τερματισμό των παιδιών. 25
26 Τερματισμός Διεργασίας Η διεργασία εκτελεί την τελευταία εντολή και καλεί το ΛΣ (exit). Μεταφορά δεδομένων προς τον πατέρα (μέσω wait). Οι πόροι της διεργασίας επανέρχονται στη διάθεση του ΛΣ. Η πατρική διεργασία μπορεί να διακόψει τη θυγατρική (abort). Η θυγατρική έχει υπερβεί τους πόρους που της είχαν ανατεθεί. Η εργασία που ανατέθηκε στο παιδί δεν χρειάζεται. Η διεργασία πατέρας τερματίζει την εκτέλεση της. Το ΛΣ δεν επιτρέπει στο παιδί να συνεχίσει εφόσον ο πατέρας τερματίσει. Διαδοχικοί Τερματισμοί. 26
27 Οι 4 περιοχές μνήμης μιας διεργασίας 27
28 Υλοποίηση των διεργασιών (1/2) Ο χρονοπρογραµµατιστής βρίσκεται στο κατώτατο επίπεδο ενός «διεργασιακά» δομημένου (process-structured) ΛΣ {διακοπές, χρονοπρογραµµατισµός }. 28
29 Μαζί με κάθε διεργασία συνδέεται ένα μπλοκ πληροφορίας Τι χρειάζεται μια διεργασία για να εκτελεστεί (εικόνα διεργασίας): Πρόγραμμα. Δεδομένα. Στοίβα. Μπλοκ διαδικασίας ελέγχου (πλαίσιο, για πολυπρογραμματισμού). Το ΛΣ πρέπει να κρατήσει: Πληροφορίες σχετικά με τη τρέχουσα κατάσταση της κάθε διεργασίας και των πόρων. Οι πίνακες έχουν κατασκευαστεί για κάθε οντότητα που διαχειρίζεται το ΛΣ. 29
30 Πίνακας Ελέγχου Διεργασίας - Process Control Block (PCB) Βασικές πληροφορίες που συσχετίζονται µε την κάθε διεργασία: Κατάσταση διεργασίας (process state). Μετρητής εντολών προγράμματος (program counter). Καταχωρητές της ΚΜΕ (CPU registers). Πληροφορίες για το χρονοπρογραµµατισµό της ΚΜΕ (CPU scheduling information). Πληροφορίες διαχείρισης µνήµης (memory-management information). Συλλογή στοιχείων διαχείρισης (accounting information). Πληροφορίες κατάστασης εισόδου/εξόδου (Ι/Ο status information). 30
31 Πίνακας Ελέγχου Διεργασίας 31
32 Το PCB (Process Control Block) Διαχείριση διεργασιών Διαχείριση μνήμης Διαχείριση αρχείων Καταχωρητές Μετρητής προγράμματος Λέξη κατάστασης προγράμματος (PSW) Δείκτης στοίβας Κατάσταση διεργασίας Προτεραιότητα Παράμετροι χρονοδιαγράμματος ID διεργασίας Διεργασία πατέρα Ομάδα διεργασίας Σήματα Ώρα εκκίνησης διεργασίας Χρόνος χρήσης CPU Χρόνος χρήσης CPU από την διεργασία παιδί Χρόνος επόμενου συναγερμού Δείκτης στις πληροφορίες τμήματος κειμένου Δείκτης στις πληροφορίες του τμήματος δεδομένων Δείκτης στις πληροφορίες του τμήματος στοίβας Κατάλογος ρίζας Κατάλογος εργασίας Περιγραφείς αρχείων ID χρηστών ID ομάδας 32
33 Ο πίνακας διεργασιών και άλλοι πίνακες του ΛΣ Απαραίτητα χαρακτηριστικά για την διαχείριση της οντότητας: ID διεργασίας. Κατάσταση διεργασίας. Περιοχή στη μνήμη. Άλλα: μπλοκ ελέγχου διεργασίας (PCB). Άλλοι πίνακες διατηρούν πληροφορίες συγκεκριμένες με πόρους: Πως είναι διατεταγμένη η κύρια/δευτερεύουσα μνήμη. Κατάσταση συσκευών Ε/Ε, μνήμη buffer. Κατάσταση αρχείων. 33
34 Τι γίνεται κατά τη δημιουργία μιας διεργασίας; (1/2) Εκχωρείται ένας μοναδικός αριθμός αναγνωριστικού (process id). Παραχωρείται χώρος στη μνήμη. Αρχικοποιείται το PCB. Τοποθετείται η διεργασία σε διάφορες ουρές (επόμενο slide). 34
35 Τι γίνεται κατά τη δημιουργία μιας διεργασίας; (2/2) 35
36 Υλοποίηση των διεργασιών (2/2) Βήματα που εκτελούνται, όταν συμβαίνει κάποια Διακοπή (interrupt): 1. Το υλικό τοποθετεί στη στοίβα το μετρητή προγράμματος. 2. Το υλικό φορτώνει τον νέο μετρητή προγράμματος από το σήμα διακοπής. 3. Η διεργασία της γλώσσας Assembly αποθηκεύει τους καταχωρητές 4. Η διεργασία της γλώσσας Assembly δημιουργεί νέα στοίβα. 5. Τρέχει η διαδικασία διακοπής της C. 6. O χρονοπρογραμματιστής αποφασίζει μια διεργασία είναι η επόμενη προς εκτέλεση. 7. Η διαδικασία της C επιστρέφει στον κώδικα Assembly. 8. Η διεργασία της γλώσσας Assembly εκκινεί τη νέα τρέχουσα διεργασία. 36
37 Μοντελοποίηση Πολυπρογραμματισμού 37
38 Η Λειτουργία της Στοίβας Η στοίβα χρησιμοποιείται για την προσωρινή αποθήκευση τοπικών μεταβλητών κατά την κλήση υποπρογραμμάτων (συναρτήσεων) καθώς και για την μετάδοση παραμέτρων και αποτελεσμάτων ανάμεσα στα υποπρογράμματα. Κάθε νέα κλήση δεσμεύει χώρο στην στοίβα για την αποθήκευση των αντίστοιχων τοπικών μεταβλητών του υποπρογράμματος Αυτός ο χώρος αποδεσμεύεται όταν επιστρέψει το υποπρόγραμμα. Αλυσιδωτές κλήσεις υποπρογραμμάτων, η μια μέσα από την άλλη, έχουν σαν αποτέλεσμα την επέκταση της στοίβας. Αν γίνουν πάρα πολλές αλυσιδωτές κλήσεις, η στοίβα μπορεί να γεμίσει (stack overflow) με αποτέλεσα να τερματιστεί η διεργασία. Κλασικό παράδειγμα είναι η ατέρμονη αναδρομή. 38
39 Νήματα (Threads) (1/2) Παράδειγμα: Επεξεργαστής κειμένου με 3 νήματα. 39
40 Νήματα (Threads) (2/2) Παράδειγμα : web browser. 40
41 Η έννοια της νημάτωσης (threading) Ένα νήμα (thread) είναι μια απλή ροή δεδομένων διαμέσου του επεξεργαστή του συστήματος. Κάθε εφαρμογή παράγει το δικό της ή τα δικά της νήματα εξαρτώμενα από τον τρόπο που αυτή εκτελείται. Στα πολυδιεργασιακά συστήματα ένας επεξεργαστής μπορεί να διαχειριστεί ένα νήμα κάθε στιγμή. Έτσι, το σύστημα εναλλάσσεται ταχύτατα μεταξύ των νημάτων για να επεξεργαστεί τα δεδομένα δίνοντας την αίσθηση της συνεξέλιξης των νημάτων. Νήμα: μια μονάδα εργασίας που διεκπεραιώνεται και μπορεί να διακόπτεται. Περιλαμβάνει: το μετρητή προγράμματος, το δείκτη στοίβας, τη δική της περιοχή δεδομένων. 41
42 Τα νήματα ενισχύουν τον πολυπρογραμματισμό Ένα νήμα εκτελείται σειριακά και είναι διακοπτόμενο, ώστε ο επεξεργαστής να μπορεί να επιστρέφει σε άλλο νήμα. Ένα πρόγραμμα μπορεί να περιέχει αρκετά στοιχεία που διαμοιράζονται δεδομένα και μπορούν να εκτελούνται συγχρόνως. Π.χ. ένας Web browser μπορεί να περιέχει διαφορετικά συστατικά για την ανάγνωση ιστοσελίδων σε μορφή HTML, την ανάκτηση των συστατικών τους (εικόνες, video κλπ) και την εμφάνιση των σελίδων στο παράθυρο του browser. Αυτά τα συστατικά του προγράμματος που εκτελούνται ανεξάρτητα, αλλά υλοποιούνται ως λειτουργίες σε μια κοινή περιοχή μνήμης, ονομάζονται νήματα (threads). 42
43 Τι είναι ποληνυμάτωση; Διεργασία: μια συλλογή νημάτων μαζί με συσχετιζόμενους πόρους του συστήματος. Η διάσπαση μιας εφαρμογής σε πολλά νήματα έχει ως αποτέλεσμα το χρονισμό των γεγονότων της εφαρμογής. Τα νήματα προσφέρουν έναν εναλλακτικό τρόπο λειτουργίας σε σχέση με το μοντέλο της διεργασίας. Υπάρχει δυσκολία και πολυπλοκότητα όταν χρησιμοποιείται το μοντέλο διεργασίας, που επιπλέον δεν είναι αρκετά αποτελεσματικό. Η πολυνημάτωση (multi-threading) είναι χρήσιμη σε εφαρμογές που εκτελούν πολλές ανεξάρτητες μεταξύ τους διεργασίες που δεν χρειάζεται να είναι σε σειρά, π.χ. ένας web server. 43
44 Τα νήματα χρησιμοποιούνται ευρέως σε διακομιστές Clients Web Server DB1 CGI DB2 http pages 44
45 Παράδειγμα κώδικα νημάτων 45
46 Το μοντέλο των νημάτων (1/2) (a) Τρεις διεργασίες η κάθε μία με ένα νήμα. (b) Μια διεργασία με τρία νήματα. 46
47 Το μοντέλο νήματος Το μοντέλο αυτό διαιρεί τη διεργασία σε δύο τμήματα: Η διεργασία: περιέχει τους πόρους που χρησιμοποιούνται σε όλη τη διάρκεια του προγράμματος όπως: Καθολικές (global) εντολές. Καθολικά (global) δεδομένα. Το νήμα: περιέχει πληροφορίες που σχετίζονται με την κατάσταση εκτέλεσης όπως: Program counter. Stack. 47
48 Διαφορές Διεργασίες και Νήματα Διεργασίες: Είναι οντότητες που δεσμεύουν οποιονδήποτε πόρο τις αφορά όπως τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία. Θεωρούνται ως heavyweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου. Νήματα: Διαμοιράζονται τον χώρο διευθύνσεων, τα δεδομένα, τον κώδικα και τα αρχεία εφόσον ανήκουν στην ίδια διεργασία. Θεωρούνται ως lightweight σε σχέση με τη δημιουργία, τον τερματισμό και την εναλλαγή πλαισίου. 48
49 Το μοντέλο των νημάτων (2/2) Η πρώτη στήλη περιέχει κάποια αντικείμενα που είναι κοινά από όλα τα νήματα σε μια διεργασία ενώ η δεύτερη στήλη περιέχει κάποια αντικείμενα που είναι ιδιωτικά σε κάθε νήμα. Ανα διεργασία Χώρος διεύθυνσης Ανα νήμα Μετρητής προγράμματος (PC) Καθολικές μεταβλητές Άνοιγμα αρχείων Διεργασίες παιδιών Καταχωρητές Στοίβα Κατάσταση Εκκρεμής συναγερμοί Σήματα και διαχειριστές σημάτων Πληροφορίες 49
50 Κάθε νήμα έχει το δικό του σωρό 50
51 Μοντέλα ΛΣ ως προς τα νήματα 51
52 Threads (Lightweight Processes) Βασική μονάδα χρήσης της CPU: Κατέχει: program counter. register set. stack space. Διαμοιράζεται: code section. data section. OS resources. 52
53 Κοινά και Διαφορετικά Στοιχεία σε νήματα 53
54 Παράδειγμα προγράμματος σε C 54
55 Το πρόγραμμα ως μια διεργασία 55
56 Το πρόγραμμα ως διεργασία με ένα νήμα (1/2) void do_one_thing(int *); void do_another_thing(int *); void do_wrap_up(int, int); int r1=0, r2=0; main() { /* create and execute thread */ CreateThread( do_one_thing ); /* execute do_another_thing in main process */ do_another_thing(&r2); /* wait for thread to complete */ wait_for_thread(); } do_wrap_up(r1, r2); 56
57 Το πρόγραμμα ως διεργασία με ένα νήμα (2/2) Οι καταχωρητές είναι τμήμα του νήματος: Program counter. Stack pointer. General purpose registers. Οτιδήποτε άλλο ανήκει στη διεργασία: Πόροι του Λ.Σ. Open files. Locks. Sockets, κλπ. Πληροφορίες για τη διεργασία. PID, UID, GID. 57
58 Μετατροπή σε νήματα (1/2) 58
59 Μετατροπή σε νήματα (2/2) 59
60 Μοντέλα (επίπεδα) νημμάτωσης 60
61 Υλοποίηση των POSIX νημάτων 61
62 Παράδειγμα pthreds 62
63 Νήματα χρήστη και πυρήνα Νήματα χρήστη Η διαχείριση των νημάτων γίνεται από τη βιβλιοθήκη των νημάτων χρήστη. Παραδείγματα: - POSIX Pthreads. - Win32 threads. - Solaris threads. Ο πυρήνας δεν ενδιαφέρεται για το πλήθος των νημάτων χρήστη. Νήματα πυρήνα: Υποστηρίζονται από τον πυρήνα. Παραδείγματα: - Linux. - Windows XP/ Solaris lightweight processes. 63
64 Υλοποίηση νημάτων στο (α) χώρο του χρήστη (β) πυρήνα 64
65 Υβριδική Υλοποίηση 65
66 Νήματα pop-up 66
67 Νήματα χρήστη και πυρήνα: σύγκριση Νήματα πυρήνα: Είναι γνωστά στο Λ.Σ. Η εναλλαγή μεταξύ νημάτων πυρήνα στην ίδια διεργασία δεν είναι δαπανηρή. Οι τιμές των καταχωρητών, του PC, και των stack pointers μεταβάλλονται. Οι πληροφορίες που αφορούν τη διαχείριση μνήμης δεν αλλάζουν. Ο πυρήνας χρησιμοποιεί αλγορίθμους δρομολόγησης διεργασιών για τη διαχείριση των νημάτων. Νήματα χρήστη: Το Λ.Σ. δεν γνωρίζει για τα νήματα χρήστη, είναι ενημερωμένο μόνο για τη διεργασία όπου περιέχονται. Το Λ.Σ. δρομολογεί τις διεργασίες και όχι τα νήματα. Ο προγραμματιστής χρησιμοποιεί τη βιβλιοθήκη νημάτων για να τα διαχειριστεί (δημιουργία, διαγραφή, συγχρονισμός και δρομολόγηση). 67
68 Ομάδες νημάτων Δημιουργία ενός αριθμού νημάτων σε μια πισίνα (pool) που αναμένουν να εκτελεστούν. Πλεονεκτήματα: Συνήθως ελαφρώς γρηγορότερη εξυπηρέτηση αίτησης από ένα υπάρχων νήμα παρά με την δημιουργία νέου. Επιτρέπει ο αριθμός των νημάτων κατά την εφαρμογή(ές) να δεσμεύεται με το μέγεθος της πισίνας. 68
69 Προβλήματα με τη δημιουργία πολυνηματικών διεργασιών Συγκρούσεις μεταξύ νημάτων που χρησιμοποιούν την ίδια καθολική μεταβλητή. 69
70 Υπάρχει ενδεχομένως πρόβλημα στις μεταβλητές των νημάτων Τα νήματα μπορούν να έχουν ιδιωτικές μεταβλητές. 70
71 Προβλήματα για πρόσβαση σε κοινή μνήμη Δύο διεργασίες επιθυμούν να προσπελάσουν κοινή μνήμη ταυτοχρόνως! 71
72 Παραδείγματα νημάτων Posix Pthreads: (IEEE) standard: Έχουν καθορισμένη διεπαφή. Η υλοποίηση (χρησιμοποιώντας user/kernel level threads) εξαρτάται από όσους τα αναπτύσσουν. Είναι πιο συνηθισμένα σε συστήματα UNIX. Java threads: Υποστηρίζονται από την JVM. Η υλοποίηση εξαρτάται από όσους τα αναπτύσσουν. 72
73 Hyper-threading H Intel υλοποιεί την τεχνολογία hyper-threading που μοιάζει με την πολυνημάτωση, υλοποιείται σε συστήματα με έναν πυρήνα και τα κάνει να εμφανίζονται σαν να διαθέτουν πολλαπλούς επεξεργαστές. Εκείνο το οποίο επιτυγχάνεται είναι η αύξηση του ρυθμού με τον οποίο το σύστημα μπορεί να εναλλάσσεται μεταξύ πολλών νημάτων. Έτσι ενισχύεται ο πολυδιεργασιακός χαρακτήρας των προσωπικών υπολογιστών. 73
74 Πλεονεκτήματα των νημάτων ως προς τις διεργασίες Η δημιουργία μιας νέας διεργασίας μπορεί να είναι περισσότερο δαπανηρή. Απαιτεί χρόνο: χρειάζεται κλήση στον πυρήνα του Λ.Σ. Μπορεί να προκαλέσει επαναδρομολόγηση οπότε θα προκύψει εναλλαγή πλαισίου με αντικατάσταση ολόκληρης της διεργασίας Η επικοινωνία και ο συγχρονισμός κοστίζουν διότι απαιτείται κλήση στον πυρήνα. Τα νήματα μπορούν να δημιουργηθούν χωρίς να αντικατασταθεί ολόκληρη η διεργασία. Το περισσότερο έργο για τη δημιουργία του νήματος γίνεται στο χώρο διευθύνσεων του χρήστη παρά στον πυρήνα του Λ.Σ. Τα νήματα συγχρονίζονται με την παρακολούθηση μιας μεταβλητής, σε αντίθεση με τις διεργασίες που απαιτούν κλήση πυρήνα. 74
75 Νήματα & Διεργασίες: σύγκριση Νήματα Ένα νήμα δεν διαθέτει data segment ή heap. Ένα νήμα δεν μπορεί να υπάρξει μόνο του, πρέπει να υπάρχει στα πλαίσια μιας διεργασίας. Υπάρχουν περισσότερα από ένα νήματα σε μια διεργασία. Το πρώτο νήμα είναι το κύριο και κατέχει τη στοίβα της διεργασίας. Η δημιουργία του καθώς και η εναλλαγή πλαισίου δεν είναι δαπανηρή. Αν ένα νήμα εκλείψει η στοίβα του επιστρέφεται στους πόρους του συστήματος. Διεργασίες Μια διεργασία έχει code/data/heap καθώς και άλλα segments. Υπάρχει ένα τουλάχιστον νήμα σε μια διεργασία. Τα νήματα σε μια διεργασία διαμοιράζονται code/data/heap και I/O, αλλά το καθένα έχει τη δική του στοίβα και τους δικούς του καταχωρητές. Η δημιουργία τους καθώς και οι εναλλαγές πλαισίου είναι δαπανηρές. Αν μια διεργασία εκλείψει οι πόροι της επιστρέφονται στο σύστημα και όλα της τα νήματα εκλείπουν. 75
76 Νήματα και ΛΣ Τα ΛΣ χαρακτηρίζονται ως προς τη σχέση που έχουν τα νήματα με τις ανεξάρτητες οντότητες χρονοδρομολόγησης ως εξής: 1:1 (νήματα πυρήνα) Κάθε νήμα αντιστοιχεί σε μια οντότητα. N:1 (νήματα χρήστη) Πολλαπλά νήματα που ανήκουν σε μια διεργασία αντιστοιχούν μόνο σε μια οντότητα (τη συγκεκριμένη διεργασία). N:M (υβριδική υλοποίηση) Συνδυασμός των παραπάνω. 76
77 Πιο προχωρημένα θέματα (1/2) Εκτός από τα νήματα υπάρχουν: Ίνες (fibers) πιο ελαφριά οντότητα από νήματα. Η κάθε ίνα παραχωρεί τον επεξεργαστή σε άλλη ίνα. Δε γίνεται χρονοδρομολόγηση άλλης ίνας, αν δεν γίνει οικειοθελής παράδοση από την αρχική ίνα. Πράσινα νήματα (green threads) νήματα που δρομολογούνται όχι από το ΛΣ αλλά από μια VM (όπως python ή java) {user level}. 77
78 Πιο προχωρημένα θέματα (2/2) Παραδείγματα υλοποίησης σε επίπεδο πυρήνα: Light Weight Kernel Threads (LWKT) σε διάφορα BSDs. M:N νήματα. Native POSIX Thread Library (NPTL) για Linux, (μια υλοποίηση του προτύπου Posix Threads). Apple Multiprocessing Services έκδοση 2.0. Microsoft Windows από Windows 95 και νεότερα. Παραδείγματα υλοποίησης σε επίπεδο χρήστη: GNU Portable Threads. FSU Pthreads. Apple inc s Thread Manager. REALbasic. Netscape Portable Runtime. State threads. Παραδείγματα υβριδικής υλοποίησης: Scheduler activations. Marcel from the PM2 project. The OS from the Tera/Cray MTA. Microsoft Windows 7. Παραδείγματα υλοποίησης ίνας: Οι ίνες μπορούν να υλοποιηθούν χωρίς την υποστήριξη του ΛΣ αν και κάποια. ΛΣ ή βιβλιοθήκες παρέχουν σαφή υποστήριξη. Win32 παρέχουν ένα ΑΡΙ ίνας. Ruby as Green Threads. 78
79 Τέλος Ενότητας 79
Λειτουργικά Συστήματα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες. Καταστάσεις Διεργασιών. PCB. Νήματα. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΛειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 4 : Αρχιτεκτονικές ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΕργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ
Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα
Διαβάστε περισσότεραΛειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΤι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων
Διαβάστε περισσότερα1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»
1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed
Διαβάστε περισσότεραΕ-85: Ειδικά Θέµατα Λογισµικού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr
ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή
Διαβάστε περισσότεραΛΟΓΙΣΜΙΚΟ (software)
ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραΠεριγραφή και Έλεγχος ιεργασιών
Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΕισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΚατανεμημένα Συστήματα
Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα
ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ
Διαβάστε περισσότεραΔιεργασίες και Νήματα (2/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΚεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
Διαβάστε περισσότεραΛιβανός Γιώργος Εξάμηνο 2017Β
Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΛειτουργικά Συστήματα
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΕισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος
Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής
Διαβάστε περισσότεραΕπιτεύγµατα των Λ.Σ.
Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 7: Αποκωδικοποίηση Εντολής x86 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΛιβανός Γιώργος Εξάμηνο 2017Β
Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραΒασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1
Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Μονονηματική / πολυνηματική εκτέλεση Μονονηματικό μοντέλο εκτέλεσης (συμβατικό) Οι εντολές του κώδικα εκτελούνται σειριακά Ένα μοναδικό νήμα εκτέλεσης (execution
Διαβάστε περισσότεραΣκελετός Παρουσίασης
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: Διαδικασίες, Σωρός, Διαφανείς συναρτήσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΤμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών
Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)
Διαβάστε περισσότεραΠληροφορική 2. Λειτουργικά Συστήματα
Πληροφορική 2 Λειτουργικά Συστήματα 1 2 Λογισμικό Υπολογιστών Υπολογιστής Υλικό Λογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών 3 Λειτουργικό Σύστημα (Operating System) Λειτουργικό Σύστημα (ΛΣ) είναι
Διαβάστε περισσότεραΗΜΥ Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 - Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Υπολογιστών και Μικροεπεξεργαστών Διάλεξη 4 Περίληψη Συναρτήσεις Χρονόμετρο Χρήση Διακοπτών Coprocessor Διαχείριση
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Εισαγωγή στην Πληροφορική Λογισμικό Συστήματος & Εφαρμογών ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Γενική Δομή Υπολογιστών Λειτουργικό σύστημα Υπολογιστής
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 3: Καταχωρητές, Τμήματα, Διευθυνσιοδότηση Μνήμης, SEGMENT, MOV, ADD, SUB, INT, TITLE, LEA
Διαβάστε περισσότεραΣκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»
Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών
Διαβάστε περισσότεραΕνότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19
Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν
Διαβάστε περισσότεραΜάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων
Διαβάστε περισσότεραΛειτουργικά συστήματα πραγματικού χρόνου
Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού
Διαβάστε περισσότεραΕνότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1
ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 1 ΕΙΣΑΓΩΓΗ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που
Διαβάστε περισσότεραΠρογραμματισμός Ταυτόχρονος Προγραμματισμός
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 1: Ο προσομοιωτής DOSBOX Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 1 : Εισαγωγή Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 2: Καταχωρητές, HelloWorld σε 8086, emu8086 emulator Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΙστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:
Διαβάστε περισσότεραΥποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε
Διαβάστε περισσότεραΕισαγωγή εκτελέσιμου κώδικα σε διεργασίες
0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε
Διαβάστε περισσότεραΛειτουργικά Συστήματα (ΗΥ321)
Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές
Διαβάστε περισσότερα3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα
ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός
Διαβάστε περισσότεραΑνάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου
ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 6: Threads Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότερα2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ
2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο
Διαβάστε περισσότεραΤμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών
Δομημένος Προγραμματισμός Ενότητα 5(γ): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται
Διαβάστε περισσότεραΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 13: Ταυτόχρονος Προγραμματισμός Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΠρογραμματισμός Υπολογιστών & Υπολογιστική Φυσική
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 7: Συναρτήσεις Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΚαρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης. Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA
Καρακασίδης Αλέξανδρος Καστίδου Γεωργία Παπαφώτη Μαρία Πέτσιος Κων/νος Στέφανος Σαλτέας Καλογεράς Παναγιώτης Threads in Java ΝΗΜΑΤΑ ΣΤΗ JAVA 1. Εισαγωγή Τι είναι Νήµα; Κάθε νήµα εκτέλεσης είναι ουσιαστικά
Διαβάστε περισσότεραΘοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο
Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals
Διαβάστε περισσότεραΕισαγωγή στην Επιστήμη των Υπολογιστών
Εισαγωγή στην Επιστήμη των Υπολογιστών Ενότητα 4: Λογισμικό Υπολογιστή (1/3), 2ΔΩ Τμήμα: Αγροτικής Οικονομίας & Ανάπτυξης Διδάσκων: Θεόδωρος Τσιλιγκιρίδης Μαθησιακοί Στόχοι Η Ενότητα 4 διαπραγματεύεται
Διαβάστε περισσότεραΛειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία
Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Γ ) Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών
Διαβάστε περισσότεραΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.
Διαβάστε περισσότεραΛειτουργικά Συστήματα Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system
Διαβάστε περισσότεραΕλληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Πληροφορική II. Ενότητα 1 : Λειτουργικά συστήματα. Δρ.
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Πληροφορική II Ενότητα 1 : Λειτουργικά συστήματα Δρ. Γκόγκος Χρήστος 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Χρηματοοικονομικής
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική & τον Προγραμματισμό
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Μνήμης Βασίλης Σακκάς 6/12/2013 1 Διαχείριση Μνήμης 1 Το τμήμα του Λ/Σ που διαχειρίζεται τη μνήμη λέγεται Διαχειριστής Μνήμης (Memory manager). Καθήκον του είναι
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Διαβάστε περισσότεραΚεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος
Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο
Διαβάστε περισσότεραΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ
ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΔΙΔΑΣΚΩΝ: Πασχαλίδης Δημοσθένης ΤΜΗΜΑ: Διαχείρισης Εκκλησιαστικών Κειμηλίων Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΟρισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα
ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί
Διαβάστε περισσότεραΠρογραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος
Προγραμματισμός Η/Υ Λογισμικό ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αλληλεπίδραση Συστημάτων Χρήστες Λογισμικό Εφαρμογών Λειτουργικό Σύστημα Επιπλέον
Διαβάστε περισσότεραΣυστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης
Διαβάστε περισσότεραΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα. 4o Εργαστήριο Σ.Α.Ε
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα 4o Εργαστήριο Σ.Α.Ε Ενότητα : Μελέτη και Σχεδίαση Σ.Α.Ε Με χρήση του MATLAB Aναστασία Βελώνη Τμήμα Η.Υ.Σ Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΤο λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
Διαβάστε περισσότεραΛειτουργικά συστήµατα. Λογισμικό Συστήματος 1
Λειτουργικά συστήµατα Λογισμικό Συστήματος 1 Figure 3.1 Batch processing 0-2 Λογισμικό Συστήματος Figure 3.2 Interactive processing 0-3 Λογισμικό Συστήματος Figure 3.3 Software classification 0-4 Λογισμικό
Διαβάστε περισσότεραΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ
ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε
Διαβάστε περισσότεραΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,
Διαβάστε περισσότεραΛειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 7 «Διαχείριση Μνήμης» Διδάσκων: Δ. Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Κύρια Μνήμη 1. Εισαγωγή 2. Βασική διαχείριση μνήμης 3. Μνήμη και πολυπρογραμματισμός 4. Τμηματοποίηση
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 5 : Αμοιβαίος Αποκλεισμός Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου
Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και
Διαβάστε περισσότεραΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του
Διαβάστε περισσότεραΣυστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
Διαβάστε περισσότεραΛύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΙΕΡΓΑΣΙΕΣ +- Με τον όρο διεργασία στο UNIX εννοούμε τη δυναμικη πράξη της
Διαβάστε περισσότεραΔημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Διαβάστε περισσότεραΕιδικά Θέματα Προγραμματισμού
Ειδικά Θέματα Προγραμματισμού Ενότητα 1: Εισαγωγή Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
Διαβάστε περισσότερα