Φροντιστήρια. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Εργαστήρια

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

Download "Φροντιστήρια. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Εργαστήρια"

Transcript

1 Φροντιστήρια Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Γιώργος Μυλωνάς Παρασκευή, 31 Οκτωβρίου, 2008 Αίθουσα Β3 2 ώρες την εβδοµάδα Παρασκευή 11:00-13:00, Β3 Θεωρία Απορίες - ιευκρινίσεις Προετοιµασία εξέτασης Ασκήσεις Απορίες - ιευκρινίσεις Απαντήσεις Πρακτική Γλώσσα προγραµµατισµού nesc Υλοποίηση αλγορίθµων στο περιβάλλον TinyOS Εκτέλεση στο περιβάλλον TOSSIM Εργαστήρια Απορίες Σχετικά µε το εργαστήριο 3 ώρες την εβδοµάδα Υπολογιστικό - ύο ϐάρδιες Τρίτη 15:00-18:00 Πέµπτη 15:00-18:00 4 σετ εργαστηρίων (αν προλάβουµε ;) 1-2 ϑέµατα Πρακτική Εκτέλεση αλγορίθµων στο περιβάλλον TOSSIM Υλοποίηση αλγορίθµων σε nesc Για κάθε ολοκληρωµένη παρακολούθηση bonus στον τελικό ϐαθµό Για οτιδήποτε χρειαστείτε ϑα µε ϐρείτε στο ΤΜΗΥΠ: Προκατ τµήµατος Καθηµερινά - µέχρι τις 5 το απόγευµα Τηλ Μέσω mylonasg@ceid.upatras.gr Χρήστος Κονίνης: koninis@ceid.upatras.gr

2 Ανάλυση συστηµάτων Μοντέρνα συστήµατα Μια ϐασική µέθοδος για την µελέτη ενός συστήµατος είναι η top-down προσέγγιση µε ιεραρχικό τρόπο. Αρχικά αφαιρούµε όλες τις τεχνικές λεπτοµέρειες και µελετάµε το σύστηµα σε υψηλό επίπεδο Στην συνέχεια, µελετάµε συγκεκριµένες παραµέτρους και τους τρόπους που επηρεάζουν την απόδοση του συστήµατος Επίπεδο προς επίπεδο ϐήµα, ϐήµα καταλήγουµε στο τελικό σύστηµα, στις πραγµατικές συνθήκες Αυτή η προσέγγιση οδηγεί σε καλά αποτελέσµατα για να οργανώσουµε ενα µεγάλο εύρος δοµών Οι ιεραρχικές, κεντρικοποιηµένες προσεγγίσεις έχουν οδηγήσει σε πολύ καλές λύσεις: τα σηµερινά συστήµατα π.χ. συστήµατα διαχείρισης δεδοµένων, κινητής τηλεφωνίας Οµως ο κόσµος γίνεται ολοένα και πιο πολύπλοκος. Είναι αδύνατο να αγνοήσουµε ότι πολλά µοντέρνα συστήµατα έχουν τελείως διαφορετική δοµή π.χ. η ευστάθεια και αποδοτικότητα των σύγχρονων πολιτικό-οικονοµικών συστηµάτων ϐασίζεται σε αποκεντρωτικούς, κατανεµηµένους µηχανισµούς που πρέπει να αυτό-οργανώνονται Το Internet είναι ένα γνήσιο παράδειγµα µιας αντίστοιχης προσέγγισης σε τεχνολογικό επίπεδο Ακόµα δεν µπορούµε να αντιληφθούµε πως να οργανώσουµε τεράστιες συλλογές συσκευών µε ετερογενείς δυνατότητες Πρόσφατα παρατηρείται µια στροφή από κεντρικοποιηµένα συστήµατα σε κατανεµηµένα δίκτυα που αυτο-οργανώνονται Κατανεµηµένα συστήµατα Θεωρητική Μελέτη Κατανεµηµένων συστηµάτων Ενα κατανεµηµένο σύστηµα: Αποτελείται από ένα πλήθος αυτόνοµων κόµβων που επικοινωνούν µεταξύ τους µε κάποιο τρόπο για την επίτευξη ενός συγκεκριµένου κοινού στόχου Μπορεί να χαρακτηρίζεται από πλήθος παραµέτρων Πλήθος περιπτώσεων που µπορεί να χρησιµοποιηθεί ένα τέτοιο σύστηµα Πλήθος απαιτήσεων λειτουργικότητας ανάλογα µε την εφαρµογή Η µελέτη των κατανεµηµένων συστηµάτων είναι ιδιαίτερα περίπλοκη διαδικασία. Η µελέτη ενός κατανεµηµένου συστήµατος σε ϑεωρητικό επίπεδο προϋποθέτει: Την µοντελοποίηση του συστήµατος αφαίρεση των τεχνικών λεπτοµερειών Αυτό προϋποθέτει ότι µπορούµε να αναγνωρίσουµε τα τεχνικά χαρακτηριστικά που έχουν κεντρική σηµασία Οσο πιο αφαιρετικό είναι το µοντέλο, τόσο γενικότερη είναι η µελέτη µας Ορισµός του προβλήµατος σύµφωνα µε το µοντέλο Σχεδιασµός αλγοριθµικών λύσεων Μελέτη της συµπεριφοράς του συστήµατος Απόδειξη ορθότητας Μέτρηση πολυπλοκότητας

3 Περιορισµοί Θεωρητικής Μελέτης Πειραµατική Μελέτη Κατανεµηµένων συστηµάτων Η µελέτη ενός κατανεµηµένου συστήµατος σε ϑεωρητικό επίπεδο προσφέρει ένα ϐασικό υπόβαθρο για την κατανόηση της συµπεριφοράς και την αυστηρή διατύπωση της απόδοσης του. Οµως εµπεριέχει κινδύνους: Η αφαίρεση ορισµένων τεχνικών λεπτοµερειών µπορεί να µας οδηγήσει σε µη ϱεαλιστικές / µη εφαρµόσιµες λύσεις Η µέτρηση της πολυπλοκότητας δεν υπολογίζει τις κρυφές σταθερές Μια λύση χειρότερης πολυπλοκότητας µπορεί στην πράξη να είναι καλύτερη Μερικές ϕορές είναι πολύ δύσκολο (και ίσως αδύνατο) να αναλυθεί η συµπεριφορά ενός συστήµατος µε ϑεωρητικά εργαλεία Μια διαφορετική προσέγγιση είναι η υλοποίηση συστηµάτων και η πειραµατική αξιολόγηση τους Υλοποίηση της λύσης σε πειραµατικό πλαίσιο π.χ. προσοµοιωτής, εργαστηριακές εγκαταστάσεις Μελέτη της συµπεριφοράς του συστήµατος σύµφωνα µε ελεγχόµενα σενάρια Μέτρηση της πραγµατικής απόδοσης του συστήµατος Αµεση επιβεβαίωση για την εφαρµοσιµότητα µιας λύσης στις πραγµατικές υφιστάµενες τεχνολογίες Τα αποτελέσµατα είναι µεταφέρσιµα στις πραγµατικές συσκευές ιττή Προσέγγιση Κύκλος Θεωρητικής και Πειραµατικής Προσέγγισης Η κάθε προσέγγιση έχει ϑετικά και αρνητικά σηµεία: Η Θεωρητική µελέτη προσφέρει λύσεις που είναι αποδείξιµα σωστές, αποδοτικές... που µπορεί να µην είναι εφαρµόσιµες ή πολύ δύσκολο να προγραµµατιστούν Η πρακτική µελέτη αντιµετωπίζει άµεσα τα τεχνολογικά ϑέµατα... που µπορεί να µην είναι καινοτόµες και αποδοτικές σε µεγάλα συστήµατα Για να είµαστε αποτελεσµατικοί πρέπει να ακολουθήσουµε διττή προσέγγιση.

