Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

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

Download "Λειτουργικά. Συστήματα Ι. Διεργασίες-Νήματα. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών"

Transcript

1 Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Διεργασίες-Νήματα

2 Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση Linux Shell Scripting Διεργασίες-Νήματα Διαχείριση Μνήμης Είσοδος και Έξοδος Αδιέξοδα

3 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης [Σειρά άφιξης (First Come First Served- FCFS)] Εξυπηρέτηση με βάση τη μικρότερη διάρκεια Εξυπηρέτηση με βάση τη μικρότερη διάρκεια που απομένει

4 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Οι διεργασίες εξυπηρετούνται με τη σειρά που φθάνουν. Η επιλογή της επόμενης διεργασίας είναι ταχύτατη και ανεξάρτητη από το πλήθος των διεργασιών στην ουρά των έτοιμων διεργασιών. Αν φθάσουν πολλές διεργασίες την ίδια χρονική στιγμή, η διεργασία που θα εξυπηρετηθεί επιλέγεται τυχαία. Χωρίς προεκτόπιση: η διεργασία εκτελείται μέχρι να ανασταλεί από μόνη της. Πολύ απλός αλγόριθμος, υλοποιείται εύκολα. Χρησιμοποιεί μια ουρά FIFO (First-In-First-Out).

5 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Ευνοούνται οι CPU bound διεργασίες. Μια διεργασία που δεν χρησιμοποιεί Ε/Ε μπορεί να μονοπωλεί τη χρήση του επεξεργαστή. Μια I/O bound διεργασία θα περιμένει μέχρι να ολοκληρωθεί η CPU bound διεργασία. Θα περιμένει ακόμη και αν οι λειτουργίες Ε/Ε έχουν ολοκληρωθεί. Υπάρχουν μεγάλες διακυμάνσεις στον μέσο χρόνο επιστροφής. Συχνά προκύπτουν μεγάλοι χρόνοι αναμονής και απόκρισης. Ακατάλληλος για αλληλεπιδραστικά συστήματα.

6 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P

7 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1

8 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2

9 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3

10 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4

11 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5

12 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 79/5= /5=

13 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 79/5= /5=

14 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 79/5= /5=

15 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Η σειρά εξυπηρέτησης των διεργασιών επηρεάζει τους μέσους χρόνους: Απόκρισης και Ολοκλήρωσης. Στο παράδειγμα, οι διεργασίες εξυπηρετήθηκαν με τη σειρά: P1 P2 P3 P4 P5 Εάν η σειρά εξυπηρέτησης ήταν: P2 P1 P3 P4 P5

16 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 88/5= /5=

17 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 79/5= /5= Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 88/5= /5=

18 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P

19 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1

20 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2

21 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3

22 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4

23 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5

24 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Χρόνοι αναμονής

25 Χρονοπρογραμματισμός στα συστήματα δέσμης. Εξυπηρέτηση με βάση τη σειρά άφιξης Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1 P2 P3 P4 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 23/5=4.6 20/5=

26 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια χωρίς πρώτη προτίμηση (Shortest Job First Non Preemptive, SJFN) Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια πρώτης προτίμησης (Shortest Job First Preemptive, SJFP) Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια που απομένει (Shortest Remaining Time Next, SRTΝ)

27 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια χωρίς πρώτη προτίμηση (Shortest Job First Non Preemptive, SJFN) Το λειτουργικό σύστημα γνωρίζει (η διεργασία δηλώνει) το εκτιμώμενο μέσο χρονικό διάστημα χρήσης της CPU (π.χ. επαναλαμβανόμενες εργασίες με γνωστή διάρκεια). Όλες οι διεργασίες έχουν περίπου ταυτόχρονη άφιξη. Ενσωματώνει αναμφίβολα προτεραιότητες: οι συντομότερες διεργασίες έχουν δεδομένη προτεραιότητα. Χωρίς προεκτόπιση: αν εκχωρηθεί η CPU, η διεργασία δεν διακόπτεται μέχρι να ολοκληρωθεί ο καταιγισμός της. Δε προβλέπεται ενδιάμεση άφιξη διεργασιών. Βέλτιστη λύση για τις συγκεκριμένες παραδοχές: οι σύντομες εργασίες δεν επιβαρύνονται από αναμονές ενώ οι μακρόχρονες επηρεάζουν μόνο τον εαυτό τους. Αποτελεί μια προφανή βελτίωση του αλγορίθμου FCFS.

28 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Σύγκριση FCFS και SJFΝ Στα σχήματα, εάν Α=8, Β= 4, C =4, D=4 FCFS Απόκριση Ολοκλήρωση A 0 8 B 8 12 C D /4 56/4 SJF Απόκριση Ολοκλήρωση B 0 4 C 4 8 D 8 12 A /4 44/4

29 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5

30 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5 P3

31 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5 P3 P4

32 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5 P3 P4 P1

33 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5 P3 P4 P1 P2

34 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P5 P3 P4 P1 P2 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P P P P Μέσος Όρος 31/5=6.2 31/5=6.2 62/5=12.4 1

35 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια πρώτης προτίμησης (Shortest Job First Preemptive, SJFP) Τροποποίηση του SJF για τη περίπτωση που όλες οι διεργασίες δεν έχουν περίπου ταυτόχρονη άφιξη. H απόφαση λαμβάνεται με βάση τις διεργασίες που είναι διαθέσιμες κατά το τερματισμό ή ανατολή της εκτελούμενης διεργασίας. Κατάλληλη μέθοδος και για συστήματα χρονο-μερισμού. Και πάλι απαιτείται γνώση των μέσων χρόνων χρήσης της CPU. Είναι πιθανή η παρατεταμένη στέρηση. Αν νέες μικρής διάρκειας διεργασίας φθάνουν στο σύστημα οι προγενέστερες, μεγάλης διάρκειας διεργασίες, δεν θα εξυπηρετηθούν ποτέ. Με εξαίρεση τις ακραίες συνθήκες δίνει λύσεις καλύτερες του FCFS.

36 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 6 Χρόνος άφιξης 0

37 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 6 P2: 15 Χρόνος άφιξης 3 P1

38 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P1: 6 P2: 15 P3: 3 Χρόνος άφιξης 5 P1 P3

39 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P2: 15 P1: 6 P2: 15 P3: 3 P4: 4 Χρόνος άφιξης 8 P1 P3

40 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P1: 6 P2: 15 P3: 3 P2: 15 P4: 4 P1 P3 P4

41 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P1: 6 P2: 15 P3: 3 P2: 15 P4: 4 P2: 15 P1 P3 P4 P2

42 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P1: 6 P2: 15 P3: 3 P2: 15 P4: 4 P2: 15 P5: 2 P1 P3 P4 P2 P5

43 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SJFP Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P2: 15 P1: 6 P2: 15 P3: 3 P2: 15 P4: 4 P2: 15 P5: 2 P1 P3 P4 P2 P5 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P2 13-3= = =25 1 P3 6-5=1 6-5=1 9-5=4 1 P4 9-8=1 9-8=1 13-8=5 1 P = = =16 1 Μέσος Όρος 26/5=5.2 26/5=5.2 50/5=10 1

44 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια που απομένει (Shortest Remaining Time Next, SRTΝ) Επιλέγεται η διεργασία με το μικρότερο εναπομείναντα χρόνο. Έμμεση εφαρμογή προτεραιότητας. Ο εναπομένων χρόνος είναι ο συνολικός χρόνος καταιγισμού μείον το χρόνο που η διεργασία παρέμεινε προς εκτέλεση στη CPU. Με προεκτόπιση: αν φθάσει μια διεργασία με μικρότερο χρόνο καταιγισμού από τον υπολειπόμενο χρόνο καταιγισμού της τρέχουσας διεργασίας, η τρέχουσα διεργασία διακόπτεται. Δύσκολη υλοποίηση εξ αιτίας της αναγκαστικής πρόβλεψης των χρόνων καταιγισμού που απαιτείται.

45 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Η απόφαση για δρομολόγηση λαμβάνεται όταν: Μια διεργασία έχει ολοκληρώσει το χρόνο καταιγισμού της στη CPU Μια νέα διεργασία φθάνει στην ουρά των έτοιμων διεργασιών Οι προεκτοπιζόμενες διεργασίες οδηγούνται στην ουρά των έτοιμων διεργασιών. Απαιτείται καταγραφή των χαρακτηριστικών των διεργασιών που βρίσκονται στην ουρά των έτοιμων διεργασιών. Δίνει καλούς χρόνους απόκρισης στις διεργασίες μικρής διάρκειας. Αν ληφθούν υπόψη οι εναλλαγές πλαισίων η χρονική επιβάρυνση μπορεί να είναι σημαντική. Η παρατεταμένη στέρηση είναι πιθανή. Ο χρόνος άφιξης μιας νέας διεργασίας είναι σημαντικός.

46 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 6 P1

47 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P1: 6 P2: 15 P1 P1

48 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P1: 6 P2: 15 P2: 15 P1 P1 P2

49 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P2: 12 P1: 6 P2: 15 P2: 15 P3: 3 P1 P1 P2 P3

50 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P2: 12 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P1 P1 P2 P3 P2

51 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P2: 12 P2: 10 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P1 P1 P2 P3 P2 P4

52 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P1: 3 P2: 12 P2: 10 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P1 P1 P2 P3 P2 P4

53 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P2: 10 P1 P1 P2 P3 P2 P4

54 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 P5: 2 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P2: 10 P2: 10 P1 P1 P2 P3 P2 P4 P5

55 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 P5: 2 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P2: 10 P2: 10 P2: 10 P1 P1 P2 P3 P2 P4 P5 P2

56 Χρονοπρογραμματισμός στα συστήματα δέσμης Εξυπηρέτηση με βάση την διάρκεια- SRTN Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P P4: 1 P1: 3 P2: 12 P2: 10 P5: 2 P5: 2 P1: 6 P2: 15 P2: 15 P3: 3 P2: 12 P4: 4 P2: 10 P2: 10 P2: 10 P1 P1 P2 P3 P2 P4 P5 P2 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P (2) P2 (6-3)+(12-9)+(20-14)=12 (6-3)=12 (30-3)=27 3 P3 0 0 (12-9)=3 1 P4 0 0 (18-14)=3 1 (2) P5 (18-17)=1 (18-17)=1 (20-17)=3 1 Μέσος Όρος 13/5=2.6 13/5=2.6 36/5=7.2 7

57 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round-robin) Με βάση την προτεραιότητας (Priority) Πολλαπλές ουρές (Multiple Queues) Με βάση τη μικρότερη διάρκεια (Shortest Process Next, SPN) Άλλοι Αλγόριθμοι Εγγυημένος Με λοταρία Δίκαιης διανομής

58 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Εκ περιτροπής (Round Robin, RR) (a) Ουρά FIFO έτοιμων διεργασιών πριν την εκτέλεση της διεργασίας Β (b) Η ίδια ουρά μετά την εκτέλεση της διεργασίας B.. σειρά έχει η διεργασία F. Στις διεργασίες δίνεται ένα σταθερό ποσό χρόνου της CPU και αναφέρεται ως κβάντο χρόνου (time quantum, time slice, slot). Με προεκτόπιση: μια διεργασία επιτρέπεται να εκτελείται μέχρι να συμπληρωθεί το κβάντο χρόνου. Τότε το λειτουργικό σύστημα προκαλεί μια χρονοδιακοπή (timeout) και η εκτελούμενη διεργασία τίθεται στην ουρά των έτοιμων διεργασιών.

59 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Χρησιμοποιείται συχνά σε αλληλεπιδραστικά συστήματα χρονομερισμού. Βέλτιστο κβάντο χρόνου: Χρόνος θεματικής εναλλαγής: επιβάλλεται σε κάθε χρονοδιακοπή, άρα προκαλεί αντίστοιχη επιβάρυνση: π.χ. κβάντο 5msec και θεματική εναλλαγή 1msec σημαίνει επιβάρυνση 1/(1+5)~15%. Μέσος χρόνος χρήσης της CPU: αν το κβάντο χρόνου είναι πολύ μεγάλο σε σχέση με το μέσο χρόνο χρήσης της CPU τότε η προεκτόπιση θα συμβαίνει συχνότερα από τη χρονοδιακοπή, ενώ αν είναι πολύ μικρό, θα συμβαίνει το αντίθετο.

60 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Μεγάλο κβάντο χρόνου: ευνοούνται οι CPU bound διεργασίες. Μικρό κβάντο χρόνου: ευνοούνται οι I/O bound διεργασίες Κανόνας: 80-90% των διεργασιών να έχουν μέσο χρόνος χρήσης της CPU < quantum. Τυπικό κβάντο χρόνου: msec (ανάλογα με το χρονισμό και τη CPU). Γενικά περισσότερο ευνοούνται οι CPU bound διεργασίες. Μια I/O bound διεργασία χρησιμοποιεί την CPU για χρονικό διάστημα μικρότερο ή ίσο του κβάντου χρόνου και στη συνέχεια αναστέλλεται περιμένοντας για Ε/Ε. Μια CPU bound διεργασία εκτελείται για όλο το κβάντο χρόνου και τίθεται μετά στην ουρά των έτοιμων διεργασιών.

61 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Λύση (ιδεατό Round Robin): όταν μια λειτουργία E/E ολοκληρώνεται, η ανασταλμένη διεργασία μετακινείται σε μια βοηθητική ουρά που προτιμάται έναντι της βασικής ουράς των έτοιμων διεργασιών. Μια διεργασία που αποστέλλεται από την βοηθητική ουρά εκτελείται για χρόνο = κβάντο χρόνου - το χρόνο της προηγούμενης εκτέλεσης. Υπάρχουν λύσεις με μεταβλητό ή προσαρμοζόμενο ή εξειδικευμένο κβάντο.

62 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διάγραμμα ουράς για ιδεατό Round Robin

63 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 6 P1

64 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 3 P1: 6 P2: 15 P1 P2

65 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 3 P2: 12 P1: 6 P2: 15 P1: 3 P1 P2 P1

66 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 3 P2: 12 P3: 3 P1: 6 P2: 15 P1: 3 P2: 12 P1 P2 P1 P2

67 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 3 P2: 12 P3: 3 P2: 9 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P1 P2 P1 P2 P3

68 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P1 P2 P1 P2 P3 P2

69 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P1 P2 P1 P2 P3 P2 P4

70 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P4: 1 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P1 P2 P1 P2 P3 P2 P4 P5

71 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P4: 1 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P1 P2 P1 P2 P3 P2 P4 P5 P2

72 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P4: 1 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P2: 3 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P1 P2 P1 P2 P3 P2 P4 P5 P2 P 4

73 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P4: 1 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P2: 3 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P2: 3 P1 P2 P1 P2 P3 P2 P4 P5 P2 P 4 P2

