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

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

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

Transcript

1 ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΠΛΩΜΑΤΙΚΗ ΕΡΓΑΣΙΑ ΣΥΣΤΗΜΑ ΕΛΕΓΧΟΜΕΝΗΣ ΠΡΟΣΒΑΣΗΣ ΜΕ ΤΗΝ ΧΡΗΣΗ ΕΞΥΠΝΩΝ ΚΑΡΤΩΝ Μερκουρίου Ανδρέας Επιβλέπων Καθηγητής: Ι. Μ. Κοντολέων ΘΕΣΣΑΛΟΝΙΚΗ 2000

2 Στο σημείο αυτό θέλω να ευχαριστήσω τον καθηγητή κ. Ιωάννη Κοντολέων για την ανάθεση αυτής της διπλωματικής εργασίας αλλά και για την πολύτιμη βοήθεια του σε όλα τα στάδια της ανάπτυξης της.

3

4

5 1 2 ΠΕΡΙΕΧΟΜΕΝΑ 2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΙΣΑΓΩΓΗ ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΚΕΦΑΛΑΙΟ ΕΞΥΠΝΕΣ ΚΑΡΤΕΣ ΓΕΝΙΚΆ ΤΎΠΟΙ ΚΑΡΤΏΝ ΜΕ ΟΛΟΚΛΗΡΩΜΈΝΟ Κάρτες Μνήμης (Memory Cards) Κάρτες Πολλών Λειτουργιών με Μικροεπεξεργαστή CPU/MPU ΧΩΡΗΤΙΚΌΤΗΤΑ, ΑΠΌΔΟΣΗ ΚΑΙ ΚΌΣΤΟΣ ΤΩΝ ΚΑΡΤΏΝ ΚΆΡΤΕΣ ΤΟΥ ΣΥΣΤΉΜΑΤΟΣ ΕΛΕΓΧΌΜΕΝΗΣ ΠΡΌΣΒΑΣΗΣ Χάρτης Μνήμης Τρόπος Λειτουργίας ΚΕΦΑΛΑΙΟ ΤΟ ΥΛΙΚΟ ΜΕΡΟΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ΗΛΕΚΤΡΟΝΙΚΌΣ ΥΠΟΛΟΓΙΣΤΉΣ ΤΟΥ ΣΥΣΤΉΜΑΤΟΣ ΚΑΡΤΟΔΈΚΤΗΣ ΓΙΑ RS ΣΥΣΚΕΥΉ ΕΛΈΓΧΟΥ ΚΑΙ ΤΡΟΦΟΔΟΣΊΑΣ ΚΕΦΑΛΑΙΟ ΠΡΟΕΡΓΑΣΙΑ ΛΟΓΙΣΜΙΚΟΥ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΉ ΔΙΑΣΎΝΔΕΣΗ ΕΦΑΡΜΟΓΏΝ (API) Γενικά API και Visual Basic ΠΟΛΛΑΠΛΈΣ ΡΟΈΣ ΠΡΟΓΡΆΜΜΑΤΟΣ Γενικά Πολλαπλές ροές με τη χρήση του Win32 API Πολλαπλές ροές και Visual Basic Πολλαπλές ροές στα Windows ΒΆΣΕΙΣ ΔΕΔΟΜΈΝΩΝ ΑΝΑΠΑΡΑΓΩΓΉ ΟΜΙΛΊΑΣ (TEXT-TO-SPEECH) ΠΡΟΓΡΑΜΜΑΤΙΣΜΌΣ ΓΙΑ WINDOWS NT ΚΕΦΑΛΑΙΟ ΣΧΕΔΙΑΣΜΟΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ

6 4.1 ΑΡΧΙΤΕΚΤΟΝΙΚΉ ΛΟΓΙΣΜΙΚΟΎ ΒΆΣΕΙΣ ΔΕΔΟΜΈΝΩΝ ΔΙΑΣΎΝΔΕΣΗ ΚΑΡΤΟΔΕΚΤΏΝ ΔΙΑΣΎΝΔΕΣΗ ΣΥΣΚΕΥΉΣ ΕΛΈΓΧΟΥ ΠΡΌΓΡΑΜΜΑ SMART GUARD Αρχικές Συνθήκες Λειτουργία Διάβασμα Καρτοδεκτών Αναγνώριση και Ενημέρωση Εγγραφή Κάρτας Παραγωγή Κωδικών Κρυπτογράφηση Εισαγωγή/Εξαγωγή Δεδομένων ΠΡΌΓΡΑΜΜΑ ΦΡΟΥΡΌΣ Τρόπος Λειτουργίας ΠΡΌΓΡΑΜΜΑ ΔΡΑΣΤΗΡΙΌΤΗΤΑΣ Σχεδιασμός ActiveX EXE Server Εμφάνιση και Εκτύπωση Δεδομένων ΚΕΦΑΛΑΙΟ ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ΠΡΌΓΡΑΜΜΑ SMART GUARD Περιβάλλον Διασύνδεσης του προγράμματος Τα μενού του προγράμματος Παρεχόμενη βοήθεια Κατάσταση καρτοδεκτών και κόμβου ΡΥΘΜΊΣΕΙΣ ΤΟΥ ΠΡΟΓΡΆΜΜΑΤΟΣ SMART GUARD Βάση Δεδομένων Αντίγραφο Βάσης Δεδομένων Βασικές Ρυθμίσεις Ρυθμίσεις Ενημέρωσης Ρυθμίσεις Ασφάλειας ΧΡΉΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΎ Εγγραφή Έξυπνης Κάρτας Τροποποίηση στοιχείων χρήστη Εισαγωγή/Εξαγωγή Δεδομένων Ανάκτηση Δεδομένων από το Αντίγραφο Αρχείο Δραστηριότητας - Εκτύπωση Φρουρός Προγράμματος ΠΡΟΒΛΉΜΑΤΑ ΚΑΙ ΛΎΣΕΙΣ Διάγνωση του προβλήματος Σφάλμα κατά την εκκίνηση του προγράμματος Προβλήματα στη Σύνθεση Ομιλίας ΚΕΦΑΛΑΙΟ ΑΞΙΟΠΙΣΤΙΑ ΣΥΣΤΗΜΑΤΟΣ ΑΞΙΟΠΙΣΤΊΑ ΣΥΣΤΉΜΑΤΟΣ ΑΞΙΟΠΙΣΤΊΑ ΥΛΙΚΟΎ ΑΞΙΟΠΙΣΤΊΑ ΛΟΓΙΣΜΙΚΟΎ Θεωρία Αξιοπιστίας Λογισμικού

7 6.3.2 Σχεδιασμός Αξιοπιστίας ΑΠΟΤΊΜΗΣΗ ΠΟΙΌΤΗΤΑΣ ΛΟΓΙΣΜΙΚΟΎ Πολυπλοκότητα Κατανοησιμότητα Επαναχρησιμοποίηση Επεξήγηση των μετρήσεων ΑΠΟΤΕΛΈΣΜΑΤΑ ΜΕΤΡΉΣΕΩΝ Χειριστήριο CardPlus Πρόγραμμα Smart Guard Πρόγραμμα Φρουρός (Guard) Πρόγραμμα Δραστηριότητας Συμπεράσματα Μετρήσεων ΣΥΜΠΕΡΙΦΟΡΑ ΣΥΣΤΗΜΑΤΟΣ ΣΥΜΠΕΡΑΣΜΑΤΑ ΠΑΡΑΡΤΗΜΑ Α ΣΥΝΑΡΤΗΣΕΙΣ WIN32 API...87 ΕΥΡΕΤΗΡΙΟ...88 ADVAPI32.DLL...90 GDI32.DLL...93 KERNEL32.DLL...94 USER32.DLL...99 WINMM.DLL ΠΑΡΑΡΤΗΜΑ Β ΗΛΕΚΤΡΟΝΙΚΑ ΕΞΑΡΤΗΜΑΤΑ ΒΙΒΛΙΟΓΡΑΦΙΑ

8 4

9 3 4 ΕΙΣΑΓΩΓΗ ε πολλούς τομείς της καθημερινής ανθρώπινης δραστηριότητας όλο και πιο πολλές ξεχωριστές διατάξεις τείνουν να αντικατασταθούν από τις «Έξυπνες Κάρτες», οι οποίες αναλαμβάνουν να εκτελέσουν χρονοβόρες λειτουργίες της ανθρώπινης δραστηριότητας. Μία σημαντική εφαρμογή των Έξυπνων Καρτών είναι και η Κάρτα Ελεγχόμενης Πρόσβασης που είναι ιδανική για την ασφάλεια μίας εισόδου ή ενός κτιρίου. Η έξυπνη κάρτα μοιάζει εξωτερικά με μία τυπική κάρτα τηλεφώνου αλλά είναι εφοδιασμένη με ένα ολοκληρωμένο (chip) που περιέχει μνήμη Read/Write ή ακόμα και ένα μικροεπεξεργαστή. Το «Smart Guard» είναι ένα ολοκληρωμένο πακέτο που σχεδιάστηκε για την υλοποίηση Συστήματος Ελεγχόμενης Πρόσβασης με χρήση Έξυπνων Καρτών. Είναι δε δυνατόν να παρέχει έλεγχο και πρόσβαση μέχρι και σε τρεις εισόδους ταυτόχρονα ενώ ο προγραμματισμός των Καρτών γίνεται ανεξάρτητα από τις εισόδους. Το σύστημα παρέχει σημαντικές δυνατότητες και την ευελιξία παρόμοιων πακέτων του εμπορίου. Σημαντικό είναι το γεγονός ότι μπορούν να χρησιμοποιηθούν πολλά συστήματα ταυτόχρονα τα οποία θα συνεργάζονται κιόλας. Το λογισμικό του συστήματος παρουσιάζει υψηλή αξιοπιστία και είναι συμβατό με Windows 95 / 98 / NT και Το Smart Guard υποστηρίζει τις Έξυπνες Κάρτες GemPlus GPM 416 καθώς και τις Κάρτες Siemens SLE 4404 ενώ υπάρχει και δυνατότητα επέκτασης. Το όλο σύστημα υλοποιείται με ένα προσωπικό υπολογιστή, τους κατάλληλους καρτοδέκτες, τη συσκευή ελέγχου εισόδων και το λογισμικό Smart Guard. 5

10 5 6 ΠΕΡΙΓΡΑΦΗ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ ο σύστημα Smart Guard είναι ένα Σύστημα Ελεγχόμενης Πρόσβασης που σχεδιάστηκε να προσφέρει έλεγχο στην πρόσβαση τριών θυρών με τη χρήση Έξυπνων Καρτών. Η προσπάθεια επικεντρώθηκε στο να δημιουργηθεί ένα αποδοτικό και αξιόπιστο σύστημα εφάμιλλο με αυτά του εμπορίου. Το σύστημα αποτελείται από δύο βασικά μέρη, το υλικό (hardware) και το λογισμικό (software). Η ιδέα της λειτουργίας του είναι απλή και βασίζεται στην επικοινωνία και οδήγηση περιφερειακών συσκευών μέσω ενός υπολογιστικού συστήματος. Το υλικό μέρος του συστήματος αποτελείται από ένα προσωπικό υπολογιστή (personal computer) που είναι συνδεδεμένος με τους κατάλληλους καρτοδέκτες και μία ηλεκτρονική συσκευή για το άνοιγμα των εισόδων. Το λογισμικό του συστήματος εκτελείται στο υπολογιστικό σύστημα και οδηγεί όλες αυτές τις συσκευές λαμβάνοντας και δίνοντας δεδομένα. Με τον τρόπο αυτό διαβάζει τα δεδομένα των καρτών που τοποθετούνται στους καρτοδέκτες, τα επεξεργάζεται και στην περίπτωση έγκυρης κάρτας οδηγεί την ηλεκτρονική συσκευή για το άνοιγμα της κατάλληλης εισόδου. Επιπλέον το λογισμικό παρέχει όλα όσα είναι απαραίτητα για τη διαχείριση των χρηστών, την ενημέρωση για τη δραστηριότητα στις εισόδους, την αποθήκευση και εκτύπωση της δραστηριότητας, την εγγραφή κάρτας, τις ρυθμίσεις και πολλά άλλα. Όπως είναι φανερό, το μεγαλύτερο βάρος πέφτει στο λογισμικό το οποίο καλείται να διεκπεραιώσει πολλούς και διαφορετικούς σκοπούς ενώ πρέπει να εργάζεται χωρίς διακοπές εικοσιτέσσερις ώρες το εικοσιτετράωρο. Για το λόγο αυτό δημιουργήθηκαν τρία ξεχωριστά προγράμματα ενώ χρησιμοποιείται και τεχνολογία πολυεπεξεργασίας. 6

11 Για την επεκτασιμότητα χρησιμοποιήθηκε κρυπτογράφηση και σχεδιασμός που να επιτρέπει τη χρήση πολλών ίδιων συστημάτων ταυτόχρονα τα οποία θα συνεργάζονται κιόλας. Με τον τρόπο αυτό επεκτείνεται το σύστημα σε μεγαλύτερο και εξοικονομούνται κάρτες αφού για την πρόσβαση στα συστήματα αυτά θα αρκεί μόνο μία κάρτα. Η ανάγκη για μεγάλη αξιοπιστία και διαθεσιμότητα του λογισμικού οδήγησε σε ποιοτικό σχεδιασμό και έλεγχο. Ακόμη, έγινε ειδικός σχεδιασμός έτσι ώστε και τα τρία προγράμματα να μπορούν να λειτουργούν στις διαφορετικές πλατφόρμες των Windows. Στα κεφάλαια που ακολουθούν γίνεται αναλυτική εξέταση της σχεδίασης και υλοποίησης του συστήματος. Στο Κεφάλαιο 1 γίνεται μία εισαγωγή στην τεχνολογία των Έξυπνων Καρτών και παρουσιάζονται οι κάρτες που επιλέχθηκαν για το σύστημα. Στο κεφάλαιο 2 παρουσιάζεται το υλικό μέρος του συστήματος και ο τρόπος συνδεσμολογίας του. Παρουσιάζεται η κάθε συσκευή ξεχωριστά και δίνονται οδηγίες για την κατασκευή της ηλεκτρονική συσκευής Ελέγχου και Τροφοδοσίας. Στο Κεφάλαιο 3 παρουσιάζονται οι ειδικές τεχνικές που χρησιμοποιήθηκαν για την ανάπτυξη του λογισμικού όπως η χρήση του Win32 API, η πολυεπεξεργασία και γενικά οι τεχνικές που θεωρούνται σαν προεργασία. Στο Κεφάλαιο 4 παρουσιάζεται ο σχεδιασμός του λογισμικού, οι τεχνικές για την ανάπτυξη του και εξηγείται ο τρόπος λειτουργίας των βασικών τμημάτων που το αποτελούν. Στο Κεφάλαιο 5 παρουσιάζεται το περιβάλλον του λογισμικού, ο τρόπος χρήσης του, οι ρυθμίσεις του και εξετάζονται διάφορα προβλήματα που μπορεί να εμφανιστούν και η λύση τους. Στο Κεφάλαιο 6 εξετάζεται η αξιοπιστία του συστήματος με ιδιαίτερη έμφαση στην αξιοπιστία του λογισμικού και τις μεθόδους σχεδιασμού και αποτίμησης της ποιότητας του. Τέλος εξετάζεται η συμπεριφορά του συστήματος και παρατίθενται τα συμπεράσματα που απορρέουν. 7

12 7 8 ΚΕΦΑΛΑΙΟ 1 1 ΕΞΥΠΝΕΣ ΚΑΡΤΕΣ το Κεφάλαιο αυτό γίνεται μία εισαγωγή στις Έξυπνες Κάρτες και την τεχνολογία τους, εξετάζονται τα πλεονεκτήματα και τα μειονεκτήματα διαφόρων τύπων καρτών και παρουσιάζονται οι κάρτες που επιλέχθηκαν για την υλοποίηση του Συστήματος Ελεγχόμενης Πρόσβασης. 1.1 Γενικά Η Έξυπνη Κάρτα είναι μία πλαστική κάρτα με ένα ολοκληρωμένο που αποθηκεύει ή επεξεργάζεται δεδομένα. Τα δεδομένα αυτά μπορεί να είναι τιμές ή πληροφορίες ή και τα δύο μαζί και αποθηκεύονται ή τυγχάνουν επεξεργασίας μέσα στο ολοκληρωμένο της κάρτας. Το ολοκληρωμένο αυτό ενδέχεται να είναι είτε μνήμη είτε μικροεπεξεργαστής. Η πρόσβαση στα δεδομένα της κάρτας γίνεται μέσω ενός καρτοδέκτη που είναι μέρος ενός υπολογιστικού συστήματος. Σήμερα τα συστήματα με έξυπνες κάρτες χρησιμοποιούνται σε διάφορες εφαρμογές και τομείς κλειδιά όπως η υγεία, οι τραπεζικές συναλλαγές, η διασκέδαση, οι μεταφορές και οι τηλεπικοινωνίες. Υπολογίζεται δε ότι το έτος 2003 η παγκόσμια αγορά έξυπνων καρτών θα ανέλθει στα 4.7 δισεκατομμύρια τεμάχια και 6.8 δισεκατομμύρια δολάρια. Η ανάπτυξη της αγοράς έξυπνων καρτών ξεκίνησε το 1985 στη Γαλλία σε εφαρμογές τηλεφωνικών και 8

13 τραπεζικών συναλλαγών. Η μεγάλη ανάπτυξη τους μέχρι και σήμερα οφείλεται στο γεγονός ότι οι έξυπνες κάρτες βελτιώνουν κατά πολύ την ευκολία και την ασφάλεια κάθε συναλλαγής. Οι διάφορες τεχνολογίες των καρτών παρέχουν διάφορα επίπεδα ασφάλειας, χωρητικότητας, και κόστους ιδανικά για την υλοποίηση οποιασδήποτε εφαρμογής και προϋπολογισμού. 1.2 Τύποι Καρτών με ολοκληρωμένο Οι έξυπνες κάρτες ξεχωρίζουν από τον τύπο του ολοκληρωμένου που βρίσκεται εμφυτευμένο στην κάρτα και τις δυνατότητες του. Στο Σχήμα 1.1 διακρίνονται οι διάφοροι τύποι καρτών. Εδώ εξετάζονται οι Κάρτες Επαφής (Contact Cards) Σχήμα 1.2. Σχήμα 1.1 Τύποι καρτών με ολοκληρωμένο Κάρτες Μνήμης (Memory Cards) Οι κάρτες μνήμης δεν παρέχουν καμία εξεζητημένη επεξεργασία και δεν μπορούν να διαχειριστούν αρχεία δυναμικά. Όλες οι κάρτες μνήμης επικοινωνούν με τους καρτοδέκτες χρησιμοποιώντας σύγχρονα πρωτόκολλα επικοινωνίας. Υπάρχουν τρία βασικά είδη καρτών μνήμης : 9

14 i. Κάρτες Καθαρά Μνήμης (μόνο μνήμη) Οι κάρτες αυτές απλώς αποθηκεύουν τα δεδομένα χωρίς να έχουν επεξεργαστικές δυνατότητες. Αυτές οι κάρτες έχουν το χαμηλότερο κόστος ανά bit (για τη μνήμη του χρήστη) και λειτουργούν σαν τις δισκέτες του υπολογιστή. Οι κάρτες αυτές δεν μπορούν να προσδιορίσουν την ταυτότητα τους στον καρτοδέκτη και έτσι το σύστημα πρέπει να γνωρίζει εκ των προτέρων τον τύπο της κάρτας που εισάγεται στον καρτοδέκτη. ii. Κάρτες Μνήμης με Προστασία / Τμηματικές Οι κάρτες αυτές ενσωματώνουν λογικό έλεγχο για την πρόσβαση στη μνήμη της κάρτας. Οι κάρτες αυτές, που συχνά αναφέρονται σαν «Έξυπνες Κάρτες Μνήμης», μπορούν να θέσουν ολόκληρο τον πίνακα μνήμης ή μέρος του σε προστασία από εγγραφή. Μερικές από αυτές μπορούν να ρυθμιστούν έτσι ώστε να απαγορεύουν την πρόσβαση και στο διάβασμα και στο γράψιμο. Αυτό γίνεται συνήθως με την χρήση ενός κωδικού ή ενός κλειδιού συστήματος. Οι τμηματικές κάρτες μπορούν να χωριστούν σε διάφορα λογικά τμήματα για χρήση των τμημάτων αυτών σε άλλες ξεχωριστές λειτουργίες. iii. Κάρτες Μνήμης με αποθηκευμένη τιμή Οι κάρτες αυτές είναι σχεδιασμένες για τον συγκεκριμένο σκοπό της αποθήκευσης τιμών ή προνομίων. Οι κάρτες αυτές είναι είτε μιας χρήσης είτε επαναφορτίσιμες. Οι περισσότερες από τις κάρτες αυτού του τύπου ενσωματώνουν μόνιμα μέτρα ασφάλειας κατά το στάδιο της κατασκευής τους. Τα μέτρα αυτά μπορεί να περιέχουν κωδικούς και λογική που αναπτύσσει ο κατασκευαστής. Οι πίνακες μνήμης σε αυτές τις συσκευές προκαθορίζονται να λειτουργούν σαν μετρητές ή να κάνουν μείωση της τιμής τους, ενώ για άλλες εφαρμογές παρέχεται πολύ λίγη ή και καθόλου μνήμη. Για απλές εφαρμογές όπως η τηλεφωνική κάρτα, το ολοκληρωμένο έχει 60 ή 12 κελιά μνήμης, ένα για κάθε τηλεφωνική μονάδα. Κάθε φορά που χρησιμοποιείται μία τηλεφωνική μονάδα καθαρίζεται ένα κελί και όταν δεν υπάρχουν άλλες μονάδες τότε η κάρτα είναι άχρηστη και δεν μπορεί να χρησιμοποιηθεί ξανά. Αυτό μπορεί να αντιστραφεί στην περίπτωση των επαναφορτίσιμων καρτών. 10

