ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

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

Download "ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ"

Transcript

1 ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ρ Ζαφείριος Καραισκος ΤΕΙ Λάρισας 2010

2 2 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή Εννοιες και ορισµοί οργάνωσης αρχείων Συσκευές Ι/Ο ίσκοι Βασικό σύστηµα αρχείων Η διεπαφή Πράξεις επί των αρχείων Πράξεις µεταφοράς block δεδοµένων Ροή δεδοµένων Απαιτήσεις υλοποίησης Βασικός Ι/Ο επόπτης Οδηγοί συσκευών Ουρές αναµονής Ι/Ο αιτηµάτων Έναρξη Ι/Ο Τερµατισµός Ι/Ο Υλοποίηση Λογικές Ι/Ο έννοιες Ιδιότητες αρχείων Ροή δεδοµένων από και προς το χρήστη Τεχνικές προσωρινής Ι/Ο αποθήκευσης Μέθοδοι προσπέλασης Πράξεις επί των αρχείων Πράξεις επί των εγγραφών Απαιτήσεις υλοποίησης των πράξεων Σειριακά αρχεία Πράξεις επί των αρχείων Πράξεις επί των εγγραφών Άµεσα αρχεία Εργασίες επί των αρχείων Πράξεις επί των εγγραφών Ευρετήρια Πράξεις επί των αρχείων Πράξεις επί των εγγραφών Υλοποίηση...49

3 1. Εισαγωγή Τα δεδοµένα που επεξεργάζεται µια εφαρµογή φιλοξενούνται στη RAM του συστήµατος. Εποµένως, δεν θα µας είναι στο εξής διαθέσιµα αν πριν διακόψουµε την τροφοδοσία του συστήµατός µας (πριν δηλαδή εξαφανίσουµε όλα τα περιεχόµενα της κεντρικής µνήµης) δεν µεριµνήσουµε να τα αποθηκεύσουµε σε µία µόνιµη µνήµη, π.χ. σ ένα σκληρό δίσκο. Ένα αρχείο µπορούµε οποιαδήποτε στιγµή να το ανοίξουµε, να µεταφέρουµε δηλαδή ένα αντίγραφό του από το δίσκο στη RAM και να το διαχειρισθούµε (να προσθέσουµε, να αφαιρέσουµε ή να ταξινοµήσουµε τις εγγραφές του, να τροποποιήσουµε κάποιες απ αυτές, να το εκτυπώσουµε κ.λ.π.),µε την κατάλληλη εφαρµογή. Για παράδειγµα µπορούµε να δηµιουργήσουµε και να διαχειρισθούµε έγγραφα χρησιµοποιώντας έναν επεξεργαστή κειµένου. Επίσης µέσα από το περιβάλλον µιας γλώσσας προγραµµατισµού µπορούµε να δηµιουργήσουµε και να διαχειρισθούµε τα επιθυµητά κάθε φορά αρχεία δεδοµένων συγκεκριµένης δοµής. Ένα πρόγραµµα για να είναι κάθε στιγµή διαθέσιµο θα πρέπει να είναι, επίσης, αποθηκευµένο σε δίσκο υπό τη µορφή αρχείου προγράµµατος. 1.1 Εννοιες και ορισµοί οργάνωσης αρχείων Πεδίο (field) είναι η µικρότερη λογική υποδιαίρεση µιας εγγραφής που περιέχει µία συγκεκριµένη πληροφορία. Μπορεί να θεωρηθεί και σαν ένα (µεταξύ άλλων) χαρακτηριστικό γνώρισµα της εγγραφής. Η τιµή ενός πεδίου µιας εγγραφής µπορεί να είναι αριθµός (ακέραιος ή πραγµατικός), χαρακτήρας, οµάδα χαρακτήρων ή λογική σταθερά. (Λογική) εγγραφή (record) είναι µία συλλογή πεδίων, οι τιµές των οποίων είναι χαρακτηριστικά που περιγράφουν µια συγκεκριµένη οντότητα. Για παράδειγµα µία εγγραφή µπορεί να θεωρηθεί το σύνολο των πεδίων: ΟΝΟΜΑ, ΕΠΙΘΕΤΟ, ΙΕΥΘΥΝΣΗ, ΕΠΑΓΓΕΛΜΑ και ΤΗΛΕΦΩΝΟ, ενός συνδροµητή του τηλεφωνικού καταλόγου. Φυσική εγγραφή (physical record ή block) είναι µία φυσική ενότητα που σχηµατίζεται από οµαδοποιηµένες (λογικές) εγγραφές. Η χρήση των φυσικών εγγραφών συµβάλλει στην αύξηση της ταχύτητας κατά την εκτέλεση των προγραµµάτων. Ο αριθµός των εγγραφών που περιέχονται στην ίδια φυσική εγγραφή ονοµάζεται συντελεστής οµαδοποίησης. Αν ισχύει ΒF=1, τότε οι εγγραφές δεν είναι οµαδοποιηµένες και εποµένως ισχύει η ισότητα block = λογική εγγραφή. Επειδή για τη διακίνηση των πληροφοριών στις περιφερειακές µονάδες αποθήκευσης ενός Η/Υ χρησιµοποιείται το block, η οµαδοποίηση των εγγραφών επιφέρει σηµαντική οικονοµία χρόνου. Αρχείο (file) είναι ένα σύνολο εγγραφών που παρέχουν πληροφορίες σχετικές µε (έµψυχες ή άψυχες) οντότητες οι οποίες περιγράφονται από κοινά χαρακτηριστικά γνωρίσµατα και έχουν ορισµένη διάταξη για να εξυπηρετήσουν συγκεκριµένο στόχο. Για παράδειγµα οι εγγραφές των συνδροµητών που το επίθετό τους αρχίζει από «Α» αποτελούν ένα αρχείο. Όµοια το σύνολο των συνδροµητών που η διεύθυνσή τους αρχίζει από «Κ» αποτελούν ένα άλλο αρχείο κ.λ.π. 3

4 Κλειδί (key) µιας εγγραφής είναι ένα πεδίο το οποίο προσδιορίζει µονοσήµαντα τις εγγραφές ενός αρχείου, αυτό σηµαίνει ότι δεν µπορούν να υπάρξουν δύο εγγραφές µε το ίδιο κλειδί. Το κλειδί βρίσκεται πάντα σε µία σταθερή θέση µέσα στην εγγραφή, για παράδειγµα, είναι το 1 ο, το 2 ο ή οποιοδήποτε άλλο πεδίο. Οι λογικές εγγραφές, ανάλογα µε το µήκος τους, διακρίνονται σε εγγραφές σταθερού µήκους (fixed length records) και σε εγγραφές µεταβλητού µήκους (variable length records). Στην πρώτη κατηγορία πρόκειται για εγγραφές που έχουν το ίδιο µήκος σ όλη την έκταση του αρχείου και περιέχονται ακέραιες µέσα σε block. Τα πεδία τους έχουν το ίδιο µήκος σε κάθε εγγραφή. Στο µήκος αυτό θέτουµε συνήθως µία µέγιστη δυνατή τιµή ώστε το πεδίο να είναι σε θέση να φιλοξενήσει ανάλογου µήκους τιµές στις διάφορες εγγραφές του αρχείου. Με τις εγγραφές σταθερού µήκους, αν και διευκολύνεται τόσο ο σχεδιασµός όσο και ο προγραµµατισµός µιας εγγραφής, υπάρχει εντούτοις σπατάλη χώρου αποθήκευσης, εφόσον κάθε πεδίο καταλαµβάνει το µεγαλύτερο «χώρο» που µπορεί να απαιτηθεί και αντικαθιστά τον µη χρησιµοποιηθέντα µε διαδοχικά µηδενικά ή κενά. Στη δεύτερη κατηγορία πρόκειται για εγγραφές µε κύριο γνώρισµα την ύπαρξη πεδίων µεταβλητού µήκους. Εµείς θα ασχοληθούµε µόνο µε σταθερού µήκους εγγραφές. 1.2 Συσκευές Ι/Ο Η φιλοσοφία είναι να γίνει το υλικό του Η/Υ τελείως διαφανές, δηλαδή να αποκρυφτούν όλες οι τεχνικές λεπτοµέρειες που αφορούν το υλικό. Η χρήση γλωσσών προγραµµατισµού υψηλού επιπέδου όπως C, Java, οι µέθοδοι προσπέλασης και λειτουργικά συστήµατα εξυπηρετούν στην αποµόνωση του χρήστη από τις τεχνικές λεπτοµέρειες. Αυτό είναι αρκετό για τους συνήθεις χρήστες των Η/Υ αλλά δεν είναι αρκετό για τους σπουδαστές πληροφορικής. Η περιγραφή που ακολουθεί είναι γενική διότι οι διάφοροι κατασκευαστές χρησιµοποιούν διαφορετικές συσκευές και όχι πάντα την ίδια ορολογία. Τα προγράµµατα εκτελούνται στην κύρια µνήµη (RAM) του Η/Υ. Ένα πρόγραµµα µπορεί να προσπελάσει δεδοµένα εκτός RAM στέλνοντας εντολές στο δίαυλο. 4

5 Ο δίαυλος είναι η σύνδεση µεταξύ των προγραµµάτων στην κύρια µνήµη (RAM) και των συσκευών. Η µετάδοση δεδοµένων από τη CPU προς τις άλλες συσκευές και το αντίστροφο γίνεται µέσω του διαύλου. Μεταξύ του διαύλου και µιας συσκευής βρίσκεται ο ελεγκτής (controller) της συσκευής. Ιδίου τύπου συσκευές µπορούν να συνδεθούν µε τον ίδιο ελεγκτή. Ελεγκτές Οι ελεγκτές προγραµµατίζονται κατά τέτοιο τρόπο ώστε να στέλνουν τις κατάλληλες εντολές στην συσκευή. Ο ελεγκτής έχει καταχωρητές στους οποίους καταχωρούνται δεδοµένα τα οποία χρειάζονται για την αποστολή των κατάλληλων εντολών στη συσκευή. Συσκευές Μια συσκευή µπορεί να εκτελέσει κάποιες συγκεκριµένες εργασίες. Το πληκτρολόγιο να στείλει δεδοµένα στο πρόγραµµα, ο δίσκος να υποθηκεύσει δεδοµένα και να στείλει αποθηκεµένα δεδοµένα στο πρόγραµµα, κ.α. Σύστηµα αρχείων Η διεπαφή µεταξύ των εντολών READ/WRITE του προγράµµατος και των συσκευών είναι οι συναρτήσεις του λειτουργικού συστήµατος, οι οποίες δηµιουργούν τις κατάλληλες δοµές δεδοµένων που χρειάζεται για την Ι/Ο δεδοµένων και καταχωρούν τις κατάλληλες τιµές στους καταχωρητές των ελεγκτών έτσι ώστε να υλοποιηθεί η µεταφορά δεδοµένων. 1.3 ίσκοι 5

