Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΝΙΚΟΣ ΠΑΠΑΔΑΚΗΣ Σύγχρονα Θέματα Πληροφορική. Ύλη του Μαθήματος Εισαγωγή στην Πληροφορκή 2 Εισαγωγή: Γνωριμία με τον υπολογιστή, ο κύκλος επεξεργασίας.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΝΙΚΟΣ ΠΑΠΑΔΑΚΗΣ Σύγχρονα Θέματα Πληροφορική. Ύλη του Μαθήματος Εισαγωγή στην Πληροφορκή 2 Εισαγωγή: Γνωριμία με τον υπολογιστή, ο κύκλος επεξεργασίας."— Μεταγράφημα παρουσίασης:

1 ΝΙΚΟΣ ΠΑΠΑΔΑΚΗΣ Σύγχρονα Θέματα Πληροφορική

2 Ύλη του Μαθήματος Εισαγωγή στην Πληροφορκή 2 Εισαγωγή: Γνωριμία με τον υπολογιστή, ο κύκλος επεξεργασίας της πληροφορίας Το εσωτερικό του Υπολογιστή: Τα βασικά μέρη του υπολογιστή, η κεντρική μονάδα επεξεργασίας (CPU), συνήθεις CPU, είδη μνήμης, θύρες επέκτασης, πύλες και δυαδική λογική. Είσοδος και Έξοδος δεδομένων Αποθήκευση Δεδομένων: Διαφορές μνήμης και μέσων αποθήκευσης Επεξεργασία Δεδομένων: Πληροφορίες και δεδομένα. Αριθμητικά συστήματα και δυαδική λογική. Παράσταση κι επεξεργασία δεδομένων. Το Λειτουργικό Σύστημα: Μέρη του λογισμικού του OS, ρόλος και λειτουργικότητα του OS, τι συμβαίνει κατά την εκκίνηση τού Η/Υ, είδη Διεπαφών Χρήστη, δυνατότητες και αδυναμίες σύγχρονων OS, βασικά utilities, backup. Λογισμικό Εφαρμογών. Δίκτυα και επικοινωνίες Ο Παγκόσμιος Ιστός Ηλεκτρονικό Εμπόριο Εγκληματικότητα και Ασφάλεια Προγραμματισμός Δομές ελέγχου αλγορίθμων

3 1-3 Στοιχεία Διδάσκοντα Δρ Νίκος Παπαδάκης Επίκουρος Καθηγητής Τμήμα Μηχανικών Πληροφορικής ΤΕΙ Κρήτης Γραφείο 2 ος όροφος κτίριο απέναντι από την ΣΤΕΓ Ώρες Γραφείου Πέμπτη 10-1 ή μετά από συνεννόηση με .

4 Ιστοσελίδα – Τρόπος αξιολόγησης Εισαγωγή στην Πληροφορκή 4 Ιστοσελίδα Μαθήματος https://eclass.teicrete.gr/courses/TP105/ Τρόπος αξιολόγησης 40% πρόοδος(10 Δεκεμβρίου) 60% τελική εξέταση

5 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ Αρχιτεκτονική Υπολογιστών

6 Η αρχιτεκτονική von Neumann (1/3) Εισαγωγή στην Πληροφορκή 6 Ο όρος Αρχιτεκτονική ενός ηλεκτρονικού υπολογιστικού συστήματος αναφέρεται στον βασικό λειτουργικό σχεδιασμό του συστήματος  δηλαδή στον τρόπο με τον οποίο τα επί μέρους στοιχεία του συστήματος είναι δομημένα Ο von Neumann θεωρείται ο πατέρας των σύγχρονων μηχανών Η αρχιτεκτονική von Neumann χρησιμοποιείται σχεδόν σε όλους τους ηλεκτρονικούς υπολογιστές Βασικό στοιχείο της αρχιτεκτονικής αυτής είναι ότι οι μονάδες για την επεξεργασία της πληροφορίας διαχωρίζονται από τις μονάδες που αποθηκεύουν την πληροφορία

7 Η αρχιτεκτονική von Neumann (2/3) Εισαγωγή στην Πληροφορκή 7 Πρόκειται για μία αφαιρετική αρχιτεκτονική δόμησης υπολογιστικών συστημάτων, σύμφωνα με την οποία ένα σύστημα μπορεί να διαχωριστεί στα παρακάτω βασικά τμήματα:  Κεντρική Μονάδα Επεξεργασίας: Αποτελείται από δύο επιμέρους μονάδες:  Μονάδα Ελέγχου: Λειτουργεί ως διαχειριστής των υπόλοιπων μονάδων για να εξασφαλίσει ότι όλα τα μέρη λειτουργούν ορθά  Αριθμητική/Λογική Μονάδα: Είναι ικανή να εκτελεί αριθμητικές και λογικές πράξεις στα δεδομένα με βάση τις αποθηκευμένες εντολές  Μονάδα Μνήμης: Περιέχει τα δεδομένα αλλά και τις οδηγίες-εντολές για την επεξεργασία τους  Συσκευές Εισόδου: Μεταφέρουν («εισάγουν») τα δεδομένα στο εσωτερικό του υπολογιστικού συστήματος  Συσκευές Εξόδου: Μεταφέρουν τα αποτελέσματα της επεξεργασίας των δεδομένων από το εσωτερικό του υπολογιστικού συστήματος στον «έξω» κόσμο

8 Η αρχιτεκτονική von Neumann (3/3) Εισαγωγή στην Πληροφορκή 8 Κεντρική Μονάδα Επεξεργασίας Μονάδα Ελέγχου Αριθμητική/ Λογική Μονάδα Μονάδα Μνήμης Συσκευές Εισόδου Συσκευές Εξόδου Βοηθητικές Συσκευές Αποθήκευσης

9 Περιφερειακές συσκευές Εισαγωγή στην Πληροφορκή 9 Με τον όρο Περιφερειακές συσκευές (peripheral devices) αναφερόμαστε στις συσκευές που συνδέονται με το κεντρικό σύστημα, με σκοπό την επικοινωνία του με τον εξωτερικό κόσμο Οι συσκευές αυτές είναι ανεξάρτητες από το σύστημα, δηλαδή δεν αποτελούν μέρος αυτού Χρησιμοποιούνται για να επεκτείνουν τις δυνατότητες του συστήματος και διαχωρίζονται σε συσκευές εισόδου και συσκευές εξόδου

10 Συσκευές εισόδου δεδομένων Εισαγωγή στην Πληροφορκή 10 Μία συσκευή (ή μονάδα) εισόδου δεδομένων είναι μία συσκευή δια μέσω της οποίας, δεδομένα και προγράμματα εισάγονται από τον έξω κόσμο στον ηλεκτρονικό υπολογιστή Οι συσκευές εισόδου συμπεριλαμβάνουν  το πληκτρολόγιο  διάφορες συσκευές μετακίνησης του δρομέα στην οθόνη και επιλογής  όπως το ποντίκι, η ιχνόσφαιρα, η χειριστήρια λαβή, ο πίνακας ψηφιοποίησης και οι οθόνες αφής  οι σαρωτές  οι συσκευές ανάγνωσης χαρακτήρων με μαγνητική μελάνη  οι συσκευές οπτικής αναγνώρισης καρτών-σημείων  η ψηφιακή κάμερα και το μικρόφωνο

11 Συσκευές επιλογής Εισαγωγή στην Πληροφορκή 11 Πρόκειται για συσκευές που χρησιμοποιούνται για τον έλεγχο του δρομέα, επιλογή μιας εντολής/αντικειμένου ή το χειρισμό ενός αντικειμένου που έχει ήδη επιλεγεί Υπάρχουν διάφοροι τύποι τέτοιων συσκευών  Το ποντίκι  Η ιχνόσφαιρα  Η χειριστήρια λαβή  Ο πίνακας ψηφιοποίησης  Η οθόνη αφής

12 Κατηγοριοποίηση συσκευών επιλογής Εισαγωγή στην Πληροφορκή 12 Συσκευή ΕπιλογήςΠλεονεκτήματαΜειονεκτήματαΚατάλληλη Για… Ποντίκι Χαμηλό κόστος, ευχρηστία, δεν απαιτεί ιδιαίτερη επιφάνεια εργασίας Μικρή ακρίβεια Προσωπικοί υπολογιστές, εφαρμογές αυτοματισμού γραφείου Ιχνόσφαιρα Ακρίβεια, ενσωμάτωση πολλαπλών εντολών Δυσκολία χρήσης, ευαισθησία στη ρύπανση Φορητοί υπολογιστές, βιομηχανικά περιβάλλοντα Χειριστήρια Λαβή Χαμηλό κόστος, ενσωμάτωση πολλαπλών εντολών Μικρή ακρίβεια Μηχανές παιχνιδιών, βιομηχανικά περιβάλλοντα Πίνακας Ψηφιοποίησης Ακρίβεια, ευχρηστία Μεγάλο κόστος, απαιτεί μεγάλο χώρο εργασίας Βιομηχανική σχεδίαση, χαρτογραφία Οθόνη Αφής Απλή στη χρήση, δεν απαιτείται συγχρονισμός χεριού ματιού Μειωμένη ευχρηστία (δυσκολία διεκπεραίωσης κάποιων εργασίων) Κιόσκια παροχής πληροφοριών/ υπηρεσιών σε δημόσιους χώρους

13 Συσκευές εισόδου δεδομένων Εισαγωγή στην Πληροφορκή 13

14 Συσκευές εξόδου δεδομένων Εισαγωγή στην Πληροφορκή 14 Μία συσκευή (ή μονάδα) εξόδου δεδομένων είναι μία συσκευή δια μέσω της οποίας, αποτελέσματα αποθηκευμένα στον ηλεκτρονικό υπολογιστή, τα οποία προέρχονται από την επεξεργασία των δεδομένων, μεταφέρονται στον εξωτερικό κόσμο. Οι πιο δημοφιλής συσκευές εξόδου συμπεριλαμβάνουν  την οθόνη  τα ηχεία  τους εκτυπωτές

15 Οθόνη Εισαγωγή στην Πληροφορκή 15 Η οθόνη χρησιμοποιείται για την οπτική αναπαράσταση της εξόδου του υπολογιστή Ανάλογα με τη συσκευή απεικόνισης που χρησιμοποιούν χωρίζονται σε δύο κατηγορίες:  Οθόνες καθοδικού σωλήνα (CRT)  Επίπεδες οθόνες Οθόνη υγρών κρυστάλλων Οθόνη πλάσματος

16 Γενικά Χαρακτηριστικά Επιλογής μίας Οθόνης (1/4) Εισαγωγή στην Πληροφορκή 16 Τα κυριότερα χαρακτηριστικά επιλογής μίας οθόνης είναι:  η διάσταση της οθόνης  το μήκος της διαγωνίου της οθόνης και μετριέται σε ίντσες (π.χ. 15’’, 17’’)  η ανάλυση της εικόνας  περιγράφει τον μέγιστο αριθμό εικονοστοιχείων (pixels) που μπορεί να απεικονίσει η οθόνη, σε κάθε μια από τις δύο διαστάσεις  Τυπικές αναλύσεις είναι: 640 x 480, 640 x 400, 800 x 600, 1024 x 768, 1280x1024  pixels (γραμμές x στήλες) και εξαρτώνται από την κάρτα και τη μνήμη της κάρτας οθόνης  η συχνότητα ανανέωσης  εκφράζει το ρυθμό με τον οποίο «ζωγραφίζονται» τα pixels στην οθόνη  Για να έχουμε μια «καλή» απόκριση αυτή πρέπει να είναι κατά προτίμηση μεγαλύτερη από 72 Hz

17 Γενικά Χαρακτηριστικά Επιλογής μίας Οθόνης (2/4) Εισαγωγή στην Πληροφορκή 17 …  η απόσταση των κουκκίδων  ελέγχουν την απεικόνιση των χρωμάτων περιγράφει την απόσταση μεταξύ των pixels  Γενικά, όσο μικρότερη είναι αυτή η απόσταση τόσο καθαρότερη εικόνα επιτυγχάνεται, αφού έχουμε περισσότερα pixels σε μία περιοχή  Οι τιμές της απόστασης των κουκκίδων κυμαίνονται από 0,24mm - 0,31mm  η συμβατότητα με τα πρότυπα χαμηλής ακτινοβολίας  αφορά τη συμβατότητα της οθόνης με κάποιο ή κάποια από τα πρότυπα αυτά, όπως είναι τα MPRII, TCO 92/95/99 και ELF&VLF

18 Γενικά Χαρακτηριστικά Επιλογής μίας Οθόνης (3/4) Εισαγωγή στην Πληροφορκή 18 …  το βάθος χρώματος  περιγράφει το πλήθος των διαφορετικών χρωμάτων που μπορούν να αναπαρασταθούν  Πιο αναλυτικά, κάθε pixel απεικονίζει ένα χρώμα  Κάθε χρώμα για την κωδικοποίησή του απαιτεί έναν αριθμό από bits  Π.χ. αν έχουμε στη διάθεσή μας 16 bits για την αναπαράσταση των χρωμάτων, τότε μπορούμε να κωδικοποιήσουμε 2 16 = αριθμούς και επομένως να αναπαραστήσουμε χρώματα  Ένας πολύ συνηθισμένος τρόπος αναπαράστασης χρωμάτων σε έναν υπολογιστή είναι η παλέτα  Με την αναπαράσταση RGB (Red-Green-Blue), τα χρώματα δημιουργούνται από συνδυασμούς τριών βασικών χρωμάτων (κόκκινου, πράσινου και μπλε), επιλέγοντας την κατάλληλη απόχρωση από το καθένα από αυτά  Κάθε ένα από τα τρία βασικά χρώματα κωδικοποιείται από 8 bits, δηλαδή μπορούν να αναπαρασταθούν 2 8 = 256 αποχρώσεις του  Συνολικά δημιουργούνται 256 * 256 * 256 = ≈ 16,5 ΜΒ χρώματα (ή αλλιώς 3*8 = 24 bits συνολικά, άρα 2 24 = ≈ 16,5 ΜΒ)

19 Γενικά Χαρακτηριστικά Επιλογής μίας Οθόνης (4/4) Εισαγωγή στην Πληροφορκή 19 Επιλογή χρώματος από την παλέτα

20 Συσκευές εισόδου/εξόδου (1/2) Εισαγωγή στην Πληροφορκή 20 Οι συσκευές εισόδου/εξόδου είναι συσκευές που μεταφέρουν  τόσο δεδομένα και προγράμματα από τον έξω κόσμο στον υπολογιστή,  όσο και αποτελέσματα, που προέρχονται από επεξεργασία δεδομένων εισόδου, προς τον εξωτερικό κόσμο Χαρακτηριστικό παράδειγμα τέτοιας συσκευής είναι η οθόνη αφής (που ανήκει στις συσκευές επιλογής), καθώς πέρα από την είσοδο δεδομένων χρησιμοποιείται και για απεικόνιση/έξοδο αποτελεσμάτων προς το χρήστη Επίσης, μία άλλη συσκευή εισόδου/εξόδου είναι ο διαμορφωτής/αποδιαμορφωτής (modulator/demodulator) ή πιο απλά modem.  To modem επιτρέπει την επικοινωνία δυο υπολογιστών με τη χρήση της ίδιας τηλεφωνικής γραμμής και λειτουργεί ως εξής:  αρχικά μετατρέπει το ψηφιακό σήμα σε αναλογικό  το εκπέμπει στην τηλεφωνική γραμμή  και στη συνέχεια, όταν το σήμα φτάσει στο δεύτερο υπολογιστή, κάνει την αντίστροφη δουλειά  Τα modem διακρίνονται σε εξωτερικά και εσωτερικά

21 Συσκευές εισόδου/εξόδου (2/2) Εισαγωγή στην Πληροφορκή 21 Όλες οι συσκευές που έχουμε περιγράψει μέχρι στιγμής δεν αποθηκεύουν δεδομένα, γι’ αυτό και ονομάζονται μη αποθηκευτικές Υπάρχουν όμως, και οι αποθηκευτικές συσκευές  Τέτοιες συσκευές εισόδου/εξόδου είναι οι μαγνητικές και οι οπτικές συσκευές, στις οποίες μπορούμε τόσο να γράφουμε δεδομένα (έξοδος) όσο και να διαβάζουμε δεδομένα (είσοδος)

22 Η Κεντρική Μονάδα Συστήματος Εισαγωγή στην Πληροφορκή 22 Η κεντρική μονάδα του συστήματος (base unit ή system unit) αποτελεί τον πυρήνα ενός υπολογιστή Σε έναν προσωπικό ηλεκτρονικό υπολογιστή την ονομάζουμε απλά κουτί (box) ή πύργο (tower) Τα συστατικά από τα οποία αποτελείται απαρτίζουν το βασικό σύστημα του υπολογιστή Τα κυριότερα από αυτά είναι  η μητρική πλακέτα  η κεντρική μονάδα επεξεργασίας  η κύρια μνήμη

23 Μητρική Πλακέτα (1/2) Εισαγωγή στην Πληροφορκή 23 Η μητρική πλακέτα είναι η βασικότερη μονάδα του υπολογιστή Είναι αυτή που καθορίζει την αξιοπιστία και τη σταθερότητα λειτουργίας του υπολογιστή Πρόκειται για μία επίπεδη επιφάνεια (πλακέτα) πάνω στην οποία στηρίζονται η κεντρική μονάδα επεξεργασίας, η κύρια μνήμη, καθώς και όλα τα υπόλοιπα εξαρτήματα του υπολογιστή Όλα τα εξαρτήματα τοποθετούνται πάνω στην πλακέτα με τη χρήση υποδοχών και συνδέσμων που βρίσκονται σε αυτήν Εκτός όμως από τα εξαρτήματα, στην πλακέτα συνδέονται και κάποιες άλλες περιφερειακές συσκευές (π.χ. πληκτρολόγιο, εκτυπωτής, εξωτερικά μέσα αποθήκευσης), με τη χρήση θυρών Οι θύρες (ports) είναι ειδικές υποδοχές που δίνουν τη δυνατότητα στον υπολογιστή να επικοινωνεί με περιφερειακές συσκευές

24 Μητρική Πλακέτα (1/2) Εισαγωγή στην Πληροφορκή 24 Κάθε μητρική πλακέτα κατασκευάζεται για ένα συγκεκριμένο τύπο επεξεργαστή Επίσης, πάνω στη μητρική πλακέτα είναι χαραγμένοι διάδρομοι ή αλλιώς δίαυλοι (buses), οι οποίοι επιτρέπουν την επικοινωνία μεταξύ των διαφόρων εξαρτημάτων

25 Η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) (1/2) Εισαγωγή στην Πληροφορκή 25 Η κεντρική μονάδα επεξεργασίας (Central Processing Unit, CPU) ή απλά επεξεργαστής αποτελεί την καρδιά του υπολογιστή Αναλαμβάνει την επεξεργασία των πληροφοριών και ελέγχει και συντονίζει όλες τις άλλες μονάδες του υπολογιστή Τοποθετείται πάνω στη μητρική πλακέτα σε ειδική υποδοχή, ενώ συνοδεύεται πάντα από μία ψύκτρα με ανεμιστηράκι  η οποία διασφαλίζει την προστασία της από υπερθέρμανση, καθώς αποβάλλει μεγάλο ποσό θερμότητας

26 Η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) (2/2) Εισαγωγή στην Πληροφορκή 26 Η ΚΜΕ έχει ως κύριες αρμοδιότητες την εκτέλεση πράξεων και την μεταφορά δεδομένων Η μεταφορά των δεδομένων από και προς αυτήν επιτυγχάνεται μέσω των δίαυλων, οι οποίοι την τροφοδοτούν συνεχώς με δεδομένα Τα δεδομένα αυτά μπορούν να κατηγοριοποιηθούν σε δύο είδη:  Οι εντολές (instructions)  είναι σχετικές με το πώς η κεντρική μονάδα επεξεργασίας θα διαχειριστεί τα υπόλοιπα δεδομένα  Στην ουσία πρόκειται για τον κώδικα ενός προγράμματος  Περιλαμβάνει τα συνεχή μηνύματα που στέλνουμε στον υπολογιστή μέσω των διαφόρων μονάδων εισόδου (π.χ. μηνύματα εκτύπωσης ή αποθήκευσης)  Τα δεδομένα (data)  είναι η πληροφορία προς επεξεργασία, την οποία η ΚΜΕ πρέπει να διαχειριστεί ακολουθώντας τις εντολές  Τα δεδομένα είναι τα τυπικά δεδομένα που εισάγει ο χρήστης  Π.χ. όταν πληκτρολογούμε κείμενο στέλνουμε στον υπολογιστή δεδομένα, ενώ όταν ζητάμε αποθήκευση του κειμένου μας του στέλνουμε εντολές

27 Είσοδος και έξοδος δεδομένων στην ΚΜΕ Εισαγωγή στην Πληροφορκή 27 Κεντρική Μονάδα Επεξεργασίας (CPU) Εντολές για επεξεργασία δεδομένων Είσοδος δεδομένων για επεξεργασία Έξοδος επεξεργασμένων δεδομένων

28 Υπομονάδες της ΚΜΕ Εισαγωγή στην Πληροφορκή 28 Η κεντρική μονάδα επεξεργασίας αποτελείται από 3 βασικές υπομονάδες:  τη μονάδα ελέγχου  την αριθμητική και λογική μονάδα  τους καταχωρητές

29 Μονάδα Ελέγχου – ΜΕ (Control Unit, CU) (1/2) Εισαγωγή στην Πληροφορκή 29 Η Μονάδα Ελέγχου είναι η οργανωτική δύναμη στον υπολογιστή  καθώς διευθύνει τη λειτουργία του (ορίζοντας τη διαδοχή των πράξεων) και φροντίζει για το συντονισμό των μερών του Συγκεκριμένα, κατά την εκτέλεση του προγράμματος, η μονάδα ελέγχου ανακτά από τη μνήμη τις εντολές  Οι εντολές είναι στην ουσία κωδικοποιημένα ηλεκτρικά σήματα, τα οποία, η μονάδα ελέγχου  αφού τα «αποκωδικοποιήσει» και προσδιορίσει τον τύπο τους  στη συνέχεια εκπέμπει σήματα ελέγχου προς τις κατάλληλες μονάδες  Αυτά τα σήματα ελέγχου μπορεί να σταλούν  είτε στη μνήμη για την εξαγωγή πληροφοριών προς τις άλλες μονάδες του υπολογιστή ή τη λήψη πληροφοριών απ’ αυτές και την αποθήκευσή τους στη μνήμη  είτε στην αριθμητική και λογική μονάδα για την εκτέλεση των επιθυμητών υπολογισμών  είτε, τέλος, στις μονάδες εισόδου/εξόδου για τη μεταφορά πληροφοριών από τον υπολογιστή προς το εξωτερικό του περιβάλλον, και αντιστρόφως

30 Μονάδα Ελέγχου – ΜΕ (Control Unit, CU) (1/2) Εισαγωγή στην Πληροφορκή 30 Μονάδα Ελέγχου (Control Unit) Μετρητής Προγράμματος Program Counter (PC) Καταχωρητής Εντολής Instruction Register (IR) Μνήμη Άλλες Μονάδες

31 Αριθμητική και Λογική Μονάδα - Α/Λ (Arithmetic and Logical Unit, ALU) (1/2) Εισαγωγή στην Πληροφορκή 31 Η Αριθμητική και Λογική Μονάδα είναι η μονάδα που εκτελεί όλες τις πράξεις και τους υπολογισμούς που απαιτούνται για την εκτέλεση των εντολών Συγκεκριμένα, εκτελεί  αριθμητικές πράξεις  όπως πρόσθεση (+), αφαίρεση (-), πολλαπλασιασμό (*), διαίρεση (/),  λογικές πράξεις  όπως σύζευξη (AND), διάζευξη (OR), άρνηση (NOT)  Οι λογικές πράξεις είναι αυτές που διαπιστώνουν αν μία (λογική) παράσταση είναι αληθής ή ψευδής  συγκρίσεις  π.χ. x<5  υπολογισμούς διευθύνσεων (για προσπέλαση στη μνήμη)

32 Αριθμητική και Λογική Μονάδα - Α/Λ (Arithmetic and Logical Unit, ALU) (2/2) Εισαγωγή στην Πληροφορκή 32 Όλες οι πράξεις γίνονται βάση προκαθορισμένων λειτουργιών, μετασχηματίζοντας ή συνδυάζοντας τα απαραίτητα δεδομένα, για τη δημιουργία των εκάστοτε επιθυμητών αποτελεσμάτων Οι κωδικοποιημένες παραστάσεις των δεδομένων δίδονται στην αριθμητική και λογική μονάδα από τη μνήμη Η μονάδα ελέγχου, η οποία γνωρίζει την πράξη που πρέπει να εκτελεστεί, μεταδίδει στην αριθμητική και λογική μονάδα τα απαραίτητα σήματα ελέγχου, ώστε αυτή να υπολογίσει τα επιθυμητά αποτελέσματα των πράξεων Αριθμητική/Λογική Μονάδα (Arithmetic Logical Unit) Συσσωρευτής Accumulator (ACCU) Καταχωρητής Μνήμη Καταχωρητής Κύκλωμα Αριθμητικών/Λογικών Πράξεων

33 Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή 33 Οι Καταχωρητές (Registers) είναι ειδικές θέσεις μνήμης υψηλής ταχύτητας που χρησιμοποιούνται για την προσωρινή αποθήκευση των δεδομένων και εντολών προς επεξεργασία, αλλά και την εκτέλεση ειδικών λειτουργιών Η πρόσβαση σε καταχωρητές είναι πιο γρήγορη από πρόσβαση σε θέσεις μνήμης  καθώς αποτελούν την ταχύτερη μονάδα μνήμης του υπολογιστή Το μέγεθος των καταχωρητών καθορίζει το πόσα δεδομένα μπορεί να διαχειριστεί ο επεξεργαστής σε μία δεδομένη στιγμή, και μάλιστα το μέγεθος αυτό προσδιορίζει και το μέγεθός του  Για παράδειγμα, ένας επεξεργαστής 32 bit σημαίνει ότι οι καταχωρητές του είναι της τάξης των 32 bit  Το μέγεθος των καταχωρητών είναι ίσο με το μήκος λέξης του υπολογιστή

34 Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή 34 Οι καταχωρητές του κάθε επεξεργαστή χωρίζονται σε δύο βασικές κατηγορίες:  καταχωρητές ειδικής χρήσης  είναι υπεύθυνοι για συγκεκριμένες λειτουργίες του επεξεργαστή  καταχωρητές γενικής χρήσης  είναι αυτοί που δεν έχουν δεσμευτεί από το σύστημα για μία συγκεκριμένη λειτουργία, αλλά χρησιμοποιούνται για να κρατούν δεδομένα τα οποία επεξεργάζονται την τρέχουσα στιγμή

35 Καταχωρητές (Registers) (1/3) Εισαγωγή στην Πληροφορκή 35 Καταχωρητές ειδικής χρήσης  Ο καταχωρητής εντολής (instruction register, IR)  περιέχει την εντολή που εκτελείται την τρέχουσα χρονική στιγμή  Ο μετρητής προγράμματος (program counter, PC)  περιέχει τη διεύθυνση μνήμης της επόμενης εντολής που πρόκειται να εισαχθεί και να εκτελεστεί  Η τιμή του ενημερώνεται κατάλληλα κατά την εκτέλεση της εντολής ώστε στο τέλος της να περιέχει τη νέα διεύθυνση της επόμενης εντολής  Με απλά λόγια, θα λέγαμε ότι ο PC δείχνει στην επόμενη εντολή που πρόκειται να ανακτηθεί από τη μνήμη  Και οι δύο παραπάνω καταχωρητές βρίσκονται στη μονάδα ελέγχου  Ο συσσωρευτής (accumulator, ACCU)  βρίσκεται στην αριθμητική και λογική μονάδα και συγκεντρώνει τα αποτελέσματα των υπολογισμών