15 Σχήμα 1.2 Τυπική Κάρτα Επαφής Κάρτες Πολλών Λειτουργιών με Μικροεπεξεργαστή CPU/MPU Οι κάρτες αυτές έχουν δυνατότητες δυναμικής επεξεργασίας δεδομένων στην κάρτα. Οι κάρτες πολλών λειτουργιών κατανέμουν τη μνήμη της κάρτας σε μία συγκεκριμένη λειτουργία ή εφαρμογή. Μέσα στην κάρτα υπάρχει ένας μικροεπεξεργαστής ή μικροελεγκτής ο οποίος χειρίζεται αυτή την κατανομή μνήμης και την πρόσβαση σε αρχεία. Το ολοκληρωμένο αυτό που είναι παρόμοιο με αυτά που βρίσκονται στους προσωπικούς υπολογιστές, διαχειρίζεται τα δεδομένα σε οργανωμένες δομές αρχείων μέσω ενός Λειτουργικού Συστήματος για Κάρτες (C.O.S. - Card Operating System). Αντίθετα με άλλα λειτουργικά συστήματα αυτό το λογισμικό ελέγχει την πρόσβαση στη μνήμη (χρήστη) της κάρτας. Αυτή η δυνατότητα επιτρέπει σε πολλές και διαφορετικές λειτουργίες ή εφαρμογές να διαμένουν στην ίδια κάρτα δημιουργώντας έτσι ποικιλία στις εφαρμογές που μπορούν κάλλιστα να επεκταθούν ή να αναβαθμιστούν. 1.3 Χωρητικότητα, Απόδοση και Κόστος των Καρτών Οι κάρτες με αυξημένες επεξεργαστικές και άλλες δυνατότητες αλλά και με αυξημένο μέγεθος μνήμης κοστίζουν περισσότερο. Έτσι οι κάρτες με μία λειτουργία αποτελούν συνήθως την πιο οικονομική λύση. Για τη σωστή επιλογή της κάρτας που θα χρησιμοποιηθεί πρέπει να λαμβάνεται υπόψη η χωρητικότητα, το κόστος σε συνάρτηση με τη λειτουργικότητα και ο απαιτούμενος βαθμός ασφάλειας. Στο Σχήμα 1.3 φαίνεται η γραφική παράσταση με τους γενικούς κανόνες που ισχύουν για τις κάρτες που αναφέρθηκαν προηγουμένως. 11

16 Σχήμα 1.3 Χωρητικότητα, απόδοση και κόστος των καρτών Οι κάρτες Καθαρά Μνήμης (Straight Memory) έχουν το χαμηλότερο κόστος (ανά bit) αλλά δεν παρέχουν καμία ασφάλεια. Οι κάρτες με προκαθορισμένες τιμές (Stored Value), αν και φθηνές, προσφέρονται μόνο για συγκεκριμένες λειτουργίες και οι κάρτες με CPU / MPU έχουν την υψηλότερη χωρητικότητα, απόδοση αλλά και κόστος. Έτσι η ιδανική επιλογή για το Σύστημα Ελεγχόμενης Πρόσβασης είναι οι Κάρτες Μνήμης με Προστασία. Οι κάρτες αυτές παρέχουν την ασφάλεια που χρειάζεται ένα τέτοιο σύστημα, διαθέτουν αρκετό χώρο μνήμης και δεν ξεφεύγουν στην τιμή. 1.4 Κάρτες του Συστήματος Ελεγχόμενης Πρόσβασης Για την υλοποίηση του συστήματος επιλέχθηκαν οι κάρτες GemPlus GPM 416 και Siemens SLE Οι κάρτες αυτές είναι χαμηλού κόστους «Κάρτες με Προστασία» και είναι συμβατές μεταξύ τους. Περιέχουν συνολικά 416 bits και για την επικοινωνία τους με τους καρτοδέκτες χρησιμοποιούν σύγχρονο πρωτόκολλο (synchronous protocol). Η διάρκεια ζωής τους είναι το λιγότερο κύκλοι εγγραφής/διαγραφής ενώ η διατήρηση των δεδομένων επί της κάρτας διαρκεί το λιγότερο 10 χρόνια Χάρτης Μνήμης Πιο κάτω φαίνεται η χαρτογράφηση της μνήμης αυτών των καρτών. 12

17 Περιοχή Κατασκευαστή (16 bits) για την αποθήκευση του κωδικού του πελάτη. Περιοχή Εκδότη (48 bits) για αποθήκευση δεδομένων (κατά τη φάση της εξατομίκευσης, δεν αλλάζουν αργότερα). Μυστικός Κωδικός Κάρτας (16 bits) για προστασία των δεδομένων. Προστατευόμενη Περιοχή (16 bits). Περιοχή Εφαρμογών (208 bits). Κωδικός Διαγραφής (32 bits) και μετρητής διαγραφής (16 bits) Τρόπος Λειτουργίας Στις κάρτες αυτές θα χρησιμοποιηθεί ο Μυστικός Κωδικός Κάρτας για την προστασία των δεδομένων, η Περιοχή Εφαρμογών για την αποθήκευση των δεδομένων, ο Κωδικός Διαγραφής και έμμεσα οι μετρητές της κάρτας για προστασία. Ο τρόπος λειτουργίας είναι ο εξής: Δίνοντας τον σωστό Μυστικό Κωδικό Κάρτας μπορούμε να διαβάσουμε ή να γράψουμε στην Περιοχή Εφαρμογών. Για την εγγραφή ή διαγραφή απαιτείται ακόμη και ο Κωδικός Διαγραφής. Στην περίπτωση που δοθεί λάθος Μυστικός Κωδικός Κάρτας, τότε αυτό γίνεται αντιληπτό και ρυθμίζεται έτσι ώστε η κάρτα να μην γίνεται αποδεκτή. Ενώ αν δοθεί τρεις φορές λάθος κωδικός κατά την εγγραφή τότε η κάρτα κλειδώνει και γίνεται μόνο ανάγνωσης (read only). Με αυτόν τον τρόπο γίνονται αποδεκτές μόνο οι κάρτες που έχουν προγραμματιστεί με τον συγκεκριμένο Μυστικό Κωδικό Κάρτας αποφεύγοντας έτσι άλλες κάρτες αλλά και κάρτες προϊόντα πειράματος. Παράλληλα με αυτό οι κάρτες που έχουν ήδη προγραμματιστεί δεν μπορούν να χρησιμοποιηθούν από άλλους αφού δεν επιτρέπεται διαγραφή ή αλλαγή του περιεχομένου τους χωρίς τους σωστούς Κωδικούς Κάρτας και Διαγραφής. Οι κάρτες αυτές δεν ενσωματώνουν κάποιον αλγόριθμο κρυπτογράφησης. Περισσότερα για την ασφάλεια και μοναδικότητα των καρτών γίνονται στο πρόγραμμα με τη βοήθεια αλγορίθμου κρυπτογράφησης. Για την πρόσβαση στα δεδομένα των συγκεκριμένων καρτών χρειάστηκε να γραφεί ένα ειδικό πρόγραμμα το οποίο επικοινωνεί με τον καρτοδέκτη και χειρίζεται τις εντολές και τα 13

18 δεδομένα. Σε περίπτωση αλλαγής του τύπου των καρτών ή των καρτοδεκτών το μόνο που θα χρειαστεί για να λειτουργεί το σύστημα είναι η ενημέρωση του συγκεκριμένου προγράμματος. Το πρόγραμμα αυτό παρουσιάζεται στον τόμο "Κώδικας Λογισμικού" υπό τον τίτλο CardPlus. 14

19 9 10 ΚΕΦΑΛΑΙΟ 2 2 ΤΟ ΥΛΙΚΟ ΜΕΡΟΣ ΤΟΥ ΣΥΣΤΗΜΑΤΟΣ υλοποίηση του συστήματος Smart Guard φαίνεται στο Σχήμα 2.1. Το σύστημα αποτελείται από ένα κεντρικό υπολογιστή που τρέχει το πρόγραμμα Smart Guard, που είναι και η καρδιά του συστήματος. Πάνω σ αυτόν είναι συνδεδεμένες οι υπόλοιπες συσκευές. Με την χρήση ενός controller (κάρτα multi-ι/ο) στον υπολογιστή έχουμε έξοδο τεσσάρων θυρών σειριακής επικοινωνίας και δύο παράλληλων. Έτσι μπορούμε να συνδέσουμε μέχρι και τέσσερις καρτοδέκτες εκ των οποίων ο ένας πρέπει να είναι για εγγραφή (Recorder). Σχήμα 2.4 Σύστημα Ελεγχόμενης Πρόσβασης Σε μία από τις παράλληλες θύρες είναι συνδεδεμένη η ηλεκτρονική συσκευή Ελέγχου Εισόδων (Gate Control) που ανοίγει τις Εισόδους. Από τη συσκευή αυτή φεύγουν καλώδια που τροφοδοτούν τους μηχανισμούς για το άνοιγμα της κάθε Ελεγχόμενης Εισόδου. Επιπλέον το σύστημα μπορεί να δεχθεί έναν εκτυπωτή στη δεύτερη παράλληλη θύρα ή στον δίαυλο USB για την εκτύπωση της Δραστηριότητας και κάρτα ήχου με ηχεία για την άμεση ενημέρωση με ήχο ή ομιλία (Αγγλικά). 15

20 2.1 Ηλεκτρονικός Υπολογιστής του Συστήματος Ο Ηλεκτρονικός Υπολογιστής του συστήματος είναι ένας συνηθισμένος προσωπικός υπολογιστής (Personal Computer). Για την επιλογή του όμως πρέπει να ληφθούν υπόψη μερικές προαπαιτήσεις. Έτσι για την καλύτερη και απρόσκοπτη λειτουργία του συστήματος πρέπει να επιλεγεί ένα υπολογιστικό σύστημα όχι μικρότερο από αυτά που αναφέρονται στον Πίνακα 2.1. Πίνακας 2.1 Ελάχιστο Υπολογιστικό Σύστημα Προτεινόμενο Υπολογιστικό Σύστημα Pentium Processor 100 Pentium Processor 150 ή μεγαλύτερος 32 MB RAM 64 MB RAM 500 MB σκληρό δίσκο 1 GB σκληρό δίσκο Οθόνη VGA / Ανάλυση 640x480 Καλύτερη Οθόνη / Ανάλυση 800x600 Οι πιο πάνω τιμές έχουν ληφθεί για χρήση με το λειτουργικό σύστημα Windows 98. Ο υπολογιστής πρέπει να διαθέτει θύρα PS2 για το ποντίκι έτσι ώστε να μη χρησιμοποιεί κάποια από τις σειριακές θύρες για τον σκοπό αυτό. Ακόμη πρέπει να έχει εγκατεστημένη μία κάρτα I/O (Controller) για να είναι δυνατή η χρήση και των τεσσάρων σειριακών θυρών καθώς και των δύο παράλληλων. Ο υπολογιστής είναι καλό να διαθέτει κάρτα ήχου με ηχεία και εκτυπωτή έτσι ώστε να χρησιμοποιεί όλες τις δυνατότητες του Προγράμματος Smart Guard που αφορούν την άμεση ενημέρωση του Υπεύθυνου Συστήματος. 2.2 Καρτοδέκτης για RS-232 Ο καρτοδέκτης για σύνδεση με RS-232 αποτελεί μία ιδανική λύση για ανάπτυξη συστημάτων. Το πρότυπο RS-232 είναι ευρέως διαδεδομένο και δίνει τη δυνατότητα ανάπτυξης εφαρμογών σε προσωπικούς υπολογιστές αλλά και άλλα συστήματα που διαθέτουν σύνδεση RS-232. Η απλότητα των συνδέσεων καθώς και οι σχετικά καλές επιδόσεις ως προς την ταχύτητα κάνουν αυτό το πρότυπο μεταφοράς δεδομένων αρκετά ελκυστικό. Ο καρτοδέκτης για σύνδεση RS-232 όπως φαίνεται στο Σχήμα 2.2 αποτελείται από την υποδοχή των καρτών, ένα μικροελεγκτή που εκτελεί όλες τις λειτουργίες, το κύκλωμα χρονισμού του μικροελεγκτή, το interface που μετατρέπει τις στάθμες TTL σε επίπεδα RS-232 και αντίστροφα και τέλος τα κυκλώματα τροφοδοσίας. 16

21 Σχήμα 2.5 Τμήματα του Καρτοδέκτη για RS-232 Με την εισαγωγή της κάρτας στην υποδοχή κλείνει ένας διακόπτης όπου και ενημερώνει για την παρουσία κάρτας. Ο μικροελεγκτής, που είναι και το σημαντικότερο τμήμα του καρτοδέκτη, είναι προγραμματισμένος να εκτελεί τις λειτουργίες διαβάσματος και εγγραφής στις κάρτες, να ενημερώνει για την παρουσία κάρτας αλλά και για την παρουσία του ίδιου του καρτοδέκτη. Όλα αυτά γίνονται με το σετ εντολών του μικροελεγκτή. Ο μικροελεγκτής δέχεται την εντολή από το υπολογιστικό σύστημα μέσω RS-232, εκτελεί τη ρουτίνα που αντιστοιχεί στην εντολή και επιστρέφει την απάντηση του ή τα δεδομένα στο σύστημα. Το interface για RS-232 παράγει τις τάσεις +8V και 8V που απαιτεί η θύρα RS-232 και αντίστροφα τις στάθμες TTL που απαιτεί ο μικροελεγκτής και το υπόλοιπο κύκλωμα του καρτοδέκτη. Η σύνδεση με τη θύρα που φαίνεται στο Σχήμα 2.3 είναι αμφίδρομη και τα μόνα σήματα που χρειάζονται είναι τα RxD, TxD και GND. Η επικοινωνία γίνεται με ταχύτητα 9600 bits/s, δίχως bit ισοτιμίας (parity) και με ένα STOP bit. Σχήμα 2.6 Σύνδεση Σειριακής Θύρας - Καρτοδέκτη Η χαμηλή ταχύτητα λειτουργίας (9600 bits/s) βοηθά στην επίτευξη μεγαλύτερων αποστάσεων στα καλώδια αφού ως γνωστό η υψηλή ταχύτητα στο RS-232 μειώνει την απόσταση λειτουργίας. Παράλληλα η χρήση μόνο τριών ακροδεκτών μειώνει το κόστος των καλωδίων. Το σετ εντολών και τα σήματα του καρτοδέκτη παρουσιάζονται στους επόμενους πίνακες. Στον Πίνακα 2.2 παρουσιάζονται οι εντολές και τα σήματα του μικροελεγκτή που αφορούν τη γενική λειτουργία της συσκευής και όχι τα δεδομένα των καρτών. 17

22 Πίνακας 2.2 Εντολή Περιγραφή Απάντηση Καρτοδέκτη 00 Έλεγχος παρουσίας καρτοδέκτη Επιστρέφει το firmware version 03 Έλεγχος παρουσίας κάρτας 07 Υπάρχει κάρτα 08 Δεν υπάρχει κάρτα 08 Τροφοδοσία κάρτας (απαραίτητη Επιστρέφει τον κωδικό τύπου κάρτας πριν τη χρήση εντολών δεδομένων) 08 Πρόβλημα στην τροφοδοσία 09 Τερματισμός τροφοδοσίας κάρτας 00 Τερματισμός 0201 Ενεργοποίηση Read/Write 00 Ενεργοποίηση Στον Πίνακα 2.3 παρουσιάζονται οι εντολές του μικροελεγκτή που διαβάζουν και τροποποιούν τα δεδομένα που βρίσκονται στην περιοχή εφαρμογών της κάρτας. Μερικές από αυτές τις εντολές χρησιμοποιούν παραμέτρους που είναι οι μυστικοί κωδικοί ή τα δεδομένα προς εγγραφή. Εντολή Παράμετρος Πίνακας 2.3 Περιγραφή Απάντηση (δεκαεξαδικό) Καρτοδέκτη (θετική) 0B800F19 Διάβασμα δεδομένων 52 χαρακτ. (Hex) οι (περιοχή εφαρμογών) πρώτοι δύο το "00" 0B400F19 50 χαρακτ. Εγγραφή δεδομένων (50 χαρ.)* 00 0C χαρακτ. Εισαγωγή μυστικού κωδικού 00 0C χαρακτ. Διαγραφή δεδομένων με την 00 εισαγωγή κωδικού διαγραφής *Για την εγγραφή δεδομένων χρειάζεται πρώτα η διαγραφή της κάρτας. Οι εντολές αυτές χρησιμοποιούνται αποκλειστικά από το χειριστήριο CardPlus, το οποίο αναλαμβάνει για τη διασύνδεση μεταξύ του προγράμματος και των καρτοδεκτών. Το χειριστήριο υλοποιεί με τη χρήση αυτών των εντολών ολοκληρωμένες συναρτήσεις για τη διεκπεραίωση των διαφόρων σκοπών και οι οποίες τελικώς χρησιμοποιούνται από το βασικό πρόγραμμα. Οι συναρτήσεις αυτές περιγράφονται στο κεφάλαιο "Σχεδιασμός του Λογισμικού" ενώ ο σχετικός κώδικας παρουσιάζεται στον τόμο "Κώδικας λογισμικού" υπό τον τίτλο CardPlus. 2.3 Συσκευή Ελέγχου και Τροφοδοσίας Η Συσκευή Ελέγχου και Τροφοδοσίας είναι υπεύθυνη για το άνοιγμα της κάθε θύρας αλλά και για την τροφοδότηση των καρτοδεκτών. 18

23 Η συσκευή αυτή περιέχει δύο τροφοδοτικά, ένα των 9V για την τροφοδότηση των καρτοδεκτών και ένα άλλο των 12V για την τροφοδότηση των μηχανισμών που ανοίγουν τις θύρες. Το άνοιγμα των θυρών γίνεται με ένα κύκλωμα διασύνδεσης το οποίο οδηγεί τα τρία ρελέ που ανοίγουν τις θύρες. Τα θεωρητικά κυκλώματα της συσκευής φαίνονται στο Σχήμα 2.2 και 2.3. Σχήμα 2.7 Θεωρητικό κύκλωμα Τμήμα Ελέγχου. Σχήμα 2.8 Θεωρητικό κύκλωμα Τμήμα Τροφοδοσίας Η συσκευή αποτελείται από στοιχειώδη ηλεκτρονικά εξαρτήματα. Το ULN 2803 είναι ένα ολοκληρωμένο που ενσωματώνει 8 τρανζίστορ τύπου Darlington ικανά να οδηγήσουν μεγαλύτερης ισχύος στοιχεία όπως τα ρελέ. Τα τεχνικά χαρακτηριστικά του ολοκληρωμένου παρουσιάζονται στο Παράρτημα Β. 19

24 Η επικοινωνία του συστήματος με τη συσκευή γίνεται με διασύνδεση με την Παράλληλη Θύρα Εκτύπωσης του υπολογιστή (Σχήμα 2.6). Η Παράλληλη Θύρα Εκτύπωσης έχει συνολικά 12 ψηφιακές εξόδους και 5 ψηφιακές εισόδους που προσπελάζονται μέσω τριών συνεχόμενων 8-bit καταχωρητών (θυρών) στον χώρο Ι/Ο του επεξεργαστή. Πιο κάτω φαίνεται ο τυπικός σύνδεσμος της παράλληλης θύρας. Εδώ διακρίνουμε τις 8 ακίδες εξόδου D0-D7 που προσπελάζονται από τη θύρα DATA, τις 5 ακίδες εισόδου S3-S7 (μία αντεστραμμένη) που προσπελάζονται μέσω της θύρας STATUS, και τις 4 ακίδες εξόδου C0-C3 (τρεις αντεστραμμένες) της θύρας CONTROL, οι υπόλοιπες ακίδες συνδέονται στη γη. Σχήμα 2.9 Τυπικός σύνδεσμος της Παράλληλης Θύρας Στη συγκεκριμένη κατασκευή χρησιμοποιήθηκαν οι τρεις ακίδες εξόδου D7, D6 και D5 της θύρας DATA (πρώτος καταχωρητής) που ενεργοποιούνται με τους δεκαδικούς 128, 64 και 32 αντίστοιχα. Η διαδικασία για να κρατείται η κάθε θύρα ανοικτή για συγκεκριμένο χρόνο όπως και η ρύθμιση του χρόνου γίνεται από το λογισμικό και έτσι δεν χρειάζεται κάποιο κύκλωμα καθυστέρησης. Η όλη κατασκευή τοποθετείται σε κατάλληλο μεταλλικό κουτί όπως φαίνεται στα Σχήματα 2.7 και 2.8. Στο κουτί υπάρχουν οι διακόπτης λειτουργίας, τα ενδεικτικά λειτουργίας και εισόδων, οι ασφαλειοθήκες των τροφοδοτικών και οι κατάλληλοι σύνδεσμοι για τη σύνδεση με τον υπολογιστή και τις υπόλοιπες συσκευές. Σχήμα 2.10 Πρόσοψη της συσκευής 20

25 Η σύνδεση της τροφοδοσίας των εισόδων και των καρτοδεκτών γίνεται με ένα κοινό σύνδεσμο που έχει τέσσερις ακροδέκτες και παρέχει για τους καρτοδέκτες 9V και για τους ηλεκτρομαγνητικούς μηχανισμούς των εισόδων 12V. Σχήμα 2.11 Πίσω όψη της συσκευής Ο σύνδεσμος του καρτοδέκτη που προορίζεται για εγγραφή παρέχει μόνο την τροφοδοσία των 9V. 21