6 Ο σκληρός δίσκος αποτελείται από µια στοίβα δίσκων που περιστρέφονται γύρω από ένα κοινό άξονα. Σε κάθε επιφάνεια ενός δίσκου το µαγνητικό υλικό σχηµατίζει οµόκεντρους κύκλους που ονοµάζονται ίχνη και αριθµούνται από τον εξωτερικό προς τον πιο εσωτερικό ξεκινώντας µε το 0. Τα ίχνη, µε το ίδιο νούµερο, όλων των δίσκων σχηµατίζουν νοητά έναν κύλινδρο. Σε έναν µετακινούµενο βραχίονας στηρίζονται οι read/write κεφαλές µια για κάθε επιφάνεια, εκτός από την πρώτη και την τελευταία. Όλα τα ίχνη χωρίζονται στον ίδιο αριθµό τοµέων. Ένας τοµέας χωράει ακριβώς 512 byte (στα windows). Ο βραχίονας µετακινείται από τον πιο εξωτερικό κύλινδρο προς τον πιο εσωτερικό και αντίθετα. Η κίνηση από κύλινδρο σε κύλινδρο είναι γνωστή ως SEEKing. Αφού σταµατήσει στο σωστό, περιµένει να περάσει ο σωστός τοµέας που θα διαβάσει ή θα γράψει. Αυτό το χρονικό διάστηµα λέγεται περιστροφική καθυστέρηση (rotational delay). Πως βρίσκεται ο σωστός τοµέας σ' ένα σκληρό δίσκο; Η διεύθυνση ενός block δεδοµένων αποτελείται από τα εξής στοιχεία: (Αριθµός-κυλίνδρου, Αριθµός-κεφαλής ή επιφάνειας, Αριθµός-τοµέα) Οι εντολές που χρησιµοποιούνται για τον εντοπισµό του τοµέα λέγονται εντολές τοποθέτησης. Οι εντολές για τη µεταφορά δεδοµένων ονοµάζονται εντολές µεταφοράς δεδοµένων. Οι εντολές τοποθέτησης έχουν ως σκοπό την τοποθέτηση των κεφαλών στο σωστό κύλινδρο και την επιλογή της σωστής κεφαλής ή επιφάνειας, έτσι ώστε να διαβαστεί ή γραφτεί ο σωστός τοµέας. Η εντολή SEEK µετακινεί τον βραχίονα, χρησιµοποιώντας τον αριθµό του αντίστοιχου καταχωρητή. Συγκρίνει αυτόν τον αριθµό µε τον τρέχοντα και αν είναι µικρότερος µετακινείται προς τα πίσω αλλιώς προς τα µπροστά. Επίσης επιλέγεται και η επιφάνεια µε το περιεχόµενο του αντίστοιχου καταχωρητή. Η εντολή SEARCH διαβάζει τους αριθµούς των τοµέων καθώς αυτοί περνάνε κάτω από την κεφαλή λόγω της περιστροφής. Οι εντολές µεταφοράς δεδοµένων: η εντολή READ_BLOCK µεταφέρει είναι µπλοκ δεδοµένων από το δίσκο σε ένα buffer της RAM. Για να γίνει αυτό η εντολή χρειάζεται τη διεύθυνση του buffer στη RAM και το µέγεθος buffer (σε byte). Η εντολή WRITE_BLOCK µεταφέρει ένα µπλοκ δεδοµένων από ένα buffer της RAM στο δίσκο. Χρειάζεται και αυτή τη διεύθυνση του buffer στη RAM και το µέγεθος buffer (σε byte). 6

7 2. Βασικό σύστηµα αρχείων Είναι ένα στρώµα πάνω από τους συσκευές. Το λογισµικό ενός λειτουργικού συστήµατος που χειρίζεται τις συσκευές Ι/Ο και µεταφέρει µπλοκ δεδοµένων λέγεται βασικό σύστηµα αρχείων (ΒΣΑ). Το ΒΣΑ χρειάζεται για τους εξής λόγους: - Παρέχει κοινή διεπαφή για την υλοποίηση µπλοκ Ε/Ε. Αυτό απελευθερώνει το χρήστη από το να γνωρίζει τα χαρακτηριστικά των διαφόρων συσκευών του Η/Υ. - Παρέχει κεντρικό έλεγχο στη χρήση των συσκευών του Η/Υ. 2.1 Η διεπαφή Ένα ΒΣΑ παρέχει ως διεπαφή ένα τυποποιηµένο σύνολο κλήσεων συναρτήσεων για την υλοποίηση Ε/Ε αιτηµάτων. Κάθε πρόγραµµα του Η/Υ που χρειάζεται να εκτελέσει Ε/Ε πρέπει να χρησιµοποιήσει αυτή τη διεπαφή. Το ΒΣΑ για να κάνει τη δουλειά του πρέπει να: Ελέγχει τη δέσµευση χώρου στις συσκευές Να δεχθεί όλα τα αιτήµατα για Ε/Ε και να τα εξυπηρετήσει ένα-ένα. Να ελέγχει τις συσκευές, οι οποίες όπως είπαµε απαιτούν λεπτοµερή γνώση των (ιδιαίτερων) χαρακτηριστικών τους. Επεξεργαστεί όλους τους τερµατισµούς Ε/Ε (π.χ. διακοπές) ώστε να σιγουρέψει τη σωστή εκτέλεσή τους. Ειδοποιήσει το χρήστη ως προς το αν το Ε/Ε αίτηµα τερµάτισε µε επιτυχία ή όχι. π.χ. η read ή write κλήση συστήµατος. Ο ορισµός της διεπαφής του ΒΣΑ εξαρτάται από τα χαρακτηριστικά των γλωσσών προγραµµατισµού που χρησιµοποιούνται. Για παράδειγµα, τα περισσότερα προγράµµατα θα εκτελέσουν τη ακόλουθες λειτουργίες: CREATE (δηµιούργησε) ένα νέο αρχείο OPEN (άνοιξε) ένα υπάρχουν αρχείο πριν χρησιµοποιηθεί EXTEND (επέκτεινε) το µέγεθος ενός αρχείου CLOSE (κλείσε) ένα ανοιχτό αρχείο µετά τη χρήση του DELETE (διάγραψε) ένα υπάρχον αρχείο READ (διάβασε) δεδοµένα από ανοιχτό αρχείο WRITE (γράψε) δεδοµένα σε ανοιχτό αρχείο 7

