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

Save this PDF as:
 WORD  PNG  TXT  JPG

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

Download "Λειτουργικά Συστήματα"

Transcript

1 Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών arch.icte.uowm.gr/mdasyg

2 Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άλλου τύπου άδειας χρήσης, η άδεια χρήσης αναφέρεται ρητώς. Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ψηφιακά Μαθήματα του Πανεπιστημίου Δυτικής Μακεδονίας» έχει χρηματοδοτήσει μόνο τη αναδιαμόρφωση του εκπαιδευτικού υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους. 2

3 Περιεχόμενα 1. Σκοπός της άσκησης Παραδοτέα Δημιουργία διεργασίας σε κατάσταση Zombie Παραδοτέο C Διαδιεργασιακή επικοινωνία με χρήση διασωλήνωσης Παραδοτέα C2 και C Παραδοτέα C4, C5 και C Διαδιεργασιακή επικοινωνία με χρήση ψευδο-τερματικών Παραοτέο C Διαδιεργασιακή επικοινωνία με χρήση sockets (υποδοχών) Παραδοτέα C8 και C Παραδοτέα C10 και C

4 1. Σκοπός της άσκησης Διεργασίες Zombie. Διαδιεργασιακή επικοινωνία με pipes, sockets, ψευδοτερματικά, ports. Συναρτήσεις: pipe(), write(), read(), perror(), open(), openpty(), socketpair(), socket(), listen(), accept(), send(), write(), recv(), read().grep. 2. Παραδοτέα (A) 18 ερωτήσεις (C) 11 ασκήσεις 3. Δημιουργία διεργασίας σε κατάσταση Zombie Από τη σελίδα βοήθειας του προγράμματος ps βρείτε και σημειώστε πως σημειώνεται μια διεργασία που βρίσκεται στην κατάσταση Zombie: (Α01) Αφού διαβάσετε τα σχετικά έγγραφα στο COMPUS ή στο άρθρο Zombie Process της wikipedia, απαντήστε: Τι είναι η κατάσταση Zombie; Γιατί χρειάζεται; (Α02) Γιατί η διεργασία διατηρεί καταχώρηση στον πίνακα διεργασιών του ΛΣ; (Α03) Ποιο είναι το πρόβλημα στο ΛΣ με το να υπάρχουν διεργασίες σε κατάσταση Zombie; (Α04) Πως εμφανίζεται το όνομα μιας διεργασίας Zombie; (Α05) 3.1 Παραδοτέο C1 (C1) Δημιουργήστε το πρόγραμμα c1.c, το οποίο δημιουργεί μια διεργασία σε κατάσταση zombie ως εξής: Θα καλείται η fork() o το παιδί θα εκτυπώνει το PID του και το μήνυμα child will now exit and create zombie και θα καλεί την exit() o ο πατέρας θα εκτυπώνει το μήνυμα parent ps xuw, θα εκτελεί την εντολή ps xuw με τη system() και θα κάνει sleep(10). Θα πρέπει να εμφανιστεί η διεργασία με το ανωτέρω PID σε κατάσταση Zombie. 4

5 Να τοποθετήσετε με αντιγραφή - επικόλληση τη συγκεκριμένη γραμμή του ps axuw που δείχνει ότι η διεργασία τοποθετήθηκε σε κατάσταση zombie (Α06) 4. Διαδιεργασιακή επικοινωνία με χρήση διασωλήνωσης Με την τεχνική αυτή μπορούν διεργασίες που βρίσκονται στο ίδιο μηχάνημα να μεταδίδουν δεδομένα μεταξύ τους. Ένας σωλήνας είναι ένα κανάλι επικοινωνίας μιας κατεύθυνσης και όχι αμφίδρομης. Αν θέλουμε να δημιουργήσουμε αμφίδρομη επικοινωνία απαιτείται η χρήση δύο σωλήνων επικοινωνίας. Στο φλοιό η διασωλήνωση επιτυγχάνεται με τη χρήση της κάθετης μπάρας. Η χρήση της διασωλήνωσης επιτυγχάνεται με την κλήση συστήματος pipe(). Από τη σελίδα βοήθειας της pipe() απαντήστε. Τι τιμή επιστρέφει και τι παραμέτρους δέχεται (περιγράψτε την κάθε παράμετρο): (Α07) Η εγγραφή στη διασωλήνωση επιτυγχάνεται με τη write() (τμήμα 2 manpage) ενώ η ανάγνωση από τη διασωλήνωση επιτυγχάνεται με τη read() (τμήμα 2 manpage). Ποιοι είναι οι παράμετροι της write() και τι συμβολίζει η κάθε παράμετρος; Τι επιστρέφει; (Α08) Ποιοι είναι οι παράμετροι της read() και τι συμβολίζει η κάθε παράμετρος; Τι επιστρέφει; (Α09) Αρχικά θα δημιουργήσουμε ένα πρόγραμμα το οποίο χρησιμοποιεί την pipe() για να γράψει και στη συνέχεια να διαβάσει από το pipe αυτά που έγραψε. Κατά την κλήση του pipe δημιουργούνται δυο file descriptors (pointers). Στο ένα file descriptor (στο Νο1) γράφουμε και στο δεύτερο (στο Νο0) διαβάζουμε. Δε μπορεί να γίνει διαφορετικά. 4.1 Παραδοτέα C2 και C3 (C2) Να δημιουργήσετε ένα πρόγραμμα με όνομα c2.c το οποίο ως διεργασία: θα ορίζει ένα buffer[200] ως πίνακα χαρακτήρων. Θα κάνει κλήση της pipe() και θα ελέγχει με if αν έχει δημιουργηθεί, διαφορετικά θα αναφέρει κατάλληλο μήνυμα. Θα γράφει στο pipe (στο σωστό file descriptor) το ονοματεπώνυμο σας. Θα διαβάζει από το pipe (από το σωστό file descriptor) τι έχει γραφεί και θα τα τοποθετεί στο buffer [200]. Με τη χρήση της write θα έχει ήδη διαβάσει πόσα στοιχεία βρίσκονταν στο pipe και τον αριθμό αυτό θα το τοποθετήσει στη συνέχεια στο buffer [ ]. 5