26 11 12 ΚΕΦΑΛΑΙΟ 3 3 ΠΡΟΕΡΓΑΣΙΑ ΛΟΓΙΣΜΙΚΟΥ ια την ανάπτυξη των προγραμμάτων χρειάζεται προηγουμένως η μελέτη των μεθόδων και τεχνικών προγραμματισμού που θα χρησιμοποιηθούν στο λογισμικό. Η ανάπτυξη του λογισμικού έγινε με τη γλώσσα προγραμματισμού Visual Basic 5.0 αλλά και τη χρήση προχωρημένων μεθόδων και τεχνικών με τη βοήθεια της Προγραμματιστικής Διασύνδεσης Εφαρμογών Win32 API. Η χρήση και ο προγραμματισμός Βάσεων Δεδομένων έγινε κατόπιν ειδικής μελέτης. Επιπλέον, χρησιμοποιήθηκε η νέα τεχνολογία αναπαραγωγής ομιλίας Text-to-Speech (TTS) και έγινε ειδικός σχεδιασμός για χρήση των προγραμμάτων σε Windows NT/ Προγραμματιστική Διασύνδεση Εφαρμογών (API) Η ανάγκη για εξειδικευμένες δυνατότητες του λογισμικού αλλά και οι περιορισμένες δυνατότητες του προγραμματιστικού εργαλείου Visual Basic οδήγησαν σε εκτεταμένη χρήση της Προγραμματιστικής Διασύνδεσης Εφαρμογών των Windows, Win32 API Γενικά To API (Application Programming Interface Προγραμματιστική Διασύνδεση Εφαρμογών) είναι αυτό που χρησιμοποιήθηκε για τη δημιουργία προγραμμάτων για Windows από την πρώτη κιόλας έκδοση των Windows 1.0. Τα Win16 και Win32 API είναι οι 16 και 32 bit εκδόσεις της διασύνδεσης αυτής. Το API είναι ένας συνδυασμός από τύπους δεδομένων, ορισμούς και συναρτήσεις τα οποία περιλαμβάνουν οι προγραμματιστές της C σαν αρχεία δηλώσεων (header files) στα προγράμματα που σχεδιάζουν. Οι περισσότερες από τις συναρτήσεις αυτές είναι υλοποιημένες σε αρχεία DLL στα οποία συνδέονται οι εφαρμογές κατά την εκτέλεση τους για να χρησιμοποιήσουν τις συναρτήσεις αυτές. Το βασικό τμήμα του API χωρίζεται σε τρεις ομάδες : 1. KERNEL Όλες οι χαμηλού επιπέδου υπηρεσίες του πυρήνα. 2. GDI Διασύνδεση Γραφικών και αφορούν τον σχεδιασμό και την εκτύπωση. 22

27 3. USER Διασύνδεση του χρήστη και τα μηνύματα των Windows. Κάθε μία είναι κατά πολύ βασισμένη/κτισμένη επάνω στην άλλη. Στα Windows 95/98 αυτά παρέχονται από τρία αρχεία DLL το USER32, το KERNEL32 και το GDI32 τα οποία είτε εκτελούν τις κλήσεις είτε τις στέλνουν στους 16 bit προκάτοχους τους. Στα Windows NT πολλές από τις υπηρεσίες παρέχονται/εκτελούνται από την «Κατάσταση Πυρήνα» όπου για τον χειρισμό αυτής της κατάστασης χρησιμοποιούνται διάφοροι τρόποι επικοινωνίας μεταξύ των εφαρμογών. Το Microsoft Win32 API αφήνει τις εφαρμογές να εκμεταλλευτούν τη δύναμη των 32 bits. Οι συναρτήσεις τα μηνύματα και οι δομές Win32 σχηματίζουν μία σταθερή και συνεπή Προγραμματιστική Διασύνδεση Εφαρμογών για όλες τις πλατφόρμες 32 bit της Microsoft όπως τα Windows 95/98/NT/2000. Χρησιμοποιώντας το Win32 API μπορούν να αναπτυχθούν εφαρμογές που θα εκτελούνται επιτυχώς σε όλες τις πλατφόρμες ενώ παράλληλα θα χρησιμοποιούν τα μοναδικά πλεονεκτήματα και δυνατότητες της κάθε πλατφόρμας API και Visual Basic Με τη χρήση του Win32 API η Visual Basic καθίσταται ένα πανίσχυρο προγραμματιστικό εργαλείο που έχει την ευελιξία και τις δυνατότητες άλλων εργαλείων όπως η C. Ένα παράδειγμα είναι η δημιουργία με τη βοήθεια του API πολλαπλών ροών προγράμματος όπως θα δειχθεί αργότερα. Η χρήση του API στο περιβάλλον της Visual Basic είναι πάρα πολύ απλή. Αρκεί μόνο να δηλώσουμε σε ένα module ή μία φόρμα (στις γενικές δηλώσεις) τις συναρτήσεις τους τύπους των δεδομένων και τις σταθερές που χρειάζονται. Η δήλωση των συναρτήσεων γίνεται ως εξής: Module Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwmilliseconds As Long) Form Private Declare Sub Sleep Lib "kernel32" Alias "Sleep" (ByVal dwmilliseconds As Long) Και η χρήση όπως κάθε συνάρτηση της Visual Basic: Module ή Form.. Sleep

28 Η συγκεκριμένη συνάρτηση περιμένει για δοσμένο χρόνο σε χιλιοστά του δευτερολέπτου. Οι δηλώσεις γίνονται ακόμη πιο εύκολα με τη χρήση του εργαλείου API Text Viewer που συνοδεύει το πακέτο της Visual Basic και βοηθά στην επιλογή ανάμεσα από τις σταθερές, τους τύπους δεδομένων και τις συναρτήσεις του API. Πάρα ταύτα χρειάζεται ο προγραμματιστής να είναι εξοικειωμένος με το API και να γνωρίζει καλά τον τρόπο χρήσης και λειτουργίας του. Απαραίτητο για αυτό είναι η μελέτη του Win32 API Reference που παρέχεται στο Win32 API SDΚ. 3.2 Πολλαπλές Ροές Προγράμματος Γενικά Η ροή προγράμματος (thread) είναι μία απλή σειριακή ροή ελέγχου μέσα σε μία διεργασία (process). Μέσα σε κάθε ροή υπάρχει ένα και μόνο σημείο εκτέλεσης. Τα περισσότερα προγράμματα αποτελούνται συνήθως από μία μόνο ροή προγράμματος όπως φαίνεται στο Σχήμα 3.1. Με τη δημιουργία πολλών ροών προγράμματος μέσα σε ένα πρόγραμμα, το πρόγραμμα γίνεται πολλαπλών ροών (multithreaded), οι ροές εκτελούνται ταυτόχρονα και σε οποιαδήποτε στιγμή υπάρχουν πολλαπλά σημεία εκτέλεσης. Οι ροές εκτελούνται στον ίδιο χώρο διεύθυνσης τον οποίο και μοιράζονται. Έτσι, οι ροές διαβάζουν και γράφουν στις ίδιες περιοχές μνήμης. Για το λόγο αυτό χρειάζεται να υπάρχουν στοιχεία συγχρονισμού που θα διασφαλίζουν ότι η από κοινού πρόσβαση στη μνήμη θα γίνεται σωστά. Στο Σχήμα 3.2 φαίνεται τι συμβαίνει σε ένα πρόγραμμα πολλαπλών ροών. Όπως φαίνεται, οι πολλαπλές ροές μοιράζονται τη Συσσωρευμένη Μνήμη, τη Στατική και τον Κώδικα, κάθε μία όμως έχει το δικό της σετ καταχωρητών και τον δικό της σωρό. Στην περίπτωση των πολλαπλών ροών προγράμματος δεν μπορούν να γίνουν υποθέσεις σχετικά με τους χρόνους αρχής, τέλους των ροών ή ακόμα και τη σειρά με την οποία εκτελούνται. Παρ όλα αυτά μπορεί να επηρεαστεί το πρόγραμμα λειτουργίας τους. Κάθε ροή έχει τον δικό της αναγνωριστή (handle) ο οποίος επιτρέπει στο να προσδιορίζεται μοναδικά. Επίσης, συνδεδεμένα με μία ροή είναι η τακτική προγράμματος και η προτεραιότητα της, οι σχετικές με τη ροή τιμές δεδομένων και οι απαραίτητοι πόροι του συστήματος που χρειάζονται για να υποστηρίξουν μία ροή ελέγχου. Μία ροή αλλάζει καταστάσεις κατά τη διάρκεια της εκτέλεσης της. Οι καταστάσεις αυτές είναι οι εξής: Αναμονή. Η ροή δεν εκτελείται επειδή κάνει συγχρονισμό με άλλη ροή ή ένα εξωτερικό γεγονός όπως Είσοδο/Έξοδο (Ι/Ο). Έτοιμη. Η ροή είναι έτοιμη για εκτέλεση από τον μικροεπεξεργαστή. Εκτελείται. Η ροή εκτελείται από τον επεξεργαστή. Τερματίζει. Η ροή ολοκλήρωσε όλες τις εργασίες της. 24

29 Σχήμα 3.12 Τυπικό πρόγραμμα μίας ροής. Σχήμα 3.13 Πρόγραμμα πολλαπλών ροών 25

30 Στο Σχήμα 3.3 φαίνονται οι μεταβάσεις μεταξύ των καταστάσεων για μία τυπική υλοποίηση ροής προγράμματος. Σχήμα 3.14 Καταστάσεις μίας ροής προγράμματος Πολλαπλές ροές με τη χρήση του Win32 API Για εφαρμογές που προορίζονται για τα Windows, το Win32 API παρέχει ένα πλήρες ρεπερτόριο εντολών και αντικειμένων για τη δημιουργία και διαχείριση της πολυεπεξεργασίας. Στον Πίνακα 3.1 φαίνονται συνοπτικά μερικές από τις εντολές που αφορούν τη δημιουργία και διαχείριση πολλαπλών ροών προγράμματος. Περισσότερες πληροφορίες για τις συναρτήσεις αυτές δίνονται στο Παράρτημα Α. Πίνακας 3.4 CreateThread GetThreadPriority SetThreadPriority SuspendThread ResumeThread Sleep, SleepEx TerminateThread ExitThread Δημιουργεί μία καινούρια ροή προγράμματος Επιστρέφει τον βαθμό προτεραιότητας της ροής Θέτει τον βαθμό προτεραιότητας της ροής Αναστέλλει τη ροή (μετάβαση στην κατάσταση «Έτοιμη») Επιστρέφει την κατάσταση της ροής σε Εκτέλεση Η ροή αναμένει για δοσμένο χρόνο Βεβιασμένος τερματισμός της ροής Η ίδια η ροή τερματίζει τον εαυτό της Ένα σοβαρό θέμα σχετικά με τη λειτουργία πολλαπλών ροών είναι και ο συγχρονισμός. Για την αποφυγή συγκρούσεων είναι απαραίτητο να γίνει συγχρονισμός στην πρόσβαση των κοινών δεδομένων από τις ροές (Σχήμα 3.4). Ακόμη ο συγχρονισμός είναι απαραίτητος για να διασφαλίζει ότι ο αλληλοεξαρτώμενος κώδικας εκτελείται με τη σωστή σειρά. Για τους λόγους αυτούς το Win32 API παρέχει έναν αριθμό από αντικείμενα των οποίων τα χειριστήρια (handles) μπορούν να χρησιμοποιηθούν για τον συγχρονισμό των πολλαπλών ροών. Μερικά από τα αντικείμενα αυτά είναι: Τα αντικείμενα συγχρονισμού : mutex, semaphore και events. Τα χειριστήρια αρχείων, pipes, κονσόλας και επικοινωνιών. Τα χειριστήρια των εκτελέσιμών προγραμμάτων και των ροών προγράμματος. 26

31 Η κατάσταση αυτών των αντικειμένων είναι είτε σημαδεμένη (signaled) είτε ασημάδευτη (non signaled). Έτσι παίρνοντας το χειριστήριο οποιουδήποτε από τα αντικείμενα αυτά σε μία εντολή αναμονής (εντολές συγχρονισμού), πετυχαίνεται το μπλοκάρισμα της καλούσας Σχήμα 3.15 Συγχρονισμός μεταξύ ροών. ροής μέχρις ότου η κατάσταση του αντικειμένου να γίνει σημαδεμένη (signaled). Στην κατάσταση αυτή όπως και στην περίπτωση της ανασταλμένης ροής (suspended), η ροή που βρίσκεται σε αναμονή καταναλώνει πολύ λίγο από τον χρόνο του επεξεργαστή. Στον Πίνακα 3.2 φαίνονται συνοπτικά μερικές από τις βασικές εντολές συγχρονισμού. Περισσότερα για τις εντολές αυτές παρατίθενται στο Παράρτημα Α. Πίνακας 3.5 Events (Γεγονότα) CreateEvent SetEvent ResetEvent Δημιουργεί ένα γεγονός Σημαδεύει ένα γεγονός (signaled) Το αντίθετο του SetEvent Εντολές αναμονής WaitForSingleObject Περιμένει ένα αντικείμενο WaitForSingleObjectEx -//- WaitForMultipleObjects Περιμένει ένα σύνολο αντικειμένων WaitForMultipleObjectsEx -//- 27

32 3.2.3 Πολλαπλές ροές και Visual Basic Η Visual Basic μέχρι και την έκδοση 4.0 δεν μπορούσε να δημιουργήσει και να διαχειριστεί πολλαπλές ροές. Ο ερχομός όμως της Visual Basic 5.0 ανέτρεψε αυτή την κατάσταση εισάγοντας μία νέα δυνατότητα, τον τελεστή AddressOf. Ο τελεστής αυτός, όπως φαίνεται και από την ονομασία του, χρησιμοποιείται για να επιστρέφει τη διεύθυνση μίας διαδικασίας (procedure) της Visual Basic. Έτσι, με την Visual Basic 5.0 και τον τελεστή AddressOf πετυχαίνεται το πέρασμα παραμέτρων (pointers) σε συναρτήσεις του API οι οποίες ήταν εκτός χρήσης στις προηγούμενες εκδόσεις (συναρτήσεις callback). Μία από αυτές είναι και η εντολή CreateThread που έχει σαν παράμετρο τη διεύθυνση της ρουτίνας/συνάρτησης στην οποία θα ξεκινήσει η νέα ροή προγράμματος. Ο τρόπος χρήση της φαίνεται στο Σχήμα 3.5. Σχήμα 3.16 Δημιουργία μίας ροής στην Visual Basic. Με την εντολή CreateThread περνάμε τη διεύθυνση της ρουτίνας NewThread στην οποία θα γίνει κλήση επιστροφής (callback) και θα ξεκινήσει να εκτελείται από την καινούρια ροή. Σημειώνεται ότι η ρουτίνα αυτή πρέπει να βρίσκεται σε κάποιο module και να είναι ορισμένη σαν δημόσια/γενική ρουτίνα (public). Όσον αφορά τον συγχρονισμό, αυτός γίνεται όπως και στις υπόλοιπες γλώσσες προγραμματισμού. Προσοχή όμως πρέπει να δοθεί στον χειρισμό των εντολών του API που προορίζονται κυρίως για χρήση από τη γλώσσα C. Έτσι οι δομές που αποκλείουν το αδιέξοδο (deadlock) όπως η try-finally δεν υπάρχουν στην Visual Basic. Το ρόλο αυτής της δομής μπορεί όμως να παίξει ο χειριστής σφάλματος On Error GoTo. Μια τυπική περίπτωση συγχρονισμού είναι η εξής: Ορίζουμε μία μεταβλητή τύπου Long και με την εντολή CreateEvent την μετατρέπουμε σε γεγονός (event) όπου και καθορίζουμε τον τρόπο λειτουργίας του αλλά και την κατάσταση του (signaled-nonsignaled). Έπειτα, χρησιμοποιώντας μία από τις εντολές αναμονής αλλά και τις εντολές SetEvent και ResetEvent, χειριζόμαστε το event σαν ένα RS flip-flop που ελέγχει το μπλοκάρισμα της ροής προγράμματος. Σημείωση: Το περιβάλλον ανάπτυξης (IDE) της Visual Basic δεν είναι ασφαλές στις πολλαπλές ροές. Αυτό οφείλεται στο ότι δεν σχεδιάστηκε για να χειρίζεται πολλαπλές ροές. Έτσι υπάρχει μεγάλη πιθανότητα το περιβάλλον ανάπτυξης της Visual Basic να 28

33 παρουσιάσει σοβαρό λάθος και να καταρρεύσει κατά την εκτέλεση ή εκσφαλμάτωση (debug) εφαρμογών με πολλαπλές ροές. Αυτό δεν συμβαίνει στην εκτέλεση του προγράμματος Πολλαπλές ροές στα Windows Ένα λειτουργικό σύστημα πολυεπεξεργασίας μοιράζει τον υπάρχον επεξεργαστικό χρόνο μεταξύ των ροών που τον χρειάζονται. Στα Windows, το Win32 API είναι σχεδιασμένο για preemptive πολυεπεξεργασία. Αυτό σημαίνει ότι το σύστημα κατανέμει μικρά μερίδια επεξεργαστικού χρόνου μεταξύ των ροών που εκτελούνται την ίδια στιγμή. Η τρέχουσα ροή διακόπτεται μόλις λήξει το μερίδιο του χρόνου της αφήνοντας έτσι μία άλλη ροή να εκτελεστεί. Όταν το σύστημα μεταπηδά από μία ροή σε μία άλλη τότε αποθηκεύει το περιεχόμενο της διακοπτόμενης ροής και επαναφέρει το αποθηκευμένο περιεχόμενο της επόμενης ροής που βρίσκεται στην ουρά αναμονής. Επειδή κάθε φορά το μερίδιο του χρόνου είναι πολύ μικρό (περίπου 20 ms) δημιουργείται η αίσθηση ότι οι πολλαπλές ροές εκτελούνται ταυτόχρονα. Αυτό για την ακρίβεια γίνεται μόνο σε συστήματα με πολλούς επεξεργαστές όπου οι ροές που εκτελούνται διανέμονται μεταξύ των επεξεργαστών που υπάρχουν. Αντίθετα σε ένα σύστημα με ένα και μόνο επεξεργαστή, η χρήση πολλαπλών ροών δεν έχει σαν αποτέλεσμα την εκτέλεση περισσοτέρων εντολών. Μπορεί μάλιστα το σύστημα να γίνει πολύ αργό εάν αναγκαστεί να συντηρήσει πάρα πολλές ροές. Οι εφαρμογές μπορούν να επωφεληθούν από την πολυεπεξεργαστική αντιμετώπιση όταν έχουν να αντιμετωπίσουν πολλούς και διάφορους σκοπούς ταυτόχρονα. Σημαντική είναι η εκμετάλλευση χαμένου χρόνου από ροές που εκτελούνται στο παρασκήνιο και περατώνουν χρονοβόρες διαδικασίες. 3.3 Βάσεις Δεδομένων Η ανάπτυξη μίας εφαρμογής με Βάσεις Δεδομένων προϋποθέτει σοβαρή μελέτη ως προς το εργαλείο και την αρχιτεκτονική Βάσεων Δεδομένων που θα χρησιμοποιηθεί. Η ευελιξία, οι δυνατότητες, ο σκοπός λειτουργίας αλλά και το προγραμματιστικό κόστος είναι μερικοί από τους λόγους που επηρεάζουν την κρίση αυτή. Ένας ακόμη σημαντικός παράγοντας είναι και η υποστήριξη του από το προγραμματιστικό εργαλείο. Η Visual Basic 5.0 υποστηρίζει τρεις αρχιτεκτονικές για τη διαχείριση Βάσεων Δεδομένων το ODBC, το DAO και το ADO. Το ODBC (Open Database Connectivity) είναι ένας τρόπος πρόσβασης σε Σχεσιακές ΜΟΝΟ Βάσεις Δεδομένων, το DAO (Data Access Objects) απευθύνεται κυρίως στην Access και το Office της Microsoft ενώ το ADO που είναι μία νέα τεχνολογία για αποδέσμευση από συγκεκριμένες τεχνολογίες Βάσεων Δεδομένων. Από αυτά, αν και το ADO είναι η πολλά υποσχόμενη τεχνολογία, το DAO προσφέρει έναν ασφαλή και εύκολο τρόπο υλοποίησης. Οι ρουτίνες του DAO, που 29

34 βρίσκονται στην έκδοση 3.5, έχουν σχεδιαστεί με βάση τον αντικειμενοστρεφή προγραμματισμό επιτρέποντας την πρόσβαση στα δεδομένα μέσα από ένα αντικείμενο Database αντί για μια συλλογή από συγκεκριμένες λειτουργίες. Απευθύνεται αρχικά σε αρχεία της Access (MDB), επιτρέποντας την πρόσβαση στην εσωτερική της μηχανή Microsoft Jet Engine αλλά και σε άλλες βάσεις με ιεραρχική δομή όπως η Paradox και η FoxPro (Σχήμα 3.6). Σχήμα 3.17 Αρχιτεκτονική του DAO. Η ανοικτή αρχιτεκτονική της Access μαζί με την τεχνολογία DAO καλύπτουν σε μεγάλο βαθμό τις απαιτήσεις για ανάπτυξη εφαρμογών stand-alone. Εκτός των άλλων επιτρέπουν στη χρήση ερωτημάτων (queries) και εντολών SQL. Η SQL (Structured Query Language) είναι μία γλώσσα ειδικά αναπτυγμένη για Σχεσιακές Βάσεις Δεδομένων (Relational Databases) που μας δίνει τη δυνατότητα να ορίσουμε, να τροποποιήσουμε και να εξετάσουμε μία Σχεσιακή Βάση Δεδομένων. Ακόμη ένα μεγάλο πλεονέκτημα είναι ότι με το DAO μπορεί να δημιουργηθεί ένα αρχείο Βάσης Δεδομένων Access με χρήση κώδικα κατά τη λειτουργία ενός προγράμματος. Αυτό εξυπηρετεί στο ότι δεν χρειάζεται να περιλαμβάνονται τα αρχεία αυτά στην εγκατάσταση ενός προγράμματος και ότι σε περίπτωση απώλειας τα αρχεία μπορούν να δημιουργηθούν ξανά. Εξαιρετικά χρήσιμο είναι και στην περίπτωση που πρέπει να δημιουργούνται πολλά τέτοια αρχεία με διαφορετικά ονόματα όπως στην περίπτωση εξαγωγής δεδομένων. 3.4 Αναπαραγωγή Ομιλίας (Text-to-Speech) Η αναπαραγωγή ομιλίας είναι μία σχετικά νέα τεχνολογία στον τομέα του προγραμματισμού. Η Microsoft με τη δημιουργία του Speech API (SAPI) παρέχει στους προγραμματιστές έναν εύκολο τρόπο για την υλοποίηση εφαρμογών με υποστήριξη αναπαραγωγής και αναγνώρισης Αγγλικής (μέχρι στιγμής) ομιλίας. Το Speech API με την έκδοση 4.0 παρέχει σε προγραμματιστές της C/C++, της Visual Basic,VBA, VB-Script και Java όλα τα αντικείμενα και εργαλεία για την ανάπτυξη εφαρμογών με ομιλία. Για την Visual Basic παρέχονται ActiveX αντικείμενα που κάνουν τη χρήση τους πολύ εύκολη. Παρ όλα αυτά χρειάζεται σοβαρή μελέτη για την επιλογή του κατάλληλου 30