74 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Εκ περιτροπής (Round Robin, RR) Διεργασία Χρόνος Άφιξης Διάρκεια Προτεραιότητα P P P P P Κβάντο = 3 μονάδες P2: 6 P4: 1 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P2: 3 P1: 6 P2: 15 P1: 3 P2: 12 P3: 3 P2: 9 P4: 4 P5: 2 P2: 6 P4: 1 P2: 3 P1 P2 P1 P2 P3 P2 P4 P5 P2 P 4 P2 Διεργασία Χρόνος Αναμονής Χρόνος Απόκρισης Χρόνος Ολοκλήρωσης # Context Switches P P2 (9-6)+(15-12)+(23-18)+(27-26)=12 0 (30-3)=27 5 P3 (12-9)=3 (12-9)=3 (15-9)=6 1 P4 (18-14)+(26-21)=9 (18-14)=4 (27-14)=13 2 P5 (21-17)=4 (21-17)=4 (23-17)=6 1 Μέσος Όρος 28/5=5.6 11/5=2.2 52/5= /5=2.2

75 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Πολλαπλές ουρές Χρονοπρογραμματισμός Πολλαπλές ουρές (Multiple Queues) Δρομολόγηση με προεκτόπιση και δυναμικό μηχανισμό μεταβολής προτεραιότητας. Διαφορετικές ουρές των έτοιμων διεργασιών με φθίνουσα σειρά προτεραιότητας : P(RQ0) > P(RQ1) >... > P(RQn) Σε κάθε ουρά (εκτός από τη χαμηλότερης προτεραιότητας ουρά) χρησιμοποιείται ένας απλός μηχανισμός, τύπου FCFS. Στη χαμηλότερης προτεραιότητας ουρά μια διεργασία δεν μπορεί να μετακινηθεί χαμηλότερα αλλά επιστρέφει στην ουρά επανειλημμένα, μέχρι να ολοκληρωθεί η εκτέλεσή της (Round Robin).

76 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Πολλαπλές ουρές Μια νέα διεργασία τοποθετείται στην RQ0. Όταν φθάσει στο συνολικό quantum χρόνου, τοποθετείται στην RQ1. Όταν αυτό ξανασυμβεί τοποθετείται στην RQ2... μέχρι να φθάσει στην RQn. Οι I/O-bound διεργασίες παραμένουν σε υψηλότερης προτεραιότητας ουρές. Οι CPU-bound διεργασίες κατευθύνονται χαμηλότερα. Ο διεκπεραιωτής επιλέγει μια διεργασία για εκτέλεση στην RQi μόνον αν RQi-1 έως RQ0 είναι κενές. Λαμβάνεται η πιθανότητα παρατεταμένης στέρησης: Παρέχεται ευελιξία στις διεργασίες των οποίων τα χαρακτηριστικά μεταβάλλονται κατά τη διάρκεια ζωής τους ώστε να μετακινηθούν σε ουρές ανώτερης προτεραιότητας.

77 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Πολλαπλές ουρές

78 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Πολλαπλές ουρές Τρεις ουρές: Q1 quantum 8 msecs υψηλή προτεραιότητα Q2 quantum 16 msecs μεσαία προτεραιότητα Q3 FCFS χαμηλή προτεραιότητα Χρονοπρογραμματισμός: Οι νέες διεργασίες εισέρχονται στην ουρά Q1 Οι διεργασίες με μικρούς χρόνους καταιγισμού CPU έχουν υψηλή προτεραιότητα. Οι διεργασίες με μεγάλους χρόνους καταιγισμού μετακινούνται στην ουρά χαμηλής προτεραιότητας.

79 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Πολλαπλές ουρές

80 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Τροποποίηση των αλγορίθμων SJFP ή SRTN για αλληλεπιδραστικά συστήματα. Εκτίμηση της διάρκειας του επομένου καταιγισμού (CPU burst) κάθε διεργασίας στην ουρά έτοιμων με βάση το ιστορικό της κάθε διεργασίας, π.χ. Ε(i) = a * B(i-1) + (1-a) * E(i-1) με E(i) το εκτιμώμενο χρόνο του επομένου CPU burst, B(i-1) το πραγματικό χρόνο του τελευταίου CPU burst, E(i-1) την προηγούμενη εκτίμηση που είχε κάνει τo λειτουργικό σύστημα και a το συντελεστή 'γήρανσης'. Συνήθως a = ½ (shift right 1 bit).

81 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Ο υπολογισμός της διάρκειας καταιγισμού βασίζεται στη παραδοχή ότι τα πλέον πρόσφατα στιγμιότυπα είναι καταλληλότερα για να εκφράσουν τη μελλοντική συμπεριφορά, επομένως είναι επιθυμητό να δίνεται σε αυτά μεγαλύτερο βάρος. Η χρήση του συντελεστή γήρανσης a είναι μια κοινή τεχνική για την πρόβλεψη της μελλοντικής τιμής που προσεγγίζει καλύτερα την πραγματικότητα. Ο βεβαρυμμένος μέσος όρος παρακολουθεί τις αλλαγές στη συμπεριφορά της διεργασίας ταχύτερα από τον απλό μέσον όρο. Συνήθως χρησιμοποιείται μια σταθερή τιμή για το a, ανεξάρτητη από το πλήθος των παλαιότερων παρατηρήσεων. Έτσι λαμβάνονται υπόψη όλες οι παλιές τιμές αλλά αυτές με τη μεγαλύτερη απόσταση από την τρέχουσα έχουν το μικρότερο βάρος.

82 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Επίδραση του συντελεστή γήρανσης στη συμμετοχή παλαιότερων τιμών μετρήσεων και παρατηρήσεων

83 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Εκτίμηση χρόνου καταιγισμού Στην πράξη, η διάρκεια του επόμενου καταιγισμού μιας διεργασίας στη CPU δεν είναι γνωστή. Ως συνέπεια, αλγόριθμοι όπως οι SJF, SRTN, SPN στην απλή τους μορφή δεν είναι εύχρηστοι. Η διάρκεια καταιγισμού (CPU busrt) μιας διεργασίας μπορεί να υπολογιστεί ως συνάρτηση των προηγούμενων καταιγισμών της ίδιας διεργασίας. Ο ακριβής (αναλυτικός) υπολογισμός είναι δύσκολος. Συνήθως χρησιμοποιείται απλός τύπος που δίνει έμφαση στους πρόσφατους καταιγισμούς της διεργασίας. Ε(i) = a * B(i-1) + (1-a) * E(i-1) a = Αρχικό B(0) τυχαίο, 10.

84 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Χρόνος Εκτίμηση Προηγούμενο Burst T * * 0 = 7.5 -

85 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Χρόνος Εκτίμηση Προηγούμενο Burst T * * 0 = T * * 7.5 = 6.375

86 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Χρόνος Εκτίμηση Προηγούμενο Burst T * * 0 = T * * 7.5 = T * * = 3.85

87 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Χρόνος Εκτίμηση Προηγούμενο Burst T * * 0 = T * * 7.5 = T * * = T * * 3.85 = 6.2

88 Χρονοπρογραμματισμός στα αλληλεπιδραστικά συστήματα Μικρότερης διάρκειας (Shortest Process Next, SPN) Χρόνος Εκτίμηση Προηγούμενο Burst T * * 0 = T * * 7.5 = T * * = T * * 3.85 = T * * 6.2 = 9.55

89 Ασκήσεις Τρεις διεργασίες, όπου θεωρητικά πρέπει να υπάρχουν έξι δυνατές μεταβάσεις, δύο από κάθε κατάσταση. Γιατί εμφανίζονται μόνο τέσσερις; Υπάρχει περίπτωση να εμφανισθούν μία ή δύο από τις απούσες μεταβάσεις; Απάντηση: Η μετάβαση από την αποκλεισμένη για εκτέλεση είναι νοητή. Ας υποθέσουμε ότι μια διεργασία είναι αποκλεισμένη για I/O και το I/O τελειώνει. Αν η CPU είναι σε αδράνεια, η διαδικασία θα μπορούσε να πάει απευθείας από μπλοκάρισμα σε εκτέλεση. Η μετάβαση που λείπει (από έτοιμη σε μπλοκάρισμα), είναι αδύνατη. Μια έτοιμη διαδικασία δεν μπορεί να κάνει I/O ή τίποτα άλλο που μπορεί να την εμποδίσουν. Μόνο εφόσον μια διαδικασία εκτελείται μπορεί να εμποδιστεί

90 Ασκήσεις Πολλές εργασίες μπορούν να εκτελεστούν παράλληλα και να ολοκληρωθούν πιο γρήγορα σε σχέση με τη σειριακή εκτέλεση τους. Υποθέστε ότι δυο εργασίες, κάθε μια από τις οποίες χρειάζεται 10 λεπτά χρόνο της CPU, ξεκινούν ταυτόχρονα. Πόσο θα χρειαστεί η τελευταία για να ολοκληρωθεί αν εκτελεστούν σειριακά; Πόσο για παράλληλη εκτέλεση; Υποθέστε 50% αναμονή για I/O Απάντηση: Αν κάθε εργασία έχει 50% αναμονή I/O, τότε θα χρειαστούν 20 λεπτά για να ολοκληρωθεί με απουσία ανταγωνισμού. Εάν εκτελούνται διαδοχικά, η δεύτερη θα τελειώσει 40 λεπτά αφού ξεκινήσει η πρώτη. Για δύο εργασίες, η χρήση της CPU κατά προσέγγιση θα είναι p = Έτσι, η καθεμιά παίρνει CPU λεπτά ανά λεπτό πραγματικού χρόνου. Για να συσσωρεύονται 10 λεπτά από το χρόνο της CPU, μια εργασία πρέπει να τρέξει για 10 / λεπτά, ή περίπου 26,67 λεπτά. Έτσι εάν τρέχουν διαδοχικά οι ολοκληρώνονται μετά από 40 λεπτά, ενώ παράλληλα μετά από 26,67 λεπτά.

91 Ασκήσεις Ένας πολυνηματικός διακομιστής είναι καλύτερος από ένα μονονηματικό διακομιστή κι ένα διακομιστή υλοποιημένο σε μηχανή πεπερασμένων καταστάσεων. Υπάρχουν συνθήκες στις οποίες θα μπορούσε να είναι καλύτερος ένας μονονηματικός διακομιστής; Δώστε ένα παράδειγμα. Απάντηση: Ναι. Εάν ο διακομιστής είναι εντελώς CPU-bound, δεν υπάρχει καμία ανάγκη να έχει πολλαπλά νήματα. Προσθέτει μόνο περιττή πολυπλοκότητα. Ως παράδειγμα, σκεφτείτε έναν αριθμό συνδρομής τηλεφωνικού καταλόγου για μια περιοχή με 1 εκατομμύριο ανθρώπους. Εάν κάθε εγγραφή (όνομα, αριθμός τηλεφώνου) είναι, π.χ., των 64 χαρακτήρες, ολόκληρη η βάση δεδομένων λαμβάνει 64 megabytes και μπορεί εύκολα να διατηρείται στη μνήμη του διακομιστή για γρήγορη αναζήτηση.

92 Ασκήσεις Καλείστε να συγκρίνετε την ανάγνωση ενός αρχείου με τη χρήση μονονηματικού διακομιστή αρχείων και με τη χρήση πολυνηματικού διακομιστή. Χρειάζονται 15 msec για να ληφθεί μια αίτηση εργασίας, να διεκπεραιωθεί, και να γίνει η υπόλοιπη επεξεργασία, με την προϋπόθεση ότι τα δεδομένα που απαιτούνται βρίσκονται στην κρυφή μνήμη. Αν χρειάζεται λειτουργία δίσκου, πράγμα που συμβαίνει στο ένα τρίτο των περιπτώσεων, απαιτούνται επιπλέον 75 msec, στη διάρκεια των οποίων το νήμα είναι σε λήθαργο. Πόσες τέτοιες αιτήσεις ανά δευτερόλεπτο μπορεί να διαχειριστεί ο διακομιστής αν είναι μονονηματικός και πόσες αν είναι πολυνηματικός; Απάντηση: Στο μονονηματική περίπτωση, τα αιτήματα τα χτυπήματα της cache παίρνουν 15 msec και οι αποτυχίες κρυφής (δηλαδή, να μην υπάρχουν τα αιτούμενα δεδομένα στη μνήμη) λαμβάνει 90 msec. Ο σταθμισμένος μέσος όρος είναι 2/ /3 90. Έτσι, ένα μέσο αίτημα λαμβάνει 40 msec και ο διακομιστής μπορεί να κάνει 25 ανά δευτερόλεπτο. Για ένα πολυνηματικό διακομιστή, όλη η αναμονή για τη χρήση του δίσκου επικαλύπτεται, έτσι ώστε κάθε αίτημα λαμβάνει 15 msec, και ο διακομιστής μπορεί να χειριστεί 66 2/3 αιτήσεις ανά δευτερόλεπτο.

93 Ασκήσεις Οι εργαζόμενοι σε ένα εστιατόριο γρήγορου φαγητού χωρίζονται σε τέσσερις κατηγορίες: (1) αποδέκτες παραγγελιών, οι οποίοι παίρνουν τις παραγγελίες των πελατών, (2) μάγειρες, οι οποίοι ετοιμάζουν το φαγητό, (3) συσκευαστές, οι οποίοι τοποθετούν το φαγητό σε πακέτα και (4) ταμίες, που δίνουν στους πελάτες τα πακέτα και εισπράττουν τα χρήματα. Κάθε εργαζόμενος μπορεί να θεωρηθεί ως επικοινωνούσα σειριακή διεργασία. Ποια μορφή διαδιεργασιακής επικοινωνίας χρησιμοποιούν; Συσχετίστε το μοντέλο αυτό με τις διεργασίες στο UNIX. Απάντηση: Οι εργαζόμενοι μπορούν να επικοινωνούν με το πέρασμα μηνύματα: παραγγελίες, φαγητό, τσάντες. Σε ότι αφορά το UNIX, οι τέσσερις διεργασίες συνδέονται με pipes.

94 Ασκήσεις Θεωρήστε ένα σύστημα μεταβίβασης μηνυμάτων που χρησιμοποιεί γραμματοκιβώτια. Όταν στέλνεται μήνυμα σε γεμάτο γραμματοκιβώτιο ή γίνεται προσπάθεια να ληφθεί μήνυμα από άδειο γραμματοκιβώτιο, οι διεργασίες δεν μπλοκάρονται. Αντί γι αυτό, τους επιστρέφεται ένας κωδικός σφάλματος. Η διεργασία ανταποκρίνεται στον κωδικό σφάλματος επιχειρώντας απλώς ξανά και ξανά, μέχρι να επιτύχει. Οδηγεί η μέθοδος αυτή σε συνθήκες ανταγωνισμού; Απάντηση: Αυτό δεν οδηγεί σε συνθήκες ανταγωνισμού (τίποτα δεν χάνεται ποτέ), αλλά είναι busy waiting.

