προγραμματισμός ηλεκτρονικών υπολογιστών 1 ·...

57
Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1 Ενότητα 1: Εισαγωγικές έννοιες, Ιστορία Ηλεκτρονικών Υπολογιστών και Αριθμητικά Συστήματα Δρ. Φραγκούλης Γεώργιος Τμήμα Ηλεκτρολογίας

Transcript of προγραμματισμός ηλεκτρονικών υπολογιστών 1 ·...

Προγραμματισμός Ηλεκτρονικών Υπολογιστών 1

Ενότητα 1: Εισαγωγικές έννοιες, Ιστορία Ηλεκτρονικών Υπολογιστών και Αριθμητικά

Συστήματα Δρ. Φραγκούλης Γεώργιος

Τμήμα Ηλεκτρολογίας

Άδειες Χρήσης • Το παρόν εκπαιδευτικό υλικό υπόκειται σε

άδειες χρήσης Creative Commons. • Για εκπαιδευτικό υλικό, όπως εικόνες, που

υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς.

2

Χρηματοδότηση • Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια

του εκπαιδευτικού έργου του διδάσκοντα. • Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα στο TEI

Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού.

• Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.

3

Σκοποί ενότητας • Να ορίσουμε τι είναι υπολογιστικό σύστημα και να

απαριθμήσουμε τα στρώματά του. • Να περιγράψουμε την έννοια της αφαίρεσης στη μελέτη των

υπολογιστικών συστημάτων. • Να κάνουμε μια ιστορική αναδρομή στην εξέλιξη του υλικού

και του λογισμικού των υπολογιστών. • Να περιγράψουμε πώς μεταβλήθηκε ο ρόλος του χρήστη των

υπολογιστών. • Να εξηγήσουμε τη διαφορά: προγραμματιστές συστημάτων

σε σχέση με προγραμματιστές εφαρμογών. • Να διαχωρίσουμε τον υπολογισμό ως εργαλείο από τον

υπολογισμό ως πεδίο μελέτης.

4

Περιεχόμενα ενότητας

• Υπολογιστικό σύστημα και στρώματά του.

• Έννοια της αφαίρεσης.

• Ιστορική εξέλιξη λογισμικού και υλικού.

• Επεξεργαστής.

• Προγραμματιστές συστημάτων και προγραμματιστές εφαρμογών.

5

Υπολογιστικά συστήματα (1) Υπολογιστικό σύστημα:

• Ένα δυναμικό σύστημα.

• Χρησιμοποιείται στην επίλυση προβλημάτων.

• Αλληλεπιδρά με το περιβάλλον του:

- Δέχεται δεδομένα εισόδου.

- Παράγει δεδομένα εξόδου.

• Αποτελείται από υλικό και λογισμικό.

6

Υπολογιστικά συστήματα (2) • Υλικό: Τα ηλεκτρονικά, ηλεκτρικά, και μηχανικά μέρη του

υπολογιστικού συστήματος (π.χ., πληκτρολόγιο, ποντίκι, εκτυπωτής, καλώδια, πλακέτες κυκλωμάτων, επεξεργαστής, σκληρός δίσκος, κλπ.).

• Λογισμικό: ορίζεται ως το σύνολο των προγραμμάτων, τα οποία μπορούν να εκτελεσθούν από το υπολογιστικό σύστημα.

• Πρόγραμμα: Σειρά από εντολές (δηλ. οδηγίες) που πρέπει να ακολουθήσει το υπολογιστικό σύστημα για να εκτελέσει μια συγκεκριμένη εργασία.

Διάγραμμα 1: Υπολογιστικά συστήματα (Διδάσκων, 2015).

7

Υπολογιστικά συστήματα (3)

8

• Το λογισμικό του συστήματος (το μεγαλύτερο μέρος του οποίου είναι το λειτουργικό σύστημα) λειτουργεί ως σύνδεσμος ανάμεσα στο χρήστη και στο υλικό, με σκοπό τη διευκόλυνση του χρήστη και την αποδοτικότερη λειτουργία του υπολογιστικού συστήματος.

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

Υπολογιστικά συστήματα (4)

Διάγραμμα 2: Υπολογιστικά συστήματα (4) (Διδάσκων, 2015).

9

Πρόγραμμα