35 εργαλείου αφού παρέχονται διάφορα αντικείμενα χαμηλού ή υψηλού επιπέδου. Το Software Developer s Kit (SDK) του SAPI παρέχει πλήρη βοήθεια, πληροφορίες και παραδείγματα για την ανάπτυξη τέτοιων εφαρμογών. Ιδανικό για την αναπαραγωγή ομιλίας είναι το Direct Speech Synthesis Control που είναι ένα χαμηλού επιπέδου (low-level) αντικείμενο. Το Direct Speech Synthesis Control παρέχει ένα ευρύ επίπεδο στον έλεγχο της επεξεργασίας κειμένου-σε-ομιλία (text-tospeech). Οι περισσότερες από τις μεθόδους και ιδιότητες αυτού του αντικειμένου μπορούν να χρησιμοποιηθούν χωρίς ιδιαίτερη προεργασία αφού το αντικείμενο ξεκινάει από μόνο του μόλις χρησιμοποιηθεί μία μέθοδος ή ιδιότητα. Η βασική διασύνδεση αυτού του αντικειμένου είναι η συνάρτηση Speak. Χρησιμοποιώντας τη σύνταξη της Visual Basic, το μόνο που χρειάζεται για να δουλέψει η ομιλία είναι να δοθεί το κείμενο προς ομιλία. Οι υπόλοιπες από τις συναρτήσεις και ιδιότητες είναι προαιρετικές και απλώς επιτρέπουν την αλλαγή διαφόρων παραμέτρων της ομιλίας όπως τη Μηχανή Ομιλίας (Speech Engine) που θα χρησιμοποιηθεί, το φύλο, το βάθος του ήχου και την ταχύτητα. Το αντικείμενο αυτό φορτώνει τη Μηχανή Ομιλίας στη διεργασία (process) και έτσι οι πόροι που χρησιμοποιούνται από το αντικείμενο αυτό δεν χρησιμοποιούνται από άλλες εφαρμογές ομιλίας. 3.5 Προγραμματισμός για Windows NT Οι διαφορές που υπάρχουν μεταξύ των διαφόρων πλατφορμών των Windows και δη μεταξύ των Windows 95/98 και NT δημιουργούν την ανάγκη για σχεδιασμό στον προγραμματισμό έτσι ώστε οι εφαρμογές να εργάζονται σε όλες τις πλατφόρμες. Αυτό κρίνεται αναγκαίο αφού δίνει ευελιξία στην εφαρμογή που γίνεται έτσι μερικώς ανεξάρτητη από λογισμικό (software independent) και αφήνει πιο πολλές επιλογές. Αυτό γίνεται όπως αναφέρθηκε και προηγουμένως με τη χρήση της Προγραμματιστικής Διασύνδεσης Εφαρμογών (API) των Windows. Οι σοβαρότερες διαφορές των Windows NT είναι το μοντέλο ασφάλειας (security) που υλοποιούν και τα προνόμια (privileges). Έτσι για παράδειγμα, ο υπολογιστής δεν μπορεί να κάνει Reboot με χρήση λογισμικού αν δεν παραχωρηθούν τα κατάλληλα προνόμια στη διεργασία του προγράμματος. Επίσης για την πρόσβαση σε χαμηλού επιπέδου επεξεργασία όπως οι λειτουργίες I/O σε Παράλληλη Θύρα Εκτύπωσης, χρειάζεται η χρήση οδηγού (driver). Η παροχή προνομίων σε μία διεργασία γίνεται με τη χρήση των εντολών του Win32 API: OpenProcessToken, LookupPrivilegValue και AdjustTokenPrivileges. Με το Win32 API αλλά και την προσεκτική επιλογή στοιχείων DLL ώστε να είναι συμβατά, πετυχαίνεται η ικανότητα το λογισμικό να εκτελείται από όλα αυτά τα λειτουργικά. Προσοχή πρέπει να δοθεί στις συναρτήσεις του API που υποστηρίζονται μόνο από τα Windows NT και όχι από τα 95/98 όπου η χρήση τους θα δημιουργήσει σφάλματα. 31

36 13 14 ΚΕΦΑΛΑΙΟ 4 4 ΣΧΕΔΙΑΣΜΟΣ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ο λογισμικό του Συστήματος Ελεγχόμενης Πρόσβασης αποτελείται από τρία ξεχωριστά προγράμματα, το βασικό πρόγραμμα της εφαρμογής και αλλά δύο για να το υποστηρίζουν. Το λογισμικό αποτελείται από το πρόγραμμα Smart Guard που είναι το βασικό της εφαρμογής, τον Φρουρό Προγράμματος (Guard) που παρακολουθεί για την καλή λειτουργία του πρώτου και το πρόγραμμα Δραστηριότητας με το οποίο γίνεται εμφάνιση, επεξεργασία και εκτύπωση της δραστηριότητας στις εισόδους. Τα τρία προγράμματα εξετάζονται πιο κάτω το καθ' ένα ξεχωριστά. Πρώτα όμως εξετάζεται η αρχιτεκτονική της εφαρμογής, οι βάσεις δεδομένων που χρησιμοποιούνται και ο τρόπος διασύνδεσης με τις διάφορες συσκευές, αφού αυτά είναι απαραίτητα για την κατανόηση της όλης εφαρμογής. 4.1 Αρχιτεκτονική Λογισμικού Η χρήση των τριών προγραμμάτων κρίθηκε αναγκαία αφού το λογισμικό πρέπει να εκτελέσει πάρα πολλούς σκοπούς ταυτόχρονα. Έτσι με τη χρήση του προγράμματος Δραστηριότητας, που είναι μία ξεχωριστή διεργασία (process), δεν επιβαρύνεται το βασικό πρόγραμμα με την εμφάνιση και εκτύπωση της δραστηριότητας. Ενώ με τον Φρουρό Προγράμματος, που είναι και αυτό μία ξεχωριστή διεργασία, πετυχαίνεται η παρακολούθηση της καλής λειτουργίας του προγράμματος Smart Guard. Αυτό δεν θα ήταν δυνατό αν ο Φρουρός Προγράμματος δεν ήταν ανεξάρτητος από το πρόγραμμα αυτό, αφού σε αυτή την περίπτωση με την εμφάνιση σφάλματος θα αποτύχαινε και ο ίδιος ο Φρουρός. Ο βασικός τρόπος λειτουργίας της εφαρμογής φαίνεται στο Σχήμα 4.1 όπου στο διάγραμμα διακρίνονται τα τρία προγράμματα και οι μεταξύ τους διασυνδέσεις. Το πρόγραμμα Smart Guard [1] συμπεριφέρεται σαν ένα σύστημα εισόδου / εξόδου. Διαβάζει τα δεδομένα εισόδου, στην προκειμένη περίπτωση από τους καρτοδέκτες, τα επεξεργάζεται ελέγχει αν αυτά υπάρχουν στα δεδομένα των χρηστών και τέλος σαν έξοδο εκτελεί τις πρέπουσες ενέργειες που μπορεί να περιλαμβάνουν το άνοιγμα της εισόδου, την καταγραφή στο αρχείο δραστηριότητας ή ακόμα και την ενημέρωση ότι η πρόσβαση του 32

37 χρήστη έχει λήξει. Πέρα από αυτό το πρόγραμμα εκτελεί και άλλους σκοπούς ενώ παρέχει και όλες τις απαραίτητες ρυθμίσεις. Σχήμα 4.18 Διάγραμμα λειτουργίας του λογισμικού. Τα δεδομένα της δραστηριότητας στις εισόδους αναλαμβάνει να εμφανίσει και να επεξεργαστεί το Πρόγραμμα Δραστηριότητας [3] (Activity). Το πρόγραμμα αυτό είναι ένα ActiveX Exe Server πρόγραμμα το οποίο καλείται από το πρόγραμμα Smart Guard για να εκτελέσει αυτό τον σκοπό. Τέλος ο Φρουρός Προγράμματος [2] παρακολουθεί για την καλή λειτουργία του προγράμματος Smart Guard και σε περίπτωση αποτυχίας κάνει επανεκκίνηση του υπολογιστικού συστήματος έτσι ώστε να αρχίσει ξανά το πρόγραμμα και να επανέλθει στην πρότερα κατάσταση λειτουργίας. 4.2 Βάσεις Δεδομένων Στο πρόγραμμα χρησιμοποιούνται τρεις βάσεις δεδομένων της Access (mdb) με την αρχιτεκτονική του DAO που περιγράφηκε στην Προεργασία Λογισμικού. Τα αρχεία αυτά δημιουργούνται αποκλειστικά με κώδικα από το πρόγραμμα Smart Guard. Ο κώδικας φαίνεται στο module Databases.bas του προγράμματος Smart Guard στον τόμο "Κώδικας Λογισμικού". Η πρώτη είναι η βάση δεδομένων στην οποία περιέχεται ο πίνακας Table όπου αποθηκεύονται τα στοιχεία του κάθε χρήστη και χρησιμοποιείται από το πρόγραμμα Smart Guard για την αναγνώριση των χρηστών αλλά και σαν βάση δεδομένων αντίγραφο. Στο Σχήμα 4.2 φαίνονται τα πεδία του πίνακα Table της βάσης δεδομένων. 33

38 Σχήμα 4.19 Πίνακας Table της βάσης δεδομένων των χρηστών Στο Code αποθηκεύεται ο μοναδικός κωδικός του κάθε χρήστη, στο Surname και Name το επίθετο και όνομα του χρήστη, στο ID ένας κωδικός αναγνώρισης του χρήστη, στο Gates οι είσοδοι στις οποίες δικαιούται πρόσβαση και στο ExpDate η ημερομηνία λήξης του χρήστη. Επιπλέον, σε αυτή τη βάση δεδομένων υπάρχουν τρία έτοιμα ερωτήματα επιλογής (select queries). Τα ερωτήματα αυτά είναι σε γλώσσα SQL και επειδή είναι υλοποιημένα στη βάση δεδομένων είναι πολύ πιο γρήγορα από τα ερωτήματα που δημιουργούνται στο πρόγραμμα με κώδικα. Τα ερωτήματα αυτά χρησιμοποιούνται από το πρόγραμμα για την εμφάνιση και τροποποίηση των δεδομένων των χρηστών και ξεχωρίζουν στο ViewAll που εμφανίζει όλους τους χρήστες σε αλφαβητική σειρά, στο ViewVal που εμφανίζει πάλι αλφαβητικά τους χρήστες των οποίων η πρόσβαση δεν έχει λήξει και τέλος στο ViewExp που παρουσιάζει, με σειρά εμφάνισης την ημερομηνία λήξης, τους χρήστες των οποίων η πρόσβαση έχει λήξει. Τα αρχεία αυτού του τύπου δημιουργούνται με την κατάληξη.mdb για χρήση σαν βάση δεδομένων του συστήματος και αποθηκεύονται με την κατάληξη.mds όταν πρόκειται για βάση δεδομένων αντίγραφο. Η δεύτερη βάση δεδομένων χρησιμοποιείται από το πρόγραμμα Smart Guard για την εξαγωγή δεδομένων (χρήστες) και είναι ίδια με την πρώτη χωρίς όμως την παρουσία των ερωτημάτων (queries) αφού αυτά δεν χρειάζονται. Τα αρχεία αυτών των βάσεων δεδομένων δημιουργούνται με την κατάληξη.mdx για να ξεχωρίζουν από τα υπόλοιπα. Τέλος, η τρίτη βάση δεδομένων είναι αυτή στην οποία καταχωρείται η δραστηριότητα στις εισόδους. Η καταχώριση γίνεται από το πρόγραμμα Smart Guard ενώ η εμφάνιση και επεξεργασία από το πρόγραμμα Δραστηριότητας (Activity Log Viewer). Εδώ εκτός από τα στοιχεία που καθορίζουν τον χρήστη, αποθηκεύεται η ημερομηνία και η ώρα που έγινε η προσπέλαση όπως και η θύρα. Τα πεδία του πίνακα δραστηριότητας φαίνονται στο Σχήμα 4.3. Σχήμα 4.20 Πίνακας Log της βάσης δεδομένων δραστηριότητας 34

39 Επιπλέον, σε αυτή τη βάση δεδομένων υπάρχει έτοιμο ένα ερώτημα διαγραφής (delete query). Το ερώτημα αυτό δέχεται σαν παράμετρο έναν αριθμό που αντιστοιχεί σε περίοδο μηνών. Με την εκτέλεση του ερωτήματος η βάση δεδομένων διαγράφει τη δραστηριότητα που είναι χρονικά πιο παλαιά από την περίοδο των μηνών που δόθηκε. Το ερώτημα αυτό εκτελείται από το πρόγραμμα Smart Guard κάθε φορά που ένας χρήστης χρησιμοποιεί το σύστημα, έτσι με αυτόν τον τρόπο η βάση δεδομένων γίνεται ελεγχόμενη στα δεδομένα που θα περιέχει αλλά και στο μέγεθος. Τα αρχεία αυτών των βάσεων δεδομένων δημιουργούνται με την ονομασία Log.mdl και δεν επιδέχονται αλλαγής. 4.3 Διασύνδεση Καρτοδεκτών Η διασύνδεση των Καρτοδεκτών με το πρόγραμμα Smart Guard γίνεται με τη βοήθεια του χειριστηρίου CardPlus (Custom Control - OCX) της Visual Basic που γράφτηκε ειδικά για αυτό τον σκοπό. Το πρόγραμμα αυτό επικοινωνεί με τον καρτοδέκτη και χειρίζεται τα δεδομένα μέσω της σειριακής σύνδεσης RS-232 με τη χρήση του χειριστηρίου Mscomm32.ocx. Το πρόγραμμα αυτό παρέχει (εξωτερικά) στο πρόγραμμα Smart Guard τις εξής συναρτήσεις και ιδιότητες: Συναρτήσεις: OpenCom CloseCom CheckCard CheckReader CardInside EraseCard ReadCard (rdata) WriteCard (rdata) Ανοίγει τη σειριακή θύρα (True - False) Κλείνει τη σειριακή θύρα (True - False) Ελέγχει αν υπάρχει κάρτα στον καρτοδέκτη (True False) Ελέγχει αν υπάρχει καρτοδέκτης στη σειριακή θύρα (True-False) Ανοίγει τη σειριακή θύρα και ελέγχει αν υπάρχει κάρτα στον καρτοδέκτη (True - False) Διαγράφει τα δεδομένα της κάρτας (True - False) Διαβάζει την κάρτα και επιστρέφει τα δεδομένα της rdata (True-False) Γράφει τα δεδομένα rdata στην κάρτα (True-False) Ιδιότητες: ComPort Καθορίζεται ο αριθμός της σειριακής θύρας (1-4) Όλα αυτά, είναι όσα χρειάζονται για την επίτευξη της επικοινωνίας και τη διεκπεραίωση των σκοπών που χρειάζεται το πρόγραμμα. Εσωτερικά το χειριστήριο αυτό χρησιμοποιεί το σετ εντολών του καρτοδέκτη και περιέχει όλα τα στοιχεία για την επίτευξη αυτών των συναρτήσεων όπως για παράδειγμα την μετατροπή του κειμένου (ASCII) σε δεκαεξαδικό και το αντίστροφο, αφού τα δεδομένα δίνονται στους καρτοδέκτες σε μορφή δεκαεξαδικών. 35

40 Το πρόγραμμα αυτό είναι γραμμένο με βάση τους συγκεκριμένους καρτοδέκτες και κάρτες που χρησιμοποιήθηκαν στο σύστημα. Σε περίπτωση αλλαγής του τύπου των καρτών ή των καρτοδεκτών, το μόνο που χρειάζεται για να λειτουργεί το σύστημα είναι η ενημέρωση ή τροποποίηση του συγκεκριμένου προγράμματος. Ένα σημαντικό θέμα στην ανάπτυξη του συγκεκριμένου χειριστηρίου είναι ο συγχρονισμός στη σειριακή επικοινωνία. Ο τύπος των καρτοδεκτών που χρησιμοποιήθηκε παρ' όλο που εργάζεται στα 9600 bit/s δεν χρησιμοποιεί τα σήματα συγχρονισμού της σειριακής θύρας και έτσι απαιτεί όπως τα byte που του αποστέλλονται έχουν μεταξύ τους ένα μικρό χρονικό διάστημα, στη προκειμένη περίπτωση 2 ms, έτσι ώστε να μπορεί να αντιλαμβάνεται την αποστολή του κάθε byte. Επειδή ο χρόνος των 1-2 ms είναι πολύ μικρός, αυτό μπορεί να μην είναι πρόβλημα σε έναν αργό υπολογιστή αλλά θα είναι πρόβλημα σε έναν πολύ γρήγορο υπολογιστή. Για τη λύση του προβλήματος αυτού χρησιμοποιήθηκε μία χρονοκαθυστέρηση με τη βοήθεια της συνάρτησης GetTickCount του Win32 API, λόγω του ότι αυτή είναι ταχύτερη από τη συνάρτηση Timer της Visual Basic. 4.4 Διασύνδεση Συσκευής Ελέγχου Η Συσκευή Ελέγχου που περιγράφηκε στο Υλικό του Συστήματος, διασυνδέεται με το πρόγραμμα Smart Guard μέσω της Παράλληλης Θύρας Εκτύπωσης με τη βοήθεια μίας συνάρτησης βιβλιοθήκης (DLL) που παρέχει και τον κατάλληλο οδηγό (Driver) SYS για χρήση και σε Windows NT. Η βιβλιοθήκη αυτή είναι η DLPortIO.DLL και η συνάρτηση είναι η DlPortWritePortUchar και το μόνο που χρειάζεται για να λειτουργήσει είναι ο καθορισμός της διεύθυνσης της Παράλληλης Θύρας και τα δεδομένα που θα γράψει σε αυτήν. Οι διευθύνσεις της Παράλληλης Θύρας είναι προκαθορισμένες και μπορεί να είναι η &H278, η &H378 και η &H3BC. Τα δεδομένα για το άνοιγμα των εισόδων είναι στο δεκαδικό τα 128, 64 και 32. Όπως γίνεται κατανοητό για το άνοιγμα ενός συνδυασμού εισόδων θα πρέπει τα δεδομένα να είναι το άθροισμα των επιμέρους δεδομένων που χρειάζεται η κάθε είσοδος. Με την εγγραφή των δεδομένων στην Παράλληλη Θύρα αυτά παραμένουν μέχρι να γραφεί κάτι άλλο όπως για παράδειγμα ο μηδενισμός της Θύρας. Αυτό δεν εξυπηρετεί αφού το άνοιγμα πρέπει να διαρκεί μερικά μόνο δευτερόλεπτα. Για το λόγο αυτό δημιουργείται με κώδικα μία χρονοκαθυστέρηση στην κάθε είσοδο και η οποία καθορίζεται από τις ρυθμίσεις. Αυτό γίνεται στο πρόγραμμα Smart Guard με τη χρήση ενός αντικειμένου Timer. Το αντικείμενο αυτό χειρίζεται και τις τρεις εισόδους έχοντας μία μεταβλητή στην οποία προσθέτει τα δεδομένα που χρειάζονται για το άνοιγμα της κάθε εισόδου και τα αφαιρεί όταν περάσει ο χρόνος καθυστέρησης. Τα δεδομένα της μεταβλητής δίνονται στη συνάρτηση του DLL κάθε 100 ms και καθορίζουν με αυτό τον τρόπο το άνοιγμα των εισόδων. 36