36 Ο Κύκλος Φέρε-Εκτέλεσε (Fetch-Execute Cycle) Εισαγωγή στην Πληροφορκή 36 Για να εκτελεστεί ένα πρόγραμμα, ο επεξεργαστής ανακτά μία μία τις εντολές του προγράμματος και επιτελεί τις λειτουργίες που καθορίζει κάθε μία από αυτές Ο κύκλος εκτέλεσης εντολών ή κύκλος μηχανής ή απλά κύκλος φέρε-εκτέλεσε αναφέρεται στο διάστημα που απαιτείται για την ολοκλήρωση της εκτέλεσης μίας εντολής Ο κύκλος αυτός διέρχεται από δύο φάσεις:  φάση ανάκτησης (fetch phase)  μεταφέρεται από τη μνήμη στην κεντρική μονάδα επεξεργασίας η επόμενη εντολή που θα εκτελεστεί  φάση εκτέλεσης (execution phase)  η κεντρική μονάδα επεξεργασίας εκτελεί την εντολή και αν χρειάζεται αποθηκεύει τα αποτελέσματα στη μνήμη

37 Φάση Ανάκτησης Εισαγωγή στην Πληροφορκή 37 Ο PC (μετρητής προγράμματος) περιέχει τη διεύθυνση της θέσης μνήμης της επόμενης εντολής που πρόκειται να εκτελεστεί Ο επεξεργαστής διαβάζει αυτή τη διεύθυνση και στη συνέχεια ανακτά τα περιεχόμενα της θέσης μνήμης στην οποία δείχνει αυτή Τα περιεχόμενα που διάβασε είναι στην ουσία η εντολή που θα εκτελεστεί και τα φορτώνει στον IR (καταχωρητή εντολής) Δηλαδή, διαβάζει το περιεχόμενο του PC, πηγαίνει στη διεύθυνση μνήμης που μόλις διάβασε και αντιγράφει το περιεχόμενο αυτής της διεύθυνσης στον IR Στη συνέχεια ανανεώνει τον PC ώστε να περιέχει τη διεύθυνση της επόμενης εντολής που θα εκτελεστεί Έχοντας λοιπόν την προς εκτέλεση εντολή στον IR, το επόμενο βήμα αυτής της φάσης είναι η αποκωδικοποίηση (decode) της εντολής  Η εντολή διασπάται και ερμηνεύεται από την κεντρική μονάδα επεξεργασίας, δηλαδή αποκωδικοποιείται σε σήματα ελέγχου και προσδιορίζεται η λειτουργία που θα εκτελεστεί (για παράδειγμα αν πρόκειται για εντολή που έχει πρόσβαση από μονάδα εισόδου ή για εντολή που στέλνει δεδομένα σε μονάδα εξόδου)

38 Φάση εκτέλεσης Εισαγωγή στην Πληροφορκή 38 Η εκτέλεση μιας εντολής συνήθως σημαίνει εκτέλεση ενός ή περισσότερων επιμέρους βημάτων Οι στοιχειώδεις αυτές λειτουργίες που αν εκτελεστούν σε συγκεκριμένη σειρά συνθέτουν μία εντολή περιλαμβάνουν:  Μεταφορά δεδομένων από έναν καταχωρητή του επεξεργαστή σε κάποιον άλλον ή στην ALU  Εκτέλεση μίας αριθμητικής ή λογικής πράξης (στην ALU) και αποθήκευση του αποτελέσματος σε έναν καταχωρητή  Ανάκτηση των περιεχομένων μίας συγκεκριμένης θέσης μνήμης και τοποθέτησή τους σε έναν καταχωρητή  Αποθήκευση δεδομένων από έναν καταχωρητή σε μία συγκεκριμένη θέση μνήμης

39 Ο Κύκλος Φέρε-Εκτέλεσε (Fetch-Execute Cycle) Εισαγωγή στην Πληροφορκή 39 Μονάδα Ελέγχου Φάση Ανάκτησης Μεταφορά της επόμενης εντολής Αποκωδικοποίηση της εντολής Αριθμητική/Λογική Μονάδα Φάση Εκτέλεσης Μεταφορά των απαραίτητων δεδομένων Εκτέλεση της εντολής Καταχωρητές Μνήμη

40 Ταχύτητα της ΚΜΕ (1/2) Εισαγωγή στην Πληροφορκή 40 Η κεντρική μονάδα επεξεργασίας είναι σχεδιασμένη ώστε να λειτουργεί σύμφωνα με ένα ηλεκτρικό σήμα χρονισμού, που ονομάζεται ρολόι (processor clock) Το ρολόι είναι ένας παλμός που εκπέμπεται και εναλλάσσεται περιοδικά μεταξύ μηδέν και ένα Ο χρόνος που χρειάζεται το ρολόι για να μεταπηδήσει από το μηδέν στο ένα και πίσω στο μηδέν, ονομάζεται περίοδος ή κύκλος του ρολογιού (clock cycle), και μετριέται σε δευτερόλεπτα Ο επεξεργαστής για να εκτελέσει μία εντολή, πρώτα διαμερίζει τη διαδικασία που πρέπει να εκτελεστεί σε απλούστερα βήματα  έτσι ώστε καθένα από αυτά να μπορεί να εκτελεστεί σε ένα κύκλο ρολογιού

41 Ταχύτητα της ΚΜΕ (2/2) Εισαγωγή στην Πληροφορκή 41 Το αντίστροφο της διάρκειας ενός κύκλου ρολογιού ονομάζεται συχνότητα ρολογιού (clock rate)  δηλαδή Συχνότητα = 1/Κύκλος_Ρολογιού Η συχνότητα μετριέται σε κύκλους ανά δευτερόλεπτο ή αλλιώς Hertz (Hz) Οι επεξεργαστές των σύγχρονων προσωπικών υπολογιστών έχουν συχνότητες ρολογιού οι οποίες κυμαίνονται από μερικές εκατοντάδες εκατομμύρια έως σε περισσότερους από πέντε δισεκατομμύρια κύκλους ανά δευτερόλεπτο  Για παράδειγμα, ένας επεξεργαστής των 3,1 GHz εκτελεί 3,1 δισεκατομμύρια ( ) κύκλους ανά δευτερόλεπτο

42 Συσκευές Αποθήκευσης (Μνήμη) Εισαγωγή στην Πληροφορκή 42 Η μονάδα μνήμης επιτελεί μία από τις βασικότερες λειτουργίες ενός υπολογιστικού συστήματος, την αποθήκευση και ανάκτηση δεδομένων και προγραμμάτων Ο όρος μνήμη (memory) αναφέρεται γενικά σε οποιαδήποτε συσκευή έχει την ιδιότητα να αποθηκεύει πληροφορίες  αν και συχνά για τις συσκευές δευτερεύουσας μνήμης προτιμάμε τον όρο μέσο αποθήκευσης Ένα υπολογιστικό σύστημα διαθέτει πολλές κατηγορίες μνήμης, καθεμία από τις οποίες έχει τα δικά της ειδικά χαρακτηριστικά, τα οποία καθορίζουν και τον τρόπο χρήσης της μνήμης στον υπολογιστή

43 Κύρια μνήμη Εισαγωγή στην Πληροφορκή 43 Η κύρια μνήμη (main memory) είναι μία γρήγορη μνήμη στην οποία αποθηκεύονται τα εκτελέσιμα προγράμματα και όλα τα απαραίτητα δεδομένα για την εκτέλεση των προγραμμάτων καθώς και για την ορθή λειτουργία του υπολογιστή Ο μνήμη αυτή έχει σταθερό χρόνο προσπέλασης  δηλαδή κάθε λέξη της (ο όρος εξηγείται παρακάτω) μπορεί να προσπελαθεί σε καθορισμένο χρόνο, ο οποίος είναι ανεξάρτητος από τη θέση της λέξης στη μνήμη Η κύρια μνήμη αυτή είναι απευθείας συνδεδεμένη με τον επεξεργαστή και μπορεί συνήθως να επικοινωνήσει άμεσα με οποιαδήποτε άλλη μνήμη Χωρίζεται σε δύο κατηγορίες:  τη μνήμη τυχαίας προσπέλασης  τη μνήμη μόνο για ανάγνωση

44 Μνήμη Τυχαίας Προσπέλασης (Random Access Memory, RAM) Εισαγωγή στην Πληροφορκή 44 Η Μνήμη Τυχαίας Προσπέλασης διατηρεί τις εντολές και τα δεδομένα προς επεξεργασία, καθώς και τα αποτελέσματα της εκτέλεσης των εντολών Όλα τα δεδομένα αποθηκεύονται προσωρινά στη μνήμη αυτή, καθώς δεν παρέχει δυνατότητα μόνιμης αποθήκευσης Πρόκειται δηλαδή για πτητική μνήμη (volatile memory)  που σημαίνει ότι μόλις σταματήσει η παροχή ηλεκτρικού ρεύματος τα δεδομένα χάνονται Όταν ολοκληρωθεί η εκτέλεση ενός προγράμματος, η RAM αποστέλλει τα αποτελέσματα στην κατάλληλη έξοδο ή σε κάποια δευτερεύουσα μνήμη για μόνιμη αποθήκευση

45 Μνήμη Μόνο για Ανάγνωση (Read Only Memory, ROM) Εισαγωγή στην Πληροφορκή 45 Η Μνήμη Μόνο για Ανάγνωση είναι ένας ειδικός τύπος μνήμης, που είναι μόνο για ανάγνωση Τα περιεχόμενά της δε μεταβάλλονται, δηλαδή μπορούμε να διαβάσουμε από αυτήν αλλά όχι και να γράψουμε σε αυτήν Η ταχύτητα μιας μνήμης ROM είναι μικρότερη από την ταχύτητα μίας μνήμης RAM  Γι’ αυτό το λόγο οποτεδήποτε χρειαζόμαστε δεδομένα της μνήμης ROM, αυτά μεταφέρονται πρώτα στη μνήμη RAM προτού γίνουν έτοιμα να χρησιμοποιηθούν Πρόκειται για μη πτητική μνήμη (non-volatile memory)  δηλαδή τα δεδομένα διατηρούνται σε αυτήν ακόμα και αν διακόψουμε την παροχή ηλεκτρικού ρεύματος Η ιδιότητά της αυτή εξασφαλίζει δύο επιθυμητά χαρακτηριστικά: μονιμότητα και ασφάλεια Έτσι, χρησιμοποιείται σε καταστάσεις όπου τα δεδομένα χρειάζεται να αποθηκευτούν μόνιμα, χωρίς να μπορούν να δεχθούν μεταβολές (ασφάλεια) Η κυριότερη χρήση της είναι κατά τη διάρκεια της διαδικασίας εκκίνησης του υπολογιστή

46 Διαδικασία εκκίνησης (boot process) Εισαγωγή στην Πληροφορκή 46 Η διαδικασία εκκίνησης περιέχει εντολές και πληροφορίες απαραίτητες για την εκκίνηση του υπολογιστή και για τον έλεγχο της ορθής λειτουργίας του Κατά τη διαδικασία εκκίνησης, ένας υπολογιστής δέχεται κάποιες εντολές προτού να είναι έτοιμος να δεχτεί τις εντολές του χρήστη Αποτελείται από 6 βασικά στάδια εντολών:  Αρχικά διοχετεύεται ηλεκτρικό ρεύμα στη μητρική πλακέτα  Ο υπολογιστής εκτελεί εντολές που βρίσκονται αποθηκευμένες στη μνήμη ROM και πραγματοποιεί διάφορα διαγνωστικά τεστ του συστήματος  Στη συνέχεια το λειτουργικό σύστημα φορτώνεται στη μνήμη RAM.  Ο επεξεργαστής φορτώνει δεδομένα από διάφορους οδηγούς (όπως ο σκληρός δίσκος ή η δισκέτα)  Ο επεξεργαστής «τρέχει» ιδιαίτερα προγράμματα σχετικά με το συγκεκριμένο χρήστη  Τέλος, μία οθόνη υποδεικνύει ότι ο υπολογιστής είναι έτοιμος να δεχτεί τις εντολές του χρήστη

47 Δευτερεύουσα μνήμη Εισαγωγή στην Πληροφορκή 47 Η δευτερεύουσα (ή βοηθητική) μνήμη (secondary storage) αποτελείται από συσκευές που παρέχουν μόνιμη αποθήκευση των δεδομένων Καθώς η κύρια μνήμη στο μεγαλύτερο μέρος της είναι πτητική, με περιορισμένες δυνατότητες αποθήκευσης, δημιουργείται η ανάγκη για συσκευές αποθήκευσης που θα παρέχουν μόνιμη αποθήκευση (volatile) ενός μεγάλου όγκου δεδομένων Οι συσκευές αυτές χαρακτηρίζονται από χαμηλό κόστος αποθήκευσης και σχετικά μεγάλο χρόνο προσπέλασης Μπορούν είτε να είναι εγκατεστημένες από την αρχή, είτε να προστεθούν αργότερα στον υπολογιστή Σε κάθε περίπτωση, για την επεξεργασία των δεδομένων που βρίσκονται σε τέτοιες συσκευές, απαιτείται πρώτα η μεταφορά τους στην κύρια μνήμη Μία μεγάλη ποικιλία συσκευών δευτερεύουσας μνήμης είναι διαθέσιμη, η οποία μεταξύ άλλων περιλαμβάνει τους μαγνητικούς δίσκους, τις μαγνητικές ταινίες και τους οπτικούς δίσκους

48 Μαγνητικός δίσκος (magnetic disk) Εισαγωγή στην Πληροφορκή 48 Ο μαγνητικός δίσκος χρησιμοποιείται για μόνιμη αποθήκευση δεδομένων, παρέχοντας σχετικά μικρό κόστος αποθήκευσης και μεγάλο χρόνο προσπέλασης Αποτελείται από έναν ή περισσότερους δίσκους, οι οποίοι είναι τοποθετημένοι σε έναν άξονα που περνάει από το κέντρο τους Γύρω από αυτόν τον άξονα μπορούν να περιστρέφονται οι δίσκοι, όλοι με ομοιόμορφη ταχύτητα Τα δεδομένα είναι αποθηκευμένα στις επιφάνειες των δίσκων, πάνω στις οποίες τοποθετούνται κεφαλές ανάγνωσης/εγγραφής (read/write) Σε κάθε επιφάνεια αντιστοιχεί μία κεφαλή  Αυτές είναι υπεύθυνες για την ανάγνωση και την εγγραφή των δεδομένων  Είναι τοποθετημένες πάνω σε έναν βραχίονα, ο οποίος μπορεί να μετακινείται κατά μήκος των δίσκων, επιτρέποντας έτσι στις κεφαλές να μετακινούνται ακτινικά στην επιφάνεια των δίσκων

49 Δομή των μαγνητικών δίσκων Εισαγωγή στην Πληροφορκή 49 Η μηχανική δομή των μαγνητικών δίσκων αποτελείται από τρία βασικά υποσυστήματα  δίσκος (disk)  είναι οι μαγνητικοί δίσκοι  οδηγός δίσκου (disk drive)  είναι ο μηχανισμός που περιστρέφει το δίσκο και μετακινεί τις κεφαλές  ελεγκτής δίσκου (disk controller)  είναι το κύκλωμα που ελέγχει τη λειτουργία όλου του συστήματος Ο όρος δίσκος συχνά χρησιμοποιείται για να αναφερθούμε σε ολόκληρη τη δομή

50 Επιφάνεια Δίσκου Εισαγωγή στην Πληροφορκή 50 Πώς οργανώνονται τα δεδομένα πάνω στην επιφάνεια του δίσκου; Κάθε επιφάνεια χωρίζεται σε ομόκεντρους κύκλους, καθένας από τους οποίους ονομάζεται τροχιά ή ίχνος (track) Κάθε τροχιά χωρίζεται σε τομείς (sectors)  Συνήθως όλες οι τροχιές περιέχουν το ίδιο πλήθος τομέων Αν πάρουμε από όλες τις επιφάνειες των δίσκων τις αντίστοιχες τροχιές, τότε έχουμε έναν λογικό κύλινδρο (logical cylinder) Για να προσπελάσουμε τα δεδομένα χρειάζεται να καθορίσουμε την επιφάνεια, την τροχιά και τον τομέα  (π.χ. μπορούμε να ζητήσουμε ανάγνωση δεδομένων από την Επιφάνεια 3, Τροχιά 8, Τομέας 4) Η λειτουργίες ανάγνωσης/εγγραφής ξεκινούν στα όρια των τομέων Επίσης, μπορούμε να προσπελάσουμε τα δεδομένα που βρίσκονται σε όλες τις τροχιές ενός κυλίνδρου χωρίς να μετακινήσουμε τις κεφαλές ανάγνωσης/γραφής  αρκεί να περιστρέψουμε τους δίσκους, υπό την προϋπόθεση βέβαια ότι οι κεφαλές βρίσκονται στην επιθυμητή τροχιά

51 Δομή ενός Σκληρού Δίσκου Εισαγωγή στην Πληροφορκή 51 Άξονας Κύλινδρος Κεφαλή Τομέας Τροχιά Τομέας Επιφάνεια ενός Δίσκου Σκληρός Δίσκος Τροχιά (Track) Τομέας (Sector)

52 Χρόνος προσπέλασης του δίσκου (1/2) Εισαγωγή στην Πληροφορκή 52 Παρόλο που ο μαγνητικός δίσκος είναι μία μνήμη τυχαίας προσπέλασης, διακρίνεται από μεγάλο χρόνο προσπέλασης  λόγω των κινουμένων μερών που επηρεάζουν το χρόνο μετακίνησης σε μία συγκεκριμένη θέση μνήμης Ο χρόνος προσπέλασης του δίσκου (disk access time) εξαρτάται από τρεις επιμέρους χρόνους:  τον χρόνο αναζήτησης  την καθυστέρηση μεταφοράς  τον χρόνο μεταφοράς

53 Χρόνος προσπέλασης του δίσκου (2/2) Εισαγωγή στην Πληροφορκή 53 Ο χρόνος αναζήτησης (seek time) είναι ο χρόνος που απαιτείται για να μετακινηθεί η κεφαλή ανάγνωσης/εγγραφής στην κατάλληλη τροχιά  Ο χρόνος αυτός εξαρτάται από την αρχική θέση της κεφαλής σε σχέση με την τελική θέση στην οποία πρέπει να μετακινηθεί Η καθυστέρηση μεταφοράς (latency time) ή καθυστέρηση περιστροφής (rotational delay) είναι ο χρόνος που απαιτείται (μετά την τοποθέτηση της κεφαλής στην κατάλληλη τροχιά) για να περιστραφεί ο δίσκος, έτσι ώστε το σημείο έναρξης του επιθυμητού τομέα να βρεθεί κάτω από την κεφαλή ανάγνωσης/εγγραφής Ο χρόνος μεταφοράς (transfer time) είναι ο χρόνος που απαιτείται για να μεταφερθεί μία ομάδα από bits, τυπικά τα δεδομένα ενός τομέα, στην κύρια μνήμη  Ο χρόνος μεταφοράς είναι πολύ μικρότερος σε σχέση με τους δύο άλλους χρόνους

54 Μαγνητική ταινία (magnetic tape) (1/2) Εισαγωγή στην Πληροφορκή 54 Η μαγνητική ταινία χρησιμοποιείται για αποθήκευση μεγάλου όγκου δεδομένων  καθώς έχει το μικρότερο κόστος αποθήκευσης από όλες τις υπόλοιπες μονάδες Πρόκειται για την πρώτη συσκευή μαζικής αποθήκευσης Όμως είναι πολύ αργή (έχει το μεγαλύτερο χρόνο προσπέλασης)  Αυτό οφείλεται στην σειριακή προσπέλαση των δεδομένων Λόγω των παραπάνω χαρακτηριστικών αυτής της μονάδας αποθήκευσης, η κύρια εφαρμογή της είναι η μόνιμη αποθήκευση δεδομένων που δεν χρησιμοποιούνται συχνά από την κεντρική μονάδα επεξεργασίας Συγκεκριμένα, χρησιμοποιείται για  τήρηση εφεδρικών αντιγράφων (back up)  αρχειοθέτηση (archiving) των δεδομένων μας  Ο όρος αρχειοθέτηση αναφέρεται στην αποθήκευση δεδομένων για μεγάλο χρονικό διάστημα, που θα προσπελαστούν ελάχιστες φορές

55 Μαγνητική ταινία (magnetic tape) (2/2) Εισαγωγή στην Πληροφορκή 55 Μπομπίνα ταινίαςΜπομπίνα τυλίγματος Κεφαλή ανάγνωσης/εγγραφής Ταινία

56 Οπτικός δίσκος Εισαγωγή στην Πληροφορκή 56 Ο οπτικός δίσκος είναι μία συσκευή μεγάλης χωρητικότητας που χρησιμοποιεί οπτικά μέσα Ο συμπιεσμένος δίσκος (Compact Disk, CD) χρησιμοποιεί αυτήν την τεχνολογία σε συστήματα αναπαραγωγής ήχου Συγκεκριμένα, μία ακτίνα laser διαπερνάει την επιφάνεια του δίσκου και διαβάζει τα δεδομένα που είναι αποθηκευμένα σε αυτόν Το γνωστό σε όλους μας CD-ROM (Compact Disk – Read Only Memory) είναι ένας συμπιεσμένος δίσκος μόνο για ανάγνωση Εκτός όμως από αυτό, έχουν αναπτυχθεί και εγγράψιμα CDs, τα οποία ονομάζονται CDs εγγραφής καθώς επίσης και επανεγγράψιμα CDs, όπου μπορεί ο χρήστης να γράψει ή να επανεγγράψει (πάνω από μία φορά) δεδομένα, αντίστοιχα Τέλος, ο ψηφιακός πολυμορφικός δίσκος (DVD) έχει σημαντικά αυξημένες ικανότητες αποθήκευσης από ένα CD, καθώς μπορεί να αποθηκεύσει μία πλήρους μεγέθους ταινία

57 Κρυφή μνήμη (cache memory) (1/2) Εισαγωγή στην Πληροφορκή 57 Η κρυφή μνήμη είναι μία πολύ γρήγορη μνήμη  πιο γρήγορη από την κύρια μνήμη  αλλά πιο αργή από τους καταχωρητές της κεντρικής μονάδας επεξεργασίας Κεντρική Μονάδα Επεξεργασίας (CPU) Κύρια Μνήμη Κρυφή Μνήμη Πρόκειται για μία μικρή μνήμη (το μέγεθός της μετριέται συνήθως σε kilobyte)  η οποία παρεμβάλλεται μεταξύ της κεντρικής μονάδας επεξεργασίας και της κύριας μνήμης

58 Κρυφή μνήμη (cache memory) (2/2) Εισαγωγή στην Πληροφορκή 58 Σε αυτήν αποθηκεύονται προγράμματα και δεδομένα που χρησιμοποιούνται από την ΚΜΕ πολύ συχνά  Στην ουσία πρόκειται για δεδομένα που έχουμε αντιγράψει από την κύρια μνήμη στην κρυφή μνήμη, ώστε να επιτύχουμε πιο γρήγορη επεξεργασία (λόγω της υψηλότερης ταχύτητας της μνήμης αυτής) Συγκεκριμένα, όταν η ΚΜΕ χρειάζεται να προσπελάσει μια λέξη από τη μνήμη, αρχικά ελέγχεται η κρυφή μνήμη Αν η λέξη υπάρχει εκεί τότε μεταφέρεται στους καταχωρητές της κεντρικής μονάδας επεξεργασίας Αν η λέξη δεν βρεθεί στην κρυφή μνήμη, τότε προσπελαύνεται η κύρια μνήμη, όπου αντιγράφεται το τμήμα της το οποίο ξεκινάει με την επιθυμητή λέξη Το τμήμα αυτό γράφεται στην κρυφή μνήμη (ώστε να είναι διαθέσιμο και για μελλοντική χρήση), αντικαθιστώντας τα προηγούμενα περιεχόμενα αυτής Τέλος, η ΚΜΕ αντιγράφει τη λέξη από την κρυφή μνήμη στους καταχωρητές της

59 Μονάδες μέτρησης μνήμης Εισαγωγή στην Πληροφορκή 59 Η βασική μονάδα μέτρησης της μνήμης στα υπολογιστικά συστήματα είναι το μπάιτ (byte, B)  Ένα byte ισοδυναμεί με οκτώ bit Συνήθως χρησιμοποιούνται τα πολλαπλάσια του byte: Ονομασία ΜονάδαςΣύμβολοΑκριβές Πλήθος Bytes Bytes κατά Προσέγγιση Μπάιτ (byte)B11 Κιλομπάιτ (kilobyte)KB2 10 = Μεγκαμπάιτ (megabyte)MB2 20 = Γκικγαμπάιτ (gigabyte)GB2 30 = Τεραμπάιτ (terabyte)TB2 40 = Πεταμπάιτ (petabyte)PB2 50 = Εξαμπάιτ (exabyte)EB2 60 =

60 Διαχείριση μνήμης (1/5) Εισαγωγή στην Πληροφορκή 60 Η κύρια μνήμη αποτελείται από μία συλλογή από θέσεις αποθήκευσης Κάθε τέτοια θέση αποτελείται από μία ομάδα bits που ονομάζεται λέξη (word)  Η λέξη έχει σταθερό μέγεθος, και μάλιστα, συχνά χρησιμοποιούμε τον όρο μήκος λέξης ή μέγεθος λέξης (word length) για να δηλώσουμε τον αριθμό των bits αυτής  Τυπικά μήκη λέξης είναι τα 8, 16, 32 ή 64 bits  Τα δεδομένα μεταφέρονται από και προς τη μνήμη ανά λέξη Κάθε θέση αποθήκευσης διαθέτει ένα μοναδικό αναγνωριστικό, ώστε να μπορούμε να έχουμε εύκολη πρόσβαση σε αυτήν, που ονομάζεται διεύθυνση (address)  Το σύνολο των δυνατών διευθύνσεων, δηλαδή ο συνολικός αριθμός των θέσεων αποθήκευσης, ονομάζεται χώρος διευθύνσεων (address space)

61 Διαχείριση μνήμης (2/5) Εισαγωγή στην Πληροφορκή 61 Π.χ. μία μνήμη με μέγεθος 64 KB (64 KB = 2 6 KB = 2 6 * 2 10 bytes = 2 16 bytes = 65,536 bytes) και μήκος λέξης 1 byte  διαθέτει χώρο διευθύνσεων με εύρος από 0 έως 65,535 Η ίδια μνήμη με μήκος λέξης 2 bytes  διαθέτει χώρο διευθύνσεων με εύρος (65,536 / 2 = 32,768) από 0 έως 32,768, κοκ. Καθώς οι υπολογιστές λειτουργούν αποθηκεύοντας αριθμούς ως σχήματα bit, οι διευθύνσεις αναπαρίστανται κι αυτές με τον ίδιο τρόπο  Π.χ. έστω πάλι η μνήμη με μέγεθος 64 KB (2 16 bytes) και μήκος λέξης 1 byte  Όλες οι διαφορετικές διευθύνσεις είναι 65,536  Οπότε, για να προσδιορίσουμε 65,536 διαφορετικούς αριθμούς χρειαζόμαστε 16 bits (αφού 65,536 = 2 16 )  Άρα για τον προσδιορισμό της κάθε διεύθυνσης απαιτείται ένα σχήμα 16 bit

62 Διαχείριση μνήμης (3/5) Εισαγωγή στην Πληροφορκή 62 Αντιστοίχηση μεταξύ ενός αριθμού και του πλήθους των bits που απαιτούνται για την αναπαράστασή του Πλήθος αριθμών (διευθύνσεων) που θέλουμε να αναπαραστήσουμε (N) Αριθμός εκφρασμένος σαν δύναμη του 2 (N = 2 x ) Δυαδικός λογάριθμος (log 2 N) Όλες οι δυνατές τιμές Πλήθος bits που απαιτούνται , , 01, 10, , 001, 010, 011, 100, 101, 110, 111 3

63 Διαχείριση μνήμης (4/5) Εισαγωγή στην Πληροφορκή 63 Οι διευθύνσεις μνήμης καθορίζονται με τη χρήση μη προσημασμένων δυαδικών ακεραίων, δηλαδή θετικών αριθμών (δεν υπάρχουν αρνητικές διευθύνσεις) Επιστρέφοντας στο παράδειγμά μας και στο σχήμα των 16 bit για την αναπαράσταση των διευθύνσεων, είχαμε ότι το εύρος του χώρου διευθύνσεων θα είναι από 0 έως 65,535 Γενικά, αν ένας υπολογιστής διαθέτει N λέξεις μνήμης (δηλαδή ο χώρος διευθύνσεών του είναι N), για την αναφορά όλων των θέσεων μνήμης απαιτούνται log 2 N bits Κύρια Μνήμη ΔιευθύνσειςΠεριεχόμενα