6 Το μέγεθος των στοιχείων που μπορεί να τοποθετηθεί στο buffer έχει οριστεί από το ΛΣ μια προεπιλεγμένη τιμή. Βρείτε από το Internet για το ΛΣ που χρησιμοποιείται ποιο είναι το όριο σε ένα pipe. Όταν έχει γεμίσει το pipe τότε η επόμενη εγγραφή (write()) τοποθετεί σε κατάσταση blocked τη συγκεκριμένη διεργασία, μέχρι κάποια άλλη διεργασία διαβάσει από αυτό και απομακρύνει στοιχεία. Πόσο είναι το μέγεθος σε Bytes της διασωλήνωσης στο ΛΣ που χρησιμοποιείτε και που το βρήκατε; (Α10) Να δημιουργήσετε το παρακάτω πρόγραμμα το οποίο θα επιβεβαιώνει το όριο. (C3) Να δημιουργήσετε ένα πρόγραμμα με όνομα c3.c το οποίο ως διεργασία: θα δημιουργεί ένα pipe. θα γράφει ένα χαρακτήρα (δηλαδή 1 Byte) στο pipe. Μόλις το γράψει θα αυξάνει την τιμή ενός μετρητή κατά 1. Μόλις το γράψει θα εκτυπώνει το μετρητή. Θα επαναλαμβάνεται η εγγραφή ενός χαρακτήρα. Μόλις σταματήσει να εκτυπώνεται η τιμή του μετρητή τότε η διεργασία θα έχει μπει σε κατάσταση blocked και μπορείτε να τη σταματήσετε μόνο με CTRL+C. Αναγράψτε την τελευταία τιμή του μετρητή και σχολιάστε αν είναι η αναμενόμενη: (Α11) 1 Σε κάθε ΛΣ υπάρχει και ένα όριο ως προς το μέγιστο αριθμό των file descriptors που μπορεί να έχει μια διεργασία. Αυτό γίνεται για να μη καταναλωθούν όλοι οι πόροι από μια διεργασία. Πόσο είναι το όριο των file descriptors που υπάρχει στο δικό σας ΛΣ και πως το βρήκατε (εντολή ή άρθρο στο Internet): (Α12) Να δημιουργήσετε το παρακάτω πρόγραμμα το οποίο θα επιβεβαιώνει το όριο. Προσέξτε ότι ένα pipe() μπορεί να αποτύχει να δημιουργηθεί, είτε αν δεν υπάρχουν διαθέσιμα file descriptors, είτε αν δεν υπάρχει διαθέσιμη μνήμη στο ΛΣ. 4.2 Παραδοτέα C4, C5 και C6 (C4) Να δημιουργήσετε ένα πρόγραμμα με όνομα c4.c το οποίο ως διεργασία: θα δημιουργεί ένα pipe και θα ελέγχει αν έχει δημιουργηθεί με επιτυχία. θα αυξάνει το μετρητή κατά 1 θα εκτυπώνει την τιμή του μετρητή 1 Μπορείτε να δείτε και το αρχείο pipe.h αν υπάρχει στο σύστημά σας. 6