41 4.5 Πρόγραμμα Smart Guard Το πρόγραμμα Smart Guard οδηγεί το Σύστημα Ελεγχόμενης Πρόσβασης γρήγορα και με ασφάλεια χρησιμοποιώντας τεχνολογία υψηλής προτεραιότητας και πολλαπλών λειτουργιών. Το πρόγραμμα Smart Guard παρακολουθεί τρεις καρτοδέκτες που είναι συνδεδεμένοι στις θύρες RS232 του υπολογιστή και σε περίπτωση ανίχνευσης έγκυρης κάρτας επιτρέπει την είσοδο στέλνοντας τα κατάλληλα σήματα στη συσκευή Ελέγχου Εισόδων. Ο προγραμματισμός των καρτών γίνεται από το ίδιο το πρόγραμμα με έναν τέταρτο καρτοδέκτη. Το πρόγραμμα αποθηκεύει τα στοιχεία του κάθε χρήστη σε Βάση Δεδομένων και παρέχει δυνατότητα τροποποίησης τους. Η Δραστηριότητα στις Εισόδους καταχωρείται σε αρχείο για χρήση από το πρόγραμμα Δραστηριότητας (Activity) ενώ παράλληλα υπάρχει άμεση ενημέρωση του Υπεύθυνου Συστήματος με οπτικές ενδείξεις, ήχο ή ομιλία αλλά και άμεση εκτύπωση. Το πρόγραμμα συνεργάζεται με τον Φρουρό Προγράμματος για επανεκκίνηση του συστήματος σε περίπτωση διακοπής της λειτουργίας του και επιπλέον παρέχει αυτόματο αντίγραφο (backup) της Βάσης Δεδομένων, Εισαγωγή / Εξαγωγή Δεδομένων, αυτόματη αλλαγή διαστάσεων για χρήση σε όλες τις αναλύσεις οθόνης, παρακολούθηση των πόρων του συστήματος και άλλα πολλά. Πιο κάτω εξετάζεται η σχεδίαση των σημαντικότερων τμημάτων του προγράμματος Αρχικές Συνθήκες Λειτουργία Το πρόγραμμα Smart Guard σχεδιάστηκε έτσι ώστε να μπορεί να εργάζεται χωρίς την παρουσία κάποιου που να το χειρίζεται. Αφού γίνουν οι βασικές ρυθμίσεις την πρώτη φορά, το Smart Guard μπαίνει σε λειτουργία κάθε φορά χωρίς άλλες απαιτήσεις. Με την εκκίνηση του το πρόγραμμα θέτει τις ρυθμίσεις που έγιναν την τελευταία φορά και οι οποίες είναι αποθηκευμένες στο Registry των Windows. Επιπλέον εκτελούνται κάποιες διαδικασίες, ανάλογα με τις ρυθμίσεις, όπως για παράδειγμα η εκκίνηση του Φρουρού Προγράμματος που θα παρακολουθεί την καλή λειτουργία του. Η δραστηριότητα της ημέρας, που παρουσιάζεται σε μία λίστα από το πρόγραμμα, φορτώνεται και αυτή στην αρχή του προγράμματος από τη βάση δεδομένων της δραστηριότητας. Σε περίπτωση που αυτή η βάση δεδομένων δεν υπάρχει, τότε το πρόγραμμα την δημιουργεί από μόνο του με τη χρήση κώδικα. Έπειτα εκτελούνται οι ρουτίνες ελέγχου και αρχικοποίησης (Initialize) του προγράμματος όπου ελέγχεται η παρουσία της βάσης δεδομένων των χρηστών και η παρουσία των καρτοδεκτών που είναι συνδεδεμένοι στις θύρες και βρίσκονται σε λειτουργία. Ο έλεγχος για την παρουσία της βάσης δεδομένων είναι απαραίτητος αφού το σύστημα δεν μπορεί να λειτουργήσει χωρίς αυτήν ενώ είναι μάταιο να δημιουργήσει μία άλλη αφού αυτή δεν θα περιέχει τα δεδομένα των χρηστών. Στην περίπτωση που δεν ανιχνευθεί η παρουσία της βάσης δεδομένων και μόνο σε αυτή την περίπτωση το πρόγραμμα δεν 37

42 προχωράει τη λειτουργία του αλλά αναμένει από τον υπεύθυνο του συστήματος για τη ρύθμιση της βάσης δεδομένων. Η ανίχνευση των καρτοδεκτών είναι και αυτή απαραίτητη αφού δεν υπάρχει λόγος λειτουργίας αν δεν υπάρχουν στο σύστημα καρτοδέκτες. Στην περίπτωση που δεν ανιχνευθεί κανένας καρτοδέκτης σε λειτουργία τότε το πρόγραμμα μπαίνει σε ένα κύκλο αναμονής και επαναπροσπάθειας, ενώ αν ανιχνευθεί έστω και ένας μόνο καρτοδέκτης σε λειτουργία τότε το πρόγραμμα προχωρεί στην επόμενη φάση που είναι η δημιουργία μίας νέας ροής για το διάβασμα των καρτοδεκτών. Αυτό γίνεται με τη χρήση της τάξης (class) Thread.cls που φροντίζει για τη δημιουργία και καταστροφή των ροών όταν γίνεται η διαδικασία αρχικοποίησης (Initialize Reset Node) και όταν το πρόγραμμα τερματίζει Διάβασμα Καρτοδεκτών Το διάβασμα των καρτοδεκτών γίνεται με τη δημιουργία μίας νέας ροής προγράμματος που δουλεύει στο παρασκήνιο. Αυτό κρίθηκε αναγκαίο αφού η διαδικασία αυτή πρέπει να εκτελείται ανεξάρτητα από τις υπόλοιπες διαδικασίες. Σε αντίθετη περίπτωση η διαδικασία της ανίχνευσης κάρτας θα περίμενε την όποια άλλη διαδικασία βρισκόταν σε εκτέλεση εκείνη τη στιγμή ενώ ακόμα και ένα κλασικό μήνυμα του προγράμματος θα σταματούσε τη εκτέλεση της ροής, αφού θα ανέμενε για ανταπόκριση από τον χρήστη. Η νέα ροή μπορούμε να πούμε ότι έχει υψηλή προτεραιότητα αφού είναι ισόβαθμη με την πρωταρχική ροή του προγράμματος. Στο Σχήμα 4.4 φαίνεται το διάγραμμα λειτουργίας. Σχήμα 4.21 Διάβασμα Καρτοδεκτών Ο χειρισμός των καρτοδεκτών γίνεται ανεξάρτητα από τις άλλες διαδικασίες αλλά η αναγνώριση των καρτών και η ενημέρωση του συστήματος γίνεται σειριακά από την πρωταρχική ροή του προγράμματος. Αυτό οφείλεται σε πρακτικούς λόγους αλλά και στο γεγονός ότι η μηχανή βάσεων δεδομένων Jet της Visual Basic δεν είναι ασφαλής στις πολλαπλές ροές (thread-safe). Για το λόγο αυτό γίνεται συγχρονισμός στο σημείο όπου η 38

43 ροή των καρτοδεκτών ζητάει αναγνώριση, έτσι ώστε να γίνεται μόνο μία αναγνώριση κάθε φορά. Ενόσω γίνεται η αναγνώριση, η ροή των καρτοδεκτών είναι μπλοκαρισμένη και δεν μπορεί να ζητήσει και άλλη αναγνώριση. Αυτό γίνεται με ένα Event (γεγονός) το οποίο είναι AutoReset και not-signaled. Έτσι μόλις η ροή ζητήσει αναγνώριση μπαίνει αμέσως σε αναμονή με τη χρήση της εντολής WaitForSingleObject αφού το Event είναι not-signaled. Με το τέλος της αναγνώρισης τίθεται το Event στην κατάσταση signaled ξεμπλοκάροντας έτσι τη ροή των καρτοδεκτών. Το Event είναι AutoReset και μετά από αυτό μπαίνει από μόνο του στην κατάσταση not-signaled για να είναι έτοιμο για την επόμενη αναμονή. Επιπλέον για την απομόνωση της ροής των καρτοδεκτών από την πρωταρχική ροή χρησιμοποιήθηκε ένα αντικείμενο Timer που είναι ενδιάμεσος των δύο ροών. Η ροή των καρτοδεκτών ζητάει από τον Timer να εκτελέσει την αναγνώριση αλλά η εκτέλεση του κώδικα του Timer γίνεται από την πρωταρχική ροή. Τα πλεονεκτήματα αυτής της αντιμετώπισης είναι ότι δεν αφήνουμε τις ροές να μπλέκουν η μία στον κώδικα της άλλης και επιπλέον ότι με την χρήση του Timer ο κώδικας κάτω από τον Timer θα εκτελεστεί σε κάθε περίπτωση αφού ο Timer είναι και αυτός μία περίπτωση κλήσης επιστροφής (callback) όπως οι πολλαπλές ροές. Η ροή των καρτοδεκτών ξεκινάει, με τη διαδικασία της δημιουργίας ροών, στη ρουτίνα ContLoop. Η ρουτίνα αυτή με ένα ατέρμονα βρόχο ανοίγει μία προς μία τις θύρες που υπάρχουν καρτοδέκτες και ελέγχει για παρουσία κάρτας. Στην περίπτωση ανίχνευσης κάρτας διαβάζει τα δεδομένα της και ζητάει για αναγνώριση, ενημέρωση και περαιτέρω ενέργειες. Αμέσως μετά η ροή μπαίνει στην αναμονή μέχρι να ενημερωθεί το σύστημα. Η διαδικασία αυτή επαναλαμβάνεται συνεχώς μέχρι να ζητηθεί να σταματήσει. Η ρουτίνα αυτή αναλαμβάνει και άλλες εργασίες όπως το προσωρινό σταμάτημα για εγγραφή νέας κάρτας, την ενημέρωση της κατάστασης των καρτοδεκτών και άλλα. Ένα σημαντικό θέμα στην ανάπτυξη αυτής της ρουτίνας, που είναι και η βασικότερη του προγράμματος, είναι ότι για το διάβασμα των καρτοδεκτών χρειάζεται συνεχώς το άνοιγμα (OpenCom) και κλείσιμο (CloseCom) των θυρών στις οποίες είναι συνδεδεμένοι. Αυτό οφείλεται στο γεγονός ότι παρά τη σημερινή πρόοδο οι προσωπικοί υπολογιστές δεν διαθέτουν παρά μόνο δύο IRQ (σήματα διακοπών) για την επίτευξη σειριακής επικοινωνίας. Οι τέσσερις θύρες σειριακής επικοινωνίας μοιράζονται ανά δύο τα IRQ με αποτέλεσμα όταν μία θύρα χρησιμοποιεί το ένα IRQ μία άλλη να μην μπορεί να ανοίξει. Για το λόγο αυτό το διάβασμα γίνεται με τη σειρά ανοίγοντας και κλείνοντας τη σειριακή θύρα στην οποία είναι συνδεδεμένος ο καρτοδέκτης. Επιπλέον πρέπει να σημειωθεί ότι για την υλοποίηση της συγκεκριμένης ρουτίνας δεν γίνεται η ίδια αντιμετώπιση όπως στις άλλες ρουτίνες αφού αυτή εκτελείται από τη νέα ροή που συμπεριφέρεται κάπως διαφορετικά. Έτσι, αντί για την εντολή DoEvents χρησιμοποιείται η εντολή Sleep 0 επειδή ακριβώς η DoEvents είναι σχεδιασμένη μόνο για χρήση από τη βασική ροή των προγραμμάτων της Visual Basic και όχι από άλλες ροές όπως αυτή που δημιουργούμε για τους καρτοδέκτες. Η Sleep 0 από την άλλη, όταν 39

44 εκτελείται μεταφέρει τον έλεγχο της εκτέλεσης στις άλλες ροές που περιμένουν για εκτέλεση και έχουν events (γεγονότα) στην αναμονή Αναγνώριση και Ενημέρωση Μετά την ανίχνευση της κάρτας και το διάβασμα των δεδομένων της, γίνεται η διαδικασία της αναγνώρισης της κάρτας και της ενημέρωσης του συστήματος. Η διαδικασία αυτή φαίνεται στο Σχήμα 4.5. Για την αναγνώριση, ενδέχεται, να χρειάζεται προηγουμένως να γίνει αποκωδικοποίηση των δεδομένων μια και αυτά μπορεί να είναι κωδικοποιημένα με χρήση αλγορίθμου κρυπτογράφησης για περισσότερη ασφάλεια, όπως θα εξεταστεί σε επόμενη παράγραφο. Μετά από την αποκωδικοποίηση ελέγχεται αν τα δεδομένα αυτά υπάρχουν στο πεδίο Code της βάσης δεδομένων αφού τα δεδομένα των καρτών αντιστοιχούν σε αυτό το πεδίο. Στην περίπτωση που τα δεδομένα υπάρχουν τότε ελέγχεται το πεδίο ExpDate της βάσης δεδομένων για την ημερομηνία λήξης της πρόσβασης του χρήστη. Στην περίπτωση που η πρόσβαση δεν έχει ακόμη λήξει τότε γίνεται ενημέρωση του συστήματος. Αυτό περιλαμβάνει το άνοιγμα των θυρών μέσω της συσκευής ελέγχου, την ενημέρωση της βάσης δεδομένων για τη δραστηριότητα αλλά και άλλες μεθόδους ενημέρωσης που επιλέγονται από τον υπεύθυνο του συστήματος όπως την ενημέρωση με ομιλία, την δημιουργία ήχου, την αλλαγή χρώματος στην οθόνη και την άμεση εκτύπωση. Σχήμα 4.22 Διαδικασία αναγνώρισης και ενημέρωσης 40

45 Αντίθετα, αν η πρόσβαση του χρήστη έχει λήξει τότε ενημερώνεται το σύστημα για την παρουσία της ληγμένης κάρτας χωρίς όμως να ανοίξει η είσοδος και να αποθηκευτούν τα δεδομένα του στο αρχείο δραστηριότητας. Το άνοιγμα των εισόδων γίνεται με τη διαδικασία που περιγράφηκε στο ίδιο Κεφάλαιο στην παράγραφο "Διασύνδεση Συσκευής Ελέγχου". Η ενημέρωση του αρχείου δραστηριότητας περιλαμβάνει, εκτός από την εισαγωγή των δεδομένων του χρήστη που εισέρχεται εκείνη τη στιγμή, και την εκτέλεση του ερωτήματος διαγραφής όπως περιγράφηκε στις Βάσεις Δεδομένων και που σκοπό έχει τη διαγραφή της χρονικά παλαιάς δραστηριότητας Εγγραφή Κάρτας Η εγγραφή των καρτών γίνεται από το ίδιο το πρόγραμμα με τη χρήση ενός τέταρτου καρτοδέκτη. Το πρόβλημα που αντιμετωπίζεται σε αυτή την περίπτωση είναι η χρήση των IRQ από τον βρόχο της ροής καρτοδεκτών. Μπορεί η ροή καρτοδεκτών να ανοίγει και να κλείνει τις θύρες, όμως, η διαδικασία αυτή είναι τόσο γρήγορη ώστε να μην προλαβαίνουν οι υπόλοιπες ροές στο πρόγραμμα να ενημερωθούν για αυτό. Έτσι, όταν γίνεται προσπάθεια για το άνοιγμα της θύρας του καρτοδέκτη εγγραφής, τότε αυτό οδηγεί σε αποτυχία αφού το IRQ είναι ως συνήθως κατειλημμένο. Για το λόγο αυτό γίνεται μια προσωρινή διακοπή (παύση) του βρόχου των καρτοδεκτών της τάξεως των μερικών δευτερολέπτων ωσότου γίνει η εγγραφή της νέας κάρτας. Αυτό πετυχαίνεται με τη χρήση Σχήμα 4.23 Διαδικασία εγγραφής κάρτας. 41

46 κάποιων μεταβλητών που χρησιμοποιούνται με τρόπο που να μην δημιουργείται πρόβλημα συγχρονισμού και οι οποίες δίνουν τα σήματα στη ρουτίνα ContLoop για να μπει και να βγει από την αναμονή αλλά και το σήμα στη ρουτίνα εγγραφής ότι η ροή καρτοδεκτών βρίσκεται σε αναμονή. Η ρουτίνα ContLoop περιέχει τη διαδικασία της παύσης σε σημείο του κώδικα της όπου οι σειριακές θύρες είναι όλες κλειστές εξασφαλίζοντας έτσι ότι με την παύση στο σημείο αυτό τα IRQ θα είναι ελεύθερα. Στο Σχήμα 4.6 φαίνεται το διάγραμμα της εγγραφής. Μετά την εισαγωγή των προσωπικών δεδομένων του χρήστη, τις εισόδους που θα έχει πρόσβαση και την ημερομηνία λήξης γίνεται η προσωρινή διακοπή του βρόχου των καρτοδεκτών και εφόσον αυτός υπάρχει. Μετά από αυτό γίνεται η παραγωγή ενός μοναδικού κωδικού που θα εγγραφεί στην κάρτα. Η διαδικασία αυτή εξετάζεται στην επόμενη παράγραφο και εκτός από τον έλεγχο της βάσης δεδομένων για μοναδικότητα του κωδικού μπορεί να περιλαμβάνει και χρήση αλγορίθμου κρυπτογράφησης. Στη συνέχεια γίνεται προσπάθεια εγγραφής της κάρτας σε διάφορα στάδια που περιλαμβάνουν την διαγραφή των προηγούμενων δεδομένων της κάρτας, τον έλεγχο ότι η κάρτα λειτουργεί σωστά και την επιβεβαίωση ότι τα δεδομένα γράφτηκαν στην κάρτα επιτυχώς. Αφού γίνει αυτό και επιβεβαιωθεί ότι η κάρτα θα λειτουργεί σωστά, τότε και μόνο τότε τα δεδομένα του χρήστη και ο κωδικός του εισάγονται στη βάση δεδομένων. Τέλος, δίνονται τα κατάλληλα σήματα στον βρόχο της ροής καρτοδεκτών ώστε να βγει από την αναμονή και να συνεχίσει τη λειτουργία του. Ο βρόχος της ροής καρτοδεκτών συνεχίζει τη λειτουργία του είτε γίνει είτε δεν γίνει η εγγραφή της κάρτας. Σημειώνεται ότι καθ' όλη τη διάρκεια της διαδικασίας εγγραφής γίνονται όλοι οι έλεγχοι που χρειάζονται ενώ παράλληλα παρουσιάζονται μηνύματα στον χειριστή για το αν πέτυχε ή απέτυχε η εγγραφή και γιατί δεν πέτυχε. Μετά από κάθε εγγραφή νέας κάρτας κρατείται ένα αντίγραφο της βάσης δεδομένων, και εφόσον αυτό έχει επιλέγει. Το αρχείο αυτό είναι μία αντιγραφή και γίνεται με συναρτήσεις του API που λειτουργούν άσχετα με το αν το αρχείο αυτό είναι ανοικτό και βρίσκεται σε χρήση. Αυτό δεν συμβαίνει με την εντολή FileCopy της Visual Basic. Η αντιγραφή γίνεται σε αυτό το σημείο έτσι ώστε το αντίγραφο να περιέχει τον νέο χρήστη που εισάχθηκε στη βάση δεδομένων Παραγωγή Κωδικών Κρυπτογράφηση Το σύστημα πρέπει να παράγει μοναδικούς κωδικούς και κατ επέκταση μοναδικές κάρτες. Αυτό πετυχαίνεται με την παραγωγή κωδικών που είναι βασισμένοι στην ημερομηνία και σε τυχαίους αριθμούς. Έτσι σε μία συγκεκριμένη ημέρα μπορεί να παραχθεί μεγάλο πλήθος ξεχωριστών κωδικών του οποίου το μέγεθος δίνεται από τους δυνατούς συνδυασμούς που μπορεί να έχει ο τυχαίος αριθμός. Ο αριθμός αυτός 42

47 αποτελείται από έναν αλφαβητικό χαρακτήρα (A Z) και δύο αριθμητικούς (10 99) και δίνει 2340 ξεχωριστούς κωδικούς σε μία ημέρα. Για να μην δίνεται ο ίδιος κωδικός, το πρόγραμμα εξετάζει αν αυτός υπάρχει στη βάση δεδομένων. Στην περίπτωση που ο κωδικός έχει ήδη δοθεί, τότε παράγει άλλον κωδικό και επαναλαμβάνει την ίδια διαδικασία μέχρι να βρεθεί ένας μοναδικός κωδικός (Σχήμα 4.7). Η χρήση αυτών των κωδικών παρέχει αρκετή ασφάλεια υπό την προϋπόθεση όμως ότι δεν θα χρησιμοποιούνται άλλα συστήματα ταυτόχρονα με κίνδυνο τη δημιουργία πανομοιότυπων καρτών. Βέβαια για να γίνει αυτό πρέπει να συμπέσει η ημέρα εγγραφής των καρτών και ταυτόχρονα από τους 2340 συνδυασμούς να παραχθεί ο ίδιος κωδικός. Η απλότητα όμως των κωδικών μπορεί να οδηγήσει στην κατανόηση τους και σε εσκεμμένη παραγωγή καρτών για κακόβουλη χρήση. Σχήμα 4.24 Παραγωγή μοναδικού κωδικού Όπως γίνεται φανερό, η χρήση πολλών ίδιων συστημάτων ταυτόχρονα επιβάλλει μία άλλη αντιμετώπιση όσον αφορά την παραγωγή κωδικών. Για το λόγο αυτό χρησιμοποιείται σύστημα κωδικοποίησης με τη χρήση Κρυπτογράφησης Συμμετρικών Κλειδιών και τη χρήση ενός κλειδιού που θα είναι δημόσιο για τις κάρτες που θα παράγονται σε ένα σύστημα. Τα μυστικά δεδομένα όπως ο κωδικός και το κλειδί μπορούν να προστατευθούν μέσω της Κρυπτογράφησης. Η Κρυπτογράφηση είναι η τεχνική της μετατροπής δεδομένων σε μία δυσανάγνωστη μορφή με τη βοήθεια ενός σχετικά μικρού κρυπτογραφικού κλειδιού και την επαναφορά στην κανονική τους κατάσταση, στο σημείο λήψης, με τη χρήση ενός ισοδύναμού αλγορίθμου αποκρυπτογράφησης χρησιμοποιώντας το ίδιο μυστικό κλειδί (συμμετρικός αλγόριθμος). Στο σχήμα 4.8 φαίνεται ο τρόπος λειτουργίας της Κρυπτογράφησης Συμμετρικών Κλειδιών. Όπως φαίνεται το μυστικό κλειδί πρέπει να είναι κοινό για το σύστημα και την κάρτα. Αυτό όμως επιβάλλει όπως το σύστημα δέχεται μόνο τις κάρτες που αυτό έχει δημιουργήσει, κάτι που δεν είναι επιθυμητό. 43

48 Σχήμα 4.25 Κρυπτογράφηση Συμμετρικών Κλειδιών Έτσι, η ανάγκη του συστήματος να δέχεται και κάρτες που έχουν εκδοθεί από άλλα συστήματα, με τα οποία θα συνεργάζεται, οδήγησαν σε ένα είδος κωδικοποίησης όπου το μυστικό κλειδί βρίσκεται κωδικοποιημένο μαζί με τα δεδομένα επάνω στην κάρτα και το κάθε σύστημα κάνει την αποκωδικοποίηση χωρίς τη χρήση του δικού του μυστικού κλειδιού. Το μυστικό κλειδί του κάθε συστήματος μπορεί ανά πάσα στιγμή να αλλάξει χωρίς να επηρεάζονται οι κάρτες που έχουν εκδοθεί μέχρι εκείνη τη στιγμή. Στην ουσία πρόκειται για διπλή κωδικοποίηση / αποκωδικοποίηση αφού τα δεδομένα κωδικοποιούνται βάση του μυστικού κλειδιού και το μυστικό κλειδί βάση των δεδομένων. Έτσι για την ανάκτηση των δεδομένων πρέπει πρώτα να γίνει η αποκωδικοποίηση του μυστικού κλειδιού και έπειτα να χρησιμοποιηθεί το μυστικό κλειδί για την αποκωδικοποίηση των δεδομένων. Στο Σχήμα 4.9 φαίνεται ο τρόπος λειτουργίας της διπλής κωδικοποίησης / αποκωδικοποίησης. Οι σχετικοί αλγόριθμοι φαίνονται στο module Crypt.bas στον τόμο "Κώδικας Λογισμικού". Σχήμα 4.26 Διπλή Κωδικοποίηση / Αποκωδικοποίηση Το σύστημα αυτό εξασφαλίζει την ακεραιότητα και αυθεντικότητα των δεδομένων χωρίς όμως να βάζει φραγμούς στη λειτουργικότητα και την ευελιξία του συστήματος. 44