64 Διαχείριση μνήμης (5/5) Εισαγωγή στην Πληροφορκή 64 Έστω ένας υπολογιστής με μνήμη 32 MB  Για να υπολογίσουμε πόσα bits απαιτούνται για τη διευθυνσιοδότηση κάθε byte της μνήμης (δηλαδή όταν το μήκος λέξης είναι 1 byte), αρκεί να βρούμε το δυαδικό λογάριθμο των θέσεων μνήμης  Αρχικά μετατρέπουμε τη μνήμη σε bytes:  32 MB = 2 5 MB = 2 5 * 2 20 bytes = 2 25 bytes  Επομένως έχουμε: log = 25  Άρα, για κάθε διεύθυνση απαιτούνται 25 bits Έστω τώρα ότι ο υπολογιστής μας έχει 128 MB μνήμης, με μήκος λέξης 8 bytes και θέλουμε ξανά να υπολογίσουμε πόσα bits χρειάζονται για τη διευθυνσιοδότηση κάθε λέξης μνήμης  Μετατρέπουμε τη μνήμη σε bytes:  128 MB = 2 7 MB = 2 7 * 2 20 bytes = 2 27 bytes  Όμως, το μήκος κάθε λέξης είναι 8 bytes, δηλαδή 8 bytes = 2 3 bytes, άρα ο χώρος διευθύνσεων είναι 2 27 : 2 3 = = 2 24  Επομένως, για κάθε διεύθυνση απαιτούνται log = 24 bits

65 Ιεραρχία της μνήμης (1/2) Εισαγωγή στην Πληροφορκή 65 Οι διαφορετικές κατηγορίες μονάδων μνήμης οφείλονται στα ιδιαίτερα χαρακτηριστικά που έχει καθεμία, τα οποία καθορίζουν και τη χρήση της Τα κυριότερα χαρακτηριστικά μίας μονάδας μνήμης είναι  ο χρόνος προσπέλασης (access time)  δηλαδή ο χρόνος που απαιτείται για να προσπελάσουμε μία λέξη της μνήμης  το κόστος ανά μονάδα αποθηκευμένης πληροφορίας  το κόστος αναφέρεται στην κατασκευή της μνήμης  το μήκος λέξης (word length)  η χωρητικότητα (capacity) της  δηλαδή η συνολική ποσότητα πληροφοριών που μπορεί να αποθηκεύσει

66 Ιεραρχία της μνήμης (1/2) Εισαγωγή στην Πληροφορκή 66 Συνήθως, μικρός χρόνος προσπέλασης μιας μνήμης συνοδεύεται από υψηλό κόστος αποθήκευσης και αντιστρόφως Επίσης, η χωρητικότητα μίας μνήμης καθορίζεται από το κόστος αυτής, δηλαδή υψηλό κόστος συνεπάγεται μικρή χωρητικότητα και αντιστρόφως Η προσπέλαση μιας λέξης ορίζεται από τη στιγμή που επιλέγουμε μία θέση μνήμης μέχρι τη στιγμή που το περιεχόμενο της θέσης αυτής έχει διαβαστεί ή γραφτεί Καταχωρητές Κρυφή Μνήμη Κύρια Μνήμη Μονάδα Δίσκων Μονάδα Ταινιών Χωρητικότητα Ταχύτητα - Κόστος

67 Εσωτερική Διασύνδεση (1/6) Εισαγωγή στην Πληροφορκή 67 Οι μονάδες συνδέονται μεταξύ τους μέσω μιας συλλογής καλωδίων που ονομάζεται δίαυλος (bus) Ο δίαυλος δίνει τη δυνατότητα της ροής των δεδομένων μεταξύ των μονάδων, σύμφωνα με προκαθορισμένους κανόνες μεταφοράς Σε κάθε χρονική στιγμή μόνο δύο μονάδες μπορούν να χρησιμοποιούν το δίαυλο, καθώς ο τελευταίος μπορεί να εκτελεί μία μόνο μεταφορά τη φορά Αποτελείται από έναν αριθμό καλωδίων που επιτρέπουν τη διαχείριση πολλαπλών αιτημάτων χρήσης του διαύλου Κάθε καλώδιο μπορεί να μεταφέρει 1 bit τη φορά (0 ή 1)

68 Εσωτερική Διασύνδεση (2/6) Εισαγωγή στην Πληροφορκή 68 Όσον αφορά την επικοινωνία μεταξύ της ΚΜΕ και της (κύριας) μνήμης, αυτή επιτυγχάνεται με τη χρήση τριών διαφορετικών ομάδων καλωδίων, καθεμία από τις οποίες εξυπηρετεί και ένα διαφορετικό σκοπό:  το δίαυλο δεδομένων  το δίαυλο διευθύνσεων  το δίαυλο ελέγχου Δίαυλος ΚΜΕ Μνήμη Συσκευές Εισόδου Συσκευές Εισόδου Συσκευές Εξόδου Συσκευές Εξόδου

69 Εσωτερική Διασύνδεση (3/6) Εισαγωγή στην Πληροφορκή 69 Ο δίαυλος δεδομένων (data bus) είναι υπεύθυνος για τη μεταφορά μιας λέξης κάθε φορά  Αποτελείται από πολλά καλώδια, το πλήθος των οποίων εξαρτάται από το μήκος της λέξης (συγκεκριμένα ισούται με τα bits κάθε λέξης)  Π.χ. αν η λέξη είναι 32 bits (4 bytes), τότε ο δίαυλος δεδομένων θα αποτελείται από 32 καλώδια, έτσι ώστε να μπορεί να μεταφέρει ταυτόχρονα τα 32 bits της λέξης Ο δίαυλος διευθύνσεων (address bus) επιτρέπει την προσπέλαση μιας συγκεκριμένης λέξης στη μνήμη, μεταφέροντας τη διεύθυνσή της  Ο αριθμός των καλωδίων του διαύλου αυτού εξαρτάται από το χώρο διευθύνσεων της μνήμης (συγκεκριμένα ισούται με τα bits κάθε διεύθυνσης)  Π.χ. αν κάθε διεύθυνση έχει 32 bits, τότε ο δίαυλος διευθύνσεων θα αποτελείται από 32 καλώδια

70 Εσωτερική Διασύνδεση (4/6) Εισαγωγή στην Πληροφορκή 70 Ο δίαυλος ελέγχου (control bus) μεταφέρει τον κωδικό της πράξης που θα εκτελεστεί  Αν σε έναν υπολογιστή επιτρέπεται μόνο η λειτουργία ανάγνωσης και εγγραφής, τότε ένα bit αρκεί (0 για ανάγνωση και 1 για εγγραφή)  Στη γενική περίπτωση, όπου το πλήθος των επιτρεπόμενων εντολών ελέγχου είναι Μ, τότε χρειάζονται log 2 M καλώδια Όσον αφορά την επικοινωνία με τις συσκευές εισόδου/εξόδου, καθώς η φύση αυτών των συσκευών είναι διαφορετική από τη φύση της ΚΜΕ και της μνήμης, δεν είναι δυνατή η άμεση σύνδεσή τους στους διαύλους που συνδέουν τον επεξεργαστή με τη μνήμη  Η μονάδα μνήμης και ο επεξεργαστής είναι ηλεκτρονικές συσκευές, γεγονός που τις καθιστά τα πιο γρήγορα μέρη του υπολογιστή  Από την άλλη πλευρά, οι περιφερειακές μονάδες είναι είτε ηλεκτρομηχανικές (πολύ αργές), είτε μαγνητικές ή οπτικές (πιο γρήγορες)

71 Εσωτερική Διασύνδεση (5/6) Εισαγωγή στην Πληροφορκή 71 Οι συσκευές εισόδου/εξόδου συνδέονται με τους διαύλους μέσω μιας συσκευής που ονομάζεται ελεγκτής εισόδου/εξόδου ή διασύνδεση (interface)  η οποία εξομαλύνει τις διαφορές μεταξύ των αργών περιφερειακών συσκευών και της γρήγορης μνήμης και επεξεργαστή Οι ελεγκτές διακρίνονται σε  σειριακοί ελεγκτές  διαθέτουν μόνο μία σύνδεση καλωδίου (όπως η USB) με τη συσκευή (π.χ. πληκτρολόγιο, ποντίκι)  παράλληλοι ελεγκτές  διαθέτουν πολλές συνδέσεις με τη συσκευή, ώστε να μπορούν να μεταφέρουν πολλά bits ταυτόχρονα Π.χ. ο δίσκος ή σαρωτής μπορούν να έχουν παράλληλη σύνδεση με 8, 16 ή 32 καλώδια Οι σειριακοί ελεγκτές χρησιμοποιούνται για τη σύνδεση πιο αργών συσκευών, ενώ οι παράλληλοι για τη σύνδεση συσκευών με σχετικά πιο γρήγορες ταχύτητες

72 Εσωτερική Διασύνδεση (6/6) Εισαγωγή στην Πληροφορκή 72 ΚΜΕ Μνήμη Ελεγκτής Οθόνης Ελεγκτής Εκτυπωτή Ελεγκτής Δίσκου Δίαυλος ΔεδομένωνΔίαυλος Διευθύνσεων Δίαυλος Ελέγχου

73 ΕΙΣΑΓΩΓΉ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΉ ΝΊΚΟΣ ΠΑΠΑΔΆΚΗΣ ΛΟΓΙΣΜΙΚΟ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ

74 Κατηγορίες Λογισμικού Εισαγωγή στην Πληροφορκή 74 Με τον όρο λογισμικό (software) αναφερόμαστε  τόσο στα προγράμματα και τα δεδομένα που συντονίζουν τη λειτουργία του υλικού  όσο και σε αυτά που είναι υπεύθυνα για την εκτέλεση συγκεκριμένων εργασιών (που υποδεικνύει ο χρήστης). Το λογισμικό είναι υπεύθυνο για την επικοινωνία του χρήστη με τον υπολογιστή, καθώς επίσης και για την αυτοματοποιημένη διαχείριση της κεντρικής μονάδας επεξεργασίας, της μνήμης και των περιφερειακών συσκευών Δύο είναι οι βασικές κατηγορίες στις οποίες μπορούμε να το διακρίνουμε:  στο λογισμικό συστήματος  στο λογισμικό εφαρμογών Υλικό Λογισμικό Συστήματος Λογισμικό Εφαρμογών

75 Λογισμικό συστήματος (system software) (1/2) Εισαγωγή στην Πληροφορκή 75 Το λογισμικό συστήματος περιλαμβάνει όλα τα απαραίτητα προγράμματα που είναι υπεύθυνα για τον έλεγχο και τη διαχείριση των πόρων του υπολογιστή Παρέχει στους χρήστες τα εργαλεία για να εκμεταλλευτούν τους πόρους αυτούς, παρόλο που η λειτουργία του δεν είναι άμεσα αντιληπτή από τους χρήστες Στην ουσία το λογισμικό συστήματος αποτελείται από γενικευμένα προγράμματα που συντονίζουν της λειτουργίες του συστήματος και διαχειρίζονται τις μονάδες του, όπως τον επεξεργαστή, τη μνήμη και τις περιφερειακές συσκευές Λειτουργεί ως ενδιάμεσος μεταξύ του υλικού και του λογισμικού εφαρμογών  καθώς ελέγχει τις λειτουργίες του υλικού, ενώ παράλληλα υποστηρίζει τις εφαρμογές του χρήστη (παρέχοντάς τους τις απαραίτητες υπηρεσίες)  διευθύνει τον υπολογιστή σε χαμηλό/βασικό επίπεδο, αφού έχει την ικανότητα να αλληλεπιδρά απευθείας με το υλικό  παρόλο που είναι ανεξάρτητο από συγκεκριμένες εφαρμογές, είναι αυτό που παρέχει τα εργαλεία και το περιβάλλον ανάπτυξης και εκτέλεσης των λογισμικών εφαρμογών

76 Λογισμικό συστήματος (system software) (2/2) Εισαγωγή στην Πληροφορκή 76 Όλα τα τμήματα του λογισμικού συστήματος παραδίδονται προεγκατεστημένα σε ένα νέο υπολογιστή, και περιλαμβάνουν:  Το λειτουργικό σύστημα (operating system)  Π.χ. Windows, Unix, Linux, MacOS, DOS, OS/2  Τους οδηγούς υλικού (device drivers)  δηλαδή τις οδηγίες (εντολές) για το χειρισμό των συσκευών υλικού  πρόκειται για μικρά προγράμματα που περιέχουν τις οδηγίες για το πώς μία συγκεκριμένη συσκευή αποστέλλει και παραλαμβάνει δεδομένα  Τους μεταγλωττιστές (compilers) και μεταφραστές (interpreters)  μαζί με κάποια ακόμα προγράμματα, που όλα μαζί αναφέρονται συνήθως ως λογισμικό μετάφρασης γλωσσών προγραμματισμού  Αυτά τα προγράμματα παρέχουν στους προγραμματιστές τα απαραίτητα «εργαλεία» για την ανάπτυξη και δημιουργία νέων προγραμμάτων  Τα προγράμματα υπηρεσιών ή βοηθητικά προγράμματα (utilities)  τα οποία είναι υπεύθυνα για την εκτέλεση συνηθισμένων και επαναλαμβανόμενων εργασιών (όπως είναι η δημιουργία ενός φακέλου)

77 Λογισμικό εφαρμογών (application software) (1/3) Εισαγωγή στην Πληροφορκή 77 Το λογισμικό εφαρμογών περιλαμβάνει ολοκληρωμένα προγράμματα που επιτελούν μία συγκεκριμένη εργασία Τα προγράμματα αυτά έχουν κατασκευαστεί από εξειδικευμένους προγραμματιστές, προκειμένου να καλύψουν και να επιλύσουν συγκεκριμένες ανάγκες και απαιτήσεις των χρηστών Κάποια χαρακτηριστικά παραδείγματα λογισμικού εφαρμογών είναι τα εξής:  προγράμματα επεξεργασίας κειμένου  επεξεργασίας εικόνων  σχεδίασης γραφικών  διαχείρισης βάσεων δεδομένων  παιχνίδια  λογιστικά φύλλα  εφαρμογές δημιουργίας πολυμέσων

78 Λογισμικό εφαρμογών (application software) (2/3) Εισαγωγή στην Πληροφορκή 78 Το λογισμικό εφαρμογών αποτελείται από προγράμματα σχεδιασμένα να βοηθήσουν τους χρήστες στην ολοκλήρωση των εργασιών τους, με τρόπο εύκολο, γρήγορο και αποδοτικό Συχνά υπάρχει μεγάλη ποικιλία προγραμμάτων, από διαφορετικούς κατασκευαστές, που καλύπτουν την ίδια ανάγκη  Η επιλογή εξαρτάται από το χρήστη  ο οποίος εξετάζει συνήθως το κόστος και τη λειτουργικότητα της εφαρμογής, τη συμβατότητα του λογισμικού και την αξιοπιστία του κατασκευαστή

79 Λογισμικό εφαρμογών (application software) (3/3) Εισαγωγή στην Πληροφορκή 79 Μπορούμε να διακρίνουμε τρεις κατηγορίες για το λογισμικό εφαρμογών:  το γενικευμένο λογισμικό εφαρμογών  αφορά ανάγκες που καλύπτουν πολλούς διαφορετικούς χρήστες, όπως είναι ο Internet Explorer και το Outlook  το εξειδικευμένο λογισμικό εφαρμογών  αναπτύσσεται για εξειδικευμένες ανάγκες, όπως είναι μία εφαρμογή μισθοδοσίας για μια επιχείρηση  το ολοκληρωμένο λογισμικό  που παρέχει ένα ολοκληρωμένο πακέτο υπηρεσιών, όπως το Microsoft Office ή το Lotus Notes

80 Λειτουργικό σύστημα (operating system, OS) (1/4) Εισαγωγή στην Πληροφορκή 80 Το λειτουργικό σύστημα (operating system, OS) είναι ένα σύνολο προγραμμάτων που αποτελούν τον πυρήνα του λογισμικού συστήματος Είναι υπεύθυνο για τον έλεγχο και την επίβλεψη των λειτουργιών του υλικού, καθώς επίσης και για το συντονισμό και επικοινωνία με τις εργασίες των εφαρμογών Συγκεκριμένα, διαχειρίζεται και διευθύνει τους πόρους του συστήματος (όπως είναι η ΚΜΕ, η μνήμη και οι περιφερειακές συσκευές), παρέχοντάς τους διάφορες υπηρεσίες Επίσης, δίνει στο χρήστη τη δυνατότητα άμεσης επικοινωνίας, μέσα από το περιβάλλον (διεπαφή) που του παρέχει

81 Λειτουργικό σύστημα (operating system, OS) (2/4) Εισαγωγή στην Πληροφορκή 81 Εκτός από το υλικό, αλληλεπιδρά και με τις εφαρμογές, στις οποίες επιτρέπει να έχουν πρόσβαση στους πόρους του συστήματος, είτε άμεσα είτε μέσω άλλων προγραμμάτων του λογισμικού συστήματος Αυτά τα «άλλα προγράμματα» του λογισμικού συστήματος είναι συνήθως υπεύθυνα για μια συγκεκριμένη εργασία  όπως είναι η βιβλιοθήκη γραφικών που δίνει εικόνα στην οθόνη ή οι οδηγοί συσκευών Το λειτουργικό σύστημα μεσολαβεί μεταξύ αυτών των προγραμμάτων και των εφαρμογών, όταν απαιτείται επικοινωνία μεταξύ τους, για την επίτευξη αυτής Άλλα Προγράμματα Λογισμικού Συστήματος Υλικό Λειτουργικό Σύστημα Εφαρμογές Χρήστες

82 Λειτουργικό σύστημα (operating system, OS) (3/4) Εισαγωγή στην Πληροφορκή 82 Το λειτουργικό σύστημα είναι απαραίτητο στοιχείο κάθε υπολογιστικού συστήματος, και μάλιστα, από το ξεκίνημα του υπολογιστή, καθώς ενεργοποιείται και αποκτά τον έλεγχο της διαχείρισης κατά τη διαδικασία εκκίνησης Πιο αναλυτικά, όταν ανοίγουμε τον υπολογιστή μας, το υλικό φορτώνει ένα μικρό σύνολο εντολών του συστήματος από τη μνήμη ROM Στη συνέχεια, αυτές οι εντολές φορτώνουν ένα μεγαλύτερο τμήμα του λογισμικού συστήματος από τη δευτερεύουσα μνήμη Με την ολοκλήρωση όλων αυτών των απαραίτητων στοιχείων του λειτουργικού συστήματος, εκτελούνται τα προγράμματα εκκίνησης, και μόλις η διεπαφή για το χρήστη ετοιμαστεί, το σύστημα είναι έτοιμο για χρήση

83 Λειτουργικό σύστημα (operating system, OS) (4/4) Εισαγωγή στην Πληροφορκή 83 Η βασική λειτουργία του λειτουργικού συστήματος είναι ο έλεγχος και η διαχείριση των μονάδων του υπολογιστικού συστήματος, για τη διεκπεραίωση και ολοκλήρωση των εργασιών των διαφόρων εφαρμογών Ο τρόπος με τον οποίο λειτουργεί το λειτουργικό σύστημα για το διαμοιρασμό των πόρων στις διάφορες εφαρμογές βασίζεται στο «δίκαιο καταμερισμό»  Δηλαδή, όλοι οι πόροι του συστήματος πρέπει να μοιράζονται δίκαια στα προγράμματα που είναι απαραίτητοι, και το λειτουργικό σύστημα θα φροντίσει γι’ αυτή τη δίκαιη διανομή  Από τη στιγμή που περισσότερα από ένα προγράμματα μπορούν να εκτελούνται ταυτόχρονα και να χρησιμοποιούν από κοινού τόσο τη μνήμη όσο και τις υπόλοιπες μονάδες, δημιουργείται η ανάγκη του ελέγχου για τη σωστή διανομή των πόρων αυτών  Έτσι, για κάθε εφαρμογή που εκτελείται και συναγωνίζεται με τις υπόλοιπες για τη χρήση του επεξεργαστή και των συσκευών εισόδου/εξόδου, το λειτουργικό σύστημα έχει το ρόλο του ελεγκτή  για να διασφαλίσει ότι όλα τα μέρη συνεργάζονται και έχουν την ευκαιρία να χρησιμοποιήσουν τους πόρους αυτούς

84 Κατηγορίες Λειτουργικού Συστήματος (1/3) Εισαγωγή στην Πληροφορκή 84 Υπάρχει μία μεγάλη ποικιλία λειτουργικών συστημάτων, τα οποία μπορούν να κατηγοριοποιούν ανάλογα με διάφορα κριτήρια, όπως  Ο αριθμός των χρηστών  Ο αριθμός των εργασιών που μπορούν να υποστηρίξουν Όσον αφορά τον αριθμό των χρηστών τα λειτουργικά συστήματα διακρίνονται  Ενός χρήστη σύστημα (single user)  είναι αυτό όπου μόνο ένας χρήστης μπορεί να χρησιμοποιεί τον υπολογιστή σε μια δεδομένη χρονική στιγμή  χρησιμοποιείται ευρέως σε φορητές συσκευές  χαρακτηριστικό παράδειγμα αποτελεί το PalmOS για τον προσωπικό ψηφιακό βοηθό (personal digital assistant, PDA) και το Symbian για κινητά τηλέφωνα  Πολλών χρηστών (multi-user)  επιτρέπουν την ταυτόχρονη χρήση του υπολογιστή από πολλούς χρήστες  τέτοια συστήματα απαντώνται στους προσωπικούς υπολογιστές  χαρακτηριστικά παραδείγματα είναι τα Unix, Linux, Windows, MacOS

85 Κατηγορίες Λειτουργικού Συστήματος (2/3) Εισαγωγή στην Πληροφορκή 85 Όσον αφορά τον αριθμό των εργασιών τα λειτουργικά συστήματα διαχωρίζονται σε  συστήματα μίας εργασίας (single tasking)  είναι αυτά που μπορούν να διεκπεραιώνουν μία εργασία τη φορά, όπως το PalmOS  συστήματα πολλών εργασιών (multi-tasking)  έχουν τη δυνατότητα να εκτελούν πολλές εφαρμογές ταυτόχρονα, όπως τα Unix, Linux, Windows, MacOS

86 Κατηγορίες Λειτουργικού Συστήματος (3/3) Εισαγωγή στην Πληροφορκή 86

87 Διαχείριση Πόρων (1/10) Εισαγωγή στην Πληροφορκή 87 Στα πρώτα χρόνια των υπολογιστών, όπου μόνο ένα πρόγραμμα είχε τη δυνατότητα να βρίσκεται στην κύρια μνήμη και να εκτελείται, η διαχείριση της μνήμης ήταν απλή διαδικασία:  ακολουθούνταν ο κύκλος φέρε-εκτέλεσε, όπου κάθε μία εντολή του προγράμματος προσκομιζόταν και εκτελούνταν Με ποιο τρόπο όμως μπορούν να υποστηριχθούν και να εκτελεστούν παραπάνω από ένα προγράμματα ταυτόχρονα; Στην πραγματικότητα, τα προγράμματα που φαινομενικά εκτελούνται ταυτόχρονα, εκτελούνται διαδοχικά Οι εργασίες των προγραμμάτων εναλλάσσονται μεταξύ τους, διαμοιραζόμενες τους πόρους του συστήματος, με τρόπο ώστε να δίνουν την αίσθηση της παράλληλης εκτέλεσης Ένα πρόγραμμα κάθε φορά είναι αυτό που «τρέχει» (δηλαδή οι εντολές του μεταφέρονται στον επεξεργαστή και εκτελούνται)

88 Διαχείριση Πόρων (2/10) Εισαγωγή στην Πληροφορκή 88 Πολυπρογραμματισμός (multiprogramming) ονομάζεται η ταυτόχρονη συνύπαρξη των προγραμμάτων προκειμένου να αποκτήσουν πρόσβαση στην κεντρική μονάδα επεξεργασίας και να εκτελεστούν Τα προγράμματα αυτά εναλλάσσονται ταχύτατα, δημιουργώντας την αίσθηση ότι εκτελούνται παράλληλα Η τεχνική αυτή επιτυγχάνει ολοκλήρωση των εργασιών σε μικρότερο χρόνο (συνολικά) και αποδοτικότερη χρήση του υλικού  αλλά αυξάνει την πολυπλοκότητα του συστήματος Ο πολυπρογραμματισμός δημιουργεί την ανάγκη για διαχείριση μνήμης  δηλαδή για παρακολούθηση των προγραμμάτων που βρίσκονται στην κύρια μνήμη, καθώς και της ακριβής θέσης αυτών

89 Διαχείριση Πόρων (3/10) Εισαγωγή στην Πληροφορκή 89 Μία άλλη σημαντική σημαντική έννοια είναι η διεργασία (process)  είναι ένα πρόγραμμα που εκτελείται, που βρίσκεται όπως λέμε στη φάση εκτέλεσής του Ένα πρόγραμμα αποτελεί απλά ένα στατικό σύνολο εντολών, όμως, η έννοια της διεργασίας έχει δυναμικό χαρακτήρα, καθώς αντιπροσωπεύει το πρόγραμμα καθώς εκτελείται Περιλαμβάνει τις τρέχουσες τιμές του μετρητή προγράμματος (PC), των καταχωρητών και των μεταβλητών που χρησιμοποιούνται

90 Διαχείριση Πόρων (4/10) Εισαγωγή στην Πληροφορκή 90 Ένα υπολογιστικό σύστημα που υποστηρίζει πολυπρογραμματισμό μπορεί να έχει αρκετές ενεργές διεργασίες σε μία δεδομένη χρονική στιγμή  Σε αυτήν την περίπτωση, το λειτουργικό σύστημα είναι υπεύθυνο για το χειρισμό των διεργασιών αυτών  Πραγματοποιεί ελέγχους για την κατάσταση των διεργασιών  γνωρίζει σε ποια φάσης εκτέλεσης βρίσκονται  και γενικά διατηρεί όλες τις απαραίτητες πληροφορίες που τις αφορά  Μία διεργασία ενδέχεται να διακοπεί από το λειτουργικό σύστημα καθώς εκτελείται, προκειμένου να εκτελεστεί μία άλλη διεργασία (που επίσης μπορεί να είχε αρχίσει να εκτελείται και να διακόπηκε νωρίτερα)

91 Διαχείριση Πόρων (5/10) Εισαγωγή στην Πληροφορκή 91 Η εναλλαγή των διεργασιών διαχειρίζεται από ένα τμήμα του λειτουργικού συστήματος, που ονομάζεται χρονοδρομολόγηση (scheduling)  ορίζει ποια διεργασία από αυτές που βρίσκονται στη μνήμη θα επιλεγεί για εκτέλεση σε μια δεδομένη χρονική στιγμή Ακόμα και το ίδιο το λειτουργικό σύστημα αποτελεί ένα πρόγραμμα που πρέπει να εκτελεστεί Επομένως, οι διεργασίες του λειτουργικού συστήματος πρέπει να διαχειριστούν και να διατηρηθούν στην κύρια μνήμη μαζί με άλλα προγράμματα συστήματος και εφαρμογών

92 Διαχείριση Πόρων (6/10) Εισαγωγή στην Πληροφορκή 92

