Υλικό και Λογισμικό Η/Υ ΕΠΛ031 Εισαγωγή στον Προγραμματισμό Νέαρχος Πασπαλλής Επισκέπτης Ακαδημαϊκός (Λέκτορας) ΥΛΙΚΟ (HARDWARE) nearchos@cs.ucy.ac.cy Γραφείο #B120, Τηλ. ext. 2744 Υλικό Η/Υ (Η αρχιτεκτονική von Neumann) Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU) Η ΚΜΕ είναι το πιο σημαντικό συστατικό ενός H/Y Συσκευή Εισόδου Κεντρική Μονάδα Επεξεργασίας Μονάδα Ελέγχου Συσκευή Εξόδου Διαθέσιμες εντολές για επεξεργασία δεδομένων Αριθμητική/Λογική Μονάδα Μονάδα Μνήμης Βοηθητική Συσκευή Αποθήκευσης Η ΚΜΕ Δεδομένα προς επεξεργασία Επεξεργασμένα δεδομένα 2-3 2-4 Πανεπιστήμιο Κύπρου 1
ΚΜΕ (Συνέχεια) Η ΚΜΕ αποτελείται Αριθμητική και Λογική Μονάδα (Arithmetic and Logical Unit) Εκτελεί αριθμητικές πράξεις (+, -, /, *) Εκτελεί λογικές πράξεις (ΑND, OR, NOT, ) Περιέχει ένα μικρό αριθμό ειδικών μονάδων αποθήκευσης που ονομάζονται καταχωρητές (registers) Την μονάδα ελέγχου (Control Unit) Είναι η οργανωτική δύναμη στον Η/Υ Αποφασίζει και συντονίζει την διαδοχή των πράξεων και τη λειτουργία των υπολοίπων μονάδων του υπολογιστή Το ρολόι (CPU clock) Χρησιμεύει στον συγχρονισμό των διεργασιών της ΚΜΕ Ο αριθμός των κτύπων του ρολογιού ανά μονάδα χρόνου καθορίζει σε μεγάλο βαθμό την ταχύτητα της ΚΜΕ Η συχνότητα του ρολογιού μετριέται σε Ηz 2-5 Μονάδες Εισόδου/Εξόδου Μία μονάδα εισόδου είναι μια συσκευή δια μέσω της οποίας, δεδομένα και προγράμματα εισάγονται από τον έξω κόσμο στον Η/Υ Πληκτρολόγιο, ποντίκι, κτλ. Μία μονάδα εξόδου είναι μια συσκευή δια μέσω της οποίας, αποτελέσματα αποθηκευμένα στον Η/Υ, καθίστανται διαθέσιμα στον εξωτερικό κόσμο Εκτυπωτές, τερματικά 2-6 Μονάδες εισόδου Οι σημαντικότερες συσκευές εισόδου: Πληκτρολόγιο (keyboard) 2-7 Συσκευές επιλογής (pointing devices) Ποντίκι (mouse) Trackball Πίνακας ψηφιοποίησης (graphics tablet) Joystick Οθόνες Αφής (touch screens) Σαρωτές (scanners) Συσκευές ανάγνωσης χαρακτήρων με μαγνητική μελάνη Συσκευές οπτικής αναγνώρισης Συσκευές ανάγνωσης καρτών-σημείων Ψηφιακή κάμερα Μικρόφωνο Συσκευές επιλογής ΠΟΝΤΙΚΙ: Χρησιμοποιείται για να κατευθύνει στην οθόνη του Η/Υ έναν δείκτη (mouse pointer), μέσω του οποίου επιλέγονται διάφορες λειτουργίες ή εικονίδια (icons) Trackball: Συσκευή που παρέχει την ίδια λειτουργικότητα με ένα ποντίκι. Μπορούμε να το παρομοιάσουμε με ένα αντεστραμμένο μηχανικό ποντίκι. 2-8 ΤΥΠΙΚΟ ΠΟΝΤΙΚΙ ΜΕ ΚΑΛΩΔΙΟ ΑΣΥΡΜΑΤΟ ΠΟΝΤΙΚΙ Πανεπιστήμιο Κύπρου 2
Συσκευές επιλογής: Πίνακας ψηφιοποίησης Αποτελείται από μια επιφάνεια στο εσωτερικό της οποίας περιέχονται ηλεκτρονικά κυκλώματα μέσω των οποίων ανιχνεύεται κίνηση η ή άσκηση η πίεσης επάνω της. Συνήθως συνοδεύεται και από ένα αντικείμενο που μοιάζει με στυλό Συσκευές επιλογής: Joystick Συσκευή η οποία είναι εφοδιασμένη με ένα μοχλό μέσω του οποίου προσδιορίζεται η επιθυμητή κατεύθυνση και η ταχύτητα κίνησης. ΤΥΠΙΚΟ ΠΑΡΑΔΕΙΓΜΑ JOYSTICK ΠΙΝΑΚΕΣ ΨΗΦΙΟΠΟΙΗΣΗΣ 2-9 2-10 Συσκευές επιλογής: Οθόνες αφής Χρησιμοποιούν ένα πλέγμα από υπέρυθρες ακτίνες και αισθητήρες ή κάποιο ενσωματωμένο πλέγμα από κυκλώματα ευαίσθητα στην πίεση, για να αναγνωρίζουν το σημείο της οθόνης στο οποίο σημειώνεται επαφή. Σαρωτές (Scanners) Είναι ειδικές συσκευές που κατασκευάστηκαν για την εισαγωγή στον υπολογιστή εγγράφων, χειρόγραφου κειμένου, εικόνων και σχεδίων για αποθήκευση και περαιτέρω επεξεργασία. ΕΠΙΤΡΑΠΕΖΙΟΣ ΣΑΡΩΤΗΣ TOUCH SCREENS BAR CODE SCANNERS 2-11 2-12 Πανεπιστήμιο Κύπρου 3
Ψηφιακή κάμερα και μικρόφωνο Επιτρέπουν την επικοινωνία μεταξύ των χρηστών των Η/Υ με κινούμενη εικόνα και ήχο. ΨΗΦΙΑΚΕΣ ΚΑΜΕΡΕΣ ΜΙΚΡΟΦΩΝΑ Μονάδες εξόδου Οι σημαντικότερες συσκευές εξόδου: Οθόνες Οθόνες καθοδικού σωλήνα Επίπεδες οθόνες Ηχεία Εκτυπωτές Κρουστικοί εκτυπωτές Έγχυσης μελάνης (ink-jet) Laser εκτυπωτές 2-13 2-14 Οθόνες Οι βασικότερες κατηγορίες οθονών: Οθόνες με καθοδικό σωλήνα Λειτουργούν με τον ίδιο τρόπο όπως η τηλεόραση Τείνουν να εξαλειφθούν Επίπεδες οθόνες (flat panel displays) (υλοποιούνται με διάφορες τεχνολογίες 2-15 όπως υγρού κρυστάλλου, με πλάσμα αερίου, LED, κλπ.) Αναβαθμισμένη ποιότητα εικόνας Μικρές διαστάσεις-ευρυχωρία Υψηλό οικονομικό κόστος Εκτυπωτές Ανάλογα με τον τρόπο σχηματισμού των κουκίδων (dots per inch ή dpi) στο xαρτί, οι εκτυπωτές διακρίνονται: Κρουστικοί εκτυπωτές: H αποτύπωση των κουκκίδων επιτυγχάνεται με χτύπημα των βελόνων (pins) μιας κεφαλής πάνω σε μια μελανοταινία. Η κεφαλή κινείται δεξιά-αριστερά καλύπτοντας την επιφάνεια του χαρτιού. Χαμηλή ποιότητα εκτύπωσης Χαμηλό κόστος για εκτυπώσεις μεγάλου μεγέθους Έγχυσης μελάνης (Ink-Jet): Η κεφαλή κινείται μπροστά στο χαρτί και σχηματίζει τους χαρακτήρες ψεκάζοντας μελάνη πάνω στο χαρτί. Καλή ποιότητα εκτύπωσης (360-1440dpi) Προσιτή έγχρωμη εκτύπωση (σε σύγκριση με τον laser) Aκριβή συντήρηση (αγορά ανταλλακτικών, π.χ μελάνι) Laser εκτυπωτές: εκτυπώνουν σελίδα-σελίδα με τη βοήθεια ακτίνας laser. Άριστη ποιότητα εκτύπωσης (600 1200dpi) Υψηλή ταχύτητα εκτύπωσης Χαμηλότερο κόστος εκτύπωσης ανά σελίδα Υψηλό κόστος αγοράς του εκτυπωτή Ακριβή η έγχρωμη εκτύπωση 2-16 Πανεπιστήμιο Κύπρου 4
Mνήμη Μνήμη είναι μια συλλογή από κελιά, το καθένα από τα οποία έχει μία μοναδική φυσική διεύθυνση Μνήμη (Συνέχεια) Η μνήμη είναι μέρος του υλικού και χρησιμεύει για την αποθήκευση δεδομένων και εντολών. Είναι απ ευθείας συνδεδεμένη με τον επεξεργαστή. Όποια πληροφορία δημιουργείται σε κάποια χρονική στιγμή και πρόκειται να χρησιμοποιηθεί αργότερα, αποθηκεύεται, συνήθως προσωρινά, στη μνήμη για να μπορεί να ανακληθεί εύκολα. Κύρια είδη μνήμης: RAM: Random Access Memory (Μνήμη Τυχαίας Προσπέλασης) ROM: Read Only Memory (Μνήμη Μόνο Ανάγνωσης) 2-18 RAM RAM είναι η μνήμη όπου αποθηκεύονται προσωρινά εντολές και δεδομένα, περιμένοντας την ανάκληση τους για επεξεργασία. Είναι επίσης ο χώρος όπου αποθηκεύονται τα αποτελέσματα της εκτέλεσης των εντολών. Η RAM δεν παρέχει δυνατότητα μόνιμης αποθήκευσης δεδομένων. Όταν τελειώσει η εκτέλεση, τα δεδομένα μετακινούνται από τη ΚΜΕ πίσω στην RΑΜ και από εκεί αποστέλλονται στην κατάλληλη έξοδο ή προς μόνιμη αποθήκευση σε κάποια δευτερεύουσα μνήμη. Μόλις επέλθει διακοπή ρεύματος τα δεδομένα της RAM χάνονται ROM Η μνήμη αυτή δεν επιδέχεται αλλαγές. Τα περιεχόμενα της μπορούν να διαβαστούν όχι όμως και να μεταβληθούν παρά μόνο εάν αντικατασταθούν ολοσχερώς τα ίδια τα κυκλώματα των ημιαγωγών (chips) που την αποτελούν. Η ROM περιέχει εντολές που υποδεικνύουν στη μηχανή πώς να εκτελέσει τη διαδικασία εκκίνησης ("boot process"). Η διαδικασία αυτή παρέχει πρόσβαση στον οδηγό του δίσκου για την ανεύρεση των δεδομένων διαμόρφωσης (configuration) του συστήματος. 2-19 2-20 Πανεπιστήμιο Κύπρου 5
Mητρική Πλακέτα (Motherboard) Mητρική Πλακέτα (Συνέχεια) Κεντρική μονάδα επεξεργασίας Κύρια Μνήμη Arithmetic & Logical Unit (Αριθμητική και Λογική Μονάδα) 0 1 Address Bus Registers (Καταχωρητές) Control Unit (Μονάδα ελέγχου) Data Bus Primary Cache Memory (Κρυφή μνήμη) Secondary Cache Memory (Κρυφή μνήμη) 2Ν-1 ΚΜΕ Ports (Δίαυλοι εποικοινωνίας) Clock (Ρολόι) I/O (Μονάδες εισόδου-εξόδου) Storage (Αποθηκευτικά μέσα) Μητρική πλακέτα 2-21 2-22 Περιφερειακές μονάδες μνήμης Η κύρια μνήμη ενός Η/Υ έχει σχετικά μικρό μέγεθος και χρησιμοποιείται για την προσωρινή ρ αποθήκευση των εντολών Για την αποθήκευση μεγάλου όγκου δεδομένων σε μόνιμη βάση χρησιμοποιούμε τις περιφερειακές μονάδες μνήμης Οι κυριότερες περιφερειακές μονάδες μπορούν να 2-23 διακριθούν ως εξής: Μαγνητικοί δίσκοι Οπτικά μέσα αποθήκευσης Μαγνητικοί δίσκοι Αποτελείται από ένα ή περισσότερους δίσκους με μαγνητική επικάλυψη Τα δεδομένα αποθηκεύονται σε τομείς (sectors). Μια συλλογή από τομείς αποτελούν το ίχνος (track) το οποίο αντιστοιχεί σε κάποιο τόξο ομόκεντρων κύκλων Track ιαθέτουν την δυνατότητα άμεσης πρόσβασης στα δεδομένα. 2-24 Πανεπιστήμιο Κύπρου 6
Είδη μαγνητικών δίσκων Οπτικά μέσα αποθήκευσης 2-25 ισκέτα (floppy disk) Χωρητικότητα: 1.44 ΜΒ Σκληρός ίσκος (hard disk) Χωρητικότητα: Τάξεως GΒ, ΤΒ Πολύ γρήγορη προσπέλαση δεδομένων Βασίζονται στη χρήση τεχνολογίας λέιζερ Έχουν την δυνατότητα αποθήκευσης μεγάλου όγκου δεδομένων Συνήθως χρησιμοποιούνται για την αποθήκευση εφαρμογών πολυμέσων Πιο δημοφιλή οπτικά μέσα αποθήκευσης CD: Compact Disk (Συμπιεσμένος ίσκος) Χωρητικότητα: Μέχρι 800ΜΒ 2-26 CD-ROM (ή CD-R), CD-R/W, CD-audio DVD: Digital Versatile Disk (Ψηφιακός Ευπροσάρμοστος ίσκος) Χωρητικότητα: Μέχρι 20GB DVD-ROM (ή DVD-R), DVD-R/W, DVD-video DVD Rom Drive 2-27 2-28 Πανεπιστήμιο Κύπρου 7
ΛΟΓΙΣΜΙΚΟ (SOFTWARE) Τι είναι το Λογισμικό; Το λογισμικό (software) είναι το σύνολο εντολών που τίθενται στην διάθεση του χρήστη προκειμένου να υποδείξει στον Η/Υ το είδος των πράξεων που θα πρέπει να εκτελέσει. Η επικοινωνία των προγραμμάτων και των χρηστών με τον Η/Υ λαμβάνει χώρα μέσω του λογισμικού των Η/Υ Το λογισμικό ενός υπολογιστικού συστήματος αναλαμβάνει την αυτοματοποίηση των διαδικασιών της διαχείρισης της ΚΜΕ, της μνήμης και των μονάδων εισόδου-εξόδου, προκειμένου τα προγράμματα να αποδεσμεύονται από τα καθήκοντα αυτά. 2-30 Κατηγορίες Λογισμικού Ι. Λογισμικό Συστήματος (System Software) Περιλαμβάνει το σύνολο των προγραμμάτων που ελέγχουν, διαχειρίζονται ρζ και συντονίζουν μονάδες του Η/Υ, δηλαδή το υλικό του Η/Υ. Λειτουργούν σε καθεστώς ανεξαρτησίας από συγκεκριμένες εφαρμογές. Η λειτουργία του δεν είναι άμεσα αντιληπτή από τον απλό χρήστη. Τυπικό παράδειγμα λογισμικού συστήματος αποτελεί το λειτουργικό σύστημα, τα συστήματα διαχείρισης βάσεως δεδομένων, κλπ Κατηγορίες Λογισμικού (Συνέχεια) ΙΙ. Λογισμικό Εφαρμογών (Application Software) Περιλαμβάνει προγράμματα που επιτρέπουν την εκτέλεση συγκεκριμένων εργασιών των χρηστών π.χ την δημιουργία κειμένων, την σχεδίαση γραφικών, την οργάνωση δεδομένων κλπ. Το λογισμικό του συστήματος και το λογισμικό εφαρμογών είναι υπεύθυνα για να καθοδηγούν το υλικό στο να εκτελεί τις εργασίες με βάση την ανάγκη των χρηστών 2-31 2-32 Πανεπιστήμιο Κύπρου 8
Λειτουργικά Συστήματα Το Λειτουργικό Σύστημα (Operating System) είναι ένα σύνολο προγραμμάτων που ελέγχουν και επιβλέπουν το υλικό του Η/Υ παρέχοντας ρχ διάφορες υπηρεσίες: Σε προγράμματα εφαρμογών Σε προγραμματιστές Σε χρήστες Η/Υ Ελέγχει και συντονίζει την λειτουργία των μονάδων 2-33 περιφερειακής μνήμης, την κύρια μνήμη και την κεντρική μονάδα επεξεργασίας. Περιέχει τις απαραίτητες εντολές που υποδεικνύουν στην ΚΜΕ πώς να επικοινωνεί με τις υπόλοιπες μονάδες, άλλα προγράμματα, και τους χρήστες. Προγράμματα που αποτελούν το Λ.Σ Προγράμματα ελέγχου (Control Programs) Χειρίζονται το υλικό του υπολογιστή Το κύριο πρόγραμμα ελέγχου ονομάζεται επιτηρητής (kernel) και είναι υπεύθυνο για τον έλεγχο του συνόλου των προγραμμάτων του Λ.Σ και των διαφόρων εφαρμογών. Ο επιτηρητής βρίσκεται αποθηκευμένος στην κύρια μνήμη Προγράμματα Υπηρεσιών (Service Programs) Εκτελούν προγράμματα που είναι πολύ χρήσιμα για τους χρήστες, π.χ μορφοποίηση δισκέτας, αντιγραφή αρχείων... Τα προγράμματα αυτά δεν είναι μόνιμα αποθηκευμένα στην κύρια μνήμη 2-34 Κύριες Λειτουργίες ενός Λ.Σ Η διαχείριση των πόρων (devices) του Η/Υ ιανομή χρόνου της ΚΜΕ ανάμεσα σε διάφορους χρήστες και διάφορες ταυτόχρονες εργασίες, κατανομή περιφερειακής μνήμης στα διάφορα αρχεία, εύρυθμη λειτουργία μονάδων εισόδου/εξόδου. Η διαχείριση των δεδομένων Εντοπισμός, αποθήκευση, τροποποίηση κατάλληλων αρχείων Η δρομολόγηση των διαφόρων εργασιών Επίβλεψη και έλεγχος των εργασιών που έχουν καθορισθεί από τους χρήστες ότι πρέπει να εκτελεσθούν στην ΚΜΕ Η παροχή τρόπου επικοινωνίας μεταξύ χρηστών και υπολογιστικών συστημάτων Καθορισμός των συμβάσεων που αποτελούν τον προκαθορισμένο τρόπο επικοινωνίας των χρηστών 2-35 Κατηγορίες Λ.Σ Ταξινόμηση με κριτήριο τον αριθμό των χρηστών Λειτουργικά συστήματα ενός χρήστη (single user) τα οποία μπορούν να υποστηρίξουν μόνο έναν χρήστη κάθε φορά. Λειτουργικά συστήματα πολλών χρηστών (multi user) τα οποία επιτρέπουν σε δύο ή περισσότερους χρήστες να έχουν ταυτόχρονη πρόσβαση στο υπολογιστικό σύστημα. Ταξινόμηση με κριτήριο τον αριθμό εργασιών Λειτουργικά συστήματα μιας εργασίας (single tasking) τα οποία επιτρέπουν να εκτελείται λί μόνο μια εργασία κάθε φορά και όταν ολοκληρώνεται αρχίζει η εκτέλεση της επόμενης. Λειτουργικά συστήματα πολλών εργασιών (multi tasking) τα οποία έχουν την δυνατότητα εκτέλεσης πολλών εργασιών ταυτοχρόνως. 2-36 Πανεπιστήμιο Κύπρου 9
Δημοφιλή Λειτουργικά Συστήματα Κατηγορίες του Λογισμικού Εφαρμογών 2-37 Microsoft Windows Unix (Ubuntu Linux) Γενικευμένο Λογισμικό Εφαρμογών (Generalized Application Software) Υποστηρίζει ένα αρκετά ευρύ φάσμα εργασιών Εξειδικευμένο λογισμικό εφαρμογών (Specialized Application Software) Εκτελεί μια προκαθορισμένη λειτουργία και δεν μπορεί να δεν μπορεί να μεταβληθεί εύκολα Για μεγάλες εταιρίες ή οργανισμούς Ολοκληρωμένο Λογισμικό (Integrated Software) Σύνολο προγραμμάτων συμβατά μεταξύ τους, με κοινά χαρακτηριστικά, που επιτρέπουν την εύκολη μεταφορά δεδομένων από το ένα στο άλλο 2-38 ΓΛΕ: Επεξεργαστές Kειμένου ΓΛΕ: Λογιστικά Φύλλα 2-39 2-40 Πανεπιστήμιο Κύπρου 10
ΓΛΕ: Συστήματα Διαχείρισης Βάσεων Δεδομένων ΓΛΕ: Εφαρμογές Διαδικτύου 2-41 2-42 Εξειδικευμένα Λογισμικά Εφαρμογών Photoshop Προγράμματα επεξεργασίας εικόνας Σχεδιαστικά προγράμματα Προγράμματα ηλεκτρονικής σελιδοποίησης λδ Προγράμματα επεξεργασίας ήχου ιαχειριστικές εφαρμογές (λογιστική και εμπορική διαχείριση). 2-43 2-44 Πανεπιστήμιο Κύπρου 11
Ολοκληρωμένο Λογισμικό Microsoft office MS Word MS Power Point MS Excel MS Outlook MS Access Περιληπτικά 2-45 2-46 Γλώσσες Προγραμματισμού (1) Γλώσσα Μηχανής (Machine Language): Γλώσσα πρώτης γενιάς, 1940 Eίναι η φυσική γλώσσα των Η/Υ. Υψηλή ταχύτητα εκτέλεσης εντολών και βέλτιστη χρήση μνήμης. Είναι δύσκολη στην χρήση της Συμβολική Γλώσσα (Assembly Language): Γλώσσα 2-47 δεύτερης γενιάς, 1950 Μνημονική αναπαράσταση των χαρακτήρων. Είναι πιο εύκολη στην γραφή και στην κατανόηση. Η εκτέλεση της απαιτεί την μετάφραση της σε γλώσσα μηχανής μέσω των συμβολομεταφραστών (Assembler). 2-48 Παράδειγμα γλώσσας μηχανής 0x4010b8 <main>: push %ebp 0x4010b9 <main+1>: mov %esp,%ebp 0x4010bb <main+3>: sub $0x10,%esp 0x4010be <main+6>: call 0x401280 0x4010c3 <main+11>: push $0x401080 0x4010c8 <main+16>: call 0x401290 0x4010cd <main+21>: add $0x4,%esp 0x4010d0 <main+24>: lea 0xfffffff4(%ebp),%eax 0x4010d3 <main+27>: push %eax 0x4010d4 <main+28>: lea 0xfffffff8(%ebp),%eax 0x4010d7 <main+31>: push %eax 0x4010d8 <main+32>: lea 0xfffffffc(%ebp),%eax%eax 0x4010db <main+35>: push %eax 0x4010dc <main+36>: push $0x4010ae 0x4010e1 <main+41>: call 0x401288 0x4010e6 <main+46>: add $0x10,%esp 0x4010e9 <main+49>: xor %eax,%eax Πανεπιστήμιο Κύπρου 12
Γλώσσες Προγραμματισμού (2) Γλώσσες Yψηλού Επιπέδου (High Level Languages): Γλώσσες τρίτης γενιάς, 1960 Πιο κοντά στις ανθρώπινες γλώσσες. 2-49 Χρησιμοποιούν ένα μικρό σύνολο από αγγλικές λέξεις. Γίνεται χρήση μεταφραστών (Compilers) και των διερμηνευτών (Interpreters). Π.χ Cobol, Fortran, Basic, Logo, Pascal, Ada, C. PROGRAM HELLO CHARACTER *10 NAME PRINT *, Enter your name and press return READ *, NAME PRINT *, Hello NAME END HELLO Γλώσσες Προγραμματισμού (3) Γλώσσες τέταρτης γενιάς, 1980 Ο προγραμματιστής απλά καθορίζει τα δεδομένα και τις ενέργειες που πρέπει να γίνουν και το ίδιο το εργαλείο δημιουργεί τον κώδικα σε κάποια γλώσσα προγραμματισμού Αντικειμενοστραφείς γλώσσες προγραμματισμού (Object-oriented) π.χ Visual basic, C++, Java Γλώσσες ανάπτυξης εφαρμογών τεχνητής νοημοσύνης (π.χ LISP, PROLOG) Γεννήτριες προγραμμάτων Συστήματα διαχείρισης βάσεων δεδομένων Γλώσσες πέμπτης γενιάς, 21 ος αιώνας 2-50 Η επικοινωνία μεταξύ ανθρώπου και μηχανής γίνεται με την βοήθεια φυσικής γλώσσας Χρησιμοποιούν λέξεις και συντακτικούς κανόνες της φυσικής γλώσσας Αναπτύσσονται τεχνικές αναγνώρισης φωνής Έχουν μεγάλες υπολογιστικές απαιτήσεις εν έχουν ακόμη αναπτυχθεί πρότυπα με ευρεία αποδοχή Γλώσσες Προγραμματισμού (4) Όλες οι παραπάνω γλώσσες εκτός από την γλώσσα μηχανής προκειμένου να γίνουν κατανοητές από τον Η/Υ πρέπει να μεταφραστούν σε γλώσσα μηχανής: Εργαλεία μετάφρασης ιερμηνευτής (Interpreter): Μεταφράζει το πρόγραμμα σε δυαδικό κώδικα μια γραμμή κάθε φορά Μεταγλωττιστής (Compiler): Ελέγχει το πρόγραμμα για συντακτικά λάθη και το μεταφράζει ολόκληρο πριν ξεκινήσει η εκτέλεση οποιουδήποτε μέρους του Μεταγλωττισμός (Compilation) Πηγαίος κώδικαs Μεταγλωττιστής Κώδικας αντικειμένου demo.f ifl90 demo.o Source code object code 2-51 2-52 Πανεπιστήμιο Κύπρου 13
2-53 Περίληψη Υλικό Αρχιτεκτονική Von Neuman ΚΜΕ Είσοδος/Έξοδος Μνήμη Περιφερειακές μονάδες μνήμης ίκτυο/ ιαδίκτυο Λογισμικό 2-54 Κατηγορίες Λογισμικού Λειτουργικά Συστήματα Λογισμικά Εφαρμογών Γλώσσες Προγραμματισμού Πανεπιστήμιο Κύπρου 14