49 4.5.6 Εισαγωγή/Εξαγωγή Δεδομένων Το πρόγραμμα σχεδιάστηκε έτσι ώστε να μπορεί να συνεργάζεται με άλλα συστήματα τα οποία μαζί θα αποτελούν ένα ενιαίο μεγαλύτερο σύστημα διατηρώντας όμως την αυτονομία τους. Οι χρήστες ενός συστήματος θα μπορούν να κάνουν χρήση και ενός άλλου συστήματος χρησιμοποιώντας την ίδια κάρτα. Αυτό γίνεται με εισαγωγή και εξαγωγή των δεδομένων τους αλλά και με τη χρήση και κωδικοποίηση του μυστικού κλειδιού όπως περιγράφηκε προηγουμένως. Τα συστήματα χρησιμοποιώντας το σύστημα κωδικοποίησης του δημόσιου κλειδιού παράγουν διαφορετικούς κωδικούς αφού έχουν διαφορετικά κλειδιά. Τα δεδομένα των χρηστών εξάγονται από ένα σύστημα σε ένα μεταφορικό μέσο όπως η δισκέτα και εισάγονται από ένα άλλο με τον ίδιο τρόπο. Τα δεδομένα εισάγονται στη βάση δεδομένων του συστήματος και μπορούν να τροποποιηθούν καταλλήλως. Έτσι ένας χρήστης μπορεί να έχει πρόσβαση σε όλες τις εισόδους ενός συστήματος αλλά σε ένα άλλο σύστημα να έχει πρόσβαση μόνο σε μία είσοδο. Σχήμα 4.27 Εισαγωγή / Εξαγωγή Δεδομένων. Ο τρόπος εισαγωγής / εξαγωγής είναι ο ίδιος και για τις δύο περιπτώσεις και φαίνεται στο Σχήμα Για την εξαγωγή επιλέγονται οι χρήστες (δεδομένα) από τη βάση δεδομένων του συστήματος και εξάγονται σε ένα αρχείο βάσης δεδομένων που δημιουργείται με τη χρήση κώδικα και είναι μόνο για εξαγωγή, όπως περιγράφηκε στις Βάσεις Δεδομένων. Το αρχείο αυτό δεν διαφέρει από το αρχείο της βάσης δεδομένων του συστήματος παρά μόνο στο ότι δεν περιέχει τα ερωτήματα (queries) τα οποία δεν χρησιμοποιούνται σε αυτές τις περιπτώσεις. Για την εισαγωγή των χρηστών (δεδομένων) γίνεται η ίδια διαδικασία με τη διαφορά ότι η βάση δεδομένων πηγή είναι ένα αρχείο εξαγωγής και η βάση δεδομένων προορισμός είναι η βάση δεδομένων του συστήματος. Η ομοιότητα αυτή είχε σαν πλεονέκτημα τη χρήση των ιδίων ρουτινών και συναρτήσεων για την εμφάνιση, επιλογή και εισαγωγή/εξαγωγή των δεδομένων. Επιπλέον παρέχεται η δυνατότητα για εισαγωγή δεδομένων από τις βάσεις δεδομένων που χρησιμοποιούνται σαν αντίγραφα αφού είναι και αυτά ίδια με τα άλλα. Στις περιπτώσεις που τα δεδομένα του χρήστη υπάρχουν ήδη στη βάση δεδομένων στην οποία θα εισαχθούν / εξαχθούν αλλά και στις περιπτώσεις αποτυχίας, τότε αυτό γίνεται αντιληπτό με τη χρήση ενός χειριστή σφάλματος και αναγράφεται δίπλα από τον χρήστη η λέξη Fail ενώ στην περίπτωση επιτυχίας αναγράφεται η λέξη Ok. 45

50 4.6 Πρόγραμμα Φρουρός Ο Φρουρός Προγράμματος (Guard) είναι ένα ανεξάρτητο πρόγραμμα που τρέχει στο παρασκήνιο και παρακολουθεί τη λειτουργία του κύριου προγράμματος (Smart Guard). Στην περίπτωση που το κύριο πρόγραμμα αποτύχει ή τερματιστεί από το λειτουργικό σύστημα και σε κάθε περίπτωση που προκαλέσει κρίσιμα λάθη, τότε ο Φρουρός θέτει τέλος στο κύριο πρόγραμμα προειδοποιεί για επανεκκίνηση και στην περίπτωση μη ανταπόκρισης επανεκκινεί το σύστημα Τρόπος Λειτουργίας Ο Φρουρός Προγράμματος τίθεται σε λειτουργία από το πρόγραμμα Smart Guard με τη χρήση της εντολής εκτέλεσης προγραμμάτων (Shell-Execute). Αυτό γίνεται επειδή το πρόγραμμα του Φρουρού δεν μπορεί και δεν πρέπει να μπει σε λειτουργία αν δεν είναι παρόν το πρόγραμμα Smart Guard. Αυτό πετυχαίνεται με έναν πρώτο έλεγχο για παρουσία του παραθύρου του προγράμματος Smart Guard. Σχήμα 4.28 Παρακολούθηση από τον Φρουρό. Η παρακολούθηση του προγράμματος Smart Guard που φαίνεται στο Σχήμα 4.11 γίνεται με δύο τρόπους: Ο πρώτος αφορά την ανίχνευση της ύπαρξης στο λειτουργικό του παραθύρου (window) της εφαρμογής ή και την εμφάνιση μηνύματος (παραθύρου) αποτυχίας και πετυχαίνεται με τη χρήση των συναρτήσεων του Win32 API: FindWindow, IsWindow που είναι σχετικές με τον σκοπό αυτό. Ο δεύτερος τρόπος αφορά τη λήψη ανταπόκρισης από το πρόγραμμα Smart Guard που να επιβεβαιώνει την καλή του λειτουργία. Αυτό γίνεται με αποστολή, από μέρους του προγράμματος Smart Guard, της ημερομηνίας και ώρας (Now) σε τακτά χρονικά διαστήματα (3 sec). Ο Φρουρός προγράμματος λαμβάνει μέσω του Registry την τιμή αυτή και υπολογίζει πότε ήταν η τελευταία φορά που ανταποκρίθηκε το πρόγραμμα. Η παρακολούθηση γίνεται ως εξής: ο Φρουρός παρακολουθεί για πιθανή εμφάνιση παραθύρου λάθους, αν αυτό δεν ισχύει τότε εξετάζει για την παρουσία του παραθύρου του 46

51 προγράμματος και αν αυτό υπάρχει τότε ελέγχει για την ανταπόκριση του προγράμματος. Στην περίπτωση που το πρόγραμμα δεν ανταποκριθεί για ένα μεγάλο χρονικό διάστημα (μερικά δευτερόλεπτα), τότε ο Φρουρός αντιλαμβάνεται τη δυσλειτουργία του προγράμματος και προχωρεί στη διαδικασία προειδοποίησης και τελικά στην επανεκκίνηση του υπολογιστικού συστήματος. Επίσης, στις περιπτώσεις των παραθύρων φροντίζει ανάλογα με την εμφάνιση τους ή όχι για το κλείσιμο τους πριν τη διαδικασία επανεκκίνησης, αφού η παραμονή τους δεν θα έκανε εφικτή την επανεκκίνηση. Κλείνει δηλαδή όλα τα παράθυρα και τερματίζει την διεργασία (process) του προγράμματος. Επιπλέον, φροντίζει έτσι ώστε οι Είσοδοι του κτιρίου να είναι κλειστές αφού μία πιθανή αποτυχία του προγράμματος θα μπορούσε να αφήσει τις Εισόδους ανοικτές. Η διαδικασία της προειδοποίησης γίνεται μετά από το κλείσιμο του προγράμματος και προειδοποιεί για την επανεκκίνηση με ήχο και αντίστροφη μέτρηση στη οθόνη για χρόνο που καθορίζεται στις ρυθμίσεις του Φρουρού. Η διαδικασία της επανεκκίνησης φροντίζει με το Win32 API για την παραχώρηση όλων των προνομίων (privileges) επανεκκίνησης ("SeShutdownPrivilege") στον Φρουρό έτσι ώστε να μπορεί να λειτουργεί και σε Windows NT. Η εκτεταμένη χρήση του Win32 API στην ανάπτυξη του Φρουρού Προγράμματος πέτυχε τη μείωση των εξαρτήσεων του προγράμματος αυτού από άλλα DLL και OCX. Ο Φρουρός χρησιμοποιεί μόνο τα βασικά DLL της Visual Basic και το DLL/Driver για την οδήγηση της Ηλεκτρονικής Συσκευής Ελέγχου και Τροφοδοσίας. Αυτό αποτελεί πλεονέκτημα, αφού η μεγάλη εξάρτηση οδηγεί σε προβλήματα στις περιπτώσεις απώλειας ή αλλοίωσης αυτών των αρχείων. Το πρόγραμμα είναι πιο συμπαγές και συνεπώς πιο αξιόπιστο, κάτι που είναι επιθυμητό, αφού ο Φρουρός παρακολουθεί και φροντίζει για την καλή λειτουργία του συστήματος. 4.7 Πρόγραμμα Δραστηριότητας Το πρόγραμμα Δραστηριότητας (Activity) είναι ένα ActiveX Exe πρόγραμμα που διασυνδέεται με το πρόγραμμα Smart Guard με την τεχνολογία ActiveX Client/Server. Το πρόγραμμα Activity είναι ο Server και παρέχει στον Client (Smart Guard) τις υπηρεσίες του που περιλαμβάνουν την εμφάνιση των δεδομένων δραστηριότητας, το φιλτράρισμα και επεξεργασία των δεδομένων και την ολοκληρωτική ή επιλεκτική εκτύπωση του αρχείου δραστηριότητας ανάλογα με την επιλογή Σχεδιασμός ActiveX EXE Server Το πρόγραμμα δραστηριότητας είναι ένα ActiveX ΕΧΕ πρόγραμμα και δημιουργείται έτσι ώστε να μπορεί να εργάζεται σαν Stand-alone εφαρμογή (επιλογή στην Visual Basic). Το πρόγραμμα αυτό καλείται από το πρόγραμμα Smart Guard με την τεχνολογία ActiveX και συγκεκριμένα με την εντολή CreateObject. Βασική προϋπόθεση 47

52 για να γίνει αυτό είναι η δημιουργία και ενσωμάτωση στην εφαρμογή αυτή μίας τάξης (Class) της Visual Basic έτσι ώστε να μπορούν να κληθούν συναρτήσεις μέσα από αυτήν, αφού θα είναι η τάξη του ActiveX αντικειμένου. Στην τάξη αυτή ενσωματώνονται οι συναρτήσεις και ιδιότητες που χρειάζονται για να γίνει κλήση συναρτήσεων μέσα στο πρόγραμμα, είναι δηλαδή κάτι σαν χειρισμός εξ αποστάσεως (Σχήμα 4.12). Με τη δημιουργία του αντικειμένου (εντολή CreateObject) από το πρόγραμμα Smart Guard, τότε δημιουργείται μία ύπαρξη (instance) του προγράμματος Δραστηριότητας και το πρόγραμμα Smart Guard αποκτά πρόσβαση στις συναρτήσεις και ιδιότητες της τάξης μέσω του αντικειμένου που δημιουργείται. Έτσι με αυτόν τον τρόπο, το πρόγραμμα Smart Guard δίνει τη διαδρομή του αρχείου της βάσης δεδομένων δραστηριότητας και εκτελεί τη διαδικασία εμφάνισης των δεδομένων. Σχήμα 4.29 ActiveX Client Server Πέρα από αυτά, το πρόγραμμα μπορεί να εργαστεί και χωρίς να κληθεί από το πρόγραμμα Smart Guard, αυτόνομα, αφού έγινε ο σχεδιασμός ώστε να συνδυάζει την ActiveX με την stand-alone λειτουργία. Στην περίπτωση αυτή ο καθορισμός του αρχείου δραστηριότητας γίνεται με τον διάλογο επιλογής αρχείων (common dialog) Εμφάνιση και Εκτύπωση Δεδομένων Με τον καθορισμό του αρχείου δραστηριότητας είτε από τον χειριστή (χειροκίνητα) είτε από το πρόγραμμα Smart Guard (με ActiveX), γίνεται η εμφάνιση των δεδομένων στην οθόνη σε μορφή κελιών (cells) με τη χρήση των έτοιμων χειριστηρίων DbGrid και Data. Τα δεδομένα που εμφανίζονται στη οθόνη αντιστοιχούν στη χρονική περίοδο που επιλέγεται από τον χειριστή. Αυτό πετυχαίνεται στον κώδικα με τη χρήση ερωτημάτων (queries) με τη γλώσσα SQL που εφαρμόζονται στην ιδιότητα RecordSource του χειριστηρίου Data της Visual Basic. Έτσι ο χειριστής μπορεί να εμφανίσει όλα τα δεδομένα του αρχείου ή μέρος τους ανάλογα με την επιλογή του χρόνου ή και του μήνα. Επιπλέον μπορεί να χρησιμοποιήσει τη μέθοδο του φιλτραρίσματος, πάλι με SQL, για να ομαδοποιήσει τα δεδομένα ανάλογα με την επιλογή, όπως για παράδειγμα την ίδια ημέρα ή το ίδιο επίθετο κ.λ.π. 48

53 Η εκτύπωση των δεδομένων γίνεται κατόπιν επιλογής όπου εκτυπώνονται τα δεδομένα που επιλέχθηκαν ή ομαδοποιήθηκαν με τη διαδικασία που περιγράφηκε προηγουμένως. Η εκτύπωση των δεδομένων δεν επηρεάζεται από επιλογές που θα γίνουν κατά τη διάρκεια της εκτύπωσης αφού γίνεται κλωνοποίηση (Clone) του Recordset (αντικείμενο που περιλαμβάνει το σύνολο εγγραφών) που δημιουργήθηκε στη φάση της επιλογής. Δημιουργείται δηλαδή ένα ακριβές αντίγραφο των εγγραφών (Records) που επιλέχθηκαν εκείνη τη στιγμή και η εκτύπωση είναι βασισμένη πάνω σε αυτό.επιπλέον, το πρόγραμμα παρέχει και άλλα εργαλεία όπως την εύρεση στοιχείων (Find) για εύκολη ανεύρεση οποιουδήποτε στοιχείου στα κελιά και την επιλογή του εκτυπωτή που θα χρησιμοποιηθεί. 49

54 15 16 ΚΕΦΑΛΑΙΟ 5 5 ΠΑΡΟΥΣΙΑΣΗ ΤΟΥ ΛΟΓΙΣΜΙΚΟΥ ο λογισμικό του συστήματος αποτελείται από τρία προγράμματα. Το πρόγραμμα Smart Guard είναι το βασικότερο της εφαρμογής και μέσα από αυτό χρησιμοποιούνται και τα άλλα δύο που σκοπό έχουν την παροχή υπηρεσιών προς αυτό. Η παρουσίαση γίνεται για το πρόγραμμα Smart Guard όπου καλύπτεται και η παρουσίαση για το πρόγραμμα Φρουρός (Guard) και Δραστηριότητας (Activity). Η παρουσίαση καλύπτει το περιβάλλον διασύνδεσης των προγραμμάτων, τις ρυθμίσεις, τη χρήση τους και τέλος εξετάζονται προβλήματα που ενδέχεται να παρουσιαστούν και οι λύσεις τους. 5.1 Πρόγραμμα Smart Guard Το πρόγραμμα Smart Guard οδηγεί το Σύστημα Ελεγχόμενης Πρόσβασης γρήγορα και με ασφάλεια. Μέσα από αυτό γίνονται όλες οι ρυθμίσεις, η διαχείριση των χρηστών και η οδήγηση των καρτοδεκτών και της συσκευής ελέγχου εισόδων. Επιπλέον, χρησιμοποιεί τον Φρουρό για την παρακολούθηση της λειτουργίας του και το πρόγραμμα Activity για την εμφάνιση και επεξεργασία της δραστηριότητας στις εισόδους Περιβάλλον Διασύνδεσης του προγράμματος Το Smart Guard παρέχει εύχρηστο και φιλικό περιβάλλον. Όλες οι λειτουργίες μπορούν να γίνουν ταυτόχρονα και χωρίς ιδιαίτερη δυσκολία. Στο Σχήμα 5.1 διακρίνεται η βασική φόρμα του προγράμματος που παρέχει όλα τα μενού και κουμπιά που εκτελούν τις βασικές λειτουργίες του προγράμματος ή οδηγούν στις υπόλοιπες φόρμες. Ακόμη εμφανίζει την κατάσταση των Καρτοδεκτών και την τρέχουσα δραστηριότητα (ημέρας). 50

55 Σχήμα 5.30 Περιβάλλον διασύνδεσης του προγράμματος Smart Guard Τα μενού του προγράμματος Το Smart Guard έχει πέντε μενού: Actions, View, Options, Utilities και Help. Αυτά τα μενού παρέχουν πλήρη πρόσβαση σε όλες τις λειτουργίες του Smart Guard. Πρόσβαση στα μενού δίνουν και τα κουμπιά με γραφικά του Toolbar. Μενού Actions Το μενού Actions παρέχει τις εντολές χρήσης του προγράμματος. Επιλογή Μενού Εικονίδιο Περιγραφή New Card Εγγραφή Νέας Κάρτας. Edit Users Reset Node Activity Log Shut Down Τροποποίηση στοιχείων χρηστών. Επανεκκίνηση του κόμβου (Initialize). Παρουσίαση του αρχείου δραστηριότητας. Τερματισμός του προγράμματος. Μενού View 51

56 Το μενού View περιέχει εντολές εμφάνισης και απόκρυψης των εργαλείων: Toolbar Status Bar Μενού Options Το μενού Options παρέχει επιλογές για τον τρόπο με τον οποίο θα ειδοποιείται ο Υπεύθυνος Συστήματος για τη δραστηριότητα. Οι επιλογές αυτές φέρνουν αλλαγή και στα εικονίδια ανάλογα με την επιλογή. Επιλογή Μενού Εικονίδιο Περιγραφή Beep Ήχος (Beep). Flash Print Speak Settings Φλας στο πρόγραμμα. Εκτύπωση Δραστηριότητας. Ενημέρωση με ομιλία (Αγγλικά). Οι ρυθμίσεις για όλα τα πιο πάνω. Μενού Utilities Το μενού Utilities παρέχει τις επιλογές που οδηγούν στα εργαλεία Ρυθμίσεων του Προγράμματος και της Βάσης Δεδομένων. Επιλογή Μενού Εικονίδιο Περιγραφή Configure Βασικές Ρυθμίσεις Προγράμματος. DB Manager Ρυθμίσεις Βάσεων Δεδομένων. Security (μόνο από μενού) Ρυθμίσεις Ασφάλειας. Μενού Help Το μενού Help έχει τις εντολές που οδηγούν στα Περιεχόμενα και την Αναζήτηση του Βοηθήματος. Ακόμη παρέχει πληροφορίες σχετικά με το πρόγραμμα αυτό Παρεχόμενη βοήθεια Για την υποστήριξη του λογισμικού παρέχεται πλήρης βοήθεια που καλύπτει όλα τα θέματα που αφορούν την εγκατάσταση και χρήση του συστήματος. Στο πρόγραμμα Smart Guard εκτός από το μενού Help παρέχεται άμεση βοήθεια από κουμπί του Toolbar (Σχήμα 5.2). Το κουμπί αυτό εμφανίζει τα περιεχόμενα του βοηθήματος για γρήγορή μετάβαση στο θέμα που ενδιαφέρει. 52

57 Σχήμα 5.31 Άμεση βοήθεια. Επιπλέον, παρέχεται βοήθεια με τη χρήση του δρομέα (cursor) βοήθειας που υπάρχει στις φόρμες του προγράμματος όπως επίσης και στα προγράμματα Φρουρός και Δραστηριότητα. Με τη χρήση του βέλους σε διάφορα αντικείμενα πάνω σε μία φόρμα καθορίζεται ο σκοπός χρήσης του αντικειμένου και επιπλέον παρέχεται διασύνδεση με άλλα συναφή θέματα. Στο Σχήμα 5.3 φαίνεται ο τρόπος χρήσης του δρομέα βοήθειας σε μία φόρμα του προγράμματος. Σχήμα 5.32 Βοήθεια δρομέα. 53