7 θα επαναλαμβάνει τη εντολή δημιουργίας νέου pipe. Μόλις αποτύχει η δημιουργία pipe τότε θα καλείται κατάλληλα η συνάρτηση perror() (τμήμα 3 manpage) και θα εκτυπώνει το μήνυμα λάθους. Επίσης να εκτυπώσετε την τιμή errno, δηλαδή την τιμή επιστροφής σφάλματος της pipe(). Ποια είναι η τελευταία τιμή του μετρητή σας και για ποιο λόγο δε μπόρεσε να δημιουργηθεί ένα νέο pipe; (Α13) Η συνάρτηση pipe() δε μπορεί να χρησιμοποιηθεί για να διασωληνώσει διεργασίες που ήδη εκτελούνται. Μπορεί όμως να χρησιμοποιηθεί από νέες διεργασίες που κάνουν fork(), γιατί μόλις γίνει fork() και η γονική και η θυγατρική διεργασία έχουν τους ίδιους file descriptors. Έτσι, αρχικά η διεργασία δημιουργεί ένα pipe και στη συνέχεια καλεί τη fork(). Αυτό έχει ως συνέπεια όταν κάποια διεργασία να γράφει στο file descriptor 1, τότε αυτό να καταλήγει στο file descriptors 0 και των δυο διεργασιών. Για να μη δημιουργηθεί ένα πρόβλημα, αμέσως μετά η γονική διεργασία κλείνει το file descriptor 0 (αν η γονική θέλει να γράφει μόνο) και η θυγατρική κλείνει το file descriptor 1 (αν η θυγατρική θέλει να διαβάζει μόνο). Ασφαλώς, μπορεί αυτό να γίνει και αντίστροφα. Σε κάθε περίπτωση η μια διεργασία θα πρέπει να κλείσει το δικό της περιγραφέα αρχείου 0 και η άλλη να κλείσει το δικό της περιγραφέα αρχείου 1. Ποιοι είναι οι παράμετροι της close() (τμήμα 2 manpage) και τι συμβολίζει η κάθε παράμετρος; Τι επιστρέφει; (A14) (C5) Να δημιουργήσετε ένα πρόγραμμα με όνομα c5.c το οποίο ως διεργασία: Θα δημιουργεί ένα pipe. Θα καλείται η fork(). Η γονική θα κλείνει το file descriptor 0, γιατί θα γράφει μόνο Η θυγατρική θα κλείνει το file descriptor 1, γιατί θα διαβάζει μόνο Η θυγατρική θα κάνει sleep(1) και θα διαβάζει από το pipe. Ότι διαβάζει θα το εκτυπώνει στη οθόνη με το μήνυμα Child read: XXXX, όπου XXXX αυτό που έχει διαβάσει από το pipe. Θα διαβάζει μέχρι να συναντήσει τους χαρακτήρες 00 το οποίο θα σηματοδοτεί το τέλος των δεδομένων. Μόλις ανιχνευτεί το τέλος θα στέλνει το σήμα τερματισμού στον πατέρα και η ίδια θα καλεί την exit(). Η γονική διεργασία ύστερα από προτροπή θα ζητάει από το χρήστη να πληκτρολογήσει κάτι. Ότι πληκτρολογήσει ο χρήστης θα στέλνεται μέσω pipe στη θυγατρική. Η διαδικασία αυτή θα επαναλαμβάνεται επ αόριστον (ασφαλώς μόλις ο χρήστης πατήσει 00 τότε η θυγατρική θα λαμβάνει το 00 και θα τερματίζει και τις δυο διεργασίες). 7

8 Σε περίπτωση που θέλουμε να επιτύχουμε αμφίδρομη επικοινωνία, τότε θα χρησιμοποιήσουμε 2 διασωληνώσεις. Αυτό θα το δούμε με το παρακάτω παράδειγμα. (C6) Να δημιουργήσετε ένα πρόγραμμα με όνομα c6.c το οποίο ως διεργασία: Θα δημιουργεί δυο pipe. Θα καλείται η fork(). Η γονική θα κλείνει το file descriptor 0 του πρώτου pipe και το file descriptor 1 του δεύτερου pipe, γιατί θα γράφει μόνο στο πρώτο και θα διαβάζει μόνο από το δεύτερο. Η θυγατρική θα κλείνει το file descriptor 1 του πρώτου pipe και το file descriptor 0 του δεύτερου pipe, γιατί θα διαβάζει μόνο από το πρώτο pipe και θα γράφει μόνο στο δεύτερο. Η γονική θα ρωτάει το χρήστη να πληκτρολογήσει κάτι. Αυτό που πληκτρολογεί θα στέλνεται στη θυγατρική και θα κάνει sleep(1). Στη συνέχεια θα διαβάζει από το δεύτερο pipe (αν δεν έχουν έρθει δεδομένα θα περιμένει σε κατάσταση blocked). Μόλις διαβάσει τα δεδομένα θα τα εκτυπώνει με το μήνυμα Parent Read: XXX, όπου XXX το μήνυμα που έστειλε η θυγατρική. Αυτό θα εκτελείται σε ένα ατέρμονα βρόχο. H θυγατρική θα διαβάζει από το πρώτο pipe θα εκτυπώνει το μήνυμα Child Read: XXX, όπου XXX το μήνυμα που έχει διαβάζει, θα κάνει sleep(1) και θα στέλνει στο δεύτερο pipe το μήνυμα αφού έχει προσθέσει και τη λέξη -child-. Αυτό θα εκτελείται σε ένα ατέρμονα βρόχο. 5. Διαδιεργασιακή επικοινωνία με χρήση ψευδοτερματικών Υπάρχουν περιπτώσεις που απαιτείται η χρήση ενός τερματικού, όπως για παράδειγμα επεξεργαστές κειμένου κ.ο.κ. Υπάρχει περίπτωση να χρησιμοποιηθεί ένα ψευδοτερματικό για την επικοινωνία. Η επικοινωνία αυτή είναι αμφίδρομη σε αντίθεση με της διασωλήνωσης. Τα ψευδοτερματικά είναι ειδικά αρχεία που βρίσκονται στον κατάλογο /dev και βρίσκονται σε ζευγάρια. Υπάρχουν τα slave ψευδοτερματικά με ονόματα /dev/ttyp[a-z][0-9] και τα αντίστοιχα master ψευδοτερματικά με ονόματα /dev/pts[a-z][0-9] ή σε νεότερες διανομές UNIX /dev/pts/[0-9]. Με αυτόν τον τρόπο μια διεργασία γράφει στο /dev/tty??? και τα αποτελέσματα εμφανίζονται στο /dev/pty???, ενώ επίσης μπορεί να γράψει στο /dev/pty?? και τα αποτελέσματα να εμφανιστούν στο /dev/tty??? Για να τα χρησιμοποιήσουμε θα πρέπει να καλέσουμε τη συνάρτηση: int fd = open("/dev/ptypb7",2); ή int tty_fd = open("/dev/ttypb7",2); 8