Διάγραμμα 3: Πρόγραμμα (Διδάσκων, 2015).

10

Υπολογιστικά συστήματα: Στρώματα

Διάγραμμα 4: Υπολογιστικά συστήματα: Στρώματα (Διδάσκων, 2015).

11

Ιεραρχική οργάνωση των υπολογιστικών συστημάτων

Διάγραμμα 5: Ιεραρχική οργάνωση των υπολογιστικών συστημάτων(Διδάσκων, 2015).

12

Αφαίρεση

13

Βασική έννοια που χρησιμοποιούμε στην παρουσίαση των στρωμάτων: η διανοητική διεργασία κατά την οποία

• αγνοούμε τις περίπλοκες λεπτομέρειες και

• διατηρούμε μόνο όσες πληροφορίες είναι απολύτως απαραίτητες για να επιτύχουμε τον στόχο μας.

Αφαίρεση: ένα παράδειγμα

14

Δεν χρειάζεται να γνωρίζουμε πως ακριβώς δουλεύει η μηχανή ενός αυτοκινήτου για να το οδηγήσουμε!

Αρκεί να γνωρίζουμε τα βασικά τού πώς αλληλεπιδρούμε με αυτό: πώς λειτουργεί το τιμόνι, πως αλλάζουμε ταχύτητα, ποιο πετάλι επιβραδύνει, ποιο επιταχύνει, κτλ.

Επίπεδα ιεραρχίας (1) Τα υπολογιστικά συστήματα χαρακτηρίζονται από πολυπλοκότητα και ιεραρχική οργάνωση.

Η πολυπλοκότητα των υπολογιστικών συστημάτων οφείλεται στο ότι αποτελούνται από πολλά μέρη, τα οποία αλληλεπιδρούν δυναμικά μεταξύ τους.

Η ιεραρχική οργάνωση των υπολογιστικών συστημάτων είναι απαραίτητη εξαιτίας της πολυπλοκότητας αυτής. Τα τμήματα του υπολογιστικού συστήματος κατανέμονται σε οργανωτικά «επίπεδα». Η λειτουργία κάθε επιπέδου στηρίζεται στη λειτουργία των χαμηλότερων επιπέδων, και με τη σειρά του κάθε επίπεδο βοηθά στη λειτουργία των ανωτέρων του επιπέδων. Κάθε ένα από τα επίπεδα μπορεί να σχεδιαστεί, να υλοποιηθεί, να μελετηθεί και να κατανοηθεί ανεξάρτητα από τα υπόλοιπα.

15

Επίπεδα ιεραρχίας (2)

16

Το επίπεδο 1, αυτό των πυλών (gates), είναι το χαμηλότερο επίπεδο στην ιεραρχία. Στο επίπεδο αυτό οι βασικές λειτουργίες επιτελούνται από στοιχειώδη λογικά κυκλώματα όπως καταχωρητές, μνήμες, ελεγκτές λογικών κυκλωμάτων κλπ. Στο επίπεδο 1 υπάρχουν οι βασικές δομικές μονάδες από τις οποίες συντίθεται ένα υπολογιστικό σύστημα και ονομάζονται λογικά κυκλώματα (logical circuits), δηλαδή οι λογικές πύλες, τα flip-flops, οι καταχωρητές κ.ά.

Το επίπεδο 2 αφορά τις στοιχειώδεις μικρολειτουργίες (microoperations) που επιτελούνται στο υπολογιστικό σύστημα (π.χ. μεταφορά πληροφοριών). Για την υλοποίηση των μικρολειτουργιών απαιτείται η ύπαρξη των βασικών κυκλωμάτων του επιπέδου 1.

Επίπεδα ιεραρχίας (3)

17

Το επίπεδο 3 αφορά τη διαδικασία της ανάκλησης από τη μνήμη και της εκτέλεσης εντολών γλώσσας μηχανής. Για τη διαδικασία αυτή χρησιμοποιούνται οι μικρολειτουργίες του επιπέδου 2.

Τα επίπεδα 4, 5 και 6 περιλαμβάνουν το λογισμικό, δηλαδή το λειτουργικό σύστημα, τις γλώσσες υψηλού επιπέδου και τα προγράμματα εφαρμογής, αντίστοιχα.

Επίπεδα ιεραρχίας (4)

