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

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

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

Transcript

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

2 «Δίψα» για Μνήμη! ~1990: ένας desktop υπολογιστής είχε περίπου 1MB memory. Τα 4MB ήταν πολυτέλεια! Σήμερα: ένα laptop, ακόμα κι ένα κινητό(!) έχει 8 με 16GB memory. Δηλ. περίπου 16,000 φορές μεγαλύτερη μνήμη!! Οι εφαρμογές «διψούν» για μνήμη. Γιατί; Περισσότερη λειτουργικότητα Μεγαλύτερη πολυπλοκότητα Λιγότερο ταλαντούχοι προγραμματιστές (?) 2

3 «Δίψα» για Μνήμη! Nature abhors a vacuum! (Η Φύση απεχθάνεται το κενό) Ίσως να αφορά και στη μνήμη 3

4 Monoprogramming Μόνο ένα process «φορτωμένο» στη μνήμη κάθε φορά. Η ΚΜ χωρίζεται σε 2 μέρη: ΛΣ, user process. Μόλις ο χρήστης ζητήσει να τρέξει ένα πρόγραμμα, το ΛΣ το "φορτώνει" στην ΚΜ και το τρέχει. 5

5 Monoprogramming Το monoprogramming δεν αρκεί στις πιο πολλές περιπτώσεις: I/O-bound jobs το CPU υποαπασχολείται κακή απόδοση. Πολλές εφαρμογές θέλουν την δυνατότητα δημιουργίας πολλών διεργασιών που τρέχουν "ταυτόχρονα". Άρα χρειαζόμαστε multiprogramming Η δουλειά του Memory Manager γίνεται πολύ πιο δύσκολη 6

6 Multiprogramming: Ωφέλη Έστω p: η πιθανότητα μια διεργασία να είναι σε I/O-wait σε μια χρονική στιγμή N: το πλήθος των διεργασιών Το CPU utilization δίνεται από τη σχέση: CPU utilization = 1 - pn με p = 80% το CPU utilization είναι: Ν CPU util. 20% 36% 49% 59% το multiprogramming έχει σοβαρές ευεργετικές συνέπειες. Σημείωση: Το παραπάνω μαθηματικό μοντέλο είναι υπεραπλουστευμένο. Γιατί; 7

7 Multiprogr. with fixed partitions Ιδέα: Χώρισε τη μνήμη σε fixed partitions Φόρτωσε την κάθε process σε κατάλληλου μεγέθους partition Συν: Τρέχουμε >1 προγράμματα παράλληλα Πλην: Πρέπει να γνωρίζουμε πόση μνήμη θα χρειαστεί κάθε πρόγραμμα Σπατάλη μνήμης Δεν υπάρχει memory isolation / protection Αρκετό queuing time 8

8 Multiprogr. with fixed partitions Μικρή βελτίωση: Κράτα μία ουρά (queue) για όλα τα partitions. Τι κέρδος έχουμε; Λιγότερο queuing time Δεν λύνει όλα τα προβλήματα γνώση μεγέθους εκ των προτέρων σπατάλη μνήμης memory isolation / protection 9

9 Multiprogr. with fixed partitions Internal fragmentation (Εσωτερικός Κατακερματισμός) Αν ένα μικρό process μπει σε μεγάλο partition, τότε αν και υπάρχει πολύς διαθέσιμος χώρος σε αυτό το partition δεν μπορεί να χρησιμοποιηθεί. Αυτό ονομάζεται εσωτερικός κατακερματισμός. Λύση: Όχι προφανής! Για παράδειγμα αν κάθε φορά ο Memory Manager ψάχνει για το process στην ουρά που ελαχιστοποιεί τον εσωτερικό κατακερματισμό, τότε μικρές διεργασίες θα αδικούνται (λιμοκτονούν). θυμηθείτε ότι μικρές, διαδραστικές διεργασίες πρέπει να έχουν υψηλή προτεραιότητα. Μια λύση κατά της λιμοκτονίας Σε κάθε μικρό process αντιστοιχούμε μια μεταβλητή, k, που αντιπροσωπεύει πόσες φορές ο διαχειριστής δεν έδωσε το partition στο process. Μετά από Κ φορές, το partition δίνεται στο process. Αυτή η τεχνική ονομάζεται γενικά aging (παλαίωση ή γήρανση). 10

10 Προβλήματα των Partitions Ακόμα και με monoprogramming υπάρχουν 2 partitions. Λ.Σ. user program Ο linker και ο loader συνεργάζονται και παράγουν τις διευθύνσεις των εντολών και των δεδομένων του προγράμματος. Ο linker παράγει "λογικές" διευθύνσεις και όχι "φυσικές", - δηλ. η πρώτη διεύθυνση είναι 0, κ.τ.λ. Ομως, στην φυσική διεύθυνση 0 βρίσκονται εντολές ή δεδομένα του Λ.Σ. τίθεται θέμα προστασίας του Λ.Σ. Η λύση εστιάζει στη μετάφραση των «λογικών» διευθύνσεων σε «φυσικές». Για παράδειγμα αν το process έχει μπει στο Partition 1, τότε σ' όλες τις διευθύνσεις που παράγονται κατά την εκτέλεση του process, το κατάλληλο υλικό προσθέτει 100Κ. 11

11 Θεμελιώδη Προβλήματα των Partitions Συνήθως η παραπάνω στρατηγική υλοποιείται με την χρήση ενός ειδικού base register (καταχωρητή βάσης). Στο παραπάνω παράδειγμα, όταν το process φορτωθεί στο Part. 1 και αμέσως πριν του δοθεί η CPU, ο καταχωρητής βάσης παίρνει την τιμή 100 Κ. Αυτό γίνεται από τον kernel του Λ.Σ. (δηλ. οι διεργασίες δεν έχουν πρόσβαση σε αυτόν τον register). Έτσι επιτυγχάνεται το επιθυμητό αποτέλεσμα

12 Θεμελιώδη Προβλήματα των Partitions Ο καταχωρητής βάσης όμως δεν αρκεί! Στην περίπτωση πολυπρογραμματισμού, πρέπει το σύστημα να εγγυάται ότι καθένα πρόγραμμα θα προστατεύεται από τα άλλα που είναι στην Κ.Μ. απαιτείται έλεγχος σχετικά με τις διευθύνσεις που μπορεί να παράγει ένα process. π.χ., το process στο Part. 1 δεν μπορεί να παράγει διευθύνσεις > 200Κ γιατί τότε θα κάνει ζημιά στο process που τρέχει στο Part