9 Προκειμένου να βρούμε ένα τερματικό για να το χρησιμοποιήσουμε χρησιμοποιούμε συνήθως την τεχνική του ψαρέματος. Δηλαδή, προσπαθούμε να ανοίξουμε ένα pty???? και αν η συνάρτηση open() επιστρέψει σφάλμα προσπαθούμε με το επόμενο κ.ο.κ. Μόλις, ανοίξουμε ένα pty?? τότε η άλλη διεργασία μπορεί να ανοίξει το αντίστοιχο tty και έτσι επιτυγχάνεται η διαδιεργασιακή επικοινωνία. Αυτή η μορφή επικοινωνίας εξαρτάται από τα ΛΣ. Για παράδειγμα στο FreeBSD δε χρησιμοποιείται η συνάρτηση open για να ανοιχθεί ένα pty, αλλά η συνάρτηση openpty() η οποία επιστρέφει το αμέσως επόμενο διαθέσιμο pty που βρίσκεται στο σύστημα. Θα πρέπει να δείτε το manpage του pty στο ΛΣ που χρησιμοποιείτε για να δείτε τι υποστηρίζεται. 5.1 Παραοτέο C7 (C7) Να δημιουργήσετε ένα πρόγραμμα c7.c το οποίο ως διεργασία: θα ανοίγει ένα pty. θα κάνει fork. η γονική διεργασία θα γράφει το όνομα σας στο pty. η θυγατρική διεργασία θα διαβάζει από το αντίστοιχο tty και θα εκτυπώνει αντίστοιχο μήνυμα. η θυγατρική διεργασία θα γράψει το επώνυμο στο tty. η γονική διεργασία θα διαβάζει από το pty και θα εκτυπώνει το αντίστοιχο μήνυμα. 6. Διαδιεργασιακή επικοινωνία με χρήση sockets (υποδοχών) Εκτός από τους παραπάνω τρόπους επικοινωνίας, δύο ή περισσότερες διεργασίες μπορούν να επικοινωνήσουν με τη χρήση sockets. Μάλιστα τα sockets επιτρέπουν την επικοινωνία (με κατάλληλη ρύθμιση) ανάμεσα σε διεργασίες διαφορετικών μηχανημάτων. Οι υποδοχές μπορούν να είναι είτε τοπικές (local) είτε δικτυακές (network). Χρησιμοποιούνται οι κλήσεις συστήματος read/write και είναι αμφίδρομης κατεύθυνσης. Προκειμένου να κλείσει ένα socket θα πρέπει η διεργασία που το έχει δημιουργήσει να καλέσει την κλήση συστήματος shutdown() (τμήμα 2 manpage). Για τη δημιουργία ενός socket χρησιμοποιείται η κλήση συστήματος socketpair(). Ποιοι είναι οι παράμετροι της socketpair() (τμήμα 2 manpage) και τι συμβολίζει η κάθε παράμετρος; Τι επιστρέφει; (A15) 9

10 Με την κλήση της socketpair() δημιουργούνται δύο file descriptors (0 και 1). Μπορούμε να γράψουμε στο 0 και να τα διαβάσουμε στο 1, ή να γράψουμε στο 0 και να τα διαβάσουμε στο Παραδοτέα C8 και C9 (C8) Να δημιουργήσετε ένα πρόγραμμα c8.c, το οποίο ως διεργασία: δημιουργεί με το socketpair ένα socket με τις παραμέτρους AF_UNIX ή PF_UNIX προκειμένου να δημιουργηθεί μια υποδοχή στον τοπικό υπολογιστή και παράμετρο πρωτοκόλλου SOCK_STREAM. Στη συνέχεια θα γράφει στο file descriptor 1 το όνομά σας. Μετά θα διαβάζει από το file descriptor 0 τι έχει γραφεί και θα το εκτυπώνει (θα πρέπει να είναι το ίδιο). Μετά θα γράφει στο file descriptor 0 το επίθετό σας. Ακολούθως, θα διαβάζει από το file descriptor 1 τι έχει γραφεί και θα το εκτυπώνει (θα πρέπει να είναι το ίδιο με αυτό που γράψατε πριν). (C9) Να δημιουργήσετε ένα πρόγραμμα c9.c, το οποίο ως διεργασία: δημιουργεί με το socketpair ένα socket με τις παραμέτρους AF_UNIX ή PF_UNIX για να δημιουργηθεί μια υποδοχή στον τοπικό υπολογιστή και παράμετρο πρωτοκόλλου SOCK_STREAM. Δημιουργεί με το fork δυο διεργασίες, οπότε η κάθε διεργασία υιοθετεί τους file descriptors. Η κάθε διεργασία θα κλείσει τον ένα από τους δύο file descriptors. Η άλλη θα κλείσει τον άλλο. Η πρώτη διεργασία θα γράψει τον αριθμό μητρώου στο file desciptor, η άλλη διεργασία θα το διαβάζει και θα το εκτυπώνει. Αμέσως μετά, η δεύτερη διεργασία θα κάνει το ίδιο. Μερικές φορές θέλουμε να δημιουργήσουμε μια υποδοχή δικτυακού τύπου, δηλαδή μια υποδοχή που περιμένει (βρίσκεται σε κατάσταση ακρόασης) να εξυπηρετήσει κάποιους πελάτες από το δίκτυο. Σε αυτήν την περίπτωση θα πρέπει να ακολουθήσουμε τα εξής βήματα. Αρχικά θα πρέπει να κάνετε include κάποια header files. Συγκεκριμένα, θα πρέπει να κάνετε #include <sys/types.h> #include <sys/socket.h> #include <netinet/in.h> 10