8 Οι παραπάνω λειτουργίες µπορούν να χωριστούν σε 2 κατηγορίες: Πράξεις επί των αρχείων: CREATE, OPEN, EXTEND, CLOSE, DELETE Πράξεις µεταφοράς µπλοκ δεδοµένων: READ, WRITE To ΒΣΑ πρέπει να υλοποιήσει τις παραπάνω πράξεις µε εντολές των συσκευών. π.χ. µιας συσκευής δίσκου restore (κύλινδρος 0) seek (βρες κύλινδρο nr k) step step in step out read sector write sector read address read track write track force interrupt 2.2 Πράξεις επί των αρχείων CREATE_FILE: Σκοπός της CREATE_FILE είναι να δηµιουργήσει νέα αρχεία όταν χρειάζεται. εν πρέπει να δηµιουργούνται αρχεία χωρίς την CREATE_FILE, διότι έτσι διασφαλίζεται η µη δηµιουργία δεύτερου αρχείου µε το ίδιο όνοµα. Η CREATE_FILE δίνει στο αρχείο ένα µοναδικό όνοµα αρχείου. Οι εργασίες που πρέπει να γίνουν ώστε να δηµιουργηθεί το αρχείο είναι: (ι) Να ελεγχθεί αν υπάρχει αρχείο µε το ίδιο όνοµα. Στην περίπτωση που υπάρχει, πρέπει να ειδοποιηθεί ο καλών (caller της CREATE_FILE) µε κατάλληλο τρόπο. Πως γνωρίζει το ΒΣΑ ότι υπάρχει ή δεν υπάρχει άλλο αρχείο µε το ίδιο όνοµα; Υπάρχει µια λίστα µε το ονόµατα των αρχείων, που ονοµάζεται directory (κατάλογος). (Ως χρήστες πολλές φορές ζητούµε να δούµε µια λίστα µε τα ονόµατα των αρχείων που περιέχονται σ' ένα φάκελο. Αυτή η λίστα προέρχεται από τον κατάλογο). Το όνοµα του αρχείου αναζητείται στον κατάλογο και αν βρεθεί τότε δεν µπορεί να δηµιουργηθεί άλλο από το ΒΣΑ και το γνωστοποιεί στο καλόν πρόγραµµα. Αν δεν βρεθεί τότε η CREATE-ALF τοποθετεί το όνοµα του νέου αρχείου στον κατάλογο. (ii) Ελέγχει αν υπάρχουν χώρος έστω για µια εγγραφή. Αν δεν υπάρχει πρέπει να ειδοποιηθεί το καλόν πρόγραµµα. (iii) Καταχωρεί ένα pointer στον κατάλογο που δείχνει στον πρώτο τοµές (sector) που καταλαµβάνει το αρχείο. Με αυτό τον τρόπο εντοπίζεται ένα αρχείο όταν δοθεί το όνοµά του. (ιv) εσµεύει χώρο στη µνήµη RAM για τη µεταφορά των δεδοµένων από το δίσκο. Αυτοί οι χώροι ονοµάζονται Ι/Ο buffers. Το ΒΣΑ µπορεί να δεσµεύει περισσότερα από ένα Ι/Ο buffers ώστε να επεξεργαστεί µε επιτυχία τα αιτήµατα. 8

9 ηµιουργεί έναν πίνακα, γνωστό µε το όνοµα File Control Block (Μπλοκ Ελέγχου του Αρχείου) στον οποίο αποθηκεύονται διάφορες πληροφορίες που είναι κρίσιµες για το αρχείο. (εκτός από το όνοµα, το τρέχον µέγεθος του αρχείου, το µέγεθος του µπλοκ, κτλ.). (v) Επιστρέφει επιτυχία ή αποτυχία στο καλόν πρόγραµµα. Αφού τελειώσει η CREATE_FILE πρέπει να επιστρέψει τον έλεγχο της εκτέλεσης στο καλόν πρόγραµµα. Το αρχείο που µόλις δηµιουργήθηκε παραµένει ανοιχτό. Άρα δεδοµένα σφάλµατα µπορούν να γράφουν αµέσως. Σφάλµατα: Υπάρχει αρχείο µε το ίδιο όνοµα. Η συσκευή δεν έχει χώρο. Η συσκευή δε λειτουργεί ή έχει πρόβληµα. Κάποιε παράµετροι δεν είναι σωστές. OPEN_FILE: Σκοπός του OPEN_FILE είναι να επιτρέψει στον χρήστη να εντοπίζει και να προσπελαύνει υπάρχοντα αρχεία. Η διαφορά µεταξύ του OPEN_FILE από το CREATE_FILE είναι η ύπαρξη ή µη του αρχείου. Οι πληροφορίες που χρειάζεται η OPEN_FILE διαφέρουν από αυτές που χρειάζεται η CREATE_FILE διότι όλες οι κρίσιµες πληροφορίες είναι καταχωρηµένες στο File Control Block. Συνεπώς, η OPEN_FILE χρειάζεται µόνο να εντοπίσει και να διαβάσει αυτές τις πληροφορίες, γνωστές ως ιδιότητες του αρχείου. Αυτό γίνεται µε το όνοµα του αρχείου, το οποίο είναι µοναδικό στον κατάλογο. Οι εργασίες που πρέπει να γίνουν ώστε να ανοίξει το αρχείο είναι οι ακόλουθες: i. έσµευση χώρου για το FCB. ιότι το FCB απαιτείται για την αποθήκευση (φύλαξη) κρίσιµων πληροφοριών απαραίτητων για τη σωστή επεξεργασία του αρχείου. ii. iii. Εντοπισµός του αρχείου. Βάση του ονόµατος του αρχείου γίνεται ο εντοπισµός του στον τρέχοντα κατάλογο. (Αν το όνοµα είναι το πλήρες µονοπάτι τότε ο εντοπισµός θα γίνει µέσω των καταλόγων που περιέχονται στο µονοπάτι). ε θα το εντοπίσει, αν ο χρήστης δεν πληκτρολόγησε το όνοµα σωστά ή το αρχείο να δεν υπάρχει, επειδή διαγράφηκε ή δε δηµιουργήθηκε ποτέ. Αν το εντοπίσει, τότε η θέση του στο δίσκο είναι καταχωρηµένη στον κατάλογο. έσµευση χώρου στη RAM για το Ι/Ο buffer. Το ΒΣΑ πλέον γνωρίζει τη θέση του αρχείου στο δίσκο. Η επόµενη εργασία είναι να δεσµεύσει χώρο στο δίσκο για κάθε Ι/Ο buffer. iv. Το ΒΣΑ ελέγχει αν υπάρχει άλλος που θα χρησιµοποιεί το ίδιο αρχείο. Αν υπάρχει, τότε (it is up to) ωφελείται στο ΒΣΑ να εγγυηθεί ότι ο ένας χρήστης δε θα καταστρέψει τα δεδοµένα του άλλου. v. Ειδοποίηση στον χρήστη ότι το αρχείο άνοιξε επιτυχώς ή ανεπιτυχώς. Σφάλµατα: Το αρχείο δε βρέθηκε. Το αρχείο χρησιµοποιείται. Το υλικό έχει πρόβληµα. 9

10 EXTEND_FILE: Σκοπός του EXTEND_FILE είναι να επιτρέψει στους χρήστες να αυξήσουν το µέγεθος ενός αρχείου. Αν ο χρήστης δεν κάνει ρητή χρήση του EXTEND_FILE µπορεί το ΒΣΑ, αν έχει τη δυνατότητα, να µεγαλώσει το αρχείο για χάρη του χρήστη. Αυτό γίνεται ώστε να µη χαθούν δεδοµένα, άλλα και για να τερµατίσει µε επιτυχία η κλήση. Οι πληροφορίες που χρειάζονται για να πραγµατοποιηθεί η επέκταση είναι: Ο κατάλογος στον οποίο καταχωρήθηκε το όνοµα του αρχείου Το όνοµα του αρχείου Το µέγεθος της αύξησης. Οι εργασίες που πρέπει να γίνουν είναι: 1. Έλεγχος ορθότητας των παραµέτρων. 2. Έλεγχος ύπαρξης του επιπλέον χώρου στη συσκευή. 3. Πρόσθεση του χώρου στο αρχείο και καταχώρηση των ανάλογων πληροφορικών. 4. Επιστροφή επιτυχίας ή αποτυχίας στο χρήστη. Σφάλµατα. Η συσκευή δεν έχει αρκετό χώρο για την επέκταση. Το αρχείο δεν είναι ανοιχτό. Αν εξετάσουµε τις γλώσσες προγραµµατισµού θα δούµε ότι δεν υπάρχει εντολή ή συνάρτηση αντίστοιχα της EXTEND_FILE. Άρα η επέκταση γίνεται εσωτερικά ή αιτείται µέσω άλλης διεπαφής. CLOSE_FILE: Σκοπός του CLOSE_FILE είναι να επιτρέψει στο χρήστη να κλείσει το αρχείο, δηλαδή να το κάνει µη προσβάσιµο για το ίδιο. Άλλοι χρήστες µπορούν να συνεχίσουν να χρησιµοποιούν το αρχείο. Για να κλείσει ένα ανοιχτό αρχείο το ΒΣΑ χρειάζεται µόνο το όνοµα του. Στη συνέχεια γίνονται οι εξής εργασίες: (ι) Καταχώρηση του περιεχοµένου των Ι/Ο buffers στη συσκευή. Όταν ένα πρόγραµµα τερµατίσει ή διακοπεί (abort) τότε το ΒΣΑ θα κλείσει όλα τα αρχεία που το πρόγραµµα άνοιξε. Αυτό γίνεται για την προστασία των δεδοµένων. (ii) Καταχώρηση των πληροφοριών που αφορούν το αρχείο, διότι µπορεί να άλλαξαν. (iii) Απελευθέρωση τη µνήµης RAM που χρησιµοποιήθηκε για τα buffer και άλλες δοµές δεδοµένων, που σχετίζονται µε το αρχείο. (iv) Επιστροφή στο χρήση της επιτυχίας ή αποτυχίας του κλεισίµατος. Σφάλµατα Το αρχείο δεν είναι ανοιχτό. Λάθη του WRITE_BLOCK Πρόβληµα υλικού DELETE_FILE: Σκοπός του DELETE_FILE είναι να διαγράψει το αρχείο από το σύστηµα. Αυτό γίνεται όταν ο χρήστης δε χρειάζεται άλλο ένα αρχείο και επιθυµεί την απελευθέρωση του χώρο που καταλαµβάνει. Ο χώρος που απελευθερώνεται µπορεί να ξαναχρησιµοποιηθεί από άλλα αρχεία. Οι πληροφορίες που χρειάζονται για τη διαγραφή ενός αρχείου είναι το όνοµα του αρχείου, εφόσον έχει την άδεια να το διαγράψει. 10

11 εδοµένου του ονόµατος του αρχείου, το DELETE_FILE µπορεί να διαγράψει το αρχείο εφόσον αυτό είναι κλειστό. Και αυτό, διότι δε θα θέλαµε να διαγράψει ένα αρχείο όταν το χρησιµοποιεί κάποιος άλλος. Για να διαγράψει ένα αρχείο χρειάζεται να εκτελεστούν οι ακόλουθες εργασίες. Οι εργασίες αυτές επαναφέρουν οτιδήποτε έκανε το CREATE-FILE για να καταχωρήσει το αρχείο στο σύστηµα. (i) Έλεγχος ορθότητας των παραµέτρων. (ii) Απελευθέρωση του χώρου της συσκευής που καταλάµβανε το αρχείο για τις εγγραφές και άλλες κρίσιµες πληροφορίες. Ο χώρος αυτός µπορεί να ξαναχρησιµοποιηθεί από άλλο αρχείο. (iii) ιαγραφή του ονόµατος του αρχείου από τον κατάλογο στον οποίο περιέχεται. Αυτή είναι η φυσική διαγραφή του αρχείου. Μπορεί να γίνει λογική διαγραφή του αρχείου χρησιµοποιώντας µια flag ενός bit ή ενός byte η τιµή της οποίας θα δηλώνει αν το όνοµα του αρχείου είναι διαγραµµένο ή όχι. Το πλεονέκτηµα της λογικής διαγραφής είναι ότι µπορεί να γίνει εύκολα επαναφορά του αρχείου, αν διαγραφεί από λάθος, αλλάζοντας την τιµή της flag. Βέβαια για να πετύχει η επαναφορά, πρέπει να γίνει αµέσως µετά τη διαγραφή, διότι διαφορετικά η καταχώρηση αυτή µπορεί να χρησιµοποιηθεί για άλλο αρχείο. Το µειονέκτηµα είναι ότι πρέπει να γίνεται πάντα έλεγχος της flag, όταν προσπελαύνεται το αρχείο. (iv) Επιστροφή επιτυχίας ή αποτυχίας. Σφάλµατα - Το αρχείο δεν υπάρχει - Το αρχείο χρησιµοποιείται από άλλους χρήστες. - Πρόβληµα υλικού. 2.3 Πράξεις µεταφοράς block δεδοµένων Για να υλοποιηθούν αυτές οι πράξεις, πρέπει το αρχείο να είναι ανοιχτό. Πρέπει να αναφέρουµε ότι το ΒΣΑ απλώς διαβάζει ή γράφει τα µπλοκ που ζητήθηκαν, δεν καταλαβαίνει το περιεχόµενο των µπλοκ. Ένα µπλοκ δεδοµένων είναι µια µονάδα (unit) δεδοµένων που µεταφέρεται από και προς τη συσκευή. Το µέγεθος του µπλοκ καθορίζεται από το χρήστη. Μεγάλα µπλοκ είναι προτιµότερα από µικρά µπλοκ για την απόδοση του συστήµατος. Ο χρήστης εκτός από το µέγεθος καθορίζει και τη θέση του µπλοκ µέσα στο αρχείο, µε ένα Λογικό Αριθµό Μπλοκ. Ο Λογικός Αριθµός του Μπλοκ µετατρέπεται σε ένα ή περισσότερους Φυσικούς Αριθµούς Μπλοκ. Ο υπολογισµός αυτός γίνεται από το ΒΣΑ και είναι άγνωστος στο χρήστη. 11

12 WRITE_BLOCK: Σκοπός του WRITE_BLOCK είναι να παρέχει στους χρήστες τη δυνατότητα του Η/Υ στη συσκευή. Η µονάδα δεδοµένων που γράφεται ονοµάζεται µπλοκ. Οι πληροφορίες που χρειάζεται για την υλοποίηση του WRITE_BLOCK είναι: - Ο αριθµός του block. - Η διεύθυνση τον Ι/Ο buffer στην κύρια µνήµη που περιέχει τα δεδοµένα που πρέπει να µεταφερθούν στη συσκευή. - Το µέγεθος του block. - Το πεδίο κατάστασης, όπου θα καταχωρηθεί το αποτέλεσµα της WRITE_BLOCK. Το WRITE_BLOCK πρέπει να εκτελέσει τις ακόλουθες εργασίες: 1. Έλεγχος ορθότητας των παραµέτρων. 2. Μετατροπή του Λογικού Αριθµού Μπλοκ σε διεύθυνση της συσκευής. 3. Έλεγχος ύπαρξης του χώρου στο αρχείο. 4. Αν δεν υπάρχει τότε γίνεται πρώτα επέκταση του αρχείου. Αν υπάρχει γίνεται η µεταφορά του µπλοκ. 5. Η flag του Ι/Ο buffer δείχνει ότι έγινε η µεταφορά άρα µπορεί να γεµίσει µε νέα δεδοµένα αν χρειάζεται. 6. Επιστροφή επιτυχίας ή αποτυχίας. Σφάλµατα - εν υπάρχει χώρος. - Πρόβληµα υλικού. READ_BLOCK: Σκοπός του READ_BLOCK είναι η µεταφορά ενός µπλοκ δεδοµένων από τη συσκευή στην κύρια µνήµη. Η µονάδα δεδοµένων που διαβάζεται λέγεται µπλοκ. Οι πληροφορίες που χρειάζεται για την υλοποίηση του READ_BLOCK είναι: Ο αριθµός του µπλοκ. Η διεύθυνση του Ι/Ο buffer στην κύρια µνήµη όπου θα µεταφερθούν τα δεδοµένα από τη συσκευή. Ο αριθµός των δεδοµένων που πρέπει να διαβαστούν. Το πεδίο κατάστασης στο οποίο θα καταχωρηθεί το αποτέλεσµα της READ_BLOCK. Το READ-BLOCKπρέπει να εκτελέσει τις εξής εργασίες: 1. Έλεγχος ορθότητας των παραµέτρων. 2. Μετατροπή του Λογικού Αριθµού Μπλοκ σε διεύθυνση της συσκευής. 3. Μεταφορά των δεδοµένων από τη συσκευή στο Ι/Ο buffer. 4. Επιστροφή επιτυχίας ή αποτυχίας. Σφάλµατα - Σφάλµα διαβάσµατος (read error) - Εσφαλµένος αριθµός µπλοκ. - Πρόβληµα υλικού. 2.4 Ροή δεδοµένων 12

13 { { 2.5 Απαιτήσεις υλοποίησης Το σχήµα που ακολουθεί απεικονίζει τον τρόπο µε τον οποίο το ΒΣΑ δένει µεταξύ τους διάφορους πίνακες ελέγχου και τα Ι/Ο buffer. Κατ' αρχή (βήµα 1) υπάρχει ένα FCB (File Control Block) για κάθε ανοιχτό αρχείο. 13

14 1 FCB next FCB... I/O buffer DCT 5 IOBCT I/O buffer 2 Device Control Block next DCB... I/O Request Queue Τύπος συσκευής HW διεύθ. συσκευής Χαρακτηριστικά συσκευής... 3 I/O Request Queue ΒΣΑ 4 Συσκευές Επιπροσθέτως, υπάρχει ένα Device Control Table (DCT) (βήµα 2) για κάθε συσκευή του συστήµατος. ΤΟ DCT δείχνει και σε µια ουρά- αιτηµάτων που περιµένουν να εξυπηρετηθούν. Αυτή η ουρά ονοµάζεται Ι/Ο Request Queue (IORQ) (βήµα 3). Συνδεδεµένη µε κάθε συσκευή είναι η δοµή του αρχείου της συσκευής. (βήµα 4). Η δοµή δίσκων αποτελείται από τον πίνακα καταµερισµού (allocation table) και τον κατάλογο αρχείων (directory) του συστήµατος. Αυτό επιτρέπει στο ΒΣΑ να δεσµεύσει χώρο στο δίσκο καθώς και να εντοπίζει υπάρχοντα αρχεία. Υπάρχουν τα Ι/Ο buffer (βήµα 5) στα οποία ή από τα οποία µεταφέρονται τα δεδοµένα. Αυτά τα buffer ελέγχονται από το IOBCT (I/O Buffer Control Table). 14

15 { Το IOBCT περιέχει πληροφορίες που περιγράφουν την τρέχουσα κατάσταση και το περιεχόµενο του συγκεκριµένου buffer. Εποµένως, υπάρχει ένα IOBCT για κάθε Ι/Ο buffer του συστήµατος το οποίο περιέχει πληροφορίες όπως: Τον αριθµό του φυσικού και τον αριθµό του λογικού µπλοκ που βρίσκεται στο buffer. ιεύθυνση και µέγεθος του Ι/) buffer στη RAM. Flags που βοηθούν το σύστηµα αρχείων να διαχειριστεί το Ι/Ο buffer. 15

16 3. Βασικός Ι/Ο επόπτης Ο Βασικός Ι/Ο επόπτης (supervisor) είναι εκείνη η συνιστώσα του ΒΣΑ που είναι υπεύθυνη για Ι/Ο έναρξη και τερµατισµό. Μέχρι τώρα στη µελέτη του ΒΣΑ, αφήσαµε κάποια ζητήµατα χωρίς να τα εξετάσουµε, όπως: Πως προσδιορίζεται η επόµενη εργασία που θα διεκπαιρεωθεί; Αυτό επηρεάζει τον τρόπο µε τον οποίο οι συσκευές κατανέµονται σε όλους τους χρήστες. Πως µπορεί ο χρήστης να ζητήσει συγκεκριµένη συσκευή για κάποια εργασία; Πως κατανέµεται ο χώρος του δίσκου στους χρήστες του συστήµατος, και ποιος εξασφαλίζει ότι ο ίδιος χώρος δεν θα χορηγηθεί σε δύο χρήστες; Πως γίνεται ο χειρισµός των Ι/Ο buffer; Οι απαντήσεις σ' αυτά τα ερωτήµατα βρίσκονται σε ένα κοµµάτι του λογισµικού ένα επίπεδο πάνω από το ΒΣΑ. Χρονοπρογραµµατιστής εργασιών ουλεία του χρονοπρογραµµατιστή εργασιών είναι να επιλέγει την επόµενη εργασία που θα εκτελεστεί. Η επίδρασή του στο ΒΣΑ είναι σηµαντική. { Ο χρονοπρογραµµατιστής διαλέγει την επόµενη διεργασία από την ουρά και το δίνει στον υπεξεργαστή για εκτέλεση. Μια διεργασία θα ελευθερώσει τον επεξεργαστή όταν τελειώσει ο χρόνος που της έχει διατεθεί ή χρειαστεί να εκτελέσει Ι/Ο. Ο χρονοπρογραµµατιστής πρέπει να εξασφαλίζει την εξυπηρέτηση όλων των διεργασιών. Ο χρονοπρογραµµατισµός εξασφαλίζει µε αυτόν τον τρόπο την αποδοτική χρήση ενός Η/Υ. ιαχείριση της κυρίας µνήµης Όσον αφορά το χειρισµό της κυρίας µνήµης, µας ενδιαφέρει η δέσµευση µνήµης για τα Ι/Ο buffer και οι πληροφορίες ελέγχου που χρειάζονται για να εκτελεστούν οι Ι/Ο πράξεις µε ένα τρόπο αποδοτικό και αποτελεσµατικό. 16

17 Το σύστηµα αρχείων χρειάζεται τη χορήγηση µνήµης για - τα Ι/Ο buffer - τους Ι/Ο πίνακες στους οποίους θα καταχωρηθούν τα µπλοκ ελέγχου (control block) για τα οποία µιλήσαµε προηγουµένως. Αυτοί οι πίνακες περιέχουν όλες τις πληροφορίες που το σύστηµα αρχείων χρειάζεται για να παρακολουθεί την πρόοδο των Ι/Ο αιτηµάτων. Είναι σηµαντικό η µνήµη που χρησιµοποιείται για τις Ι/Ο πράξεις να παραµένει δεσµευµένη κατά τη διάρκεια της Ι/Ο πράξης, ανεξάρτητα από τα πως η υπόλοιπη µνήµη διευθύνεται. Όσον αφορά τους πίνακες, ο FCB δεν χρειάζεται µόνιµα στη µνήµη, χρειάζεται µόνο όταν πρέπει να εκτελεστεί µια Ι/Ο πράξη. Οι πίνακες IORQ, IOBCT και DCT πρέπει να βρίσκονται µόνιµα στη µνήµη. ιαχείριση των συσκευών. ουλεία του διαχειριστή συσκευών είναι να χορηγεί ή εκχωρεί τις συσκευές στους διάφορους χρήστες. Αυτό σηµαίνει ότι ο χειριστής συσκευών πρέπει να παρακολουθεί τι ζητάει ο κάθε χρήστης και τι κατέχει. Οι ρουτίνες του πρέπει να εξασφαλίζουν ότι όλοι οι πόροι του συστήµατος κατανέµονται, αποδεσµεύονται και ελέγχονται σωστά. Κάποιες συσκευές µπορούν να χρησιµοποιηθούν από ένα χρήστη κάθε φορά, π.χ. ο εκτυπωτής, ο scanner (σαρωτής), κ.α. Αυτού του είδους οι συσκευές είναι µη-κοινές ή κατεχόµενες αποκλειστικά. Από την άλλη πλευρά, υπάρχουν συσκευές τις οποίες µπορούν να χρησιµοποιήσουν ταυτόχρονα πολλοί χρήστες, π.χ. ο σκληρός δίσκος. Αυτές οι συσκευές καλούνται κοινέςσυσκευές. Ο χρονοπρογραµµατιστής αναβάλλει τη χορήγηση µιας µη-κοινής συσκευής σε µια διεργασία µέχρι η συσκευή να είναι διαθέσιµη. Αυτό µπορεί να επιφέρει µακρές καθυστερήσεις στην εκτέλεση των διεργασιών. 3.1 Οδηγοί συσκευών Ο οδηγός µιας συσκευής είναι µια ρουτίνα η οποία γνωρίζει πώς να ελέγχει και να λειτουργεί τη συσκευή. Είναι ευθύνη του οδηγού συσκευής να εξασφαλίζει τη σωστή και αποδοτική εκτέλεση Ι/Ο πράξεων. Επιπρόσθετα, όταν παρουσιάζεται σφάλµα, είναι ευθύνη του να επανέλθει από το σφάλµα. Οι εργασίες που εκτελούνται από του οδηγούς συσκευών µπορούν να διαχωριστούν σε δύο κατηγορίες: στην έναρξη των Ι/Ο πράξεων και τον τερµατισµό τους. Οι εργασίες αυτές θα συζητηθούν στις επόµενες ενότητες. Οι οδηγοί συσκευών προκειµένου τις απαραίτητες πληροφορίες στον πίνακα DCT. Αυτές οι πληροφορίες διατηρούνται για κάθε συσκευή του συστήµατος. 17

18 3.2 Ουρές αναµονής Ι/Ο αιτηµάτων FIFO ουρές Ι/Ο αιτηµάτων Κάθε εισερχόµενο αίτηµα εισάγεται στο τέλος της ουράς Ι/Ο αιτηµάτων. Όταν τερµατίσει η τρέχουσα Ι/Ο πράξη για τη συγκεκριµένη συσκευή, επιλέγεται το πρώτο Ι/Ο αίτηµα από την αντίστοιχη ουρά. Στις FIFO ουρές, όλα τα Ι/Ο αιτήµατα αντιµετωπίζονται ίσα. Μειονέκτηµα αυτού του αλγορίθµου είναι ότι αν συµβεί ένα γεγονός υψηλής προτεραιότητας, θα εξυπηρετηθεί αφού πρώτα εξυπηρετηθούν τα αιτήµατα που προηγούνται στην ουρά. Ουρές Ι/Ο αιτηµάτων βασισµένες στην προτεραιότητα Η ιδέα είναι ότι υπάρχουν διεργασίες που είναι πιο σηµαντικές από άλλες. Όταν µια υψηλότερης προτεραιότητας διεργασία αιτείται Ι/Ο, τότε πρέπει να εξυπηρετηθεί πριν από τα άλλα αιτήµατα της ουράς µε χαµηλότερη προτεραιότητα. Αν υπάρχουν πολλά επίπεδα προτεραιότητας, τότε σε κάθε επίπεδο υπάρχει µια FIFO ουρά. Συνήθως, οι κρίσιµες διεργασίες είναι αυτές που προτιµώνται από άλλες πιο συνήθεις διεργασίες. Για παράδειγµα αν υπάρχει µια διεργασία µεγάλης εκτύπωσης τότε µπορεί να εξυπηρετηθεί νύχτα όταν δεν υπάρχουν διεργασίες προτεραιότητας. (π.χ. οι αναλυτικές καταστάσεις Τραπεζικών λογαριασµών). Ουρές συγκεκριµένων συσκευών. Συνήθως αφορούν δίσκους, τους οποίους προσπαθούν να χρησιµοποιήσουν µε τον αποδοτικότερο τρόπο. 3.3 Έναρξη Ι/Ο Οπότε µια συσκευή είναι αδρανής, το σύστηµα αρχείων επιλέγει από την αντίστοιχη Ι/Ο ουρά, το επόµενο αίτηµα και αρχίζει την εκτέλεσή του. Αυτή η ακολουθία γεγονότων είναι γνωστή ως έναρξη Ι/Ο. Η ακολουθία αυτή µπορεί να αποδοθεί µε τον εξής αλγόριθµο: Επανάλαβε Είσοδος του Ι/Ο αιτήµατος στην ουρά (εφόσον υπάρχει αίτηµα) Αν η συσκευή είναι αδρανής τότε Αν η ουρά δεν είναι άδεια τότε Επέλεξε το επόµενο Ι/Ο αίτηµα; Ξεκίνα το Ι/Ο Γνωστοποίηση τερµατισµού µε polling ή interrupt; 18

19 Αν Ι/Ο OK, τότε Ενηµέρωσε το χρήστη; Πήγαινε στο "Αν η ουρά δεν είναι άδεια" αλλιώς Αν πρέπει να ξαναπροσπαθήσει τότε ανάκαµψη; Πήγαινε στο ξεκίνηµα του Ι/Ο 3.4 Τερµατισµός Ι/Ο Υπάρχουν δύο τρόποι γνωστοποίησης του τερµατισµού Ι/Ο. ειγµατοληψία (Polling) και ιακοπή (Interrupt). Polling (δειγµατοληψία) γίνεται µε τον έλεγχο ενός status bit (ψηφίο κατάστασης). Σε παλιά χρονικά διαστήµατα γίνεται έλεγχος του ψηφίου αυτού για να διαπιστωθεί αν είναι απασχοληµένο ή αδρανές. Όταν διαπιστώνεται ότι είναι αδρανές, τότε το σύστηµα αρχείων επιλέγει το επόµενο Ι/Ο αίτηµα από την ουρά και ξεκινά το Ι/Ο. Το µειονέκτηµα της δειγµατοληψίας είναι ότι το σύστηµα σπαταλά πολύτιµο χρόνο ελέγχοντας συνεχώς το ψηφίο κατάστασης. Η διακοπή (interrupt) λαµβάνει χώρα όταν τερµατίσει η συσκευή και ενεργοποιεί µια διαδικασία η οποία διεκπεραιώνει τη λήξη του Ι/Ο και συνεχίζει µε τη ρουτίνα έναρξης. 3.5 Υλοποίηση Η IORQ υλοποιείται µε tables όπως φαίνεται στο σχήµα που ακολουθεί. 19

20 FCB next FCB... DCT... DCT next FCB... IORQ... IORQ next request queue Τρέχον αίτηµα Τελευταίο αίτηµα Max αριθµός αιτηµάτων Τρέχων κύλινδρος Τρέχων τοµέας Κατεύθυνση Αλγόριθµος... Ι/Ο εντολές του οδηγού συσκευής Ι/Ο προτεραιότητα Ι/Ο εντολές του οδηγού συσκευής Ι/Ο προτεραιότητα Ι/Ο εντολές του οδηγού συσκευής Ι/Ο προτεραιότητα Οι πληροφορίες που περιέχονται σε ένα πίνακα IORQ είναι οι εξής: Σύνδεσµος µε τον επόµενη IORQ. Σύνδεσµος µε τον κόµβο του αιτήµατος που εξυπηρετείται από την συσκευή. Σύνδεσµος µε τον τελευταίο κόµβο της ουράς. Μέγιστος (αν υπάρχει) αριθµός αιτηµάτων στην ουρά. Ο αλγόριθµος που χρησιµοποιείται (για διαφορετικές συσκευές, διαφορετικοί αλγόριθµοι). Κύλινδροι, sector, κατεύθυνση (αν είναι δίσκος). Σε κάθε κόµβο της ουράς καταχωρούνται οι εξής πληροφορίες: Η διεύθυνση του device driver. 20

21 Η προτεραιότητα του αιτήµατος. Πολλά συστήµατα διατηρούν και ένα error log αρχείο, στο οποίο καταχωρούνται τα σφάλµατα που παρουσιάστηκαν στις συσκευές. 21

22 4. Λογικές Ι/Ο έννοιες Λογικό Ι/Ο είναι εκείνο το τµήµα του συστήµατος αρχείων που επιτρέπει στα προγράµµατα του χρήστη να προσπελάσουν τις λογικές εγγραφές δεδοµένων. Το βασικό σύστηµα αρχείων (ΒΣΑ) δεν είναι ορατό από τον µέσο χρήστη. Το σύστηµα αρχείων και δυνατότητές τους είναι ορατές µόνο µέσω της γλώσσας προγραµµατισµού. Αν η γλώσσα προγραµµατισµού προσφέρει ένα ευρύ πεδίο Ι/Ο δυνατοτήτων, ο χρήστης µπορεί να αξιοποιήσει ένα µεγάλο τµήµα του συστήµατος αρχείων. Ένα πλεονέκτηµα του λογικού Ι/Ο είναι ότι επιτρέπει το χρήστη να σκέφτεται σε σχέση µε την υλοποίηση της εφαρµογής και όχι σε σχέση µε τη διεπαφή της µε το σύστηµα. ηλαδή, ο χρήστης µπορεί να σκέφτεται σχετικά µε τις λογικές εγγραφές και όχι µε τα µπλοκ τα οποία επεξεργάζεται το ΒΣΑ. Είναι πιο εύκολο να κατανοηθεί η εγγραφή αφού είναι εύκολο να σχηµατισουµε την εικόνα της εγγραφής ενός σπουδαστή, εργαζοµένου, καθηγητή, κ.α. Ενώ το ΒΣΑ διαβάζει και γράφει µπλοκ δεδοµένων, το λογικό Ι/Ο διαβάζει και γράφει εγγραφές δεδοµένων. Το πρώτο είναι γνωστό ως φυσικό Ι/Ο αφού ασχολείται µε τη φυσική ή πραγµατική είσοδο και έξοδο των µπλοκ στις διάφορες συσκευές. Το λογικό Ι/Ο διαβάζει κα γράφει εγγραφές ακόµη και αν πρέπει να διαβαστεί ή να γραφτεί ένα φυσικό µπλοκ την ίδια στιγµή. Συνεπώς, το λογικό Ι/Ο ασχολείται µε εγγραφές δεδοµένων. Επειδή οι εγγραφές δεδοµένων διαµένουν µέσα σε µπλοκ, τα οποία πρέπει να µεταφερθούν στην κύρια µνήµη, όλο το λογικό Ι/Ο λαµβάνει χώρα µέσα στην κύρια µνήµη. Κατά συνέπεια το λογικό Ι/Ο είναι σηµαντικά ταχύτερο από το φυσικό Ι/Ο αφού η ταχύτητα επεξεργαστή-µνήµης είναι σηµαντικά µεγαλύτερη από το δίσκο. Ο πρωταρχικός σκοπός του λογικού Ι/Ο είναι να παρέχει στο χρήστη τις ακόλουθες δυνατότητες. Πρότυπη διεπαφή για την τέλεση Ι/Ο Πρότυπο σύνολο µε οργανώσεις αρχείων Γενικευµένη διαχείριση δεδοµένων για όλους τους χρήστες. Πρότυπη διεπαφή µε τις συσκευές. Έτσι ο χρήστης δε χρειάζεται να ξαναγράψει την εφαρµογή του επειδή συνέδεσε µια νέα συσκευή. 4.1 Ιδιότητες αρχείων Οι ιδιότητες αρχείων είναι πληροφορίες πολύ χρήσιµες για της µεθόδους προσπέλασης. Ένα υποσύνολο αυτών είναι οι παρακάτω: Όνοµα αρχείου Οργάνωση αρχείου (Οργάνωση αρχείων= διευθέτηση εγγράφων) Μορφή εγγραφής ( ιάταξη περιεχοµένου εγγραφής) Μέγεθος εγγραφής Μέγεθος αρχείου Μέγεθος µπλοκ; Κάποιες από τις παραπάνω ιδιότητες αποθηκεύονται στον κατάλογο και άλλες µαζί µε το αρχείου. 22

23 4.2 Ροή δεδοµένων από και προς το χρήστη Ο µόνος τρόπος µεταφοράς δεδοµένων προς ή από µια συσκευή είναι µέσω των Ι/Ο πράξεων. Μέσα στην κύρια µνήµη, τα δεδοµένα µεταφέρονται µε εντολές του επεξεργαστή. Τη µόνη φορά που τα δεδοµένα στη συσκευή αλλάζουν είναι όταν εκτελείται πράξη εξόδου (WRITE, UPDATE, DELETE). Μια πράξη εισόδου δεν αλλάζει ποτέ τα δεδοµένα µιας συσκευής (READ, READ_NEXT, POSITION). Ας εξετάσουµε τη ροή δεδοµένων όπως φαίνεται στο προηγούµενο σχήµα. Πρώτα, ο χρήστης καθορίζει ότι µια εγγραφή πρόκειται να καταχωρηθεί στο δίσκο. Ο χρήστης πρέπει να αντιγράψει την εγγραφή σε κάποιο κοµµάτι µνήµης (1). Στη συνέχεια (2) ο χρήστης χρησιµοποιεί τη WRITE εντολή της γλώσσας προγραµµατισµού. Το αίτηµα WRITE περνάει τον έλεγχο στην µέθοδο προσπέλασης. Η µέθοδος προσπέλασης (3) παίρνει τις δύο παραµέτρους - µέγεθος εγγραφής και διεύθυνση εγγραφής - και εντοπίζει την εγγραφή. Βασισµένη στην οργάνωση του αρχείου, η µέθοδος προσπέλασης προσδιορίζει το µπλοκ µέσα στο οποίο καταχωρούνται τα δεδοµένα της εγγραφής. Αν το µπλοκ βρίσκεται στο Ι/Ο buffer, δε χρειάζεται να το ξαναδιαβάσει. Στη συνέχεια η µέθοδος προσπέλασης αντιγράφει την εγγραφή στην κατάλληλη θέση µέσα στο Ι/ Ο buffer, αφήνοντας τα υπόλοιπα δεδοµένα του Ι/Ο buffer άθικτα (4) ή (8) και (4). 23

24 Όταν η εγγραφή βρίσκεται πλέον στη θέση της µέσα στο Ι/Ο buffer, η µέθοδος προσπέλασης θα ζητήσει από το ΒΣΑ να γράψει το µπλοκ στο δίσκο (6). Το τελικό βήµα της µεταφοράς δεδοµένων στο δίσκο (10) αφορά την επιστροφή πληροφοριών της κατάστασης στο χρήστη. Με αυτή την πληροφορία µπορεί ο χρήστης να πει αν η µεταφορά ήταν επιτυχίας ή όχι. Αντίθετα, αν ο χρήστης θέλει να διαβάσει µια εγγραφή, χρησιµοποιεί τη READ εντολή της γλώσσας προγραµµατισµού. Με αυτή την κλήση ο χρήστης δίνει τη διεύθυνση της µνήµης στην µέθοδο προσπέλασης όπου θα µεταφέρει τα δεδοµένα. ίνει επίσης και το µέγεθος της εγγραφής (3). Η µέθοδος προσπέλασης καλεί το ΒΣΑ να µεταφέρει το κατάλληλο µπλοκ από το δίσκο στο Ι/Ο buffer (8). Στη συνέχεια, η µέθοδος προσπέλασης αποσπά το επιθυµητό κοµµάτι από το Ι/Ο µπλοκ και το αντιγράφει στην εγγραφή του χρήστη (9). Τέλος, επιστρέφει πληροφορίες για την κατάσταση στο χρήστη (10). Τότε και µόνο τότε, ο έλεγχος επιστρέφει στο πρόγραµµα του χρήστη. 4.3 Τεχνικές προσωρινής Ι/Ο αποθήκευσης Ι/Ο buffer είναι τµήµατα συνεχούς µνήµης αφιερωµένα στη µεταφορά µπλοκ-δεδοµένων µεταξύ του αρχείου και της µνήµης του Η/Υ. Τα Ι/Ο buffer έχουν το µέγεθος ενός τοµέα ή µιας δέσµης τοµέας (cluster). Ένας buffer ανά αρχείο. Όταν παραχωρείται ένα buffer για Ι/Ο, τότε κάθε READ_BLOCK και WRITE_BLOCK εντολή θα αξιοποιεί τον ίδιο χώρο τις κυρίας µνήµης. Η µέθοδος προσπέλασης πρέπει να εκτελέσει τους ακόλουθους ελέγχους και εργασίες (βλέπε προηγούµενο σχήµα): α) Αν η επιθυµητή εγγραφή βρίσκεται στο τρέχον µπλοκ του Ι/Ο buffer συνέχισε µε το (4). Επόµενο Ι/Ο αίτηµα. (1) Αν το τρέχον µπλοκ είναι το επιθυµητό τότε (2) Αν το τρέχον µπλοκ άλλαξε τότε Γράψε το µπλοκ στο δίσκο Όσο δεν ολοκληρώθηκε η πράξη περίµενε Τέλος-αν (3) Μετέφερε στο Ι/Ο buffer το µπλοκ από το δίσκο Όσο δεν ολοκληρώθηκε η πράξη περίµενε (4) Επεξεργάσου την εγγραφή στο Ι/Ο buffer Αν είναι WRITE αίτηµα τότε Γράψε το µπλοκ στο δίσκο Όσο δεν ολοκληρώθηκε η πράξη περίµενε Τέλος_αν Τέλος-αν β) Αν το µπλοκ δε βρίσκεται στο Ι/Ο buffer, το ΒΣΑ πρέπει να το µεταφέρει από το δίσκο. Πριν γίνει από πρέπει να ελέγξει αν το buffer περιέχει δεδοµένα που πρέπει να καταχωρηθούν στο δίσκο. Αν όχι συνεχίζει µε το βήµα (3). ιαφορετικό πρώτα µεταφέρει το µπλοκ στο δίσκο και µετά συνεχίζει µε το βήµα (3). 24

25 γ) Σ' αυτό το βήµα το ΒΣΑ µεταφέρει το µπλοκ από το δίσκο στο Ι/Ο buffer. Το επιθυµητό µπλοκ βρίσκεται στο Ι/Ο buffer. Αν το αίτηµα ήταν READ, η µέθοδος προσπέλασης µεταφέρει το κατάλληλο τµήµα το µπλοκ στην εγγραφή και επιστρέφει στο χρήστη. Αν ήταν WRITE, η εγγραφή αντιγράφεται στην κατάλληλη θέση στο Ι/Ο buffer. Πολλαπλα buffer ανά αρχείο. Η επιλογή ενός buffer µπορεί να βασιστεί στο αν έχει τροποποιηθεί ή αν περιέχει τα "παλαιότερα" δεδοµένα. Με αυτόν τον τρόπο είναι δυνατή η εξάλειψη µεγάλου µέρους της Ι/Ο καθυστέρησης του ενός buffer. 25