13 Θεμελιώδη Προβλήματα των Partitions Limit register Αυτό το πρόβλημα λύνεται με έναν άλλο ειδικό καταχωρητή, τον limit register (καταχωρητή ορίου) Ο limit register περιέχει την ανώτατη διεύθυνση του partition στο οποίο τρέχει το process Κάθε διεύθυνση που παράγεται, λοιπόν, προστίθεται στον base register και το αποτέλεσμα συγκρίνεται με τον limit register αν είναι μεγαλύτερο, το process πεθαίνει Σημείωση Με base και limit registers τα προγράμματα μπορούν να μετακινηθούν στην Κ.Μ. (δηλαδή ν' ανατεθούν σε διαφορετικά partitions κατά την διάρκεια της εκτέλεσής τους) Αυτό ονομάζεται relocation (επανατοποθέτηση) 14 14

14 Swapping (Εναλλαγή) Τί γίνεται όταν υπάρχουν πιο πολλές διεργασίες από όσες μπορεί να υποστηρίξει η Κ.Μ.; Ορίζεται ένας χώρος στον δίσκο (swap space) που φιλοξενεί τις διεργασίες που δεν «χωρούν» στην Κ.Μ. Η μεταφορά διεργασιών μεταξύ Κ.Μ. και swap space στον δίσκο ονομάζεται swapping (εναλλαγή). Παρά ταύτα, η διαχείριση μνήμης με σταθερά partitions είναι καταδικασμένη να μην είναι αρκετά καλή Συνήθως σπαταλάται πολλή μνήμη γιατί οι απαιτήσεις των processes δεν «ταιριάζουν» απόλυτα με τα μεγέθη των partitions Είναι προφανής η ανάγκη να εξετάσουμε τη χρήση partitions μεταβλητού μεγέθους (variable sized partitions) 15 15

15 Μεταβαλλόμενα partitions Βασική ιδέα: Οι διευθύνσεις, ο αριθμός, και τα μεγέθη των partitions μεταβάλλονται ανάλογα με τις ανάγκες. Κάθε διαμέρισμα αποτελείται από συνεχόμενες διευθύνσεις στην Κ.Μ. και μπορεί να είναι ίσου μεγέθους με τη διεργασία που «φιλοξενεί» (συνήθως λίγο μεγαλύτερο). Το σημαντικό αποτέλεσμα είναι ότι τα μεταβαλλόμενα partitions ελαχιστοποιούν τη σπατάλη χώρου στην Κ.Μ. Από την άλλη πλευρά, όμως, η ανάθεση μνήμης σε διεργασίες και γενικά το έργο διαχείρισης μνήμης δυσκολεύει

16 Μεταβαλλόμενα partitions Παράδειγμα: Time 1 Kernel P1 Μόλις ήρθε το process P1 Time 2 Kernel P1 P2 Μόλις ήρθε και το process P2 Time 3 Kernel P2 Έφυγε το process P1 Time 4 Kernel P3 P2 Ήρθε το process P3 Time 5 Kernel P3 P2 P4 Ήρθε το process P4 Βλέπουμε ότι υπάρχουν 2 «άδεια» partitions της Κ.Μ., έστω με μέγεθος 3ΜΒ και 1ΜΒ αντίστοιχα. Αν τώρα έρθει ένα process P5 που χρειάζεται 4ΜΒ, δεν μπορεί να γίνει δεκτό, παρότι υπάρχουν 4ΜΒ ελεύθερα στο σύνολο. Αυτό ονομάζεται external fragmentation (εξωτερικός κατακερματισμός)

17 Μεταβαλλόμενα partitions Μια λύση στο πρόβλημα του external fragmentation είναι το storage compaction (σύμπτυξη μνήμης) που συνδέει όλους τους άδειους χώρους της ΚΜ σ' ένα συνεχόμενο διαμέρισμα της Κ.Μ. Για παράδειγμα: Σπάνια όμως χρησιμοποιείται επειδή απαιτεί χρονοβόρο memory-to-memory copying (CPU time). 18

18 Μεταβαλλόμενα partitions Τα μεταβαλλόμενα partitions οπωσδήποτε αυξάνουν την ευελιξία που έχουμε. Όμως, παραμένει ένα ερώτημα: Πόση μνήμη να αναθέσουμε σε ένα process; Η δυσκολία έγκειται στο ότι συνήθως οι ανάγκες ενός process για μνήμη μεταβάλλονται κατά την εκτέλεσή του. Ένα process έχει τρία τμήματα: text/code: το object code («εκτελέσιμο») -- δεν μεταβάλλεται data: το τμήμα δεδομένων -- μεταβάλλεται [βλ. malloc()] stack: η «στοίβα» -- επίσης μεταβάλλεται Το data τμήμα μεγαλώνει προς το stack και αντίστροφα. Προσέξτε: αν δίναμε ακριβώς όσο χώρο χρειάζεται ένα process όταν εισέρχεται στη μνήμη, τότε θα απαιτείτο mem-to-mem αντιγραφή για να μεταφέρουμε ένα process που μεγαλώνει σε άλλο partition

19 Διαχείριση Μνήμης Τα θεμελιώδη θέματα είναι: 1. ποια είναι τα άδεια partitions της μνήμης; 2. ποιο process κατέχει ποιο partition της μνήμης; Υπάρχουν διάφορες μέθοδοι Διαχείρισης Μνήμης που δίνουν λύσεις: Bitmaps: χάρτες ψηφίων που περιέχουν ένα bit για κάθε partition. Π.χ., αν ΒΜ[i]==0 το partition i είναι ελεύθερο. Linked Lists: λίστες των οποίων οι κόμβοι αντιστοιχούν σε partitions. Buddy Systems: βασίζεται σε διαφορετικές λίστες, οι κόμβοι των οποίων αντιστοιχούν σε partitions των οποίων το μέγεθος είναι διαφορετικές δυνάμεις του

20 ΔΜ με Bitmaps Η μνήμη χωρίζεται σε allocation units (μονάδες ανάθεσης) σταθερού μεγέθους λίγων Bytes ή KB. Το μέγεθος των μονάδων ανάθεσης είναι σταθερό. Σε κάθε μονάδα ανάθεσης αντιστοιχεί ένα bit στο bitmap. Αν η θέση x είναι 0, τότε η μονάδα ανάθεσης x δεν χρησιμοποιείται από κανένα process

21 ΔΜ με Bitmaps Ποιο είναι το ιδανικό μέγεθος του allocation unit (μονάδας ανάθεσης); Μικρές μονάδες ανάθεσης μεγάλο bitmap Μεγάλες μονάδες ανάθεσης internal fragmentation (η τελευταία μονάδα ανάθεσης δεν θα χρησιμοποιείται όλη) +/- της χρήσης Bitmaps +: η απλότητα τους (ευκολία υλοποίησης). - : κόστος εύρεσης ελεύθερου partition -- πρέπει να βρεθούν στο BitMap αρκετά συνεχόμενα 0 - μια χρονοβόρα διαδικασία

22 ΔΜ με Linked Lists Στην πιο απλή μορφή τους, κάθε κόμβος αντιστοιχεί σε partition που είτε χρησιμοποιείται από κάποιο process, είτε είναι "ελεύθερο". Τα πεδία ενός κόμβου είναι: ένα ψηφίο (διεργασία ή οπή) ένας αριθμός (αρχική διεύθυνση του partition) ένας αριθμός (μέγεθος του partition) ένας δείκτης στον επόμενο κόμβο 23 23

23 ΔΜ με Linked Lists Οι κόμβοι της λίστας είναι ταξινομημένοι με βάση τη διεύθυνση του partition που αντιπροσωπεύουν. Όταν ένα partition ελευθερώνεται (π.χ., το process τερμάτισε ή έγινε swapped out) πρέπει να εξεταστούν ο επόμενος και ο προηγούμενος κόμβος της λίστας για να συγχωνευθούν οι (πιθανώς) άδειες οπές (holes). Δηλαδή 2 συνεχόμενες οπές να συγχωνευθούν σε μία. Η ταξινόμηση βοηθάει να γίνει αυτό γρήγορα

24 Αλγόριθμοι Memory Allocation Εκτελούνται κατά τη διάρκεια δημιουργίας ή swap in ενός process. Υπάρχουν διάφορες μέθοδοι First-Fit: Βρίσκει την πρώτη οπή (hole) όπου χωράει το process. Next-Fit: Σαν το first-fit, μόνο που ξεκινά το ψάξιμο από την προηγούμενη οπή που βρήκε την προηγούμενη φορά που έτρεξε. Best-Fit: Βρίσκει την μικρότερη από τις οπές που «χωράνε» τη διεργασία, ώστε να ελαχιστοποιήσει τον εσωτερικό κατακερματισμό. Worst-Fit: Βρίσκει την μεγαλύτερη οπή (άρα, προκαλεί τον μεγαλύτερο εσωτερικό κατακερματισμό)

25 Αλγόριθμοι Memory Allocation Η Best-Fit είναι προφανώς πιο αργή μέθοδος από τη First-Fit γιατί απαιτεί περισσότερη αναζήτηση. Η Best-Fit έχει χαμηλότερο memory utilization (δηλ. υψηλότερη σπατάλη μνήμης) σε σχέση με τη First-Fit. Αυτό εξηγείται διότι η Best-Fit έχει την τάση να αφήνει πολύ μικρές «οπές» όπου δεν μπορούν να χωρέσουν άλλες διεργασίες. Η βασική ιδέα της Worst-Fit είναι ν' αφήνει όσο το δυνατόν μεγαλύτερα partitions προς μελλοντική χρησιμοποίηση. Πειραματικά, όμως, έχει αποδειχθεί ότι η Worst-Fit δεν είναι αποδοτική. Ένας τρόπος να αυξηθεί η επίδοση των παραπάνω αλγορίθμων ανάθεσης είναι να χρησιμοποιούνται 2 διαφορετικές λίστες, μια με διεργασίες και μια με οπές. Αυτό όμως αυξάνει το κόστος συγχώνευσης όταν partition ελευθερωθεί. Αν η λίστα των οπών είναι ταξινομημένη με βάση το μέγεθος, τότε οι Best-Fit και First-Fit είναι περίπου εξίσου αποδοτικές μέθοδοι

26 Αλγόριθμοι Memory Allocation Ο αλγόριθμος Quick-Fit: Κρατά πολλές λίστες οπών Η κάθε μια αντιπροσωπεύει οπές με διαφορετικά μεγέθη Έτσι, η ανάθεση γίνεται γρήγορα (βρίσκεται πολύ γρήγορα μια οπή ενός συγκεκριμένου μεγέθους) Το μειονέκτημά του έγκειται στο ότι, όταν ένα partition ελευθερωθεί, το κόστος συγχώνευσης οπών είναι αυξημένο

27 Virtual Memory (Εικονική Μνήμη) Τί μπορούμε να κάνουμε όταν Μία διεργασία είναι μεγαλύτερη της Κ.Μ.; Δηλαδή το σύνολο των μεγεθών των text, data, και stack υπερβαίνει το μέγεθος της Κ.Μ.; --- ή --- Το σύνολο των διεργασιών που τρέχουν (βλέπε πολυπρογραμματισμό) απαιτούν χώρο μεγαλύτερο της Κ.Μ.; Η λύση είναι η τεχνική εικονικής μνήμης (virtual memory) Το Λ.Σ. κρατά μερικά κομμάτια ενός process στη Κ.Μ., ενώ άλλα κομμάτια βρίσκονται στο swap space. Συνήθως λίγα κομμάτια του text, data, και stack είναι στην Κ.Μ. Αυτά τα κομμάτια αφορούν τις εντολές και τα δεδομένα που χρειάζονται άμεσα καθώς και αυτά που αναμένεται να χρησιμοποιηθούν στο εγγύς μέλλον. Έτσι, αυτό που γίνεται swap in & out είναι κομμάτια των text, data, stack τμημάτων ενός process, και όχι ολόκληρες διεργασίες. 28

28 Paging (Σελιδοποίηση) Η έννοια της σελίδας (page) αναφέρεται στο κομμάτι εκείνο ενός process που γίνεται swapped-in & swapped-out, δηλαδή είναι η μονάδα εναλλαγής. Οι λειτουργίες αυτές αναφέρονται και ως page-in & page-out. Το σύνολο των διευθύνσεων μνήμης αποτελεί ένα χώρο διευθύνσεων (address space). Συνήθως αυτό είναι μεγαλύτερο της Κ.Μ. Δεν υπάρχει μονοσήμαντη αντιστοιχία μεταξύ μιας εικονικής διεύθυνσης (που παράγει ένα πρόγραμμα) και μιας φυσικής διεύθυνσης (physical address). Ακόμα περισσότερο όταν η ΚΜ διαμοιράζεται σε πολλές διεργασίες! Συνύπαρξη virtual και physical addresses Τα προγράμματα «μιλούν» με εικονικές διευθύνσεις, δηλ. λειτουργούν στον χώρο εικονικών διευθύνσεων (virtual address space) Τα memory chips «μιλούν» με φυσικές διευθύνσεις, δηλ. λειτουργούν στον χώρο φυσικών διευθύνσεων (physical address space) Πριν μία διεύθυνση ενός προγράμματος φτάσει στη μνήμη, πρέπει να μετατραπεί από virtual (εικονική) σε physical (φυσική). 29

29 Paging (Σελιδοποίηση) Χωρίς εικονική μνήμη Ό,τι διεύθυνση παράγεται δίνεται απαράλλαχτη στο memory bus (μετά ίσως από χρήση των καταχωρητών ορίου/βάσης), και φθάνει στο memory chip. Με εικονική μνήμη Η παραγόμενη διεύθυνση «μεταφράζεται» σε φυσική πριν δοθεί στο memory bus. Αυτή η μετατροπή γίνεται από ειδικό hardware: Memory Management Unit (MMU). 30

30 Paging (Σελιδοποίηση) Το virtual address space διαιρείται σε μονάδες μνήμης που ονομάζονται pages (σελίδες) Αντίστοιχα, η φυσική μνήμη διαιρείται σε page frames (πλαίσια σελίδων) Σελίδες και πλαίσια σελίδων έχουν το ίδιο μέγεθος (συνήθως 512B 8ΚΒ) Για να μπορεί να χρησιμοποιηθεί μια σελίδα, αποθηκεύεται σε ένα πλαίσιο σελίδας 31

31 Paging (Σελιδοποίηση) Παράδειγμα: Θεωρείστε έναν Η/Υ με 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. 32

32 Page Fault (Σφάλμα Σελίδας) Όταν ένα πρόγραμμα προσπαθήσει να προσπελάσει κάποια διεύθυνση που αντιστοιχεί σε σελίδα που δεν βρίσκεται στη μνήμη, έχουμε ένα page fault (σφάλμα σελίδας). Συγκεκριμένα, όταν το MMU βρίσκει ότι η σελίδα που περιέχει τη ζητούμενη διεύθυνση δεν υπάρχει στην Κ.Μ., τότε κάνει ένα trap στο Λ.Σ. Αυτό το trap ονομάζεται page fault (σφάλμα σελίδας). Προκειμένου να εξυπηρετηθεί το memory request του προγράμματος, το Λ.Σ. οφείλει να κάνει page-in για την συγκεκριμένη σελίδα. Δηλαδή, να την μεταφέρει από το swap space σε κάποιο page frame της K.M. 33

33 Ενέργειες του Λ.Σ. σε Page Fault 1. Από κάποια kernel data structures για το process που τρέχει, εντοπίζει την ζητούμενη σελίδα (για την οποία προκλήθηκε το page fault) στο swap space. 2. Αν η Κ.Μ. είναι γεμάτη: Πρέπει να ελευθερώσει ένα page frame που τώρα καταλαμβάνει άλλη σελίδα. Επιλέγει την «σελίδα-θύμα» (συνήθως την λιγότερο χρησιμοποιημένη). Αν η σελίδα-θύμα έχει τροποποιηθεί από το τελευταίο της page-in, τότε την αντιγράφει στη θέση της στο swap space. Γιατί;;; Έτσι έχει δημιουργηθεί ένα ελεύθερο page frame στην Κ.Μ. 3. Φέρνει την ζητούμενη σελίδα σε ένα ελεύθερο page frame. 4. Ενημερώνει το page table (πίνακα σελίδων). Δηλαδή: την εγγραφή που δείχνει στο πλαίσιο που χρησιμοποιήθηκε - δηλ. την εγγραφή της σελίδας «θύμα»: να δείχνει πλέον ότι αυτή η σελίδα δεν είναι χαρτογραφημένη την εγγραφή της ζητούμενης σελίδας, ώστε να δείχνει το κατάλληλο πλαίσιο. 5. Τέλος, ξανακαλείται η εντολή που προκάλεσε το page fault. 34

34 Page Table (Πίνακας Σελίδων) Για να ξέρει το MMU πού βρίσκεται η κάθε σελίδα (δηλ. αν βρίσκεται σε κάποιο page frame της μνήμης και ποιο, ή αν είναι στο swap space), διατηρεί ένα page table (πίνακα σελίδων), που μετατρέπει page indexes σε page frame indexes. Στο παράδειγμά μας, αφού η σελίδα είναι 4ΚB, απαιτούνται 12 bits για τη διευθυνσιοδότηση εντός μιας σελίδας (offset). Με 64ΚB virtual address space έχουμε 16 pages, άρα 4 bits για να προσδιορίσουμε ένα page. Με 32KB μνήμη, έχουμε 8 page frames, άρα 3 bits για να προσδιορίσουμε το page frame. Άρα το page table μεταφράζει 4-bit page indexes σε 3-bit page frame indexes. size address length Page 4KB 12 bits Virtual Space 64KB 16 bits Physical Space 32KB 15 bits 35

35 Page Table (Πίνακας Σελίδων) Μία εικονική διεύθυνση χωρίζεται σε Virtual page number (εικονικό αριθμό σελίδας): high-order bits Offset: low-order bits Ο εικονικός αριθμός σελίδας χρησιμοποιείται σαν δείκτης θέσης στο PT. Αν το page βρίσκεται στην κύρια μνήμη, ο αριθμός πλαισίου στην εγγραφή του PT αποτελεί τα σημαντικά ψηφία που αντικαθιστούν τα σημαντικά ψηφία του virtual page number. Μόλις προσθέσουμε σε αυτά το offset, παράγεται η σωστή φυσική διεύθυνση -- physical address. 36

36 Page Tables (Πίνακες Σελίδων) Προκύπτουν όμως 2 σημαντικά προβλήματα: Μέγεθος: Ένα page table μπορεί να είναι πολύ μεγάλο. Σημειώστε ότι κάθε process έχει δικό του page table! Ταχύτητα: λειτουργία πρέπει να είναι πολύ γρήγορη γιατί χρησιμοποιείται για κάθε διεύθυνση που παράγεται! Αναλογιστείτε ότι σχεδόν όλα τα μοντέρνα συστήματα έχουν 32-bit διευθύνσεις άρα 4GB virtual address space. Αν page size = 4KΒ, το κάθε PT έχει 1M εγγραφές! Επίσης, λόγω του μεγέθους τους, οι πίνακες σελίδων αποθηκεύονται (στην καλύτερη περίπτωση!) στην Κ.Μ. (όχι σε registers) διπλασιάζονται οι προσβάσεις στην ΚΜ που απαιτούνται για να εκτελεστεί μια εντολή! Συνήθως λύσεις άλλοτε βασίζονται σε registers για το mapping ή σε τεχνικές που "μικραίνουν" το μέγεθος των page tables. 37

37 Multilevel Page Tables Τα multilevel page tables (πολυεπίπεδοι πίνακες σελίδων) αποσκοπούν στο να τμηματοποιήσουν το page table (που είναι πολύ μεγάλο) έτσι ώστε να απαιτούνται λίγα (και μικρά) κομμάτια του στην Κ.Μ. σε κάθε στιγμή. Παράδειγμα: 32-bit διευθύνσεις και page table 2 επιπέδων Τα bits 0-9 (PT1) χρησιμοποιούνται ως index στο αρχικό PT. Κάθε εγγραφή του, αντί να δείχνει σε κάποιο page, δείχνει σ ένα page table 2 ου επιπέδου στην Κ.Μ. Τα bits (PT2) χρησιμοποιούνται ως index στο PT 2 ου επιπέδου που βρέθηκε στο προηγούμενο βήμα. Αυτό μας οδηγεί στη ζητούμενη σελίδα. Τα 12-bits (Offset) χρησιμοποιείται για να βρεθεί το κατάλληλο byte στο πλαίσιο σελίδας που δείχνει το PT 2 ου επιπέδου. 38

38 Multilevel Page Tables Στο παράδειγμα: Κάθε σελίδα είναι 4KB (αφού το offset είναι 12 bits) Κάθε PT στο 2ο επίπεδο αναπαριστά (χαρτογραφεί) 4MB Το PT στο 1ο επίπεδο αναπαριστά 4GB (32 bits -> 4 GB). Έτσι αν τα text, data, και stack segments του process είναι το καθένα <=4ΜΒ τότε χρειαζόμαστε να έχουμε στην κύρια μνήμη μόνο 3 PTs του 2ου επιπέδου. Αφού το text segment δεν μεγαλώνει, τότε η ανάθεση εικονικών διευθύνσεων στο process μπορεί να γίνει ως εξής: 0-4MB text 4MB - 8MB data τα τελευταία 4ΜΒ (από τα 4GB) stack (μεγαλώνει "προς τα κάτω") Θα χρειαστούν περισσότερα PTs στην K.M. μόνο αν το data ή το stack segment μεγαλώσουν πάνω από 4ΜΒ το καθένα. 39

39 Translation Lookaside Buffer (TLB) Αφού τα PTs είναι πολύ μεγάλα για να χωρέσουν σε CPU registers, πώς μπορούμε να μειώσουμε το κόστος πρόσβασης σ' αυτά (στην Κ.Μ.); Η απάντηση βασίζεται στη χρήση συσχετιστικής μνήμης (associative memory) που λειτουργεί σαν «κρυφή μνήμη» ή «προσωρινή μνήμη» (cache). Η θεμελιώδης παρατήρηση είναι ότι η συμπεριφορά των περισσότερων προγραμμάτων είναι τέτοια ώστε να παρατηρούνται μεγάλοι αριθμοί αναφορών σε λίγες σελίδες (που αλλάζουν αργά με το πέρασμα του χρόνου) π.χ., όλες οι εντολές στην ίδια σελίδα εντολών (βλέπε loops). Έτσι χρησιμοποιείται ειδικό υλικό που αποτελείται από καταχωρητές το σύνολο των οποίων καλούνται TLB -- translation lookaside buffer. Ο αριθμός αυτών των registers είναι μικρός (π.χ., 64). 40

40 Translation Lookaside Buffer (TLB) Ο κάθε καταχωρητής έχει την ίδια πληροφορία που υπάρχει σε μια καταχώρηση του page table και επιπλέον έχει και τον εικονικό αριθμό σελίδας. Η MMU εξετάζει πρώτα αν η ζητούμενη εικονική σελίδα βρίσκεται στην κρυφή μνήμη TLB (όλοι οι registers εξετάζονται παράλληλα). Αν ναι, τότε αποφεύγεται η πρόσβαση του PT στη Κ.Μ. Αν όχι, τότε προσπελαύνεται το PT και η κατάλληλη PT εγγραφή αντικαθιστά κάποια άλλη στην TLB. Σε μερικές σύγχρονες μηχανές, η διαχείριση σφαλμάτων στο TLB γίνονται από το ΛΣ. Προσέξτε ότι: αν δρομολογηθεί άλλη διεργασία (process/context switch), τότε θα πρέπει να "μηδενισθεί" το TLB! Η έννοια και χρήση κρυφής μνήμης είναι καθοριστικής σημασίας για Συστήματα Λογισμικού! 41

41 Page Table Entries Συνήθως η ακριβής δομή εξαρτάται από τη μηχανή. Αλλά, οι πιο πολλές εγγραφές έχουν τις εξής πληροφορίες: Προστασία -- Protection bits: ορίζουν αν η σελίδα αυτή μπορεί να γίνει read/write/execute Ενημέρωση -- Modify bit: δηλώνει αν έχει ενημερωθεί η σελίδα από τότε που ήρθε στην Κ.Μ. Αναφορές -- Reference bits: δηλώνουν πόσες φορές το τελευταίο χρονικό διάστημα έγινε αναφορά σ' αυτή τη σελίδα. Παρούσα -- Present bit: δηλώνει αν η σελίδα βρίσκεται στη ΚΜ. Δείκτης πλαισίου -- Page Frame bits: ορίζουν σε ποιο frame της ΚΜ βρίσκεται αυτή η σελίδα. 42

42 Page Table Entries Προσέξτε ότι η διεύθυνση της σελίδας στο swap space (δίσκο) δεν βρίσκεται στην εγγραφή του PT... Modify bit: χρησιμοποιείται όταν αποφασίζεται να εκδιωχθεί μια σελίδα απ' την ΚΜ για να ελευθερωθεί χώρος για μια άλλη σελίδα. Αν το bit αυτό είναι 1, τότε η σελίδα γράφεται στο swap space - αλλιώς δεν χρειάζεται αυτή η εγγραφή στον δίσκο μια χρονοβόρα εντολή. Reference bit: Χρησιμοποιείται για ν' αποφασιστεί ποια σελίδα ("θύμα") θα αντικατασταθεί. Το πρόσφατο παρελθόν, οδηγός του μέλλοντος... 43

43 Inverted Page Tables Αν ο χώρος εικονικών διευθύνσεων είναι πολύ μεγάλος, (πχ 2 64 ) τα PTs πρέπει να είναι εξαιρετικά μεγάλα (πχ 2 52 εγγραφές για πλαίσια μεγέθους 4ΚΒ). απαιτείται άλλη προσέγγιση! Τα inverted page tables (ανεστραμμένοι πίνακες) είναι μια λύση: Υπάρχει ένα μόνο PT, με μια εγγραφή για κάθε page frame, που δείχνει ποια σελίδα ποιας διεργασίας φιλοξενεί (πχ 2 18 εγγραφές). Σε κάθε αναφορά μνήμης, δηλαδή σε εικονική σελίδα, χρησιμοποιείται μια συσκευή TLB, όπως πριν. Αν δεν βρεθεί στο TLB, για να βρούμε αν υπάρχει η σελίδα στη μνήμη γρήγορα, χρησιμοποιείται ένα πίνακας κατακερματισμού (hash table) Κάθε φορά που εισέρχεται μια σελίδα στη μνήμη, με βάση τον αριθμό εικονικής σελίδας, εισέρχεται και στον πίνακα κατακερματισμού. Επίσης, πρέπει να ενημερώνεται και το TLB. 44

44 Page Replacement Όταν σημειώνεται ένα σφάλμα σελίδας τότε το Λ.Σ. πρέπει (μερικές φορές - αν δεν υπάρχει ελεύθερο πλαίσιο) να διαλέξει μια σελίδα (victim) "θύμα" που θα αντικατασταθεί από την ζητούμενη σελίδα. Αν το "θύμα" είναι «βρώμικο» (dirty) (δηλ. έχει ενημερωθεί όσο ήταν στη Κ.Μ.) τότε το Λ.Σ. πρέπει να την ξαναγράψει πάλι στο swap space. Μια σελίδα είναι dirty αν η εγγραφή στο ΠΣ που δείχνει σ' αυτήν έχει το ψηφίο M = 1. Προφανώς η απόδοση του συστήματος είναι καλύτερη αν το "θύμα" δεν είναι μια πολυ-χρησιμοποιημένη σελίδα. Το μεγάλο πρόβλημα κόστους πηγάζει από την ανάγκη πρόσβασης στον δίσκο για αντικατάσταση σελίδων μια χρονοβόρα διαδικασία! 46

45 Αντικατάσταση Σελίδων Η βέλτιστη στρατηγική: Αν ξέραμε μετά από πόσο χρόνο (π.χ., αριθμό εντολών) η κάθε σελίδα στην ΚΜ θα επαναπροσπελαστεί, τότε μπορούμε να διαλέξουμε σαν θύμα τη σελίδα που δε θα χρειαστεί για το μεγαλύτερο χρονικό διάστημα. Όμως, γενικά σε πραγματικά συστήματα, τέτοιου είδους πληροφορία δεν υπάρχει, ούτε μπορεί να παραχθεί. Σε μερικές περιπτώσεις είναι δυνατόν να υποβληθεί ένα πρόγραμμα σε κάποιο είδους «ανιχνευτή» («tracer») το οποίο καταχωρεί την συμπεριφορά του προγράμματος αναφορικά με τις προσπελάσεις σε σελίδες. Αυτή η πληροφορία χρησιμοποιείται όταν το πρόγραμμα τρέχει πραγματικά και έτσι μπορούμε να υλοποιήσουμε τη βέλτιστη στρατηγική. 47

46 Ο Αλγόριθμος Not Recently Used Συνοπτικά, αυτή η μέθοδος διαλέγει σαν θύμα μια σελίδα που δεν έχει χρησιμοποιηθεί πρόσφατα. Πρέπει λοιπόν να υπάρχουν πληροφορίες σχετικά με το πόσο πρόσφατα χρησιμοποιήθηκε η κάθε σελίδα. Στον αλγόριθμο NRU χρησιμοποιούνται τα R και Μ ψηφία που συνήθως υπάρχουν στις εγγραφές των Page Tables: Το R γίνεται 1 όταν η αντίστοιχη σελίδα προσπελαύνεται. Το Μ γίνεται 1 όταν η αντίστοιχη σελίδα ενημερώνεται. Τις ενημερώσεις των R, M bits τις κάνει συνήθως το hardware. 48

47 Ο Αλγόριθμος Not Recently Used Αλγόριθμος NRU 1. Όταν αρχίζει ένα process τότε όλα τα R, M bits των εγγραφών του PT παίρνουν την τιμή Σε κάθε clock interrupt το R bit γίνεται πάλι 0. Έτσι αν εξετάσουμε μια PT εγγραφή και δούμε το R = 1 ότι υπήρξε αναφορά σ' αυτή τη σελίδα μετά το τελευταίο clock tick. 3. Όταν σημειώνεται ένα page fault: Το Λ.Σ. χρησιμοποιεί 4 κατηγορίες σελίδων με βάση τις τιμές των R & M bits. K1 R = 0 M = 0 K2 R = 0 M = 1 (υπάρχει αυτή η κατηγορία; ΝΑΙ) K3 R = 1 M = 0 K4 R = 1 M = 1 Το Λ.Σ. διαλέγει σαν θύμα μια από τις σελίδες στην κατώτερη κατηγορία. Γιατί προτιμάει θύματα από Κ1 και όχι από Κ2; Ο NRU είναι απλός, και έχει καλή απόδοση. 49

48 Αλγόριθμοι βασισμένοι σε FIFO: Δεύτερη Ευκαιρία Προφανώς η "καθαρόαιμη" FIFO στρατηγική έχει προβλήματα. Γιατί ; O Αλγόριθμος Δεύτερης Ευκαιρίας (Second - Chance) Βασίζεται στη στρατηγική FIFO: εξετάζει σελίδες αρχίζοντας από την πιο παλιά. Αλλά, αντί να αντικαθιστά την πιο παλιά σελίδα, εξετάζει το R bit. Αν R=0 τότε την αντικαθιστά. Αν R = 1 τότε κάνει το bit R = 0 η σελίδα τοποθετείται στο τέλος της λίστας (δηλ. "βαφτίζεται" σαν η πιο πρόσφατη σελίδα στη ΚΜ) η αναζήτηση θύματος συνεχίζεται στην επόμενη πιο παλιά σελίδα. Αν R=1 για όλες τις σελίδες, τότε second-chance είναι στην ουσία FIFO (Γιατί ;) 50

49 Αλγόριθμοι βασισμένοι σε FIFO: Ρολόι O Αλγόριθμος «Ρολόι» (Clock) Το σημαντικότερο μειονέκτημα του second-chance είναι ότι συνεχώς ενημερώνει την λίστα - χρονοβόρα διαδικασία. Στον αλγόριθμο Ρολόι, οι σελίδες-πλαίσια οργανώνονται σε μια κυκλική λίστα που προσομοιώνει ένα ρολόι, δηλαδή υπάρχει ένας δείκτης που δείχνει στην πιο παλιά σελίδα. Όταν σημειώνεται ένα page fault: εξετάζεται η σελίδα που δείχνει ο δείκτης: Αν R=0, τότε αυτή είναι το θύμα & ο δείκτης προωθείται να δείχνει στην επόμενη σελίδα. Αν R=1, τότε R 0 & ο δείκτης δείχνει στην επόμενη σελίδα και η αναζήτηση συνεχίζεται. 51

50 Αλγόριθμος Least-Recently Used (LRU) Βασική ιδέα: σελίδες που προσπελάστηκαν στο πρόσφατο παρελθόν θα επαναπροσπελασθούν και στο εγγύς μέλλον (και αντιστρόφως). Έτσι, το θύμα είναι η σελίδα που δεν έχει χρησιμοποιηθεί για το μεγαλύτερο χρονικό διάστημα. Μια προσέγγιση υλοποίησης είναι με μια λίστα όλων των σελίδων στη ΚΜ με την πιο-πρόσφατα-χρησιμοποιημένη σελίδα στην κορυφή της λίστας και την LRU σελίδα στο τέλος. Απλή μέθοδος, αλλά η λίστα χρειάζεται ενημέρωση σε κάθε αναφορά στη μνήμη (που γίνεται > 1 φορές για κάθε εντολή) το κόστος είναι απαγορευτικό! 52

51 Αλγόριθμος Least-Recently Used (LRU) Μια προσέγγιση αποφυγής του παραπάνω κόστους είναι να χρησιμοποιηθεί ειδικό hardware. Μια μέθοδος χρησιμοποιεί έναν 64-bit counter η τιμή του οποίου αυξάνεται σε κάθε εντολή. Επίσης, κάθε εγγραφή του PT έχει 64 bits παραπάνω, έτσι ώστε μετά από κάθε αναφορά σε μια σελίδα της ΚΜ η τιμή του counter να αποθηκεύεται στην αντίστοιχη εγγραφή του PT. η μέθοδος διαλέγει σαν θύμα την σελίδα της οποίας η εγγραφή στο PT έχει την μικρότερη τιμή του counter. Το παραπάνω ειδικό hardware κοστίζει, φυσικά, και μπορεί να μην υπάρχει/προσφέρεται από κάποιο σύστημα. Έτσι πολλοί σχεδιαστές Λ.Σ. καταφεύγουν σε λύσεις software με τις οποίες προσπαθούν να προσομοιώσουν την στρατηγική LRU. 53

52 Αλγόριθμος Not-Frequently-Used (NFU) Πρόκειται για μια καλή προσομοίωση του LRU. Με κάθε σελίδα συνδέεται και ένας μετρητής (software counter) -- αρχικά έχει την τιμή 0. Με κάθε clock interrupt το Λ.Σ. προσπελαύνει όλες τις σελίδες στην Κ.Μ. Για κάθε σελίδα: o counter «ολισθαίνει δεξιά» (shift right) η τιμή του counter τότε προσαυξάνεται με την τιμή του R (0 ή 1) της ίδιας σελίδας. Το R προστίθεται στο πιο σημαντικό ψηφίο του counter. Όταν σημειώνεται ένα σφάλμα σελίδας, η σελίδα με την μικρότερη τιμή του μετρητή επιλέγεται σαν θύμα. 54

53 Αλγόριθμος Not-Frequently-Used (NFU) Ο παραπάνω αλγόριθμος είναι μια συγκεκριμένη μορφή NFU που ονομάζεται αλγόριθμος γήρανσης (aging). π.χ. Counters

54 Αλγόριθμος Not-Frequently-Used (NFU) Αν μια σελίδα δεν έχει χρησιμοποιηθεί για Ν ticks τα πρώτα N bits = 0. Αυτός ο αλγόριθμος διαφέρει κατά 2 τρόπους από τον LRU: 1. Στο παράδειγμα: Αν και η σελίδα 1 είναι το θύμα, είναι πιθανό να είχε χρησιμοποιηθεί μετά την σελίδα 2 στο clock tick Υπάρχει ένας πεπερασμένος αριθμός (για τον counter) ψηφίων (π.χ., αν όλα τα 6 ψηφία 2 σελίδων είναι 0, τότε διαλέγουμε στην τύχη μεταξύ τους). Αυτό όμως δεν δημιουργεί ιδιαίτερα προβλήματα! 56

55 Σχεδιασμός Paging Systems Όταν αρχίζει ένα process το Λ.Σ., μπορεί να επιλέξει: να μην φέρει καμία σελίδα του στη Κ.Μ. (δηλαδή να αφήσει το σύστημα να φέρει την κάθε σελίδα από τον δίσκο όταν υπάρξει η πρώτη αναφορά σ' αυτήν). Αυτή η στρατηγική ονομάζεται σελιδοποίηση κατ απαίτηση (ondemand paging). να φορτώσει κάποιες σελίδες του process από τον δίσκο πριν το process αρχίσει να τρέχει. Αυτή η στρατηγική ονομάζεται προσελιδοποίηση (prepaging). Συνήθως η συμπεριφορά των προγραμμάτων που τρέχουν χαρακτηρίζεται από διάφορες φάσεις. Σε κάθε φάση οι αναφορές μνήμης που γίνονται απ' το πρόγραμμα εντοπίζονται σ' ένα μικρό σύνολο σελίδων του (locality of reference) που είναι ένα πολύ μικρό υποσύνολο του address space του προγράμματος. 57

56 Σχεδιασμός Paging Systems Αυτό το υποσύνολο των σελίδων, που χρησιμοποιεί ένα πρόγραμμα στη τωρινή του φάση, ονομάζεται λειτουργικό σύνολο (working set). Αν όλο το working set ενός process βρίσκεται στην ΚΜ, τότε το process αυτό θα δημιουργεί page faults μόνο κατά τη μετάβαση στην επόμενη φάση. Αυτό είναι και το ζητούμενο! Αν το working set είναι πολύ μεγάλο και δεν χωράει στην διαθέσιμη "ελεύθερη" φυσική μνήμη, τότε το πρόγραμμα θα τρέξει πολύ αργά. 58

57 Σχεδιασμός Paging Systems Το φαινόμενο thrashing «αλώνισμα»: Όταν ένα process σπαταλάει ένα μεγάλο μέρος του συνολικού χρόνου σε page faults (π.χ., ένα process έτρεξε για 15 secs, τα 14 από τα οποία ήταν για page faults). Προσέξτε: - κάθε εντολή παίρνει χρόνο < 1 μs - κάθε πρόσβαση στον δίσκο παίρνει χρόνο ~= 10 ms Το Μοντέλο του Λειτουργικού Συνόλου (Working Set - WS) Λ.Σ. που εφαρμόζουν αυτό το μοντέλο πρέπει να: ξέρουν ποιο είναι το working set κάθε διεργασίας, και πριν την τρέξουν (είτε στην αρχή, είτε μετά από swap in) να έχουν φέρει το WS στην Κ.Μ., (δηλ. εφαρμόζουν prepaging). 59

58 Σχεδιασμός Paging Systems Πώς μπορεί το Λ.Σ. να ξέρει ποιο είναι το WS; Μία μέθοδος βασίζεται στον αλγόριθμο NFU με γήρανση (aging) για την αντικατάσταση σελίδων που είδαμε πριν. Το WS ενός process αποτελείται απ' όλες τις σελίδες των οποίων τα πρώτα N ψηφία των μετρητών δεν είναι 0. Δηλ. αν στα τελευταία Ν ticks του ρολογιού έχει σημειωθεί αναφορά στην σελίδα, τότε η σελίδα ανήκει στο WS της διεργασίας. Το μοντέλο WS μπορεί να συνδυαστεί με τον αλγόριθμο clock: Αντί να επιλέγεται ως θύμα η σελίδα στην οποία δείχνει ο δείκτης αν το R = 0: πρώτα εξετάζεται αν η σελίδα αυτή ανήκει στο WS. Αν ναι, τότε δεν επιλέγεται ως θύμα, και συνεχίζεται η αναζήτηση. Αλλιώς, επιλέγεται ως θύμα. Αυτός ο αλγόριθμος ονομάζεται WS_Clock 60

59 Τοπική και Καθολική Αντικατάσταση (Global και Local Page Replacement) Θεμελιώδης ερώτηση: Όταν σημειώνεται ένα σφάλμα σελίδας, και αναζητούμε ένα θύμα: θα περιορίσουμε την έρευνα μας μόνο στις σελίδες της διεργασίας που προκάλεσε το σφάλμα; ή θα εξετάσουμε όλες τις σελίδες της Κ.Μ. ανεξάρτητα από το σε ποια διεργασία ανήκουν; Στην πρώτη περίπτωση η στρατηγική ονομάζεται «τοπική» local ενώ στη δεύτερη περίπτωση ονομάζεται «καθολική» global. Με καθολικούς αλγόριθμους, ο αριθμός των πλαισίων που έχουν δοθεί σε κάθε διεργασία μεταβάλλεται με το χρόνο. Συνήθως προτιμούνται οι καθολικοί αλγόριθμοι διότι συνήθως το μέγεθος του WS αλλάζει με την πάροδο του χρόνου. Με τοπικούς αλγόριθμους Αν το WS μικρύνει τότε σπαταλάται (στην ουσία) χώρος της Κ.Μ., έλλειψη του οποίου δημιουργεί page faults σ' άλλες διεργασίες. Αντίθετα, αν το WS μεγαλώσει, μπορεί να συμβεί thrashing. 61

60 Τοπική και Καθολική Αντικατάσταση (Global και Local Page Replacement) Οι καθολικοί αλγόριθμοι δεν έχουν αυτά τα προβλήματα. Όμως πρέπει να αποφασίσουν πόσα πλαίσια σελίδων να δώσουν σε κάθε process. Συνήθως, ανάλογα με το μέγεθος του process, τού ανατίθεται και ένας αριθμός πλαισίων. Αλλά και αυτό μπορεί να δημιουργήσει thrashing. Το πρόβλημα μπορεί να λυθεί μετρώντας τη συχνότητα σφαλμάτων σελίδων (page fault frequency) κάθε process και χρησιμοποιώντας 2 κατώφλια: High PFF και Low PFF. Όταν μετριέται το PFF ενός process p: Αν PFF(p) > H_PFF τότε το Λ.Σ. δίνει πιο πολλά πλαίσια στο p. Αν PFF(p) < L_PFF τότε το Λ.Σ. μπορεί να αφαιρέσει πλαίσια από το process p. 62

61 Μέγεθος Σελίδας Μικρές ή μεγάλες σελίδες ; Η τελευταία σελίδα κάθε segment (text, data, ή stack) είναι κατά μέσο όρο η μισή άδεια μικρές σελίδες είναι καλύτερα. Επίσης όταν μια σελίδα είναι μεγάλη τότε μπορεί το WS του process να χρειάζεται μόνο ένα υποσύνολο της πληροφορίας στη σελίδα και έτσι σπαταλείται Κ.Μ. μικρές σελίδες είναι καλύτερα. Από την άλλη μεριά: μικρές σελίδες μεγάλα PTs σπαταλάται Κ.Μ. μικρές σελίδες μη αποδοτικό I/O κατά την διάρκεια page faults. Αυτό συμβαίνει γιατί, όταν σελίδες γίνονται swap in/out, ο μεγαλύτερος χρόνος που απαιτείται οφείλεται στην χρησιμοποίηση του δίσκου για seek (δηλ. να τοποθετηθεί η κεφαλή του δίσκου στη σωστή σελίδα) συμφέρει να μεταφέρουμε μεγάλες σελίδες! 63

62 Ζητήματα Υλοποίησης ΛΣ και Σελιδοποίηση Δημιουργία διεργασίας: Δέσμευση ΚΜ για το PT και αρχικοποίηση Δέσμευση στον δίσκο χώρου για το swap file και αρχικοποίηση (εντολές και δεδομένα προγράμματος). Χρονοπρογραμματισμός διεργασίας: Αρχικοποίηση TLB, ενημέρωση για ποιο είναι το τρέχον PT, προσελιδοποίηση(;) Σφάλμα σελίδας: Εύρεση στον δίσκο ζητούμενης σελίδας, εύρεση θύματος, page_out(;), page_in, Τερματισμός διεργασίας: Απελευθέρωση χώρου για PT, swap file στον δίσκο. 64

63 Ζητήματα Υλοποίησης Πισωγύρισμα Εντολής (Instruction Back-Up) Έστω μια εντολή που προκαλεί page fault. Το page fault μπορεί να προκλήθηκε όταν έγινε αναφορά στη σελίδα εντολών, ή σε μια από τις σελίδες που περιέχουν τις παραμέτρους--δεδομένα. Μόλις το Λ.Σ. φέρει τη ζητούμενη σελίδα, πρέπει να επαναληφθεί η εντολή από την αρχή το Λ.Σ. πρέπει να βρει που είναι το 1o byte της εντολής. Συνήθως οι εντολές είναι πολλά bytes (π.χ., 2 bytes για opcode και 2 για κάθε παράμετρο) δεν είναι εύκολη υπόθεση. Μερικά συστήματα είτε κρατούν αυτή τη πληροφορία σε ειδικούς registers, είτε ο μικροκώδικας (microcode) της εντολής τη βάζει (push) στο stack, όπου το Λ.Σ. τη βρίσκει! 65

64 Ζητήματα Υλοποίησης Κλείδωμα Σελίδων (Page Locking) Υπάρχει αλληλεπίδραση μεταξύ υποσυστήματος I/O και virtual Memory (Ε/Ε και εικονικής μνήμης). Θεωρήστε ένα process, P1, που εκτελεί read (fd, &buf,...). Το Λ.Σ. δίνει την εντολή στον δίσκο να φέρει το ζητούμενο disk block στην σελίδα(ες) Σ1, Σ2,... όπου βρίσκεται ο buf. Το P1 μπλοκάρει και το CPU δίνεται στο P2. Το P2 προκαλεί page faults και σαν θύμα επιλέγεται μια από τις σελίδες Σ1, Σ2,... όπου βρίσκεται ο buf της P1 και τη φορτώνει με την επιθυμητή σελίδα της P2. Αργότερα ο δίσκος φέρνει την απάντηση από τον δίσκο για την P1 και χρησιμοποιώντας DMA την αποθηκεύει στη διεύθυνση όπου τώρα υπάρχει η σελίδα της P2... καταστροφή. Η λύση στο πρόβλημα είναι να χρησιμοποιηθεί ένα lock bit για κάθε πλαίσιο. Όταν το lock bit είναι 1 τότε αυτή η σελίδα δεν μπορεί να επιλεχθεί σαν θύμα από τον page manager. Έτσι, αν όλες οι σελίδες που εμπλέκονται σε I/O έχουν το lock bit = 1 τότε το παραπάνω πρόβλημα αποφεύγεται. 66

65 Ζητήματα Υλοποίησης Διαμοιρασμός Σελιδων (Page Sharing) Συνήθως >1 διεργασίες τρέχουν το ίδιο πρόγραμμα (δηλ., ίδιο code segment) Άλλες φορές, διαφορετικές διεργασίες έχουν shared memory. συμφέρει οι σελίδες να διαμοιράζονται, αντί να υπάρχει ένα αντίγραφο του κοινού προγράμματος για κάθε διεργασία. όταν ένα process γίνεται swap out (ή τελειώνει) πρέπει οι σελίδες (text) που χρησιμοποιούνται από άλλες διεργασίες να μην γίνουν swap out (και το swap space να μην ελευθερωθεί) 67

66 Ζητήματα Υλοποίησης Swap Space Συνήθως είναι ένα ειδικό partition στον δίσκο. Υπάρχει ένα free list έτσι ώστε καινούργιες διεργασίες να βρίσκουν swap space. Όταν ένα process αρχίζει, το Λ.Σ. του αναθέτει τόσο swap space όσο είναι και το μέγεθός του. Στην εγγραφή του Process Table του Λ.Σ. για το process P υπάρχει ένα πεδίο που δείχνει στη διεύθυνση στον δίσκο για το process P (swap space). Έτσι με το virtual page number και αυτή την διεύθυνση βρίσκουμε που είναι η κατάλληλη σελίδα στο χώρο εναλλαγής. Συνήθως τα segments όπως το stack και το data ενός process έχουν διαφορετικά swap spaces, λόγω κυμαινόμενου μεγέθους. 68

67 Ζητήματα Υλοποίησης Ο Δαίμονας Σελιδοποίησης (paging daemon) Σε πολλά συστήματα δαίμονες σελιδοποίησης (ειδικές διεργασίες) διασφαλίζουν ότι υπάρχουν "αρκετά" ελεύθερα πλαίσια σελίδων στη μνήμη. Περιοδικά, ο δαίμονας σελιδοποίησης (paging daemon) ξυπνάει, ελέγχει αν υπάρχουν αρκετά ελεύθερα πλαίσια. Αν ναι, ξανακοιμάται. Αν όχι, τρέχει τον αλγόριθμο αντικατάστασης σελίδων, μέχρι αρκετά frames να γίνουν ελεύθερα. Έτσι το σύστημα έχει καλύτερη απόδοση. Γιατί ; 69

68 Χειρισμός Λάθους (Page Fault Ηandling) Αλγόριθμος 1. Έχουμε παγίδα στον πυρήνα (kernel trap). O kernel σώζει PC και διεύθυνση εντολής (1ο byte). 2. Ο kernel σώζει general-purpose regs. 3. Βρίσκει ποια εικονική σελίδα προκάλεσε page fault (μπορεί να χρειαστεί να κάνει parse την εντολή). 4. Αν οι έλεγχοι προστασίας περάσουν, το Λ.Σ. προσπαθεί να βρει ελεύθερο frame (τρέχοντας ίσως τον page replacement αλγόριθμο). 5. Αν το θύμα έχει M=1, τότε ζητάει απ' το disk controller το γράψιμο της σελίδας και δρομολογεί άλλο process (αφού κλειδώσει την σελίδα). 70

69 Χειρισμός Λάθους (Page Fault Ηandling) 6. Αφού γραφτεί η σελίδα, ο kernel βρίσκει που στο swap space είναι η ζητούμενη σελίδα και ζητά απ' τον disk controller να την φέρει (και δρομολογεί άλλη διεργασία). 7. Όταν έρθει η σελίδα τα PTs ενημερώνονται και η σελίδα ξεκλειδώνεται. 8. Ο kernel βρίσκει το 1ο byte της εντολής που προκάλεσε το page fault. 9. To process που προκάλεσε το page fault ξανατρέχει (ο έλεγχος επιστρέφει στην assembly-code ρουτίνα του βήματος 2). Η assembly ρουτίνα επανατοποθετεί τις κατάλληλες τιμές των general-purpose CPU regs και επιστρέφει. 10. Το process τώρα τρέχει σαν το page fault να μην είχε συμβεί. 71

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

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

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

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

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

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

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

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

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

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

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

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

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή

Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Στοιχεία αρχιτεκτονικής μικροεπεξεργαστή Αριθμός bit δίαυλου δεδομένων (Data Bus) Αριθμός bit δίαυλου διευθύνσεων (Address Bus) Μέγιστη συχνότητα λειτουργίας (Clock Frequency) Τύποι εντολών Αριθμητική

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems) Μαθηµα 2 ηµήτρης Λιούπης 1 Intel SA-1110 µc StrongARM core. System-on-Chip. Εξέλιξη των SA-110 και SA-1100. 2 ARM cores ARM: IP (intellectual

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

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

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

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

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα 1. Ποια είναι η σχέση της έννοιας του μικροεπεξεργαστή με αυτή του μικροελεγκτή; Α. Ο μικροεπεξεργαστής εμπεριέχει τουλάχιστο έναν μικροελεγκτή. Β. Ο

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κεφάλαιο 5ο Συστήματα Εισόδου - Εξόδου (INPUT/OUTPUT) 1 6.1 I/O Υλικό To Ι/Ο σύστημα αποτελεί ένα πολύ μεγάλο τμήμα ενός Λ.Σ. Συνήθως "διευθύνει" όλες τις συσκευές I/O (π.χ. δίσκους,

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

Writing kernels for fun and profit

Writing kernels for fun and profit Writing kernels for fun and profit Γιάννης Τσιομπίκας nuclear@memberfsforg 23 Μαρτίου 2011 Γιατί; It s FUN! Εξοικείωση με το hardware Εμβάθυνση στον θαυμαστό κόσμο των λειτουργικών συστημάτων Μια καλή

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Αναστάσιος Α. Νάνος ananos@cslab.ntua.gr Επιβλέπων: Νεκτάριος

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Μεταγλώτιση, σύνδεση Αρης Ευθυμίου Ανακοινώσεις! Βαθμοί: 1ης εργαστηριακής άσκησης Βαθμός 0 χωρίς σχόλια δεν έχω πάρει την άσκηση! ελέγξτε μήπως δεν το στέλνετε στο σωστό

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

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

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

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Αρχιτεκτονική Eckert-von Neumann εισόδου μεταφορά δεδομένων από έξω προς τον Η/Υ εξόδου μεταφορά δεδομένων από τον Η/Υ προς τα έξω ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Κύκλος Μηχανής κεντρικός έλεγχος/πράξεις

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

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

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα

Αποθήκευση εδομένων. ομή ενός Σ Β. Εισαγωγή Το «εσωτερικό» ενός ΜΕΡΟΣ Β : Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα Αποθήκευση εδομένων Βάσεις Δεδομένων 2009-2010 Ευαγγελία Πιτουρά 1 ΜΕΡΟΣ Β : Εισαγωγή Το «εσωτερικό» ενός Σ Β ομή ενός Σ Β Η (εσωτερική) αρχιτεκτονική ενός Σ Β είναι σε επίπεδα Τυπικά, κάθε σχέση σε ένα

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

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

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

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

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών

Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών ΕΠΛ231 Δομές Δεδομένων και Αλγόριθμοι 1 Διάλεξη 06: Συνδεδεμένες Λίστες & Εφαρμογές Στοιβών και Ουρών Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση ΑΤΔ με Συνδεδεμένες Λίστες -

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Βασικές Έννοιες Προγραμματισμού. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Βασικές Έννοιες Προγραμματισμού Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Αριθμητικά συστήματα Υπάρχουν 10 τύποι ανθρώπων: Αυτοί

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

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων

Αρχιτεκτονική Υπολογιστών II 16-2-2012. Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Αρχιτεκτονική Υπολογιστών II 6 --0 Ενδεικτικές απαντήσεις στα θέματα των εξετάσεων Θέμα. Τι γνωρίζετε για την τοπικότητα των αναφορών και ποιών μονάδων του υπολογιστή ή τεχνικών η απόδοση εξαρτάται από

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ. ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ ΜΑΘΗΜΑ 4 ο ΟΡΓΑΝΩΣΗ ΤΗΣ ΜΝΗΜΗΣ ΠΕΡΙΦΕΡΕΙΑΚΗ ΜΝΗΜΗ ΧΕΙΜΩΝΑΣ 2009 ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΥΠΟΛΟΓΙΣΤΕΣ 1 Γενική οργάνωση του υπολογιστή Ο καταχωρητής δεδομένων της μνήμης (memory data register

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

Λειτουργικά Συστήματα Ι. Συστήματα Εισόδου/Εξόδου (I/O --- Input/Output)

Λειτουργικά Συστήματα Ι. Συστήματα Εισόδου/Εξόδου (I/O --- Input/Output) Λειτουργικά Συστήματα Ι Συστήματα Εισόδου/Εξόδου (I/O --- Input/Output) I/O Hardware (Υλικό Ε/Ε) Το σύστημα Ι/Ο αποτελεί ένα πολύ μεγάλο τμήμα ενός Λ.Σ. Συνήθως "διευθύνει" όλες τις συσκευές I/O (π.χ.,

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

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης

Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης Περιεχόμενο: Δομή υπολογιστή Συστήματα αρίθμησης ΟΜΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ Ένας υπολογιστής αποτελείται από την Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ), τη µνήµη, τις µονάδες εισόδου/εξόδου και το σύστηµα διασύνδεσης

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

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 21: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 2009 2010 Γραπτή Εργασία #3 Παράδοση: 28 Μαρτίου 2010 Άσκηση 1 (15 µονάδες) Ένας επεξεργαστής υποστηρίζει τόσο

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(ile System) 2.1.11 Καταχώρηση και απελευθέρωση του Δίσκου Συνδεδεμένη καταχώρηση (Linked Allocation) α) Το Λ.Σ. δίνει ένα μόνο τομέα γιατοαρχείοπουδημιουργείται.

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

ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Μαγνητικοί ίσκοι Τα δεδοµένα αποθηκεύονται στο µαγνητικό φιλµ του δίσκου Ο δίσκος περιστρέφεται µε

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

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

ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ ΤΜΗΜΑΤΑ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Τα τμήματα ενός ηλεκτρονικού υπολογιστή είναι: 1. Επεξεργαστής 2. Μνήμη RAM και ROM 3. Κάρτα γραφικών 4. Μητρική Πλακέτα 5. Σκληρός Δίσκος 6. DVD / Blue Ray 7. Τροφοδοτικό

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

Δημήτρης Πρίτσος. ISLAB HACK: Βασικές Έννοιες της Αρχιτεκτονικής

Δημήτρης Πρίτσος. ISLAB HACK: Βασικές Έννοιες της Αρχιτεκτονικής ISLAB HACK: Βασικές Έννοιες της Αρχιτεκτονικής INTEL - IA32 για LINUX & WINDOWS Αθήνα 2003 1 Περιεχόμενα 2 Περιήγηση στην αρχιτεκτονική ΙΑ32 και των λειτουργικών συστημάτων Linux και Ms-Windows 1 Γενικά

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

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

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήμη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήμη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών 1 Οργάνωση υπολογιστών ΚΜΕ Κύρια Μνήμη Υποσύστημα εισόδου/εξόδου 2 Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) R1 R2 ΑΛΜ

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) Υλικό Hardware Λογισμικό Software... κώδικας ΥΛΙΚΟ Κάθε ηλεκτρονικό, ηλεκτρικό και μηχανικό μέρος του Η/Υ. ΛΟΓΙΣΜΙΚΟ Προγράμματα,δηλαδή οδηγίες γιατοτιπρέπεινακάνειοη/υ. Λειτουργικό Σύστημα Είναι ένα βασικό

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

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της;

1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες εντολές (μορφές) της; 1. Πότε χρησιμοποιούμε την δομή επανάληψης; Ποιες είναι οι διάφορες (μορφές) της; Η δομή επανάληψης χρησιμοποιείται όταν μια σειρά εντολών πρέπει να εκτελεστεί σε ένα σύνολο περιπτώσεων, που έχουν κάτι

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

1. Οργάνωση της CPU 2. Εκτέλεση εντολών 3. Παραλληλία στο επίπεδο των εντολών 4. Γραμμές διοχέτευσης 5. Παραλληλία στο επίπεδο των επεξεργαστών

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

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

Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων (File Systems)

Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων (File Systems) Λειτουργικά Συστήματα Ι Συστήματα Αρχείων (File Systems) Με μια ματιά File (Αρχείο) Περιλαμβάνει ένα σύνολο λογικά συσχετιζόμενων δεδομένων, μηπροσωρινής φύσης (συνήθως αποθηκευμένο σε δίσκους). File System

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Δέντρα Αναζήτησης. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Δέντρα Αναζήτησης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Το πρόβλημα Αναζήτηση Θέλουμε να διατηρήσουμε αντικείμενα με κλειδιά και να μπορούμε εκτός από

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

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή 1. Ηλεκτρονικός Υπολογιστής Ο Ηλεκτρονικός Υπολογιστής είναι μια συσκευή, μεγάλη ή μικρή, που επεξεργάζεται δεδομένα και εκτελεί την εργασία του σύμφωνα με τα παρακάτω

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

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών

Εισαγωγή στην επιστήµη των υπολογιστών. Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή στην επιστήµη των υπολογιστών Υλικό Υπολογιστών Κεφάλαιο 5ο Οργάνωση υπολογιστών Εισαγωγή Θα δούµε την οργάνωση ενός υπολογιστή Στον επόµενο µάθηµα θα δούµε πως συνδέονται πολλοί Η/Υ για να σχηµατίσουν

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2014 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 201 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

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

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2 1. Ποιος τύπος Η/Υ χρησιμοποιείται για την λειτουργία συστημάτων και βάσεων δεδομένων μεγάλων εταιρειών; a) Επιτραπέζιος Η/Υ b) Προσωπικός Ψηφιακός Βοηθός c) Μεγάλο

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