11 (μπορεί να μη χρειάζεται, αρχικά μην το κάνετε include) Στη συνέχεια θα πρέπει να κάνετε κλήση τη συνάρτηση int socket(int domain, int type, int protocol) η οποία δέχεται τρεις παραμέτρους. Η πρώτη παράμετρος θα είναι το domain το οποίο αν θέλουμε να είναι δικτυακού τύπου θα είναι PF_INET (αν θέλαμε μια τοπική socket σε κατάσταση ακρόασης θα βάζαμε PF_UNIX). H δεύτερη παράμετρος (type) θα πρέπει να είναι SOCK_STREAM αν θέλουμε να χρησιμοποιήσουμε TCP ή SOCK_DGRAM αν θέλουμε να χρησιμοποιήσουμε UDP. H τρίτη παράμετρος θα είναι (0) για την προεπιλογή ρυθμίσεων (μπορεί ένα πρωτόκολλο να υποστηρίζει πολλαπλές ρυθμίσεις). Από τη σελίδα βοήθειας της socket αναφέρετε τι τύποι socket επιτρέπονται στο σύστημά σας: (A16) Από την ίδια σελίδα γράψτε ποιοι τύποι επιτρέπουν εγγυημένη (reliable) μετάδοση δεδομένων και ποιοι όχι: (A17) Πότε αποτυγχάνει η συγκεκριμένη κλήση; Αναφέρετε ενδεικτικά δυο καταστάσεις που μπορεί να οδηγήσουν σε αποτυχία: (A18) Αφού δημιουργηθεί με το socket η θύρα υποδοχής, θα πρέπει στη συνέχεια να την τοποθετήσουμε σε μια συγκεκριμένη διεύθυνση. Αυτό επιτυγχάνεται με την κλήση bind() (σελίδα βοήθειας 2 του manpage). Η συνάρτηση αυτή δέχεται 3 παραμέτρους. Η πρώτη παράμετρος αντιστοιχεί στο file descriptor της υποδοχής που δημιουργήσαμε με το socket. Η δεύτερη παράμετρος είναι struct, δηλαδή μια σύνθετη μεταβλητή. Θα πρέπει πριν, να έχετε ορίσει μια μεταβλητή struct sockaddr_in myaddr στην οποία θα τοποθετήσετε τις παρακάτω τιμές (για δικτυακή ακρόαση). name.sin_family=pf_inet name.sin_addr.s_addr=htonl(inaddr_any) για ακρόαση σε οποιαδήποτε διεύθυνση έχει το μηχάνημά μας name.sin_port=htons(port) όπου port είναι ο αριθμός θύρας που χρησιμοποιούμε Σε περίπτωση που είναι TCP και θέλουμε να την τοποθετήσουμε σε κατάσταση ακρόασης θα χρησιμοποιήσουμε τη συνάρτηση: int listen(int fd, int queuelength) η οποία ορίζει μια ουρά μήκους queuelength σε ένα server στην οποία μπορούν να συσσωρεύονται αιτήσεις από clients για σύνδεση στην υποδοχή που αντιστοιχεί στον περιγραφέα αρχείου fd. Αμέσως μετά τη listen() στο πρωτόκολλο TCP πρέπει να εκτελεστεί η accept() η οποία αποδέχεται μια σύνδεση που έχει γίνει στη θύρα. Η accept() επιστρέφει έναν νέο περιγραφέα αρχείου ο οποίος πρέπει να χρησιμοποιηθεί από το διακομιστή 11

12 για επικοινωνία με το client. Δέχεται τρεις παραμέτρους. Η πρώτη είναι ο αρχικός περιγραφέας αρχείου. Η δεύτερη παράμετρος που είναι pointer είναι η θέση που καταγράφεται η διεύθυνση του client που επιστρέφει η accept(). Η τρίτη παράμετρος είναι pointer και γράφει η accept() το μέγεθος της δεύτερης παραμέτρου. Αφού ολοκληρωθεί η σύνδεση τότε μπορεί να χρησιμοποιηθεί είτε η send() ή write() είτε η recv() ή read() για να σταλούν ή να ληφθούν δεδομένα από τη συγκεκριμένη υποδοχή. Αν θέλουμε να χρησιμοποιήσουμε έναν πελάτη (δηλαδή κάποια διεργασία που θα συνδεθεί σε μια θύρα που είναι ήδη σε ακρόαση) UDP ή TCP τότε η σειρά είναι διαφορετική και είναι η παρακάτω: 6.2 Παραδοτέα C10 και C11 (C10) Να δημιουργήσετε έναν απλό TCP server (c10.c), ο οποίος θα βρίσκεται σε κατάσταση ακρόασης στη θύρα TCP Συγκεκριμένα: Θα κάνει κλήση της socket(). Θα δημιουργεί την κατάλληλη δομή της διεύθυνσης για ακρόαση στη θύρα 9999 Θα καλεί τη bind(). Θα καλεί τη listen(). 12

