Πληροφορική και Υπολογιστές

Σχετικά έγγραφα
(Ψηφιακοί)Υπολογιστές ENIAC Πληροφορική και Υπολογιστές. ΕΠΛ 031: Εισαγωγή στον (FORTRAN) Γιώργος Χρυσάνθου. Ποτε? ~1940 ΕΝΙΑC. Γιατι?

ΕΠΛ Εισαγωγή στον Προγραµµατισµό: Λογισµικό. Το λογισµικό του συστήµατος: 1 Εισαγωγή ΤΟ ΛΟΓΙΣΜΙΚΟ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ

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

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

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

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

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

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

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

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

ΕΠΛ 131 ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Ι

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

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

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

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

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

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

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

Κεφάλαιο 6 ο. Διαχείριση στοιχείων λογισμικού

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

Ηλεκτρονικοί Υπολογιστές Δ Εξάμηνο

ΚΕΦΑΛΑΙΟ 1 ΥΛΙΚΟ ΥΠΟΛΟΓΙΣΤΩΝ

Αρχιτεκτονικη υπολογιστων

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

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

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

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

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

ΥΠΟΛΟΓΙΣΤΕΣ Ι. Τα επιμέρους τμήματα Η ΟΜΗ TOY ΥΠΟΛΟΓΙΣΤΗ. Αναπαράσταση μεγεθών. Αναλογική αναπαράσταση ΚΕΝΤΡΙΚΗ ΜΝΗΜΗ ΜΟΝΑ Α ΕΛΕΓΧΟΥ

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

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

Δομημένος Προγραμματισμός

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

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

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

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

0 κ. Αντης Χατζηβασιλείου, Διευθυντής της Εταιρείας DATACOM παραδίδει στον κ. Σάββα Πετρίδη ένα Η.Υ. δώρο στην ΚΕΕΒ για τις μηχανογραφικές ανάγκες

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

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

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

Εισαγωγή στον Προγραμματισμό Θεωρία 1 η Διάλεξη: Βασικές Έννοιες Αρχιτεκτονικής ΗΥ

Κεφάλαιο 5. Στόχοι Κεφαλάιου. Η αρχιτεκτονική von Neumann. Nell Dale John Lewis. Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ/CPU)

3. Προσωπικός Ηλεκτρονικός Υπολογιστής (Personal Computer - PC)

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού

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

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

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

Ανάπτυξη Εφαρμογών σε Προγραμματιστικό Περιβάλλον κεφ.6 Εισαγωγή στον Προγραμματισμό

Λογισμικό - Προγράμματα

Περιεχόµενα. Ανασκόπηση - Ορισµοί. Ο κύκλος ανάπτυξης προγράµµατος. Γλώσσες Προγραµµατισµού Ασκήσεις

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

Δεδομένα & Αναπαράσταση Πληροφορίας

TEI Ιονίων Νήσων Τμήμα Τεχνολογίας Τροφίμων Πληροφορική Σημειώσεις Τεύχος 3. Μάκης Σταματελάτος

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Βασική δοµή και Λειτουργία Υπολογιστή

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

ΕΙΣΑΓΩΓΗ. Αρχιτεκτονική Η/Υ ΗΜΟΣ ΜΠΟΛΑΝΑΚΗΣ

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

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

Παραδείγματα Δεδομένων: Οι τιμές στο κυλικείο, μια λίστα από ονόματα, τα σήματα της τροχαίας.

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

Εισαγωγή. Ανάπτυξη Συστημάτων Λογισμικού. Οργάνωση μαθήματος. #1. Εισαγωγή στον Προγραμματισμό

Σύντοµη Ιστορία της Πληροφορικής

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

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

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

Εισαγωγή στον Προγραμματισμό

Πληροφορική και Υπολογιστές

ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

Information Technology for Business

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

Υλικό Υπολογιστών (Hardware) ΜΥΥ-106 Εισαγωγή στους Η/Υ και Πληροφορική

Αρχιτεκτονική Μικροεπεξεργαστών MIPS-32. Αρχείο καταχωρητών και Χάρτης Μνήµης

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

ΚΕΦΑΛΑΙΟ 6 ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ. 03/01/09 Χαράλαμπος Τζόκας 1

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

Προγραμματισμός Η/Υ. Προτεινόμενα θέματα εξετάσεων Εργαστήριο. Μέρος 1 ό. ΤΕΙ Λάρισας- Σχολή Τεχνολογικών Εφαρμογών Τμήμα Πολιτικών Έργων Υποδομής