ΠΛΕ- 027 Μικροεπεξεργαστές 11ο μάθημα: Είσοδος- Εξοδος (Ε/Ε)

ΠΛΕ- 027 Μικροεπεξεργαστές 11ο μάθημα: Είσοδος- Εξοδος (Ε/Ε) ΠΛΕ- 027 Μικροεπεξεργαστές 11ο μάθημα: Είσοδος- Εξοδος (Ε/Ε) Αρης Ευθυμίου Συσκευές Ε/Ε Μεγάλη ποικιλία πολλές φορές είναι αυτές που «πουλάνε» το μηχάνημα: π.χ. Nintendo wii, (πρώτο) iphone Βασική ταξινόμηση:

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

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία Το 1944 με την κατασκευή του υπολογιστή Mark I από τον Howard Aiken και την εταιρεία κατασκευής ηλεκτρονικών υπολογιστών IBM και από το 1950 μπήκανε

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

Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών

Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών Ενότητα 6 Ηλεκτρονικοί Υπολογιστές και Επεξεργασία Πληροφοριών Πληροφοριακά Συστήματα Διοίκησης Ι Διδάσκων: Νίκος Καρακαπιλίδης 6-1 Στόχοι και αντικείμενο ενότητας Βασικές λειτουργίες ενός υπολογιστικού

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

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό.