13 Θα μπαίνει σε ένα ατέρμονο βρόχο στον οποίο: o Θα εκτελεί την accept() η οποία θα περιμένει μια καινούργια σύνδεση. o Θα διαβάζει τα δεδομένα αμέσως μετά την accept() με τη συνάρτηση read(). o Θα εκτυπώνει τα δεδομένα στο τερματικό. o Θα κλείνει τη σύνδεση με close(). (C11) Να δημιουργήσετε έναν απλό TCP echo server (c11.c) (δηλαδή ένα διακομιστή που θα εκτυπώνει ότι του στέλνουμε), ο οποίος θα βρίσκεται σε κατάσταση ακρόασης στη θύρα TCP Συγκεκριμένα: θα κάνει κλήση της socket(). Θα δημιουργεί την κατάλληλη δομή της διεύθυνσης για ακρόαση στη θύρα 9999 Θα καλεί τη bind(). Θα καλεί τη listen(). Θα μπαίνει σε ένα ατέρμονο βρόχο στον οποίο: o θα εκτελεί την accept() η οποία θα περιμένει μια καινούργια σύνδεση. o Θα διαβάζει τα δεδομένα αμέσως μετά την accept() με τη συνάρτηση read(). o Θα γράφει πίσω στο κανάλι τα δεδομένα με τη συνάρτηση write(). o Θα κλείνει τη σύνδεση με close(). Δοκιμάστε τα παραπάνω προγράμματα ως εξής: Εκτελέστε το σε ένα τερματικό. Από ένα άλλο τερματικό δώστε telnet localhost 9999 για να συνδεθείτε στη διεργασία. Πληκτρολογήστε ένα κείμενο και πατήστε enter Το κείμενο θα πρέπει να σας εμφανιστεί ξανά ακριβώς από κάτω. 13

Προγραμματισμός με BSD Sockets σε περιβάλλον Linux

Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Προγραμματισμός με BSD Sockets σε περιβάλλον Linux Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Απρίλιος 2016 Περίγραμμα παρουσίασης 1 Εισαγωγή 2 Δικτυακά

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 13 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No 05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

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

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

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

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:08 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Δίκτυα Επικοινωνιών ΙΙ: Network Programming TCP Sockets

Δίκτυα Επικοινωνιών ΙΙ: Network Programming TCP Sockets Δίκτυα Επικοινωνιών ΙΙ: Network Programming TCP Sockets Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 Δικτυακός Προγραμματισμός Βασικές Έννοιες: IP addresses,

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

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 11: Sockets Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:06 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:00 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Εργαστήριο Αρχιτεκτονική Υπολογιστών Εργαστήριο Ενότητα: ΠΑΡΑΔΕΙΓΜΑ ΑΠΟΣΦΑΛΜΑΤΩΣΗΣ Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

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

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

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

Εργαστήριο Δικτύων Υπολογιστών

Εργαστήριο Δικτύων Υπολογιστών Εργαστήριο Δικτύων Υπολογιστών 3 η Διάλεξη: Δικτυακός Προγραμματισμός Unix Socket programming Μοντέλο client-server O βασικός τύπος δικτυακών εφαρμογών είναι client - server H σχέση server και client μπορεί

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Δομημένος Προγραμματισμός Ενότητα 5(α): Εργαστηριακή Άσκηση Αναπλ. Καθηγητής: Κωνσταντίνος Στεργίου Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:04 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ARDUINO Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

ΑΤΜ PROJECT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2011-2012. Άννα Τριανταφύλλου ΑΕΜ : 456. επιβλέπων καθηγητής: Μηνάς Δασυγένης

ΑΤΜ PROJECT ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ 2011-2012. Άννα Τριανταφύλλου ΑΕΜ : 456. επιβλέπων καθηγητής: Μηνάς Δασυγένης Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΑΤΜ PROJECT Άννα Τριανταφύλλου ΑΕΜ : 456 επιβλέπων καθηγητής: Μηνάς Δασυγένης Περιεχόμενα 1. 2. 3.

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 5 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP

Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Δίκτυα Υπολογιστών Ενότητα 10: Ethernet και ARP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό,

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:05 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 10: Συναρτήσεις Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης

14. Δικτύωση με Java Δικτύωση με Java Sockets Δημιουργία της σύνδεσης Διευθυνσιοδότηση της σύνδεσης 14. Δικτύωση με Java Τελειώνοντας αυτό το κεφάλαιο θα μπορείτε: Να δημιουργείτε έναν ελάχιστο εξυπηρέτη TCP/IP σε Java Να δημιουργείτε έναν ελάχιστο εξυπηρετούμενο TCP/IP σε Java Να κατανοείτε πώς υλοποιούνται

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

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Το επίπεδο προτεραιότητας µιας διεργασίας µπορεί να αλλάξει µε χρήση της συνάρτησης nice. Κάθε διεργασία διαθέτει µια τιµή που καλείται

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

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική

Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Προγραμματισμός Υπολογιστών & Υπολογιστική Φυσική Ενότητα 8: Αρχεία και Δομές Νικόλαος Στεργιούλας Τμήμα Φυσικής Άδειες Χρήσης Το παρόν

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 4: MPI_ANY_TAG,MPI_ANY_SOURCE,MPI_Bcast, MPI_Wtime, MPI_Wait, MPI_Test, MPI_Scatter Δρ. Μηνάς Δασυγένης

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

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:16 INSPECTOR Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών

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

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

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

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

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες 0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

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

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου

Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Αρχιτεκτονική Υπολογιστών Ασκήσεις Εργαστηρίου Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 08 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και

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

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Χειρισμός Αρχείων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αρχεία Συλλογές δεδομένων. Αποθηκεύονται στην περιφερειακή μνήμη: π.χ.

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:07 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap

Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...

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

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

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

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 6: inc, dec, loop, jcxz, dup, displacement Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ Ενότητα: 11Η ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Δρ. ΠΑΝΤΕΛΗΣ ΑΓΓΕΛΙΔΗΣ Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

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

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

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