4 Η πλατφόρµα που ϑα χρησιµοποιήσουµε στο εργαστήριο Αποτελείται από τρία ϐασικά µέρη: TinyOS: ϐιβλιοθήκη - λειτουργικό σύστηµα nesc: γλώσσα προγραµµατισµού TOSSIM: εξοµοιωτής Πλεονεκτήµατα: Σχετική ευκολία χρήσης οκιµασµένες λύσεις Υπάρχουσα τεκµηρίωση Εκδοση 1.1.x Λειτουργικό σύστηµα TinyOS Πολύ µικρό σε µέγεθος (και απαιτήσεις) Σχεδιασµένο ειδικά για συστήµατα µε λιγοστούς πόρους και προσανατολισµένο στην εξοικονόµηση ενέργειας (ασύρµατα δίκτυα αισθητήρων) Μπορεί να χρησιµοποιηθεί για τη ανάπτυξη κατανεµηµένων συστηµάτων (ειδικού) σκοπού Παρέχει ένα σύνολο από υπηρεσίες στο χρήστη (ασύρµατη και σειριακή επικοινωνία, χειρισµός interrupt, κτλ) Είναι περισσότερο µία ϐιβλιοθήκη, παρά ένα λειτουργικό σύστηµα (από µια άποψη) Open-source project, διαθέσιµο για Windows και Linux Στα Windows χρειάζεται το CygWin για να λειτουργήσει Είναι εγκατεστηµένο σε συγκεκριµένα µηχανήµατα στο υπολογιστικό κέντρο Γλώσσα προγραµµατισµού nesc Περιβάλλον εξοµοίωσης TOSSIM Το προγραµµατιστικό µοντέλο του TinyOS nesc = network embedded system C Βασίζεται στη C Τα αρχεία nesc έχουν την κατάληξη.nc Το TinyOS και οι ϐιβλιοθήκες του είναι γραµµένες κι αυτές σε nesc Η σύνταξή της διευκολύνει κάποιες λειτουργίες σε συστήµατα µε περιορισµένους πόρους Πολύ εύκολος τρόπος επικοινωνίας µεταξύ διεργασιών (που εκτελούνται σε διαφορετικές συσκευές) Μικρός κώδικας απλή διαχείριση µνήµης Ενας εξοµοιωτής για το TinyOS Επιτρέπει πειραµατική µελέτη κώδικα nesc στο PC σας Περιβάλλον σε γραµµή εντολών και σε γραφικό (παραθυρικό) περιβάλλον Αρκετά ευέλικτος, υπάρχουν αρκετά plugin που επεκτείνουν τη λειτουργικότητά του Προσφέρει εύκολο τρόπο για να ορίσουµε τοπολογίες δικτύων Μπορούµε να µελετήσουµε σφάλµατα επικοινωνίας και σφάλµατα τερµατισµού

5 Γενικά Θέµατα Προγραµµατισµού στην nesc (1) Βασίζεται στην C εµπλουτισµένη µε ορισµένα στοιχεία αντικειµενοστραφούς προγραµµατισµού Χρησιµοποιεί το µοντέλο των Interface (ϐλ. JAVA) Αντί για αντικείµενα έχει Components Ολες οι τοπικές µεταβλητές είναι αυστηρά private Η διασύνδεση µε άλλα Components γίνεται αυστηρά µέσω Interfaces εν προσφέρει καθολικό χώρο ονοµάτων Βασίζεται στην ιδέα της συνδεσµολογίας των Components ιαχωρισµός υλοποίησης και διασύνδεσης Μια προσέγγιση µε στόχο την επεκτασιµότητα και προσαρµοστικότητα του κώδικα Γενικά Θέµατα Προγραµµατισµού στην nesc (2) Εισαγωγή στα Components Οταν γίνεται η µεταγλώττιση του κώδικα, η διασύνδεση µεταξύ των component γίνεται στατικά. Ενα component δεν µπορεί να έχει (απ ευθείας) πρόσβαση σε µεταβλητή σε άλλο component Ενα component δηλώνει τις λειτουργίες που µπορεί να εκτελέσει ΚΑΙ τις λειτουργίες άλλων component που ϑέλει να καλέσει, όταν γράφουµε τον κώδικα 3 λόγοι γι αυτό: 1. Αποδοτική υλοποίηση 2. Η λειτουργία των software components να µοιάζει µε αυτή των hardware components. 3. Επαναχρησιµοποίηση κώδικα Ενα µέρος της δυσκολίας στη nesc έγκειται στον τρόπο που γίνεται η διασύνδεση µεταξύ components Μπορούµε να δούµε κάθε component σαν ένα µαύρο κουτί Καθορίζει τις εισόδους και τις εξόδους του, δηλώνοντας ότι χρησιµοποιεί ένα interface και ότι παρέχει κάποιο άλλο interface Ενα component µπορεί να παρέχει και να χρησιµοποιεί πολλά interface. Οταν ένα component χρησιµοποιεί κάποιο interface, το κάνει για να έχει πρόσβαση στη λειτουργικότητα κάποιου άλλου component Οταν ένα component παρέχει κάποιο interface, δηλώνει τον τρόπο που τα υπόλοιπα component µπορούν να το χρησιµοποιήσουν