26 5. Μέθοδοι προσπέλασης Σ' αυτή την ενότητα θα καθορίσουµε τις πράξεις που οι χρήστες επιθυµούν να χρησιµοποιούν επί των εγγραφών. Στη συνέχεια θα εξετάσουµε τον τρόπο µε τον οποίο αυτά τα αιτήµατα αντιστοιχίζονται σε µια σειρά κλήσεων που είναι κατανοητές από το σύστηµα αρχείων. Οι µέθοδοι προσπέλασης παρέχουν στους χρήστες περισσότερες δυνατότητες από το ΒΣΑ. Αν και πολλές από τις εντολές φαίνεται να µοιάζουν µε αυτές του ΒΣΑ, ο χρήστης κερδίζει τη δυνατότητα να εργάζεται µε εγγραφές παρά µε µπλοκ. Πως όµως οι µέθοδοι προσπέλασης οργανώνουν τις εγγραφές του χρήστη εντός µιας συγκεκριµένης οργάνωσης αρχείων; Ποιοι αλγόριθµοι χρησιµοποιούνται για να εισάγουν νέες εγγραφές και να ανακτήσουν υπάρχουσες εγγραφές; Κάθε µια από τις οργανώσεις αρχείων που θα µελετήσουµε παρακάτω χρησιµοποιεί διαφορετικές τεχνικές. Σκοπός της παρούσης ενότητας είναι να περιγράψει µε λεπτοµέρεια πως σχεδιάζεται µια οργάνωση αρχείων. Ποια δοµή χτίζεται και γιατί. Γνωρίζοντας τη δοµή του αρχείου, γίνονται πιο κατανοητά τα ακόλουθα χαρακτηριστικά ενός αρχείου Η απόδοση κάθε οργάνωσης αρχείου. Απαιτήσεις χώρου για κάθε τόπο αρχείου. Τα πλεονεκτήµατα και τα µειονεκτήµατα κάθε οργάνωσης αρχείου. 5.1 Πράξεις επί των αρχείων Οι πράξεις επί των αρχείων εκτελούνται στο ίδιο το αρχείο και όχι στις εγγραφές του. Για παράδειγµα, µπορεί να θέλουµε να δηµιουργήσουµε (create) ένα αρχείο σήµερα και να το ανοίξουµε (open) µια άλλη µέρα. Όταν τελειώσουµε την επεξεργασία του αρχείου θα πρέπει να το κλείσουµε (close). Επίσης, µπορεί να θελήσουµε να επεκτείνουµε (extend) το αρχείο. Ίσως, κάποια στιγµή στο µέλλον αποφασίσουµε ότι δεν το χρειαζόµαστε πλέον και θέλουµε να το διαγράψουµε (delete). Στη συνέχεια θα περιγράψουµε τις απαιτήσεις και λειτουργικότητα αυτών των πράξεων. ηµιουργία αρχείου Σκοπός της συνάρτησης create είναι η δηµιουργία αρχείου. Οι πληροφορίες που χρειάζονται για τη δηµιουργία ενός αρχείου είναι: - Pathname (συσκευή, φάκελοι, όνοµα αρχείου) - Μέγεθος του αρχείου - Οργάνωση του αρχείου - Μέγεθος του µπλοκ - Μορφή εγγραφής - Πληροφορίες κοινού αρχείου - κ.α. 26