93 Διαχείριση Πόρων (7/10) Εισαγωγή στην Πληροφορκή 93 Τα λειτουργικά συστήματα πέρασαν από πολλά στάδια εξέλιξης μέχρι να φτάσουν στη σημερινή τους μορφή και πολυπλοκότητα Στις δεκαετίες 1960 και 1970 ο υπολογιστής ήταν ένα ογκώδες, δύσχρηστο μηχάνημα που είχε μόνο ένα χειριστή (operator) Ο χειριστής αυτός αναλάμβανε να συλλέξει τις διάφορες προς εκτέλεση εργασίες από τους χρήστες και να τις οργανώσει σε δεσμίδες Μία δεσμίδα (batch) είναι ένα σύνολο από εργασίες που απαιτούν τους ίδιους πόρους Μία εργασία (job) είναι ένα πρόγραμμα μαζί με κάποιες εντολές που αφορούν το λογισμικό συστήματος και τους απαιτούμενους πόρους για την εκτέλεση του προγράμματος Οι δεσμίδες αυτές δίνοντας στη συνέχεια στον υπολογιστή για επεξεργασία  Αυτή η τεχνική είχε σκοπό να βελτιώσει τον προηγούμενο τρόπο λειτουργίας, όπου ο χειριστής έπρεπε να «φορτώσει» κάθε εργασία (ξεχωριστά) πριν από κάθε εκτέλεση, η οποία ήταν μία αρκετά χρονοβόρα διαδικασία

94 Διαχείριση Πόρων (8/10) Εισαγωγή στην Πληροφορκή 94 Η έννοια της δεσμίδας σήμερα έχει αλλάξει και αναφέρεται σ’ ένα σύστημα όπου τα προγράμματα και οι πόροι του συστήματος συντονίζονται και εκτελούνται χωρίς τη διαμεσολάβηση του χρήστη Ο χρήστης μπορεί να ορίσει ένα σύνολο από εντολές λειτουργικού συστήματος σε ένα αρχείο δεσμίδας (batch file), προκειμένου να έχει τον έλεγχο της επεξεργασίας ενός μεγάλου προγράμματος Χαρακτηριστικό παράδειγμα αρχείων που περιέχουν εντολές του συστήματος είναι τα αρχεία με προέκταση.bat στα Windows Χειριστής (Operator) Εργασία 1 (Job 1) Εργασία 2 (Job 2) Εργασία N (Job N) Δεσμίδα 1 (Batch 1) Δεσμίδα 2 (Batch 2) Υπολογιστής

95 Διαχείριση Πόρων (9/10) Εισαγωγή στην Πληροφορκή 95 Ο χρονικός κατακερματισμός (time sharing) είναι μία πολιτική που εφαρμόζεται για την παράλληλη εκτέλεση πολλαπλών διεργασιών Συγκεκριμένα, επιτρέπει την ταυτόχρονη χρήση του υπολογιστή από πολλούς χρήστες, καθώς διαμοιράζει (καταμερίζει) το χρόνο του επεξεργαστή στους ενεργούς χρήστες και τις διεργασίες τους Ο διαμερισμός των πόρων διαχειρίζεται από το λειτουργικό σύστημα, και με αυτόν τον τρόπο, μπορούν οι προγραμματιστές να επικοινωνούν με τον υπολογιστή και να μοιράζονται τους διαθέσιμους πόρους  Κάθε διεργασία έχει συγκεκριμένο χρόνο που μπορεί να εκτελείται, ενώ όταν εξαντληθεί ο χρόνος αυτός ο έλεγχος μεταφέρεται στην επόμενη διεργασία  Έτσι, εξασφαλίζεται δίκαιη διαχείριση και διαμερισμός των πόρων για όλες τις διεργασίες

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

97 Διαχείριση Μνήμης (1/6) Εισαγωγή στην Πληροφορκή 97 Η μνήμη αποτελείται από θέσεις μνήμης, κάθε μία από τις οποίες είναι ένα σύνολο από bits με σταθερό μέγεθος, που ονομάζεται μήκος λέξης Κάθε θέση μνήμης προσδιορίζεται από ένα μοναδικό αναγνωριστικό, τη διεύθυνση Η μνήμη φιλοξενεί τα ενεργά προγράμματα, παρέχοντας σε καθένα από αυτά το δικό του χώρο Ένα πρόγραμμα αναφέρεται στα δεδομένα του (ή σε άλλα μέρη του κώδικα του προγράμματος) μέσω λογικών διευθύνσεων, όπως είναι για παράδειγμα η θέση τους μέσα στο ίδιο το πρόγραμμα, αφού δεν είναι δυνατό να γνωρίζουν εκ των προτέρων σε ποια διεύθυνση στη μνήμη θα τοποθετηθούν Όταν τα προγράμματα φορτώνονται στην κύρια μνήμη, πρέπει να μπορούν να «βρίσκουν» τα δεδομένα τους Να κάνουν, δηλαδή, την αντιστοίχιση μεταξύ της λογικής και της πραγματικής διεύθυνσης

98 Διαχείριση Μνήμης (2/6) Εισαγωγή στην Πληροφορκή 98 Από τα παραπάνω, γίνεται αντιληπτή η ανάγκη ύπαρξης δύο διαφορετικών ειδών διεύθυνσης:  λογική ή σχετική ή εικονική διεύθυνση (virtual address)  είναι μία τιμή που αναφέρεται σε μία γενική θέση, η οποία είναι σχετική με το πρόγραμμα και όχι με την κύρια μνήμη  κατά τη συγγραφή του προγράμματος, ο προγραμματιστής μπορεί να γνωρίζει μόνο τη λογική διεύθυνση  φυσική διεύθυνση (physical address)  είναι μία πραγματική διεύθυνση στην κύρια μνήμη  το λειτουργικό σύστημα γνωρίζοντας την ακριβή θέση κάθε προγράμματος στη μνήμη έχει τη δυνατότητα να μετατρέπει τις λογικές διευθύνσεις σε φυσικές διευθύνσεις  Η διαδικασία αυτής της μετατροπής ονομάζεται συσχέτιση διευθύνσεων (address binding)  Συγκεκριμένα, κατά τη μεταγλώττιση ενός προγράμματος, όλες οι αναφορές (όπως για παράδειγμα μιας μεταβλητής) μετατρέπονται σε λογικές διευθύνσεις  Στη συνέχεια, κατά τη φόρτωση του προγράμματος στην κύρια μνήμη προκειμένου να εκτελεστεί, κάθε λογική διεύθυνση αντιστοιχίζεται σε μία συγκεκριμένη φυσική διεύθυνση

99 Διαχείριση Μνήμης (3/6) Εισαγωγή στην Πληροφορκή 99 Σε μία δεδομένη χρονική στιγμή, στην κύρια μνήμη βρίσκεται  το λειτουργικό σύστημα  και το πρόγραμμα που εκτελείται Κάθε πρόγραμμα έχει το δικό του χώρο στη μνήμη, ο οποίος μπορεί να δοθεί με διάφορες πολιτικές Η πιο απλή προσέγγιση είναι όλο το πρόγραμμα να φορτωθεί σε ένα μεγάλο κομμάτι από συνεχόμενες θέσεις στη μνήμη Η προσέγγιση αυτή ονομάζεται διαχείριση συνεχούς μνήμης (single contiguous memory management), και μόνο ένα πρόγραμμα μπορεί να βρίσκεται στη μνήμη μαζί με το λειτουργικό σύστημα  Στην περίπτωση αυτήν, κάθε λογική διεύθυνση έχει μία τιμή που αντιστοιχεί σε μία θέση σχετική με το σημείο εκκίνησης του προγράμματος  Πιο αναλυτικά, είναι σαν να φορτώνουμε το πρόγραμμά μας στην αρχή της κύριας μνήμης (στη διεύθυνση 0), καταλαμβάνοντας συνεχόμενα όλες τις απαραίτητες θέσεις μνήμης

100 Διαχείριση Μνήμης (4/6) Εισαγωγή στην Πληροφορκή 100 Για παράδειγμα, αν ένα πρόγραμμα καταλαμβάνει Μ θέσεις, τότε οι λογικές διευθύνσεις στις οποίες τοποθετείται είναι οι θέσεις 0 έως Μ-1 Για να προσδιορίσουμε τη φυσική διεύθυνση, αρκεί να προσθέσουμε τη λογική διεύθυνση με τη διεύθυνση του σημείου εκκίνησης του προγράμματος στη φυσική κύρια μνήμη Δηλαδή, χρειάζεται απλά να υπολογίσουμε την αριθμητική παράσταση:  Φυσική Διεύθυνση = Λογική Διεύθυνση + Σημείο Εκκίνησης Προγράμματος  Το σημείο εκκίνησης ενός προγράμματος είναι μία φυσική διεύθυνση που αντιστοιχεί στην πρώτη θέση μνήμης όπου έχει τοποθετηθεί το πρόγραμμα

101 Διαχείριση Μνήμης (5/6) Εισαγωγή στην Πληροφορκή 101 Κύρια Μνήμη Λειτουργικό Σύστημα Προγράμματα Εφαρμογών Κύρια Μνήμη Φυσική Διεύθυνση Λογική Διεύθυνση

102 Διαχείριση Μνήμης (6/6) Εισαγωγή στην Πληροφορκή 102 Εκτός, όμως, από τη διαχείριση συνεχούς μνήμης υπάρχουν και άλλες πολιτικές διαχείρισης μνήμης, οι οποίες παρέχουν περισσότερη ευελιξία και μπορούν να υποστηρίξουν τον πολυπρογραμματισμό Δύο τέτοιες πολύ δημοφιλής προσεγγίσεις είναι  η διαμερισμένη μνήμη  η σελιδοποιημένη μνήμη

103 Διαμερισμένη μνήμη (partitioning) Εισαγωγή στην Πληροφορκή 103 Η διαμερισμένη μνήμη μπορεί να υποστηρίξει την εκτέλεση πολλαπλών προγραμμάτων, καθώς χωρίζει τη μνήμη σε κομμάτια (διαμερίσματα)  όπου καθένα από αυτά μπορεί να φιλοξενεί ένα πρόγραμμα Τα κομμάτια αυτά μπορεί να είναι όλα ίσου μεγέθους ή άνισα, καθώς επίσης μπορεί να είναι σταθερού μεγέθους ή μεταβλητού, ανάλογα με τις ανάγκες των προγραμμάτων Τα μειονεκτήματα αυτής της προσέγγισης, όσον αφορά τα σταθερά κομμάτια, σχετίζονται με τη δυσκολία επιλογής του σωστού μεγέθους  Π.χ. αν επιλέξουμε μικρό μέγεθος, τότε ίσως κάποια προγράμματα να μη χωρέσουν, ενώ αν επιλέξουμε μεγάλο μέγεθος, μπορεί να οδηγηθούμε σε σπατάλη του χώρου της μνήμης Επίσης, όταν τα κομμάτια αυτά είναι μεταβλητού μεγέθους, αυξάνεται η πολυπλοκότητα του συστήματος και έχει σαν αποτέλεσμα επιπλέον χρονική επιβάρυνση

104 Σελιδοποιημένη μνήμη (paging) (1/2) Εισαγωγή στην Πληροφορκή 104 Η σελιδοποιημένη μνήμη χωρίζει και αυτή τη μνήμη σε κομμάτια που ονομάζονται πλαίσια (frames)  καθώς επίσης χωρίζει και τα ίδια τα προγράμματα σε κομμάτια που ονομάζονται σελίδες (pages) Οι σελίδες και τα πλαίσια έχουν το ίδιο, σταθερό μέγεθος Όταν ένα πρόγραμμα φορτώνεται στη μνήμη, κάθε σελίδα του τοποθετείται σε ένα πλαίσιο μνήμης Τα πλαίσια που φιλοξενούν ένα πρόγραμμα δεν είναι απαραιτήτως γειτονικά Αυτή η προσέγγιση επιτυγχάνει αποδοτικότερη χρήση της μνήμης Κύρια Μνήμη Πρόγραμμα 1 Πρόγραμμα 2 Πρόγραμμα 3

105 Σελιδοποιημένη μνήμη (paging) (2/2) Εισαγωγή στην Πληροφορκή 105 Επίσης, αντιμετωπίζει το πρόβλημα του να μη χωράει ένα πρόγραμμα εξ’ ολοκλήρου στη μνήμη (γεγονός που δεν ισχύει για τις προηγούμενες δύο προσεγγίσεις) Σε αυτήν την περίπτωση, το πρόγραμμα μπορεί να εκτελεστεί ακόμα και αν δεν βρίσκονται όλες οι σελίδες του στην κύρια μνήμη Μόλις μία σελίδα που δεν βρίσκεται στην κύρια μνήμη ζητηθεί, τότε αυτή η σελίδα φορτώνεται σε κάποιο άλλο πλαίσιο σελίδας που δεν χρησιμοποιείται και η εκτέλεση συνεχίζεται κανονικά Το αποτέλεσμα αυτής της διαδικασίας ονομάζεται εικονική μνήμη (virtual memory)  Η εικονική μνήμη, με τη μεταφορά των σελίδων από τη δευτερεύουσα στην κύρια μνήμη και αντίστροφα, δημιουργεί την αίσθηση ότι η κύρια μνήμη είναι αρκετά μεγάλη για να χωρέσει οποιοδήποτε πρόγραμμα

106 Διαχείριση Διεργασιών (1/5) Εισαγωγή στην Πληροφορκή 106 Ο όρος διεργασία (process) αναφέρεται σε ένα πρόγραμμα που εκτελείται, και περιλαμβάνει όλες τις πληροφορίες της τρέχουσας κατάστασής του Σε ένα σύστημα που υποστηρίζει πολυπρογραμματισμό, μπορούμε να έχουμε πολλές διεργασίες να εκτελούνται παράλληλα και οι οποίες θέλουν να αποκτήσουν τον έλεγχο στον επεξεργαστή και να εκτελεστούν Τη διαχείριση αυτή, για το πότε και πόσο θα εκτελείται μία διεργασία, την καθορίζει το λειτουργικό σύστημα Μία διεργασία από τη στιγμή που θα δημιουργηθεί μέχρι να ολοκληρωθεί και να τερματίσει τη λειτουργία της περνάει από διάφορες καταστάσεις

107 Διαχείριση Διεργασιών (2/5) Εισαγωγή στην Πληροφορκή 107 Συγκεκριμένα, μία διεργασία μπορεί να:  Εκτελείται (running): Χρησιμοποιεί πραγματικά τον επεξεργαστή την τρέχουσα στιγμή, καθώς οι εντολές της επεξεργάζονται από τον Φέρε-Εκτέλεσε κύκλο  Είναι έτοιμη για εκτέλεση (ready): Έχει διακοπεί προσωρινά προκειμένου να εκτελεστεί κάποια άλλη, και περιμένει τη σειρά της για να χρησιμοποιήσει την κεντρική μονάδα επεξεργασίας Εκτελείται (Running) Έτοιμη για εκτέλεση (Ready) Έχει μπλοκαριστεί (Blocked)  Έχει μπλοκαριστεί (blocked): Δεν μπορεί να συνεχίσει την εκτέλεσή της καθώς περιμένει για πόρους (συνήθως περιμένει για είσοδο δεδομένων)

108 Διαχείριση Διεργασιών (3/5) Εισαγωγή στην Πληροφορκή 108 Πολλές διεργασίες μπορούν να βρίσκονται στη φάση ετοιμότητας (ready) ή στη φάση μπλοκαρίσματος (blocked) την ίδια χρονική στιγμή  αλλά μόνο μία διεργασία μπορεί να είναι στη φάση εκτέλεσης (running) Το λειτουργικό σύστημα είναι υπεύθυνο για τη διαχείριση των διεργασιών Οι αρμοδιότητές του μεταξύ άλλων περιλαμβάνουν:  τη δημιουργία και τον τερματισμό  τη διακοπή και την επανεκκίνηση  καθώς και το συγχρονισμό των διεργασιών  ώστε να μπορούν να τρέχουν όλες ομαλά και να αξιοποιούν τους πόρους του συστήματος κατά τον καλύτερο δυνατό τρόπο

109 Διαχείριση Διεργασιών (4/5) Εισαγωγή στην Πληροφορκή 109 Το λειτουργικό σύστημα διατηρεί μία δομή δεδομένων για κάθε διεργασία που ονομάζεται ομάδα ελέγχου διεργασίας (process control block, PCB) Η ομάδα ελέγχου διεργασίας διαθέτει όλη την απαραίτητη πληροφορία για τη διεργασία  όπως είναι η κατάσταση της διεργασίας  η κατοχή των πόρων του συστήματος  καθώς και οι τιμές των καταχωρητών της κεντρικής μονάδας επεξεργασίας Εφόσον για κάθε διεργασία υπάρχει και μία ομάδα ελέγχου διεργασίας, σε κάθε φάση εκτέλεσης θα διατηρείται μια λίστα από ομάδες ελέγχου διεργασίας, με πλήθος ίσο με αυτό των ενεργών διεργασιών

110 Διαχείριση Διεργασιών (5/5) Εισαγωγή στην Πληροφορκή 110 Σε μία δεδομένη χρονική στιγμή, μόνο μία διεργασία μπορεί να εκτελείται και να χρησιμοποιεί τον επεξεργαστή και τους άλλους πόρους του συστήματος Οι καταχωρητές, όπως είναι λογικό, περιέχουν τις τιμές που αφορούν τη διεργασία που εκτελείται τη συγκεκριμένη χρονική στιγμή Έτσι, κάθε φορά που μία διεργασία διακόπτεται για να μπει στη φάση εκτέλεσης η επόμενη διεργασία, λαμβάνουν χώρα μία σειρά από ενέργειες που ονομάζονται μεταγωγή περιβάλλοντος (context switching) Συγκεκριμένα, οι τιμές των καταχωρητών της διεργασίας που εκτελείται αποθηκεύονται στην ομάδα ελέγχου της διεργασίας Στη συνέχεια, φορτώνονται στους καταχωρητές οι καινούριες τιμές της διεργασίας που πρόκειται να εκτελεστεί, και ξεκινάει η εκτέλεση της διεργασίας

111 Χρονοδρομολόγηση Κεντρικής Μονάδας Επεξεργασίας (1/2) Εισαγωγή στην Πληροφορκή 111 Σε μία δεδομένη χρονική στιγμή μπορούν πολλές διεργασίες να είναι σε ετοιμότητα, αλλά μόνο μία να εκτελείται Η διαδικασία επιλογής της διεργασίας που θα εκτελεστεί (και θα μετακινηθεί από τη φάση ετοιμότητας στη φάση εκτέλεσης), ονομάζεται χρονοδρομολόγηση της κεντρικής μονάδας επεξεργασίας (CPU scheduling) Η χρονοδρομολόγηση της κεντρικής μονάδας επεξεργασίας χωρίζεται σε δύο μεγάλες κατηγορίες ανάλογα με τον τρόπο με τον οποίο γίνεται η επιλογή της επόμενης προς εκτέλεση διεργασίας:  Προεκτοπιστική χρονοδρομολόγηση  Μη-προεκτοπιστική χρονοδρομολόγηση

112 Χρονοδρομολόγηση Κεντρικής Μονάδας Επεξεργασίας (2/2) Εισαγωγή στην Πληροφορκή 112 Προεκτοπιστική χρονοδρομολόγηση (preemptive scheduling)  Πρόκειται για την περίπτωση που το λειτουργικό σύστημα αποφασίσει να διακόψει την υπό εκτέλεση διεργασία, για να εκτελεστεί μία άλλη διεργασία  Σε αυτήν την περίπτωση η πρώτη διεργασία μετακινείται από τη φάση εκτέλεσης στη φάση ετοιμότητας, προκειμένου να συνεχίσει αργότερα την εκτέλεσή της Μη-προεκτοπιστική χρονοδρομολόγηση (Non- preemptive scheduling)  Σε αυτήν την περίπτωση η διεργασία που εκτελείται αποφασίζει μόνη της να σταματήσει να χρησιμοποιεί την κεντρική μονάδα επεξεργασίας  Αυτό συνήθως συμβαίνει όταν η διεργασία πρέπει να περιμένει είσοδο από κάποιους πόρους του συστήματος, και μεταβαίνει από τη φάση εκτέλεσης στη φάση αναμονής

113 Αλγόριθμοι Χρονοδρομολόγησης (1/5) Εισαγωγή στην Πληροφορκή 113 Υπάρχουν διάφοροι αλγόριθμοι χρονοδρομολόγησης της κεντρικής μονάδας επεξεργασίας (scheduling algorithms) προκειμένου να αποφασισθεί ποια διεργασία θα είναι η επόμενη που θα εκτελεστεί Καθένας από αυτούς αποφασίζει με διαφορετικά κριτήρια, τα οποία κρίνει ως τα πιο σημαντικά για την επιλογή Κάποιοι από τους πιο γνωστούς και δημοφιλείς αλγορίθμους είναι οι εξής:  Με σειρά άφιξης  Επιλογή μικρότερης διεργασίας  Κυκλική επιλογή

114 Αλγόριθμοι Χρονοδρομολόγησης (2/5) Εισαγωγή στην Πληροφορκή 114 Ο αλγόριθμος Με σειρά άφιξης (first-come first-served) εξυπηρετεί της διεργασίες με τη σειρά με την οποία φτάνουν Αν υποθέσουμε ότι όλες οι διεργασίες, που βρίσκονται στη φάση ετοιμότητας, έχουν τοποθετηθεί σε μία σειρά (με κάθε νέα άφιξη να τοποθετείται στο τέλος), τότε ο αλγόριθμος επιλέγει την πρώτη διεργασία κάθε φορά Με άλλα λόγια, δίνει πάντα προτεραιότητα στην πιο παλιά διεργασία (σε αυτήν που περιμένει για περισσότερο χρόνο) Είναι ένας δίκαιος αλγόριθμος, αφού εξυπηρετεί διατηρώντας την προτεραιότητα της κάθε διεργασίας  όμως μπορεί να κάνει μικρές διεργασίες (που χρειάζονται ελάχιστο χρόνο για να εκτελεστούν) να περιμένουν για πολλή ώρα Ο αλγόριθμος αυτός ανήκει στην κατηγορία της Μη- προεκτοπιστικής χρονοδρομολόγησης.

115 Αλγόριθμοι Χρονοδρομολόγησης (3/5) Εισαγωγή στην Πληροφορκή 115 Η Επιλογή μικρότερης διεργασίας (shortest job next) είναι ο αλγόριθμος που επιλέγει τη διεργασία με το λιγότερο χρόνο εκτέλεσης Το λειτουργικό σύστημα, γνωρίζοντας τον τύπο της κάθε διεργασίας, μπορεί να εκτιμήσει πόσο χρόνο θα πάρει η εκτέλεση της κάθε διεργασίας Αυτός ο αλγόριθμος δίνει προτεραιότητα στις μικρές διεργασίες προκειμένου να εκτελεστούν γρήγορα, χωρίς να χρειάζεται να περιμένουν άλλες πιο χρονοβόρες διεργασίες Έχει το πλεονέκτημα ότι διεκπεραιώνει περισσότερες διεργασίες σε λιγότερο χρόνο  όμως το κύριο μειονέκτημά του είναι ότι οι μεγάλες διεργασίες μπορεί να περιμένουν για πολύ μεγάλο χρονικό διάστημα μέχρι να τους δοθεί ο έλεγχος της κεντρικής μονάδας επεξεργασίας Ο αλγόριθμος αυτός ανήκει στην κατηγορία της Μη- προεκτοπιστικής χρονοδρομολόγησης

116 Αλγόριθμοι Χρονοδρομολόγησης (4/5) Εισαγωγή στην Πληροφορκή 116 Τέλος, ο αλγόριθμος της Κυκλικής επιλογής (round robin) διανέμει τον ίδιο χρόνο σε όλες τις διεργασίες, οι οποίες εκτελούνται κυκλικά μέχρι να ολοκληρωθούν Συγκεκριμένα, επιλέγει αρχικά το χρόνο που θα δοθεί σε κάθε διεργασία Στη συνέχεια, και έχοντας τοποθετηθεί όλες οι διεργασίες σε μία σειρά, επιλέγεται η πρώτη διεργασία και αρχίζει να εκτελείται για τον καθορισμένο χρόνο Μόλις αυτός ο χρόνος παρέλθει, η διεργασία μεταβαίνει από τη φάση εκτέλεσης στη φάση ετοιμότητας και τοποθετείται στο τέλος της σειράς Η επόμενη διεργασία επιλέγεται, η οποία μεταχειρίζεται με τον ίδιο ακριβώς τρόπο Όταν φυσικά μία διεργασία ολοκληρωθεί απομακρύνεται από τη σειρά των διεργασιών

117 Αλγόριθμοι Χρονοδρομολόγησης (5/5) Εισαγωγή στην Πληροφορκή 117 Ο αλγόριθμος αυτός έχει το πλεονέκτημα ότι είναι δίκαιος, αφού διατηρεί μία σειρά εκτέλεσης, και παράλληλα, δίνει σε όλες τις διεργασίες την ευκαιρία να εκτελεστούν Δηλαδή, τόσο οι μικρές διεργασίες δεν είναι υποχρεωμένες να περιμένουν να ολοκληρωθεί η εκτέλεση μεγάλων διεργασιών που ενδεχομένως προηγούνται, όσο και οι μεγάλες διεργασίες δεν περιμένουν επ’ αόριστον τις μικρές διεργασίες να ολοκληρωθούν Η επιβάρυνση αυτού του αλγορίθμου είναι η πολυπλοκότητα υλοποίησης σε σχέση με την απλότητα των δύο προηγούμενων αλγορίθμων Ο αλγόριθμος αυτός ανήκει στην κατηγορία της Προεκτοπιστικής χρονοδρομολόγησης

118 Παράδειγμα Εισαγωγή στην Πληροφορκή 118 Έστω 5 διεργασίες οι οποίες βρίσκονται σε φάση ετοιμότητας. Η σειρά άφιξής τους είναι p1  p2  p3  p4  p5 Οι χρόνοι εξυπηρέτησης για κάθε μία δίνονται στον πίνακα: Εξυπηρέτηση των διεργασιών με βάση τον αλγόριθμο Με σειρά άφιξης: Διεργασία Χρόνος Εξυπηρέτησης p1140 p275 p3320 p4280 p5125 Εξυπηρέτηση των διεργασιών με βάση τον αλγόριθμο Επιλογή μικρότερης διεργασίας: Εξυπηρέτηση των διεργασιών με βάση τον αλγόριθμο Κυκλικής επιλογής: Χρόνος εκτέλεσης διεργασίας ανά κύκλο: 50 χρονικές μονάδες

119 Σύστημα Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 119 Η κύρια μνήμη είναι η μνήμη που διατηρεί τα προγράμματα που εκτελούνται και τα δεδομένα τους  Όλες οι πληροφορίες αποθηκεύονται προσωρινά και χάνονται όταν σταματήσει η παροχή ηλεκτρικού ρεύματος Σε αντίθεση, η δευτερεύουσα μνήμη διατηρεί τις πληροφορίες ακόμα και μετά τη διακοπή του ηλεκτρικού ρεύματος  Επίσης, έχει τη δυνατότητα αποθήκευσης μεγάλου όγκου δεδομένων  Έτσι, η δευτερεύουσα μνήμη είναι αυτή που χρησιμοποιείται για τη μόνιμη αποθήκευση των δεδομένων μας, με επικρατέστερη συσκευή τον σκληρό δίσκο Τα δεδομένα και οι πληροφορίες μας αποθηκεύονται σε δίσκους οργανωμένες σε μονάδες που ονομάζονται αρχεία Το αρχείο (file) είναι μία συλλογή δεδομένων που σχετίζονται μεταξύ τους Πρόκειται για έναν μηχανισμό που χρησιμοποιούμε για να οργανώσουμε τα δεδομένα μας στη δευτερεύουσα μνήμη  Καθώς όλες οι πληροφορίες βρίσκονται μέσα σε αρχεία, η οργάνωσή τους επιτυγχάνει έναν ομοιόμορφο τρόπο παρουσίασης  Κάθε αρχείο έχει ένα μοναδικό όνομα που το διακρίνει από τα υπόλοιπα

120 Σύστημα Αρχείων (2/2) Εισαγωγή στην Πληροφορκή 120 Η διαχείριση των αρχείων γίνεται από το λειτουργικό σύστημα Το τμήμα αυτό του λειτουργικού συστήματος, που ασχολείται με τα αρχεία, ονομάζεται σύστημα αρχείων (file system) Το σύστημα αρχείων ταξινομεί την πληροφορία σε ένα σύνολο αρχείων Τα αρχεία αυτά οργανώνονται και ομαδοποιούνται σε κατηγορίες και υποκατηγορίες που ονομάζονται κατάλογοι (directories)