Ενότητα. Εισαγωγή στη Microsoft Access

Ενότητα. Εισαγωγή στη Microsoft Access Ενότητα 2 Εισαγωγή στη Microsoft Access 2 3 2.1 Το περιβάλλον της Access Το βασικό περιβάλλον της Access φαίνεται στην παρακάτω εικόνα: Εικόνα 2.1: Εισαγωγική οθόνη Στην εισαγωγική οθόνη της Access (εικόνα

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

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς(Transport layer) Επίπεδο εφαρμογής (Application layer): Συντονισμός

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής ΕΥ311-Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Εργαστήριο: Παραδείγματα δημιουργίας διεργασιών στο Linux Ένα πρόγραμμα (το στιγμιότυπο της εκτέλεσης του οποίου

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:11 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP

Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Δίκτυα Υπολογιστών Ενότητα 7: Internet Control Message Protocol - ICMP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

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

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

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

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

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

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

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

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

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας

Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Ενότητα 5: MPI_Reduce Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ANDROID-DEVKIT No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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

Ενσωματωμένα Συστήματα

Ενσωματωμένα Συστήματα Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ Νο 6 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Μοντελοποίηση Λογικών Κυκλωμάτων

Μοντελοποίηση Λογικών Κυκλωμάτων Μοντελοποίηση Λογικών Κυκλωμάτων Ενότητα 7: Η γλώσσα VHDL, Μοντελοποίηση, διαχείριση χρόνου Τμήμα Εφαρμοσμένης Πληροφορικής Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

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

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης

Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης Εργαστήριο 10 ΤΕΙ ΘΕΣΣΑΛΟΝΙΚΗΣ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΔΙΚΤΥΑ Η/Υ Απομακρυσμένη Πρόσβαση και Εντολές Ελέγχου και Υποστήριξης Στόχος Ο στόχος του παρόντος εργαστηρίου είναι διττός: από τη μία πλευρά

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

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP

Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP Δίκτυα Υπολογιστών Ενότητα 9: Dynamic Host Configuration Protocol- DHCP Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ

ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ ΑΣΚΗΣΗ 2: ΔΟΜΗ ΠΡΟΓΡΑΜΜΑΤΟΣ C, ΧΕΙΡΙΣΜΟΣ ΜΕΤΑΒΛΗΤΩΝ ΚΑΙ ΣΥΝΑΡΤΗΣΕΙΣ ΕΙΣΟΔΟΥ ΚΑΙ ΕΞΟΔΟΥ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η ανάλυση των βασικών χαρακτηριστικών της Γλώσσας

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ N:10 Δρ. Μηνάς Δασυγένης mdasyg@ieee.rg Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΝΑΠΤΥΞΗ ΚΑΙ ΣΧΕΔΙΑΣΗ ΛΟΓΙΣΜΙΚΟΥ Η γλώσσα προγραμματισμού C ΕΡΓΑΣΤΗΡΙΟ 2: Εκφράσεις, πίνακες και βρόχοι 14 Απριλίου 2016 Το σημερινό εργαστήριο

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

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

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

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 3: Συναρτήσεις printf() και scanf() Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΥΠΟΛΟΓΙΣΤΩΝ & ΥΠΟΛΟΓΙΣΤΙΚΗ ΦΥΣΙΚΗ Μέρος 5ο ΝΙΚΟΛΑΟΣ ΣΤΕΡΓΙΟΥΛΑΣ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ 1 Η ΕΝΤΟΛΗ for Με την εντολή for δημιουργούμε βρόχους επανάληψης σε

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία. Εργαστήριο 4 ο : MATLAB Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 4 ο : MATLAB Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Άδειες

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

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο)

TEC610 Δυναμικές Εφαρμογές Διαδικτύου (ΣΤ εξάμηνο) TEC610 (ΣΤ εξάμηνο) Διδάσκων: Ανδρέας Γιαννακουλόπουλος Εαρινό εξάμηνο Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά

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

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων

FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων FTP - (File Transfer Protocol ) Πρωτόκολλο Μεταφοράς Αρχείων Το File Transfer Protocol (FTP), (Πρωτόκολλο Μεταφοράς Αρχείων) είναι ένα ευρέως χρησιμοποιούμενο πρωτόκολλο σε δίκτυα τα οποία υποστηρίζουν

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

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP

ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP ΜΕΤΑΦΟΡΑ ΑΡΧΕΙΩΝ FTP Το FTP (File Transfer Protocol) είναι το εξειδικευμένο πρωτόκολλο μεταφοράς αρχείων στα σύγχρονα δίκτυα δεδομένων όπως το Διαδίκτυο. Δίνει τη δυνατότητα μεταφοράς αρχείων από τον υπολογιστή

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

Ειδικά Θέματα Προγραμματισμού

Ειδικά Θέματα Προγραμματισμού Ειδικά Θέματα Προγραμματισμού Ενότητα 3: Τύποι Δεδομένων - Τελεστές Μιχάλας Άγγελος Τμήμα Μηχανικών Πληροφορικής ΤΕ Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

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

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία

Πανεπιστήμιο Δυτικής Μακεδονίας. Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών. Ηλεκτρονική Υγεία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Ηλεκτρονική Υγεία Εργαστήριο 2 ο : OpenEMR- Χρήση Ηλεκτρονικού Ιατρικού φακέλου Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr Τμήμα Μηχανικών

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

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε "Ναι" Τέλος Α2

Παράδειγμα 2. Λύση & Επεξηγήσεις. Τέλος_επανάληψης Εμφάνισε Ναι Τέλος Α2 Διδακτική πρόταση ΕΝΟΤΗΤΑ 2η, Θέματα Θεωρητικής Επιστήμης των Υπολογιστών Κεφάλαιο 2.2. Παράγραφος 2.2.7.4 Εντολές Όσο επανάλαβε και Μέχρις_ότου Η διαπραγμάτευση των εντολών επανάληψης είναι σημαντικό

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

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ

ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ ΟΔΗΓΙΕΣ ΧΡΗΣΤΗ ΓΙΑ ΤΟ ΠΡΟΓΡΑΜΜΑ ΗΛΕΚΤΡΟΝΙΚΗΣ ΤΑΞΗΣ CLAROLINE Κατάλογος περιεχομένων Εγγραφή μαθητή στο Claroline...2 Εγγραφή σε μάθημα...3 Τα μαθήματά μου...4 Αλλαγή του προφίλ μου (Manage my account)...4

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

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: ΔΟΜΕΣ ΕΠΑΝΑΛΗΨΗΣ ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 6: Εντολές επανάληψης Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

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

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

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

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2

Εισαγωγή στον προγραμματισμό. Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Εισαγωγή στον προγραμματισμό Τμήμα Πληροφορικής & Επικοινωνιών ΤΕΙ Σερρών Εργαστήριο 2 Δομή Προγράμματος Όλα τα προγράμματα που γράψαμε έχουν λίγο πολύ την ακόλουθη μορφή: Κάποιος κώδικας εδώ main( ) {

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

Εγκατάσταση λειτουργίας Σάρωση σε e-mail

Εγκατάσταση λειτουργίας Σάρωση σε e-mail Οδηγός γρήγορης εγκατάστασης λειτουργιών σάρωσης XE3024EL0-2 Αυτό το εγχειρίδιο περιέχει οδηγίες για: Εγκατάσταση λειτουργίας Σάρωση σε e-mail στη σελίδα 1 Εγκατάσταση της λειτουργίας Σάρωση σε θυρίδα

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

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή

Εγχειρίδιο Φοιτητών. 1. Εισαγωγή Εγχειρίδιο Φοιτητών 1. Εισαγωγή Η ηλεκτρονική πλατφόρµα «e-class», αποτελεί ένα ολοκληρωµένο σύστηµα Ασύγχρονης Τηλεκπαίδευσης. Στόχος της είναι παροχή υποδοµών εκπαίδευσης και κατάρτισης ανεξάρτητα από

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Μεταβλητές και πράξεις. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Μεταβλητές και πράξεις Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα. Η δομή Επιλογής στη PASCAL. H δομή Επανάληψης στη PASCAL. Η εντολή επανάληψης for Εργαστήριο 6 Εντολές Επανάληψης Τα Εργαστηριακά Προγράμματα Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL Η εντολή επανάληψης for Σκοπός Η εντολή επανάληψης while. 1 ΕΡΓΑΣΤΗΡΙΟ 6 Εισαγωγή στο

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

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

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

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

Βιοϊατρική τεχνολογία

Βιοϊατρική τεχνολογία Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Βιοϊατρική τεχνολογία Ενότητα 5: Οξύμετρο (OxyPro Project) Αν. καθηγητής Αγγελίδης Παντελής e-mail: paggelidis@uowm.gr ΕΕΔΙΠ Μπέλλου Σοφία e-mail: sbellou@uowm.gr

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

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη)

ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ. Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ενότητα: Χρήση εργαλείων Εικόνων, Εντολών και Ετικετών ΚΥΡΟΠΟΥΛΟΣ ΚΩΝΣΤΑΝΤΙΝΟΣ Τμήμα Διοίκηση Επιχειρήσεων (Κοζάνη) Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων

Προγραμματισμός Η/Υ. 7 η ενότητα: Αρχεία. Τμήμα. Τεχνολόγων Περιβάλλοντος. ΤΕΙ Ιονίων Νήσων. Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Προγραμματισμός Η/Υ 7 η ενότητα: Αρχεία Τμήμα Τεχνολόγων Περιβάλλοντος ΤΕΙ Ιονίων Νήσων Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons

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

Διαδικαστικός Προγραμματισμός

Διαδικαστικός Προγραμματισμός Διαδικαστικός Προγραμματισμός Ενότητα 8: Παραδείγματα με μονοδιάστατους πίνακες, συναρτήσεις, δείκτες, πέρασμα παραμέτρων με αναφορά Καθηγήτρια Μαρία Σατρατζέμη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό

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

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

Αρχιτεκτονική Υπολογιστών Πανεπιστήμιο Δυτικής Μακεδονίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 5: Εντολές αλλαγής ροής. Διακλάδωση χωρίς συνθήκη. Διακλάδωση με συνθήκη. Δρ. Μηνάς Δασυγένης

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