27 Εργασίες τις οποίες εκτελεί η create: α. Έλεγχος εγκυρότητας των παραµέτρων. Για παράδειγµα δεν µπορεί το µέγεθος του µπλοκ να µικρότερο της εγγραφής. β. Κλήση της CREATE_FILE του ΒΣΑ και δηµιουργία των buffer. γ. Επεξεργασία ειδικά για τη συγκεκριµένη οργάνωση αρχείου. δ. Καταχώρηση ιδιοτήτων του αρχείου. Αφορά τις πληροφορίες που πρέπει να καταχωρηθούν ώστε η µέθοδος προσπέλασης να είναι σε θέση να χειριστεί τις εγγραφές του αρχείου. Το ΒΣΑ χειρίζεται µόνο blocks ενώ η µέθοδος προσπέλασης χειρίζεται τις εγγραφές εντός των µπλοκ. Για να είναι σε θέση, η µέθοδος προσπέλασης, να χειριστεί τις εγγραφές, χρειάζεται τις εξής παραµέτρους - Όνοµα αρχείου - Οργάνωση αρχείου - Μέγεθος µπλοκ - Μορφή εγγραφής - Μέγεθος εγγραφής - Μέγεθος αρχείου - εδοµένα για τη συγκεκριµένη οργάνωση αρχείου. Οι παραπάνω παράµετροι καταχωρούνται στον κατάλογο τον συστήµατος αρχείων και στο ίδιο το αρχείο. ε. Επιστροφή της κατάστασης και του αναγνωστικού του αρχείου, στο καλόν πρόγραµµα. Το αναγνωστικό χρειάζεται για τις read και write πράξεις. Η create µπορεί να αποτύχει για διάφορους λόγους, όπως: - Μη έγκυρες παράµετροι. - εν υπάρχει ελεύθερος χώρος στο δίσκο. - Το αρχείο υπάρχει. Άνοιγµα αρχείου Σκοπός της συνάρτησης open είναι να επιτρέψει στο χρήστη την προσπέλαση υπάρχοντος αρχείου. Σ' ένα αρχείου που έχει δηµιουργηθεί, αυτά που θέλει να κάνει ο χρήστης είναι να διαβάζει και να γράφει εγγραφές. Κάποιες γλώσσες προγραµµατισµού δεν παρέχουν τη συνάρτηση create αλλά αν δεν υπάρχει το αρχείου, η open µπορεί να το δηµιουργήσει. Σε κάθε περίπτωση η open συνδέει το πρόγραµµα του χρήστη µε ένα αρχείου. Η open χρειάζεται τις εξής πληροφορίες: - Συσκευή - Pathname Επιπρόσθετα, ο χρήστης µπορεί να ανοίξει ένα αρχείο κάτω από κάποιους περιορισµούς. Συγκεκριµένα ο χρήστης µπορεί να ζητήσει τα ακόλουθα: 27