121 Αρχεία κειμένου, ψηφιακά και δεδομένων (1/3) Εισαγωγή στην Πληροφορκή 121 Τα αρχεία είναι ένας μηχανισμός που χρησιμοποιούμε για να αποθηκεύουμε πληροφορίες στο δίσκο Τα αρχεία αυτά ανάλογα με τα δεδομένα που διατηρούν μπορούν να διακριθούν σε διάφορες κατηγορίες  Ένα αρχείο κειμένου (text file) περιέχει δεδομένα σε bytes, τα οποία αποτελούν χαρακτήρες του πίνακα χαρακτήρων ASCII ή Unicode  Οι πίνακες αυτοί χαρακτήρων κωδικοποιούν τους χαρακτήρες (ή κάποιες ειδικές μορφές χαρακτήρων) ως μία ακολουθία από bits (8 bits αντιστοιχούν σε ένα χαρακτήρα ASCII και 16 bits σε ένα χαρακτήρα Unicode)  Μπορούμε να χρησιμοποιήσουμε έναν συντάκτη κειμένου για να δημιουργήσουμε, να δούμε ή να επεξεργαστούμε τα περιεχόμενα ενός τέτοιου αρχείου

122 Αρχεία κειμένου, ψηφιακά και δεδομένων (2/3) Εισαγωγή στην Πληροφορκή 122 …  Ένα ψηφιακό/δυαδικό αρχείο (binary file) περιέχει δεδομένα σε ειδική μορφή  Η αποκωδικοποίηση και ερμηνεία των bits του δε γίνεται βάση κάποιου γνωστού πίνακα, όπως συμβαίνει με τα αρχεία κειμένου, αλλά βάση κανόνων που ορίζονται μέσα στο ίδιο το αρχείο  Καθώς αυτά τα αρχεία έχουν ειδική εσωτερική μορφή, έχουν κατασκευαστεί ειδικά προγράμματα για την ανάγνωση, προβολή και επεξεργασία τους  Συγκεκριμένα, μπορούμε να έχουμε πολλούς διαφορετικούς τύπους τέτοιων αρχείων, επομένως και τα αντίστοιχα προγράμματα για καθέναν από αυτούς  Π.χ. μία εικόνα μπορεί να αποθηκευτεί με διάφορες μορφές, όπως JPEG, GIF, TIFF  Ένα συγκεκριμένο πρόγραμμα μπορεί να ανοίξει μία εικόνα JPEG, αλλά όχι απαραίτητα και μία εικόνα TIFF

123 Αρχεία κειμένου, ψηφιακά και δεδομένων (3/3) Εισαγωγή στην Πληροφορκή 123 Τόσο στα αρχεία κειμένου, όσο και στα ψηφιακά/δυαδικά αρχεία όλα τα δεδομένα αποθηκεύονται προφανώς σε ψηφιακή μορφή  ως δυαδικά ψηφία μηδέν και ένα Ο παραπάνω διαχωρισμός των αρχείων αναφέρεται στην ερμηνεία των bits, τα οποία μπορούν να ερμηνευτούν ως χαρακτήρες (αρχεία κειμένου) ή με κάποια άλλη ειδική μορφή (ψηφιακά/δυαδικά αρχεία) Επίσης, κάποια αρχεία μπορεί να «μοιάζουν» με αρχεία κειμένου, αλλά στην πραγματικότητα δεν είναι  Π.χ. τα προγράμματα επεξεργασίας κειμένου που επιτρέπουν πέρα από την αποθήκευση των χαρακτήρων διάφορες μορφοποιήσεις, όπως χρώματα, στυλ γραφικά και πλαίσια, αποθηκεύουν τις πληροφορίες ως δυαδικά/ψηφιακά αρχεία και όχι ως αρχεία κειμένου  Αυτό είναι απαραίτητο για την αποθήκευση όλων των επιπρόσθετων πληροφοριών που μπορεί να περιέχει το αρχείο πέραν των χαρακτήρων

124 Τύποι Αρχείων (1/4) Εισαγωγή στην Πληροφορκή 124 Τα περισσότερα λειτουργικά συστήματα υποστηρίζουν διάφορους τύπους αρχείων Ο τύπος αρχείου (file type) δηλώνει το είδος της πληροφορίας που περιέχει το αρχείο Κάθε αρχείο, είτε κειμένου, είτε ψηφιακό περιέχει ένα συγκεκριμένο, ειδικό τύπο πληροφορίας  Π.χ. μία εικόνα αποθηκευμένη σε μορφή JIF ή ένα μουσικό κομμάτι αποθηκευμένο σε μορφή mp3 Κάθε αρχείο συνοδεύεται από ένα μοναδικό όνομα Το όνομα αυτό αποτελείται από δύο μέρη τα οποία διαχωρίζονται από μία τελεία  Το πρώτο μέρος (αριστερά) είναι το κυρίως όνομα, δηλαδή το όνομα που καθορίζει ο χρήστης κατά την αποθήκευση του αρχείου  Το δεύτερο μέρος (δεξιά) είναι η κατάληξη ή προέκταση του αρχείου (file extension) και δίνει κάποιες πληροφορίες για το αρχείο, όπως ο τύπος του

125 Τύποι Αρχείων (2/4) Εισαγωγή στην Πληροφορκή 125 Τύπος ΑρχείουΚατάληξη Απλά αρχεία κειμένουtxt Αρχεία κειμένου με μορφοποίησηmp3, mp4, wav Μουσικά αρχείαjpeg, gif, jpg, tiff Αρχεία εικόνωνdoc, docx, wp3 Αρχεία πηγαίου κώδικα (προγράμματα)java, c, cpp Ο τύπος του αρχείου επιτρέπει στο λειτουργικό σύστημα να λειτουργεί πάνω στο αρχείο με τέτοιο τρόπο που να έχει νόημα για το αρχείο Το λειτουργικό σύστημα από την πλευρά του, διατηρεί μία λίστα από τους διάφορους τύπους αρχείων που μπορεί να αναγνωρίσει και συσχετίζει καθέναν από αυτούς με ένα κατάλληλο πρόγραμμα εφαρμογής, το οποίο μπορεί να «ανοίξει» το αρχείο

126 Τύποι Αρχείων (3/4) Εισαγωγή στην Πληροφορκή 126 Συνήθως, μπορούν να υπάρξουν περισσότερα από ένα προγράμματα που μπορούν να εκτελέσουν έναν τύπο αρχείου Το αρχείο φορτώνεται πάντα με το προεπιλεγμένο πρόγραμμα που έχει οριστεί για μία συγκεκριμένη κατάληξη, εκτός και αν ο χρήστης ζητήσει κάτι διαφορετικό Επίσης, ένα συγκεκριμένο εικονίδιο συσχετίζεται με έναν τύπο αρχείου και το πρόγραμμα εφαρμογής του  Όταν κάνουμε διπλό κλικ στο εικονίδιο αυτό, ξεκινάει το πρόγραμμα εφαρμογής που έχει συσχετιστεί με το αρχείο, το οποίο στη συνέχεια φορτώνει και το ίδιο το αρχείο

127 Τύποι Αρχείων (4/4) Εισαγωγή στην Πληροφορκή 127 Ένα αρχείο μπορούμε να του δώσουμε οποιοδήποτε όνομα θέλουμε, με όποια κατάληξη επιθυμούμε  Αν αλλάξουμε την κατάληξη του αρχείου δεν αλλάζουν ούτε τα δεδομένα που υπάρχουν μέσα στο αρχείο, ούτε και η ειδική μορφή του αρχείου  Αυτό σημαίνει ότι αν προσπαθήσουμε να ανοίξουμε το αρχείο με λανθασμένη κατάληξη, δηλαδή διαφορετική από αυτήν που αντιστοιχεί στην ειδική μορφή του συγκεκριμένου αρχείου, το πρόγραμμα θα μας εμφανίσει μηνύματα λάθους Τα αρχεία δεδομένων περιέχουν πληροφορία που αποτελείται από εγγραφές του ίδιου τύπου Η εγγραφή (record) είναι ένα σύνολο από πεδία που συνδέονται μεταξύ τους λογικά Το πεδίο (field) είναι ένα σύνολο από χαρακτήρες που παριστάνει μία λέξη, ένα σύνολο από λέξεις ή έναν αριθμό Παρακάτω βλέπουμε ένα παράδειγμα μιας εγγραφής που αποτελείται από πέντε πεδία  Το πρώτο πεδίο μιας εγγραφής είναι το κλειδί (key), το οποίο είναι ένα συγκεκριμένο, απαραίτητο πεδίο που χαρακτηρίζει μοναδικά την εγγραφή Πεδίο 1Πεδίο 2Πεδίο 3Πεδίο 4Πεδίο 5 CW-9483ΓιώργοςΤΕΙ ΚρήτηςΘεσσαλονίκη4543

128 Λειτουργίες των Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 128 Τα αρχεία χρησιμοποιούνται για την αποθήκευση πληροφοριών και την ανάκτησή τους σε κάποια μελλοντική στιγμή Οι βασικότερες λειτουργίες που μπορούν να επιτελεστούν σε ένα αρχείο είναι οι εξής:  Δημιουργία αρχείου (Create)  Διαγραφή αρχείου (Delete)  Άνοιγμα αρχείου (Open)  Κλείσιμο αρχείου (Close)  Διάβασμα δεδομένων (Read)  Εγγραφή δεδομένων (Write)  Εγγραφή δεδομένων στο τέλος του αρχείου (Append)  Μετονομασία αρχείου (Rename)  Αντιγραφή αρχείου (Copy)

129 Λειτουργίες των Αρχείων (2/2) Εισαγωγή στην Πληροφορκή 129 Όσον αφορά τα αρχεία βάσεων δεδομένων, οι κυριότερες λειτουργίες που σχετίζονται με αυτά είναι οι εξής:  Ανάκτηση (retrieval) εγγραφών: Πρόκειται για τη λήψη των περιεχομένων μιας εγγραφής, χωρίς να γίνει καμία μεταβολή στην εγγραφή  Ενημέρωση (updating) εγγραφών: Αφορά κάθε λειτουργία που επιφέρει αλλαγές στα περιεχόμενα ή στην ίδια την εγγραφή (όπως είναι η προσθήκη ή η διαγραφή μιας εγγραφής ή η αλλαγή σε κάποιο από τα πεδία της)  Ταξινόμηση (sorting) εγγραφών: Πρόκειται για μια λειτουργία όπου οι εγγραφές ενός αρχείου ταξινομούνται κατά αύξουσα ή φθίνουσα σειρά, ανάλογα με την τιμή ενός πεδίου ή συνδυασμού αυτών

130 Ιεραρχία ή δένδρο Καταλόγων (1/3) Εισαγωγή στην Πληροφορκή 130 Για την καλύτερη οργάνωση των αρχείων μας, αυτά ταξινομούνται σε καταλόγους Ένας κατάλογος (directory) είναι μια δομή που ομαδοποιεί ένα σύνολο αρχείων Μπορεί να περιέχει αρχεία ή άλλους καταλόγους (οποιουδήποτε πλήθους) Έτσι, δημιουργείται μία ιεραρχική δομή μεταξύ των καταλόγων του συστήματος, η οποία αναπαριστά την οργάνωση των εμφωλευμένων καταλόγων ενός συστήματος αρχείων Η δομή αυτή ονομάζεται ιεραρχία ή δένδρο καταλόγων (directory tree) Ο κατάλογος που βρίσκεται στο πιο υψηλό επίπεδο είναι μοναδικός κα ονομάζεται κατάλογος ρίζα (root directory) Μεταξύ δύο καταλόγων που ο ένας βρίσκεται μέσα στον άλλον, ο κατάλογος που περιέχει τον άλλον κατάλογο ονομάζεται πατρικός κατάλογος (parent directory), ενώ αυτός που εμπεριέχεται στον πρώτο ονομάζεται υποκατάλογος (subdirectory)

131 Ιεραρχία ή δένδρο Καταλόγων (2/3) Εισαγωγή στην Πληροφορκή 131 Σε μία δεδομένη χρονική στιγμή, ο χρήστης έχει τη δυνατότητα να χειρίζεται ένα συγκεκριμένο κατάλογο Ο κατάλογος αυτός ονομάζεται κατάλογος εργασίας (working directory) Προκειμένου να μπορούμε να βρίσκουμε τα αρχεία και τους καταλόγους που επιθυμούμε κάθε φορά, χρειάζεται να δηλώσουμε την ακριβή τοποθεσία αυτών Αυτό επιτυγχάνεται περιγράφοντας τη διαδρομή (path)  δηλαδή τη σειρά των καταλόγων που πρέπει να ανοίξουμε για να φτάσουμε στο επιθυμητό αρχείο ή κατάλογο Υπάρχουν δύο διαφορετικοί τρόποι που μπορούμε να χρησιμοποιήσουμε:  απόλυτη διαδρομή (absolute path)  σχετική διαδρομή (relative path)

132 Ιεραρχία ή δένδρο Καταλόγων (3/3) Εισαγωγή στην Πληροφορκή 132 Η απόλυτη διαδρομή (absolute path) είναι η διαδρομή που ξεκινάει από το βασικό κατάλογο (δηλαδή τη ρίζα) και φτάνει μέχρι το αρχείο ή κατάλογο που αναζητούμε  Π.χ. η διαδρομή C:\Program Files\Outlook Express (ή ισοδύναμα \Program Files\Outlook Express) σημαίνει ότι ο βασικός κατάλογος περιέχει τον υποκατάλογο Program Files, ο οποίος με τη σειρά του περιέχει τον υποκατάλογο Outlook Express Η σχετική διαδρομή (relative path) είναι αυτή όπου τα ονόματα των διαδρομών δεν ξεκινούν από τον βασικό κατάλογο, αλλά προσδιορίζονται σε σχέση με τον κατάλογο εργασίας  Π.χ. αν εργαζόμαστε στο Desktop (δηλαδή ο κατάλογος εργασίας είναι ο C:\Documents and Settings\user\Desktop), το αρχείο με απόλυτη διαδρομή C:\Documents and Settings\user\Desktop\mySchedule.txt μπορεί να προσδιοριστεί απλούστατα ως mySchedule.txt

133 Δέντρο Καταλόγων του Windows Εισαγωγή στην Πληροφορκή 133

134 Δέντρο Καταλόγων του UNIX Εισαγωγή στην Πληροφορκή 134

135 Φυσική Αποθήκευση Αρχείων (1/3) Εισαγωγή στην Πληροφορκή 135 Τα αρχεία αποθηκεύονται συνήθως στο σκληρό δίσκο, επομένως η διαχείριση του χώρου του δίσκου και η αποθήκευση των αρχείων με αποδοτικό τρόπο είναι ένα εξαιρετικά σημαντικό θέμα Παρόλο που εμείς έχουμε την αίσθηση ότι το κάθε αρχείο είναι αποθηκευμένο στο δίσκο σε συνεχείς θέσεις μνήμης, αυτό δεν συμβαίνει τις περισσότερες φορές Στην πραγματικότητα, οι εγγραφές των αρχείων καταλαμβάνουν διάφορες περιοχές του δίσκου, οι οποίες συχνά απέχουν αρκετά μεταξύ τους Συγκεκριμένα, η αποθήκευση ξεκινά με τις εγγραφές να αποθηκεύονται στις θέσεις ενός τομέα (sector) και μόλις αυτός συμπληρωθεί, οι επόμενες εγγραφές παίρνουν θέσεις και αποθηκεύονται στον επόμενο διαθέσιμο τομέα Όταν συμπληρωθεί η περιοχή ενός ίχνους (track), συνεχίζουμε στον τομέα του επόμενου ίχνους με τον ίδιο ακριβώς τρόπο Επομένως, αρκετά συχνά ένα αρχείο δεδομένων μπορεί να είναι αποθηκευμένο σε διάσπαρτες θέσεις στο δίσκο

136 Φυσική Αποθήκευση Αρχείων (2/3) Εισαγωγή στην Πληροφορκή 136 Το λειτουργικό σύστημα είναι υπεύθυνο για την ψευδαίσθηση που δημιουργείται στο χρήστη (και τις εφαρμογές) ότι το αρχείο βρίσκεται σε συνεχόμενες θέσης στη μνήμη Αυτό είναι και ένα χαρακτηριστικό παράδειγμα αφαιρετικότητας (abstraction), δηλαδή απομόνωσης των τεχνικών υλοποίησης και απλοποίησης της εικόνας του προβλήματος

137 Φυσική Αποθήκευση Αρχείων (3/3) Εισαγωγή στην Πληροφορκή 137 Record 1 Record 2 Record 3 Record 4 τομέας (block) ίχνος (track)

138 Χρονοδρομολόγηση Δίσκου Εισαγωγή στην Πληροφορκή 138 Καθώς πολλά προγράμματα μπορούν να τρέχουν ταυτόχρονα σε έναν υπολογιστή, μπορούν να δημιουργηθούν πολλές αιτήσεις προσπέλασης δίσκου Έτσι, δημιουργείται η ανάγκη για έναν αποδοτικό τρόπο προσπέλασης των αρχείων μας Θυμηθείτε ότι ο χρόνος προσπέλασης του δίσκου εξαρτάται από τρεις παράγοντες:  το χρόνο αναζήτησης  την καθυστέρηση περιστροφής  τον χρόνο μεταφοράς των δεδομένων Η τεχνική που χρησιμοποιείται από το λειτουργικό σύστημα για την επιλογή και εξυπηρέτηση αιτημάτων προσπέλασης ονομάζεται χρονοδρομολόγηση δίσκου (disk scheduling)

139 Αλγόριθμοι Χρονοδρομολόγησης Δίσκου Εισαγωγή στην Πληροφορκή 139 Χρονοδρομολόγηση με σειρά άφιξης (First-Come First Served disk scheduling, FCFS)  Σε αυτόν τον αλγόριθμο τα αιτήματα εξυπηρετούνται με τη σειρά που φτάνουν, ανεξάρτητα με το που βρίσκονται οι κεφαλές του δίσκου Χρονοδρομολόγηση με το μικρότερο χρόνο ανίχνευσης (Shortest-Seek Time-First disk scheduling, SSTF)  Σε αυτόν εξυπηρετείται πάντα πρώτα το αίτημα που απαιτεί τη λιγότερη κίνηση των κεφαλών του δίσκου Χρονοδρομολόγηση με σάρωση δίσκου (SCAN disk scheduling)  Σε αυτόν οι κεφαλές του δίσκου κινούνται προς και μακριά από τον άξονα καθώς ο δίσκος περιστρέφεται συνεχώς προς μία κατεύθυνση  Μόλις ένα από τα τμήματα που έχουν ζητηθεί για προσπέλαση βρεθεί κάτω από την κεφαλή, τότε αυτή το διαβάζει

140 Άσκηση Εισαγωγή στην Πληροφορκή 140 Έστω ένας δίσκος με 100 κυλίνδρους Σε μία δεδομένη χρονική στιγμή έχουν δημιουργηθεί τα παρακάτω αιτήματα κυλίνδρων με αυτή τη σειρά:  49, 91, 22, 61, 7, 62, 33, 35 Επίσης, υποθέστε ότι οι κεφαλές ανάγνωσης/εγγραφής του δίσκου βρίσκονται εκείνη τη στιγμή στον κύλινδρο 26 και κινούνται εσωτερικά προς τον άξονα  δηλαδή προς τις χαμηλότερες τιμές κυλίνδρων Δώστε τη σειρά με την οποία θα εξυπηρετηθούν τα αιτήματα για καθέναν από τους τρεις αλγορίθμους χρονοδρομολόγησης δίσκου

141 Απάντηση (1/2) Εισαγωγή στην Πληροφορκή 141 Χρονοδρομολόγηση με σειρά άφιξης:  Τα αιτήματα εξυπηρετούνται με τη σειρά που φτάνουν, επομένως:  49, 91, 22, 61, 7, 62, 33, 35 Χρονοδρομολόγηση με το μικρότερο χρόνο ανίχνευσης:  Από τον κύλινδρο 26 που βρισκόμαστε αρχικά, το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 22.  Από τον κύλινδρο 22 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 33.  Από τον κύλινδρο 33 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 35.  Από τον κύλινδρο 35 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 49.  Από τον κύλινδρο 49 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 61.  Από τον κύλινδρο 61 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 62.  Από τον κύλινδρο 62 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 91.  Από τον κύλινδρο 91 το πιο κοντινό αίτημα είναι αυτό στον κύλινδρο 7.  Άρα, τα αιτήματα θα εξυπηρετηθούν ως εξής: 22, 33, 35, 49, 61, 62, 91, 7.

142 Απάντηση (2/2) Εισαγωγή στην Πληροφορκή 142 Χρονοδρομολόγηση με σάρωση δίσκου:  Από τον κύλινδρο 26 που βρισκόμαστε αρχικά και κινούμαστε προς τον άξονα, ο πρώτος κύλινδρος που θα συναντήσουμε είναι ο 22 και ο επόμενος ο 7  Στη συνέχεια, και αφού φτάσει μέχρι τον πρώτο κύλινδρο, η κεφαλή θα αρχίσει να κινείται προς τα έξω  Οι άξονες που θα συναντήσει με τη σειρά είναι: 33, 35, 49, 61, 62, 91  Άρα, τα αιτήματα θα εξυπηρετηθούν ως εξής:  22, 7, 33, 35, 49, 61, 62, 91

143 Προσπέλαση Αρχείου (1/2) Εισαγωγή στην Πληροφορκή 143 Το λειτουργικό σύστημα για τη διαχείριση των αρχείων, τόσο την αποθήκευση νέων όσο και την προσπέλαση υπαρχόντων αρχείων, διατηρεί διάφορες σημαντικές πληροφορίες Κατ’ αρχήν, διατηρεί έναν πίνακα που δείχνει ποιοι τομείς (sectors) της δευτερεύουσας μνήμης είναι ελεύθεροι, προκειμένου να έχει άμεση εποπτεία και γνώση του διαθέσιμου χώρου Επίσης, όσον αφορά τα δεσμευμένα κομμάτια της μνήμης, για κάθε κατάλογο διατηρεί έναν πίνακα, ο οποίος περιέχει πληροφορίες σχετικά με τα αρχεία σε αυτόν τον κατάλογο Όταν ένα αρχείο βρίσκεται υπό επεξεργασία, τότε χρησιμοποιείται ένας υφιστάμενος δείκτης αρχείου (current file pointer), ο οποίος δείχνει τη θέση όπου θα συμβεί η επόμενη λειτουργία ανάγνωσης ή εγγραφής  Αυτός ο δείκτης ανανεώνεται μετά από κάθε ανάγνωση/εγγραφή, έτσι ώστε να περιέχει τη νέα, σωστή θέση της επόμενης ανάγνωσης/εγγραφής

144 Προσπέλαση Αρχείου (2/2) Εισαγωγή στην Πληροφορκή 144 Η προσπέλαση ενός αρχείου αφορά τον τρόπο με τον οποίο θα ανακτήσουμε τις πληροφορίες του Υπάρχουν διάφορες τεχνικές προσπέλασης οι οποίες πρακτικά ορίζουν τους τρόπους με τους οποίους ο υφιστάμενος δείκτης αρχείου μπορεί να επανατοποθετηθεί Οι δύο κυριότερες τέτοιες τεχνικές είναι οι εξής:  σειριακή προσπέλαση  άμεση προσπέλαση Κάποια λειτουργικά συστήματα παρέχουν μόνο έναν τύπο προσπέλασης αρχείου, ενώ κάποια άλλα παρέχουν επιλογή  Ο τύπος προσπέλασης αρχείου που είναι διαθέσιμος καθορίζεται κατά τη δημιουργία του αρχείου

145 Σειριακή προσπέλαση Εισαγωγή στην Πληροφορκή 145 Η σειριακή προσπέλαση (sequential access) αποτελεί την πιο συνηθισμένη και την πιο εύκολη προς υλοποίηση τεχνική  Σε αυτήν τα δεδομένα του αρχείου επεξεργάζονται με την ίδια σειρά με την οποία αποθηκεύονται  Οι λειτουργίες ανάγνωσης/εγγραφής μετακινούν τον υφιστάμενο δείκτη αρχείου τόσο όσο απαιτείται για να διαβάσουμε/γράψουμε δεδομένα  Το μειονέκτημα αυτής της τεχνικής είναι ότι για να διαβάσουμε ένα συγκεκριμένο κομμάτι του αρχείου μας πρέπει πρώτα να διαβάσουμε με τη σειρά όλα τα προηγούμενα κομμάτια, μέχρι να φτάσουμε στην επιθυμητή θέση

146 Άμεση προσπέλαση Εισαγωγή στην Πληροφορκή 146 Η άμεση προσπέλαση (direct access) είναι αυτή που επιτρέπει στο χρήστη να έχει άμεση πρόσβαση σε οποιαδήποτε θέση, χωρίς να απαιτείται ανάγνωση όλων των προηγούμενων κομματιών του αρχείου  Αυτό επιτυγχάνεται με την διαίρεση του αρχείου σε μικρά λογικά αριθμημένα τμήματα-εγγραφές (records)  Χρησιμοποιώντας τον αριθμό του επιθυμητού τμήματος μπορούμε να αποκτήσουμε άμεση πρόσβαση σε αυτό  Η τεχνική της άμεσης προσπέλασης είναι πιο πολύπλοκη ως προς την υλοποίησή της, όμως δίνει τη δυνατότητα γρήγορης προσπέλασης σε περιπτώσεις που απαιτείται ταχύτητα, όπως είναι οι βάσεις δεδομένων, ανεξάρτητα από το μέγεθος του αρχείου

147 Σειριακή και Άμεση προσπέλαση Εισαγωγή στην Πληροφορκή 147 Αρχείο Αρχή Τέλος Υφιστάμενος Δείκτης Αρχείου (Current File Pointer) Ανάγνωση ή Εγγραφή Αρχείο Αρχή Τέλος Υφιστάμενος Δείκτης Αρχείου (Current File Pointer) Μετακίνηση σε μία εγγραφή και έπειτα Ανάγνωση ή Εγγραφή

148 Προστασία Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 148 Σε ένα σύστημα πολλαπλών χρηστών η προστασία των αρχείων είναι ένα πολύ σημαντικό ζήτημα Τα αρχεία ενός χρήστη πρέπει να προστατεύονται από παρεμβάσεις άλλων χρηστών (δηλαδή ένας χρήστης δεν θα πρέπει να μπορεί να διαβάζει ή να επεξεργάζεται τα αρχεία ενός άλλου χρήστη)  εκτός και αν ο κάτοχος (δημιουργός του αρχείου) το επιτρέπει Γι’ αυτό το λόγο έχει αναπτυχθεί ένας μηχανισμός προστασίας των αρχείων  ο οποίος ελέγχει ποιος χρήστης θα έχει πρόσβαση σε ένα αρχείο και για ποιο σκοπό

149 Προστασία Αρχείων (1/2) Εισαγωγή στην Πληροφορκή 149 Στο λειτουργικό σύστημα Unix η προστασία ορίζεται αυτόματα σε τρεις κατηγορίες, όπου για κάθε μία μπορούν να οριστούν διαφορετικά δικαιώματα:  Δημιουργός (Owner)  είναι ο δημιουργός του αρχείου, π.χ. student1  Ομάδα (Group)  είναι μία λίστα χρηστών, π.χ. epp_006  Υπόλοιποι (World)  είναι όλοι οι χρήστες που έχουν πρόσβαση στο σύστημα, π.χ. epp ΔικαιώματαΑνάγνωσηΕγγραφή/ΔιαγραφήΕκτέλεση ΔημιουργόςΝαι Όχι ΟμάδαΝαιΌχι ΥπόλοιποιΌχι

150 Τύποι Ιατρικών Δεδομένων (1/2) Εισαγωγή στην Πληροφορκή 150 Η τηλεϊατρική εμπεριέχει ένα σύνολο πρακτικών που στοχεύουν στην καλύτερη φροντίδα υγείας και περιλαμβάνει διαφορετικές τεχνολογίες και εφαρμογές Μπορεί να χαρακτηριστεί από:  τον τύπο των δεδομένων που στέλνονται  π.χ. εξετάσεις εικόνων, κλινικές εξετάσεις, κλπ  και από τα χρησιμοποιούμενα μέσα για τη μετάδοσή τους Πολλές από τις περιοχές της ιατρικής έχουν πιθανές τηλεϊατρικές εφαρμογές