Κύρια & Περιφερειακή Μνήµη

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

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

Κεντρική Μονάδα Επεξεργασίας

Β1.1 Αναπαράσταση Δεδομένων και Χωρητικότητα Μονάδων Αποθήκευσης

ΠΛΗΡΟΦΟΡΙΚΗ. Β Γυμνασίου Σχολικό έτος

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

Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων. 1. Εισαγωγή. Ιωάννης Κατάκης. ΕΠΛ 032: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων

Αρχιτεκτονικές Συνόλου Εντολών

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

Γλώσσες υψηλού επιπέδου Περιέχουν περισσότερες εντολές για την εκτέλεση πολύπλοκων εργασιών Τα προγράµµατα µεταφράζονται σε γλώσσα µηχανής είτε από το

Transcript:

Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Κοινωνία της Πληροφορίας Υλικό και Λογισµικό Η/Υ Γλώσσες Προγραµµατισµού Βιβλίο µαθήµατος: Chapter 1, Sec. 1-31 ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-1 Πληροφορική και Υπολογιστές Αρχή πριν 65 χρόνια Οι υπολογιστές βρίσκονται παντού Πάρα πάρα πολλές εφαρµογές Γιατί; Αυτοµατοποίηση Απλοποίηση Αποτελεσµατικότητα Κόστος ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-2 1

(Ψηφιακοί)Υπολογιστές Πότε; ~1940 ηλεκτρονικοί (electronic), ψηφιακοί (digital) 0 ή 1 ENIAC - 1946 Γιατί; στρατιωτικούς σκοπούς (υπολογισµοί για σπάσιµο κωδικών) απογραφή πληθυσµού 1960: ~ 100 υπολογιστές παγκοσµίως!!! καθένας στοίχιζε δεκάδες εκατοµµύρια ευρώ 2003: δισεκατοµµύρια υπολογιστές πλείστοι στοιχίζουν µερικές 100δες ευρώ ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-3 ENIAC 1946 ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-4 2

Προγραµµατισµός Η έννοια του προγραµµατισµού εµφανίστηκε σχεδόν ταυτόχρονα µε τους ψηφιακούς υπολογιστές Πρόγραµµα: ακολουθία από εντολές που ζητείται από τον υπολογιστή να εκτελέσει Προγραµµατισµός: ηδιαδικασίασυγγραφήςπρογραµµάτων 1960: γλώσσα µηχανής Γλώσσα για άµεση επικοινωνία µε το υλικό του υπολογιστή Ραγδαία Αναπτυξη Υποδοµής Λογισµικού Μεταγλωτιστές, Λειτουργικά Συστήµατα Σήµερα: πλειάδα από γλώσσες προγραµµατισµού ψηλού/χαµηλού επιπέδου ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-5 Κοινωνία Πληροφορίας Επανάσταση Πληροφορικής: ιαδíκτυο τροµερή διευκόλυνση στην πρόσβαση πληροφοριών Φάσµα αγοράςυπολογιστών κινητοί, palmtop, προσωπικοί υπολογιστές (personal computer - PC) ψηλής απόδοσης PCs, workstations εξυπηρετητές (servers): συχνά µε πολλούς υπολογιστές <32 πολυεπεξεργαστές (multiprocessors): 32 µε 200 υπολογιστές υπερ-υπολογιστές (supercomputers), παράλληλοι (massively parallel) >1000 υπολογιστές ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-6 3

Palmtop/Notebook Casio Palmtop Apple Notebook ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-7 Προσωπικός Υπολογιστής (PC) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-8 4

Υπερ-υπολογιστές (SuperComputers) Cray T3-E 2048 nodes CM-5 1024 nodes ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-9 Εφαρµογές Πληροφορικής Hλεκτρονικό εµπόριο (e-commerce) Πρόσβαση, Φύλαξη και Επεξεργασία εδοµένων...εκατοµµύρια δεδοµένα/συναλλαγές Προσοµοίωση (Simulation) σχεδιασµός, λειτουργικότητα, απόδοση, προσοµοίωση κρούσης (αεροπλάνα, αυτοκίνητα, διαστηµικές αποστολές) Έξυπνα Συστήµατα: αυτοκίνητα, ηλεκτρονικές συσκευές, κινητά τηλέφωνα Αναψυχή: παιγνίδια, εικονική πραγµατικότητα, οπτικοαουστικά συστήµατα ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-10 5