95 Ασκήσεις Ο υπολογιστής CDC6600 μπορούσε να χειριστεί ταυτόχρονα μέχρι 10 διεργασίες εισόδου/ εξόδου το πολύ, χρησιμοποιώντας μια ενδιαφέρουσα εκδοχή του χρονοπρογραμματισμού με εξυπηρέτηση εκ περιτροπής, η οποία ονομάζεται κοινή χρήση επεξεργαστή (processor sharing). Μετά κάθε εντολή γινόταν εναλλαγή διεργασίας, οπότε η εντολή 1 προέρχονταν από τη διεργασία 1, η εντολή 2 από τη διεργασία 2, κ.ο.κ. Η εναλλαγή διεργασιών γινόταν από εξειδικευμένο υλικό και η επιβάρυνση ήταν μηδενική. Αν μια διεργασία χρειαζόταν Τ sec για να ολοκληρωθεί σε απουσία ανταγωνισμού, πόσο θα χρειαζόταν αν χρησιμοποιούνταν κοινή χρήση επεξεργαστή και υπήρχαν συνολικά n διεργασίες; Απάντηση: Χρειάζονται nt sec

96 Ασκήσεις Πέντε εργασίες περιμένουν να εκτελεστούν. Οι αναμενόμενοι χρόνοι εκτέλεσης τους είναι 9, 6, 3, 5 και X. Με ποια σειρά πρέπει να εκτελεστούν ώστε να ελαχιστοποιηθεί ο μέσος χρόνος απόκρισης (η απάντηση πρέπει να είναι συνάρτηση του X). Απάντηση: Ο τρόπος για την ελαχιστοποίηση του μέσου χρόνου απόκρισης είναι η μικρότερη εργασία να είναι πρώτη, οπότε: 0 < X 3: X, 3, 5, 6, 9. 3 < X 5: 3, X, 5, 6, 9. 5 < X 6: 3, 5, X, 6, 9. 6 < X 9: 3, 5, 6, X, 9. X > 9: 3, 5, 6, 9, X.

97 Ασκήσεις Οι ακόλουθες διεργασίες P1, P2, P3, P4 και P5 (με αυτή τη σειρά εισαγωγής στο σύστημα), με χρόνο άφιξης 0 για όλες, διάρκεια εκτέλεσης 6, 15, 3, 4, 2 και προτεραιότητα 1 για όλες. Υπολογίστε το μέσο χρόνο αναμονής, το μέσο χρόνο απόκρισης και το μέσο χρόνο ανάκαμψης με χρήση του αλγορίθμου Χρονοπρογραμματισμού με Βάση τη Σειρά Άφιξης (FCFS, First-Come-First-Served). Απάντηση: Δίνουμε προτεραιότητες στις διεργασίες ώστε οι μικρότερες να εκτελεστούν πρώτες (αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια). Δίνουμε προτεραιότητες στις διεργασίες ώστε οι μικρότερες να εκτελεστούν πρώτες (αλγόριθμος εξυπηρέτησης με βάση τη μικρότερη διάρκεια). Ολοκλήρωση διεργασιών: P1: 2 P3: 2+3 P4: P1: P2: Μέσος Χρόνος διεκπεραίωσης είναι: (2 + (2+3) + (2+3+4) + ( ) + ( ))/5 = 12 Βέλτιστη όταν όλες οι διεργασίες είναι διαθέσιμες ταυτόχρονα

98 Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Διαχείριση Μνήμης

99 Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση Linux Shell Scripting Διεργασίες-Νήματα Διαχείριση Μνήμης Είσοδος και Έξοδος Αδιέξοδα

100 Διαχείριση Μνήμης Σελιδοποίηση Παράδειγμα Απεικόνιση λογικών σε φυσικές διευθύνσεις Bit παρουσίας/ απουσίας Outgoing Physical Address (0x6004, 24580) Παράδειγμα 4KB pages (12-bit offset) 16 bit virtual address space 16 pages (4-bit index) 8 physical pages (3-bit index) Page Table bit index into page table Virtual page=0010= bit offset Incoming Virtual Memory (0x2004, 8196)

101 Διαχείριση Μνήμης Σελιδοποίηση Παράδειγμα: Θεωρείστε έναν Η/Υ με Virtual memory 64KB (16-bit virtual addresses) Physical memory 32KB (15-bit physical addresses) Page size 4KB Άρα, υπάρχουν 16 pages στη virtual memory, και 8 page frames στην κύρια μνήμη Το MMU διαχειρίζεται την αντιστοιχία ανάμεσα σε pages και page frames. Για την μετατροπή χρησιμοποιεί ένα page table (πίνακα σελίδων), που θα δούμε παρακάτω Τα X σημαίνουν ότι η σελίδα είναι swapped out, και για να χρησιμοποιηθεί απαιτείται πρώτα page-in.

102 Διαχείριση Μνήμης Σελιδοποίηση 15 bits φυσικής διεύθυνσης= 3 page frame number + 12 page offset Ο page number δείχνει τη θέση στο page table. To Present/absent bit δείχνει αν η σελίδα είναι στη μνήμη Αν bit==1 τότε δείχνει σε ποιο page frame βρίσκεται (δίνει τον page frame number). Αν bit==0 τότε προκαλείται page fault (σφάλμα σελίδας). 16 bits εικονικής διεύθυνσης = 4 page number + 12 page offset.

103 Διαχείριση Μνήμης Πίνακες Σελίδων Παράδειγμα υλοποίησης πίνακα σελίδων Σε ένα σύγχρονο σύστημα έχουμε χώρο διευθύνσεων 32 bits και φυσική μνήμη 1G. Με σελίδα 4Κ έχουμε αριθμό σελίδας 20 bits, δηλαδή πίνακα σελίδων 1Μ θέσεων. Κάθε θέση απαιτεί τόσα bits όσα χρειάζονται για την δεικτοδότηση των πλαισίων σελίδων της φυσικής μνήμης, δηλαδή 30-12=18 bits τουλάχιστο. Αν κάθε θέση του καταλαμβάνει 4 bytes τότε δεσμεύεται χώρος κύριας μνήμης : 2 20 Χ 4 bytes = 2 22 bytes = 4 MB Αν στο σύστημα «τρέχουν» 25 διεργασίες τότε απαιτείται χώρος για τους πίνακες σελίδων: 25 Χ 4 ΜΒ = 100 ΜΒ Μέγεθος φυσικής μνήμης 4Gb είναι συνηθισμένο και πιθανό; Ήδη χρησιμοποιείται διευθυνσιοδότηση 64-bits για την αύξηση του εικονικού χώρου διευθύνσεων.

104 Διαχείριση Μνήμης Πίνακες Σελίδων Ποιο είναι το μεγαλύτερο μέγεθος προγράμματος που χωρά σε ένα πίνακα σελίδων σε ένα σύστημα που χρησιμοποιεί φυσικές διευθύνσεις 32-bit και μέγεθος σελίδας 1K; Απάντηση: Φυσική Διεύθυνση 32 bits χώρος διευθύνσεων 2 32 διαφορετικές διευθύνσεις Μέγεθος σελίδας 1K = 2 10 διευθύνσεις μνήμης Άρα το μέγιστο πλήθος σελίδων = 2 32 / 2 10 = 2 22 Κάθε διεύθυνση των 32 bits (=4 bytes) πρέπει να χωρά σε κάθε μια από τις 2 22 θέσεις του πίνακα σελίδων άρα μέγεθος του πίνακα σελίδων 2 22 X 4bytes = 16Mb Οπότε μεγαλύτερο μέγεθος προγράμματος : 16Mb

105 Διαχείριση Μνήμης Πίνακες Σελίδων Δίνεται ο πίνακας σελίδων μιας διεργασίας. Ποιο είναι το μικρότερο δυνατό μέγεθος σελίδας; Δώστε σε δυαδική μορφή τη φυσική διεύθυνση της εικονικής διεύθυνσης 1234 Δώστε σε δεκαδική μορφή τη φυσική διεύθυνση της εικονικής διεύθυνσης 3333 Απάντηση: Γιατί το μέγεθος σελίδας είναι 1K; Page No Έστω μέγεθος σελίδας 512 bytes (=29 bytes) Η εικονική διεύθυνση 3333 απαιτεί 6 γεμάτες σελίδες (=512 Χ 6 =3072) και στην 7η σελίδα μετατόπιση (offset) = =261 Άρα απαιτούνται αριθμοί σελίδων 0, 1, 2, 3, 4, 5, 6, 7 Frame No Ο πίνακας όμως δεν έχει αριθμό σελίδας μεγαλύτερο του 5. Στην περίπτωση που θεωρηθεί ως μέγεθος σελίδας 512 bytes αυτομάτως η διεύθυνση 3333 είναι εκτός μνήμης, αδύνατο διότι μας δίνεται ότι ο πίνακας σελίδων της διεργασίας υφίσταται. Επομένως, ο επόμενος αριθμός που υπάρχει που υπάρχει ως δύναμη του 2 είναι 2 10 = 1024 bytes = 1ΚΒ

106 Διαχείριση Μνήμης Αντικατάσταση Σελίδων Επιλογή μιας σελίδας στη μνήμη, η οποία θα αντικατασταθεί μόλις θα πρέπει να φορτωθεί μια νέα σελίδα Οι αλγόριθμοι για το χειρισμό της αντικατάστασης είναι: Βέλτιστος (Optimal) Όχι πρόσφατης χρήσης (Not Recently Used, NRU) Πρώτος-μέσα-πρώτος-έξω (First-In-First-Out, FIFO) Δεύτερης ευκαιρίας (Second chance) Ρολογιού (Clock) Λιγότερο πρόσφατης χρήσης (Least Recently Used, LRU) Όχι συχνής χρήσης (Not Frequently Used, NFU) Γήρανσης (Aging) Λειτουργικού συνόλου (Working Set, WS) WSClock

107 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Βέλτιστος Αντικατάσταση της σελίδας που θα χρησιμοποιηθεί αργότερα στο μέλλον. Ανέφικτος αλγόριθμος στη γενική του μορφή Χρησιμοποιείται ως benchmark Σε ειδικές περιπτώσεις μπορεί να γίνει εκτίμηση, π.χ. συστήματα δέσμης με επαναλαμβανόμενη εκτέλεση του ίδιου προγράμματος σε παρόμοια δεδομένα Παράδειγμα του Βέλτιστου για 7 σελίδες και 4 πλαίσια Συμβολοσειρά Αναφοράς

108 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Βέλτιστος 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F Υποψήφιοι για αντικατάσταση: 4, 3, 1, 5 Επιλεχθείς: 1 Συμβολοσειρά Αναφοράς F F F F F Υποψήφιοι για αντικατάσταση: 4, 3, 2, 5 Επιλεχθείς: 3

109 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Βέλτιστος 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 6, 2, 5 Επιλεχθείς: 3 Συμβολοσειρά Αναφοράς F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 7, 2, 5 Επιλεχθείς: 2 ή 5 (και οι δύο σελίδες δε θα ξαναχρησιμοποιηθούν)

110 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Βέλτιστος 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 7, 6, 5 Επιλεχθείς: 6 ή 5 (οι σελίδες δε θα ξαναχρησιμοποιηθούν) Συμβολοσειρά Αναφοράς F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 7, 6, 1 Επιλεχθείς: 6 ή 1 (οι σελίδες δε θα ξαναχρησιμοποιηθούν)

111 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Βέλτιστος 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 7, 6, 5 Επιλεχθείς: 6 ή 5 (οι σελίδες δε θα ξαναχρησιμοποιηθούν) Συμβολοσειρά Αναφοράς F F F F F F F F F F Σφάλματα σελίδας: 10

112 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- NRU Συνοπτικά, αυτή η μέθοδος διαλέγει σαν θύμα μια σελίδα που δεν έχει χρησιμοποιηθεί πρόσφατα. Χρειάζεται πληροφορίες σχετικά με το πόσο πρόσφατα χρησιμοποιήθηκε η κάθε σελίδα και χρησιμοποιούνται τα ψηφία R και Μ που συνήθως υπάρχουν στις εγγραφές των Πινάκων Σελίδων: Το R γίνεται 1 όταν η αντίστοιχη σελίδα προσπελαύνεται. Το Μ γίνεται 1 όταν η αντίστοιχη σελίδα ενημερώνεται. Τις ενημερώσεις των R, M bits τις κάνει συνήθως το hardware. Όταν προκύπτει σφάλμα σελίδες, τις κατατάσει σε 4 σύνολα με βάση τις τρέχουσες τιμές των R και Μ: Κατηγορία 0: not referenced, not modified (RΜ=00) Κατηγορία 1. not referenced, modified (RΜ=01, μετά από timeout) Κατηγορία 2. referenced, not modified (RΜ=10) Κατηγορία 3. referenced, modified (RΜ=11) Ο NRU απομακρύνει στη τύχη μια σελίδα από το χαμηλότερο μη-κενό σύνολο (0, 1, 2, 3). Το σύνολο 1 προτιμάται του συνόλου 2. Απλός και εύκολος αλγόριθμος, με αποδεκτή απόδοση.

113 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- NRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F F F F Σφάλματα σελίδας: 12

114 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- FIFO Το λειτουργικό σύστημα διατηρεί λίστα των σελίδων που βρίσκονται στη μνήμη ταξινομημένη με τη χρονική σειρά άφιξης. Αντικαθίσταται η σελίδα που μπήκε πρώτη στη μνήμη. Μειονέκτημα: η σελίδα που αντικαθίσταται μπορεί να είναι σε χρήση. Σπάνια χρησιμοποιείται στη καθαρή του μορφή αλλά σε συνδυασμό.

115 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- FIFO 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F F Σφάλματα σελίδας: 10

116 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Δεύτερης ευκαιρίας Τροποποίηση του FIFO Εξετάζει σελίδες αρχίζοντας από την πιο παλιά, αλλά αντί να αντικαθιστά την πιο παλιά σελίδα, εξετάζει το R(eferenced) bit. Aν η σελίδα προς αντικατάσταση έχει R=1, τότε η σελίδα τοποθετείται στο τέλος της ουράς με R=0 και με χρόνο εισόδου ίσο με τον τρέχοντα. Για παράδειγμα έστω η λίστα σελίδων σε ουρά FIFO. Στη χρονική στιγμή 20 συμβαίνει page fault. Η σελίδα Α έχει εισέλθει τη χρονική στιγμή 0 και έχει R=1. Η σελίδα τοποθετείται στο τέλος της λίστας με R=0 και χρόνο εισόδου 20.