6 Η οµή των Προγραµµάτων / Εφαρµογών Παράδειγµα Εφαρµογής (1) Το component LCR υλοποιεί έναν αλγόριθµο εκλογής αρχηγού. Μια εφαρµογή χωρίζεται σε δύο µέρη: Modules: Τα component που υλοποιούµε τις λειτουργίες του συστήµατος. Κάθε module ορίζει τα interface χρησιµοποιεί και παρέχει και κατόπιν υλοποιεί τις λειτουργίες. Configurations: Ορίζουν τη διασύνδεση των component που χρησιµοποιεί µια εφαρµογή. Οι εφαρµογές που ϑα αναπτύξουµε ϑα έχουν πολλά modules αλλά µόνο ένα configuration. Χρησιµοποιεί τα interface SendMsg και ReceiveMsg για την ανταλλαγή µηνυµάτων Το αρχείο LCR.nc περιέχει το module LCR 1. Ορίζει τα interface που χρησιµοποιεί 2. Υλοποιεί το component LCR Για να λειτουργήσει πρέπει να διασυνδεθεί µε το component GenericComm Το αρχείο MyApp.nc περιγράφει το configuration MyApp 1. ηλώνει την χρήση των component LCRM και GenericComm 2. Συνδέει τα interface SendMsg και ReceiveMsg που προσφέρει το GenericComm µε αυτά που χρησιµοποιεί το LCR Παράδειγµα Εφαρµογής (2) Παράδειγµα Εφαρµογής (3) LCR.nc module LCR{ provides { interface LeaderElection; uses { interface SendMsg; interface ReceiveMsg; implementation { //... MyApp.nc configuration MyApp { implementation { components LCR, GenericComm; LCR.SendMsg -> GenericComm.SendMsg; LCR.ReceiveMsg -> GenericComm.ReceiveMsg;

7 Εισαγωγή στα Interfaces (1) Εισαγωγή στα Interfaces (2) Τα interface παρέχουν δύο µηχανισµούς: command και event Command: ένα component που ϑέλει να χρησιµοποιήσει τις λειτουργίες ενός άλλου, πρέπει να χρησιµοποιήσει ένα command από αυτά που προσφέρει το interface στην ουσία πρόκειται για παραδοσιακές συναρτήσεις Event: ένα καλούµενο component όταν ολοκληρώσει την εργασία που του έχει ανατεθεί ϑα στείλει το αντίστοιχο event στο component που το έχει καλέσει γνωστά και ως call back Commands και Events χρησιµοποιούνται σε διαφορετικές χρονικές στιγµές Σε ένα component που το προσφέρει ένα interface το command είναι σηµείο εισόδου και το event είναι σηµείο εξόδου... σε ένα component που χρησιµοποιεί ένα interface το command είναι σηµείο εξόδου και το event είναι σηµείο εισόδου Ανάλογα µε το αν παρέχουν ή χρησιµοποιούν το interface, τα component πρέπει να προσφέρουν την υλοποίηση των αντίστοιχων command ή event Το component που προσφέρει ένα interface πρέπει να υλοποιεί όλα τα command Το component που χρησιµοποιεί ένα interface πρέπει να υλοποιεί όλα τους διαχειριστές των event Παράδειγµα Interface (1) Παράδειγµα Interface (2) Ενα πολύ ϐασικό interface είναι το StdControl Χρησιµοποιείται για να αρχικοποιήσει, να εκκινήσει ή να σταµατήσει ένα component Ορίζει 3 command δεν προσφέρει καµία έξοδο (event) Η λειτουργία του κώδικά µας ξεκινά από την αρχικοποίηση ενός component που ονοµάζεται Main StdControl.nc interface StdControl { command result_t init(); command result_t start(); command result_t stop(); Μπορούµε να σκεφτούµε τα event ως µια µορφή interrupt, αφού είπαµε ότι τα software µοιάζουν στη λειτουργία τους µε τα hardware components... ή ως ένα signal (ϐλ. POSIX) Για κάθε event πρέπει να υλοποιήσουµε ένα διαχειριστή (event handler) ReceiveMsg.nc interface ReceiveMsg { event TOS_MsgPtr receive(tos_msgptr m);

8 Παράδειγµα Interface (3) Γενικά, µπορούµε να ϕανταστούµε πώς υπάρχει µια ϱοή ελέγχου από τα ανώτερα component προς τα κατώτερα Οσο πάµε πιο κάτω πλησιάζουµε πιο πολύ στο TinyOS Οταν καλούµε µια εντολή µπορούµε να ϑεωρήσουµε ότι πάµε πιο κάτω, ενώ όταν µας επιστρέφεται ένα event πάµε προς τα πάνω. SendMsg.nc interface SendMsg { command result_t send(uint16_t address, uint8_t length, TOS_MsgPtr msg); event result_t senddone(tos_msgptr msg, result_t success); Παράδειγµα Interface (4) LeaderElection.nc interface LeaderElection { command result_t init(uint16_t deviceid); async command result_t elect(); event result_t electdone(uint16_t leaderid, uint8_t isleader); command uint8_t getstatus(); command uint16_t getleaderid(); Παράδειγµα Εφαρµογής Επικοινωνία στο TinyOS µε Active Messages Μια πολύ απλή εφαρµογή Εχουµε ένα πλήρες δίκτυο Οι συσκευές διατηρούν έναν αριθµό (είσοδος από κάποιο component ) Θέλουµε να υπολογίσουν το άθροισµα όλων των αριθµών Η επικοινωνία στο TinyOS γίνεται ασύρµατα Ο τρόπος που χειριζόµαστε το ασύρµατο µέσο (στο εργαστήριο) δεν δηµιουργεί ουσιαστικές ασυµβατότητες µε το ϑεωρητικό µοντέλο Χρησιµοποιούνται 3 component : Main, GenericComm, Sum Τα Active Messages είναι ένας µηχανισµός για επικοινωνία παράλληλων και κατανεµηµένων συστηµάτων, ο οποίος ϐασίζεται στην ανταλλαγή µηνυµάτων Τα Active Messages επελέγησαν ως τρόπος επικοινωνίας µεταξύ κόµβων που τρέχουν TinyOS Μέσω του µηχανισµού αυτού µπορούµε να υλοποιήσουµε διάφορους αλγόριθµους για κατανεµηµένα συστήµατα που ϑα δούµε στο µάθηµα Κάθε µήνυµα αποτελείτε από ένα header και ένα µέρος data Ο header του περιέχει τον αριθµό ενός handler, ο οποίος καλείται από το σύστηµα για να διαχειριστεί το µήνυµα Μοιάζει µε τον αριθµό στα TCP port, π.χ. 80 για το http

9 Active Message Handlers Ταυτότητες διεργασιών και ειδικές διευθύνσεις Ο προγραµµατιστής καθορίζει τον αριθµό του AM handler, υποθέτουµε ότι όλοι οι κόµβοι ξέρουν πώς να χειριστούν τον αριθµό αυτό Στο πρόγραµµά µας καθορίζουµε ποιο κοµµάτι του κώδικα αναλαµβάνει να επεξεργαστεί το µήνυµα µε ΑΜ αριθµό Χ Οταν ϕτάσει ένα µήνυµα µε αριθµό ΑΜ 25, το component GenericComm καλεί προς εκτέλεση τον αντίστοιχο κώδικα ιαβάζουµε τα data του µηνύµατος, κάνουµε επεξεργασία και αν χρειάζεται στέλνουµε µήνυµα (προφανώς ανάλογα µε τον αλγόριθµο) Πάνω σε αυτή τη λογική µπορούµε να χτίσουµε τον κατανεµηµένο αλγόριθµό µας Κάθε κόµβος του συστήµατος έχει µια ταυτότητα (την αναθέτουµε εµείς) Η επικοινωνία µε τους άλλους κόµβους γίνεται µε τη χρήση του αριθµού αυτού Υπάρχουν και µερικές ειδικές διευθύνσεις που µπορούµε να χρησιµοποιήσουµε: 1. Broadcast διεύθυνση, µετάδοση προς όλους τους κόµβους που ϐρίσκονται στην εµβέλεια µετάδοσής µας 2. Serial port διεύθυνση, προς τη σειριακή ϑύρα του κόµβου Προσοχή: πρέπει να υπάρχει κάποιο πρωτόκολλο δροµολόγησης για multihop επικοινωνία, αλλιώς µιλάµε για 1-hop επικοινωνία (όπως στην ϑεωρία) Λογική αποστολής και λήψης µηνυµάτων Ορισµός Μηνύµατος Αποστολέας: 1. Εχουµε δεσµεύσει ένα buffer, τον οποίο χρησιµοποιούµε για να αποθηκεύσουµε τα δεδοµένα που ϑα στείλουµε 2. Αποφασίζουµε ποιον AM handler χρησιµοποιούµε (το port του άλλου κόµβου στο οποίο ϑα πάει το µήνυµα) 3. Στέλνουµε το µήνυµα Παραλήπτης: Sum.h typedef struct SumMsg { uint16_t value; SumMsg; 1. Λαµβάνει το µήνυµα και διαβάζει τον AM handler 2. Καλεί το αντίστοιχο κοµµάτι του κώδικα για να χειριστεί το µήνυµα

10 Sum.nc module Sum { provides { interface StdControl; uses { interface SendMsg; interface ReceiveMsg; implementation { u_int16 m_value = ###; u_int16 m_sum = 0; TOS_Msg m_msg; Sum.nc command result_t StdControl.start() { SumMsg * msg = (SumMsg *) m_msg.data; msg->value = m_value; m_sum += m_value; dbg(dbg_temp, "Node %d -- value %d\n", TOS_LOCAL_ADDRESS, m_value); call SendMsg.send(TOS_BCAST_ADDR, sizeof(summsg), &m_msg); Sum.nc Sum.nc event result_t SendMsg.sendDone(TOS_MsgPtr msg, bool success) { dbg(dbg_temp, "Node %d -- value sent\n", TOS_LOCAL_ADDRESS); return SUCCESS; event TOS_MsgPtr ReceivMsg.receive( TOS_MsgPtr recv_packet) { SumMsg * msg = (SumMsg *) recv_packet->data; dbg(dbg_temp, "Node %d -- rcvd value %d\n", TOS_LOCAL_ADDRESS, msg->value); m_sum += msg->value; return SUCCESS; command result_t StdControl.stop() { dbg(dbg_temp, "Node %d -- tot value %d\n", TOS_LOCAL_ADDRESS, m_sum);

11 ιασύνδεση Το περιβάλλον που ϑα χρησιµοποιήσουµε MyApp.nc includes Sum; configuration MyApp { implementation { components Main, GenericComm as Comm, Sum; Main.StdControl -> Sum.StdControl; Main.StdControl -> Comm; Το TinyOS είναι διαθέσιµο για Windows και Linux Το περιβάλλον που ϑα χρησιµοποιήσουµε περιλαµβάνει: τις ϐιβλιοθήκες του TinyOS ενα µεταγλωττιστή (ncc) για κώδικα nesc, ο οποίος ϐγάζει εκτελέσιµο κώδικα για διάφορες πλατφόρµες διάφορα εργαλεία για την ανάπτυξη εφαρµογών TinyOS και άλλα πολλά... :) Sum.SendMsg -> Comm.SendMsg[11]; Sum.ReceiveMsg -> Comm.ReceiveMsg[11]; Το περιβάλλον Cygwin οµή ϕακέλων της εγκατάστασης του TinyOS (2) Το Cygwin µας παρέχει σε Windows ένα περιβάλλον παρόµοιο µε ένα Unix σύστηµα. Βασίζεται σε µια ϐιβλιοθήκη που µεταφράζει POSIX system calls σε win32 system calls, και υπάρχουν διαθέσιµες εφαρµογές που ϐρίσκουµε σε Unix συστήµατα (π.χ. υπάρχει bash shell, gcc, κτλ) Apps: στο ϕάκελο αυτό περιέχονται διάφορες έτοιµες εφαρµογές (οι περισσότερες είναι για ασύρµατα δίκτυα αισθητήρων) Doc: εδώ ϐρίσκονται κάποια (χρήσιµα) tutorial για το σύστηµα, specifications,διαγράµµατα εφαρµογών, κ.α. Tools: εδώ ϐρίσκουµε χρήσιµα εργαλεία για την ανάπτυξη εφαρµογών (συνήθως σε Java) TOS: στο ϕάκελο αυτό ϐρίσκουµε τις ϐιβλιοθήκες του TinyOS, τους ορισµούς των interfaces, drivers για διάφορες πλατφόρµες, κτλ.

12 Ενδεδειγµένη επιλογή εγκατάστασης Ενδεδειγµένη επιλογή εγκατάστασης (2) Μέσω virtualization... Xubuntos = Xubuntu + TinyOS Live CD - toilers.mines.edu/public/xubuntos VMWare TinyOS image - docs.tinyos.net/index.php/getting_started Οπότε... Κατεβάζετε το VMWare Player (δωρεάν) Κατεβάζετε το virtual machine image (π.χ. για το TinyOS 2.1) Ακολουθείτε τις οδηγίες για να ϱυθµίσετε ποια έκδοση του TinyOS ϑα χρησιµοποιείτε

Χειµερινό Εξάµηνο

Χειµερινό Εξάµηνο Κατανεµηµένα Συστήµατα Ι Χειµερινό Εξάµηνο 2008-2009 Περίληψη Ο στόχος του εργαστηρίου είναι η υλοποίηση κατανεµηµένων αλγόριθµων εκλογής αρχηγού µε την γλώσσα προγραµµατισµού nesc και την χρήση Active

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

Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Βασικοί Ορισµοί

Γενικά. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Βασικοί Ορισµοί Γενικά Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 24 Σεπτεµβρίου, 2012 Αίθουσα Β3 Σκοπός του µαθήµατος: Κατανόηση

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

Χειµερινό Εξάµηνο

Χειµερινό Εξάµηνο Κατανεµηµένα Συστήµατα Ι Χειµερινό Εξάµηνο 2007-2008 Περίληψη Ο στόχος του εργαστηρίου είναι η υλοποίηση κατανεµηµένων αλγόριθµων κατασκευής επικαλυπτικών δένδρων µε την γλώσσα προγραµµατισµού nesc και

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

Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Ποιος είναι ο σκοπός του εργαστηρίου

Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Ποιος είναι ο σκοπός του εργαστηρίου Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Γιώργος Μυλωνάς Παρασκευή, 7 Νοεµβρίου 2008 Αίθουσα Β3 Προηγούµενο ϕροντιστήριο Tasks: get the job

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

Χειµερινό Εξάµηνο

Χειµερινό Εξάµηνο Κατανεµηµένα Συστήµατα Ι Χειµερινό Εξάµηνο 2007-2008 Περίληψη Ο στόχος του εργαστηρίου είναι η υλοποίηση κατανεµηµένων αλγόριθµων συναίνεσης µε την γλώσσα προγραµµατισµού nesc και την χρήση Active Messages

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

Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 12 Ιανουαρίου, 2009 Αίθουσα Β3 Κατανεµηµένα Συστήµατα Ι ΤΜΗΥΠ/ΠΠ, Τρίτη

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

Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN

Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN Έρευνα στα Ασύρματα Δίκτυα Αισθητήρων WSN Σημεία παρουσίασης 1. Ασύρματα Δίκτυα 2. TinyOS 3. nesc 4. Εφαρμογή (Παρατήρηση υγρασίας) 1. Ασύρματα δίκτυα αισθητήρων 1. Ασύρματα δίκτυα αισθητήρων Ορισμός «Ένα

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

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Λεπτοµέρειες υλοποίησης αλγορίθµων

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Λεπτοµέρειες υλοποίησης αλγορίθµων Επισκόπηση Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Χρήστος Κονίνης Ορέστης Ακριβόπουλος Example Τρίτη, 9 Νοεµβρίου 2010 Υπολογιστικό 1. Αποφασίζουµε

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

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Simulation Commands

Επισκόπηση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Simulation Commands Επισκόπηση Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Χρήστος Κονίνης Ορέστης Ακριβόπουλος Τρίτη, 2 Νοεµβρίου 2010 Υπολογιστικό Examples Πώς

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

Αλγόριθµοι Κατασκευής Επικαλυπτικού ένδρου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Αλγόριθµοι Κατασκευής Επικαλυπτικού ένδρου. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Αλγόριθµοι Κατασκευής Επικαλυπτικού ένδρου Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης Πέµπτη, 22 Νοεµβρίου, 2007 Αίθουσα

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

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

Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ Κεφάλαιο 7 : Είδη, Τεχνικές, και Περιβάλλοντα Προγραµµατισµού ( Απαντήσεις & Λύσεις Βιβλίου) 1. Σκοποί κεφαλαίου Κύκλος ανάπτυξης προγράµµατος Κατηγορίες γλωσσών προγραµµατισµού

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 4. Προθεσµία: 8/1/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 4 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 Προθεσµία: 8/1/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

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

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112

Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Σχολή Προγραµµατιστών Ηλεκτρονικών Υπολογιστών (ΣΠΗΥ) Τµήµα Προγραµµατιστών Σειρά 112 Πλωτάρχης Γ. ΚΑΤΣΗΣ ΠΝ Γιατί χρησιµοποιούµε δίκτυα? Δίκτυο Σύνολο Η/Υ και συσκευών Συνδεδεµένα µε κάποιο µέσο Stand-alone

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

Μοντέλα. χαρακτηριστικά χωρίς να συνοδεύεται από λεπτοµέρειες.

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

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

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

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

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

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

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1

Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα. Προγραμματισμός II 1 Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα Προγραμματισμός II 1 lalis@inf.uth.gr Χρήση λογισμικού που ήδη υπάρχει Τα πολύπλοκα συστήματα αναπτύσσονται σταδιακά, «χτίζοντας» πάνω σε υπάρχουσα λειτουργικότητα

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

ΑΣΚΗΣΗ 5 η Η σειριακή επικοινωνία ΙΙ 1.1 ΣΚΟΠΟΣ Σκοπός της άσκησης αυτής είναι η κατανόηση σε βάθος των λειτουργιών που παρέχονται από το περιβάλλον LabView για τον χειρισµό της σειριακής επικοινωνίας

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

Ο έλεγχος στο επίπεδο συστήµατος επικοινωνιών εξασφαλίζει ότι έχουµε µεταφορά στο δίκτυο χωρίς λάθη.

Ο έλεγχος στο επίπεδο συστήµατος επικοινωνιών εξασφαλίζει ότι έχουµε µεταφορά στο δίκτυο χωρίς λάθη. Overview Το end-to-end argument υποστηρίζει ότι κάποιες από τις λειτουργίες που επιτελούνται κατά την διάρκεια µιας επικοινωνίας µεταξύ συστηµάτων θα πρέπει να µην υλοποιούνται σε χαµηλό επίπεδο (επίπεδο

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

υναµικές οµές εδοµένων

υναµικές οµές εδοµένων υναµικές οµές εδοµένων Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: υναµικές οµές εδοµένων Γενικά υναµική έσµευση Μνήµης οµή τύπου structure αυτοαναφορικές δοµές Η δήλωση typedef στη C Αναπαράσταση

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview Εργαστήριο Λειτουργικών Συστημάτων Minix Overview Σύνοψη 5ης ιάλεξης Λειτουργικό Σύστημα Minix Οργάνωση του Λειτουργικού Συστήματος Οργάνωση πηγαίου κώδικα Minix recompilation Σύνοψη Μαθήματος Σύνοψη Μαθήματος

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

Επιµέλεια Θοδωρής Πιερράτος

Επιµέλεια Θοδωρής Πιερράτος Εισαγωγή στον προγραµµατισµό Η έννοια του προγράµµατος Ο προγραµµατισµός ασχολείται µε τη δηµιουργία του προγράµµατος, δηλαδή του συνόλου εντολών που πρέπει να δοθούν στον υπολογιστή ώστε να υλοποιηθεί

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

Α. Ερωτήσεις Ανάπτυξης

Α. Ερωτήσεις Ανάπτυξης οµηµένος Προγραµµατισµός-Κεφάλαιο 7 Σελίδα 1 α ό 10 ΕΝΟΤΗΤΑ ΙΙΙ (ΠΡΟΓΡΑΜΜΑΤΑ) ΚΕΦΑΛΑΙΟ 7: Είδη, Τεχνικές και Περιβάλλοντα Προγραµµατισµού Α. Ερωτήσεις Ανάπτυξης 1. Τι ονοµάζουµε γλώσσα προγραµµατισµού;

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

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή

Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ. Ασκήσεις 1-2 Εισαγωγή Τ.Ε.Ι. ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΙΑΣ ΒΙΟΜΗΧΑΝΙΚΟΙ ΑΥΤΟΜΑΤΙΣΜΟΙ Εφαρµογές Προγραµµατιζόµενων Λογικών Ελεγκτών-Εργαστήριο Εργαστηριακός Συνεργάτης: Βέλλος Κων/νος Ασκήσεις 1-2 Εισαγωγή

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις.

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Ιστοσελίδα του µαθήµατος. Περιεχόµενα. ηµήτριος Κατσαρός, Ph.D. Κλάσεις. 1 Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος 2 http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα

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

Απαντήσεις. Απάντηση. Απάντηση

Απαντήσεις. Απάντηση. Απάντηση 6 η σειρά ασκήσεων Άλκης Γεωργόπουλος Α.Μ. 39 Αναστάσιος Κοντογιώργης Α.Μ. 43 Άσκηση 1. Απαντήσεις Η αλλαγή ενός ρολογιού προς τα πίσω µπορεί να προκαλέσει ανεπιθύµητη συµπεριφορά σε κάποια προγράµµατα.

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

Προγραµµατισµός Ι (ΗΥ120)

Προγραµµατισµός Ι (ΗΥ120) Προγραµµατισµός Ι (ΗΥ120) Διάλεξη 1: Εισαγωγή ΑΝΑΚΟΙΝΩΣΗ 2 Το αυριανό µάθηµα θα πραγµατοποιηθεί στο αµφιθέατρο Σαράτση Ποιος είµαι εγώ! 3 Ναύπλιο, 4/1976-9/1993 Πάτρα, 9/1993-6/2004 Williamsburg, VA, USA,

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

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

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

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

(programming interfaceή/και application programming interface API).

(programming interfaceή/και application programming interface API). Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 21: Μεταγλώττιση και σύνδεση πολλαπλών αρχείων κώδικα - Βιβλιοθήκες Επαναχρησιµοποίηση κώδικα Μεγάλο «στοίχηµα» στην βιοµηχανία λογισµικού. Ιδανικά, δεν χρειάζεται να ξαναγράψουµε

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

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

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

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

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

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο

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

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5

Περιεχόµενα. 1 Εισαγωγή στις οµές εδοµένων 3. 2 Στοίβα (Stack) 5 Περιεχόµενα 1 Εισαγωγή στις οµές εδοµένων 3 2 Στοίβα (Stack) 5 i ΠΕΡΙΕΧΟΜΕΝΑ ΠΕΡΙΕΧΟΜΕΝΑ ii Πληροφορίες Εργαστηρίου Σκοπός του εργαστηρίου Το εργαστήριο οµές εδοµένων αποσκοπεί στην εφαρµογή των τεχνολογιών

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

2.1 Αντικειµενοστρεφής προγραµµατισµός 2.1 Αντικειµενοστρεφής προγραµµατισµός Στον αντικειµενοστρεφή προγραµµατισµό (object oriented programming, OOP) ένα πρόγραµµα υπολογιστή είναι ένα σύνολο αλληλεπιδρώντων αντικειµένων. Μπορεί να ειπωθεί

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

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)

CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας) Γενικά CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας) Το cygwin είναι ένα περιβάλλον προσοµοίωσης του UNIX/Linux στα Windows. Παρέχει στον χρήστη την δυνατότητα να δηµιουργεί προγράµµατα κάνοντας χρήση

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 18/12/12, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2012-2013 Προθεσµία: 18/12/12, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Διαδικαστικά Η εργασία

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

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης

H ΓΛΩΣΣΑ C. Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C. ηµήτρης Ψούνης H ΓΛΩΣΣΑ C Μάθηµα 1: Το Πρώτο µας Πρόγραµµα σε C ηµήτρης Ψούνης 2 Περιεχόµενα Μαθήµατος Α. Θεωρία 1. Κύκλος Ανάπτυξης Προγράµµατος 1. Συγγραφή και Μεταγλώττιση ενός προγράµµατος 2. Εκτέλεση του προγράµµατος

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

Χειµερινό Εξάµηνο 2013

Χειµερινό Εξάµηνο 2013 Προγραµµατισµός Χειµερινό Εξάµηνο 2013 Προγραµµατισµός Εισαγωγή Περιεχόµενο : γλώσσα προγραµµατισµού: C++ µέθοδοι προγραµµατισµού προγραµµατιστικές αρχές δοµηµένος προγραµµατισµός, αφαιρετικότητα, υλοποίηση,

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

Επισκόπιση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Collecting Messages Statistics

Επισκόπιση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Collecting Messages Statistics Επισκόπιση Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Χρήστος Κονίνης Τρίτη, 10 Νοεµβρίου, 2009 Υπολογιστικό Examples transmission model Μέχρι

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

Περίληψη ιπλωµατικής Εργασίας

Περίληψη ιπλωµατικής Εργασίας Περίληψη ιπλωµατικής Εργασίας Θέµα: Πρότυπη Εφαρµογή ιαλειτουργικότητας για Φορητές Συσκευές Όνοµα: Κωνσταντίνος Χρηστίδης Επιβλέπων: Ιωάννης Βασιλείου Συν-επιβλέπων: Σπύρος Αθανασίου 1. Αντικείµενο Αντικείµενο

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

Προγραμματισμός Χειμερινό Εξάμηνο 2014

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

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

Προγραμματισμός Υπολογιστών με C++

Προγραμματισμός Υπολογιστών με C++ Προγραμματισμός Υπολογιστών με C++ 1η διάλεξη (2012-13) Ίων Ανδρουτσόπουλος http://www.aueb.gr/users/ion/ 1 Γιατί να μάθει κανείς C++; Απαιτούμενο προσόν για πολλές θέσεις εργασίας. Υψηλού επιπέδου προγραμματισμός.

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

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα;

Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; Εισαγωγή Τι χρειάζεται ένας φοιτητής για τη σωστή παρακολούθηση και συμμετοχή στο μαθημα; 1. Σελίδα μαθήματος Εγγραφή Ο κάθε φοιτητής πρέπει να κάνει εγγραφή στη σελίδα του μαθήματος στην πλατφόρμα e-class

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

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

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

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

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ

7.3 Πρωτόκολλο TCP. 1. Το TCP πρωτόκολλο παρέχει υπηρεσίες προσανατολισµένες σε σύνδεση. Σ Λ Ερωτήσεις 7.3 Πρωτόκολλο TCP 1. Τι είναι το τµήµα (segment) στο πρωτόκολλο TCP; Από ποια µέρη αποτελείται; 2. Για ποιο σκοπό χρησιµοποιείται ο Αριθµός ειράς στην επικεφαλίδα ενός segment TCP; 3. την περίπτωση

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

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings)

Κεφάλαιο Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) Κεφάλαιο 9.1-9.2 Αλφαριθµητικές Σειρές Χαρακτήρων (Strings) ( ιάλεξη 19) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 1) Strings στη C Ένα string είναι µία ακολουθία αλφαριθµητικών χαρακτήρων, σηµείων στίξης κτλ. Π.χ.

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

Επισκόπιση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σφάλµατα επικοινωνίας στο Shawn

Επισκόπιση. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σφάλµατα επικοινωνίας στο Shawn Επισκόπιση Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Χρήστος Κονίνης Rerun exactly the same Simulation Τρίτη, 1 εκεµβρίου, 2009 Υπολογιστικό

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

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

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

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

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

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

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

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language)

Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) Η Γλώσσα Προγραµµατισµού C++ (The C++ Programming Language) ηµήτριος Κατσαρός, Ph.D. Χειµώνας 2005 ιάλεξη 5η Ιστοσελίδα του µαθήµατος http://skyblue.csd.auth.gr/~dimitris/courses/cpp_fall05.htm Θα τοποθετούνται

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

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07 Αλγόριθμος: Βήμα προς βήμα διαδικασία για την επίλυση κάποιου προβλήματος. Το πλήθος των βημάτων πρέπει να είναι πεπερασμένο. Αλλιώς: Πεπερασμένη

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

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Εργαστήριο 1ο Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Σε αυτό το κεφάλαιο θα ασχοληθούμε με την περιγραφή της διαδικασίας μεταγλώττισης ενός προγράμματος C κάνοντας χρήση του μεταγλωττιστή gcc σε

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

Κεφάλαιο 10 ο Υποπρογράµµατα

Κεφάλαιο 10 ο Υποπρογράµµατα Κεφάλαιο 10 ο Υποπρογράµµατα Ανάπτυξη Εφαρµογών σε Προγραµµατιστικό Περιβάλλον Η αντιµετώπιση των σύνθετων προβληµάτων και η ανάπτυξη των αντίστοιχων προγραµµάτων µπορεί να γίνει µε την ιεραρχική σχεδίαση,

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

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql

Αρχίζοντας. Το Joomla τρέχει: Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) PHP MySql Php και Joomla Ψηφιακό Περιεχόμενο & Επικοινωνίες Αρχίζοντας Το Joomla τρέχει: PHP MySql Στο Joomla μπορούμε να προσθέσουμε επιπλέον λειτουργικότητα, να την επεκτείνουμε δηλαδή (extensions) με την χρήση

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

Ενεργοποίηση του πρωτοκόλλου IPv6

Ενεργοποίηση του πρωτοκόλλου IPv6 Ενεργοποίηση του πρωτοκόλλου IPv6 Στις επόµενες παραγράφους περιγράφουµε τα βασικά βήµατα που πρέπει να ακολουθήσει ο τελικός χρήσης για µια αντιπροσωπευτική οµάδα λειτουργικών συστηµάτων ώστε να συνδεθεί

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

Προγραμματισμός Χειμερινό Εξάμηνο 2017

Προγραμματισμός Χειμερινό Εξάμηνο 2017 Χειμερινό Εξάμηνο 2017 Εισαγωγή Μέθοδοι, αρχές προγραμματισμού δομημένος προγραμματισμός, αφαιρετικότητα, υλοποίηση, έλεγχος, και αποσφαλμάτωση, καλές πρακτικές γλώσσα προγραμματισμού: C++ Αλγοριθμική

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

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

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

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

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

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική Χειµερινό Εξάµηνο 2006-07 Απόδοση των οδηγών αποθηκευτικών µέσων Μέσος χρόνος πρόσβασης (Average Access Time) Ταχύτητα µεταφοράς δεδοµένων (Data-Transfer

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 7/1/2014, 22:00 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2013-2014 Προθεσµία: 7/1/2014, 22:00 Περιεχόµενα Διαβάστε πριν ξεκινήσετε Εκφώνηση άσκησης 1 Οδηγίες αποστολής άσκησης Πριν ξεκινήσετε (ΔΙΑΒΑΣΤΕ

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

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει.

Απλοποιεί τα γεγονότα έτσι ώστε να περιγράφει τι έχει γίνει και όχι πως έχει γίνει. οµηµένες τεχνικές Ο στόχος των δοµηµένων τεχνικών είναι: Υψηλής ποιότητας προγράµµατα Εύκολη τροποποίηση προγραµµάτων Απλοποιηµένα προγράµµατα Μείωση κόστους και χρόνου ανάπτυξης. Οι βασικές αρχές τους

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τ Μ Η Μ Α Π Λ Η Ρ Ο Φ Ο Ρ Ι Κ Η Σ ΕΠΛ 035 - ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ ΚΑΙ ΑΛΓΟΡΙΘΜΟΙ ΓΙΑ ΗΛΕΚΤΡΟΛΟΓΟΥΣ ΜΗΧΑΝΙΚΟΥΣ ΚΑΙ ΜΗΧΑΝΙΚΟΥΣ ΥΠΟΛΟΓΙΣΤΩΝ Ακαδηµαϊκό έτος 2017-2018 Υπεύθυνος εργαστηρίου: Γεώργιος

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

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΧΗΜΙΚΩΝ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΙΚΟ ΚΕΝΤΡΟ Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού Μάθημα 1ο Aντώνης Σπυρόπουλος v2_061015 Εργαστήριο

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

Σκοπός του µαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Σκοπός του µαθήµατος. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Σκοπός του µαθήµατος Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 4 Ιανουαρίου, 008 Αίθουσα Β3 Μελέτη ϐασικών ϑεωρητικών

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

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout) Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής µε Εφαρµογές στην Βιοϊατρική Εισαγωγή στον Προγραµµατισµό (εργαστήριο) Εισαγωγή στο λειτουργικό σύστηµα UNIX 1. Σύνδεση στο Εικονικό Ιδιωτικό Δίκτυο (VPN) 1.1.

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

Σκοπός του µαθήµατος. Κατανεµηµένα συστήµατα. Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων

Σκοπός του µαθήµατος. Κατανεµηµένα συστήµατα. Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Σκοπός του µαθήµατος Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης ευτέρα, 7 Ιανουαρίου, 2008 Αίθουσα Β3 Μελέτη ϐασικών ϑεωρητικών

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

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή

Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Δοµές Δεδοµένων και Αλγόριθµοι - Εισαγωγή Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Εισαγωγή στις έννοιες Αλγόριθµοι και Πολυπλοκότητα, Οργάνωση Δεδοµένων και Δοµές Δεδοµένων Χρήσιµοι µαθηµατικοί

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Android Grid Application Θωμάς Αντώνιος (3050073) Καραβέλλας Θεμιστοκλής (3050055) 1. Εισαγωγή Το Android αποτελεί ένα λειτουργικό σύστημα για κινητές συσκευές. Το λειτουργικό αυτό

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

Ενότητα 13. Εισαγωγή στην Πληροφορική. Κεφάλαιο 13Α. Αρχεία. Χειµερινό Εξάµηνο ρ. Παναγιώτης Χατζηδούκας (Π..407/80) προγραµµατισµός

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

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

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

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

Η γλώσσα προγραμματισμού C

Η γλώσσα προγραμματισμού C Η γλώσσα προγραμματισμού C Εισαγωγή στη C Λίγα λόγια για την C Γλώσσα προγραμματισμού υψηλού επιπέδου. Σχεδιάστηκε και υλοποιήθηκε από τον Dennis Richie στις αρχές της δεκαετίας του 1970 (Bell Labs). Η

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

Κατανεμημένα Συστήματα Ι

Κατανεμημένα Συστήματα Ι 6 Οκτωβρίου 2016 Παναγιώτα Παναγοπούλου Σκοπός του μαθήματος Κατανόηση των βασικών προβλημάτων που αντιμετωπίζουν τα κατανεμημένα συστήματα υπολογιστών Μελέτη ορισμένων χαρακτηριστικών μηχανισμών για την

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

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

ANDROID Προγραμματισμός Εφαρμογών

ANDROID Προγραμματισμός Εφαρμογών ANDROID Προγραμματισμός Εφαρμογών Παναγιώτης Κρητιώτης ΑΜ 1607 Περιεχόμενα Εισαγωγή Βασικά Στοιχεία Χαρακτηριστικά Αρχιτεκτονική Εργαλεία Προγραμματισμού Eclipse IDE Android SDK - ADT Plugin Προσομοιωτής

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

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις

ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Παρασκευή 10 NOE 2006 ιευθύνσεις Ιόνιο Πανεπιστήµιο Τµήµα Αρχειονοµίας-Βιβλιοθηκονοµίας, Κέρκυρα Παρασκευή 10 NOE 2006 ίκτυα - Internet Μάθηµα 3ο Ενότητα Β: Το Πρότυπο ΤCP/IP Eισαγωγή - Επικοινωνία µεταξύ δύο Υπολογιστών Α Ίδιο τοπικό

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

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ

MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ MESSAGE EDITOR FOR WINDOWS Ο ΗΓΙΕΣ ΧΡΗΣΕΩΣ Εγκατάσταση και λειτουργία message editor: Αρχικά τοποθετούµε το cd στον υπολογιστή και εµφανίζεται η οθόνη εγκατάστασης Στην περίπτωση που δεν εµφανιστεί αυτόµατα

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

Ανάπτυξη Plugins για το AgentSheets

Ανάπτυξη Plugins για το AgentSheets Ανάπτυξη Plugins για το AgentSheets Thought Amplifier AgentSheets Ανάπτυξη Plugins AgentSheets 2.5 Συγγραφείς Τεκµηρίωσης: Alexander Repenning και Ronald Sudomo Εξελληνισµός Τεκµηρίωσης: Λίνος Βίγκλας,

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

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων

ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων ιεργασίες και Επεξεργαστές στα Κατανεµηµένων Συστηµάτων Μαρία Ι. Ανδρέου ΗΜΥ417, ΗΜΥ 663 Κατανεµηµένα Συστήµατα Χειµερινό Εξάµηνο 2006-2007 Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Πανεπιστήµιο

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

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

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

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

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2016-2017. Άσκηση 1 (ανακοινώθηκε στις 20 Μαρτίου 2017, προθεσμία παράδοσης: 24 Απριλίου 2017, 12 τα μεσάνυχτα).

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

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν

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

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που

Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που 7.7 Πρωτόκολλο ARP 1 ύο είδη διευθύνσεων: MAC - IP Τη φυσική (MAC) διεύθυνση που δίνει ο κατασκευαστής του δικτυακού υλικού στις συσκευές του (π.χ. στις κάρτες δικτύου). Η περιοχή διευθύνσεων που µπορεί

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

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής

Ελληνικό Ανοικτό Πανεπιστήµιο. Η Υλοποίηση στην Ενοποιηµένη ιαδικασία. ρ. Πάνος Φιτσιλής 1 Ελληνικό Ανοικτό Πανεπιστήµιο Η Υλοποίηση στην Ενοποιηµένη ιαδικασία ρ. Πάνος Φιτσιλής Περιεχόµενα Πρωτοτυποποίηση Προγραµµατισµός υλοποίησης Ανάπτυξη συστήµατος Μοναδιαίος έλεγχος Ολοκλήρωση 2 3 Η υλοποίηση

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

2η Προγραµµατιστική Εργασία

2η Προγραµµατιστική Εργασία Προγραµµατισµός ικτύων (Ε-01) 2η Προγραµµατιστική Εργασία Επέκταση ϐασικής ϐιβλιοθήκης δικτυακού προγραµµατισµού και χρήση της για την υλοποίηση παράλληλου εξυπηρετητή πρωτοκόλλου µεταφοράς αρχείων ιδάσκων

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

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II. ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.5-3.6, 3.2: Συναρτήσεις II ( ιάλεξη 12) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 12-1 Ανασκόπηση οµής Προγράµµατος µε Συναρτήσεις #include 1 void PrintMessage (); Πρότυπο ( ήλωση) Συνάρτησης (

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

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java Δρ. Απόστολος Γκάμας Λέκτορας (407/80) gkamas@uop.gr Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου Διαφάνεια 1 Εισαγωγή

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ. ΕΠΛ231: ομές εδομένων και Αλγόριθμοι ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ231: ομές εδομένων και Αλγόριθμοι ιδάσκων: Γιώργος Πάλλης Γραφείο: ΘΕΕ-01 Β119 Τηλέφωνο: 22-892743 E-mail: gpallis@cs.ucy.ac.cy Ιστοσελίδα Μαθήματος: http://www.cs.ucy.ac.cy/courses/epl231

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

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

Κεφάλαιο 3.1, : Συναρτήσεις I. ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ Κεφάλαιο 3.1,3.3-3.4: Συναρτήσεις I ( ιάλεξη 11) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 11-1 Μη- οµηµένος Προγραµµατισµός Το πρόγραµµα στα αριστερά δεν είναι Αρθρωτό (δεν έχει σωστή δοµή). Όλη η λειτουργικότητα

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

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

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

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος

Κεφάλαιο 2.3: Προγραμματισμός. Επιστήμη ΗΥ Κεφ. 2.3 Καραμαούνας Πολύκαρπος Κεφάλαιο 2.3: Προγραμματισμός 1 2.3.1 Αναφορά σε γλώσσες προγραμματισμού και «Προγραμματιστικά Υποδείγματα» 2.3.1.1 Πρόγραμμα και Γλώσσες Προγραμματισμού Πρόγραμμα: σύνολο εντολών που χρειάζεται να δοθούν

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

6. Εισαγωγή στον προγραµµατισµό

6. Εισαγωγή στον προγραµµατισµό 6. Εισαγωγή στον προγραµµατισµό 6.1 Η έννοια του προγράµµατος. 6.2 Ιστορική αναδροµή. 6.2.1 Γλώσσες µηχανής. ΗΜ04-Θ1Α 1. Ένα πρόγραµµα σε γλώσσα µηχανής είναι µια ακολουθία δυαδικών ψηφίων. 5. Ένα πρόγραµµα

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

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σύνοψη 3 ης ιάλεξης

Προηγούµενο Μάθηµα. Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων. Σύνοψη 3 ης ιάλεξης Προηγούµενο Μάθηµα Κατανεµηµένα Συστήµατα Ι Μάθηµα Βασικής Επιλογής, Χειµερινού Εξαµήνου Τοµέας Εφαρµογών και Θεµελιώσεων Ιωάννης Χατζηγιαννάκης Σύγχρονα Κατανεµηµένα Συστήµατα Μοντελοποίηση Συστήµατος

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

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα

Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Διάλεξη 2η: Αλγόριθμοι και Προγράμματα Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Αλγόριθμοι και Προγράμματα

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

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007

ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 ΘΕΜΑΤΑ ΙΠΛΩΜΑΤΙΚΩΝ ΕΡΓΑΣΙΩΝ 2006 / 2007 Επιβλέπων : Επικ. Καθηγητής Σπύρος ενάζης Για περισσότερες πληροφορίες σχετικά µε τις παρακάτω διπλωµατικές εργασίες να επικοινωνήσετε µε τον Σπύρο ενάζη (sdena@ece.upatras.gr)

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