151 Τύποι Ιατρικών Δεδομένων (1/2) Εισαγωγή στην Πληροφορκή 151 Η τηλεϊατρική μπορεί να φανεί χρήσιμη σε περιπτώσεις στις οποίες φυσικά εμπόδια εμποδίζουν την άμεση μεταφορά πληροφορίας μεταξύ των ασθενών και των παρεχόντων την ιατρική φροντίδα Η διαθεσιμότητα της πληροφορίας είναι το κλειδί για την κατάλληλη (ιατρική) διαχείριση του περιστατικού Οι τηλεϊατρικές υπηρεσίες μπορούν να καταταχθούν σε τρεις βασικούς τύπους, ανάλογα με τον τύπο των δεδομένων που μεταφέρεται  Δεδομένα  Ήχο  Εικόνες Μέσα σε αυτούς τους βασικούς τύπους, υπάρχουν αντίστοιχες διαβαθμίσεις

152 Δεδομένα Εισαγωγή στην Πληροφορκή 152 Ένα από τα χαρακτηριστικά ορισμένων εφαρμογών τηλεϊατρικής είναι η μετάδοση δεδομένων:  Στατικών  όπως για παράδειγμα ο ιατρικός φάκελος ενός ασθενή  Δυναμικών  όπως η μεταφορά ζωτικών σημείων (καρδιακοί χτύποι, αρτηριακή πίεση, κλπ.) Η μεταφορά των δεδομένων εντάσσεται σε δύο διαφορετικές εφαρμογές:  τις εφαρμογές τηλεμετρίας  τις υπηρεσίες πληροφόρησης

153 Τηλεμετρία Εισαγωγή στην Πληροφορκή 153 Η τηλεμετρία παρέχει τη δυνατότητα παρακολούθησης των φυσιολογικών λειτουργιών των ασθενών από ένα απομακρυσμένο σημείο Ένα από τα πρώτα πειράματα τηλεμετρίας διεξήχθη από τη NASA, όταν ιατροί στο κέντρο ελέγχου της παρακολουθούσαν τις φυσιολογικές λειτουργίες των αστροναυτών, όταν αυτοί βρίσκονταν στο διάστημα

154 Υπηρεσίες Πληροφόρησης (1/3) Εισαγωγή στην Πληροφορκή 154 Πολλά νοσοκομεία και ιδιώτες ιατροί  ανταλλάσσουν πληροφορία  όπως αρχεία που αφορούν την εξέλιξη της υγείας των ασθενών και των χρησιμοποιούμενων διαγνωστικών μεθόδων  προσπελαύνουν ηλεκτρονικούς πίνακες ανακοινώσεων για τις τελευταίες εξελίξεις στην επιστήμη τους  και μεταδίδουν φακέλους ασθενών, παραπεμπτικά σημειώματα και αποτελέσματα εργαστηριακών εξετάσεων μεταξύ εξωτερικών ιατρών και νοσηλευτικών ιδρυμάτων

155 Υπηρεσίες Πληροφόρησης (2/3) Εισαγωγή στην Πληροφορκή 155 Πολλά νοσηλευτικά ιδρύματα παγκοσμίως χρησιμοποιούν υπολογιστικά συστήματα σε καθημερινή βάση  στα οποία διατηρούν αποθηκευμένους τους φακέλους των ασθενών τους σε ηλεκτρονικές βάσεις δεδομένων, επιτρέποντας έτσι στους ιατρούς να ανακτούν άμεσα πληροφορίες για τους ασθενείς τους Η τηλεϊατρική μπορεί να χρησιμοποιηθεί για την ενημέρωση των αρχείων αυτών, καθώς ιατροί εκτός του χώρου εργασίας τους μπορούν να προσπελαύνουν τους φακέλους των ασθενών και να τους ενημερώνουν από απόσταση

156 Υπηρεσίες Πληροφόρησης (3/3) Εισαγωγή στην Πληροφορκή 156 Υπάρχουν πολλές εξειδικευμένες ιατρικές βάσεις δεδομένων, οι οποίες προσπελαύνονται χρησιμοποιώντας ηλεκτρονικούς υπολογιστές και πρωτόκολλα επικοινωνίας  Παραδείγματα τέτοιων βάσεων είναι η MEDLINE στις ΗΠΑ, η οποία είναι προσπελάσιμη μέσω του Internet, η Health Online στην Ευρώπη, κλπ.  Οι βάσεις αυτές παρέχουν στους χρήστες τους πληροφορίες για ιατρικά περιστατικά και τρόπους αντιμετώπισής τους, ιατρικά προϊόντα, νέα συνέδρια, κλπ. Τέλος, δεν πρέπει να αγνοεί κανείς ότι τα μηνύματα που ανταλλάσσονται μέσω fax χρησιμοποιούνται ευρέως για την ανταλλαγή πληροφορίας

157 Ήχος Εισαγωγή στην Πληροφορκή 157 Μία από τις απλούστερες τηλεϊατρικές υπηρεσίες είναι η επικοινωνία και παροχή συμβουλών μεταξύ δύο ιατρών χρησιμοποιώντας το τηλέφωνο  Η παραδοσιακή υπηρεσία τηλεφωνίας είναι πιθανότατα ο πιο αποτελεσματικός και οικονομικά συμφέρων τρόπος για τη διευκόλυνση της επικοινωνίας απομακρυσμένων περιοχών με αστικά κέντρα παροχής φροντίδας υγείας  Το τηλέφωνο μπορεί να χρησιμοποιηθεί και για παροχή ιατρικών συμβουλών από έναν ιατρό σε έναν ασθενή Μία άλλη χρήση της παραδοσιακής τηλεφωνίας είναι η δημιουργία γραμμών τηλεφωνικής εξυπηρέτησης, όπου εξειδικευμένο προσωπικό απαντούν σε απορίες ασθενών και θα παρέχουν απλές ιατρικές συμβουλές

158 Εικόνες (1/2) Εισαγωγή στην Πληροφορκή 158 Οι ιατρικές εικόνες μπορούν να είναι:  ακίνητες εικόνες  για παράδειγμα ακτινογραφίες  κινούμενες εικόνες  για παράδειγμα video Η μεγαλύτερη μετακίνηση ιατρικών εικόνων στα πλαίσια μίας τηλεϊατρικής εφαρμογής είναι για εφαρμογές τηλε- ακτινολογίας  η οποία είναι πιθανότατα η πιο ευρέως χρησιμοποιούμενη τηλεϊατρική εφαρμογή προς το παρόν Η ακτινολογία αφορά στη χρήση ακτινών-Χ και άλλων τεχνικών στην ιατρική απεικονιστική  ενώ η τηλε-ακτινολογία αναφέρεται στη μεταφορά των εικόνων αυτών  Κάθε ένα από τα χρησιμοποιούμενα ιατρικά μηχανήματα (modalities) παράγει μία ανατομική ή λειτουργική εικόνα του ασθενή

159 Εικόνες (2/2) Εισαγωγή στην Πληροφορκή 159 Έχουμε τα ακόλουθα είδη εικόνων:  Παραδοσιακές Ακτινογραφίες (Conventional X-ray)  Αξονική Τομογραφία (Computed Tomography)  Μαγνητική Τομογραφία (Magnetic resonance)  Υπέρηχοι (Ultrasound)  Πυρηνική Ιατρική (Nuclear medicine)  Θερμογραφία (Thermography)  Φλουοροσκοπία (Fluoroscopy)  Αγγειογραφία και Αγγειογραφία ψηφιακής αφαίρεσης (Angiography and digital subtraction angiography)

160 ΔΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΔΙΑΔΙΚΤΥΟ

161 Δίκτυο Υπολογιστών Με τον όρο Δίκτυο Υπολογιστών αναφερόμαστε σε ένα υπολογιστικό σύστημα το οποίο επιτρέπει τη διασύνδεση μεταξύ δύο ή περισσότερων υπολογιστών. Σκοπός της δικτύωσης είναι:  η ανταλλαγή δεδομένων ή/και υπηρεσιών μεταξύ των διασυνδεδεμένων υπολογιστών. Νικόλαος Παπαδάκης 161

162 Δίκτυο δύο υπολογιστών Η πιο απλή μορφή δικτύου υπολογιστών με δικτύωση μόλις δύο υπολογιστών Η διασύνδεση μεταξύ των υπολογιστών επιτυγχάνεται μέσω  ειδικού καλωδίου δικτύωσης. Νικόλαος Παπαδάκης 162

163 Δικτύωση τριών και τεσσάρων υπολογιστών Νικόλαος Παπαδάκης 163

164 Δικτύωση Με τη δικτύωση επιδιώκεται η επικοινωνία κάθε υπολογιστή που συμμετέχει σε ένα δίκτυο με κάθε άλλο μέλος του συγκεκριμένου δικτύου. Σε μεγάλο πλήθος μελών ενός δικτύου, η δικτύωση μέσω καλωδιώσεων, δεν είναι πρακτική γιατί:  Υπάρχει δυσκολία και ακαταστασία από το τράβηγμα καλωδίων από τον ένα υπολογιστή στον άλλο, οι οποίοι είναι πιθανό να μη βρίσκονται στο ίδιο δωμάτιο ή να ανήκουν σε χρήστες άγνωστους μεταξύ τους,  και αφετέρου στην απουσία επαρκών θυρών στον υπολογιστή μας για να «κουμπώσει» το άκρο του κάθε καλωδίου δικτύωσης. Νικόλαος Παπαδάκης 164

165 Δικτύωση μέσω ενδιάμεσης συσκευής Η δικτύωση μεταξύ υπολογιστών επιτυγχάνεται μέσω ειδικών συσκευών δικτύωσης  Hubs,  Switches,  Routers. Η δικτύωση με τον τρόπο αυτό γίνεται πολύ απλούστερη  δε χρειάζεται συνολική εικόνα του δικτύου στο οποίο επιθυμεί να συμμετάσχει.  Αρκεί  ένα καλώδιο δικτύου,  μια κατάλληλη θύρα δικτύου στον υπολογιστή του  και μια κενή θύρα στην ενδιάμεση συσκευή. Νικόλαος Παπαδάκης 165

166 Δικτύωση μέσω ενδιάμεσης συσκευής Νικόλαος Παπαδάκης 166

167 Ανατομία ενός δικτύου Υπολογιστών Ένα δίκτυο αποτελείται από το αντίστοιχο Hardware και Software, όπως και ένας υπολογιστής Το Hardware αναφέρεται στα εξαρτήματα που χρειάζονται για τη δικτύωση Το Software στα αντίστοιχα πρωτόκολλα επικοινωνίας μεταξύ των διασυνδεδεμένων υπολογιστών. Νικόλαος Παπαδάκης 167

168 Δικτυακό Hardware Το Hardware ενός δικτύου περιλαμβάνει :  Κάρτες δικτύου ή Νetwork Interface Cards.  Αποτελούν τη διεπαφή επικοινωνίας μεταξύ δικτύου και Η/Υ.  Μέσω αυτής ψηφιακά σήματα από το δίκτυο εισέρχονται στον Η/Υ για επεξεργασία και αντίστροφα.  Καλώδια δικτύου.  Αποτελούν το μέσο για τη ροή της πληροφορίας μεταξύ των διασυνδεδεμένων υπολογιστών.  Η πληροφορία εντός τους ρέει υπό τη μορφή ηλεκτρικών παλμών.  Ενδιάμεσες συσκευές δικτύωσης  hubs,  switches,  Routers  Modems  εξασφαλίζουν σύνδεση με ένα δίκτυο μέσω τηλεφωνικών γραμμών. Νικόλαος Παπαδάκης 168

169 Δικτυακό Hardware Ο επεξεργαστής (CPU) και κατ’ επέκταση ολόκληρος ο Η/Υ λειτουργούν με βάση το δυαδικό σύστημα.  καταλαβαίνουν και να επεξεργάζονται μονάχα δύο αριθμούς, το 0 και το 1. Τα σήματα χωρίζονται στα εξής σήματα  αναλογικά  είναι μια ηλεκτρική τάση η οποία μεταβάλλεται χρονικά, συνήθως με ομαλό και συνεχή τρόπο  Ψηφιακά  είναι μια σειρά από τιμές τάσης οι οποίες επιλέγονται από ένα προκαθορισμένο σύνολο, στο οποίο η τάση μπορεί να έχει τις τιμές +5 ή -5 Volt. Νικόλαος Παπαδάκης 169

170 Αναλογικό σήμα Νικόλαος Παπαδάκης 170

171 Ψηφιακό σήμα Νικόλαος Παπαδάκης 171

172 Δικτυακό Hardware Όλες οι ηλεκτρονικές μηχανές λειτουργούν μέσω ηλεκτρισμού, και πιο συγκεκριμένα μέσω ηλεκτρικών παλμών. Για την απλούστευση της κατασκευής τους, χρησιμοποιούμε το δυαδικό σύστημα.  διάκριση μεταξύ δύο μόλις αριθμών, του 0 και του 1. Σύμβαση: Ονομάζω ως 0 την ανυπαρξία σήματος στην είσοδο και ως 1 την ύπαρξη. Με βάση τους χτύπους του ρολογιού στον επεξεργαστή της ηλεκτρονικής μου συσκευής, παρακολουθώ την είσοδο στο σύστημά μου και για κάθε χτύπο του ρολογιού ονομάζω ως  1 κάθε ηλεκτρικό παλμό που υπερβαίνει μια συγκεκριμένη στάθμη τάσης (συνήθως χρησιμοποιείται ως κατώφλι η τιμή των 2,5 Volts)  0 τους υπόλοιπους Νικόλαος Παπαδάκης 172

173 Μετατροπή ψηφιακού αριθμού σε ηλεκτρική κυματομορφή Νικόλαος Παπαδάκης 173

174 Ψηφιοποίηση Ένα αναλογικό σήμα μπορεί να μετατραπεί σε ψηφιακό με κατάλληλη επεξεργασία η οποία ονομάζεται ψηφιοποίηση. Κατά την ψηφιοποίηση λαμβάνονται δείγματα του αναλογικού σήματος και οι τιμές τους (το πλάτος τους δηλαδή) μετατρέπονται σε μια ακολουθία από 0 και 1, μέσω της μετατροπής δεκαδικών σε δυαδικούς αριθμούς. Η ψηφιοποίηση λαμβάνει χώρα σε συσκευές που ονομάζονται αναλογοψηφιακοί μετατροπείς ή ADC (Analog to Digital Converters). Για τη μετατροπή ψηφιακού σήματος σε αναλογικό εφαρμόζεται η αντίστροφη διαδικασία, η οποία λαμβάνει χώρα στους λεγόμενους ψηφιακοαναλογικούς μετατροπείς ή DAC (Digital to Analog Converters). Νικόλαος Παπαδάκης 174

175 Μετατροπή αναλογικού σήματος σε ψηφιακό Νικόλαος Παπαδάκης 175

176 Modem Τι συμβαίνει όμως στην περίπτωση του διαδικτύου όπου η πρόσβαση για τους περισσότερους οικιακούς συνδρομητές γίνετε μέσω του τηλεφωνικού δικτύου; Με δεδομένο, ότι το τηλεφωνικό δίκτυο είναι σχεδιασμένο για τη μετάδοση αναλογικών σημάτων φωνής,  για τη μετάδοση ψηφιακών δεδομένων από ένα υπολογιστικό σύστημα σε ένα άλλο μέσω του τηλεφωνικού δικτύου απαιτείται πρώτα η κατάλληλη κωδικοποίηση τους ώστε αυτά να μετατραπούν σε αναλογικά. Τα χαρακτηριστικά του παραγόμενου αναλογικού σήματος θα πρέπει να είναι κατάλληλα για τη διέλευσή του μέσα από μια απλή τηλεφωνική γραμμή. Αυτή η κωδικοποίηση επιτυγχάνεται με το Modem. Νικόλαος Παπαδάκης 176

177 Λειτουργία ενός modem Νικόλαος Παπαδάκης 177

178 Ρυθμός μετάδοσης δεδομένων Βασικό στοιχείο που προσδιορίζει ένα modem  είναι ο ρυθμός μετάδοσης δεδομένων στο δίκτυο  ο οποίος μας δείχνει πόσο γρήγορα μπορεί να στείλει ή να λάβει δεδομένα ένα modem. Η ταχύτητα διασύνδεσης θεωρείται το πιο σημαντικό μέγεθος κατά τη χρήση ενός δικτύου και έχει ως μονάδα μέτρησης τα bits ανά δευτερόλεπτο ή bits per second (bps).  Πολλαπλάσια αυτής είναι τα Κbps, Mbps, κλπ. Ως μονάδα μέτρησης του μεγέθους των αρχείων χρησιμοποιείται το byte και τα πολλαπλάσια αυτού. Νικόλαος Παπαδάκης 178

179 Modem Η ταχύτητα αποστολής χαρακτηρίζει την ταχύτητα με την οποία πραγματοποιείται η μεταφορά δεδομένων από το χρήστη προς το δίκτυο και ονομάζεται upload (ή ανέβασμα), Η ταχύτητα λήψης χαρακτηρίζει τη μεταφορά δεδομένων από το δίκτυο προς το χρήστη και ονομάζεται download (ή κατέβασμα). Οι ανάγκες λήψης είναι μεγαλύτερες της ανάγκης αποστολής. Το upload λαμβάνει χώρα μέσω του καναλιού μιας σύνδεσης και ονομάζεται uplink, Το download μέσω του downlink. Το άθροισμα των ταχυτήτων σε μία σύνδεση για upload και download δεν μπορούν να υπερβαίνουν την ονομαστική ταχύτητα μετάδοσης δεδομένων της σύνδεσης. Νικόλαος Παπαδάκης 179

180 Modem Όταν η διασύνδεση ενός δικτύου με άλλα δίκτυα ή το διαδίκτυο γίνεται μέσω τηλεφωνικής γραμμής, χρειάζεται το απαιτούμενο modem. Στις περισσότερες περιπτώσεις, η λειτουργία του modem είναι ενσωματωμένη στην ενδιάμεση συσκευή δικτύωσης, ώστε να μην απαιτείται η αγορά πρόσθετου εξοπλισμού. Αυτό συμβαίνει στα σπίτια μας, όπου η συσκευή που μας δίνεται από τον διαδικτυακό πάροχο με τον οποίο έχουμε συνδρομή ενσωματώνει τις λειτουργίες του router και του modem. Νικόλαος Παπαδάκης 180

181 Δικτύωση μέσω modem Νικόλαος Παπαδάκης 181

182 Δικτυακό Software Το λογισμικό που είναι απολύτως απαραίτητο για την επικοινωνία μεταξύ Η/Υ μέσω δικτύων είναι τα επονομαζόμενα πρωτόκολλα επικοινωνίας. Τα πιο συνηθισμένα από αυτά εγκαθίστανται σε έναν υπολογιστή κατά την εγκατάσταση του λειτουργικού συστήματος, ενώ κάποια περισσότερο εξειδικευμένα κατά την εγκατάσταση των προγραμμάτων που συνοδεύουν ένα νέο δικτυακό εξάρτημα του υπολογιστή μας. Ως πρωτόκολλο επικοινωνίας ορίζεται ένα σύνολο κανόνων συμφωνημένων και από τα δυο επικοινωνούντα μέρη και που εξυπηρετούν την μεταξύ τους ανταλλαγή πληροφοριών. Νικόλαος Παπαδάκης 182

183 Πρωτόκολλο Επικοινωνίας Το πρωτόκολλο επικοινωνίας είναι μια δέσμη κανόνων στους οποίους στηρίζεται η επικοινωνία των συσκευών σε ένα δίκτυο. Οι κανόνες αυτοί καθορίζουν  τη μορφή,  το χρόνο και  τη σειρά μετάδοσης των πληροφοριών στο δίκτυο. Και εκτελούν  έλεγχο  διόρθωση σφαλμάτων στη διάρκεια μετάδοσης των πληροφοριών. Νικόλαος Παπαδάκης 183

184 Πρωτόκολλο Επικοινωνίας Τα πρωτόκολλα δεν εξυπηρετούν σε τίποτα περισσότερο απ’ ότι σήμερα τα Αγγλικά για την επικοινωνία μεταξύ ανθρώπων. Όπως μεταξύ ανθρώπων, έτσι και μεταξύ των υπολογιστών που συμμετέχουν σε ένα δίκτυο υπάρχουν ανάγκες επικοινωνίας και συνεννόησης. Ο σκοπός της δικτύωσης είναι:  η ανταλλαγή πληροφοριών, αφού κάποιοι υπολογιστές κατέχουν κάποια πληροφορία ή υπηρεσία την οποία ζητούν κάποιοι άλλοι. Προκειμένου, όμως, ένας υπολογιστής να είναι σε θέσει να ζητήσει πληροφορίες από έναν άλλον και αυτός να είναι σε θέσει να καταλάβει τι ακριβώς του ζητήθηκε και να απαντήσει, χρειάζεται προηγουμένως να οριστεί και να δημοσιευτεί ένα σύνολο κανόνων που θα διέπουν κάθε συναλλαγή τέτοιας φύσεως. Με τον τρόπο αυτό, κάθε υπολογιστής που επιθυμεί να συμμετάσχει σε ένα δίκτυο και να μοιραστεί πληροφορία αρκεί, να συμμορφώνεται με τους κανόνες επικοινωνίας του συγκεκριμένου δικτύου. Νικόλαος Παπαδάκης 184

185 Πρωτόκολλο Επικοινωνίας Όταν όλοι οι υπολογιστές γνωρίζουν την ίδια γλώσσα, η επικοινωνία μεταξύ τους είναι απλή. Ο ρόλος των πρωτοκόλλων σε ένα δίκτυο είναι:  Να εξασφαλίζουν την επικοινωνία μεταξύ απομακρυσμένων και εν γένει διαφορετικών (ετερογενών) συσκευών. Για τον ορισμό και την λεπτομερή προδιαγραφή των διαφόρων πρωτοκόλλων χρειάζεται να συναντηθούν και να έλθουν σε συμφωνία όσο το δυνατόν περισσότεροι από τους:  μεγάλους επιχειρησιακούς παίκτες,  φορείς κι εταιρίες του χώρου των υπολογιστών και των τηλεπικοινωνιών, Όσοι περισσότεροι υποστηρίξουν ένα πρωτόκολλο,  τόσο μεγαλύτερες πιθανότητες επικράτησης και διάδοσης έχει έναντι των ανταγωνιστικών του πρωτοκόλλων.  Και τόσο πιο πιθανό να μην υπάρχουν ζητήματα ασυμβατότητας κατά τη δικτύωση συσκευών από διαφορετικούς κατασκευαστές Νικόλαος Παπαδάκης 185

186 Ταξινόμηση Δικτύων Η/Υ Ανάλογα με το χαρακτηριστικό γνώρισμα που θα επιλέξει κανείς, τα δίκτυα υπολογιστών κατατάσσονται σε διάφορες κατηγορίες. Από τις πιο συνηθισμένες είναι η διάκρισή τους  με βάση το γεωγραφικό εύρος που καλύπτουν,  με βάση το φυσικό μέσο ή την τεχνολογία που χρησιμοποιείται για την πρόσβαση σε αυτό,  με βάση τον τρόπο που γίνεται η μεταγωγή των δεδομένων στους εσωτερικούς κόμβους του δικτύου. Νικόλαος Παπαδάκης 186

187 Με βάση το γεωγραφικό εύρος Τοπικά δίκτυα (Local Area Networks ή LAN)  Τα τοπικά δίκτυα είναι δίκτυα, τα οποία εκτείνονται σε περιορισμένη γεωγραφικά περιοχή όπως για παράδειγμα ένα κτήριο ή συγκρότημα κτηρίων και σε έκταση μερικών μέτρων και σπάνια λίγων χιλιομέτρων. Μητροπολιτικά Δίκτυα (Metropolitan Area Networks ή ΜΑΝ)  Τα μητροπολιτικά δίκτυα είναι μια σχετικά νέα κατηγορία δικτύου, καλύπτουν συνήθως μια γεωγραφική περιοχή εύρους 5-50 Km, και συχνά χρησιμοποιούνται ως δίκτυα υψηλών ταχυτήτων για τη διασύνδεση τοπικών δικτύων μεταξύ τους ή με δίκτυα ευρείας περιοχής. Δίκτυα Ευρείας Περιοχής (Wide Area networks ή WAN).  Τα δίκτυα ευρείας περιοχής προσφέρουν ευρύτερη κάλυψη σε σχέση με τα LAN και ΜΑΝ καθώς καλύπτουν μια εκτεταμένη γεωγραφικά περιοχή, όπως για παράδειγμα μια πόλη, ή περιοχές που βρίσκονται στο ίδιο ή ακόμη και σε διαφορετικά κράτη. Νικόλαος Παπαδάκης 187

188 Τοπικά δίκτυα Τα δίκτυα LΑΝ χαρακτηρίζονται από υψηλούς ρυθμούς μεταφοράς δεδομένων (10 έως 100 Mbps) και μικρό αριθμό σφαλμάτων μετάδοσης. Επίσης, έχουν μικρό σχετικά αριθμό συνδεμένων συσκευών και χρησιμοποιούν ιδιωτικά μέσα μετάδοσης. Τοπικά δίκτυα συναντάμε σε  σχολεία,  πανεπιστήμια,  εταιρείες,  οργανισμούς,  ιδρύματα και αλλού. Νικόλαος Παπαδάκης 188

189 Τοπικά δίκτυα Τα τοπικά δίκτυα μπορούν, διασυνδεόμενα μεταξύ τους με ειδικό δικτυακό εξοπλισμό, να σχηματίζουν είτε μεγαλύτερα τοπικά δίκτυα είτε, αν η απόσταση είναι μεγάλη, δίκτυα ευρείας περιοχής. Νικόλαος Παπαδάκης 189

190 Τοπολογίες τοπικών δικτύων Τοπολογία δικτύου ονομάζεται η μορφή της σύνδεσης μεταξύ των υπολογιστών (ή των κόμβων γενικότερα) που απαρτίζουν ένα δίκτυο. Οι τοπολογίες μπορούν να είναι είτε φυσικές είτε λογικές. Οι πιο συνηθισμένες τοπολογίες είναι η τύπου  δακτυλίου,  αστέρα και  διαύλου Νικόλαος Παπαδάκης 190

191 Τοπολογία τύπου δακτυλίου Στην τοπολογία δακτυλίου (ring) οι υπολογιστές συνδέονται με τη μορφή ενός κλειστού βρόχου, έτσι ώστε κάθε συσκευή να συνδέεται άμεσα με δύο άλλες συσκευές, μία από κάθε πλευρά. Οι τοπολογίες δακτυλίων είναι σχετικά ακριβές και δύσκολο να εγκατασταθούν, αλλά προσφέρουν υψηλές ταχύτητες μετάδοσης και μπορούν να εκταθούν σε μεγάλες αποστάσεις. Συνήθως χρησιμοποιούνται στα δίκτυα οπτικών ινών. Νικόλαος Παπαδάκης 191

192 Τοπολογία τύπου αστέρα Στην τοπολογία αστέρα (star) οι υπολογιστές συνδέονται μέσω ενός κεντρικού hub. Τα δίκτυα τύπου αστέρα είναι σχετικά εύκολο να εγκατασταθούν και να διαχειριστούν γι’ αυτό και αποτελούν την πιο συνηθισμένη τοπολογία. Οι δυσλειτουργίες που εμφανίζονται οφείλονται συνήθως στο γεγονός ότι όλα τα στοιχεία πρέπει να περάσουν μέσω του hub. Νικόλαος Παπαδάκης 192

193 Τοπολογία τύπου αστέρα Η σύνδεση των διαφόρων υπολογιστών που έχουμε στο σπίτι μας πάνω στο ADSL router που διαθέτουμε συνιστά μια τοπολογία αστέρα. Νικόλαος Παπαδάκης 193

194 Τοπολογία τύπου διαύλου Στην τοπολογία διαύλου (bus) οι υπολογιστές διασυνδέονται μέσω ενός κεντρικού καλωδίου, το οποίο αποκαλείται δίαυλος (ή αρτηρία). Τα δίκτυα τύπου διαύλου είναι σχετικά ανέξοδα και εύκολο να εγκατασταθούν για μικρά δίκτυα. Τα δίκτυα Ethernet σχηματίζουν μια τοπολογία διαύλου. Νικόλαος Παπαδάκης 194