117 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Ρολογιού Βελτίωση του αλγορίθμου Δεύτερης Ευκαιρίας Η ουρά FIFO αντικαθίσταται από κυκλική λίστα και η μετακίνηση σελίδων και η αλλαγή χρόνου εισόδου αντικαθίσταται από μετακίνηση ενός δείκτη Έχει ίδια λειτουργία με τον Δεύτερης Ευκαιρίας, αλλά αποδοτικότερη υλοποίηση, γιατί το σημαντικότερο μειονέκτημα του Δεύτερης Ευκαιρίας είναι ότι συνεχώς ενημερώνει την λίστα, που αποτελεί χρονοβόρα διαδικασία Στον αλγόριθμο Ρολογιού, οι σελίδες-πλαίσια οργανώνονται σε μια κυκλική λίστα που προσομοιώνει ένα ρολόι, δηλαδή υπάρχει ένας δείκτης που δείχνει στην πιο παλιά σελίδα και όταν σημειώνεται ένα page fault, εξετάζεται η σελίδα που δείχνει ο δείκτης: Αν R=0, τότε αυτή είναι το θύμα & ο δείκτης προωθείται να δείχνει στην επόμενη σελίδα Αν R=1, τότε R=0 & ο δείκτης δείχνει στην επόμενη σελίδα και η αναζήτηση συνεχίζεται

118 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU Υποθέτει ότι οι σελίδες που χρησιμοποιήθηκαν πρόσφατα θα ξαναχρησιμοποιηθούν σύντομα Αντικαθίσταται η σελίδα που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα Εξαιρετικός αλγόριθμος αλλά απαιτείται καταγραφή της χρονικής στιγμής αναφοράς σε κάθε σελίδα και ενημέρωση σε κάθε αναφορά στη μνήμη Υλοποίηση λογισμικού: λίστα των σελίδων στη μνήμη. Μετά από κάθε αναφορά στη μνήμη η αντίστοιχη σελίδα μετακινείται στη αρχή της λίστας Αφαιρείται η τελευταία σελίδα (κοστοβόρο) Υλοποίηση με υλικό, καταχωρητή σε κάθε θέση του πίνακα σελίδων που ενημερώνεται από το ρολόι του συστήματος σε κάθε αναφορά στη μνήμη Αφαιρείται η σελίδα με τη μικρότερη τιμή (απαιτεί ειδικό υλικό)

119 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU Υλοποίηση LRU με πίνακα 4 πλαισίων σελίδας και σειρά αναφορών 0, 1, 2, 3, 2, 1, 0, 3, 2, 3

120 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F Υποψήφιοι για αντικατάσταση: 4, 3, 1, 5 Επιλεχθείς: 4 Συμβολοσειρά Αναφοράς F F F F F F Υποψήφιοι για αντικατάσταση: 2, 3, 1, 5 Επιλεχθείς: 5

121 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F Υποψήφιοι για αντικατάσταση: 2, 3, 1, 6 Επιλεχθείς: 1 Συμβολοσειρά Αναφοράς F F F F F F F F Υποψήφιοι για αντικατάσταση: 2, 3, 7, 6 Επιλεχθείς: 2

122 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 3, 7, 6 Επιλεχθείς: 3 Συμβολοσειρά Αναφοράς F F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 2, 7, 6 Επιλεχθείς: 6

123 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F F F Υποψήφιοι για αντικατάσταση: 4, 2, 7, 5 Επιλεχθείς: 7 Συμβολοσειρά Αναφοράς Υποψήφιοι για αντικατάσταση: 4, 2, 6, 5 Επιλεχθείς: F F F F F F F F F F F F

124 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F F F F F Υποψήφιοι για αντικατάσταση: 1, 2, 6, 7 Επιλεχθείς: 2 Συμβολοσειρά Αναφοράς Υποψήφιοι για αντικατάσταση: 1, 3, 6, 5 Επιλεχθείς: F F F F F F F F F F F F F F

125 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- LRU 7 σελίδες 4 πλαίσια Συμβολοσειρά Αναφοράς F F F F F F F F F F F F F F F Υποψήφιοι για αντικατάσταση: 1, 3, 6, 4 Επιλεχθείς: 6 Συμβολοσειρά Αναφοράς F F F F F F F F F F F F F F F Σφάλματα σελίδας: 15

126 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- NRU Τροποποίηση LRU για υλοποίηση λογισμικού: Έστω μνήμη με Ν πλαίσια σελίδας. Υπάρχουν Ν μετρητές (σε λογισμικό). Με κάθε σελίδα συνδέεται και ένας μετρητής (software counter) Κάθε μετρητής λαμβάνει αρχικά την τιμή 0. Σε κάθε timeout το λειτουργικό σύστημα σαρώνει τα N Reference bits ο πίνακα σελίδων και προσθέτει την τιμή τους (0 ή 1) στον αντίστοιχο μετρητή. Αντικαθίσταται η σελίδα με τη μικρότερη τιμή στο μετρητή της (λιγότερο συχνή χρήση) και ο μετρητής του πλαισίου μηδενίζεται. Μειονέκτημα: Μια σελίδα με for loop π.χ. θα έχει πολύ ψηλή τιμή μετρητή και δεν θα αντικαθίσταται εύκολα. Αντίθετα, σελίδες που μόλις έχουν εισέλθει στη μνήμη θα είναι πρώτες υποψήφιες για αντικατάσταση.

127 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Γήρανσης Τροποποίηση NFU για καλύτερη προσέγγιση του LRU Έστω μνήμη με Ν πλαίσια σελίδας. Υπάρχουν Ν μετρητές (σε λογισμικό). Όλοι λαμβάνουν αρχικά την τιμή 0. Σε κάθε timeout το λειτουργικό σύστημα κάνει δεξιά ολίσθηση 1 bit σε όλους τους μετρητές και σαρώνει τα N Reference bits ο πίνακα σελίδων και προσθέτει την τιμή τους (0 ή 1) στον αντίστοιχο μετρητή στο πιο αριστερό bit. Αντικαθίσταται η σελίδα με τη μικρότερη τιμή στο μετρητή της (λιγότερο συχνή χρήση) και ο μετρητής του πλαισίου μηδενίζεται. Παρατηρούμε ότι μετρούμε μόνο μία αναφορά ανά timeout, όχι κάθε αναφορά στη μνήμη. Τα bits του μετρητή είναι περιορισμένα, σε κάποια στιγμή μηδενίζεται.

128 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Γήρανσης Εκτέλεση του αλγορίθμου για έξι πλαίσια σελίδων και πέντε clock ticks (timeout), βήματα (a) ως (e).

129 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Κατ' Απαίτηση (Demand paging) Μεταφέρει σελίδες στην κύρια μνήμη μόνον όταν γίνει μια αναφορά σε μια διεύθυνση της σελίδας και αυτή δεν υπάρχει στη μνήμη Δημιουργούνται πολλά σφάλματα σελίδας (page faults) όταν η διεργασία ξεκινά για πρώτη φορά Προσελιδοποίηση (prepaging) Μεταφέρει περισσότερες σελίδες από αυτές που χρειάζονται Είναι περισσότερο αποτελεσματική, αλλά δεν είναι πάντοτε εφικτή, εξαρτάται από τον αλγόριθμο αντικατάστασης Αν χρησιμοποιείται DMA μπορεί να υλοποιηθεί συγχρόνως με την εκτέλεση του προγράμματος

130 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Απόσταση Συμβολοσειράς: Για κάθε στοιχείο μιας συμβολοσειράς αναφοράς, αντιπροσωπεύει την απόσταση του εν λόγω στοιχείου από την κορυφή της στοίβας Μ. Για παράδειγμα: Συμβολοσειρά Αναφοράς Απόσταση Συμβολοσειράς A B C D A B E A B C D A B E A B C D A B E A B C D A B E A B C D E A B C D E A B C D D D E A B C D C[i] αντιπροσωπεύει τον αριθμό των φορών που το i εμφανίζεται στην απόσταση συμβολοσειράς, οπότε για το προηγούμενο παράδειγμα είναι: C[0]=0, C[1]=0, C[2]=2, C[3]=2, C[4]=3, C[5] =0, C[ ]=5 F[j] είναι ο αριθμός των σφαλμάτων σελίδας που θα προκύψει για τη δεδομένη συμβολοσειρά αναφοράς με "j" φυσικά πλαίσια. F[j] = C[j] + C[j+1] + C[j+2] + C[j+3] C[ ] A B C C C C D E A B A

131 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Το F αποτελεί το Ρυθμό Σφαλμάτων Σελίδας C 1 = 4 C 2 = 2 C 3 = 1 Πλήθος φορών που το 1 εμφανίζεται την απόσταση συμβολοσειράς F 1 = 19 F 2 = 17 F 3 = 16 C 2 + C 3 + C C C 3 + C 4 + C C C 4 + C 5 + C C C 4 = 4 F 4 = 12 C 5 = 2 C 6 = 2 C 7 = 2 Πλήθος φορών που το 6 εμφανίζεται την απόσταση συμβολοσειράς F 5 = 10 F 6 = 10 F 7 = 8 Πλήθος των σφαλμάτων σελίδας σε 7 πλαίσια C = 8 F = 8 F m = n k=m+1 C k + C, όπου m ο αριθμός των διαθέσιμων πλαισίων σελίδων

132 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Η μοντελοποίηση του ρυθμού σφαλμάτων σελίδας εκτιμά τον αριθμό πλαισίων σελίδων που απαιτείται για το λειτουργικό σύνολο Στη πράξη το λειτουργικό σύστημα αναθέτει αρχικά ένα αριθμό πλαισίων σελίδων σε κάθε διεργασία και εκτελεί συνεχείς μετρήσεις των σφαλμάτων σελίδας με τον αλγόριθμο Page Fault Frequency (PFF) ώστε να γνωρίζει τον ρυθμό σφαλμάτων σελίδων. Αν ο ρυθμός είναι πολύ υψηλός τότε χορηγεί επιπλέον πλαίσια, αλλιώς μπορεί να αφαιρέσει πλαίσια σελίδων.

133 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Σε ακραίες περιπτώσεις ο αλγόριθμος PFF μπορεί να δείχνει ότι μερικές διεργασίες απαιτούν περισσότερη μνήμη αλλά δεν υπάρχει διαθέσιμη Αν μια διεργασία δεν διαθέτει αρκετές σελίδες θα παράγει πληθώρα σφαλμάτων σελίδων Στις πολλές προκλήσεις συνεχώς σφαλμάτων σελίδας λέμε ότι τα προγράμματα αλωνίζουν (thrashing) Συνέπεια η απόδοση πολυπρογραμματισμού μπορεί να μειωθεί δραματικά Ο επεξεργαστής σπαταλά το μεγαλύτερο μέρος του χρόνου για την εναλλαγή τμημάτων παρά για την εκτέλεση των εντολών του χρήστη

134 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Πίνακας Αναφοράς Σελίδας Δ Δ t 1 WS(t 1 )={1, 2, 5, 6, 7} WS(t 2 )={3, 4} t 2 Το λειτουργικό σύνολο περιλαμβάνει όλες τις σελίδες που έχουν χρησιμοποιηθεί κατά τη διάρκεια των k πιο πρόσφατων αναφορών και είναι μια χονδρική εκτίμηση που προκύπτει από τις τοπικότητες των αναφορών μιας διεργασίας. Το k καθορίζει το μέγεθος του λειτουργικού συνόλου Το λειτουργικό σύνολο μιας διεργασίας αλλάζει μέγεθος καθώς η διεργασία εξελίσσεται (χρονική στιγμή t), ενώ η βέλτιστη τιμή του είναι άγνωστη.

135 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Λειτουργικό Σύνολο τη χρονική στιγμή t με βάση τις k πιο πρόσφατες αναφορές. Μονότονη, μη φθίνουσα συνάρτηση ως προς k. Διατήρηση του λειτουργικού συνόλου στη κύρια μνήμη ώστε να αποφεύγεται η αρχική καθυστέρηση ή και το thrashing Εκτίμηση (πρόβλεψη) του πόσες και ποι'ες σελίδες ανήκουν στο λειτουργικό σύνολο ώστε να εφαρμοστούν τεχνικές προσελιδοποίησης (prepaging) Αλγόριθμος PPF και Αρχή Τοπικότητας Αναφορών

136 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου Τρέχων Εικονικός Χρόνος, το λειτουργικό σύστημα υπολογίζει για κάθε διεργασία τον χρόνο που κατέλαβε τη CPU Ορίζεται ένας Μέγιστος Εικονικός Χρόνος (ουσιαστικά οι k πιο πρόσφατες αναφορές) Στο πίνακα σελίδων σημειώνεται εκτός από το Reference bit και ο Χρόνος Τελευταίας Χρήσης, δηλαδή ο τρέχων εικονικός χρόνος κατά τo page fault). Το Reference bit = 0 σε κάθε timeout. Όταν συμβεί page fault το λειτουργικό σύστημα σαρώνει το πίνακα σελίδων: Αν το Reference bit == 1 τότε η σελίδα ανήκει στο WS. Το R bit τίθεται στο 0 και ενημερώνεται ο Χρόνος τελευταίας χρήσης. Αν το Reference bit == 0 τότε Αν Τρέχων Εικονικός Χρόνος- Χρόνος Τελευταίας Χρήσης> Μέγιστος Εικονικός Χρόνος τότε η σελίδα είναι εκτός WS αλλιώς είναι εντός WS. Αν δεν υπάρχει σελίδα εκτός WS τότε αντικαθίσταται η σελίδα με R bit == 0 και το max(τρέχων Εικονικός Χρόνος- Χρόνος Τελευταίας Χρήσης) όμως το λειτουργικό σύστημα χρειάζεται tuning

137 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- Λειτουργικού Συνόλου age = Τρέχων εικονικός χρόνος (Current virtual time)- Χρόνος τελευταίας χρήσης (Time of last use) τ = Μέγιστος εικονικός χρόνος

138 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- WSClock Ο WS έχει το μειονέκτημα της σάρωσης όλου του πίνακα σελίδων Ο WSClock συνδυάζει τη λειτουργία του WS με τις δομές του Clock Ισχύουν οι τρείς χρόνοι που ορίστηκαν στο WS. Το Reference bit = 0 σε κάθε timeout. Ο πίνακας σελίδων είναι οργανωμένος ως κυκλική λίστα και ένας δείκτης δείχνει τη τρέχουσα σελίδα (τελευταία αναφορά). Όταν συμβεί page fault το λειτουργικό σύστημα ελέγχει τη σελίδα που δείχνει ο δείκτης: Αν το Reference bit == 1 τότε η σελίδα ανήκει στο WS. Το R bit τίθεται στο 0 και ο δείκτης προχωρεί Αν το Reference bit == 0 τότε αν Τρέχων Εικονικός Χρόνος Χρόνος Τελευταίας Χρήσης Μέγιστος Εικονικός Χρόνος τότε η σελίδα ανήκει στο WS. Ο δείκτης προχωρεί. Τρέχων Εικονικός Χρόνος Χρόνος Τελευταίας Χρήσης > Μέγιστος Εικονικός Χρόνος και Dirty bit == 1 τότε η σελίδα είναι εκτός WS αλλά απαιτείται εναλλαγή. Χρονοπρογραμματίζεται για εναλλαγή. Dirty bit == 0 τότε η σελίδα είναι εκτός WS και δεν απαιτείται εναλλαγή. Μπορεί να υπεργραφεί.