28 Άνοιγµα µόνο για είσοδο (δηλαδή, ο χρήστης θα εκτελέσει µόνο read πράξεις). Άνοιγµα µόνο για έξοδο (δηλαδή, ο χρήστης θα εκτελέσει µόνο write πράξεις). Άνοιγµα για είσοδο και έξοδο (δηλαδή, ο χρήστης θα εκτελέσει read και write πράξεις). Είναι δουλειά της µεθόδου προσπέλασης να εξασφαλίσει ότι υποβάλλονται σε επεξεργασία εκείνα µόνο τα αιτήµατα που είναι σύµφωνα µε τον περιορισµό µε τον οποίο ανοίχτηκε το αρχείο. Όλα τα άλλα αιτήµατα πρέπει να απορριφθούν. Τα χαρακτηριστικά του αρχείου καθορίστηκαν κατά τη δηµιουργία του. Συνεπώς, µε την πλήρη διαδροµή (pathname), το αρχείο µπορεί να ανακτηθεί µαζί µε τα χαρακτηριστικά του. Όλες οι πληροφορίες που καταχωρήθηκαν ως µέρος της δηµιουργίας του αρχείου, επανακτώνται ως µέρος του ανοίγµατος του αρχείου. Και αυτό διότι το άνοιγµα του αρχείου πρέπει να φέρει το σύστηµα αρχείων και τη µέθοδο προσπέλασης στο επίπεδο που βρισκόταν ακριβώς µετά τη δηµιουργία του αρχείου. Άρα, η επεξεργασία τις πράξης open είναι η ακόλουθη: α. Έλεγχος εγκυρότητας των παραµέτρων. Η µόνη παράµετρος που χρειάζεται να ελεγχθεί είναι η διαδροµή. (pathname). Αν είναι σωστή τότε το αρχείο µπορεί να βρεθεί µαζί µε όλα τα χαρακτηριστικά του. β. Κλήση της OPEN_FILE του ΒΣΑ. Η µέθοδος προσπέλασης πρέπει να προσδιορίσει το µέγεθος των µπλοκ του αρχείου από τα χαρακτηριστικά του αρχείου. Μετά πρέπει να πει στο σύστηµα αρχείων να δεσµεύσει χώρο µνήµης για ένα ή περισσότερα buffer που να χωρούν τα µπλοκ. Στη συνέχεια πρέπει να δεσµεύσει χώρο µνήµης για το FCB και να καταχωρήσει τα σχετικά χαρακτηριστικά. γ. Επεξεργασία ειδικά για τη συγκεκριµένη οργάνωση αρχείου. δ. Ανάκτηση των χαρακτηριστικών του αρχείου. ε. Επιστροφή της κατάστασης και του αναγνωριστικού του αρχείου, στο καλόν πρόγραµµα. Ο χρήστης πρέπει να πληροφορηθεί αν η διαδικασία ολοκληρώθηκε µε επιτυχία. Αν ναι, τότε θεωρεί ότι µπορεί να ζητήσει την καταχώρηση ή ανάκτηση εγγραφών. ιαφορετικά πρέπει να αποφασίσει για την επόµενη ενέργεια. Η open επιστρέφει και το αναγνωστικό του αρχείου, το οποίο προσδιορίζει µοναδικά το αρχείου διάµεσα σ' όλα τα αρχεία που είναι ανοιχτά. Η open µπορεί να αποτύχει για διάφορους λόγους, όπως: - Το αρχείου δεν βρέθηκε. - Ο χρήστης δεν έχει δικαίωµα προσπέλασης του αρχείου. - Πρόβληµα υλικού. Κλείσιµο αρχείου Σκοπός της συνάρτησης close είναι να επιτρέψει στο χρήστη να σταµατήσει να χρησιµοποιεί ένα αρχείο. Όταν καλείται αυτή η συνάρτηση, η µέθοδος προσπέλασης πρέπει να εξασφαλίσει τη µη απώλεια ή καταστροφή εγγραφών του αρχείου µε το κλείσιµο. Η µόνη παράµετρος που χρειάζεται είναι το αναγνωστικό. Για την πραγµατοποίηση του κλεισίµατος η close εκτελεί τις εξής εργασίες: α. Καταχωρεί στο δίσκο τα δεδοµένα που υπάρχουν µέσα στα Ι/Ο buffer. Όπως γνωρίζουµε, η καταχώρηση των δεδοµένων των Ι/Ο buffer δεν γίνεται µε κάθε εντολή WRITE εγγραφή, µειώνοντας έτσι τις Ι/Ο πράξεις µε αποτέλεσµα την αύξηση της απόδοσης του συστήµατος. 28

29 Συνεπώς, η ρουτίνα close είναι υπεύθυνη για την αποθήκευση των δεδοµένων τα οποία δεν έχουν ακόµα καταχωρηθεί. β. Επεξεργασία ειδικά για τη συγκεκριµένη οργάνωση αρχείων. γ. Κλήση της CLOSE_FILE του ΒΣΑ. δ. Επιστροφή της κατάστασης στο καλόν πρόγραµµα. Τα σφάλµατα που µπορούν να παρουσιαστούν είναι: - Το αρχείο δεν είναι ανοιχτό - Ι/Ο σφάλµατα κατά την καταχώρηση των δεδοµένων των Ι/Ο buffer - εν υπάρχει χώρος στο δίσκο για τα δεδοµένα των Ι/Ο buffer. Αν ένας χρήστης δεν κλείσει τα αρχεία και το πρόγραµµα του τερµατίσει, τότε η µέθοδος προσπέλασης θα πρέπει να κλείσει τα παραπάνω ανοιχτά αρχεία. Το ίδιο µπορεί να συµβεί όταν το πρόγραµµα µαταιωθεί λόγω σηµαντικού σφάλµατος. Επέκταση αρχείου Σκοπός της επέκτασης αρχείου είναι να επιτρέπει στο χρήστη να αυξάνει το µέγεθος του αρχείου. Οι πληροφορίες που χρειάζεται η συνάρτηση αυτή είναι: Το αναγνωστικό του αρχείου Το µέγεθος της επέκτασης Συνεχόµενος ή µη χώρος Οι εργασίες της επέκτασης είναι: α. Έλεγχος εγκυρότητας των παραµέτρων. β. Κλήση της EXTEND_FILE του ΒΣΑ γ. Επεξεργασία ειδικά για την οργάνωση του αρχείου. δ. Επιστροφή της κατάστασης στο καλόν πρόγραµµα. Σφάλµατα: - Μη επαρκής χώρος στο δίσκο για την επέκταση. - Μη ύπαρξη συνεχούς χώρου (όταν αυτό απαιτείται). 5.2 Πράξεις επί των εγγραφών Μετά τη δηµιουργία ή το άνοιγµα ενός αρχείου, έχουµε τη δυνατότητα να επεξεργαστούµε τις εγγραφές του. Σ' αυτήν την ενότητα θα εξετάσουµε τις διάφορες πράξεις που µπορούµε να χρησιµοποιήσουµε. Πριν συνεχίσουµε µε τις πράξεις, πρέπει να δούµε τρεις έννοιες πολύ σηµαντικές για τις µεθόδους προσπέλασης: τρόπος προσπέλασης εγγραφής (record access mode), τρέχουσα εγγραφή (record currency) και τέλος-αρχείου (end-of-file). 29