195 Μητροπολιτικά Δίκτυα Ο ρόλος ενός ΜΑΝ είναι παρόμοιος με εκείνο του Πάροχου Υπηρεσιών Διαδικτύου, με τη διαφορά ότι οι υπηρεσίες του παρέχονται σε εταιρικούς χρήστες για τη διασύνδεση μεγάλων τοπικών δικτύων εταιριών, οργανισμών και φορέων. Η δικτυακή υποδομή των MAN στις περισσότερες περιπτώσεις δεν ανήκει σε κάποιο συγκεκριμένο οργανισμό ή φορέα, αλλά  είτε σε μια κοινοπραξία εταιρειών ή οργανισμών,  είτε σε ένα συγκεκριμένο οργανισμό, ο οποίος εγκαθιστά την υποδομή του ΜΑΝ και ακολούθως την εκμεταλλεύεται παρέχοντας υπηρεσίες διασύνδεσης ΜΑΝ στους συνδρομητές του. Νικόλαος Παπαδάκης 195

196 Δίκτυα Ευρείας Περιοχής Ένα WAN είναι ένα επικοινωνιακό δίκτυο το οποίο διασυνδέει μικρότερα δίκτυα ή μεμονωμένους χρήστες, με άλλα απομακρυσμένα δίκτυα ή χρήστες. Το WAN καλύπτει μια ευρεία γεωγραφική περιοχή και συνήθως χρησιμοποιεί την υποδομή των υπαρχόντων φορέων, όπως για παράδειγμα των τηλεπικοινωνιακών εταιριών. Στα δίκτυα WAN, χρησιμοποιούνται διάφορες τεχνολογίες για τη διασύνδεση των συστημάτων, όπως  απλές τηλεφωνικές γραμμές,  μισθωμένες τηλεφωνικές γραμμές,  οπτικές ίνες και ασύρματες  δορυφορικές ζεύξεις. Τα δίκτυα ευρείας περιοχής χαρακτηρίζονται από χαμηλές ταχύτητες και μεγάλες καθυστερήσεις. Νικόλαος Παπαδάκης 196

197 Με βάση τον τρόπο πρόσβασης Ένα γεωγραφικά εκτεταμένο δίκτυο συνήθως διακρίνεται σε  δίκτυο κορμού (backbone network)  δίκτυο πρόσβασης (access network) Νικόλαος Παπαδάκης 197

198 Το δίκτυο κορμού Το δίκτυο κορμού αποτελείται συνήθως από δρομολογητές (Routers) ή γενικότερα μεταγωγούς,  οι οποίοι τοποθετούνται στα σημεία διακλάδωσης ενός δικτύου και έχουν προορισμό να προωθούν τα δεδομένα που διακινούνται μέσω δικτύου πλησιέστερα προς τον προορισμό τους. Οι δρομολογητές διασυνδέονται μεταξύ τους με γραμμές υψηλής ταχύτητας. Η σύνδεση των τελικών χρηστών, οι οποίοι μπορεί να είναι είτε τοπικά δίκτυα είτε μεμονωμένα υπολογιστικά συστήματα, με το δίκτυο κορμού γίνεται μέσω του αντίστοιχου δικτύου πρόσβασης. Η σύγχρονη τεχνολογία προσφέρει ένα πλήθος λύσεων για την υλοποίηση του δικτύου πρόσβασης, επιτρέποντας την επιλογή της καταλληλότερης λύσης σε σχέση με τις απαιτήσεις των τελικών χρηστών. Νικόλαος Παπαδάκης 198

199 Ενσύρματα και Ασύρματα Λαμβάνοντας ως κριτήριο το μέσο μετάδοσης που χρησιμοποιείται στα δίκτυα πρόσβασης, τα δίκτυα μπορούν να διακριθούν σε ενσύρματα και ασύρματα. Στα ενσύρματα δίκτυα, η σύνδεση μεταξύ των Η/Υ γίνεται καλωδιακά, για παράδειγμα μέσω τηλεφώνου, οπτικών ινών ή άλλου ενσύρματου δικτύου επικοινωνιών. Στα ασύρματα δίκτυα οι Η/Υ συνδέονται μεταξύ τους μέσω του αέρα κάνοντας χρήση κατάλληλα διαμορφωμένων δεσμών ηλεκτρομαγνητικής ακτινοβολίας (δηλαδή φωτός) που μπορούν να λειτουργούν σε διάφορες συχνότητες (π.χ. ραδιοκύματα ή μικροκύματα),  ενώ στην περίπτωση πολύ μεγάλων αποστάσεων είναι δυνατό να γίνεται και χρήση δορυφόρου. Νικόλαος Παπαδάκης 199

200 Τεχνολογίες Ενσύρματης Πρόσβασης Οι πιο διαδεδομένες τεχνολογίες ενσύρματης πρόσβασης είναι οι ακόλουθες:  Μέσω απλής τηλεφωνικής γραμμής PSTN (Dial-Up)  Μέσω μόνιμων ή μισθωμένων γραμμών (leased lines)  Μέσω γραμμών ΙSDN  Μέσω Ψηφιακής Συνδρομητικής Γραμμής DSL/ADSL Νικόλαος Παπαδάκης 200