139 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- WSClock Αν δεν βρεθεί καμία σελίδα που να ανήκει στη τελευταία κατηγορία τότε το λειτουργικό σύστημα. Περιμένει να εκτελεστεί κάποια από τις επιλεγμένες εναλλαγές για να συνεχίσει η διεργασία. Τίθεται ένα ανώτατο όριο εναλλαγών για να αποφύγουμε το thrashing. Το λειτουργικό σύστημα χρειάζεται tuning. Αν δεν υπάρχουν σελίδες στις δύο τελευταίες κατηγορίες τότε αναγκαστικά επιλέγουμε μια σελίδα από τη τρίτη (από το τέλος) κατηγορία με R bit == 0 αλλά εντός του WS, πιθανότατα την αρχαιότερη, αφού ο δείκτης έχει κάνει πλήρη κύκλο στη πίνακα σελίδων. Πάλι τιο λ.σ. χρειάζεται tuning. Ο WSClock θεωρείται σχετικά απλός και πολύ αποδοτικός αλγόριθμος και χρησιμοποιείται αρκετά.

140 Διαχείριση Μνήμης Αντικατάσταση Σελίδων- WSClock

141 Διαχείριση Μνήμης Τμηματοποίηση Απεικόνιση λογικών σε φυσικές διευθύνσεις Τα τμήματα έχουν δικό τους γραμμικό χώρο λογικών διευθύνσεων που είναι ανεξάρτητος για το καθένα (μέχρι κάποιο μέγιστο). Η λογική διεύθυνση του ενιαίου χώρου διευθύνσεων της διεργασίας τώρα αποτελείται από δύο τμήματα: αριθμός τμήματος (segment number) και διεύθυνση εντός του τμήματος (segment offset)

142 Διαχείριση Μνήμης Τμηματοποίηση Λογική διεύθυνση : Αριθμός τμήματος : 4 bits και είναι ο αριθμός 0001 Μετατόπιση τμήματος 12 bits Μέγιστο μέγεθος τμήματος 2 12 =4096 bytes Η μετατόπιση της λογικής διεύθυνσης αντιστοιχεί στον αριθμό: =(752) Αριθμός τμήματος 0001, χρησιμοποιείται στον segment table της διεργασίας για να βρεθεί η φυσική διεύθυνση της αρχής του τμήματος Συγκρίνεται η μετατόπιση με το μήκος του τμήματος. Αν Μετατόπιση > Μήκος Τμήματος προκύπτει μη έγκυρη διεύθυνση, αλλιώς Φυσική Διεύθυνση = Φυσική Διεύθυνση Αρχής Τμήματος + Μετατόπιση

143 Διαχείριση Μνήμης Τμηματοποίηση Από τον process segment table προκύπτει ότι το segment 0 έχει μήκος: = Άρα η λογική διεύθυνση πράγματι βρίσκεται στο segment 1 (752 > 750) Για να βρεθεί η φυσική διεύθυνση θα προσθέσω τη μετατόπιση στη βάση του segment 1: Base Offset Address

144 Ασκήσεις Θεωρείστε ένα σύστημα που χρησιμοποιεί απλή σελιδοποίηση και τεχνική TLB. Αν μια αναφορά στη μνήμη απαιτεί 400ns, μια αναφορά στο TLB απαιτεί 50ns και το ποσοστό επιτυχίας (hit - rate) στο TLB είναι 80% ποιος είναι ο πραγματικός χρόνος αναφοράς στη μνήμη; Πόση είναι η βελτίωση στην ταχύτητα (speed-up) λόγω χρήσης της τεχνικής TLB; Απάντηση: Απλή σελιδοποίηση: Κάθε αναφορά στη μνήμη απαιτεί 2 προσπελάσεις άρα συνολικός χρόνος : 400ns + 400ns = 800 ns Απλή σελιδοποίηση και TLB: Επιτυχία (hit) στο TLB : 50ns + 400ns = 450ns Αποτυχία (miss) στοtlb : 50ns + 400ns + 400ns = 850ns Πραγματικός χρόνος προσπέλασης με απλή σελιδοποίηση και TLB: 450*80% + 850*20% = 530ns Speed-up = 800/530 = 1.51

145 Ασκήσεις Θεωρείστε την παρακάτω ακολουθία αναφοράς σελίδων: 1, 2, 3, 4, 2, 1, 5, 6, 2, 1, 2, 3, 7, 6, 3, 2, 1, 2, 3, 6. Πόσα σφάλματα σελίδας θα γίνουν για τους αλγόριθμους αντικατάστασης: (α) LRU (β) FIFO (γ) Optimal, υποθέτοντας ότι 1, 2, 3, 4, 5, 6, 7 είναι τα πλαίσια; Όλα τα πλαίσια είναι καταρχήν κενά, έτσι οι πρώτες σελίδες θα στοιχίσουν ένα σφάλμα σελίδας. Απάντηση: Πλήθος Πλαισίων LRU FIFO Optimal

146 Ασκήσεις Θεωρείστε μια αρχιτεκτονική λογικής μνήμης με τις ακόλουθες παραμέτρους: Μνήμη που διευθυνσιοδοτείται ανά byte 24-bit λογικές διευθύνσεις Μέγεθος segment 2 ΜΒ Μέγεθος σελίδας 512 bytes Κάθε πίνακας σελίδων πρέπει να χωρά σε μια σελίδα. Υποθέστε ότι κάθε καταχώρηση στον πίνακα σελίδων περιέχει ένα read και ένα write bit προστασίας και ότι το μέγιστο ποσό φυσικής μνήμης που υποστηρίζεται από την αρχιτεκτονική είναι 8MB. Σχεδιάστε τη λογική διεύθυνση, δείχνοντας τον αριθμό των bits που χρησιμοποιούνται ως δείκτης σε κάθε επίπεδο των πινάκων σελίδων. (Υπόδειξη: Πρέπει να υπολογίσετε το μέγεθος κάθε καταχώρησης στον πίνακα σελίδων. Ως ενδιάμεσο βήμα, ίσως θεωρήσετε χρήσιμο να υπολογίσετε τον αριθμό που χωρούν στη φυσική μνήμη. Μετά, πόσα bits σε κάθε PTE απαιτούνται για να σχεδιάσετε μία από αυτές τις σελίδες; Προσθέστε τα 2 bits προστασίας για να υπολογίσετε το μέγεθος κάθε καταχώρησης.) Απάντηση: Από τις αρχικές παραμέτρους προκύπτει ότι μέγεθος segment 2MB = 2*1MB = 2*2 20 = 2 21 bits Εφόσον η λογική διεύθυνση έχει 24 bits απομένουν 24-21=3 bits για τον αριθμό segments Επειδή μέγεθος σελίδας = 512 bytes = 2 9 bits = offset και απομένουν 21-9 = 12 bits για τον αριθμό σελίδας (page number) 3 bits 12 bits 9 bits Seg Page # Page offset Με μέγεθος φυσικής μνήμης 8ΜΒ =2 23 bits για τον αριθμό πλαισίων απομένουν 23-9 = 14 bits [ο αριθμός πλαισίων αναφέρεται και ως πλήθος των σελίδων φυσικής μνήμης (Physical Page Number)] Το πλήθος των σελίδων φυσικής μνήμης είναι 2 23 / 2 9 = 2 14 δηλαδή απαιτούνται 14 bits για το πλήθος των σελίδων φυσικής μνήμης).

147 Ασκήσεις Άρα κάθε καταχώρηση (entry) στον πίνακα σελίδων απαιτεί (readwrite) = 16 bits = 2 bytes Για να χωρά κάθε πίνακας σελίδων σε μια σελίδα (=29 bits) ο μέγιστος αριθμός καταχωρήσεων θα είναι 2 9 /2=2 8 Άρα το πολύ 8 bits μπορούν να χρησιμοποιηθούν ως δείκτης στον πίνακα σελίδων που χωρά σε μια σελίδα Επειδή βρήκαμε ότι το πλήθος των bits που χρησιμοποιούνται για σελίδες είναι 12 έχουμε τουλάχιστον σελιδοποίηση με ένα επίπεδο 8 bits και ένα με 4 bits (δηλαδή συνολικά 2 επίπεδα). Από αυτά το επίπεδο των 4 bits είναι το εξωτερικό (πλησιέστερα προς το segment) και το επίπεδο των 8 bits το εσωτερικό (πλησιέστερα προς το offset): 3 bits 4 bits 8 bits Seg Outer Page # Inner Page # 9 bits Page offset

148 Ασκήσεις Ένα σύστημα χρησιμοποιεί διευθύνσεις των 32 bits και έχει κεντρική μνήμη 4MB. Το μέγεθος σελίδας είναι 1K. Ποιο είναι το μέγεθος του πίνακα σελίδων; Απάντηση: Ο πίνακας σελίδων περιέχει το πεδίο του αριθμού σελίδας της εικονικής διεύθυνσης. Έτσι το πλήθος των γραμμών στον πίνακα σελίδων είναι ίσο με τον αριθμό των εικονικών σελίδων Εικονικές σελίδες = 2 32 / 2 10 = 2 22 = 4Μ σελίδες Το πλάτος κάθε γραμμής στον πίνακα σελίδων είναι ίσο με το πλάτος του αριθμού σελίδας στην εικονική διεύθυνση δηλαδή 22 bits. Άρα το μέγεθος του πίνακα σελίδων είναι: Μέγεθος πίνακα σελίδων = πλήθος γραμμών * μέγεθος γραμμής Μέγεθος πίνακα σελίδων = 2 22 * 22 bits = 11.5 Mbytes

149 Ασκήσεις Αν ο αλγόριθμος αντικατάστασης σελίδας FIFO χρησιμοποιηθεί με τέσσερα πλαίσια σελίδας και οκτώ σελίδες, πόσα σφάλματα σελίδας θα προκύψουν αν η συμβολοσειρά αναφορών είναι , με δεδομένο ότι τα τέσσερα πλαίσια είναι ιεραρχικά άδεια; Επαναλάβετε το ίδιο πρόβλημα για τον αλγόριθμο LRU; Απάντηση: The page frames for FIFO are as follows: x xx xxx xxxx The page frames for LRU are as follows: x xx xxx xxxx FIFO yields six page faults; LRU yields seven.

150 Ασκήσεις Ένας μικρός υπολογιστής έχει τέσσερα πλαίσια σελίδας. Στον πρώτο χτύπο ρολογιού τα bit Α έχουν τις τιμές 0111 (η σελίδα 0 έχει την τιμή 0, ενώ οι υπόλοιπες 1). Στους επόμενους χτύπους ρολογιού, οι τιμές είναι 1011, 1010, 1101, 0010, 1010, 1100 και Αν χρησιμοποιηθεί ο αλγόριθμος γήρανσης με ένα μετρητή 8 bits, βρείτε τις τιμές των τεσσάρων μετρητών μετά από τον τελευταίο χτύπο ρολογιού. Απάντηση: The counters are Page 0: Page 1: Page 2: Page 3:

151 Ασκήσεις Ένας υπολογιστής έχει τέσσερα πλαίσια σελίδας. Ο χρόνος φόρτωσης, ο χρόνος προσπέλασης και ο τιμές των bit Α και Τ για κάθε σελίδα φαίνονται παρακάτω (οι χρονικές στιγμές είναι σε χτύπους ρολογιού). Σελίδα Φορτώθηκε Τελευταία Αναφορά Α Τ (α) Ποια σελίδα θα αντικαταστήσει ο αλγόριθμος NRU; (β) Ποια σελίδα θα αντικαταστήσει ο αλγόριθμος FIFO; (γ) Ποια σελίδα θα αντικαταστήσει ο αλγόριθμος LRU; (δ) Ποια σελίδα θα αντικαταστήσει ο αλγόριθμος της δεύτερης ευκαιρίας; Απάντηση: NRU αφαιρεί σελίδα 2. FIFO αφαιρεί σελίδα 3. LRU απομακρύνει τη σελίδα 1. Δεύτερη ευκαιρία αφαιρεί σελίδα 2.

152 Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Είσοδος και Έξοδος

153 Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση Linux Shell Scripting Διεργασίες-Νήματα Διαχείριση Μνήμης Είσοδος και Έξοδος Αδιέξοδα

154 Ασκήσεις Υποθέστε ότι ένας υπολογιστής μπορεί να διαβάσει ή να γράψει μια λέξη μνήμης σε 10 nsec. Υποθέστε επίσης ότι, όταν προκύπτει μια διακοπή, οι 32 καταχωρητές της CPU, ο μετρητής προγράμματος και ο PSW τοποθετούνται στη στοίβα. Ποιος είναι ο μέγιστος αριθμός διακοπών ανά δευτερόλεπτο που μπορεί να επεξεργαστεί αυτή η μηχανή; Απάντηση: Μια διακοπή απαιτεί την ώθηση 34 λέξεων στη στοίβα. Επιστρέφοντας από τη διακοπή απαιτεί προσκομίζει 34 λέξεις από τη στοίβα. Η επιβάρυνση μόνο είναι 680 nsec. Έτσι, ο μέγιστος αριθμός των διακοπών ανά δευτερόλεπτο είναι όχι περισσότερο από περίπου 1.47 εκατομμύρια, χωρίς κάποια εργασία για κάθε διακοπής.

155 Ασκήσεις Οι σχεδιαστές CPU γνωρίζουν ότι οι δημιουργοί λειτουργικών συστημάτων σιχαίνονται τις ανακριβείς διακοπές. Ένας τρόπος να ευχαριστήσουμε τους δημιουργούς λειτουργικών συστημάτων είναι η CPU να σταματάει να δίνει νέες εντολές όταν σηματοδοτείται μια διακοπή, αλλά να επιτρέπει να ολοκληρωθούν όλες οι εντολές που εκτελούνται, και μετά να εξαναγκάζει τη διακοπή. Έχει μειονεκτήματα αυτή η προσέγγιση; Απάντηση: Το ποσοστό εκτέλεσης ενός σύγχρονου επεξεργαστή καθορίζεται από τον αριθμό των εντολών που τερματίζουν ανά δευτερόλεπτο και λίγο έχει να κάνει με το πόσο καιρό παίρνει μια εντολή. Εάν μία CPU μπορεί να τελειώσει 1 δισεκατομμύριο εντολές/sec είναι 1000 MIPS μηχανής, ακόμη και αν η εντολή διαρκεί 30 nsec. Έτσι, υπάρχει γενικά μικρή προσπάθεια να κάνει τις εντολές να τελειώσουν γρήγορα. Η κράτηση τη διακοπή μέχρι την ολοκλήρωση της εκτέλεσης της τελευταίας εντολής, μπορεί να αυξήσει αισθητά την την καθυστέρηση των διακοπών. Επιπλέον, ορισμένοι διαχειριστές οφείλει να πάρει αυτό το δικαίωμα.