30 Τρόποι προσπέλασης εγγραφών Οι χρήστες προσπελαύνουν τις εγγραφές των αρχείων συνήθως µε δύο τρόπους: σειριακά ή τυχαία. Αυτοί ονοµάζονται τρόποι προσπέλασης (access modes). Ό σειριακός τρόπος εννοεί ότι η προσπέλαση των εγγραφών θα γίνει µε τη σειρά µε την οποία είναι αποθηκεµένες στο αρχείο. Η σειρά αυτή είναι χρονολογική ή ταξινοµηµένη ως προς κάποιο κλειδί. Το διάβασµα των εγγραφών γίνεται ξεκινώντας από την πρώτη, µετά συνεχίζει µε τη δεύτερη, κ.ο.κ µέχρις ότου η επεξεργασία ολοκληρωθεί ή διαβαστεί και η τελευταία εγγραφή. Ο τυχαίος τρόπος εννοεί ότι η προσπέλαση των εγγραφών δε θα γίνεται µε κάποια προκαθορισµένη σειρά, αλλά θα γίνεται προσπέλαση τυχαίων εγγραφών, δηλαδή, της πέµπτης, της διακοσιοστής, εικοστής, έκτης, κ.ο.κ. Η θέση των εγγραφών εξαρτάται από ένα κλειδί, π.χ. αριθµός µητρώου. Τρέχουσα εγγραφή Είναι πολύ σηµαντικό να θυµάται η µέθοδος προσπέλασης που ακριβώς διάβασε την τελευταία εγγραφή. Για παράδειγµα, στη σειριακή µέθοδος προσπέλασης, αν ήταν γνωστή η θέση της τελευταίας εγγραφής που διαβάστηκε, θα ήταν πολύ απλή υπόθεση να βρεθεί η θέση της επόµενης εγγραφής και να διαβαστεί. Ο ακριβής προσδιορισµός της τελευταίας εγγραφής που διαβάστηκε µε επιτυχία γίνεται µε το δείκτη της τρέχουσας εγγραφής ( ΤΕ) και η εγγραφή λέγεται τρέχουσα εγγραφή (ΤΕ). Λογικό τέλος-αρχείου Είναι πολύ σηµαντική έννοια αφού είναι µια κρίσιµη ένδειξη για τις µεθόδους προσπέλασης. Η συνθήκη του λογικού τέλους-αρχείου δείχνει κατά την σειριακή ανάγνωση των εγγραφών ότι δεν απέµειναν άλλες. Άρα, έφτασε στο λογικό τέλος-του-αρχείου. Προσέξτε τη διαφορά µεταξύ του λογικού και του φυσικού τέλους-του-αρχείου. Το λογικό τέλος-του-αρχείου δείχνει ότι δεν απέµειναν άλλες εγγραφές στο αρχείο. Το φυσικό τέλος-του-αρχείου δείχνει ότι δεν απέµειναν άλλα µπλοκ του αρχείου. Με άλλα λόγια το πρόγραµµα χρησιµοποίησε όλα τα µπλοκ που χορηγήθηκαν στο αρχείου. { { 30

31 Αυτή η συνθήκη δεν αληθεύει κατά την τυχαία προσπέλαση των εγγραφών. Αυτό συµβαίνει διότι η τυχαία προσπέλαση θα είναι επιτυχής, δηλαδή, θα έχει βρεθεί η εγγραφή, ή θα είναι ανεπιτυχής αν δεν βρεθεί η εγγραφή. Τοποθέτηση του ΤΕ µε την εντολή position Η πράξη position επιτρέπει το χρήστη να τοποθετήσει τον ΤΕ σε συγκεκριµένη (έγκυρη) εγγραφή ενός αρχείου και στη συνέχεια να διαβάσει την ΤΕ και τις επόµενες εγγραφές µε σειριακό τρόπο. Οι παράµετροι που χρειάζονται είναι: Το αναγνωριστικό του αρχείου. Κάποιο κριτήριο για τον προσδιορισµό της εγγραφής. - Η θέση της εγγραφής στο αρχείο. - Κάποιο πεδίο της εγγραφής. Ακριβές ταίριασµα του πεδίου. Η εγγραφή να έχει πεδίο ίσο ή µεγαλύτερο του πεδίο αναζήτησης. Πεδίο κατάστασης για την καταχώρηση της κατάστασης τερµατισµού της διαδικασίας Για την επιτυχή λειτουργία της η position ακολουθεί τα εξής βήµατα: α. Έλεγχος εγκυρότητας των παραµέτρων. β. Κλήση της READ_BLOCK του ΒΣΑ. γ. Επεξεργασία ειδικά για την µέθοδο προσπέλασης. Αναζήτηση της εγγραφής µέσα στο µπλοκ σύµφωνα µε τα κριτήρια. Αυτή η λειτουργία εξαρτάται από την οργάνωση του αρχείου. δ. Ενηµέρωση του ΤΕ. Η εντολή position αλλάζει την τιµή του ΤΕ. Αν είναι επιτυχής ο ΤΕ θα δείχνει στην εγγραφή, διαφορετικά θα έχει µια µη έγκυρη τιµή. ε. Επιστροφή της κατάστασης στο καλόν πρόγραµµα. Η εντολή position µπορεί να αποτύχει για διαφόρους λόγους, όπως: - Τα κριτήρια δεν ταίριαξαν. - Μη έγκυρα κριτήρια. - Η εγγραφή έχει κλειδωθεί από άλλο χρήστη. ιάβασµα εγγραφής Η εντολή read διαβάζει την τρέχουσα εγγραφή από ανοιχτό αρχείο, εφόσον άνοιξε µε τον περιορισµό µόνο είσοδος ή είσοδος και έξοδος. ιάβασµα, όπως γνωρίζουµε, σηµαίνει µεταφορά των δεδοµένων της εγγραφής από το Ι/Ο buffer στο δεσµευµένο για την εγγραφή χώρο της µνήµης. Οι παράµετροι που απαιτούνται από της read είναι: 31

32 Το αναγνωστικό του αρχείου. Κάποιο κριτήριο για τον προσδιορισµό της εγγραφής. Τη διεύθυνση του χώρου µνήµης στον οποίο θα µεταφερθεί η εγγραφή. Το µέγεθος της εγγραφής Πεδίο κατάστασης για την καταχώρηση της κατάστασης τερµατισµού της διαδικασίες. Για την επιτυχή λειτουργία της η read ακολουθεί τα εξής βήµατα: α. έλεγχος εγκυρότητας των παραµέτρων. β. Κλήση της position γ. Αντιγραφή των δεδοµένων από το Ι/Ο buffer στο χώρο της εγγραφής. δ. Επιστροφή της κατάστασης στο καλόν πρόγραµµα. ιάβασµα επόµενης εγγραφής Η read-next εντολή διαβάζει την εγγραφή η οποία ακολουθεί την τρέχουσα. Οι παράµετροι που απαιτούνται είναι: Το αναγνωστικό του αρχείου. Η διεύθυνση του χώρου µνήµης στον οποίο θα µεταφερθεί η εγγραφή. Το µέγεθος της εγγραφής. Πεδίο κατάστασης για την καταχώρηση της κατάστασης τερµατισµού της κατάστασης τερµατισµού της διαδικασίας. Προσέξετε ότι δε χρειάζεται κριτήριο για τον προσδιορισµό της εγγραφής. Η µέθοδος προσπέλασης διαβάζει την εγγραφή που λογικά ακολουθεί την τρέχουσα. Στο δίσκο µπορεί να είναι συνεχόµενη της τρέχουσας ή να βρίσκεται σε άλλο µπλοκ. Για να διαβαστούν όλες οι εγγραφές ενός αρχείου, θα πρέπει να γραφεί ένας βρόγχος µε τη read_next συνάρτηση. Ο βρογχος θα τερµατίσει όταν η συνθήκη του λογικού τέλους-του-αρχείου γίνει αληθής. Σε κάθε read_next προσαρµόζεται και ο ΤΕ. Τα βήµατα που ακολουθούνται για τη read_next είναι ίδια µε αυτά για τη read. Αυτό, όµως, που διαφέρει είναι το πώς η µέθοδος προσπέλασης προσδιορίζει την επόµενη λογικά εγγραφή. Γράψιµο εγγραφής Η write χρησιµοποιείται για να προσθέσουµε µια νέα εγγραφή σε ανοιχτό αρχείο. Το αρχείο πρέπει να έχει ανοίξει µε τον περιορισµό έξοδος ή είσοδος και έξοδος. Οι παράµετροι που απαιτούνται είναι οι εξής: Το αναγνωστικό του αρχείου. Κάποιο κριτήριο για την καταχώρηση της εγγραφής. Η διεύθυνση του χώρου µνήµης που περιέχει την εγγραφή. Το µέγεθος της εγγραφής. 32

ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ

ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ΟΡΓΑΝΩΣΗ ΚΑΙ ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ ρ Ζαφείριος Καραΐσκος ΤΕΙ Λάρισας 2010 2 ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή... 1 1.1 Εννοιες και ορισµοί οργάνωσης αρχείων...3 1.2 Συσκευές Ι/Ο...4 1.3 ίσκοι...5 2. Βασικό σύστηµα αρχείων...

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

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

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

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

Σύστηµα Αρχείων και Καταλόγων

Σύστηµα Αρχείων και Καταλόγων ΕΠΛ 003 ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Σύστηµα Αρχείων και Καταλόγων ιάλεξη 7 (Κεφάλαιο 11 του βιβλίου) Στόχοι Κεφαλαίου Περιγραφή της έννοιας του αρχείου, συστήµατος

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

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

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

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

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

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

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

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

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 - 2 - Κεφάλαιο 2 ο Δευτερεύουσα μνήμη Οι εύκαμπτοι μαγνητικοί δίσκοι (floppy disks) ή δισκέτες Οι σκληροί μαγνητικοί δίσκοι (hard disks) Οι

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

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access)

Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μάθημα 3.8 Τεχνικές μεταφοράς δεδομένων Λειτουργία τακτικής σάρωσης (Polling) Λειτουργία Διακοπών DMA (Direct Memory Access) Μελετώντας το μάθημα θα μπορείς να ξέρεις τη λειτουργία του Polling να ξέρεις

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

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

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

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

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

Οργάνωση Υπολογιστών (IΙI) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

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

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη

Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη Ευρετήρια 1 Αρχεία Τα δεδοµένα συνήθως αποθηκεύονται σε αρχεία στο δίσκο Για να επεξεργαστούµε τα δεδοµένα θα πρέπει αυτά να βρίσκονται στη µνήµη. Η µεταφορά δεδοµένων από το δίσκο στη µνήµη και από τη

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

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4

Οργάνωση και Αρχιτεκτονική Υπολογιστών. Κεφάλαιο 7.4 Οργάνωση και Αρχιτεκτονική Υπολογιστών Κεφάλαιο 7.4 Ε/Ε Οδηγούμενη από Διακοπές Το πρόβλημα με την προγραμματιζόμενη Ε/Ε είναι ότι ο επεξεργαστής πρέπει να περιμένει ώστε η μονάδα Ε/Ε που τον ενδιαφέρει

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

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ. Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό

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

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

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

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

Οι βασικές λειτουργίες (ή πράξεις) που γίνονται σε μια δομή δεδομένων είναι:

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

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

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

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

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

Πανεπιστήµιο Θεσσαλίας

Πανεπιστήµιο Θεσσαλίας Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής Ενότητα 8η: Συσκευές Ε/Ε - Αρτηρίες Άσκηση 1: Υπολογίστε το µέσο χρόνο ανάγνωσης ενός τµήµατος των 512 bytes σε µια µονάδα σκληρού δίσκου µε ταχύτητα περιστροφής

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος εδοµένα οµές δεδοµένων και αλγόριθµοι Τα δεδοµένα είναι ακατέργαστα γεγονότα. Η συλλογή των ακατέργαστων δεδοµένων και ο συσχετισµός τους δίνει ως αποτέλεσµα την πληροφορία. Η µέτρηση, η κωδικοποίηση,

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΛΥΣΗ ΣΤΗΝ ΕΥΤΕΡΗ ΑΣΚΗΣΗ ΜΑΘΗΜΑ ΒΑΣΕΙΣ Ε ΟΜΕΝΩΝ ΑΚΑ. ΕΤΟΣ 2012-13 Ι ΑΣΚΟΝΤΕΣ Ιωάννης Βασιλείου Καθηγητής, Τοµέας Τεχνολογίας

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

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας

4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας 4.1.1 Άνοιγμα υπάρχοντος βιβλίου εργασίας από βάση δεδομένων Όταν εκκινήσουμε τον Discoverer εμφανίζεται στην οθόνη μας το παράθυρο διαλόγου του βοηθητικού προγράμματος

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

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο

Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Κατακερματισμός 1 Αποθήκευση εδομένων (σύνοψη) Τα δεδομένα (περιεχόμενο) μιας βάσης δεδομένων αποθηκεύεται στο δίσκο Παραδοσιακά, μία σχέση (πίνακας/στιγμιότυπο) αποθηκεύεται σε ένα αρχείο Αρχείο δεδομένων

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

Μάθημα 3: Αρχιτεκτονική Υπολογιστών Μάθημα 3: Αρχιτεκτονική Υπολογιστών 3.1 Περιφερειακές μονάδες και τμήμα επεξεργασίας Στην καθημερινή μας ζωή ερχόμαστε συνέχεια σε επαφή με υπολογιστές. Ο υπολογιστής είναι μια συσκευή που επεξεργάζεται

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

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

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

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

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

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

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ

2ο ΓΕΛ ΑΓ.ΔΗΜΗΤΡΙΟΥ ΑΕΠΠ ΘΕΟΔΟΣΙΟΥ ΔΙΟΝ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΠΡΟΣΟΧΗ ΣΤΑ ΠΑΡΑΚΑΤΩ ΣΤΑΘΕΡΕΣ είναι τα μεγέθη που δεν μεταβάλλονται κατά την εκτέλεση ενός αλγόριθμου. Εκτός από τις αριθμητικές σταθερές (7, 4, 3.5, 100 κλπ), τις λογικές σταθερές (αληθής και ψευδής)

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

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

Επεξεργασία Ερωτήσεων

Επεξεργασία Ερωτήσεων Εισαγωγή στην Επεξεργασία Ερωτήσεων 1 Εισαγωγή ΣΔΒΔ Σύνολο από προγράµµατα για τη διαχείριση της ΒΔ Αρχεία ευρετηρίου Κατάλογος ΒΑΣΗ ΔΕΔΟΜΕΝΩΝ Αρχεία δεδοµένων συστήµατος Σύστηµα Βάσεων Δεδοµένων (ΣΒΔ)

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

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

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

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

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

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

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

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

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

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

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

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

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

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

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο

Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο Κατακερµατισµός 1 Οργάνωση Αρχείων (σύνοψη) Οργάνωση αρχείων: πως είναι τοποθετηµένες οι εγγραφές ενός αρχείου όταν αποθηκεύονται στο δίσκο 1. Αρχεία Σωρού 2. Ταξινοµηµένα Αρχεία Φυσική διάταξη των εγγραφών

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

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

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

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

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

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

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

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή στην Πληροφορική 1 Γενικές πληροφορίες Εισαγωγή στην Πληροφορική ιδασκαλία: Παναγιώτης Χατζηδούκας Email:

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ

ÔÏÕËÁ ÓÁÑÑÇ ÊÏÌÏÔÇÍÇ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Παρασκευή 25 Απριλίου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

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

ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD ΗΜΙΟΥΡΓΙΑ ΙΣΤΟΣΕΛΙ ΑΣ ΣΤΟ MICROSOFT WORD Σε ορισµένες περιπτώσεις είναι ιδιαίτερα χρήσιµη η δηµιουργία ιστοσελίδων ενηµερωτικού περιεχοµένου οι οποίες στη συνέχεια µπορούν να δηµοσιευθούν σε κάποιο τόπο

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

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

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

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

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

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων 2009-2010: Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

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

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

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

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

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

7.5 Πρωτόκολλο IP. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.5 Πρωτόκολλο IP 38. Τι είναι το πρωτόκολλο ιαδικτύου (Internet Protocol, IP); Είναι το βασικό πρωτόκολλο του επιπέδου δικτύου της τεχνολογίας TCP/IP. Βασίζεται στα αυτοδύναµα

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

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy

Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Σ ε λ ί δ α 1 Οδηγός Εγκατάστασης και Χρήσης του Arebas Easy Περιεχόμενα 1. Download Arebas Easy... 2 2. Εγκατάσταση Arebas Easy... 3 3. Εγγραφή στον Arebas Server... 7 4. Παραμετροποίηση Arebas Easy...

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε

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

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

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

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

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ

Γενικές Αρχές. Τεχνολογία ικτύων Επικοινωνιών ΙΙ Τεχνολογία ικτύων Επικοινωνιών ΙΙ 7.1.1. Γενικές Αρχές 1. Τι ονοµάζεται επικοινωνιακό υποδίκτυο και ποιο είναι το έργο του; Το σύνολο όλων των ενδιάµεσων κόµβων που εξασφαλίζουν την επικοινωνία µεταξύ

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND. 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΡΟΣΟΜΟΙΩΣΗ ΔΙΕΡΓΑΣΙΩΝ ΧΡΗΣΙΜΟΠΟΙΩΝΤΑΣ ΤΟ ΛΟΓΙΣΜΙΚΟ EXTEND 1 ο εργαστήριο Διοίκησης και Παραγωγής Έργων ΙΣΤΟΤΟΠΟΣ ΕΡΓΑΣΤΗΡΙΟΥ http://www.mech.upatras.gr/~adamides/dpe ΠΡΟΣΟΜΟΙΩΣΗ Η τεχνική

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

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

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

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

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

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

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

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

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

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

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

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

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

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

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

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1

Υποβολή Αναλώσιµων Υλικών ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ. Ηλεκτρονικές Υπηρεσίες. Υποβολή Αναλώσιμων Υλικών. Σελίδα 1 ΕΓΧΕΙΡΙΔΙΟ ΧΡΗΣΗΣ Ηλεκτρονικές Υπηρεσίες Υποβολή Αναλώσιµων Υλικών Σελίδα 1 Πίνακας περιεχομένων 1.1 Συμβατότητα Browser... 3 1.2 Διεύθυνση πρόσβασης... 3 2 Υποβολή Αναλώσιμων Υλικών... 4 2.1 Σύνδεση με

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

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ

ΟΜΟΣΠΟΝ ΙΑ ΕΚΠΑΙ ΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑ ΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2014 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ: ΚΑΤΕΥΘΥΝΣΗ: ΜΑΘΗΜΑ: ΘΕΜΑ Α Γ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΤΕΧΝΟΛΟΓΙΚΗ (2ος Κύκλος) ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ Ηµεροµηνία: Παρασκευή 25 Απριλίου 2014 ιάρκεια Εξέτασης: 3 ώρες ΕΚΦΩΝΗΣΕΙΣ

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

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

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

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

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 21/10/2016

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ 1 ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΚΕΦΑΛΑΙΟ 3ο: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΜΕΡΟΣ 2 ο : ΣΤΟΙΒΑ & ΟΥΡΑ ΙΣΤΟΣΕΛΙΔΑ ΜΑΘΗΜΑΤΟΣ: http://eclass.sch.gr/courses/el594100/ ΣΤΟΙΒΑ 2 Μια στοίβα

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

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1

Ευρετήρια. Ευρετήρια. Βάσεις Δεδομένων : Ευρετήρια 1 Ευρετήρια 1 Ευρετήρια Ένα ευρετήριο (index) είναι μια βοηθητική δομή αρχείου που κάνει πιο αποδοτική την αναζήτηση μιας εγγραφής σε ένα αρχείο Το ευρετήριο καθορίζεται (συνήθως) σε ένα γνώρισμα του αρχείου

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 2: Υλοποίηση Ευρετηρίου Β+ Δένδρου Προθεσμία: 6 Ιουνίου 2011, 11:59μμ

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

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η

Έστω ένας πίνακας με όνομα Α δέκα θέσεων : 1 η 2 η 3 η 4 η 5 η 6 η 7 η 8 η 9 η 10 η Μονοδιάστατοι Πίνακες Τι είναι ο πίνακας γενικά : Πίνακας είναι μια Στατική Δομή Δεδομένων. Δηλαδή συνεχόμενες θέσεις μνήμης, όπου το πλήθος των θέσεων είναι συγκεκριμένο. Στις θέσεις αυτές καταχωρούμε

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσµία: 7/1/2014, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

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

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

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

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

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

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

ΕΓΧΕΙΡΙΔΙΟ ΟΔΗΓΙΩΝ ΧΡΗΣΤΗ. Ηλεκτρονική Υποβολή Α.Π.Δ.

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

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 2. Πίνακες 45 23 28 95 71 19 30 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 12/10/2017

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

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

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

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

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

ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ Συστήματα Διαχείρισης Βάσεων Δεδομένων Άσκηση 1 Δημήτρης Πλεξουσάκης Τμήμα Επιστήμης Υπολογιστών HY460 Συστήματα Διαχείρισης Βάσεων Δεδομένων Διδάσκοντες: Δημήτρης

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

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

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

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

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

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

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

Συνεργείο Αυτοκινήτων

Συνεργείο Αυτοκινήτων Συνεργείο Αυτοκινήτων v2.102, Οκτώβριος 2015 Σύντοµες οδηγίες χρήσης Εισαγωγή Το πρόγραµµα Συνεργείο Αυτοκινήτων έχει σκοπό τη διαχείριση και παρακολούθηση του πελατολογίου, των αυτοκινήτων και των εργασιών

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

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

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

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

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM).