Διάγραμμα 6: Επίπεδα ιεραρχίας 4 (Διδάσκων, 2015).

18

Ολοκληρωμένα κυκλώματα (1)

19

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

Τα στοιχεία αυτά σχηματίζουν ένα ολοκληρωμένο κύκλωμα (Integrated Circuit, IC). Η όλη κατασκευή τοποθετείται σε μεταλλική ή πλαστική συσκευασία που αποτελεί τη λεγόμενη ψηφίδα (chip). Η ψηφίδα επικοινωνεί με άλλα κυκλώματα με εξωτερικούς ακροδέκτες, τις ακίδες.

Ολοκληρωμένα κυκλώματα (2)

20

Τα στοιχεία των ηλεκτρονικών κυκλωμάτων που περιέχονται στις ψηφίδες συνδυάζονται για να σχηματίσουν πύλες (gates).

Μία πύλη δέχεται σαν είσοδο δύο ή περισσότερα ηλεκτρικά σήματα τα οποία κωδικοποιούν bits (π.χ. τα 5 Volt παριστάνουν το 1 και τα 0 Volt παριστάνουν το 0) και παράγει στην έξοδο ένα σήμα το οποίο είναι το αποτέλεσμα μίας «πράξης» μεταξύ των εισόδων της.

Κατηγορίες ολοκληρωμένων κυκλωμάτων

21

• Μικρής Κλίμακας Ολοκλήρωσης (Small Scale Integration, SSI). Αυτά περιέχουν λίγες (5-10) μεμονωμένες πύλες.

• Μέσης Κλίμακας Ολοκλήρωσης (Medium Scale Integration, MSI). Αυτά περιέχουν 10-100 πύλες κατάλληλα συνδεδεμένες, ώστε να σχηματίζουν ένα ψηφιακό κύκλωμα (όπως π.χ. έναν καταχωρητή ή μετρητή).

• Μεγάλης Κλίμακας Ολοκλήρωσης (Large Scale Integration, LSI), τα οποία περιέχουν περισσότερες από 100 πύλες μέχρι μερικές χιλιάδες πύλες (όπως οι απλοί μικροεπεξεργαστές).

• Πολύ Μεγάλης Κλίμακας Ολοκλήρωσης (Very Large Scale Integration, VLSI) που περιέχουν κυκλώματα τα οποία σχηματίζονται από πολλά εκατομμύρια πύλες (όπως οι σύγχρονοι μικροεπεξεργαστές).

Κατηγορίες υπολογιστικών συστημάτων (1)

22

Με βάση το μέγεθος, την ταχύτητα και την τιμή τους, τα υπολογιστικά συστήματα μπορούν να κατηγοριοποιηθούν ως εξής:

Οι προσωπικοί υπολογιστές (personal computers) χρησιμοποιούνται από ένα μόνο χρήστη και έχουν περιορισμένες υπολογιστικές δυνατότητες σε σχέση με άλλους υπολογιστές. Υπάρχουν διάφορες παραλλαγές τους (notebook, laptop, desktop, tower, workstations, network computer). Μια πιο ισχυρή από απόψεως δυνατοτήτων κατηγορία προσωπικών υπολογιστών είναι οι εξυπηρετητές (servers). Οι εξυπηρετητές χρησιμοποιούνται για να υποστηρίξουν ένα δίκτυο υπολογιστών που επιτρέπει την κοινή χρήση αρχείων, προγραμμάτων και υλικού όπως οι εκτυπωτές.

Οι μίνι-υπολογιστές (minicomputers) είναι πιο ισχυρά συστήματα που μπορούν να υποστηρίξουν ένα σύνολο χρηστών, οι οποίοι επιτελούν διαφορετικές εργασίες. Συνήθως χρησιμοποιούνται από εταιρείες και οργανισμούς για επεξεργασία πληροφοριών.

Κατηγορίες υπολογιστικών συστημάτων (2)

23

Οι μεγάλοι υπολογιστές (mainframes) αποτελούν ισχυρά συστήματα και μπορούν να υποστηρίξουν εκατοντάδες χρήστες «συγχρόνως». Απαιτούν συνήθως δαπανηρό περιβάλλον υποστήριξης, δηλαδή κλιματισμό, ειδικές αίθουσες κλπ.