Υπολογισµός Η επίλυση προβληµάτων µε τηχρήσηµαθηµατικών ή λογικών µεθόδων [wordnet, Πανεπιστήµιο Princeton] Η εκτέλεση µαθηµατικών πράξεων [ΛεξικότηςΝέαςΕλληνικήςΓλώσσας, Γ. Μπαµπινιώτη] Η κάθε είδους επεξεργασία δεδοµένων που µπορεί να αναπαρασταθεί µε µαθηµατικό τρόπο [wikipedia] Απλές πράξεις Ανθρώπινος στοχασµός ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-11 Υπολογιστής Μιαοντότηταπουµπορεί να εκτελεί υπολογισµούς Πληροφορίες εισόδου Πληροφορίες εξόδου ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-12 6

Ηλεκτρονικός Υπολογιστής (Η/Υ) H ηλεκτρονική συσκευή η οποία επεξεργάζεται πληροφορίες µε υψηλή ταχύτητα Πληροφορίες εισόδου Πληροφορίες εξόδου Αποτελείται από Υλικό και Λογισµικό ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-13 Υλικό Η/Υ (Hardware) Το σύνολο των ηλεκτρονικών και µηχανικών µερών του H/Y (δηλ. σιδερικά) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-14 7

Λογισµικό Η/Υ (Software) Το σύνολο των προγραµµάτων πουπαρέχουντις εντολές που ο υπολογιστής πρέπει να εκτελέσει λειτουργικό σύστηµα, µεταγλωττιστής, επεξεργαστές δεδοµένων (π.χ κειµένου, αριθµών, εικόνας, ήχου), παιχνίδια (π.χ. tetris) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-15 Βασική οµή Υλικού Υπολογιστή (Αρχιτεκτονική Von Neuman) Επεξεργασία (processing) Πληκτρολόγιο Ποντίκι Είσοδος (input) Πρωτεύουσα Μνήµη Επεξεργαστής (CPU) Έξοδος (output) Οθόνη Εκτυπωτής Πρόσβαση σε ευτερεύουσα Μνηµη, ίκτυο, ιαδίκτυο CD, δίσκος (hard, floppy), modem ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-16 8

Είσοδος/Έξοδος Χρησιµοποιείται για την εισαγώγη/εξαγωγή δεδοµένων από/στον χρήστη Έισοδος Επεξεργασία κειµένου (πρόγραµµα κτλ) εδοµένα σε πρόγραµµα Έξοδος Κατάσταση προγράµµατος Αποτέλεσµα προγράµµατος ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-17 Μνήµη Χρησιµοποιείται για την Αποθήκευση/Ανάκτηση πληροφοριών, προγραµµάτων και δεδοµένων Αποτελείται από ένα σύνολο κυψελίδων memory cells Κάθε κυψελίδα έχει µοναδική διεύθυνση και περιεχόµενο (διαταγές/εντολές ή δεδοµένα) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-18 9

Αναπαράσταση Μνήµης ιεύθυνση Περιεχόµενα 0 1 2... 1021 1022 1023 εοds 123 err12 15.er3 0.,d% yiasou (Τα δεδοµένα στη µνήµη είναι καταχωρηµένα σε δυαδική µορφή) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-19 Μονάδες µέτρησης µνήµης bit - b 0 ή 1 byte -B 8 bits (π.χ. 10010010 2 ) word 4 bytes doubleword 2 words ή 8 bytes KiloByte-KB 2 10 ή 1024 bytes MegaByte-MB 2 20 bytes GigaByte-GB 2 30 bytes TeraByte-TB 2 40 bytes ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-20 10