58 5.1.4 Κατάσταση καρτοδεκτών και κόμβου Το πρόγραμμα Smart Guard παρέχει ενδεικτικά σε μορφή Led, που παρουσιάζουν την κατάσταση που επικρατεί στους καρτοδέκτες αλλά και στον κόμβο γενικότερα. Τα τρία πρώτα Led εμφανίζουν την κατάσταση των καρτοδεκτών, που ενδέχεται να είναι μία από αυτές που παρουσιάζονται στον Πίνακα 5.1, ανάλογά με το χρώμα του Led. Πίνακας 5.6 Η σειριακή θύρα δεν ανοίγει ή δεν υπάρχει. Δεν υπάρχει καρτοδέκτης συνδεδεμένος στη σειριακή θύρα. Ανίχνευση καρτοδέκτη. Αναμονή κάρτας. Ανίχνευση κάρτας στον καρτοδέκτη. Το τέταρτο Led παρουσιάζει την κατάσταση του κόμβου και είναι κόκκινο όταν ο κόμβος δεν λειτουργεί (π.χ. αναμονή) και πράσινο όταν λειτουργεί. 5.2 Ρυθμίσεις του προγράμματος Smart Guard Το Smart Guard ρυθμίζεται πολύ εύκολα. Απαραίτητες ρυθμίσεις είναι το DB Manager για τη Βάση Δεδομένων και το Configure για τις Βασικές Ρυθμίσεις. Ενώ οι ρυθμίσεις Security για την ασφάλεια είναι προαιρετικές. Από τα Settings ρυθμίζεται ο τρόπος με τον οποίο θα ενημερώνεται ο Υπεύθυνος Συστήματος Βάση Δεδομένων Απαραίτητη ρύθμιση για να λειτουργεί το πρόγραμμα είναι ο καθορισμός ή η δημιουργία Βάσης Δεδομένων που θα περιέχει τα στοιχεία του κάθε χρήστη. Σε περίπτωση που δεν υπάρχει Βάση Δεδομένων στο δίσκο του συστήματος τότε αρκεί να δηλωθεί ένα τέτοιο αρχείο και το πρόγραμμα θα το δημιουργήσει από μόνο του. Σημειώνεται ότι τα αρχεία αυτά πρέπει σε κάθε περίπτωση να είναι δημιουργήματα αυτού του προγράμματος, διαφορετικά η χρήση άλλων αρχείων με την ίδια κατάληξη θα θέσει το πρόγραμμα σε δυσλειτουργία. Ο καθορισμός υπάρχοντος αρχείου σαν βάση δεδομένων του συστήματος δεν επηρεάζει τα δεδομένα που περιέχει το αρχείο αυτό. Στην περίπτωση που το αρχείο αυτό δεν καθοριστεί ή έχει διαγραφεί, τότε στην εκκίνηση του προγράμματος παρουσιάζεται η φόρμα των ρυθμίσεων της βάσης δεδομένων (Σχήμα 5.4) και το πρόγραμμα δεν συνεχίζει τη λειτουργία του μέχρις ότου να γίνει η ρύθμιση αυτή. 54

59 Σχήμα 5.33 Ρύθμιση Βάσης Δεδομένων και Backup Αντίγραφο Βάσης Δεδομένων Μία ακόμη ρύθμιση είναι και ο καθορισμός αρχείου Backup της Βάσης Δεδομένων όπου το πρόγραμμα θα κρατάει αντίγραφο της Βάσης κάθε φορά που εισάγεται ένας καινούριος χρήστης (εγγραφή νέας κάρτας). Η ρύθμιση αυτή είναι προαιρετική, παρέχει όμως ασφάλεια σε περιπτώσεις απώλειας των δεδομένων που μπορεί να οφείλεται σε κατά λάθος διαγραφή των χρηστών ή του αρχείου της Βάσης Δεδομένων. Η ανάκτηση των δεδομένων από ένα τέτοιο αρχείο περιγράφεται στη «Χρήση του Λογισμικού» στην παράγραφο "Ανάκτηση Δεδομένων από το Αντίγραφο". Η ρύθμιση αυτή γίνεται στη φόρμα των ρυθμίσεων της Βάσης Δεδομένων DB Manager (Σχήμα 5.4) Βασικές Ρυθμίσεις Στις βασικές ρυθμίσεις καθορίζονται διάφοροι παράμετροι για τη λειτουργία των αυτοματισμών του προγράμματος και επιπλέον, γίνεται η διασύνδεση με τους καρτοδέκτες και τη συσκευή ελέγχου και τροφοδοσίας. Οι βασικές ρυθμίσεις χωρίζονται σε τρεις κατηγορίες: General - Γενικές Οι ρυθμίσεις αυτές, που φαίνονται στο Σχήμα 5.5, αφορούν διάφορους 55

60 αυτοματισμούς του προγράμματος. Start when Windows start Reboot on Fatal Error Resolution-free auto-resize Επιλέγει να ξεκινά το πρόγραμμα μαζί με τα Windows. Ενεργοποιεί τον Φρουρό Προγράμματος. Διαστάσεις ανεξάρτητες των αναλύσεων οθόνης. Στην επιλογή για το Initialize καθορίζεται ο χρόνος του κύκλου προσπαθειών που θα επιχειρεί το πρόγραμμα όταν δεν βρεθεί κανένας από τους τρεις Καρτοδέκτες ή θύρες σε λειτουργία κατά τη διαδικασία Initialize. Στο Keep log of activity επιλέγεται το διάστημα που θα αποθηκεύεται η Δραστηριότητα. Στο Current Size αναγράφεται το μέγεθος του αρχείου δραστηριότητας. Σχήμα 5.34 Γενικές ρυθμίσεις προγράμματος Smart Guard Η ρύθμιση για την παλαιότητα της δραστηριότητας σε συνδυασμό με την ένδειξη του μεγέθους του αρχείου δραστηριότητας, βοηθούν στην επιλογή της ρύθμισης ώστε να μην διατηρούνται αχρείαστα δεδομένα στο αρχείο ενώ παράλληλα το μέγεθος του θα διατηρείται στα επιθυμητά επίπεδα. Readers - Καρτοδεκτών 56

61 Εδώ γίνεται η συσχέτιση μεταξύ των θυρών που εμείς θεωρούμε για Διάβασμα - Εγγραφή και αυτών του υπολογιστικού συστήματος (σειριακές θύρες) (Σχήμα 5.6). Σχήμα 5.35 Ρυθμίσεις καρτοδεκτών προγράμματος Smart Guard Αυτή η δυνατότητα είναι χρήσιμη στο στάδιο της εγκατάστασης του συστήματος αφού επιτρέπει τον καθορισμό των θυρών (Gate) χωρίς να χρειάζεται αλλαγή των συνδέσεων στις σειριακές θύρες. Οι επιλογές των σειριακών θυρών (ComPort) είναι ελεγχόμενες έτσι ώστε να μην μπορεί να δοθεί η ίδια τιμή πολλές φορές. Για το λόγο αυτό οι θύρες ανακατατάσσονται αυτόματα σε κάθε επιλογή. Output - Έξοδος Οι ρυθμίσεις εξόδου αφορούν την ηλεκτρονική Συσκευή Ελέγχου Εισόδων (Σχήμα 5.7). Σαν Output I/O Address καθορίζουμε τη διεύθυνση μνήμης του υπολογιστικού συστήματος που έχει δοθεί στην Παράλληλη Θύρα Επικοινωνίας στην οποία έχουμε συνδέσει τη συσκευή Ελέγχου Εισόδων. Αυτήν μπορούμε να την μάθουμε από τις Ιδιότητες Συστήματος (System Properties) μέσα από το Control Panel. Οι συνήθεις τιμές της είναι &Η378 και &Η278. Σαν Delay καθορίζουμε τον χρόνο που η συσκευή Ελέγχου Εισόδων θα κρατάει τις Εισόδους ανοικτές και κυμαίνεται από 1 μέχρι 10 sec. Με το κουμπί TestPort μπορούμε να δοκιμάσουμε τη θύρα που επιλέξαμε. 57

62 Σχήμα 5.36 Ρύθμιση και έλεγχος Συσκευής Ελέγχου Ρυθμίσεις Ενημέρωσης Στις ρυθμίσεις ενημέρωσης επιλέγεται ο τρόπος ενημέρωσης για τη δραστηριότητα στις εισόδους. Οι ρυθμίσεις αυτές χωρίζονται σε δύο κατηγορίες: General - Γενικές Στις γενικές ρυθμίσεις ενημέρωσης (Σχήμα 5.8) καθορίζουμε πόσες φορές και πόσο γρήγορα θα γίνονται τα Beep και Flash και το χρώμα του Flash. Επιλέγουμε ακόμη την γραμματοσειρά και το μέγεθος της, με την οποία θα εκτυπώνεται η δραστηριότητα. Speech - Ομιλίας Στις ρυθμίσεις ομιλίας (Σχήμα 5.9) καθορίζουμε τη φωνή και την ταχύτητα της που θα ενημερώνει φωνητικά και ακόμη το είδος των μηνυμάτων που θα ανακοινώνονται. Επιπλέον παρέχεται η δυνατότητα καθορισμού της έντασης του ήχου στην κάρτα ήχου του συστήματος. Το είδος των μηνυμάτων καθορίζεται από τις πιο κάτω επιλογές: User Activity User Name Warning Messages Other Messages Δραστηριότητα χρήστη Όνομα χρήστη Μηνύματα προειδοποίησης Άλλα μηνύματα 58

63 Σημειώνεται ότι αυτές οι επιλογές δεν θα είναι προσβατές αν δεν εγκατασταθούν στο σύστημα τα κατάλληλα Speech Engines. Σχήμα 5.37 Γενικές ρυθμίσεις ενημέρωσης Σχήμα 5.38 Ρυθμίσεις ενημέρωσης για ομιλία. 59

64 5.2.5 Ρυθμίσεις Ασφάλειας Στο πρόγραμμα Smart Guard υπάρχει σύστημα κωδικοποίησης με δημόσιο κλειδί παρέχοντας έτσι μοναδικότητα στις κάρτες και συνεπώς περισσότερη ασφάλεια. Η εμφάνιση των ρυθμίσεων ασφάλειας (Σχήμα 5.10) γίνεται μόνο από το μενού Security έχοντας πιεσμένα τα πλήκτρα Shift και Ctrl. Στις ρυθμίσεις αναγράφεται αν το σύστημα κωδικοποίησης είναι ενεργό ενώ αντίθετα το κλειδί δεν είναι ορατό. Για την εισαγωγή ή αλλαγή του κλειδιού αλλά και για την απενεργοποίηση του πρέπει να το εμφανίσουμε. Αυτό γίνεται από την επιλογή Data Encryption πιέζοντας ταυτόχρονα το πλήκτρο End. Σχήμα 5.39 Ρυθμίσεις ασφάλειας ΣΗΜΑΝΤΙΚΟ: Η χρήση των ρυθμίσεων ασφάλειας είναι απαραίτητη στην περίπτωση που χρησιμοποιούνται πολλά συστήματα Smart Guard ταυτόχρονα. Στην περίπτωση που χρησιμοποιούνται πολλά συστήματα Smart Guard μαζί, η ρύθμιση του δημόσιου κλειδιού, που πρέπει να είναι διαφορετική για κάθε σύστημα, φροντίζει έτσι ώστε να μην δημιουργούνται ίδιες κάρτες και παράλληλα να είναι δυνατή η εισαγωγή των δεδομένων του κάθε χρήστη σε οποιοδήποτε σύστημα χωρίς να είναι απαραίτητη η δημιουργία άλλης κάρτας. Περισσότερα για την Εισαγωγή/Εξαγωγή Δεδομένων αναφέρονται στη «Χρήση του Λογισμικού». 60

65 5.3 Χρήση του Λογισμικού Πιο κάτω ακολουθούν θέματα που εξετάζουν τον τρόπο χρήσης του λογισμικού. Παρουσιάζεται η χρήση του προγράμματος Smart Guard αλλά και η χρήση του προγράμματος Φρουρού και Δραστηριότητας Εγγραφή Έξυπνης Κάρτας Η εγγραφή Έξυπνης Κάρτας (Smart Card) με το Smart Guard είναι μία απλή και εύκολη διαδικασία. Επιπλέον παρέχει ασφάλεια για να μην γίνονται λάθη όπως η εγγραφή του ίδιου χρήστη δύο φορές. Η επιλογή για εγγραφή γίνεται από το Μενού Actions, New Card ή το αντίστοιχο εικονίδιο που εμφανίζει τη φόρμα εγγραφής όπως στο Σχήμα Για σωστή εγγραφή ακολουθούμε τα πιο κάτω βήματα: Γράφουμε στις θέσεις Surname, Name και ID το Επώνυμο, Όνομα και Κωδικό του χρήστη αντίστοιχα. Στην περίπτωση που το InUse γίνει κόκκινο τότε σημαίνει ότι υπάρχει στη Βάση Δεδομένων χρήστης με τον ίδιο κωδικό ID. Για να δούμε ποιος είναι αρκεί να πατήσουμε με το ποντίκι το InUse και αυτός θα εμφανιστεί στην οθόνη Edit Users. Στην επιλογή Gates καθορίζουμε σε ποιες από τις τρεις Εισόδους θα έχει πρόσβαση ο χρήστης. Αυτό γίνεται με τα τρία κουμπιά στο πλάι. Σχήμα 5.40 Εγγραφή νέας κάρτας. Στην επιλογή Exp.Date καθορίζουμε την ημερομηνία λήξης της Κάρτας και συνεπώς το 61

66 τέλος πρόσβασης του χρήστη. Αυτό γίνεται πατώντας το κόκκινο ρολόι που εμφανίζει ένα ημερολόγιο όπου και επιλέγουμε την ημερομηνία (Σχήμα 5.12). Σχήμα 5.41 Επιλογή ημερομηνίας λήξης. Τέλος επιλέγουμε το κουμπί Record και περιμένουμε το μήνυμα για τη σωστή εγγραφή. Σε περίπτωση λάθους αυτό αναγράφεται (Σχήμα 5.13) ενώ τα δεδομένα του χρήστη δεν εισάγονται στη Βάση Δεδομένων. Σχήμα 5.42 Αποτέλεσμα προσπάθειας εγγραφής Τροποποίηση στοιχείων χρήστη Με το Smart Guard μπορούμε να τροποποιήσουμε τα στοιχεία του κάθε χρήστη χωρίς περιορισμούς. Μπορούμε ακόμη να αλλάξουμε τις Εισόδους στις οποίες θα έχει 62

67 πρόσβαση την ημερομηνία λήξης της κάρτας του ή ακόμη και να τον διαγράψουμε εντελώς. Τέλος έχουμε τη δυνατότητα να διαγράψουμε ταυτόχρονα όλους τους χρήστες των οποίων η πρόσβαση έχει λήξει. Για τις τροποποιήσεις επιλέγουμε το Μενού Actions, Edit Users ή το αντίστοιχο εικονίδιο. Έτσι εμφανίζεται η οθόνη για τις τροποποιήσεις που εμφανίζει τους χρήστες σε κελιά και έχει τρία επίπεδα (Σχήμα 5.14). Τα επίπεδα αυτά είναι: το All Users που εμφανίζει όλους τους χρήστες ανεξαιρέτως, το Valid που εμφανίζει μόνο τους χρήστες που δεν έχουν λήξει, και το Expired που εμφανίζει τους χρήστες που έχουν λήξει. Στο τρίτο επίπεδο υπάρχει η δυνατότητα να διαγράψουμε όλους τους χρήστες που έχουν λήξει πατώντας το Delete All. Για την αλλαγή της ημερομηνίας λήξης πρέπει να διαγράψουμε την προηγούμενη, έτσι εμφανίζεται το ημερολόγιο (Σχήμα 5.12) όπου και επιλέγουμε τη νέα ημερομηνία. Το πρόγραμμα παρέχει πλήρη αναζήτηση (Find) με πάρα πολλές επιλογές. Η αναζήτηση μπορεί να γίνει σε όλα τα πεδία ή σε ένα επιλεγμένο (επιλογή με το ποντίκι). Το κείμενο προς αναζήτηση μπορεί να είναι ακόμη και μερικά γράμματα από τη λέξη που αναζητούμε ενώ αν επιλεχθεί το Whole Word τότε αναζητείται ολόκληρη η λέξη. Σχήμα 5.43 Τροποποίηση και ανίχνευση στοιχείων. Μετά από κάθε τροποποίηση ενημερώνουμε τη Βάση Δεδομένων επιλέγοντας το Update. 63

68 5.3.3 Εισαγωγή/Εξαγωγή Δεδομένων Για την εισαγωγή ή εξαγωγή δεδομένων (χρήστες) από τη Βάση Δεδομένων σε αρχεία και αντίστροφα χρησιμοποιούμε τα Import, Export στον DB Μanager (Σχήμα 5.15). Με τα εργαλεία αυτά μπορούν να εισαχθούν δεδομένα από αρχεία (Exported Database) που έχουν εξαχθεί από αυτό το σύστημα ή κάποιο άλλο. Ακόμη μπορούν να εισαχθούν δεδομένα από αρχεία Αντίγραφα (Backup Database) αλλά και αρχεία Βάσης Δεδομένων. Η διαδικασία είναι πολύ απλή και για τις δύο περιπτώσεις. Με τα κουμπιά κάτω από το πρώτο παραθυράκι Import, LoadData φορτώνουμε τα δεδομένα από το αρχείο ή τη βάση του συστήματος αντίστοιχα. Έτσι τα δεδομένα εμφανίζονται στο πρώτο παραθυράκι. Με τα κουμπιά μετακίνησης μεταφέρουμε τους χρήστες από το ένα παραθυράκι στο άλλο. Έτσι στο δεύτερο έχουμε αυτούς που θέλουμε. Έπειτα με τα κουμπιά κάτω από το παράθυρο αυτό (Update, Export) ενημερώνουμε τη βάση ή δημιουργούμε το αρχείο εξαγωγής. Τότε αναγράφεται δίπλα από τον κάθε χρήστη εάν επετεύχθη η εισαγωγή/εξαγωγή του (Ok Fail). Σχήμα 5.44 Εισαγωγή/Εξαγωγή δεδομένων. Στην περίπτωση που εισάγεται/εξάγεται χρήστης στη Βάση Δεδομένων ή σε αρχεία εξαγωγής που περιέχουν ήδη τον χρήστη αυτόν ή κάποιον άλλο με τα ίδια ακριβώς στοιχεία, τότε τα δεδομένα του δεν εισάγονται/εξάγονται και αναγράφεται δίπλα του η λέξη Fail. 64

69 5.3.4 Ανάκτηση Δεδομένων από το Αντίγραφο Το Αντίγραφο της Βάσης Δεδομένων παρέχει ασφάλεια σε περιπτώσεις λανθασμένης διαγραφής των στοιχείων των χρηστών ή απρόσμενης απώλειας του αρχείου της Βάσης Δεδομένων. Η ενεργοποίηση της ικανότητας αυτής γίνεται μέσα στις ρυθμίσεις Βάσης Δεδομένων με τον προσδιορισμό του αρχείου Αντίγραφο (Backup). Στην περίπτωση απώλειας των δεδομένων, ο μόνος τρόπος για την επανάκτηση τους είναι η Εισαγωγή των Δεδομένων στη Βάση του συστήματος με τη βοήθεια του εργαλείου Εισαγωγής (Import) στο DB Manager. Το εργαλείο αυτό μπορεί να εισάγει δεδομένα από αρχεία Βάσης Δεδομένων, αρχεία Εξαγόμενης Βάσης Δεδομένων αλλά και από αρχεία Αντίγραφα. Η επιλογή του αρχείου καθώς και ο καθορισμός του τύπου του γίνονται από τον διάλογο (Σχήμα 5.16) που εμφανίζεται μόλις επιλέξουμε την Εισαγωγή με το κουμπί Import. Για την εισαγωγή των δεδομένων ακολουθούμε την ίδια μεθοδολογία που εφαρμόζεται σε κάθε Εισαγωγή/Εξαγωγή Δεδομένων. Σχήμα 5.45 Σύνηθες διάλογος για την επιλογή αρχείων. ΠΡΟΣΟΧΗ: Το Αντίγραφο (Backup) ενημερώνεται αυτόματα κάθε φορά που γράφεται μία καινούρια Κάρτα. Η ανάκτηση δεδομένων που έχουν διαγραφεί δεν είναι δυνατή μετά από την εγγραφή μίας καινούριας Κάρτας Αρχείο Δραστηριότητας - Εκτύπωση Το πρόγραμμα Δραστηριότητας (Σχήμα 5.17) εμφανίζει ποιοι χρήστες και πότε χρησιμοποίησαν το σύστημα. Η εμφάνιση γίνεται ανά περίοδο ή για όλες τις καταχωρήσεις 65

70 ανάλογα με την επιλογή της περιόδου. Παρέχεται ακόμη δυνατότητα διαγραφής, αναζήτησης αλλά και ομαδοποίησης με το φιλτράρισμα μιας συγκεκριμένης τιμής ενός πεδίου. Τέλος υπάρχει η δυνατότητα εκτύπωσης των καταχωρίσεων που έχουν επιλεγεί. Η επιλογή για εμφάνιση του αρχείου γίνεται από το Μενού Actions, Activity Log ή το αντίστοιχο εικονίδιο. Η ρύθμιση για το χρονικό διάστημα που θα αποθηκεύεται η δραστηριότητα γίνεται στις Βασικές Ρυθμίσεις (Configure). Οι λειτουργίες γίνονται από τα κουμπιά στην οθόνη ενώ στο μενού υπάρχουν οι επιλογές για την εκτύπωση και την επιλογή του εκτυπωτή. Σχήμα 5.46 Πρόγραμμα Δραστηριότητας (Activity) Στον καθορισμό της περιόδου επιλέγουμε τον μήνα και τον χρόνο για τα οποία θέλουμε να δούμε τη δραστηριότητα. Στις επιλογές αυτές ενδιαφέρον παρουσιάζει η επιλογή ALL που εμφανίζει την δραστηριότητα για όλους τους μήνες ή χρόνους ανάλογα με την επιλογή. Το Φιλτράρισμα είναι το εργαλείο που ομαδοποιεί τα δεδομένα με βάση μία τιμή ενός πεδίου. Έτσι αν επιλέξουμε για παράδειγμα ένα όνομα με το ποντίκι και κατόπιν επιλέξουμε το Φιλτράρισμα (Filter), τότε στην οθόνη θα παραμείνουν μόνο τα δεδομένα 66

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

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

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

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

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

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

Κεφάλαιο 1.6: Συσκευές αποθήκευσης Κεφάλαιο 1.6: Συσκευές αποθήκευσης 1.6.1 Συσκευές αποθήκευσης Μνήμη τυχαίας προσπέλασης - RAM Η μνήμη RAM (Random Access Memory Μνήμη Τυχαίας Προσπέλασης), κρατεί όλη την πληροφορία (δεδομένα και εντολές)

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

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