156 Ασκήσεις Σε ποιο από τα τέσσερα επίπεδα λογισμικού Ε/Ε συμβαίνει το καθένα από τα παρακάτω: (α) Υπολογισμός της τροχιάς, του τομέα και της κεφαλής για μια ανάγνωση δίσκου; (β) Εγγραφή διαταγών στους καταχωρητές συσκευής; (γ) Έλεγχος αν ο χρήστης επιτρέπεται να χρησιμοποιήσει τη συσκευή; (δ) Μετατροπή των δυαδικών ακεραίων σε ASCII προκειμένου να τυπωθούν; Απάντηση: (a) Device driver. (b) Device driver. (c) Device-independent software. (d) User-level software.

157 Ασκήσεις Ένα σύστημα RAID μπορεί να αποτύχει αν δυο ή περισσότεροι από τους δίσκους του καταρρεύσουν μέσα σε σύντομο χρονικό διάστημα. Ας υποθέσουμε ότι η πιθανότητα κατάρρευσης ενός δίσκου μέσα σε μια συγκεκριμένη ώρα είναι p. Ποια είναι η πιθανότητα ενός RAID με k δίσκους να καταρρεύσει μέσα σε μια συγκεκριμένη ώρα; Απάντηση: The probability of 0 failures, P 0, is (1 p) k. The probability of 1 failure, P 1, is kp(1 p) k 1. The probability of a RAID failure is then 1 P 0 P 1. This is 1 (1 p) k kp(1 p) k-1.

158 Ασκήσεις Θεωρήστε ότι ένας μαγνητικός δίσκος αποτελείται από 16 κεφαλές και 400 κυλίνδρους. Ο δίσκος αυτός διαιρείται σε τέσσερις ζώνες των 100 κυλίνδρων, ενώ οι κύλινδροι στις διάφορες ζώνες περιέχουν 160, 200, 240 και 280 τομείς, αντίστοιχα. Υποθέστε ότι κάθε τομέας περιέχει 512 bytes, ο μέσος χρόνος αναζήτησης μεταξύ γειτονικών κυλίνδρων είναι 1msec και οότι ο δίσκος περιστρέφεται με 7200rpm. Υπολογίστε (α) τη χωρητικότητα του δίσκου, (β) τη βέλτιστη στρέβλωση τροχιάς και (γ) το μέγιστο ρυθμό μεταφοράς δεδομένων. Απάντηση: (a) The capacity of a zone is tracks cylinders sectors/cylinder bytes/sect. Capacity of zone 1: = bytes Capacity of zone 2: = bytes Capacity of zone 3: = bytes Capacity of zone 4: = bytes Sum = = (b) A rotation rate of 7200 means there are 120 rotations/sec. In the 1 msec track-to-track seek time, of the sectors are covered. In zone 1, the disk head will pass over sectors in 1 msec, so, optimal track skew for zone 1 is 19.2 sectors. In zone 2, the disk head will pass over sectors in 1 msec, so, optimal track skew for zone 2 is 24 sectors. In zone 3, the disk head will pass over sectors in 1 msec, so, optimal track skew for zone 3 is 28.8 sectors. In zone 4, the disk head will pass over sectors in 1 msec, so, optimal track skew for zone 3 is 33.6 sectors. (c) The maximum data transfer rate will be when the cylinders in the outermost zone (zone 4) are being read/written. In that zone, in one second, 280 sectors are read 120 times. Thus the data rate is = 17,203,200 bytes/sec.

159 Ασκήσεις Στον οδηγό δίσκους έρχονται αιτήσεις δίσκου για τους κυλίνδρους 10, 22, 20, 2, 40, 6 και 38, με αυτή τη σειρά. Κάθε αναζήτηση χρειάζεται 6 msec για τη μετακίνηση κατά ένα κύλινδρο. Ποιος είναι ο χρόνος αναζήτησης που απαιτείται για τους εξής αλγορίθμους: (α) Εξυπηρέτηση με βάση τη σειρά άφιξης (FCFS); (β) Εξυπηρέτηση του πλησιέστερου κυλίνδρου πρώτα; (γ) Αλγόριθμο ανελκυστήρα (με κίνηση αρχικά προς τα επάνω); Σε όλες τις περιπτώσεις, ο βραχίονας βρίσκεται στην αρχή στον κύλινδρο 20. Απάντηση: (a) = 146 cylinders = 876 msec. (b) = 60 cylinders = 360 msec. (c) = 58 cylinders = 348 msec.

160 Ασκήσεις Ο χειριστής διακοπών ρολογιού συγκεκριμένου υπολογιστή απαιτεί 2 msec ανά χτύπο του ρολογιού (μαζί με την επιβάρυνση λόγω εναλλαγής διεργασιών). Το ρολόι έχει συχνότητα 60 Hz. Ποιο ποσοστό της CPU αφιερώνεται στο ρολόι; Απάντηση: Two msec 60 times a second is 120 msec/sec, or 12% of the CPU

161 Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Αδιέ ξοδα

162 Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση Linux Shell Scripting Διεργασίες-Νήματα Διαχείριση Μνήμης Είσοδος και Έξοδος Αδιέξοδα

163 Τυπικός Ορισμός Αδιέξοδων Ένα σύνολο διεργασιών βρίσκεται σε αδιέξοδο αν κάθε διεργασία του συνόλου αναμένει ένα συμβάν που μόνο μια άλλη διεργασία του συνόλου μπορεί να προκαλέσει.

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

165 Μοντελοποίηση Αδιεξόδου Γράφοι κατανομής πόρων (a) Η διεργασία Α κατέχει (δεσμεύει) τον πόρο R. (b) Η διεργασία B ζητά (αναμένει) τον πόρο S. (c) Αδιέξοδο: Η διεργασία C ζητά τον πόρο T που δεσμεύεται από τη διεργασία D που ζητά τον πόρο U που δεσμεύεται από τη διεργασία C.

166 Μοντελοποίηση Αδιεξόδου

167 Μοντελοποίηση Αδιεξόδου

168 Μοντελοποίηση Αδιεξόδου

169 Στρατηγικές Αντιμετώπισης Αγνοούμε το πρόβλημα (αλγόριθμος στρουθοκαμήλου) Εντοπισμός και ανάκαμψη, αφήνουμε το αδιέξοδο να συμβεί, το ανιχνεύουμε και το επιλύουμε κατά περίπτωση Δυναμική αποφυγή με προσεκτική κατανομή πόρων, έλεγχο και πρόβλεψη κατά την εκτέλεση του λειτουργικού συστήματος Πρόληψη, δομική κατάργηση (στο κώδικα του λειτουργικού συστήματος) μιας από τις τέσσερις συνθήκες δημιουργίας αδιεξόδων

170 Στρατηγικές Αντιμετώπισης Αλγόριθμος Στρουθοκαμηλισμού Αλγόριθμος στρουθοκαμηλισμού Λογική αντιμετώπιση αν Τα αδιέξοδα συμβαίνουν πολύ σπάνια Το απαιτούμενο κόστος αντιμετώπισης είναι πολύ ψηλό Πρόκειται για μια ισορροπία μεταξύ Ορθού Βολικού UNIX και Windows σε μερικές περιπτώσεις προσεγγίζουν το πρόβλημα με αυτό τον αλγόριθμο

171 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος 7 διεργασίες 6 πόροι Αν ο γράφος περιέχει ένα κύκλο: Αν υπάρχει μόνο ένα στιγμιότυπο ανά τύπο πόρου, τότε υπάρχει αδιέξοδο Αν υπάρχουν αρκετά στιγμιότυπα ανά τύπο πόρου, τότε υπάρχει πιθανότητα να συμβεί αδιέξοδο

172 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Αλγόριθμος εντοπισμού: 1. Για κάθε κόμβο Ν στο γράφο, εκτέλεση των επόμενων 5 βημάτων του αλγορίθμου, με σημείο εκκίνησης το N. 2. Αρχικοποίηση της μιας κενής λίστας L, και χαρακτηρισμός όλων των τόξων ως ασημείωτα. 3. Εισαγωγή του τρέχοντα κόμβου στο τέλος της λίστας L, έλεγχος να ο κόμβος εμφανίζεται δύο φορές στη λίστα L. Αν ο κόμβος εμφανίζεται δύο φορές, τερματισμός. 4. Για τον τρέχοντα κόμβο, έλεγχος αν υπάρχουν εξερχόμενα ασημείωτα τόξα. Αν ναι, συνέχεια στο βήμα 5, αλλιώς συνέχεια στο βήμα Επιλογή ενός εξερχόμενου ασημείωτου τόξου και σημείωσή του. Επιλογή του κόμβου που δείχνει το τόξο, συνέχεια στο βήμα Ο κόμβος δεν έχει ασημείωτα εξερχόμενα τόξα. Οπισθοδρόμηση στο προηγούμενο κόμβο και συνέχεια στο βήμα 3. Αν πρόκειται για τον αρχικό κόμβο, ο γράφος δεν περιέχει κύκλους, τερματισμός.

173 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Κόμβος Λίστα Βήματα Τόξο R R 1, 2, 3, 4, 5 R A A R, A 3, 4, 5 A S S R, A, S 3, 4, 6 Α R, A 3, 4, 6 R R 3, 4, 6 B B 3, 4, 5 B T T B, T 3, 4, 5 T E E B, T, E 3, 4, 5 E V V B, T, E, V 3, 4, 5 V G G B, T, E, V, G 3, 4, 5 G U U B, T, E, V, G, U 3, 4, 5 U D D B, T, E, V, G, U, D 3, 4, 5 D S S B, T, E, V, G, U, D, S 3, 4, 6 D B, T, E, V, G, U, D 3, 4, 5 D T T B, T, E, V, G, U, D, T 3, Tερματισμός

174 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Να σχεδιάσετε ένα γράφο εκχώρησης πόρων για τα παρακάτω: Η διεργασία P1 απαιτεί τον πόρο R1 Η διεργασία P2 απαιτεί τον πόρο R3 Ο πόρος R1 εκχωρείται στη διεργασία P2 Ο πόρος R2 εκχωρείται στη διεργασία P1 Ο πόρος R3 εκχωρείται στη διεργασία P3 Υπάρχει αδιέξοδο; Απάντηση: R1 P2 R2 P1 R3 P3 Δεν υπάρχει αδιέξοδο, γιατί δε δημιουργείται κύκλος

175 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Να σχεδιάσετε ένα γράφο εκχώρησης πόρων για τα παρακάτω: Η διεργασία P1 απαιτεί τον πόρο R1 Η διεργασία P2 απαιτεί τον πόρο R3 Ο πόρος R2 εκχωρείται στη διεργασία P1 Ο πόρος R2 εκχωρείται στη διεργασία P2 Ο πόρος R1 εκχωρείται στη διεργασία P2 Ο πόρος R3 εκχωρείται στη διεργασία P3 Υπάρχει αδιέξοδο; Απάντηση: R1 P1 P2 R3 P3 R2 Δεν υπάρχει αδιέξοδο, γιατί δε δημιουργείται κύκλος

176 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Να σχεδιάσετε ένα γράφο εκχώρησης πόρων για τα παρακάτω: Η διεργασία P1 απαιτεί τον πόρο R1 Η διεργασία P2 απαιτεί τον πόρο R3 Η διεργασία P3 απαιτεί τον πόρο R2 Ο πόρος R2 εκχωρείται στη διεργασία P1 Ο πόρος R2 εκχωρείται στη διεργασία P2 Ο πόρος R1 εκχωρείται στη διεργασία P2 Ο πόρος R3 εκχωρείται στη διεργασία P3 Υπάρχει αδιέξοδο; Απάντηση: R1 P1 P2 R3 P3 R2 Υπάρχει πιθανό αδιέξοδο, γιατί δημιουργούνται δύο κύκλοι

177 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος R1 P1 P2 R3 P3 R2 R1 P1 P2 R3 P3 R2

178 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Η εικόνα δείχνει την έννοια ενός γράφου πόρων. Υπάρχουν μη έγκυροι γράφοι, δηλαδή γράφοι που παραβιάζουν το μοντέλο της χρήσης πόρων που χρησιμοποιήσαμε; Αν υπάρχουν, δώστε ένα παράδειγμα. Απάντηση: Ναι, υπάρχουν μη έγκυροι γράφοι. Ένας πόρος μπορεί να κρατείται από μόνο μια απλή διεργασία. Ένα τόξο από ένα πόρο σε μια διεργασία δείχνει ότι η διεργασία έχει τον πόρο. Έτσι, ένας πόρος με τόξα που πηγαίνουν από αυτόν σε δύο ή περισσότερες διεργασίες σημαίνει ότι όλες αυτές οι διαδικασίες που κατέχουν τον πόρο, που παραβιάζει τους κανόνες. Κατά συνέπεια, οποιασδήποτε γράφος στον οποίο πολλαπλά τόξα αφήνουν έναν πόρο και τερματίζουν σε διαφορετικές διεργασίες, παραβιάζει τους κανόνες, εκτός αν υπάρχουν πολλαπλά αντίγραφα των πόρων. Τόξα από πόρους σε πόρους ή από διεργασίες σε διεργασίες παραβιάζουν επίσης τους κανόνες.

179 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος... Υποθέστε ότι σε ένα σύστημα υπάρχει ένα αδιέξοδο πόρων. Δώστε ένα παράδειγμα που να δείχνει ότι το σύνολο των διεργασιών που είναι σε αδιέξοδο μπορεί να περιλαμβάνει διεργασίες οι οποίες δεν περιέχονται στην κυκλική αλυσίδα του αντίστοιχου γράφου κατανομής πόρων. Απάντηση: Σκεφτείτε τρεις διαδικασίες, Α, Β και C και δύο πόρους R και S. Ας υποθέσουμε ότι η Α περιμένει για τον R που κατέχεται από τη Β, η Β είναι σε αναμονή για τον S που κατέχεται από την Α και η C είναι σε αναμονή για τον R που κατέχει η A. Και οι τρεις διαδικασίες Α, Β και C είναι αδιέξοδο. Ωστόσο, μόνο τα Α και Β ανήκουν στην κυκλική αλυσίδα. R C A S B