Οι υπερυπολογιστές (supercomputers) είναι τα πλέον ισχυρά συστήματα και χρησιμοποιούνται κυρίως σε εξειδικευμένες, υπολογιστικά απαιτητικές, εφαρμογές, όπως π.χ. η μετεωρολογία , αμυντικές εφαρμογές κλπ.

Ιστορική αναδρομή (1) 2500 π.χ.: Εφευρίσκεται ο άβακας, η γνωστή συσκευή για την καταγραφή αριθμητικών τιμών (αριθμητήριο). Εικόνα 1: Άβακας (Ανακτήθηκε 10 Μαρτίου 2015)

24

Ιστορική αναδρομή (2)

Μηχανισμός Αντικυθύρων : Αναλογικός Υπολογιστής όπως παρουσίαζεται

στην παρακάτω εικόνα: Εικόνα 2: Μηχανισμός Αντικυθύρων

(Ανακτήθηκε 10 Μαρτίου 2015)

25

Ιστορική αναδρομή (3) • 1641 μ..: Ο Pascal εφευρίσκει την πρώτη μηχανή πρόσθεσης και αφαίρεσης. • Λίγο μετά: Ο Leibniz εφευρίσκει μηχανή πρόσθεσης, αφαίρεσης, πολλαπλασιασμού, και διαίρεσης.

Εικόνα 3: Μηχανή Leibniz (Ανακτήθηκε, 10 Μαρτίου 2015)

26

Ιστορική αναδρομή (4)

Τέλη 18ου αιώνα: ο Jacquard σχεδιάζει αργαλειό που χρησιμοποιεί διάτρητες κάρτες. Η πρώτη μηχανή που εφαρμόζει αποθήκευση και προγραμματισμό.

Εικόνα 4: Μηχανή Jacquard (Ανακτήθηκε, 10 Μαρτίου 2015)

27

Ιστορική αναδρομή (5)

1823: Ο Babbage σχεδιάζει τη διαφορική μηχανή, που λύνει πολυωνυμικές εξισώσεις. Αργότερα: Σχεδιάζει την αναλυτική μηχανή, με πολλά χαρακτηριστικά σύγχρονων υπολογιστών: μνήμη, χειριστή, εισόδους-εξόδους, προγραμματισμό με διάτρητες κάρτες. Εικόνα 5: Μηχανή Babbage (Ανακτήθηκε, 10 Μαρτίου 2015)

28

Ιστορική αναδρομή (6) 19ος αιώνας: Η Ada Augusta Byron εκδίδει μελέτη με οδηγίες για το πώς η μηχανή του Babbage μπορεί να προγραμματιστεί για να εκτελέσει εργασίες πέραν των αριθμητικών πράξεων (σύνθεση μουσικής). 1890: Ο Hollerith κατασκευάζει προγραμματιζόμενη μηχανή που διαβάζει, καταμετρά, και ταξινομεί δεδομένα αποθηκευμένα σε διάτρητες κάρτες. Η μηχανή χρησιμοποιείται στην απογραφή πληθυσμού των Η.Π.Α. Η εργασία οδηγεί στην ίδρυση της ΙΒΜ.

29

Ιστορική αναδρομή (7) Οι μαθηματικές βάσεις της σύγχρονης επιστήμης των υπολογιστών : • 1931 : Κουρτ Γκέντελ Το πιο διάσιμο θεώρημα μη-πληρότητας

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

• 1936: Ο Alan Turing ανακοινώνει ένα θεωρητικό μοντέλο ικανό να αναπαραστήσει κάθε υπολογιστική συσκευή. Πρόκειται για την λεγόμενη μηχανή Turing που αποτελεί από τότε το βασικό μαθηματικό εργαλείο μελέτης της ισχύος των υπολογιστών.

30

Παρένθεση

Τι είναι το Turing test? – Live example: http://alice.pandorabots.com

31

Ιστορική αναδρομή (8)

1939: Οι Atanasoff και Berry δημιουργούν στο Πανεπιστήμιο της Iowa τον ABC, τον πρώτο ψηφιακό ηλεκτρονικό υπολογιστή ειδικής χρήσης (επίλυση συστημάτων γραμμικών εξισώσεων). Εικόνα 6: Atanasoff και Berry υπολογιστής (Ανακτήθηκε, 10 Μαρτίου 2015)