Ενότητα 1η. Εισαγωγή στην Πληροφορική Ενότητα 1η Εισαγωγή στην Πληροφορική 1.1 Τι είναι Πληροφορική Ένας σύντομος ορισμός για το τι είναι πληροφορική είναι ο παρακάτω: όλα εκείνα που χρειάζεται κανείς για να παράγει, να οργανώνει και να διαχειρίζεται

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

Μαλούτα Θεανώ Σελίδα 1

Μαλούτα Θεανώ Σελίδα 1 ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α' ΛΥΚΕΙΟΥ ΕΝΟΤΗΤΑ 1η ΕΡΩΤΗΣΕΙΣ ΘΕΩΡΙΑΣ 1. Τι ονομάζουμε υλικό και τι λογισμικό ενός υπολογιστικού συστήματος; 2. Τι είναι α) η μητρική πλακέτα ( motherboard), β) η κεντρική μονάδα

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

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

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής) ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α Γενικού Λυκείου (Μάθημα Επιλογής) Σύγχρονα Υπολογιστικά Συστήματα τους υπερυπολογιστές (supercomputers) που χρησιμοποιούν ερευνητικά εργαστήρια τα μεγάλα συστήματα (mainframes)

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

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

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

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

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

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

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

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή

Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή Μάθημα 4.1 Βασικές μονάδες προσωπικού υπολογιστή - Εισαγωγή - Αρχιτεκτονική προσωπικού υπολογιστή - Βασικά τμήματα ενός προσωπικού υπολογιστή - Η κεντρική μονάδα Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς:

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

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών

- Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Μάθημα 4.5 Η Μνήμη - Εισαγωγή - Επίπεδα μνήμης - Ολοκληρωμένα κυκλώματα μνήμης - Συσκευασίες μνήμης προσωπικών υπολογιστών Όταν ολοκληρώσεις το μάθημα αυτό θα μπορείς: Να αναφέρεις τα κυριότερα είδη μνήμης

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

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

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

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

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου

Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου ΚΕΦΑΛΑΙΟ 1 Φουκαράκη Χρυσούλα - ΓΕΛ Γαζίου Υπολογιστικά συστήματα σχεδιάστηκαν για να καλύψουν συγκεκριμένες ανάγκες σε συγκεκριμένη χρονική στιγμή και βοηθούν στη συνολική πρόοδο της τεχνολογίας Φουκαράκη

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

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης Το εσωτερικό ενός PC 1 Το κουτί του PC (περίβλημα) περιέχει όλα τα βασικά μέρη του συστήματος Δύο κατηγορίες κουτιών: Desktop και Tower Mini tower Midi tower Full tower Κεντρική μονάδα Ο τύπος του κουτιού

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

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

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

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

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

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

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

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

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

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

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

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

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

Το υλικό του υπολογιστή

Το υλικό του υπολογιστή Το υλικό του υπολογιστή Ερωτήσεις 1. Τι αντιλαμβάνεστε με τον όρο υλικό; Το υλικό(hardware) αποτελείται από το σύνολο των ηλεκτρονικών τμημάτων που συνθέτουν το υπολογιστικό σύστημα, δηλαδή από τα ηλεκτρονικά

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

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

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

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

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

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

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

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη Σημειώσεις : Χρήστος Μουρατίδης Κάντε κλικ για έναρξη Γενική εικόνα Στο σχήμα βλέπουμε μία γενική εικόνα του εσωτερικού της Κεντρική Μονάδας του υπολογιστή: Τροφοδοτικό Είναι μία ηλεκτρική μικροσυσκευή,

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

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25

Περιεχόμενα. Κεφάλαιο 1 Εισαγωγή στην Access...9. Κεφάλαιο 2 Χειρισμός πινάκων... 25 Περιεχόμενα Κεφάλαιο 1 Εισαγωγή στην Access...9 Γνωριμία με την Access... 12 Δημιουργία βάσης δεδομένων... 18 Άνοιγμα και κλείσιμο βάσης δεδομένων... 21 Ερωτήσεις ανακεφαλαίωσης... 22 Πρακτική εξάσκηση...

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 3 : Μια άποψη του κορυφαίου επιπέδου λειτουργίας και διασύνδεσης του υπολογιστή Καρβούνης Ευάγγελος Η έννοια

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

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

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

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

MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT

MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT Ο ΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ & ΧΡΗΣΕΩΣ V1.01 www.mtec.gr 2 ΠΕΡΙΕΧΟΜΕΝΑ ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ Η/Υ...4 ΠΕΡΙΓΡΑΦΗ ΕΦΑΡΜΟΓΩΝ...5

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

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι Λειτουργικά Συστήματα 1 Λογισμικό του Υπολογιστή Για να λειτουργήσει ένας Η/Υ εκτός από το υλικό του, είναι απαραίτητο και το λογισμικό Το σύνολο των προγραμμάτων που συντονίζουν τις λειτουργίες του υλικού

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

Δομή Ηλεκτρονικού υπολογιστή

Δομή Ηλεκτρονικού υπολογιστή Δομή Ηλεκτρονικού υπολογιστή Η κλασσική δομή του μοντέλου που πρότεινε το 1948 ο Von Neumann Κεντρική Μονάδα Επεξεργασίας Είσοδος Αποθήκη Αποθήκη - Έξοδος Εντολών Δεδομένων Κλασσικό μοντέλο Von Neumann

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

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού

Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Αρχιτεκτονική του πληροφοριακού συστήµατος Cardisoft Γραµµατεία 2003 ιαχείριση Προσωπικού Γενικά Η αρχιτεκτονική ανάπτυξης τους πληροφοριακού συστήµατος Γραµµατεία 2000 υποσύστηµα διαχείρισης προσωπικού

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Τεχνολογία Πολυμέσων. Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Τεχνολογία Πολυμέσων Ενότητα # 3: Συστήματα πολυμέσων Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του

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

Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4

Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4 H A R D W A R E Τι είναι το HARDWARE στην σημερινή εποχή; Σελίδα 3 Το καθένα από αυτά σε τι χρησιμεύει; Σελίδα 4 Επεξεργαστής Σελίδα 4 Κύρια μνήμη Σελίδα 5 Κάρτα γραφικών Σελίδα 5 Οθόνη Σελίδα 6 Οδηγός

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

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το Υλικό του Υπολογιστή ΠΡΟΒΛΗΜΑ ΔΕΔΟΜΕΝΑ (Είναι τα στοιχεία που δίνουμε για λυθεί το πρόβλημα) ΕΠΕΓΕΡΓΑΣΙΑ (Είναι οι σκέψεις και οι πράξεις που

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

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Α Γενικού Λυκείου Κεφάλαιο 1 1.1 Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων. Ιδιαίτερη θέση έχουν οι Υπολογιστικές συσκευές. Μηχανισμός

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

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή»

Ενότητα Β1 κεφ.2 ο «Σο Εσωτερικό του Τπολογιστή» 1 2 1) ΚΟΤΣΙ ΤΠΟΛΟΓΙΣΗ (computer case): το κύριο κουτί που περικλείει τις βασικές συσκευές του υπολογιστή (επεξεργαστή, αποθήκες, RAM). 2) ΜΗΣΡΙΚΗ (motherboard): η πιο μεγάλη κάρτα πάνω στην οποία βρίσκεται

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

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

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

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

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

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

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

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή 1.5.1 Ανάλυση των μερών ενός υπολογιστή Μονάδα συστήματος Είναι το κουτί του υπολογιστή το οποίο φαίνεται αρκετά συμπαγές, αλλά στην πραγματικότητα αποτελείται

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

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

Αρχιτεκτονική υπολογιστών 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Αρχιτεκτονική υπολογιστών Ενότητα 11-12 : Δομή και Λειτουργία της CPU Ευάγγελος Καρβούνης Παρασκευή, 22/01/2016 2 Οργάνωση της CPU Η CPU πρέπει:

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

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

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος Τι σημαίνει ο όρος ψηφιακό ; Όλα τα φυσικά φαινόμενα που συμβαίνουν στη φύση είναι αναλογικές διαδικασίες. Ένα αναλογικό σύστημα λοιπόν μπορεί να λάβει άπειρες συνεχόμενες τιμές

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

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

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

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

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

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

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

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Άριστος Πασιάς 1 ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ Η ΔΟΜΗ ΤΟΥ ΗΛΕΚΤΡΟΝΙΚΟΥ ΥΠΟΛΟΓΙΣΤΗ Άριστος Πασιάς Σεπτέμβριος 2017 2 Στόχοι: Στο τέλος αυτού του μαθήματος ο μαθητή πρέπει: Να μπορεί να αναφέρει τα κύρια χαρακτηριστικά

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΤΜΗΜΑ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΣΤΗ ΔΙΟΙΚΗΣΗ ΚΑΙ ΣΤΗΝ ΟΙΚΟΝΟΜΙΑ 2 Ο ΜΑΘΗΜΑ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΑΠΟΣΤΟΛΙΑ ΠΑΓΓΕ Υπολογιστής Συνοπτικό λεξικό Οξφόρδης -> «ηλεκτρονική υπολογιστική μηχανή»

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

Linux Terminal Server Project

Linux Terminal Server Project Linux Terminal Server Project Ένα κεντρικό σύστημα διαχείρισης των τερματικών κοινού της Βιβλιοθήκης & Κέντρου Πληροφόρησης του Πανεπιστημίου Μακεδονίας Κολοβός Φίλιππος filippos@uom.gr Ευάγγελος Μπάνος

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

Κεφάλαιο 4: Λογισμικό Συστήματος

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

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

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2

Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου. Ενότητα 2 Αυτοματισμοί και Συστήματα Αυτομάτου Ελέγχου Ενότητα 2 Τι είναι το PLC ΠΕΡΙΕΧΟΜΕΝΑ 2 Τι είναι το PLC. 2.1 Πλεονεκτήματα των PLC. 2.2 Η δομή ενός PLC. 2.3 Τα PLC της αγοράς. 2.4 Αρχή λειτουργίας ενός PLC.

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

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

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

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

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα.

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα. Εικόνα 2.1: Η Κεντρική Μονάδα. Εικόνα 2.1: Η Κεντρική Μονάδα και τα κυριότερα μέρη στο εσωτερικό της. Μητρική πλακέτα (motherboard) Επεξεργαστής ή Κεντρική Μονάδα Επεξεργασίας ή Κ.Μ.Ε. (Central Processing

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

ΜΑΡΙΑ ΚΑΤΕΛΑΝΟΥ ΤΜΗΜΑ: Γ 1

ΜΑΡΙΑ ΚΑΤΕΛΑΝΟΥ ΤΜΗΜΑ: Γ 1 ΜΑΡΙΑ ΚΑΤΕΛΑΝΟΥ ΤΜΗΜΑ: Γ 1 ΥΛΙΚΟ & ΛΟΓΙΣΜΙΚΟ ΛΟΓΙΣΜΙΚΟ ΚΑΤΗΓΟΡΙΕΣ ΛΟΓΙΣΜΙΚΟΥ ΥΛΙΚΟ ΚΕΝΤΡΙΚΗ ΜΟΝΑΔΑ ΚΥΡΙΑ ΜΝΗΜΗ ΣΥΣΚΕΥΕΣ ΕΙΣΟΔΟΥ & ΕΞΟΔΟΥ ΣΥΣΚΕΥΕΣ ΕΙΣΟΔΟΥ ΣΥΣΚΕΥΕΣ ΕΞΟΔΟΥ ΑΠΟΘΗΚΕΥΤΙΚΑ ΜΕΣΑ ΠΗΓΕΣ Κάθε υπολογιστής

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

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17

ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ. (c) Αμπατζόγλου Γιάννης, Ηλεκτρονικός Μηχανικός, καθηγητής ΠΕ17 ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 4ο ΜΝΗΜΕΣ Μνήμες (Memory) - Είναι ημιαγώγιμα κυκλώματα που μπορούν να αποθηκεύσουν ένα σύνολο από δυαδικά ψηφία (bit). - Μια μνήμη αποθηκεύει λέξεις (σειρές από bit). - Σε κάθε

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

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

ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΨΗΦΙΑΚΑ ΣΥΣΤΗΜΑΤΑ ΚΕΦΑΛΑΙΟ 7ο ΑΡΧΙΤΕΚΤΟΝΙΚΗ HARDWARE ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Γενικό διάγραμμα υπολογιστικού συστήματος Γενικό διάγραμμα υπολογιστικού συστήματος - Κεντρική Μονάδα Επεξεργασίας ονομάζουμε

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

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΡΩΤΑΠΑΝΤΗΣΕΙΣ Κεφάλαιο 1: Υλικό Υπολογιστών (Hardware) 1.1: Το υπολογιστικό σύστημα ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 1. Τι αντιλαμβάνεστε με τον όρο υλικό (hardware); [σελ. 8] Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε

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

Μάθημα 4.2 Η μητρική πλακέτα

Μάθημα 4.2 Η μητρική πλακέτα Μάθημα 4.2 Η μητρική πλακέτα - Εισαγωγή - Οι βάσεις του επεξεργαστή και της μνήμης - Οι υποδοχές της μητρικής πλακέτας - Άλλα μέρη της μητρική πλακέτας - Τυποποιήσεις στην κατασκευή μητρικών πλακετών Όταν

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

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών

Διπλωματική Εργασία. Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης. Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Διπλωματική Εργασία Επιβλέπων καθηγητής: Δρ. Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών,

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

Β2.1 Βασικές έννοιες της Αρχιτεκτονικής του Η/Υ

Β2.1 Βασικές έννοιες της Αρχιτεκτονικής του Η/Υ Β2.1 Βασικές έννοιες της Αρχιτεκτονικής του Η/Υ Τι θα μάθουμε σήμερα: Να αναφέρουμε και να εξηγούμε τι είναι Αρχιτεκτονική Η/Υ Να γνωρίσουμε τα βασικά εξαρτήματα που βρίσκονται στο εσωτερικό του υπολογιστή

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

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

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

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

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

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

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο, 2016-2017 ΜΙΚΡΟΕΠΕΞΕΡΓΑΣΤΕΣ Μικροϋπολογιστής Υπολογιστής που χρησιμοποιείται για την είσοδο, επεξεργασία και έξοδο πληροφοριών. Είδη μικροϋπολογιστών:

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

ΛΟΓΙΣΜΙΚΟ (software)

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

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

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

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

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

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

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

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

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος.

10. Με πόσους και ποιους τρόπους μπορεί να αναπαρασταθεί ένα πρόβλημα; 11. Περιγράψτε τα τρία στάδια αντιμετώπισης ενός προβλήματος. 1. Δώστε τον ορισμό του προβλήματος. 2. Σι εννοούμε με τον όρο επίλυση ενός προβλήματος; 3. Σο πρόβλημα του 2000. 4. Σι εννοούμε με τον όρο κατανόηση προβλήματος; 5. Σι ονομάζουμε χώρο προβλήματος; 6.

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

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5 22 Σεπτεµβρίου, 2006 Γεώργιος Έλληνας Επίκουρος Καθηγητής ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΑ ΘΕΜΑΤΑ

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

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

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

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

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου

Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου Ερωτήσεις- Απαντήσεις Πολυμέσα Απο το Βιβλίο Εφαρμογές Η/Υ Α,Β,Γ Λυκείου 1. Τι ονομάζουμε κόμβο και τι σύνδεσμο σε μια μη γραμμικά διαρθρωμένη ύλη; Με την έννοια σύνδεσμος (link) σε μια μη γραμμικά διαρθρωμένη

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

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

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

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

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

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

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

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών

ΚΕΦΑΛΑΙΟ 5. Κύκλος Ζωής Εφαρμογών ΕΝΟΤΗΤΑ 2. Εφαρμογές Πληροφορικής. Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών 44 Διδακτικές ενότητες 5.1 Πρόβλημα και υπολογιστής 5.2 Ανάπτυξη εφαρμογών Διδακτικοί στόχοι Σκοπός του κεφαλαίου είναι οι μαθητές να κατανοήσουν τα βήματα που ακολουθούνται κατά την ανάπτυξη μιας εφαρμογής.

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

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους. *Τα φυσικά μέρη που μπορούμε να δούμε και να αγγίξουμε ονομάζονται συνολικά υλικό (hardware). * * υπερυπολογιστές

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

11/1/18. Κεφάλαιο 2. Κατανόηση των ψηφιακών εξαρτηµάτων. Εξέταση του υπολογιστή: Από τι αποτελείται. Στόχοι. Κατανόηση του υπολογιστή σας

11/1/18. Κεφάλαιο 2. Κατανόηση των ψηφιακών εξαρτηµάτων. Εξέταση του υπολογιστή: Από τι αποτελείται. Στόχοι. Κατανόηση του υπολογιστή σας 11/1/18 A. EVANS, K. MARTIN, M. A. POATSY Εισαγωγή στην πληροφορική Θεωρία και πράξη 2 η έκδοση Κεφάλαιο 2 Εξέταση του υπολογιστή: Από τι αποτελείται Κατανόηση των ψηφιακών εξαρτηµάτων Κατανόηση του υπολογιστή

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το εσωτερικό του Υπολογιστή. Χρήστος Ρέτσας 1

Το εσωτερικό του Υπολογιστή. Χρήστος Ρέτσας 1 Το εσωτερικό του Υπολογιστή Χρήστος Ρέτσας 1 Περιφερειακές (εξωτερικές) συσκευές Κεντρική Μονάδα 2 Που είναι ηκεντρική Μονάδα; Φορητός H/Y (laptop, netbook) Χρήστος Ρέτσας 3 Που είναι ηκεντρική Μονάδα;

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

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420)

Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Ανάπτυξη & Σχεδίαση Λογισμικού (ΗΥ420) Διάλεξη 8: Σχεδίαση Συστήματος Σχεδίαση Συστήματος 2 Διεργασία μετατροπής του προβλήματος σε λύση. Από το Τί στο Πώς. Σχέδιο: Λεπτομερής περιγραφή της λύσης. Λύση:

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

Διαχείριση Πολιτισμικών Δεδομένων

Διαχείριση Πολιτισμικών Δεδομένων Διαχείριση Πολιτισμικών Δεδομένων Μάθημα 1 Εισαγωγή στις Βάσεις Δεδομένων Τζανέτος Πομόνης ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Τι είναι οι Βάσεις

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

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

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

ΘΕΜΑ : ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ. ΔΙΑΡΚΕΙΑ: 1 περίοδος

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

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

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Τι εννοούμε με τον όρο υπολογιστικό σύστημα και τι με τον όρο μικροϋπολογιστικό σύστημα; Υπολογιστικό

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

DIRECT MEMORY ACCESS - DMA

DIRECT MEMORY ACCESS - DMA DIRECT MEMORY ACCESS - DMA Η μητρική κάρτα του υπολογιστή (motherboard) έχει ενσωματωμένο επάνω της ένα τσιπ DMA, το οποίο διαχειρίζεται τη λειτουργία της άμεσης μεταφοράς δεδομένων. Σύμφωνα με αυτή τη

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

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

ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΕΠΙΜΕΛΕΙΑ: ΜΑΡΙΑ Σ. ΖΙΩΓΑ ΚΑΘΗΓΗΤΡΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΘΕΩΡΙΑ 6 ΟΥ ΚΕΦΑΛΑΙΟΥ ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ 6.1 Τι ονοµάζουµε πρόγραµµα υπολογιστή; Ένα πρόγραµµα

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

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

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

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

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου)

Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Τεχνολογία Δικτύων Επικοινωνιών (Ενότητα 1.7 - Πρωτόκολλα και Αρχιτεκτονική Δικτύου) Πρωτόκολλο είναι ένα σύνολο κανόνων που πρέπει να ακολουθήσουν όλοι οι σταθμοί εργασίας σε ένα δίκτυο ώστε να μπορούν

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

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

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

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

Κεφάλαιο 4. Διδακτικοί Στόχοι. Για την αναγκαιότητα, τον τρόπο συνεργασίας, τις δυνατότητες και τον τρόπο εγκατάστασης των περιφερειακών συσκευών.

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

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

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

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

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access

Εισαγωγή Κεφάλαιο 1: Εγκατάσταση της Access Κεφάλαιο 2: Βάσεις δεδομένων και δομικά στοιχεία της Access ΠΕΡΙΕΧΟΜΕΝΑ Εισαγωγή...15 Κεφάλαιο 1: Εγκατάσταση της Access 2002...17 Τι είναι το Office XP;...17 Τεχνικές απαιτήσεις του Office XP...17 Πρόσθετα απαιτούμενα για την αξιοποίηση εξειδικευμένων χαρακτηριστικών...18

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

Περιεχόµενα. I Βασικές Γνώσεις 1

Περιεχόµενα. I Βασικές Γνώσεις 1 Περιεχόµενα I Βασικές Γνώσεις 1 1 Μοντελοποίηση Προγραµµάτων 3 1.1 Ψευδογλώσσα....................... 6 1.2 Διαγράµµατα Ροής..................... 6 1.3 Παραδείγµατα σε Ψευδογλώσσα και Διαγράµµατα Ροής.

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

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου...

Λίγα λόγια από το συγγραφέα... 7. 91 Εισαγωγή στους υπολογιστές... 9. 92 Μονάδες µέτρησης χωρητικότητας... 31. 94 Συσκευές εισόδου... Περιεχόµενα Λίγα λόγια από το συγγραφέα... 7 91 Εισαγωγή στους υπολογιστές... 9 92 Μονάδες µέτρησης χωρητικότητας... 31 93 Οι βασικές λειτουργίες ενός ηλεκτρονικού υπολογιστή... 37 94 Συσκευές εισόδου...

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07

Ενότητα 4. Εισαγωγή στην Πληροφορική. Αναπαράσταση δεδοµένων. Αναπαράσταση πληροφορίας. υαδικοί αριθµοί. Χειµερινό Εξάµηνο 2006-07 Ενότητα 4 Εισαγωγή στην Πληροφορική Κεφάλαιο 4Α: Αναπαράσταση πληροφορίας Κεφάλαιο 4Β: Επεξεργαστές που χρησιµοποιούνται σε PCs Χειµερινό Εξάµηνο 2006-07 ρ. Παναγιώτης Χατζηδούκας (Π..407/80) Εισαγωγή

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