Κατηγοριοποίηση Μνήµης Ίσος χρόνος πρόσβασης σε όλες τις κυψελιδες? ΝΑΙ: Mνήµη Τυχαίας Πρόσβασης (Random Access Memory - RAM), π.χ. πρωτεύουσα µνήµη ΌΧΙ: π.χ. δευτερεύουσα µνήµη (hard disk) Τύπος Ανάγνωσης Μόνο Ανάγνωσης (Read Only Memory - ROM) Ανάγνωσης και Αποθήκευσης (Τυπικά RAM) ιάρκεια Αποθήκευσης Μόνιµη (non-volatile): µνήµη µόνο ανάγνωσης (ROM), CD - ROM, floppy και hard disk Προσωρινή (volatile): τυπικά RAM π.χ. cache, πρωτεύουσα µνήµη Τεχνολογία: CMOS (ROM, RAM, SRAM, DRAM), Μαγνητικός ίσκος (hard, floppy), Laser/Optical (CD-ROM) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-21 Ιστορική Καινοτοµία της Μνηµης Έννοια Αποθηκευµένου Προγράµµατος (Stored Program Concept) (~1940): Οι εντολές που αποτελούν το πρόγραµµα αποθηκεύονται στην πρωτεύουσα µνήµη πριν την εκτέλεση του προγράµµατος Προηγουµένως είχαµε µηχανές που έτρεχαν µόνο ένα πρόγραµµα (calculator: ΟΧΙ υπολογιστής) Υπολογιστές Γενικής Χρήσεως (General Purpose Computers) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-22 11

Κεντρική Μονάδα Επεξεργασίας (CPU) H Κεντρικη Μοναδα Επεξεργασιας (Central Processing Unit) ή µικροεπεξεργαστής (microprocessor) συντονίζει/αποφασίζει όλες τις λειτουργίες του υπολογιστή εκτελώντας αριθµητικές και λογικές πράξεις σε δεδοµένα Αποτελείται απο Μονάδα Ελέγχου (Control Unit) Αριθµητική και Λογική Μονάδα (ALU) Kαταχωρητές (Registers) Καταχωρητής Εντολής (Instruction Register) Μετρητής Προγράµµατος (Program Counter) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-23 Βασική Λειτουργία CPU Κύκλος Προσκόµισης και Εκτέλεσης Εντολής (Fetch- Execute Cycle) PC Κ1 0 0 1 2 3 4 K1=(4) K1=K1+1 (4)=K1 567899 567899 + ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-24 12

Βασική Λειτουργία CPU Κύκλος Προσκόµισης και Εκτέλεσης Εντολής (Fetch- Execute Cycle) PC Κ1 1 1 0 1 2 3 4 K1=(4) K1=K1+1 (4)=K1 567899 567899 567900 + ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-25 Βασική Λειτουργία CPU Κύκλος Προσκόµισης και Εκτέλεσης Εντολής (Fetch- Execute Cycle) PC Κ1 2 0 1 2 3 4 K1=(4) K1=K1+1 (4)=K1 567899 567900 567900 + ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-26 13

ίκτυο και ιαδίκτυο Τοπικó ίκτυο (Local Area Network) Συλλογή από υπολογιστές, εκτυπωτές, scanners που επικοινωνούν µεταξύ τους Βρίσκονται σε παραπλήσια γεωγραφική τοποθεσία (π.χ ίσια αίθουσα, κτήριο, κτηριακό συγκρότηµακτλ) Παράδειγµα: Το τοπικό δίκτυο του Πανεπιστηµίου Κύπρου ίκτυα Ευρείας Εµβέλειας (Wide Area Network) Είναι δίκτυο τοπικών δικτύων Παράδειγµα: Το ιαδίκτυο (Internet) Κρίσιµες Παράµετροι: Ταχύτητα σύνδεσης (latency) και Πληροφορίες/δευτερόλεπτο (bandwidth) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-27 Λογισµικό Υπολογιστή Πρόγραµµαείναιένασύνολοεντολών δοσµένες/γραµµένες σε γλώσσα κατανοητή από τον υπολογιστή Λογισµικό υπολογιστή είναι το σύνολο προγραµµάτων Υπολογιστής χωρίς πρόγραµµα είναι απλά λίγα γραµµάρια αχρήστων σιδερικών!!! ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-28 14

Επίπεδα Λογισµικού Λογισµικό Εφαρµογών ( Application Software) Γλώσσες Υπολογιστή (Computer Languages) Λειτουργικό Σύστηµα (Operating System) Υλικό (Hardware) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-29 Λειτουργικό Σύστηµα (Operating System) Ελέγχει τη διεπαφή (interface) του χρήστη µε τουλικό του υπολογιστή ιαχειρίζεται την κατανοµή των πόρων (resources) του υπολογιστή - π.χ. µνήµη, CPU, Είσοδος/Έξοδος Μερικά γνωστά λειτουργικά συστήµατα Unix / Linux MAC-OS MS-DOS Windows (3.1, 95, 98, Me, NT, 2000, XP, Vista) ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-30 15