Ερωτήσεις θεωρίας MY. Μέρος Α. Υλικό. Ερωτήσεις θεωρίας MY Μέρος Α. Υλικό. 1. Η μνήμη ROM είναι συνδυαστικό ή ακολουθιακό κύκλωμα; 2. α) Να σχεδιαστεί μία μνήμη ROM που να δίνει στις εξόδους της το πλήθος των ημερών του μήνα, ο αριθμός του

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

ΣΗΜΕΙΩΣΕΙΣ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

ΣΗΜΕΙΩΣΕΙΣ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ο ηλεκτρονικός υπολογιστής είναι μια ηλεκτρονική συσκευή που έχει την ικανότητα να επεξεργάζεται μεγάλο όγκο πληροφοριών και δεδομένων με ταχύτητα και ακρίβεια. Επίσης ένας η/υ μπορεί να αποθηκεύσει πληροφορίες,

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

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Επαναληπτική Εξέταση (3 ώρες) Ηµεροµηνία:

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

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Δομές Δεδομένων. Δημήτρης Μιχαήλ. Εισαγωγή. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Δομές Δεδομένων Εισαγωγή Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Βιβλιογραφία Robert Sedgewick, Αλγόριθμοι σε C, Μέρη 1-4 (Θεμελιώδεις Έννοιες, Δομές Δεδομένων, Ταξινόμηση,

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

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

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

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

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης

Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών. ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών ΗΥ-460 Συστήµατα ιαχείρισης Βάσεων εδοµένων ηµήτρης Πλεξουσάκης Βασίλης Χριστοφίδης Ονοµατεπώνυµο: Αριθµός Μητρώου: Τελική Εξέταση (3 ώρες) Ηµεροµηνία: 7

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

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να

(Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να Κεεφάάλλααι ιοο:: 3Β ο Τίττλλοοςς Κεεφααλλααί ίοουυ: : Αρχιτεκτονική Ηλ/κου Τµήµατος των Υπολ. Συστηµάτων (Ιούνιος 2001 ΤΕΕ Ηµερήσιο) Σε κάθε µία από τις παρακάτω περιπτώσεις, να αναφέρετε τις τιµές των

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2015 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

Αρχιτεκτονική Μνήµης

Αρχιτεκτονική Μνήµης ΕΣ 08 Επεξεργαστές Ψηφιακών Σηµάτων Αρχιτεκτονική Μνήµης Τµήµα Επιστήµη και Τεχνολογίας Τηλεπικοινωνιών Πανεπιστήµιο Πελοποννήσου Βιβλιογραφία Ενότητας Kuo [2005]: Chapters 3 & 4 Lapsley [2002]: Chapter

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2013 ΤΕΧΝΟΛΟΓΙΑ (Ι) ΤΕΧΝΙΚΩΝ ΣΧΟΛΩΝ ΘΕΩΡΗΤΙΚΗΣ ΚΑΤΕΥΘΥΝΣΗΣ Μάθημα : Μικροϋπολογιστές

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

8.1 Θεωρητική εισαγωγή

8.1 Θεωρητική εισαγωγή ΨΗΦΙΑΚΑ ΚΥΚΛΩΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 8 ΣΤΟΙΧΕΙΑ ΜΝΗΜΗΣ ΚΑΤΑΧΩΡΗΤΕΣ Σκοπός: Η µελέτη της λειτουργίας των καταχωρητών. Θα υλοποιηθεί ένας απλός στατικός καταχωρητής 4-bit µε Flip-Flop τύπου D και θα µελετηθεί

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

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

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Διδάσκουσα Δρ Β Καβακλή Χειμερινό Εξάμηνο 2001 Στόχοι του Μαθήματος! Ανάπτυξη αναλυτικής

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

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος

ΑΛΓΟΡΙΘΜΟΙ. Τι είναι αλγόριθμος ΑΛΓΟΡΙΘΜΟΙ Στο σηµείωµα αυτό αρχικά εξηγείται η έννοια αλγόριθµος και παραθέτονται τα σπουδαιότερα κριτήρια που πρέπει να πληρεί κάθε αλγόριθµος. Στη συνέχεια, η σπουδαιότητα των αλγορίθµων συνδυάζεται

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

Εισαγωγή στην επιστήμη των υπολογιστών. Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων

Εισαγωγή στην επιστήμη των υπολογιστών. Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων Εισαγωγή στην επιστήμη των υπολογιστών Οργάνωση εδομένων Κεφάλαιο 11ο ομές εδομένων 1 ομή εδομένων Μια δομή δεδομένων (data structure) χρησιμοποιεί μια συλλογή από σχετικές μεταξύ τους μεταβλητές, οι οποίες

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

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

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

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

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων.

ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ. Επίπεδα Αφαίρεσης Σ Β. Αποθήκευση Εγγραφών - Ευρετήρια. ρ. Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, Επίπεδο Όψεων. ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ Χειµερινό Εξάµηνο 2002 Αποθήκευση Εγγραφών - Ευρετήρια ρ Βαγγελιώ Καβακλή ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΙΓΑΙΟΥ, ΤΜΗΜΑ ΠΟΛΙΤΙΣΜΙΚΗΣ ΤΕΧΝΟΛΟΓΙΑΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΑΣ Επίπεδα Αφαίρεσης Σ Β Επίπεδο Όψεων Όψη Όψη

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

Διασυνδετικοί Δίαυλοι. Τι διασυνδέει ένας δίαυλος; Μεταφορά δεδομένων. Διασύνδεση Εισόδου-Εξόδου. Μ.Στεφανιδάκης

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

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

Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης. www.rethymno.gr

Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης. www.rethymno.gr Server Virtualization με εργαλεία ΕΛ/ΛΑΚ ΛΑΚ Μαθηνός Παναγιώτης Λ. Κουντουριώτη 80, τ.κ. 74100, Ρέθυμνο Τηλ: 28313 41310 e mail: mathinos@rethymno.gr www.linkedin.com/in/pmathinos Πληροφορική Μηχανοργάνωση

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

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2009 ΑΠΑΝΤΗΣΕΙΣ

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

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

Εντολές γλώσσας μηχανής

Εντολές γλώσσας μηχανής Εντολές γλώσσας μηχανής Στον υπολογιστή MIPS η εντολή πρόσθεσε τα περιεχόμενα των καταχωρητών 17 και 20 και τοποθέτησε το αποτέλεσμα στον καταχωρητή 9 έχει την μορφή: 00000010001101000100100000100000 Πεδία

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

Ονοµατεπώνυµο. Ψαλλίδας Φώτης 1115200600170 Μάθηµα Λειτουργικά Συστήµατα Αντικείµενο 1o set ασκήσεων

Ονοµατεπώνυµο. Ψαλλίδας Φώτης 1115200600170 Μάθηµα Λειτουργικά Συστήµατα Αντικείµενο 1o set ασκήσεων Ονοµατεπώνυµο Α.Μ. Ψαλλίδας Φώτης 1115200600170 Μάθηµα Λειτουργικά Συστήµατα Αντικείµενο 1o set ασκήσεων ργασίας Καθηγητής κ. ελλής Αλέξης Ακαδηµαϊκό Έτος 2008-2009 ΠΡΟΒΛΗΜΑ 1 ώστε τα βήµατα που χρειάζονται

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΠΑΝΤΗΣΕΙΣ ΘΕΜΑΤΩΝ ΕΞΕΤΑΣΕΩΝ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑΣ ΠΡΟΓΡΑΜΜΑ ΣΠΟΥ ΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ Θεµατική Ενότητα ΠΛΗ 2: Ψηφιακά Συστήµατα Ακαδηµαϊκό Έτος 24 25 Ηµεροµηνία Εξέτασης 29.6.25 Χρόνος Εξέτασης

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

Εκτέλεση πράξεων. Ψηφιακά Ηλεκτρονικά και Δυαδική Λογική. Πράξεις με δυαδικούς αριθμούς. Πράξεις με δυαδικούς αριθμούς

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

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

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1

ΗΜΥ 210: Σχεδιασμός Ψηφιακών Συστημάτων. Καταχωρητές 1 ΗΜΥ-210: Σχεδιασμός Ψηφιακών Συστημάτων Καταχωρητές Διδάσκουσα: Μαρία Κ. Μιχαήλ Πανεπιστήμιο Κύπρου Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Περίληψη Καταχωρητές Παράλληλης Φόρτωσης Καταχωρητές

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

Επίπεδο δικτύου IP διευθυνσιοδότηση

Επίπεδο δικτύου IP διευθυνσιοδότηση Επίπεδο δικτύου IP διευθυνσιοδότηση (πες μου την IP σου να σου πω ποιος είσαι) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο δικτύου (Network layer) Επίπεδο εφαρμογής

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Εναλλακτικές Τεχνικές Εντοπισµού Θέσης Όνοµα: Κατερίνα Σπόντου Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο της διπλωµατικής Ο εντοπισµός

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 2. ΑΡΙΘΜΗΤΙΚΑ ΣΥΣΤΗΜΑΤΑ...30 ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ Α : ΘΕΜΑΤΑ ΒΑΣΗΣ 1. ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ...11 1.1 Τι είναι Πληροφορική;...11 1.1.1 Τι είναι η Πληροφορική;...12 1.1.2 Τι είναι ο Υπολογιστής;...14 1.1.3 Τι είναι το Υλικό και το

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

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP

ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP ΗΥ335 - Δίκτυα Υπολογιστών Χειμερινό εξάμηνο 2010-2011 Φροντιστήριο Ασκήσεις στο TCP Άσκηση 1 η : Καθυστερήσεις Θεωρείστε μία σύνδεση μεταξύ δύο κόμβων Χ και Υ. Το εύρος ζώνης του συνδέσμου είναι 10Gbits/sec

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

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές

Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Διάλεξη 07: Λίστες Ι Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εισαγωγή, εύρεση, διαγραφή) Ευθύγραμμες Διπλά Συνδεδεμένες Λίστες

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Εισαγωγή στην FORTRAN. Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Εισαγωγή στην FORTRAN Δρ. Ιωάννης Λυχναρόπουλος 2014-2015 Fortran FORmula TRANslation: (Μία από τις πρώτες γλώσσες τρίτης γενιάς) Εκδόσεις FORTRAN (1957) FORTRAN II (1958) FORTRAN III

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

Σύγχρονες Αρχιτεκτονικές Υπολογιστών

Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Σύγχρονες Αρχιτεκτονικές Υπολογιστών ΑΚΑ ΗΜΑΪΚΟ ΕΤΟΣ 2014-2015 Αρχιτεκτονική Συνόλου Εντολών (Instruction Set Architecture-ISA) 1 Ένας υπολογιστής

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών Φροντιστήριο: MIPS assembly Αρης Ευθυμίου Το σημερινό μάθημα! Σύνταξη εντολών! Θέματα σχετικά με τη προσπέλαση, οργάνωση μνήμης διευθύνση για κάθε byte διευθύνσεις λέξεων

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

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

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

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

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές 1 ο Εξάμηνο Σπουδών, Χειμερινό Εξάμηνο 2012/13 Τμήμα Εφαρμοσμένων Μαθηματικών, Πανεπιστήμιο Κρήτης Διδάσκων: Χαρμανδάρης Ευάγγελος, email: vagelis@tem.uoc.gr Ιστοσελίδα

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

Δομές Δεδομένων (Data Structures)

Δομές Δεδομένων (Data Structures) Δομές Δεδομένων (Data Structures) Ανάλυση - Απόδοση Αλγορίθμων Έλεγχος Αλγορίθμων. Απόδοση Προγραμμάτων. Χωρική/Χρονική Πολυπλοκότητα. Ασυμπτωτικός Συμβολισμός. Παραδείγματα. Αλγόριθμοι: Βασικές Έννοιες

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

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009

Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο 2009 ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙ ΕΥΤΙΚΟ Ι ΡΥΜΑ ΣΕΡΡΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ : ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ 4 ο ΕΞΑΜΗΝΟ Projects στο Εργαστήριο Αρχιτεκτονικής Υπολογιστών Version 2 Ισχύει από Φεβρουάριο

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

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ ΠΑΓΚΥΠΡΙΕΣ ΕΞΕΤΑΣΕΙΣ 2006 ΑΠΑΝΤΗΣΕΙΣ

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

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

Σχολική Βιβλιοθήκη 3ου Γυμνασίου Κερατσινίου Σύνταξη Αλέξανδρος Τοπαλίδης

Σχολική Βιβλιοθήκη 3ου Γυμνασίου Κερατσινίου Σύνταξη Αλέξανδρος Τοπαλίδης Υπάρχουν αρκετοί λόγοι, για να μας ωθήσουν στην ανάγνωση αυτού του κειμένου, λόγοι οι οποίοι σε άλλους προέκυψαν και είναι δεδομένο ότι με τον καιρό θα προκύψουν και στους υπόλοιπους. Ο πιο εμφανής λόγος

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

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

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

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

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων

ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων ΚΕΦΑΛΑΙΟ 2: Χειρισμός Δεδομένων 2.1 Αρχιτεκτονική Υπολογιστών 2.2 Γλώσσα Μηχανής 2.3 Εκτέλεση προγράμματος 2.4 Αριθμητικές και λογικές εντολές 2.5 Επικοινωνία με άλλες συσκευές 2.6 Άλλες αρχιτεκτονικές

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

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης)

Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) TEI Σερρών Τμήμα Πληροφορικής και Επικοινωνιών Δίκτυα Υπολογιστών ΙΙ (Ασκήσεις Πράξης) Subnetting-VLSM-Troubleshooting IP Τομέας Τηλεπικοινωνιών και Δικτύων Δρ. Αναστάσιος Πολίτης Καθηγητής Εφαρμογών anpol@teiser.gr

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

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

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

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

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Εισαγωγή στην Τεχνολογία της Πληροφορικής ΓΙΩΡΓΟΣ Ν. ΓΙΑΝΝΟΠΟΥΛΟΣ Λέκτορας στο Πανεπιστήμιο Αθηνών gyannop@law.uoa.gr Το «κλειστό» σύστημα ΕΙΣΟΔΟΣ ΕΠΕΞΕΡΓΑΣΙΑ

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