180 Στρατηγικές Αντιμετώπισης Εντοπισμός για έναν πόρο από κάθε είδος Οι φοιτητές στο υπολογιστικό κέντρο στέλνουν αρχεία για εκτύπωση χρησιμοποιώντας ενδιάμεσο διακομιστή που παροχετεύει τα αρχεία στο σκληρό δίσκο. Κάτω από ποιες συνθήκες υπάρχει περίπτωση να εμφανισθεί αδιέξοδο, αν ο παροχετευτής εκτυπώσεων έχει περιορισμένο μέγεθος; Πως μπορεί να αποφευχθεί το αδιέξοδο; Απάντηση: Ο χώρος του δίσκου στο διαμέρισμα του παροχετευτή είναι ένας πεπερασμένος πόρος. Κάθε μπλοκ που έρχεται στην πραγματικότητα υποστηρίζει έναν πόρο και κάθε νέο που φθάνει θέλει περισσότερους πόρους. Εάν ο χώρος παροχέτευσης είναι, ας πούμε, 10 MB και το πρώτο μισό του δέκα 2-MB εργασιών φτάνουν, ο δίσκος θα είναι πλήρης και δεν μπορούν περισσότερα μπλοκ να αποθηκευτούν έτσι έχουμε ένα αδιέξοδο. Το αδιέξοδο μπορεί να αποφευχθεί, επιτρέποντας μια εργασία να ξεκινήσει εκτύπωση πριν τεθεί πλήρως στον παροχετευτή και δεσμεύοντας το χώρο που θα απελευθερωθεί για το υπόλοιπο της εν λόγω εργασίας. Με αυτόν τον τρόπο, στην πραγματικότητα, μία εργασία θα εκτυπωθεί πλήρως, και τότε η επόμενη μπορεί να κάνει το ίδιο πράγμα. Αν οι εργασίες δεν μπορούν να ξεκινήσουν να εκτυπώνονται μέχρι ότου παροχετευτούν πλήρως, είναι δυνατόν να υπάρχει αδιέξοδο.

181 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος E- Διάνυσμα υπαρχόντων πόρων A- Διάνυσμα διαθέσιμων πόρων C- Μητρώο τρέχουσας κατανομής R- Μητρώο αιτήσεων n i=1 C ij + A j = E j, j = 1, 2,, m

182 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος

183 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Βηματικός έλεγχος για τον εντοπισμό της σειράς εκτέλεσης για την αποφυγή αδιεξόδου P1 - το R1 έρχεται σε σύγκρουση με το περιεχόμενο του A επομένως δεν μπορεί να ικανοποιηθεί P2 - το R2 έρχεται σε σύγκρουση με το περιεχόμενο του A επομένως δεν μπορεί να ικανοποιηθεί P3 - το R3 ικανοποιείται από τις δυνατότητες του A Μετά την εκτέλεση της P1, οι πίνακες και τα διανύσματα διαμορφώνονται ως εξής: C = R = A = A + C 3 = Επαναλαμβάνουμε τον έλεγχο για εναπομείνασες διεργασίες και επιλέγουμε την P2 για εξυπηρέτηση. Μετά την εκτέλεση της P2, οι πίνακες και τα διανύσματα διαμορφώνονται ως εξής: C = Τέλος εξυπηρετείται η P1. R = A = A + C 2 =

184 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Ένα σύστημα διαθέτει τέσσερις διεργασίες και τρεις εκχωρήσιμους πόρους με πλήθος R(1)=9, R(2)=3, R(3)=6. Η τρέχουσα κατανομή και οι μέγιστες ανάγκες σε πόρους είναι οι εξής: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Είναι η παραπάνω κατάσταση ασφαλής; Απάντηση: Ξεκινάμε από τη διεργασία P2, διότι είναι η μόνη που μπορεί να εκτελεστεί σύμφωνα με τις μέγιστες απαιτήσεις και τους διαθέσιμους πόρους. Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P

185 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Μετά την εκτέλεσή της οι πίνακες θα είναι οι ακόλουθοι: Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Κατέχει Μέγιστο Διαθέσιμοι Στη συνέχεια ελέγχουμε ποια διεργασία μπορεί να εκτελεστεί και διαπιστώνουμε ότι μπορεί τόσο η διεργασία P1 όσο και η P4, αλλά και η P3. Ας επιλέξουμε την P1. Μετά την εκτέλεσή της οι πίνακες θα είναι οι ακόλουθοι: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P

186 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Στη συνέχεια μπορεί να εκτελεστεί οποιαδήποτε από τις διεργασίες που απομένουν, ας επιλέξουμε την P3. Μετά την εκτέλεσή της οι πίνακες θα είναι οι ακόλουθοι: Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Κατέχει Μέγιστο Διαθέσιμοι Τέλος εκτελείται η P4 και οι πίνακες καταλήγουν: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P H κατάσταση είναι ασφαλή: P2 P1 P3 P

187 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Ένα σύστημα διαθέτει πέντε διεργασίες και τέσσερις εκχωρήσιμους πόρους, με διάνυσμα συνολικών πόρων <8, 5, 9, 7>. Η τρέχουσα κατανομή και οι μέγιστες ανάγκες σε πόρους είναι οι εξής: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Είναι η παραπάνω κατάσταση ασφαλής; Απάντηση: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Δεσμευμένα = <7, 3, 7, 5> Διαθέσιμες Μονάδες = Συνολικά - Δεσμευμένες Δεσμευμένα = <8-7, 5-3, 9-7, 7-5> = <1, 2, 2, 2>

188 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Κατέχει Μέγιστο Όλες Διαθέσιμοι μπορούν να εκτελεστούν Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο

189 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο

190 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P0 Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P4 Σύνολο Αν και υπάρχουν πολλές ασφαλείς καταστάσεις, αυτή που επιλέξαμε είναι η: P2 P4 P0 P1 P3

191 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Ένα σύστημα διαθέτει τέσσερις διεργασίες και τρεις εκχωρήσιμους πόρους, με διάνυσμα συνολικών πόρων <9, 3, 6>. Η τρέχουσα κατανομή και οι μέγιστες ανάγκες σε πόρους είναι οι εξής: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Είναι η παραπάνω κατάσταση ασφαλής; Απάντηση: Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P

192 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P

193 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Κατέχει Μέγιστο Διαθέσιμοι Διεργασια P1 Διεργασια P2 Διεργασια P3 Διεργασια P Ασφαλής κατάσταση είναι η: P2 P1 P3 P4

194 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Ένα σύστημα διαθέτει 6 όμοια tape drives και n σε πλήθος διεργασίες που ανταγωνίζονται για τη χρήση τους. Κάθε διεργασία μπορεί να απαιτήσει 3 tape drives. Για ποια τιμή του n το σύστημα είναι απαλλαγμένο από αδιέξοδα; Απάντηση: Η μέγιστη τιμή του n για την οποία το σύστημα είναι εγγυημένα ελεύθερο από αδιέξοδα είναι 2. Δύο διεργασίες δεν μπορεί ποτέ να οδηγήσουν σε αδιέξοδο καθώς σε κατάσταση αιχμής η απαίτηση σε πόρους είναι (3 + 3 = 6) tapes drives και μπορεί να ικανοποιηθεί. Αλλά τρεις διαδικασίες μπορεί να οδηγήσουν σε αδιέξοδο, αν κάθε διαδικασία κρατούσε 2 tape drives και στη συνέχεια απαιτούσε ένα ακόμη.

195 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Ένα σύστημα διαθέτει 6 όμοια tape drives και n σε πλήθος διεργασίες που ανταγωνίζονται για τη χρήση τους. Κάθε διεργασία μπορεί να απαιτήσει 2 tape drives. Για ποια τιμή του n το σύστημα είναι απαλλαγμένο από αδιέξοδα; (Γενίκευση: Υποθέστε ένα σύστημα με P διεργασίες και R όμοιους επαναχρησιμοποιήσιμους πόρους. Αν κάθε διεργασία μπορεί να απαιτήσει κατά μέγιστο 2 μονάδες πόρων, να αποδείξετε ότι δεν μπορεί να υπάρξει αδιέξοδο μόνον όταν ισχύει η συνθήκη P R-1.) Απάντηση: Με έναν αριθμό διεργασιών n = 3, η κατανομή των πόρων μεταξύ τους είναι (2,2,2), η οποία επιτρέπει στις 3 διεργασίες να ολοκληρωθούν χωρίς τον κίνδυνο αδιέξοδου. Για n = 4 διεργασίες, η κατανομή πόρων μεταξύ τους είναι (2,2,1,1), που επιτρέπει στις δύο πρώτες την ολοκλήρωση χωρίς αδιέξοδο. Με n = 5 η κατανομή είναι (2,1,1,1,1), που επιτρέπει την ολοκλήρωση της πρώτης χωρίς αδιέξοδο δωρεάν Εάν το n = 6 η κατανομή γίνεται (1,1,1,1,1,1). Κάθε διεργασία κατέχει ένα tape drive και περιμένει ένα άλλο και ως εκ τούτου δεν υπάρχει αδιέξοδο. Ως εκ τούτου, για n <6 το σύστημα δεν κινδυνεύει από αδιέξοδο.

196 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος Υποθέστε p διεργασίες καθεμία από τις οποίες χρειάζεται ένα μέγιστο από m πόρους και r συνολικά διαθέσιμους πόρους. Ποια πρέπει να είναι σχέση ανάμεσα p, m, r για να είναι το σύστημα ασφαλές από αδιέξοδα; Απάντηση: Η χειρότερη περίπτωση είναι όταν κάθε διεργασία να κατέχει m-1 πόρους και να ζητά έναν περισσότερο πόρο. Αν υπάρχει ένας πόρος που έχει απομείνει, μια διαδικασία μπορεί να ολοκληρωθεί και να απελευθερώσει όλους τους πόρους της. Ως εκ τούτου, η προϋπόθεση για την αποφυγή αδιεξόδου είναι r p (m - 1) + 1

197 Στρατηγικές Αντιμετώπισης Εντοπισμός για πολλούς πόρους από κάθε είδος (Εφαρμογή του προηγούμενου) Ένα σύστημα έχει 3 διεργασίες, 4 διαθέσιμους πόρους με μέγιστη ανάγκη κάθε διεργασίας σε 2 πόρους. Δείξτε ότι το σύστημα δεν έχει ποτέ αδιέξοδο. Απάντηση: Τα m = 2 και p = 3, οπότε r πρέπει να είναι μεγαλύτερο από 3, σύμφωνα με τον τύπο r> (m-1) * p για να μην κινδυνεύει αδιέξοδο. Το συγκεκριμένο ικανοποιεί τη συνθήκη και επομένως είναι ελεύθερο από αδιέξοδα

198 Αποφυγή Αδιεξόδων Τροχιές πόρων Εντολές Διεργασίας Αμοιβαίος Αποκλεισμός λόγω printer Αμοιβαίος Αποκλεισμός λόγω plotter Εντολές Διεργασίας Δύο διεργασίες A, Β εκτελούνται εναλλάξ. Η A στο σημείο r-s (I1), ζητά και δεσμεύει τον Printer. Στη συνέχεια η Β, στο σημείο s-t (I5) ζητά τον Plotter. Το λειτουργικό σύστημα πρέπει να αναστείλει τη Β και να αφήσει πρώτα την Α να φθάσει στο σημείο Ι4.

199 Αποφυγή Αδιεξόδων Τροχιές πόρων Ποια είναι η κυριότερη διαφορά μεταξύ του μοντέλου της εικόνας και ασφαλούς και ανασφαλούς κατάστασης. Ποια είναι η συνέπεια της διαφοράς αυτής; Απάντηση: Το μοντέλο που φαίνεται στην εικόνα απαιτεί γνώση του πότε μια διεργασία απελευθερώνει τους πόρους της. Από την άλλη πλευρά, η διαπίστωση για το εάν μια κατάσταση είναι ασφαλής ή ανασφαλής, δεν απαιτεί αυτή τη γνώση. Μια συνέπεια αυτού είναι ότι το μοντέλο της εικόνας μπορεί να χρησιμοποιηθεί για να προσδιορίσει τα παραλληλόγραμμα, όπως αυτό που οριοθετείται από τα Ι 1, Ι 2, Ι 5, και Ι 6, που εγγυάται ότι το σύστημα οδηγείται τελικά σε αδιέξοδο, διότι μια ανασφαλής κατάσταση σημαίνει ότι δεν υπάρχει καμία εγγύηση ότι δεν θα συμβεί ένα αδιέξοδο.

200 Αποφυγή Αδιεξόδων Τροχιές πόρων Μπορεί να χρησιμοποιηθεί η μέθοδος με τις τροχιές πόρων της εικόνας, για να περιγράψει το πρόβλημα των αδιεξόδων με τρεις διεργασίες και τρεις πόρους; Αν ναι, πως μπορεί να γίνει αυτό; Αν όχι, γιατί; Απάντηση: Ναι. Χρειάζονται βέβαια 3 διαστάσεις (3-D), όπου ο άξονας z θα μετρά τον αριθμό των εντολών που εκτελούνται από την τρίτη διαδικασία.

201 Αποφυγή Αδιεξόδων Τροχιές πόρων Θεωρητικά οι γράφοι των τροχιών πόρων χρησιμοποιούνται για την αποφυγή των αδιεξόδων. Αν εφαρμοστεί έξυπνος χρονοπρογραμματισμός, το σύστημα μπορεί να αποφύγει τις ανασφαλείς περιοχές. Αναφέρετε ένα πρακτικό πρόβλημα όπου είναι δυνατόν να εφαρμοστεί η μέθοδος αυτή. Απάντηση: Η μέθοδος μπορεί να χρησιμοποιηθεί μόνο για την καθοδήγηση του χρονοπρογραμματισμού, εάν είναι γνωστή εκ των προτέρων η ακριβής στιγμή κατά την οποία ένας πόρος πρόκειται να απαιτηθεί. Στην πράξη, αυτό συμβαίνει σπάνια.

202 Αποφυγή Αδιεξόδων Ασφαλείς και ανασφαλείς καταστάσεις 10 αντίτυπα πόρου

203 Αποφυγή Αδιεξόδων Ασφαλείς και ανασφαλείς καταστάσεις Το σύστημα είναι σε ασφαλή κατάσταση αν υπάρχει μια ασφαλής ακολουθία για όλες τις διεργασίες Αν το σύστημα είναι σε ασφαλή κατάσταση δεν υπάρχει αδιέξοδο Αν το σύστημα δεν είναι σε ασφαλή κατάσταση υπάρχει πιθανότητα αδιεξόδου

204 Αποφυγή Αδιεξόδων Ασφαλείς και ανασφαλείς καταστάσεις Στην ακόλουθη εικόνα, αν η D ζητάει μια ακόμη μονάδα, θα οδηγηθούμε σε ασφαλή ή ανασφαλή κατάσταση; Τι θα γινόταν αν η αίτηση προερχόταν από τον C αντί του D; Απάντηση: Το αίτημα της D είναι ανασφαλές, αλλά αν προερχόταν από τη C είναι ασφαλές.