32

Ιστορική αναδρομή (9) Β’ Παγκόσμιος Πόλεμος: Ο Turing κατασκευάζει τον ACE (Automatic Computer Engine) με δυνατότητα επεξεργασίας 25,000 χαρακτήρων/δευτερόλεπτο. 1946: Ολοκληρώνεται ο ENIAC, ο πρώτος ηλεκτρονικός υπολογιστής γενικής χρήσης. 30m μήκος 3m ύψος 30 τόνοι 18,000 λυχνίες Εικόνα 7:Yπολογιστής ΕΝΙΑC (Ανακτήθηκε, 10 Μαρτίου 2015)

33

Ιστορική αναδρομή (10)

34

1950 , Πανεπιστήμιο της Pennsylvania: Κατασκευάζεται ο EDVAC, o πρώτος υπολογιστής βασισμένος στην αρχιτεκτονική Eckert-von Neumann (η μνήμη περιέχει όχι μόνο δεδομένα, αλλά και προγράμματα).

Μοντέλο Von Neumann

35

Μοντέλο αρχιτεκτονικής υπολογιστή von Neumann

Ορίζει ότι το πρόγραμμα αποθηκεύεται στη μνήμη (όχι μόνο τα δεδομένα!)

Ακολουθιακή εκτέλεση εντολών

Έχει 4 υποσυστήματα:

• Μνήμη.

• Αριθμητική & λογική μονάδα (ΑΛΜ).

• Μονάδα ελέγχου.

• Είσοδο/ έξοδο.

Ιστορική αναδρομή (11)

36

1947: Ανακάλυψη του τρανζίστορ.

1959-1965: Εντυπωσιακή σμίκρυνση των Η/Υ και μείωση του κόστους τους.

1956-1975: Εμφάνιση ολοκληρωμένων κυκλωμάτων. Περαιτέρω μείωση κόστους και μεγέθους των Η/Υ.

Δεκαετία ‘70: Εμφάνιση υπολογιστών για χομπίστες. Εμφάνιση υπερ-υπολογιστών. O Seymour Cray σχεδιάζει τον CRAY-1, που κατασκευάζεται το 1976.

Δεκαετία ’80: Κατασκευή από την ΙΒΜ του πρώτου προσωπικού υπολογιστή (PC, Perconal Computer).

1981: Εμφανίζονται ιοί υπολογιστών.

Ιστορική αναδρομή (12)

37

1983: Η Apple εκδίδει τον ηλεκτρονικό υπολογιστή Lisa, που περιλαμβάνει γραφικό περιβάλλον επικοινωνίας ανθρώπου –υπολογιστή.

Ιστορική αναδρομή (13)

38

1989: Το Ευρωπαϊκό Κέντρο Πυρηνικών Ερευνών (CERN) ξεκινά την κατασκευή ενός πρωτοκόλλου για την ανταλλαγή εγγράφων μεταξύ υπολογιστών.

1989-1992: Εισάγεται το πρωτόκολλο http, που επιτρέπει την προσπέλαση εγγράφων με κείμενο και εικόνες από απομακρυσμένους υπολογιστές, ανεξαρτήτως κατασκευής και χρησιμοποιούμενου λογισμικού.

1994: Παγκόσμιος Ιστός (World Wide Web).

Υλικό 1ης γενιάς (1951-59)

39

• Ηλεκτρονική λυχνία: Μεγάλο μέγεθος, μικρή αξιοπιστία, πολλή θερμότητα.

• Μαγνητικό τύμπανο: Συσκευή μνήμης που περιστρέφονταν κάτω από κεφαλή ανάγνωσης/ εγγραφής.

• Μαγνητική ταινία: Σειριακή μνήμη.

Υλικό 2ης γενιάς (1959-65)

40

• Τρανζίστορ: Αντί λυχνίας. Ταχύτερο, μικρότερο, ανθεκτικότερο, φθηνότερο. Σε πίνακες κυκλωμάτων.

• Μαγνητικός πυρήνας: Αντί μαγνητικού τυμπάνου. Άμεση προσπέλαση δεδομένων.

• Μαγνητικός δίσκος: Αντί μαγνητικής ταινίας. Επίσης άμεση προσπέλαση δεδομένων.

