25/1/2000epl-1311 Αναδρομη:Υπολογιστές/Προγραμματισμός παντου παντουΥπολογιστες ειναι παντουπαντου Παρα παρα πολλες εφαρμογες Γιατί; –Αυτοματοποιηση –Απλοποιηση –Αποτελεσματικοτητα –Κοστος
25/1/2000epl-1312 (Ψηφιακοί)Υπολογιστές Ποτε? ~1940 ΕΝΙΑCΕΝΙΑC ηλεκτρονικοι (electronic), διακριτικοι (discrete) 0 ή 1 Γιατι? στρατιωτικούς σκοπους ( υπολογισμους ατομικη βομβα ) απογραφη πληθυσμου ( τελειωνε μετα τον επομενο ) 1960: εκατο υπολογιστες καθενας στοιχιζε δεκαδες εκατομμυρια λιρες 2000: δισεκατομμυρια υπολογιστες πλειστα στοιχιζουν μερικες 100δες λιρες
25/1/2000epl-1313 Προγραμματισμός 1960: γλωσσα μηχανης ή συμβολική γλωσσα. Ραγδαία Αναπτυξη Υποδομής Λογισμικού –Μεταγλωτιστες, Λειτουργικά Συστήματα 2000: γλωσσες ψηλου/χαμηλου επιπεδου, templates, visual, agents (coming)
25/1/2000epl : Κοινωνία Πληροφορικής Επανασταση Πληροφορικης: Διαδικτυο –τρομερη διευκολυνση στην προσβαση πληροφοριων Φασμα Αγορας Υπολογιστων (low to high end) –mobile, palmtop, embedded, personal computer(PC) –ψηλης αποδοσης PCs, workstations –servers (συχνα με πολλους υπολογιστες <32) –multiprocessors (32 με 200) –supercomputers, massively parallel (>1000)
25/1/2000epl : Κοινωνία Πληροφορικής Εφαρμογες –Προσβαση, Φυλαξη και Επεξεργασια Δεδομενων...εκατομμυρια δεδομενα/συναλλαγες (text ~10 15 bytes) – Προσομιωση/Simulations σχεδιασμος, λειτουργικοτητα, αποδοση, crash simulation (αεροπλανα, αυτοκινητα, υπολογιστες, εργα, αποστολες) –Εξυπνα Συστηματα: αυτοκινητα, ηλεκτρονικες συσκευες –Αναψυχη: παιγνιδια, virtual reality, οπτικοακουστικα
25/1/2000epl-1316 Ενάς Υπολογιστής Αποτελειται απο: –Σιδερικά ;) Υλικο (hardware) οθονη, πληκτρολογιο, ποντικι, μνημη, επεξεργαστη, modem, ethernet card, εκτυπωτες, δισκακι, σκληρος, CD, scanner –Προγραμματα/Λογισμικο (software) λειτουργικο συστημα, μεταγλωτιστης, επεξεργασιας δεδομενων (κειμενο, αριθμων, εικονας, ηχου) παιγνιδια (tetris)
25/1/2000epl-1317 Βασική Δομή Hardware Εισοδος input Εξοδος output Επεξεργασια processing Πληκτρολογιο Ποντικι Οθονη Εκτυπωτης Πρωτευουσα Μνημη Επεξεργαστης CD, δισκος (hard, floppy), modem Προσβαση σε Δευτερευουσα Μνημη, Δικτυο, Διαδυκτυο
25/1/2000epl-1318 Είσοδος/Εξόδος Χρησιμοποιειται για την εισαγωγη/εξαγωγη δεδομενων απο/στον χρηστη –Εισοδος επεξεργασια κειμενου (εκθεση, προγραμμα κτλ) διαταγες, δεδομενα σε προγραμμα –Εξοδος κατασταση προγραμματος αποτελεσμα προγραμματος (συμπ. λαθων)
25/1/2000epl-1319 Μνήμη Αποθηκευσης/Ανακτηση πληροφοριων προγραμματα και δεδομενα Αποτελείται από ένα σύνολο κυψελίδων – memory cells Καθε κυψελιδα εχει μοναδικη διευθυνση και περιεχομενο (διαταγες ή δεδομενα)
25/1/2000epl Μνήμη Διεύθυνση Περιεχόμενα … εοds err12 15.er3 0.,d% yiasou 123
25/1/2000epl Μνήμη Μοναδες μετρησης μνημης –bit - b0 ή 1 –byte -B 8 bits h –word4 bytes80ffaf45 h –doubleword2 words ή 8 bytes –KiloByte-KB 2 10 ή 1024 bytes –MegaByte-MB2 20 bytes –GigaByte-GB2 30 bytes
25/1/2000epl Ιεραρχία Μνήμης Μεγεθος, Ταχυτητα, Κοστος –Cache 16KB-64KB (SRAM) –2nd Level Cache 256KB-2ΜΒ(SRAM) –Main Memory32ΜΒ-1GB (DRAM) –Secondary Memory1GB-100GB (hard,CD) μεγαλη μικρη χαμηλη χαμηλο ψηληψηλο
25/1/2000epl Ταξινομήσεις Μνήμης Ισος χρονος προσβασης σε ολες τις κυψελιδες? ναι, μνημη τυχαια προσβασης (Random Access Memory- RAM), π.χ. πρωτευουσα μνημη οχι, π.χ. δευτερευουσα μνημη hard disk Τυπος Αναγνωσης μονο αναγνωσης (Read Only Memory-ROM) αναγνωσης και αποθηκευσης (τυπικα RAM)
25/1/2000epl Ταξινομήσεις Μνήμης Διαρκεια Αποθηκευσης μονιμη (non-volatile): μνήμη μόνο ανάγνωσης (ROM), CD- ROM, hard disk (μνημη αναγνωσης και αποθηκευσης) προσκαιρη (non-volatile): τυπικα RAM π.χ. cache, main memory (μνημη αναγνωσης και αποθηκευσης) Τεχνολογια: CMOS (ROM, RAM, SRAM, DRAM), Magnetic Disk (hard, floppy), Optic (CD-ROM)
25/1/2000epl Ιστορική καινοτομία της Μνημης Εννοια Αποθηκευμένου Προγράμματος (Stored Program Concept) (~1940): –Οι εντολές που αποτελούν το πρόγραμμα αποθηκεύονται στην πρωτεύουσα μνήμη πριν την εκτέλεση του προγράμματος Προηγουμενως ειχαμε μηχανες που ετρεχαν μονο ενα προγραμμα (calculator ΟΧΙ computer)
25/1/2000epl (Μικρο)Επεξεργαστης Κεντρικη Μοναδα Επεξεργασιας –microprocessor, up/μp, central processing unit, CPU –Συντονίζει/αποφασίζει όλες τις λειτουργίες του υπολογιστή εκτελώντας αριθμητικές και λογικές πράξεις σε δεδομένα. –Αποτελειται απο Μοναδα Ελεγχου (Control Unit), Αριθμητικη Μοναδα (ALU) και Kαταχωρητες (Registers)
25/1/2000epl Βασικη Λειτουργια CPU Κύκλος Προσκόμισης και Εκτέλεσης Εντολής (Fetch-Execute Cycle) K1=(4) (4)=K1 K1=K PC (Καταχωρητης Εντολης) Κ
25/1/2000epl Βασικη Λειτουργια CPU Κύκλος Προσκόμισης και Εκτέλεσης Εντολής (Fetch-Execute Cycle) K1=(4) (4)=K1 K1=K PC (Καταχωρητης Εντολης) Κ
25/1/2000epl Βασικη Λειτουργια CPU Κύκλος Προσκόμισης και Εκτέλεσης Εντολής (Fetch-Execute Cycle) K1=(4) (4)=K1 K1=K PC (Καταχωρητης Εντολης) Κ
25/1/2000epl Δίκτυο και Διαδίκτυο Τοπικο Δικτυο (Local Area Network) –υπολογιστες, disks, εκτυπωτες, scanners (π.χ. πακυ) Διαδικτυο (Wide Area Network) –ενωνει τοπικα δικτυα (internet) Κρισιμες Παραμετροι: –Ταχυτητα ενωσης (latency) και –Πληροφοριες/δευτερολεπτο (bandwidth)
25/1/2000epl Λογισμικό Υπολογιστή Πρόγραμμα είναι ένα σύνολο εντολών γραμμένα σε γλώσσα που κατανοήται από τον υπολογιστή
25/1/2000epl Επίπεδα Λογισμικού Λογισμικό Εφαρμογών ( Application Software ) Γλώσσες Υπολογιστή ( Computer Languages ) Λειτουργικό Σύστημα ( Operating System ) Υλικό ( Hardware)
25/1/2000epl Λειτουργικό Σύστημα(OS) Ελεγχει τη διεπαφή (interface) του χρηστη με το hardware του υπολογιστη Διαχειριζεται την κατανομη των πορων (resources) του υπολογιστη - π.χ. μνημη, cpu, I/O Π.χ. Unix, vms, ms-dos, windows, windows-nt
25/1/2000epl Γλωσσες Προγραμματισμου Καθε λογισμικο ειναι γραμμενο σε καποια γλωσσα προγραμματισμου Basic, Lisp, Pascal, FORTRAN, COBOL, PL1, ADA, Prolog, C, C++, Java, Assembly, Machine Laguage Ορισμος Γλωσσας: Σύνταξη (syntax): Κανόνες γραμματικής της γλώσσας. Σημασιολογία (context): Τι σημαίνουν οι προτάσεις της γλώσσας
25/1/2000epl Ταξινομήση Γλωσσών Προγρ. Γλώσσα Υψηλού Επιπέδου ( high-level language ) ανεξάρτητη υπολογιστή συνδυάζει αγγλικές λέξεις και συμβατούς μαθηματικούς συμβολισμούς (ευκολο-διαβαστη) προσανατολισμένη στην επίλυση συγκεκριμενου τομεα προβλημάτων, π.χ. FORTRAN μηχανικη και μαθηματικα, COBOL data processing και business Καμμια HLL γλωσσα καλη για ολες τις εφαρμογες
25/1/2000epl Ταξινομήση Γλωσσών Προγρ. Γλώσσα Χαμηλου Επιπέδου ( low-level language ) Κατανοητή μόνο από δεδομένη κεντρική μονάδα επεξεργασίας (διαφορετικες αρχιτεκτονικες) Γλώσσα Μηχανής (machine language). Γλώσσα δυαδικών εντολών Συμβολική Γλώσσα (assembly language). Χρήση μνημονικών κωδικών που αντιστοιχούν σε εντολές της γλώσσας μηχανής (δυσκολο-διαβαστη) Πιο γρηγορη (πιο λιγο overhead)
25/1/2000epl Μεταγλωτιστής (compiler) Λογισμικό το οποίο μεταφράζει πρόγραμμα υψηλού επιπέδου γλώσσα σε γλώσσα μηχανήςμεταφράζει Βασιζεται στην συνταξη και σημμασιολογια της γλωσσας Αλλοι μεταφραστες: Διερμηνεας (interpreter) basic και java(πιο αργος) Assembler μετατρεπει συμβολικη γλωσσα σε γλωσσα μηχανης
25/1/2000epl Compilation back Πηγαίος κώδικαs Κώδικας αντικει- μένου Μεταγλωττιστής foo.c foo.o Source code object code