Υπάρχουν δύο τύποι μνήμης, η μνήμη τυχαίας προσπέλασης (Random Access Memory RAM) και η μνήμη ανάγνωσης-μόνο (Read-Only Memory ROM). Μνήμες Ένα από τα βασικά πλεονεκτήματα των ψηφιακών συστημάτων σε σχέση με τα αναλογικά, είναι η ευκολία αποθήκευσης μεγάλων ποσοτήτων πληροφοριών, είτε προσωρινά είτε μόνιμα Οι πληροφορίες αποθηκεύονται

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

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος

ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος Παναγιώτα Φατούρου. Προγραµµατιστική Εργασία 3 ο Μέρος Πανεπιστήµιο Κρήτης, Τµήµα Επιστήµης Υπολογιστών 6 εκεµβρίου 2008 ΗΥ240: οµές εδοµένων Χειµερινό Εξάµηνο Ακαδηµαϊκό Έτος 2008-09 Παναγιώτα Φατούρου Προγραµµατιστική Εργασία 3 ο Μέρος Ηµεροµηνία Παράδοσης:

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή Κεφάλαιο 3 Το υλικό του υπολογιστή Εισαγωγή Τµήµατα του Η/Υ καιοργάνωση Μονάδα Κεντρικής Μνήµης Κεντρική Μονάδα Επεξεργασίας (CPU) Μονάδα Εισόδου Εξόδου ίαυλοι Επικοινωνίας Εναλλακτικές αρχιτεκτονικές

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

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

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

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

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2

ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΑΡΧΗ 1ης ΣΕΛΙ ΑΣ ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΤΑΞΗ : Γ ΛΥΚΕΙΟΥ ΣΠΟΥΔΕΣ ΟΙΚΟΝΟΜΙΑΣ & ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΜΗΜΑ: Γ2 ΔΙΑΓΩΝΙΣΜΑ ΠΕΡΙΟΔΟΥ : ΙΑΝΟΥΑΡΙΟΥ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ : 7

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

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

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

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

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

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

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

Κατανεµηµένασυστήµατα αρχείων

Κατανεµηµένασυστήµατα αρχείων Κατανεµηµένασυστήµατα αρχείων Θέµατα σχεδίασης ιεπαφή υπηρεσίας αρχείων και ευρετηρίων Ονόµατα και αναγνωριστικά Οργάνωση εξυπηρετητών Σηµασιολογία (κατα)µερισµού αρχείων Ενταµίευση αρχείων Συνέπεια συστήµατος

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

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ

ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΠΑΡΑΡΤΗΜΑ: QUIZ ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ (Οι ερωτήσεις µε κίτρινη υπογράµµιση είναι εκτός ύλης για φέτος) ΕΙΣΑΓΩΓΗ Q1. Οι Πρωταρχικοί τύποι (primitive types) στη Java 1. Είναι όλοι οι ακέραιοι και όλοι οι πραγµατικοί

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