Γλώσσες Προγραµµατισµού Κάθε λογισµικό είναι γραµµένο σε κάποια γλώσσα προγραµµατισµού Basic, Lisp, Pascal, FORTRAN, COBOL, PL1, ADA, Prolog, C, C++, Java, Assembly, Machine Language Ορισµος Γλώσσας: Σύνταξη (syntax): Κανόνες γραµµατικής της γλώσσας Σηµασιολογία (semantics): Τι σηµαίνουν οι προτάσεις της γλώσσας ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-31 Ταξινόµηση Γλωσσών Προγρ. (1) Γλώσσα Υψηλού Επιπέδου (high-level language) ανεξάρτητη υπολογιστή συνδυάζει αγγλικές λέξεις και συµβατούς µαθηµατικούς συµβολισµούς (ευκολο-διαβαστη) προσανατολισµένη στην επίλυση συγκεκριµένου τοµέα προβληµάτων, π.χ. FORTRAN µηχανική και µαθηµατικά, COBOL επεξεργασία δεδοµένων και επιχειρήσεις εν υπάρχει γλώσσα υψηλού επιπέδου που να είναι καλή/κατάλληλη για όλες τις εφαρµογές Γι αυτό και υπάρχει πλειάδα γλώσσων υψηλού επιπέδου ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-32 16

Κώδικας σε C int main() { int day, month, year; /* diabase mera mhna kai xrono apo xrhsth */ printf("enter day month and year in arithmetic form: "); scanf("%d%d%d",&day,&month,&year); return 0; } ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-33 Ταξινοµήση Γλωσσών Προγρ. (2) Γλώσσα Χαµηλού Επιπέδου (low-level language) Κατανοητή µόνο από δεδοµένη κεντρική µονάδα επεξεργασίας Γλώσσα Μηχανής (machine language). Γλώσσα δυαδικών εντολών είναι η φυσική γλώσσα του επεξεργαστή (πολύ δύσκολη και περίπλοκη) Συµβολική Γλώσσα (assembly language). Χρήση µνηµονικών κωδικών που αντιστοιχούν σε εντολές της γλώσσας µηχανής (δυσκολο-διαβαστη) Οι γλώσσες χαµηλού επιπέδου επεξεργάζονται πιο γρήγορα από τον υπολογιστή, η συγγραφήόµως προγραµµάτων σε αυτές τις γλώσσες είναι πολύ δύσκολη ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-34 17

Κώδικας σε Συµβολική γλώσσα 0x4010b8 <main>: push %ebp 0x4010b9 <main+1>: mov %esp,%ebp 0x4010bb <main+3>: sub $0x10,%esp 0x4010be <main+6>: call 0x401280 < main> 0x4010c3 <main+11>: push $0x401080 0x4010c8 <main+16>: call 0x401290 <printf> 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 0x4010db <main+35>: push %eax 0x4010dc <main+36>: push $0x4010ae 0x4010e1 <main+41>: call 0x401288 <scanf> 0x4010e6 <main+46>: add $0x10,%esp 0x4010e9 <main+49>: xor %eax,%eax 0x4010eb <main+51>: jmp 0x4010f0 <main+56> 0x4010ed <main+53>: lea 0x0(%esi),%esi 0x4010f0 <main+56>: mov %ebp,%esp 0x4010f2 <main+58>: pop %ebp 0x4010f3 <main+59>: ret ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-35 Μεταγλωττιστής (compiler) Λογισµικό το οποίο µεταφράζει πρόγραµµαγραµµένο σε υψηλού επιπέδου γλώσσα σε γλώσσα µηχανής Βασίζεται στην σύνταξη και σηµασιολογία της γλώσσας Άλλοι µεταφραστές: ιερµηνέας (interpreter) basic και java (πιο αργός) Assembler µετατρέπει συµβολική γλώσσα σε γλώσσα µηχανής ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-36 18

Μεταγλωττισµός (Compilation) Πηγαίος κώδικαs Μεταγλωττιστής Κώδικας αντικει- µένου foo.c gcc foo.o Source code object code ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-37 Περίληψη Κοινωνία της Πληροφορίας Υλικό Είσοδος/Έξοδος Μνήµη Κεντρική µονάδα επεξεργασίας íκτυο/ ιαδíκτυο Λογισµικό Λειτουργικό Σύστηµα Γλώσσες Προγραµµατισµού Μεταγλωττιστής ΕΠΛ 131 Αρχές Προγραµµατισµού I 1-38 19