Υλικό 3ης γενιάς (1965-71)

41

• Ολοκληρωμένα κυκλώματα: Αντί πινάκων κυκλωμάτων. Συμπαγή κομμάτια σιλικόνης. Μικρότερα, φθηνότερα, ταχύτερα, πιο αξιόπιστα.

• Τερματικά: Συσκευές εισόδου/εξόδου με πληκτρολόγιο και οθόνη.

Υλικό 4ης γενιάς (1971-σήμερα)

42

• Κυκλώματα μεγάλης ολοκλήρωσης (Large-scale integration, LSI) και πολύ μεγάλης ολοκλήρωσης (very large-scale integration, VLSI): Πρόοδος στη τεχνολογία του τσιπ (chip).

• Προσωπικοί υπολογιστές (Personal Computers, PC), εμπορική αγορά: Εταιρίες (π.χ., Apple, Atari, HP) κατασκευάζουν πλέον προσωπικούς υπολογιστές.

Πρόσφατο υλικό

43

• Έξυπνα Κινητά (Smartphones).

• Έξυπνες Ηλεκτρικές Συσκευές (Smart Appliances).

• Έξυπνες Προσωπικές Συσκευές (Smart Devices).

Νόμος του Moore • Κάθε 18 μήνες, η πυκνότητα των ολοκληρωμένων κυκλωμάτων διπλασιάζεται. • Gordon Moore (συνιδρυτής της εταιρείας Intel). Εικόνα 8: Νόμος του Moore (Ανακτήθηκε, 10 Μαρτίου 2015)

44

Παράλληλη επεξεργασία/δικτύωση

45

• Παράλληλος υπολογισμός: Πολλαπλοί επεξεργαστές αλληλεπιδρούν και συνεργάζονται για ταχύτερη επεξεργασία δεδομένων.

• Δικτύωση: Το ethernet επιτρέπει σε μικρούς υπολογιστές να συνδεθούν μεταξύ τους και να ανταλλάξουν δεδομένα.

δίκτυα υπολογιστών.

ARPANET + Τοπικά δίκτυα υπολογιστών Διαδίκτυο.

Λογισμικό 1ης γενιάς (1951-59)

46

Γλώσσα μηχανής: Τα προγράμματα γράφονται στη δυαδική γλώσσα, όπου τα πάντα εκφράζονται ως ακολουθίες από 0 και 1.

Γλώσσα assembly και μεταγλωττιστής assembly: Τα προγράμματα γράφονται σε τεχνητή γλώσσα ειδικών κωδικών. Έπειτα μεταγλωττίζονται σε γλώσσα μηχανής.

Οι προγραμματιστές αρχίζουν να διαχωρίζονται σε:

• προγραμματιστές συστημάτων και

• προγραμματιστές εφαρμογών.

Λογισμικό 2ης γενιάς (1959-65) • Γλώσσες υψηλού επιπέδου και μεταφραστές: • Τα προγράμματα γράφονται σε γλώσσα (π.χ., FORTRAN, COBOL,

LISP) που χρησιμοποιεί αγγλικές λέξεις/φράσεις. Έπειτα μεταφράζεται σε γλώσσα μηχανής.

Διάγραμμα 7: Λογισμικό 2ης γενιάς (Διδάσκων, 2015).

47

Λογισμικό 3ης γενιάς (1965-71) (1)

48

Ακόμη μεγαλύτερη διαφοροποίηση ανάμεσα σε:

Λογισμικό συστημάτων: Λογισμικό βασικών χρήσεων.

• Λειτουργικά συστήματα (αναλαμβάνουν τις πολύ βασικές λειτουργίες, π.χ. ποια προγράμματα θα εκτελεστούν και πότε, διαχείριση πολλών χρηστών).

• Μεταφραστές, μεταγλωττιστές, κλπ.

Λογισμικό εφαρμογών: Λογισμικό άλλων χρήσεων. Οι προγραμματιστές αρχίζουν να γράφουν προγράμματα που θα χρησιμοποιηθούν από μη προγραμματιστές. Απομάκρυνση του χρήστη από το υλικό.

Λογισμικό 3ης γενιάς (1965-71) (2)