201 Απλή τηλεφωνική γραμμή PSTN (Dial-Up) Είναι ο πιο πρωτόγονος και πιο «αργός», αλλά απλός τρόπος πρόσβασης. Για τη μετάδοση των δεδομένων χρησιμοποιείται το τηλεφωνικό δίκτυο)  Δημόσιο Τηλεφωνικό Δίκτυο Μεταγωγής (Public Swtched Telephone Network – PSTN. Η τεχνολογία Dial-Up PSTN παρέχει χαμηλή ταχύτητα η οποία φθάνει τα 56 kbps. Υλοποιείται μέσω μιας PSTN τηλεφωνικής γραμμής και μιας συσκευής (modem). Χαρακτηριστικά της είναι ότι  έχει το χαμηλότερο αρχικό κόστος,  αλλά η αργή της ταχύτητα συνεπάγεται υψηλότερο κόστος  χάσιμο χρόνου σε αναμονές,  δυσκολία τηλεφωνικής επαφής αν δε διαθέτουμε άλλη τηλεφωνική σύνδεση. Η σύνδεση γίνεται με κλήση ενός Ενιαίου Πανελλαδικού Αριθμού Κλήσης (ΕΠΑΚ).  Πρόκειται για ένα ειδικό αριθμό κλήσης για κάθε ISP με δυνατότητα σύνδεσης στο Internet από οποιοδήποτε σημείο στην Ελλάδα. Νικόλαος Παπαδάκης 201

202 Μόνιμες ή Μισθωμένες γραμμές Σε αντίθεση με τις γραμμές Dial-Up, οι μισθωμένες γραμμές είναι συνεχώς διαθέσιμες, παρέχοντας αδιάλειπτα μια προκαθορισμένη ταχύτητα μετάδοσης δεδομένων. Οι γραμμές αυτές μισθώνονται από έναν πάροχο τηλεπικοινωνιακών υπηρεσιών και η χρέωσή τους γίνεται με βάση την ταχύτητα και το μήκος τους  και όχι με το χρόνο χρήσης τους ή τον όγκο των δεδομένων που μεταφέρουν. Οι μισθωμένες γραμμές είναι σχετικά ακριβή επιλογή και χρησιμοποιούνται σε περιπτώσεις που απαιτείται εγγυημένη ταχύτητα μετάδοσης δεδομένων. Νικόλαος Παπαδάκης 202

203 Γραμμές ΙSDN Αμέσως ταχύτερη είναι η σύνδεση που μπορούμε να κάνουμε μέσω τηλεφωνικής γραμμής ISDN. To ISDN (Ψηφιακό Δίκτυο Ενοποιημένων Υπηρεσιών – Integrated Services Digital Network) υλοποιείται στο υπάρχον τηλεφωνικό δίκτυο και παρέχει ψηφιακή επικοινωνία μέχρι και τον τελικό χρήστη. Προϋποθέτει κατάλληλη συσκευή modem, καθώς και διαφορετικές ρυθμίσεις της βασικής τηλεφωνικής μας σύνδεσης. Στα πλεονεκτήματά της συγκαταλέγονται  η αυξημένη ταχύτητα,  η πιο αξιόπιστη σύνδεση  η παροχή δεύτερου αριθμού τηλεφώνου. Νικόλαος Παπαδάκης 203

204 Γραμμές ΙSDN Μπορούμε να συνδέσουμε έως και οχτώ συσκευές σε μια γραμμή ISDN, από τις οποίες δύο μπορούν να λειτουργούν ταυτόχρονα. Στα μειονεκτήματα συγκαταλέγονται  το αρχικά ακριβότερο κόστος εγκατάστασης  το υψηλότερο πάγιο κόστος της γραμμής ISDN σε σχέση με τη γραμμή PSTN. Η ταχύτητα μεταφοράς δεδομένων με γραμμή ISDN μπορεί να είναι 64 Κbps ή 128 Κbps, ενώ η σύνδεση γίνεται πάλι με την κλήση του ΕΠΑΚ. Γενικά η τεχνολογία ISDN είναι συμφέρουσα για σποραδική μεταφορά δεδομένων, σε συνδυασμό με τηλεφωνικές κλήσεις. Γίνεται όμως ασύμφορη όταν χρησιμοποιείται για μακρόχρονη σύνδεση με το δίκτυο, εφόσον η χρέωση είναι ανάλογη της διάρκειας σύνδεσης. Νικόλαος Παπαδάκης 204

205 Ψηφιακής Συνδρομητικής Γραμμής DSL/ADSL O όρος DSL (Digital Subscriber Line) ή xDSL περιγράφει μια οικογένεια τεχνολογιών που παρέχουν μετάδοση δεδομένων πάνω από το παραδοσιακά τηλεφωνικά καλώδια. Η πιο δημοφιλής τεχνολογία DSL είναι το ADSL (Asymmetric Digital Subscriber Line). Η τεχνολογία DSL κάνει δυνατή την επίτευξη πολύ υψηλών ταχυτήτων μεταφοράς δεδομένων μέσα από την υπάρχουσα PSTN τηλεφωνική καλωδιακή υποδομή,  χρησιμοποιώντας τα ήδη εγκατεστημένα χάλκινα ζεύγη καλωδίων  τα οποία συνδέουν τους συνδρομητές σταθερής τηλεφωνίας με τον τηλεπικοινωνιακό φορέα. Η τεχνολογία DSL χρησιμοποιεί ειδικά modem τα οποία με κατάλληλη κωδικοποίηση επιτυγχάνουν ταχύτητες της τάξης των Mbps με μέγιστο τα 24 Mbps. Νικόλαος Παπαδάκης 205

206 Ψηφιακής Συνδρομητικής Γραμμής DSL/ADSL Τα modem αυτά χρησιμοποιούν το τηλεφωνικό δίκτυο για να συνδεθούν με το Συγκεντρωτή Πρόσβασης DSL (DSL Access Module – DSLAM) του παροχέα υπηρεσιών DSL. Επιτρέπει την ταυτόχρονη χρήση τηλεφώνου, συν του ότι μπορούμε πλέον να τιμολογούμαστε με πάγιο τέλος και όχι βάσει της διάρκειας σύνδεσής μας στο διαδίκτυο. Επιπλέον, δεν απαιτείται η διαρκής αποσύνδεση και επανασύνδεσή μας. Αποτελεί σήμερα τον πιο διαδεδομένο τρόπο πρόσβασης στο διαδίκτυο για οικιακούς συνδρομητές. Νικόλαος Παπαδάκης 206

207 Τεχνολογίες Ασύρματης Πρόσβασης Οι πιο διαδεδομένες τεχνολογίες ασύρματης πρόσβασης είναι οι ακόλουθες:  Πρόσβαση μέσω WiFi/WLAN  Πρόσβαση μέσω δικτύου κινητής τηλεφωνίας  Δορυφορική Πρόσβαση Νικόλαος Παπαδάκης 207

208 Πρόσβαση μέσω WiFi/WLAN Η πιο πρόσφατη εξέλιξη είναι τα ασύρματα δίκτυα τύπου WiFi/WLAN. Το μοντέλο είναι το εξής:  υπάρχει ένα ενσύρματο δίκτυο κορμού στο οποίο συνδέονται τα σημεία πρόσβασης (Access Points-AP) του ασύρματου δικτύου.  Μέσω των ΑΡ ένας υπολογιστής αποκτά πρόσβαση στο διαδίκτυο.  Μονάχα η επικοινωνία μεταξύ υπολογιστή και ΑΡ γίνεται ασύρματα, το υπόλοιπο της επικοινωνίας γίνεται μέσω ενσύρματων μέσων. Για την πρόσβαση σε κάποιο ασύρματο δίκτυο απαραίτητη προϋπόθεση είναι η συσκευή μας να είναι εξοπλισμένη με ασύρματη κάρτα δικτύωσης συμβατή με το ασύρματο δίκτυο στο οποίο επιθυμούμε να συνδεθούμε. Στα ασύρματα τοπικά δίκτυα γίνεται χρήση του πρωτοκόλλου IEEE Νικόλαος Παπαδάκης 208

209 Πρόσβαση μέσω WiFi/WLAN Είναι αρκετά δημοφιλή λόγω της κινητικότητας που επιτρέπουν στο χρήστη. Νικόλαος Παπαδάκης 209

210 Πρόσβαση μέσω δικτύου κινητής τηλεφωνίας Με τον όρο κινητά δίκτυα αναφερόμαστε στα δίκτυα που χρησιμοποιούν τεχνολογίες κινητής τηλεφωνίας προκειμένου να προσφέρουν δυνατότητα ασύρματων συνδέσεων σε μετακινούμενους χρήστες. Σε ένα σύστημα κινητής επικοινωνίας η κυψέλη αποτελεί τη βασική οντότητα για τον χρήστη  και ορίζεται ως η περιοχή στην οποία η ραδιοκάλυψη δίνεται από έναν σταθμό βάσης (base station). Η πρόσβαση στο διαδίκτυο μέσω κινητών δικτύων μπορεί να γίνει μέσω τεχνολογίας GPRS ή ακόμη καλύτερα UMTS (γνωστής και ως 3G) για υψηλότερες ταχύτητες πρόσβασης. Νικόλαος Παπαδάκης 210

211 Πρόσβαση μέσω δικτύου κινητής τηλεφωνίας Η πρόσβαση στο διαδίκτυο μέσω κινητών δικτύων προσφέρει  μεγάλη γεωγραφική κάλυψη  αντίστοιχη δυνατότητα κινητικότητας,  απλοποιημένη πρόσβαση,  ικανοποιητικές ταχύτητες μετάδοσης (της τάξης μερικών Mbps). Μειονεκτήματα  Υψηλή χρέωση(συνήθως ογκοχρέωση)  Μεταβολές στην ποιότητα λήψης κατά τη διάρκεια μιας σύνδεσης. Νικόλαος Παπαδάκης 211

212 Δορυφορική Πρόσβαση Μια δορυφορική σύνδεση μέσω «πιάτου» προσφέρει ταχύτητες περίπου επταπλάσιες από αυτές του ISDN και κατά κάτι μικρότερες από αυτές της DSL. Είναι όμως αρκετά ακριβή λόγω του εξειδικευμένου εξοπλισμού και της αντίστοιχα ακριβής συνδρομής. Συνήθως χρησιμοποιείται σε περιπτώσεις που δεν είναι εφικτή κάποια εναλλακτική μέθοδος πρόσβασης. Νικόλαος Παπαδάκης 212

213 Με βάση τον τρόπο μεταγωγής Η διακίνηση των δεδομένων μέσα σε ένα δίκτυο υλοποιείται με τη μεταγωγή τους μέσω των κόμβων (μεταγωγείς ή δρομολογητές) που απαρτίζουν ένα δίκτυο κορμού. Κατά τη διάρκεια μιας τυπικής φωνητικής τηλεφωνικής κλήσης μέσω ενός τηλεφωνικού δικτύου, δεν παρατηρούνται αυξομειούμενες καθυστερήσεις στη μετάδοση και στη λήψη της φωνής. Στην περίπτωση που το τηλεφωνικό δίκτυο είναι φορτωμένο υπάρχει το ενδεχόμενο να πραγματοποιήσουμε πολλές απόπειρες κλήσης μέχρι αυτή να επιτευχθεί.  Όσο φορτωμένο και να είναι το τηλεφωνικό δίκτυο, από τη στιγμή που θα αποκατασταθεί μια τηλεφωνική κλήση, η ποιότητα της φωνής (καθυστερήσεις, παραμόρφωση φωνής κλπ) παραμένει γενικά σταθερή κατά τη διάρκειά της. Νικόλαος Παπαδάκης 213

214 Με βάση τον τρόπο μεταγωγής Η ίδια σταθερότητα παρατηρείται και στην περίπτωση που δυο υπολογιστές συνδέονται μεταξύ τους μέσω του τηλεφωνικού δικτύου, με χρήση του Modem. Οι χρήστες του Διαδικτύου είναι σαφώς γνώστες των σημαντικών επιπτώσεων που έχει στην ταχύτητα αποστολής και λήψης δεδομένων η υπερφόρτωση του Διαδικτύου κατά τις ώρες αιχμής. Πού οφείλεται η παραπάνω διαφοροποίηση, εφόσον τόσο τα τηλεφωνικά δίκτυα όσο και το Διαδίκτυο μεταφέρουν δεδομένα; Η βασική διαφορά εντοπίζεται στη διαφορετική τεχνολογία μεταγωγής που εφαρμόζουν. Νικόλαος Παπαδάκης 214

215 Τεχνολογίες Μεταγωγής Οι δύο πιο σημαντικές τεχνολογίες μεταγωγής που εφαρμόζονται σήμερα στα δίκτυα Η/Υ είναι  η μεταγωγή κυκλώματος  πριν από οποιαδήποτε ανταλλαγή δεδομένων μεταξύ δύο τερματικών συσκευών συνδεδεμένων στο δίκτυο (π.χ. τηλεφωνικές συσκευές, modem, κλπ), αναζητείται από το σύστημα ένα “μονοπάτι” μεταφοράς δεδομένων το οποίο, εφόσον βρεθεί, δεσμεύεται και χρησιμοποιείται αποκλειστικά για να διακινηθούν τα δεδομένα μεταξύ των δύο τερματικών συσκευών.  η μεταγωγή πακέτων.  κοινή χρήση του μέσου μετάδοσης των δεδομένων (π.χ. ενός καλωδίου) από πολλές τερματικές συσκευές ταυτόχρονα, η οποία επιτυγχάνεται με την πολυπλεξία στο χρόνο των πακέτων δεδομένων που μεταδίδονται μέσω του καναλιού μεταφοράς Νικόλαος Παπαδάκης 215

216 Μεταγωγή Κυκλώματος Αυτό το «μονοπάτι» μεταφοράς δεδομένων συνιστά ένα κύκλωμα μεταξύ των δύο τερματικών συσκευών. Το κύκλωμα αυτό μπορεί να αποτελείται από ένα ή περισσότερα φυσικά (π.χ. χάλκινα σύρματα) ή λογικά κυκλώματα (π.χ. κυκλώματα πολυπλεγμένα σε οπτικές ή μικροκυματικές ζεύξεις), συνδεδεμένα σε σειρά μεταξύ τους. Το κύκλωμα διατηρείται όσο διαρκεί η σύνδεση μεταξύ των δύο τερματικών συσκευών και καταργείται μόνο με τον τερματισμό της σύνδεσης μεταξύ τους,  οπότε και τα επιμέρους κυκλώματα που το αποτελούν απελευθερώνονται και μπορούν να χρησιμοποιηθούν σε επόμενες συνδέσεις. Νικόλαος Παπαδάκης 216

217 Μεταγωγή Κυκλώματος Με τη μεταγωγή κυκλώματος η ταχύτητα μετάδοσης των δεδομένων δεν επηρεάζεται από το φόρτο του δικτύου,  δεδομένου ότι ο κάθε χρήστης έχει την αποκλειστική χρήση του κυκλώματος που του έχει αποδοθεί κατά τη διάρκεια της σύνδεσής του. Λαμβάνοντας όμως υπόψη ότι ο χρόνος κατά τον οποίο διακινούνται δεδομένα είναι μικρότερος από τη διάρκεια της σύνδεσης (άρα και του χρόνου δέσμευσης του κυκλώματος), συμπεραίνουμε εύκολα ότι η μεταγωγή κυκλώματος δε χρησιμοποιεί αποτελεσματικά τη δικτυακή υποδομή  καθώς δεσμεύει πόρους του δικτύου οι οποίοι παραμένουν αδρανείς για μεγάλα χρονικά διαστήματα. Νικόλαος Παπαδάκης 217

218 Μεταγωγή Κυκλώματος Νικόλαος Παπαδάκης 218

219 Μεταγωγή Πακέτων Το παραπάνω μειονέκτημα αντιμετωπίζεται επαρκώς με την τεχνολογία μεταγωγής πακέτων,  η οποία βρίσκει ευρύτατη εφαρμογή στο Διαδίκτυο και γενικά στα δίκτυα Η/Υ,. Το βασικό χαρακτηριστικό της είναι η κοινή χρήση του μέσου μετάδοσης των δεδομένων (π.χ. ενός καλωδίου) από πολλές τερματικές συσκευές ταυτόχρονα,  η οποία επιτυγχάνεται με την πολυπλεξία στο χρόνο των πακέτων δεδομένων που μεταδίδονται μέσω του καναλιού μεταφοράς. Νικόλαος Παπαδάκης 219

220 Μεταγωγή Πακέτων Απαραίτητη προϋπόθεση για τη λειτουργία αυτή είναι ο τεμαχισμός της πληροφορίας που πρόκειται να μεταδοθεί μέσα από το κανάλι και η ενθυλάκωσή της μέσα σε πακέτα σταθερού μεγέθους που θα φέρουν τις κατάλληλες αναγνωριστικές επικεφαλίδες  προκειμένου να είναι εφικτή η ανασύσταση της αρχικής πληροφορίας από τα επί μέρους πακέτα κατά τη λήψη τους στον τελικό προορισμό. Η διαδικασία του τεμαχισμού και του σχηματισμού των πακέτων λαμβάνει χώρα στο λειτουργικό σύστημα του αποστολέα πριν ξεκινήσει η μετάδοση,  ενώ η αντίστροφη διαδικασία πραγματοποιείται από το λειτουργικό σύστημα του παραλήπτη. Νικόλαος Παπαδάκης 220

221 Μεταγωγή Πακέτων Νικόλαος Παπαδάκης 221

222 Μεταγωγή Πακέτων Στο παράδειγμα του σχήματος, οι σταθμοί Α, Β και C θέλουν να στείλουν δεδομένα στους σταθμούς D, E και F αντίστοιχα. Τα πακέτα δεδομένων που αποστέλλει ο κάθε σταθμός καταλήγουν στο κέντρο μεταγωγής πακέτων 1 όπου και πολυπλέκονται και προωθούνται στο μέσο μετάδοσης. Η τεχνολογία μεταγωγής πακέτων επιτρέπει την αποτελεσματικότερη χρήση της δικτυακής υποδομής,  εφόσον οι πόροι του δικτύου χρησιμοποιούνται μόνο εφόσον υπάρχουν δεδομένα προς μετάδοση. Χαρακτηριστικά παραδείγματα δικτύων που χρησιμοποιούν την τεχνολογία μεταγωγής πακέτων είναι  Το διαδίκτυο  Γενικά όλα τα δίκτυα επικοινωνίας Η/Υ. Νικόλαος Παπαδάκης 222

223 Μοντέλα αναφοράς OSI και διαδικτύου Στα δίκτυα υπολογιστών η αποστολή και η λήψη δεδομένων γίνεται σε βήματα  κατά τη διάρκεια των οποίων τα δεδομένα που διακινούνται υφίστανται διαδοχικά επίπεδα επεξεργασίας και εκτελούνται συγκεκριμένες λειτουργίες. Οι λειτουργίες που συμβαίνουν σε κάθε επίπεδο επεξεργασίας, καθώς και η προτυποποιημένη μορφή των δεδομένων που υφίστανται επεξεργασία σε κάθε επίπεδο, ρυθμίζονται από το αντίστοιχο πρωτόκολλο επικοινωνίας του κάθε επιπέδου. Τα πρωτόκολλα αυτά σχηματίζουν μία "στοίβα" πρωτοκόλλων η οποία χαρακτηρίζει επακριβώς την επικοινωνία μεταξύ αποστολέα και παραλήπτη. Νικόλαος Παπαδάκης 223

224 Μοντέλα αναφοράς OSI και διαδικτύου H συνηθέστερη κατηγοριοποίηση των επιπέδων της στοίβας, από το χαμηλότερο προς το υψηλότερο, είναι γνωστή ως μοντέλο αναφοράς OSI (Open System Interconnection) και περιλαμβάνει  Φυσικό επίπεδο (physical layer)  Επίπεδο ζεύξης δεδομένων (data link layer)  Επίπεδο δικτύου (network layer)  Επίπεδο μεταφοράς (transport layer)  Επίπεδο συνόδου (session layer)  Επίπεδο παρουσίασης (presentation layer)  Επίπεδο εφαρμογών (application layer) Νικόλαος Παπαδάκης 224

225 Μοντέλα αναφοράς OSI και διαδικτύου Αυτή η πολύπλοκη διαστρωμάτωση εξυπηρετεί τις ανάγκες συντήρησης κι επέκτασης των δικτύων και είναι απαραίτητη λόγω των διαφορετικών υπηρεσιών που παρέχει κάθε επίπεδο:  Το φυσικό επίπεδο και το επίπεδο ζεύξης δεδομένων, από κοινού, ουσιαστικά επιτυγχάνουν την αξιόπιστη μετάδοση δεδομένων στο φυσικό μέσο και υλοποιούνται μέσω της κάρτας δικτύου (ενσύρματης ή ασύρματης).  Το επίπεδο δικτύου προδιαγράφει τη δρομολόγηση των πακέτων διαμέσου διαφορετικών αλληλοσυνδεόμενων δικτύων ("διαδίκτυο") και επιτρέπει την αποστολή δεδομένων κατά μήκος μεγάλων γεωγραφικών αποστάσεων από έναν υπολογιστή σε έναν άλλον. Νικόλαος Παπαδάκης 225

226 Μοντέλα αναφοράς OSI και διαδικτύου Το επίπεδο μεταφοράς παρέχει μία αφαίρεση επικοινωνίας από άκρο σε άκρο, σαν να μη μεσολαβεί ένα πλήθος ενδιάμεσων δικτύων και η διαδικασία της δρομολόγησης κι επιτρέπει την επικοινωνία μεταξύ εφαρμογών που τρέχουν στον υπολογιστή του αποστολέα και του παραλήπτη διαμέσου του δικτύου. Το επίπεδο εφαρμογών, τέλος, ορίζει τα πραγματικά δεδομένα και τις πραγματικές υπηρεσίες που παρέχονται απευθείας στον χρήστη. Αξίζει να τονίσουμε, εδώ, πως κατά τη διάρκεια μιας δικτυακής σύνδεσης ο τελικός χρήστης δεν αντιλαμβάνεται τις επεξεργασίες που λαμβάνουν χώρα στα διάφορα επίπεδα πρωτοκόλλων. Το μόνο που αντιλαμβάνεται είναι το τελικό αποτέλεσμα των διεργασιών στο επίπεδο εφαρμογής το οποίο είναι αυτό που παρουσιάζεται στην οθόνη του. Νικόλαος Παπαδάκης 226

227 Μοντέλα αναφοράς OSI και διαδικτύου Η σειριακή μετάβαση των δεδομένων από το ένα επίπεδο επεξεργασίας στο άλλο πραγματοποιείται κατά την αποστολή και τη λήψη τους με την ίδια σειρά αλλά με αντίστροφη φορά. Στον αποστολέα η επεξεργασία των δεδομένων ξεκινά από το επίπεδο εφαρμογής και ολοκληρώνεται στο φυσικό επίπεδο.  περιλαμβάνει τη μετάδοση των δεδομένων μέσα από το αντίστοιχο φυσικό κανάλι (π.χ. το καλώδιο) Στον παραλήπτη η επεξεργασία ξεκινάει από τη λήψη των δεδομένων μέσω του φυσικού επιπέδου και ολοκληρώνεται με την ανασύσταση της ληφθείσας πληροφορίας στο επίπεδο εφαρμογής. Νικόλαος Παπαδάκης 227

228 Επίπεδα Διαδικτύου Η στοίβα πρωτοκόλλων του διαδικτύου περιλαμβάνει τα ακόλουθα επίπεδα:  Φυσικό επίπεδο (physical layer)  Επίπεδο ζεύξης δεδομένων (data link layer)  Επίπεδο δικτύου (network layer)  Επίπεδο μεταφοράς (transport layer)  Επίπεδο εφαρμογών (application layer) Νικόλαος Παπαδάκης 228

229 Επίπεδα επεξεργασίας πληροφορίας σε αποστολέα και παραλήπτη Μία εφαρμογή συλλέγει τα δεδομένα, τα οποία επιθυμεί να αποστείλει στο δίκτυο, σύμφωνα με κάποιο πρωτόκολλο εφαρμογών, το οποίο εξαρτάται από αυτήν. Το πρωτόκολλο αυτό προδιαγράφει τι επιπλέον στοιχεία προστίθενται στα υπό εξέταση δεδομένα προκειμένου να υποστηριχθούν κάποιες λειτουργίες  π.χ. κάποιου είδους "ετικέτες" ώστε να γίνει κατανοητή από τον παραλήπτη η φύση των δεδομένων. Έτσι, σχηματίζεται ένα πακέτο επιπέδου εφαρμογών, που ονομάζεται μήνυμα, το οποίο προωθείται στον πυρήνα του λειτουργικού συστήματος, όπου είναι υλοποιημένο το επίπεδο μεταφοράς, σύμφωνα με κάποιο χρησιμοποιούμενο πρωτόκολλο μεταφοράς. Το επίπεδο μεταφοράς προσθέτει τα δικά του στοιχεία (την "κεφαλίδα" του),  προκειμένου να υποστηριχθούν οι επιπλέον δικές του λειτουργίες, και το τελικό πακέτο προωθείται στο επίπεδο δικτύου. Νικόλαος Παπαδάκης 229

230 Επίπεδα επεξεργασίας πληροφορίας σε αποστολέα και παραλήπτη Το επίπεδο δικτύου προσθέτει επίσης τη δική του κεφαλίδα και προωθεί το άθροισμα, το πακέτο επιπέδου δικτύου, στο επίπεδο ζεύξης δεδομένων. Το τελευταίο προσθέτει τις δικές του επικεφαλίδες και προβαίνει σε αποστολή των τελικών πακέτων σύμφωνα με τους κανόνες του χρησιμοποιούμενου πρωτοκόλλου φυσικού επιπέδου. Οι κανόνες αυτοί ορίζουν τον τρόπο κωδικοποίησης σε κάποιο φυσικό μέσο, τον τυχόν τρόπο διαμόρφωσης και τον τρόπο μετάδοσης. Κατά τη λήψη του μεταδιδόμενου πακέτου στον παραλήπτη, οι διαδικασίες επαναλαμβάνονται με αντίστροφη σειρά. Νικόλαος Παπαδάκης 230

231 Επίπεδα επεξεργασίας πληροφορίας σε αποστολέα και παραλήπτη Νικόλαος Παπαδάκης 231

232 Πρωτόκολλα Διαδικτύου Στην περίπτωση του Διαδικτύου τα πιο σημαντικά πρωτόκολλα σε κάθε επίπεδο είναι  το πρωτόκολλο διαδικτύου ή IP (Internet Protocol) στο επίπεδο δικτύου,  το TCP (Transmission Control Protocol) στο επίπεδο μεταφοράς  το HTTP (HyperText Transfer Protocol) στο επίπεδο εφαρμογής. Επειδή το διαδίκτυο, ως το κατεξοχήν δίκτυο ευρείας ζώνης, ουσιαστικά αποτελεί τη συνένωση πολλών διαφορετικών τοπικών δικτύων, δεν προτείνει κάποιο συγκεκριμένο πρωτόκολλο για το επίπεδο ζεύξης. Ως εκ τούτου, όλα τα δημοφιλή πρωτόκολλα αυτού του επιπέδου (π.χ. για πρόσβαση μέσω Ethernet, WLAN, ADSL) μπορούν να χρησιμοποιηθούν χωρίς εξαίρεση. Νικόλαος Παπαδάκης 232

233 Λειτουργία Διαδικτύου το Διαδίκτυο αποτελεί ένα δίκτυο ευρείας ζώνης με παγκόσμια κάλυψη που χρησιμοποιείται για τη διασύνδεση τοπικών δικτύων ή μεμονωμένων χρηστών μεταξύ τους. Το Διαδίκτυο στηρίζεται στη μεταγωγή πακέτων και η λειτουργία του προδιαγράφεται από τη στοίβα πρωτοκόλλων που είναι ευρέως γνωστή ως TCP/IP. Αν και στις μέρες μας το Internet έχει ταυτιστεί με τις υπηρεσίες που έχουν χτιστεί και τρέχουν πάνω από αυτό  π.χ. WWW, , ftp, δίκτυα peer-to-peer, social networks, chat Εν τούτοις το όνομά του το οφείλει στο πρωτόκολλο επιπέδου δικτύου που χρησιμοποιείται για τη δρομολόγηση των πακέτων μεταξύ αποστολέα και παραλήπτη, το οποίο ονομάζεται Internet Protocol ή εν συντομία IP. Νικόλαος Παπαδάκης 233

234 Διασύνδεση μέσω διαδικτύου Νικόλαος Παπαδάκης 234

235 Λειτουργία Διαδικτύου Πρόγονος του Internet θεωρείται το ARPANET το οποίο ήταν το πρώτο στον κόσμο δίκτυο μεταγωγής πακέτων και λειτούργησε το διάστημα Το ARPANET χρηματοδοτήθηκε από το Γραφείο Ερευνών Αμύνης των Ηνωμένων Πολιτειών και δόθηκε για χρήση στα πανεπιστήμια κι εργαστήρια ερευνών στις Η.Π.Α. Σήμερα το διαδίκτυο δεν ανήκει ουσιαστικά σε κανέναν, καθώς δεν υπάρχει κάποιο άτομο ή οργανισμός που να έχει στην κατοχή του η έστω υπό τον έλεγχο του ολόκληρο το διαδίκτυο. Σαν δίκτυο ευρείας ζώνης, το διαδίκτυο αποτελείται από πολλά μικρότερα δίκτυα που ανήκουν σε άτομα και οργανισμούς. Το διαδίκτυο δημιουργείται μέσω των διασυνδέσεων μεταξύ αυτών των δικτύων. Νικόλαος Παπαδάκης 235

236 Λειτουργία Διαδικτύου Το δίκτυο κορμού του διαδικτύου αποτελείται από ένα σύνολο δικτύων υψηλής ταχύτητας και χωρητικότητας, που συνήθως ανήκουν στις μεγάλες εταιρίες τηλεπικοινωνιών, μέσω των οποίων μπορεί να διακινείται μεγάλος όγκος δεδομένων. Για την πρόσβαση στο διαδίκτυο απαιτείται η συνδρομή με κάποιον Πάροχο Υπηρεσιών διαδικτύου (Internet service provider - ΙSP),  ο οποίος διαθέτει την κατάλληλη υποδομή και διασυνδέσεις με το δίκτυο κορμού ώστε να εξασφαλίζει την πρόσβαση των συνδρομητών του σε αυτό. Συνδρομητές σε έναν ISP μπορούν να είναι τόσο εταιρείες, όσο μεμονωμένα άτομα. Νικόλαος Παπαδάκης 236

237 Μοντέλο Client-Sever Τα δίκτυα έχουν σκοπό το διαμοιρασμό πληροφοριών και υπηρεσιών μεταξύ των υπολογιστών που συμμετέχουν σε αυτά. Το πιο διαδεδομένο μοντέλο αλληλεπίδρασης μεταξύ υπολογιστών για την ανταλλαγή δεδομένων και υπηρεσιών είναι το επονομαζόμενο ως μοντέλο Client-Server ή πελάτη- εξυπηρετητή (ή διακομιστή). Ο όρος αυτός σχετίζεται με τον τύπο του δικτύου όπου τα στοιχεία φυλάσσονται κεντρικά σε ένα κεντρικό υπολογιστή (server) και χρησιμοποιούνται τοπικά από τους χρήστες - τερματικά (clients). Ο κεντρικός υπολογιστής είναι συνήθως ένα πολύ ισχυρό PC (ή ομάδα από PCs). Συνήθως, το ρόλο του πελάτη τον αναλαμβάνει ένα πρόγραμμα εφαρμογής (software) που εκτελείται σε ένα τοπικό τερματικό μηχάνημα και το οποίο αιτείται μία υπηρεσία ή πληροφορία από τον εξυπηρετητή. Νικόλαος Παπαδάκης 237

238 Μοντέλο Client-Sever Ο εξυπηρετητής, με τη σειρά του, είναι ένα άλλο πρόγραμμα εφαρμογής σε ένα απομακρυσμένο σύστημα. Η επικοινωνία μεταξύ του προγράμματος πελάτη και του προγράμματος εξυπηρετητή υλοποιείται μέσω της ανταλλαγής κατάλληλων μηνυμάτων του επιπέδου εφαρμογής.  Για το σκοπό αυτό χρησιμοποιούνται τα τυποποιημένα μηνύματα ενός πρωτοκόλλου του επιπέδου εφαρμογής, το οποίο είναι εκ των προτέρων γνωστό και στις δύο πλευρές. Η επικοινωνία αυτής της μορφής έχει συνήθως τη μορφή αίτησης-απόκρισης (request-response) με την αίτηση να περιγράφει το αίτημα του πελάτη προς τον εξυπηρετητή και την απόκριση την απάντηση του εξυπηρετητή προς τον πελάτη. Νικόλαος Παπαδάκης 238

239 Μοντέλο Client-Sever Ειδικά όσον αφορά το διαδίκτυο, το μοντέλο client-server είναι το πλέον διαδεδομένο μοντέλο υπηρεσιών στο οποίο υπακούν οι περισσότερες από τις δημοφιλείς υπηρεσίες του συμπεριλαμβανομένου του Παγκόσμιου Ιστού (World Wide Web - WWW). Το WWW υλοποιείται με την ανταλλαγή μηνυμάτων του πρωτοκόλλου εφαρμογής HTTP μεταξύ πελατών-εξυπηρετητών. Νικόλαος Παπαδάκης 239

240 Μοντέλο Client-Sever Το ρόλο του πελάτη στο WWW τον έχει το πρόγραμμα λογισμικού που είναι γνωστό ως browser ή φυλλομετρητής. Πρόκειται για τους γνωστούς σε όλους μας Internet Explorer, Firefox Mozilla, Google Chrome, Opera, κλπ. Ο browser ουσιαστικά αποτελεί την υλοποίηση του πρωτοκόλλου HTTP στην πλευρά του πελάτη και μπορεί να στέλνει μηνύματα του πρωτοκόλλου αυτού (ΗΤΤΡ requests όπως είναι γνωστά) στην πλευρά του εξυπηρετητή. Ο εξυπηρετητής, με τη σειρά του, στην περίπτωση του WWW ονομάζεται Web Server και είναι ικανός να δέχεται ΗΤΤΡ requests από τους πελάτες, να τα επεξεργάζεται και να αποκρίνεται στέλνοντας σε κάθε πελάτη το περιεχόμενο που ζήτησε (ΗΤΤΡ response) πολυμεσικό ή μη. Γνωστοί web servers σήμερα είναι αυτοί των Facebook, Google, YouTube, WindowsLive, Yahoo, και γενικά κάθε ιστοσελίδας που επισκεπτόμαστε μέσω του browser μας, Ελληνικής ή μη. Νικόλαος Παπαδάκης 240

241 Μοντέλο Client-Sever Κάθε Web Server δεν κάνει τίποτε περισσότερο από το να εκθέτει σε δημόσια θέα τα αρχεία και το υλικό που έχει στην κατοχή του και διατηρεί αποθηκευμένα στο σκληρό του δίσκο. Για να διευκολύνεται η επικοινωνία μεταξύ πελατών- εξυπηρετητών στο www, το υλικό που ανταλλάσσεται (οι ιστοσελίδες δηλαδή) κωδικοποιείται με βάση τους κανόνες της γλώσσας HTML (HyperText Markup Language), η οποία είναι γνωστή σε όλους τους browsers.  Για παράδειγμα, ένα HTTP request προς έναν server, φυσιολογικά, έχει την ακόλουθη μορφή: /images/logo.html HTTP/1.1 Host: Νικόλαος Παπαδάκης 241

242 Μοντέλο Client-Sever Με το μήνυμα αυτό του πρωτοκόλλου ΗΤΤΡ, ένας πελάτης ζητάει από τον server με όνομα να δει το αρχείο με όνομα logo.htmlwww.servername.gr  το οποίο ο server διατηρεί αποθηκευμένο μέσα στο φάκελο image (αρχείο με απόλυτη διαδρομή /image/logo.html). Το μονοπάτι το οποίο προσδιορίζει μοναδικά το ζητούμενο αρχείο ονομάζεται, γενικά, URL (Uniform Resource Locator). GET είναι το όνομα του τυποποιημένου HTTP μηνύματος που χρησιμοποιείται σε τέτοιου είδους συναλλαγές. Στο πρότυπο IETF RFC 2616, που περιγράφει το πρωτόκολλο ΗΤΤΡ, ορίζεται πλήθος μηνυμάτων, καθένα με συγκεκριμένη χρήση, όμως το GET είναι το πιο συνηθισμένο. Ο web server, μόλις λάβει ένα τέτοιο μήνυμα, ανακτά από το σκληρό του δίσκο το περιεχόμενο που του έχει ζητηθεί και απαντά με το κατάλληλο ΗΤΤΡ μήνυμα στον πελάτη. Νικόλαος Παπαδάκης 242

243 Μοντέλο Client-Sever Αυτή ακριβώς είναι η διαδικασία που επαναλαμβάνεται κάθε φορά που γράφουμε μια διεύθυνση της μορφής στη γραμμή διευθύνσεων του browser μας και πατάμε enter ή απλώς κάνουμε αριστερό click πάνω σε μια υπερσύνδεση (hyperlink ή απλά link) σε μια ιστοσελίδα που μας έχει ήδη εμφανιστεί. Νικόλαος Παπαδάκης 243

244 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Τα μηνύματα που ανταλλάσσονται μεταξύ client και server, οι οποίοι ενδέχεται να βρίσκονται σε διαφορετικές ηπείρους, πρέπει να διασχίσουν ολόκληρο το δίκτυο που μεσολαβεί προκειμένου να παραδοθούν στον προορισμό τους. Απαραίτητη προϋπόθεση για την επικοινωνία υπολογιστών μέσω οποιουδήποτε δικτύου είναι η απόδοση σε κάθε μέλος του δικτύου ενός αναγνωριστικού που θα το ταυτοποιεί μοναδικά. Στο διαδίκτυο υπεύθυνο για την απόδοση ταυτοτήτων στους υπολογιστές είναι το επίπεδο δικτύου. Οι διαδικτυακές διευθύνσεις ονομάζονται διευθύνσεις ΙΡ και χρησιμοποιούνται απαραιτήτως κατά τη δρομολόγηση που λαμβάνει χώρα μέσω του πρωτοκόλλου IP. Νικόλαος Παπαδάκης 244

245 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Κάθε υπολογιστής, με την είσοδό του στο διαδίκτυο, αποκτάει δυναμικά από τον ISP με τον οποίο έχει συνδρομή μια μοναδική ΙΡ διεύθυνση που του επιτρέπει να επικοινωνεί με άλλους. Οι ΙΡ διευθύνσεις είναι αριθμοί των 32 bits χωρισμένοι σε 4 bytes και παραμένουν αμετάβλητες για όση ώρα ένας χρήστης παραμένει συνδεδεμένος στο διαδίκτυο. Με την έξοδο και επανασύνδεσή του στο διαδίκτυο κάθε υπολογιστής λαμβάνει νέα ΙΡ διεύθυνση, η οποία ενδέχεται να διαφέρει από την προηγούμενη. Όμοια με το σταθερό τηλεφωνικό δίκτυο, όπου οι αριθμοί τηλέφωνων στην ίδια γεωγραφική περιοχή έχουν κοινά ψηφία, και οι ΙΡ διευθύνσεις περιέχουν «γεωγραφικό» προσδιορισμό στην απόδοσή τους.  Έτσι, κάποια από τα bits σε μια ΙΡ διεύθυνση εκφράζουν την ήπειρο, τη χώρα, τον οργανισμό ή τον πάροχο στον οποίο ανήκει η διεύθυνση, το υποδίκτυο στο οποίο έχει συνδεθεί ένας υπολογιστής και μόνο τα τελευταία τον ίδιο τον υπολογιστή. Νικόλαος Παπαδάκης 245

246 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Η δρομολόγηση στο διαδίκτυο λαμβάνει χώρα μέσω των ΙΡ διευθύνσεων. Υποχρεωτικά κάθε πακέτο του επιπέδου δικτύου που οδηγείται για μετάδοση στο φυσικό μέσο περιέχει την ΙΡ διεύθυνση του αποστολέα και του παραλήπτη στην επικεφαλίδα που προσθέτει το πρωτόκολλο ΙΡ. Τα πακέτα αυτά ονομάζονται ΙΡ πακέτα. Νικόλαος Παπαδάκης 246

247 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Κάθε δρομολογητής (router) που λαμβάνει ένα τέτοιο πακέτο διαβάζει την ΙΡ διεύθυνση προορισμού του πακέτου και προωθεί το πακέτο στην έξοδο που θα το φέρει πιο κοντά στον προορισμό του. Η διαδικασία αυτή επαναλαμβάνεται σε κάθε δρομολογητή που συναντάει το πακέτο στο δρόμο του, έως ότου, βήμα-βήμα, περνώντας διαδοχικά από όσους δρομολογητές χρειαστεί, φτάσει εν τέλει στον υπολογιστή προορισμού. Ο υπολογιστής αυτός, και συγκεκριμένα το επίπεδο δικτύου του, διαβάζοντας την ΙΡ διεύθυνση προορισμού του πακέτου αντιλαμβάνεται ότι το πακέτο αναφέρεται σε αυτόν, οπότε το προωθεί στο επίπεδο μεταφοράς για περεταίρω επεξεργασία. Νικόλαος Παπαδάκης 247

248 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Η ΙΡ διεύθυνση αποστολέα στο ΙΡ πακέτο χρησιμεύει στον παραλήπτη προκειμένου να προσδιορίσει τον αποστολέα του πακέτου και να μπορέσει να του απαντήσει κατάλληλα. Δηλαδή το ΙΡ πακέτο που ο παραλήπτης θα στείλει στον αποστολέα ως απάντηση  το οποίο, για παράδειγμα, μπορεί να περιέχει την ιστοσελίδα που ζήτησε να δει ένας πελάτης, Θα περιέχει τις ίδιες ακριβώς ΙΡ διευθύνσεις με πριν αλλά αντιμετατιθέμενες. Νικόλαος Παπαδάκης 248

249 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Νικόλαος Παπαδάκης 249

250 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Καθένα από τα διαφορετικά προγράμματα που χρειάζεται να τρέξουν παράλληλα στον ίδιο υπολογιστή μέσω της ίδιας διαδικτυακής σύνδεσης έχουν την ίδια ΙΡ διεύθυνση αφού τρέχουν στον ίδιο υπολογιστή. Όταν μια απάντηση από έναν server καταφθάνει σε έναν υπολογιστή, σε ποιον από τους παραπάνω πελάτες θα πρέπει να προωθηθεί; Πώς μπορεί, για παράδειγμα, να ξέρει το λειτουργικό μας σύστημα σε ποια καρτέλα ενός browser απευθύνεται μια απάντηση που μόλις έλαβε ώστε να μη γίνει λάθος κατά την εμφάνισή της στον χρήστη; Νικόλαος Παπαδάκης 250

251 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Πέρα από την ΙΡ διεύθυνση χρειαζόμαστε και ένα δεύτερο αναγνωριστικό το οποίο θα μας προσδιορίζει μοναδικά τον πελάτη από τον οποίο ξεκινά ένα διαδικτυακό αίτημα. Το αναγνωριστικό αυτό στην περίπτωση του διαδικτύου είναι ένας αριθμός των 16 bits που ονομάζεται θύρα TCP και υπεύθυνο για την απόδοση και διαχείρισή τους είναι το αντίστοιχο πρωτόκολλο του επιπέδου μεταφοράς. Κάθε μήνυμα που αποστέλλει ένα πελάτης, καθώς περνάει μέσα από το επίπεδο μεταφοράς, του αναρτώνται δύο αριθμοί οι οποίοι προσδιορίζουν τον πελάτη εκκίνησης και τον πελάτη προορισμού. Ο πρώτος είναι η θύρα TCP αποστολής και ο δεύτερος η θύρα TCP προορισμού και αποτελούν τα βασικά πεδία της επικεφαλίδας TCP που τοποθετεί το επίπεδο μεταφοράς στα μηνύματα από το επίπεδο εφαρμογής. Νικόλαος Παπαδάκης 251

252 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Για το WWW και το ΗΤΤΡ η θύρα TCP προορισμού έχει συνήθως την τιμή 80.  Αυτό γίνεται για λόγους συμβατότητας, ώστε κάθε πελάτης να γνωρίζει εκ των προτέρων τη θύρα TCP του server που θα τον εξυπηρετήσει και να μη χρειάζεται να ψάχνει να τη βρει καθυστερώντας την επικοινωνία. Η θύρα TCP αποστολής είναι σταθερή για όση ώρα εκκρεμεί η απάντηση σε κάποιο δικτυακό αίτημα και καταργείται μόλις ληφθεί η απάντηση του server.  Δηλαδή αιτήματα που εκκινούν από τον ίδιο πελάτη συνήθως έχουν διαφορετικές θύρες TCP αποστολής. Νικόλαος Παπαδάκης 252

253 Δρομολόγηση στο Διαδίκτυο – ο ρόλος των πρωτοκόλλων ΙΡ και TCP Οι ΙΡ διευθύνσεις χρησιμοποιούνται για το μοναδικό προσδιορισμό των υπολογιστών που συμμετέχουν στο διαδίκτυο Και οι θύρες TCP για το μοναδικό προσδιορισμό των αιτημάτων που εκκινούν οι διάφοροι διαδικτυακοί πελάτες που τρέχουν εντός τους. Νικόλαος Παπαδάκης 253

254 Ο ρόλος του DNS Όταν πληκτρολογούμε τη διεύθυνση κάποιου server στον browser μας ποτέ δε γράφουμε κάποιον αριθμό αλλά, απλώς, το URL που αντιστοιχεί στον server (π.χ. Μεταξύ των διευθύνσεων τύπου URL που πληκτρολογεί ο χρήστης και των ΙΡ διευθύνσεων που χρησιμοποιεί το πρωτόκολλο ΙΡ, μεσολαβεί ένα ακόμη βήμα. Το βήμα αυτό περιλαμβάνει τη μετατροπή των URL σε ΙΡ διευθύνσεις και λαμβάνει χώρα μέσω του επονομαζόμενου DNS (Domain Name System). Τα ο DNS αποτελεί μια διαδικτυακή κατανεμημένη βάση δεδομένων η οποία χρησιμοποιείται κυρίως στη μετάφραση των ονομάτων που προσδίδονται στους διάφορους web servers (γνωστά ως hostnames) σε IP διευθύνσεις. Νικόλαος Παπαδάκης 254

255 Ο ρόλος του DNS Ο λόγος που δε χρησιμοποιούμε απ’ ευθείας τις ΙΡ διευθύνσεις αλλά χρειάζεται να μεσολαβήσει αυτό το ενδιάμεσο είναι η φιλικότητα προς το χρήστη που προσφέρει η χρήση των hostnames.  Προφανώς, δεν είναι το ίδιο εύκολο να απομνημονεύει κανείς αριθμούς των 32 bits, όσο ονόματα του στυλ facebook, google, κλπ. Χωρίς DNS δεν είναι δυνατή η επικοινωνία μας με τον έξω κόσμο. Αν ο DNS που μας εξυπηρετεί γνωρίζει να μεταφράσει το hostname που δώσαμε σε IP διεύθυνση το κάνει, διαφορετικά ζητά από κάποιον άλλον DNS να κάνει τη μετάφραση. Υπάρχουν πολλοί DNS, με διαφορετική πληροφορία μεταξύ τους, που συνεργάζονται για την αντιμετώπιση ενός ερωτήματος. Νικόλαος Παπαδάκης 255

256 Ο ρόλος του DNS Όταν πλέον επιστραφεί στον υπολογιστή μας η απάντηση του DNS με την ΙΡ διεύθυνση που χρειαζόμαστε για τη δρομολόγηση του αιτήματός μας στο διαδίκτυο, ξεκινάει η διαδικασία για το σχηματισμό των ΙΡ πακέτων. Οι απαντήσεις που λαμβάνονται από τον DNS αποθηκεύονται τοπικά στον υπολογιστή μας για μελλοντική χρήση, ώστε την επόμενη φορά που θα χρειαστεί να επισκεφθούμε έναν συγκεκριμένο ιστότοπο να μη χρειαστεί αλληλεπίδραση με τον DNS και η διαδικασία να ολοκληρωθεί γρηγορότερα. Σ τους διαδικτυακούς χώρους τύπου Google ή Facebook, που φιλοξενούν πολλές επισκέψεις ημερησίως, συνήθως αντιστοιχούν περισσότερες ΙΡ διευθύνσεις στο ίδιο hostname.  Αυτό συμβαίνει επειδή το συγκεκριμένο δικτυακό τόπο, για λόγους σταθερότητας κι αποδοτικής εξυπηρέτησης των επισκεπτών, τον εξυπηρετούν ταυτόχρονα πολλοί διαφορετικοί υπολογιστές. Νικόλαος Παπαδάκης 256

257 Ο ρόλος του DNS Νικόλαος Παπαδάκης 257

258 Ο ρόλος του DNS Όσον αφορά τα διαδικτυακά ονόματα των διαφόρων web servers, συνήθως αποτελούνται από το «προσωπικό» όνομα του υπολογιστή (το hostname που λέγαμε πιο πριν) ακολουθούμενο από το όνομα του τομέα (Domain Name) στον οποίο ανήκει. Για παράδειγμα ο υπολογιστής: venus.cs.teicrete.gr Έχει το hostname “venus” και υπάγεται στον τομέα “cs.teicrete.gr”. Η ονομασία του τομέα, με τη σειρά της, χωρίζεται σε δύο η περισσότερα μέρη που αντιπροσωπεύουν έναν οργανισμό και πολλές φορές το συγκεκριμένο τμήμα του οργανισμού στο οποίο ανήκει ένας κόμβος. Ο παραπάνω υπολογιστής για παράδειγμα βρίσκεται τοποθετημένος κάπου στην Ελλάδα (gr), Μέσα στον Οργανισμό με όνομα ΤΕΙ ΚΡΗΤΗΣ (teicrete) και πιο συγκεκριμένα στις εγκαταστάσεις του τομέα Επιστήμης Υπολογιστών (cs). Έτσι, δύο οργανισμοί μπορούν να έχουν κοινά hostnames στους υπολογιστές τους καθώς το διαφορετικό όνομα του τομέα καθορίζει τον σωστό υπολογιστή στον οποίο γίνεται αναφορά. Νικόλαος Παπαδάκης 258

259 Ερμηνεία των κυριοτέρων Top-Level Domains Το τελευταίο σκέλος ενός ονόματος κόμβου ονομάζεται Top-Level Domain (TLD) Νικόλαος Παπαδάκης 259

260 Top-Level Domains για web servers εκτός των ΗΠΑ Επειδή τα TLD χρησιμοποιούνται σχεδόν αποκλειστικά από web servers που είναι εγκατεστημένοι στις ΗΠΑ, για τους web servers που βρίσκονται σε χώρες εκτός των ΗΠΑ χρησιμοποιούνται ως top-level domains κωδικοί δύο χαρακτήρων που αντιπροσωπεύουν τη χώρα εγκατάστασης του καθενός. Νικόλαος Παπαδάκης 260