Σενάριο 17: Παιχνίδι μνήμης με εικόνες

Σενάριο 17: Παιχνίδι μνήμης με εικόνες Σενάριο 17: Παιχνίδι μνήμης με εικόνες Φύλλο Εργασίας Τίτλος: Παιχνίδι μνήμης με εικόνες Γνωστικό Αντικείμενο: Εφαρμογές Πληροφορικής-Υπολογιστών Διδακτική Ενότητα: Διερευνώ - Δημιουργώ Ανακαλύπτω, Συνθετικές

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

PBI-192. Οδηγίες Χρήσης. Paradox to KNX-BUS Interface

PBI-192. Οδηγίες Χρήσης. Paradox to KNX-BUS Interface PBI-192 Paradox to KNX-BUS Interface Οδηγίες Χρήσης GDS Intelligence in Buildings Ελ. Βενιζέλου 116 Νέα Ερυθραία, 14671 Τηλ: +30 2108071288 Email: info@gds.com.gr Web: gds.com.gr Περιεχόμενα 1 Περιγραφή

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

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

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

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

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1

Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Δυναμικά Πολυεπίπεδα Ευρετήρια (Β-δένδρα) Μ.Χατζόπουλος 1 Α Β Γ Δ Ε Ζ Η Θ Ι Κ Λ Μ.Χατζόπουλος 2 Δένδρο αναζήτησης είναι ένας ειδικός τύπος δένδρου που χρησιμοποιείται για να καθοδηγήσει την αναζήτηση μιας

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

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication

ΡΟΜΠΟΤΙΚΗ. ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΡΟΜΠΟΤΙΚΗ ΕΡΓΑΣΙΑ ΠΑΝΩ ΣΤΗΝ ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΝΧΤ ΚΑΙ ΤΑ ΠΡΩΤΟΚΟΛΛΑ ΕΠΙΚΟΙΝΩΝΙΑΣ BLUETOOTH, I2C και serial communication ΜΠΑΝΤΗΣ ΑΝΤΩΝΙΟΣ 533 ΤΣΙΚΤΣΙΡΗΣ ΔΗΜΗΤΡΙΟΣ 551 ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΤΟΥ ΡΟΜΠΟΤ LEGO NXT Το ρομπότ

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

Αναπαράσταση Μη Αριθμητικών Δεδομένων

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

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

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II

Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II (Κεφάλαια 25.2, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132

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

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα

ίκτυα υπολογιστών Στόχοι κεφαλαίου ίκτυα Στόχοι κεφαλαίου ίκτυα υπολογιστών (Κεφαλαιο 15 στο βιβλιο) Περιγραφή των κύριων θεµάτων σχετικά µε τα δίκτυα υπολογιστών Αναφορά στα διάφορα είδη δικτύων Περιγραφή των διαφόρων τοπολογιών των τοπικών

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

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86

ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 ΜΥΥ- 402 Αρχιτεκτονική Υπολογιστών ARM και x86 Αρης Ευθυμίου Το σημερινό μάθημα! Λυση του lab02! Αρχιτεκτονική ARM σε τι μοιάζει και σε τι διαφέρει από τον MIPS! Αρχιτεκτονική x86 μια γρήγορη ματιά στη

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα αρχείων, δίσκοι, Ε/Ε

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα αρχείων, δίσκοι, Ε/Ε ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Συστήματα αρχείων, δίσκοι, Ε/Ε Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz,

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

Δυαδικό Σύστημα Αρίθμησης

Δυαδικό Σύστημα Αρίθμησης Δυαδικό Σύστημα Αρίθμησης Το δυαδικό σύστημα αρίθμησης χρησιμοποιεί δύο ψηφία. Το 0 και το 1. Τα ψηφία ενός αριθμού στο δυαδικό σύστημα αρίθμησης αντιστοιχίζονται σε δυνάμεις του 2. Μονάδες, δυάδες, τετράδες,

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