Δρομολόγηση σε σύστημα ενός επεξεργαστή

Δρομολόγηση σε σύστημα ενός επεξεργαστή Δρομολόγηση σε σύστημα ενός επεξεργαστή 1. Εισαγωγή 2. Κριτήρια αποτίμησης της απόδοσης 3. Κριτήρια βελτιστοποίησης 4. Τύποι δρομολόγησης του επεξεργαστή 5. Ο κύκλος καταιγισμού CPU-I/O 6. Πολιτικές δρομολόγησης

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση)

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση) ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός (ή Χρονοδρομολόγηση ή Δρομολόγηση) Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty)

Σελίδα Φορτώθηκε Προσπελάστηκε Συχνότητα R Μ (dirty) Ιδεατή Μνήμη Άσκηση 1: Ένας υπολογιστής έχει τέσσερα πλαίσια σελίδων. Οι χρονικές στιγμές φόρτωσης, τελευταίας προσπέλασης, ο αριθμός αναφορών και τα bit αναφοράς (R) και μεταβολής (M ή dirty ) φαίνονται

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

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

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

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

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης Μάθημα 7: Αλγόριθμοι Χρονοδρομολόγησης 7.1 Ορισμός Στόχοι Αλγόριθμο χρονοδρομολόγησης (scheduling algorithm) ονομάζουμε την μεθοδολογία την οποία χρησιμοποιεί ο κάθε χρονοδρομολογητής (βραχυχρόνιος, μεσοχρόνιος

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

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση

Εργαστήριο Λειτουργικών Συστημάτων - Αλγόριθμοι Χρονοπρογραμματισμού. Εργαστηριακή Άσκηση Εργαστηριακή Άσκηση Οι Αλγόριθμοι Χρονοπρογραμματισμού First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Επιμέλεια: Βασίλης Τσακανίκας Περιεχόμενα Αλγόριθμοι

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

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

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

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

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

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

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

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ

Εργαστηριακή Άσκηση. Τμήμα Μηχανικών Πληροφορικής ΤΕ Εργαστηριακή Άσκηση Εργαστήριο Λειτουργικών Συστημάτων Οι First Come First Serve (FCFS), Shortest Job First (SJF), Round Robin (RR), Priority Weighted (PRI) Β. Τσακανίκας Β. Ταμπακάς Τμήμα Μηχανικών Πληροφορικής

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

Σημειώσεις Λειτουργικών. μια ανοικτή φοιτητική προσέγγιση

Σημειώσεις Λειτουργικών. μια ανοικτή φοιτητική προσέγγιση 1 Σημειώσεις Λειτουργικών μια ανοικτή φοιτητική προσέγγιση 2 Περιεχόμενα Περιεχόμενα Άδεια 2. Διεργασίες και νήματα ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Σύστημα Δέσμης αλγόριθμοι σε συστήματα δέσμης: Αλληλεπιδραστικά

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

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

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

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

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

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

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ MHXANIKOI Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΙΠΕ Ο ΜΗΧΑΝΗΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Γ. Τσιατούχας 6 ο Κεφάλαιο 1. Επίπεδο OSM 2. Εικονική μνήμη ιάρθρωση 3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση

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

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

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

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

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

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

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

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

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

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

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

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

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

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30

ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30 4 Σεπτεμβρίου 2009 Σελ. 1/6 ΤΜΗΜΑ ΜΗΥΤΔ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (ΗΥ222) ΔΙΔΑΣΚΩΝ: ΧΡΗΣΤΟΣ Δ. ΑΝΤΩΝΟΠΟΥΛΟΣ Τελική Εξέταση Σεπτεμβρίου 2009, Χρόνος: 2:30 Θέμα 1 (3 μονάδες) α) (0,75

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

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

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης

Εισαγωγή στην Πληροφορική. Αντώνης Σταµατάκης Εισαγωγή στην Πληροφορική Α σ κ ή σ ε ι ς σ τ η ν Χ ρ ο ν ο δ ρ ο µ ο λ ό γ η σ η ς Αντώνης Σταµατάκης Αλγόριθµοι Χρονοδροµολόγησης (1/5) Υπάρχουν διάφοροι αλγόριθµοι χρονοδροµολόγησης της κεντρικής µονάδας

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

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

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

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

Οργάνωση Υπολογιστών

Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Επιμέλεια: Γεώργιος Θεοδωρίδης, Επίκουρος Καθηγητής Ανδρέας Εμερετλής, Υποψήφιος Διδάκτορας Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών 1 Άδειες Χρήσης Το παρόν υλικό

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

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

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

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

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε:

ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ. Γράψτε τις επόμενες διαδικασίες σε όποια γλώσσα προγραμματισμού προτιμάτε: ΛΥΜΕΝΑ ΠΡΟΒΛΗΜΑΤΑ Πρόβλημα 1: Το Πανεπιστήμιο Μακεδονίας, εφαρμόζοντας την αρχή της ισότητας μεταξύ των δύο φύλων μετέτρεψε τις τουαλέτες των φοιτητών σε κοινές τουαλέτες. Προς αποφυγή όμως παρεξηγήσεων

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8 Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 8 Κεφάλαιο 8 ιαχείριση ΚΜΕ στα Λειτουργικά Συστήµατα Σκοπός του κεφαλαίου αυτού είναι να σου γνωρίσει τον τρόπο µε τον οποίο ένα λειτουργικό

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

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

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

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

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

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

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

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

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

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

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ρονοδροµολόγηση µε βάση τον χρόνο εισόδου

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

Εικονική Μνήμη (Virtual Memory)

Εικονική Μνήμη (Virtual Memory) Εικονική Μνήμη (Virtual Memory) Για τη δημιουργία των διαφανειών έχει χρησιμοποιηθεί υλικό από τις διαφάνειες παραδόσεων που βασίζονται στο βιβλίο, Silberschatz, Galvin and Gagne, Operating Systems Concepts,

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

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών

Εισαγωγή στους Η/Υ. Ενότητα 4: Λειτουργικά Συστήματα Ι. Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Εισαγωγή στους Η/Υ Ενότητα 4: Δημήτρης Σαραβάνος, Καθηγητής Πολυτεχνική Σχολή Τμήμα Μηχανολόγων & Αεροναυπηγών Μηχανικών Σκοποί ενότητας Αναφορά και κατανόηση των τύπων υπολογιστικών συστημάτων Απόδοση

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

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

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

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

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

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

ιαχείριση Μνήµης (Memory Management)

ιαχείριση Μνήµης (Memory Management) ιαχείριση Μνήµης (Memory Management) Πως κατανέµεται η µνήµη στις διάφορες διεργασίες Τύποι Μνήµης Η µνήµη µε µηχανικά µέρη είναι σηµαντικά πιο αργή αλλά και αρκετά πιο φθηνή. Οι καταχωριτές (registers)

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 9: Πολιτικές Αντικατάστασης Σελίδων - Λυγισμός (Thrashing) Η Απόλυτη LRU 2 Σε κάθε αναφορά στη μνήμη «Χρονοσφράγισε» το πλαίσιο Την ώρα της έξωσης: Ψάξε για την παλαιότερη

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2011-12 Εικονική (και ο ρόλος της στην ιεραρχία μνήμης) http://di.ionio.gr/~mistral/tp/comparch/ Μ.Στεφανιδάκης Ιεραρχία η νέα τάση: [2011]

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 5: ΛΣ Κατανεμημένα & Πραγματικού Χρόνου. Χρονοπρογραμματισμός. Πολιτικές/Μηχανισμοί. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

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

Διαχείριση Κύριας Μνήμης

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής ρχιτεκτονική Υπολογιστών 2016-17 Εικονική Μνήμη (και ο ρόλος της στην ιεραρχία μνήμης) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Δευτερεύουσα μνήμη

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ Δρ. Κουζαπάς Δημήτριος Πανεπιστήμιο Κύπρου - Τμήμα Πληροφορικής Λειτουργικά συστήματα Στόχοι 1 Να εξηγήσουμε τη διάκριση μεταξύ Λογισμικού Συστημάτων

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

Εισαγωγή στους Υπολογιστές

Εισαγωγή στους Υπολογιστές Εισαγωγή στους Υπολογιστές Ενότητα 14: Λειτουργικά Συστήματα Αβούρης Νικόλαος Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών Σκοποί ενότητας Σκοπός της ενότητας είναι κατανόηση

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

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

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

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

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου

πίνακας σελίδων Bit Παρουσίας Αριθμός Πλαισίου Ασκήσεις Ένα υπολογιστικό σύστημα που χρησιμοποιεί σελιδοποίηση διαθέτει λογικό χώρο διευθύνσεων 12 bit και υποστηρίζεται από 2 πλαίσια φυσικής μνήμης. Την παρούσα στιγμή ο πίνακας σελίδων είναι ο εξής:

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

Μάθημα 8: Διαχείριση Μνήμης

Μάθημα 8: Διαχείριση Μνήμης Μάθημα 8: Διαχείριση Μνήμης 8.1 Κύρια και δευτερεύουσα μνήμη Κάθε μονάδα ενός υπολογιστή που χρησιμεύει για τη μόνιμη ή προσωρινή αποθήκευση δεδομένων ανήκει στην μνήμη (memory) του υπολογιστή. Οι μνήμες

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 5: ΛΣ Κατανεμημένα & Πραγματικού Χρόνου. Χρονοπρογραμματισμός. Πολιτικές/Μηχανισμοί. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

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

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

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

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 8: Διαχείριση Μνήμης. Φυσικές και Λογικές Διευθύνσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και

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

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα

[4] Στόχοι. Λογισμικό. Υπολογιστικά συστήματα: Στρώματα Στόχοι ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1 Να εξηγήσουμε τη διάκριση μεταξύ λογισμικού συστημάτων και λογισμικού εφαρμογών. Να περιγράψουμε τι είναι τα λειτουργικά συστήματα και να δούμε

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

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

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

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

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1 Λειτουργικά συστήµατα Λογισμικό Συστήματος 1 Figure 3.1 Batch processing 0-2 Λογισμικό Συστήματος Figure 3.2 Interactive processing 0-3 Λογισμικό Συστήματος Figure 3.3 Software classification 0-4 Λογισμικό

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

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της

Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Ενότητα 2: Η κρυφή µνήµη και η λειτουργία της Στην ενότητα αυτή θα αναφερθούµε εκτενέστερα στη λειτουργία και την οργάνωση της κρυφής µνήµης. Θα προσδιορίσουµε τις βασικές λειτουργίες που σχετίζονται µε

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση)

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Κρυφές Μνήμες. (οργάνωση, λειτουργία και απόδοση) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Ιεραρχία συχνά και το

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ» Περιεχόμενα Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»... 2 Καταχωρητές... 3 Αριθμητική-λογική μονάδα... 3 Μονάδα μνήμης... 4 Μονάδα Εισόδου - Εξόδου... 5 Μονάδα ελέγχου... 5 Ρεπερτόριο Εντολών «ΑΒΑΚΑ»... 6 Φάση

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 8: Σελιδοποίηση & Swapping Από τα Προηγούμενα 2 Φυσική μνήμη Έλλειψη προστασίας Περιορισμένο μέγεθος Συνεχείς ή κατά κανόνα συνεχείς περιοχές Διαμοίραση ορατή στα

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 9: Ιδεατή Μνήμη. Σφάλματα Σελίδας. Τοποθέτηση & αντικατάσταση σελίδων. Τοπικότητα Αναφορών. Κατάπτωση. Παράδοξο Belady. Παραμένων

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

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

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

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

Αρχιτεκτονική υπολογιστών

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 4 : Κρυφή Μνήμη Καρβούνης Ευάγγελος Δευτέρα, 30/11/2015 Χαρακτηριστικά Θέση Χωρητικότητα Μονάδα Μεταφοράς

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

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

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

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

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

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 3ο: Διαχείριση Μνήμης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 3ο: Διαχείριση Μνήμης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 3ο: Διαχείριση Μνήμης 1 4.1 Απλή Διαχείριση O Διαχειριστής Μνήμης (ΔΜ) (memory manager) πρέπει να: ξέρει ποια διαμερίσματα της ΚΜ είναι κατειλλημένα μπορεί ν' αναθέτει

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

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (Τμήματα Υπολογιστή) ΕΚΠΑΙΔΕΥΤΗΣ:ΠΟΖΟΥΚΙΔΗΣ ΚΩΝΣΤΑΝΤΙΝΟΣ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Κάθε ηλεκτρονικός υπολογιστής αποτελείται

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr ΑΡΧΙΤΕΚΤΟΝΙΚΗ

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

Η ιεραρχία της μνήμης

Η ιεραρχία της μνήμης Η ιεραρχία της μνήμης Οι περιορισμοί στο σχεδιασμό της μνήμης συνοψίζονται σε τρεις ερωτήσεις : 1) Πόση 2) Πόσο γρήγορη 3) Πόσο ακριβή Ερωτήματα-Απαντήσεις Ερώτημα πόση μνήμη. Είναι ανοικτό. Αν υπάρχει

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης II ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης II Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz, Galvin

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ Τομέας Επικοινωνιών, Ηλεκτρονικής & Συστημάτων Πληροφορικής Εργαστήριο Διαχείρισης και Βέλτιστου Σχεδιασμού Δικτύων - NETMODE

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ,

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Ακαδηµαϊκό Έτος 2004-2005, Εαρινό Εξάµηνο ιδάσκων Καθ.: Νίκος Τσαπατσούλης ΕΞΕΤΑΣΗ ΗΜΙΕΞΑΜΗΝΟΥ Η εξέταση

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

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες

Ιεραρχία Μνήμης. Ιεραρχία μνήμης και τοπικότητα. Σκοπός της Ιεραρχίας Μνήμης. Κρυφές Μνήμες Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών 2016-17 Κρυφές Μνήμες (οργάνωση, λειτουργία και απόδοση) http://mixstef.github.io/courses/comparch/ Μ.Στεφανιδάκης Για βελτίωση της απόδοσης

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

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management)

Λειτουργικά Συστήματα Ι. Διαχείριση Μνήμης (Memory Management) Λειτουργικά Συστήματα Ι Διαχείριση Μνήμης (Memory Management) 1 «Δίψα» για Μνήμη! ~1990: ένας desktop υπολογιστής είχε περίπου 1MB memory. Τα 4MB ήταν πολυτέλεια! Σήμερα: ένα laptop, ακόμα κι ένα κινητό(!)

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

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 8: Διαχείριση Μνήμης. Φυσικές και Λογικές Διευθύνσεις Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και

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

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

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

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