Διάγραμμα 8: Λογισμικό 3ης γενιάς (Διδάσκων, 2015).

49

Λογισμικό 4ης γενιάς (1971-89)

50

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

Γλώσσες που τον υποστηρίζουν: Pascal, C, QuickBASIC,...

Ισχυρότερα λειτουργικά συστήματα:

UNIX, MS-DOS, γραφικό περιβάλλον στα Macintosh

Νέο λογισμικό εφαρμογών:

Λογιστικά φύλλα (Lotus)

Επεξεργαστές κειμένου (Word Perfect)

Συστήματα διαχείρισης βάσεων δεδομένων (dBASE)

Λογισμικό 5ης γενιάς (1990-σήμερα)

51

• Microsoft: Το λειτουργικό σύστημα Windows και άλλα προγράμματα εφαρμογών της εταιρίας Microsoft (π.χ., MS Excel, MS Word, MS Access) κυριαρχούν στην αγορά.

• Αντικειμενοστραφής σχεδιασμός: Βασίζεται σε ιεραρχία αντικειμένων. Γλώσσες που τον υποστηρίζουν: C++, Java.

• Παγκόσμιος Ιστός (World Wide Web): Διευκολύνει την παγκόσμια επικοινωνία μέσω του Διαδικτύου.

• Οι υπολογιστές χρησιμοποιούνται άνετα και από άτομα που δεν γνωρίζουν πληροφορική.

Οι υπολογιστές ως εργαλείο

Διάγραμμα 9: Οι υπολογιστές ως εργαλείο (Διδάσκων, 2015).

52

Οι υπολογιστές ως πεδίο μελέτης (1)

53

Ποιες εργασίες μπορούν να εκτελεστούν (γρήγορα) στον υπολογιστή;

Τέσσερα απαραίτητα προσόντα ενός «πληροφορικού»:

1. Αλγοριθμική σκέψη.

2. Γνώση μεθόδων αναπαράστασης δεδομένων.

3. Προγραμματιστική ικανότητα.

4. Σχεδιαστική ικανότητα.

Οι υπολογιστές ως πεδίο μελέτης (2)

54

Α. Περιοχές της πληροφορικής σχετικές με συστήματα:

• Αλγόριθμοι & δομές δεδομένων.

• Γλώσσες προγραμματισμού.

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

• Λειτουργικά συστήματα.

• Τεχνολογία & μεθοδολογία λογισμικού.

• Επικοινωνία ανθρώπου-υπολογιστή.

Οι υπολογιστές ως πεδίο μελέτης (3)

55

Β. Περιοχές της πληροφορικής σχετικές με εφαρμογές:

• Αριθμητικός & συμβολικός υπολογισμός.

• Βάσεις δεδομένων & ανάκτηση πληροφοριών.

• Τεχνητή νοημοσύνη & ρομποτική.

• Γραφικά υπολογιστών.

• Βιοπληροφορική.

Ερωτήσεις για σκέψη

56

• Επηρεάζει την καθημερινή σας ζωή το Διαδίκτυο; Πώς;

• Ποια κοινωνικά ζητήματα ανακύπτουν από τη διάδοση της χρήσης του Διαδικτύου;

• Τι είδους εξελίξεις προβλέπετε στο μέλλον λόγω του Διαδικτύου;

“I think there is a world market for maybe five computers.” ---Thomas Watson, πρόεδρος της IBM, 1943.

“There is no reason anyone would want a computer in their home.” ---Ken Olson, πρόεδρος της DEC, 1977.

Βιβλιογραφία • Forouzan, Β. Α. (2003). Εισαγωγή στην Επιστήμη των

Υπολογιστών, Εκδόσεις Κλειδάριθμος. • Tanenbaum, Α. S. (2013). Modern Operating Systems

(3rd Edition), Pearson. • Παπακωνσταντίνου, Γ., Τσανάκας, Π., Κοζύρης, Ν.,

Μανουσοπούλου, Α. και Ματζάκος,Π. (2004). Τεχνολογία Υπολογιστικών Συστημάτων και Λειτουργικά Συστήματα, ISBN 960-7251-25-3, Αθήνα.

• Πασπαλλής N. (2011). Εισαγωγή στην Επιστήμη της Πληροφορικής – Σημειώσεις μαθήματος. Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου.

57