cgi.di.uoa.gr/~mema. Nikos Chondros, Panagiotis Diamantopoulos, Yannis Pappas, and Christos Patsonakis.

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

Download "cgi.di.uoa.gr/~mema. Nikos Chondros, Panagiotis Diamantopoulos, Yannis Pappas, and Christos Patsonakis."

Transcript

1 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα Πληροφορικής και Τηλεπικοινωνιών Κ24: Προγραµµατισµός Συστήµατος Εαρινό Εξάµηνο η Προγραµµατιστική Εργασία Ηµεροµηνία Ανακοίνωσης: 25/4/2013 Ηµεροµηνία Υποβολής: 30/5/2013 Εισαγωγή στην Εργασία Ο στόχος αυτής της εργασίας είναι να εξοικειωθείτε µε τον προγραµµατισµό συστήµατος σε Unix, και συγκεκριµένα µε την δηµιουργία νηµάτων και την δικτυακή επικοινωνία Θα υλοποιήσετε έναν ζεύγος προγραµµάτων (client και server) τα οποία θα φροντίζουν να συγχρονίζουν όλα τα αρχεία σε έναν κατάλογο από τον server προς τον client µε αποδοτικό τρόπο, τόσο όσον αφορά την δικτυακή επικοινωνία, όσο και την παραλληλία σε τοπικό και δικτυακό επίπεδο Συγκεκριµένα, το πρόγραµµα πελάτης θα συνδεθεί µε το πρόγραµµα-εξυπηρετητής και θα ζητήσει από το τελευταίο να υπολογίσει ένα hash-tree για κάθε αρχείο ενός συγκεκριµένου καταλόγου Ταυτόχρονα, και αυτό από την πλευρά του θα υπολογίζει τα αντίστοιχα hashtrees του δικού του αντίστοιχου καταλόγου Όταν λάβει σαν απάντηση τα αρχεία και τα hash-trees από τον εξυπηρετητή και έχει υπολογίσει και τα δικά του, θα τα συγκρίνει και θα ζητήσει από τον εξυπηρετητή µόνο τις σελίδες που έχουν διαφορές Όταν τις λάβει, θα ενηµερώσει τα αρχεία του ιαδικαστικά: Το πρόγραµµά σας θα πρέπει να τρέχει στα µηχανήµατα Linux της σχολής Για επιπρόσθετες ανακοινώσεις, παρακολουθείτε τη λίστα του µαθήµατος και το URL: cgidiuoagr/~mema Υπεύθυνοι για την άσκηση αυτή (ερωτήσεις, αξιολόγηση, βαθµολόγηση, κτλ) είναι οι: Nikos Chondros, Panagiotis Diamantopoulos, Yannis Pappas, and Christos Patsonakis θα βρείτε στην ιστοσελίδα του µαθήµατος Εγγραφείτε στην ηλεκτρονική λίστα (mailman) του µαθήµατος και παρακολουθείτε ερωτήσεις/απαντήσεις/διευκρινήσεις που δίνονται σχετικά µε την άσκηση (σηµείωση: η η-λίστα αυτή δεν έχει καµία σχέση µε την hard-copy λίστα που κυκλοφορησε στα πρώτα µαθήµατα και στην οποία θα έπρεπε να γράψετε το όνοµά σας και το Unix user-id σας) Τι πρέπει να παραδοθεί: 1 Όλη η δουλειά σας σε ένα tar-file που να περιέχει όλα τα source files, header files, makefile ΠΡΟΣΟΧΗ: φροντίστε να φτιάξετε τα δικαιώµατα αυτού του αρχείου πριν την υποβολή, πχ µε chmod 755 OnomaEponymoProject1tar (περισσότερα στη σελίδα του µαθήµατος) 2 Μια σύντοµη περιγραφή (2-3 σελίδες) για τις επιλογές που κάνατε στο σχεδιασµό της άσκησης, σε µορφή PDF 3 Οποιαδήποτε πηγή πληροφορίας, συµπεριλαµβανοµένου και κώδικα που µπορεί να βρήκατε στο ιαδίκτυο θα πρέπει να αναφερθεί και στον πηγαίο κώδικά σας αλλά και

2 στην παραπάνω αναφορά Υπόβαθρο Hash-Trees Ισχύει η εισαγωγή της πρώτης εργασίας σχετικά µε συναρτήσεις κατακερµατισµού και δέντρα κατακερµατισµού Αυτή τη φορά όµως, το χτίσιµο του δέντρου είναι πολύ απλούστερο Τα δέντρα θα είναι σταθερού µεγέθους, αφού ύψος και fan-out ορίζονται από παραµέτρους Έστω λοιπόν δέντρο ύψους height, όπου num_levels=height+1 Για να φτιαχτεί ένα hash-tree σταθερού µεγέθους, που αντιπροσωπεύει ένα αρχείο µε αυτή τη λογική, αρκεί η εξής διαδικασία (το σύµβολο ^ σηµαίνει στη δύναµη ): for i = 0 height level[i] = allocate memory for fanout^i elements page=0 while not end of file //iterate through every page of the file read page_data (remeber to pad the last with zeroes) level[height][page]=hash(page_data) page++ while page < fanout^(height) //fill the rest with hash of blank page level[height][page] = hash(blank_page) page++ Έχοντας τα φύλλα, κάνετε ένα πέρασµα προς τα πάνω για να συµπληρώσετε και όλα τα εσωτερικά digests µέχρι το root: level=height 1 while level >= 0 for i = 0 fanout^level-1 //for each node in this level levels[level][i] = hash of elements: levels[level+1][fanout*i] up to but not including levels[level+1][fanout*(i+1)] level-- Στο τέλος, το levels[0][0] είναι το root digest που αντιπροσωπεύει όλο το δέντρο Αλγόριθµος σύγκρισης ταξινοµηµένων σειρών αρχείων Επίσης θα χρειαστείτε έναν αλγόριθµο που συγκρίνει δύο ταξινοµηµένες σειρές αρχείων και αποφασίζει τις ενέργειες που πρέπει να εφαρµόσει για να τα συγχρονίσει Έστω λοιπόν πίνακες source[] και target[] µε ονόµατα αρχείων Ο παρακάτω αλγόριθµος θα τα συγχρονίσει µε ένα πέρασµα στον source[] (όπου #πίνακας εννοεί το πλήθος των στοιχείων του): isource=itarget=0 while isource < #source while itarget < #target and target[itarget] < source[isource] delete file target[itarget] from target path itarget++

3 if itarget < #target and target[itarget] == source[isource] compare the contents of the two files and syncronize itarget++ else copy file source[isource] to target path isource++ Αναλυτική περιγραφή Θέµα 1: Server, Μονάδες 60 *** Αναπτύξτε την εφαρµογή filesyncd, η οποία θα εξυπηρετεί πολλαπλές συνδέσεις από πελάτες, έτσι ώστε να τους δίνει τη δυνατότητα να συγχρονίσουν έναν κατάλογο την φορά µε τον αντίστοιχο στον server Η σύνταξη θα είναι: filesynd <port> <thread_pool_size> <queue_size> <tree_height> <tree_fanout> Όπου: port: Το port στο οποίο θα ακούει για εξωτερικές συνδέσεις thread_pool_size: Ο αριθµός των worker threads στο thread pool queue_size: Το µέγεθος της ουράς ενδοεπικοινωνίας tree_height: το (σταθερό) ύψος του hash-tree tree_fanout: το (σταθερό) fan-out του hash-tree Η εφαρµογή θα εξυπηρετεί πολλαπλούς πελάτες µέσω multiplexing σε ένα thread (µέσω select/poll/epoll) και θα µοιράζει την πραγµατική εργασία σε ένα thread pool Όλη η δικτυακή επικοινωνία µε τους πελάτες θα γίνεται από ένα και µόνο thread (απαγορεύονται λύσεις thread-per-socket) Όταν λάβει οποιοδήποτε µήνυµα από πελάτη του δικτύου, θα το προωθήσει σε κάποιο από τα worker threads για να το υλοποιήσει Όταν το worker-thread τελειώσει, θα στείλει το αποτέλεσµα πίσω στο κυρίως thread, το οποίο µε τη σειρά του θα το προωθήσει στον πελάτη Για την προώθηση µηνυµάτων προς το thread pool, θα χρησιµοποιήσετε µια δοµή τύπου ουράς (queue), υλοποιώντας µια σχέση producer/consumer Για την προώθηση απαντήσεων από το thread pool προς το main thread, µπορείτε να χρησιµοποιήσετε είτε sockets τύπου AF_INET (όπου το listening side θα ακούει µόνο στο loopback interface), είτε sockets τύπου AF_UNIX Ένα διάγραµµα που δείχνει την επιθυµητή διάταξη του server είναι το ακόλουθο:

4 Πελάτης Πελάτης External socket Internall socket Server Main Thread Server Worker Thread Queue Server Worker Thread Τα µηνύµατα θα είναι τα ακόλουθα: Μήνυµα Κατεύθυνση C=Client S=Server W=Worker thread Περιγραφή GETFILES <directory> C->S, S->W Αιτείται τα στοιχεία των αρχείων του καταλόγου <directory> EXPECT <num> W->S, S->C Ενηµερώνει τον πελάτη πόσα αρχεία να περιµένει (δηλαδή µηνύµατα FILEINFO) PROCESSFILE <directory> <filename> FILEINFO <filename> <filesize> <hash-tree> GETDATA <directory> <filename> <pageno> DATA <filename> <pageno> <pagedata> S->W W->S, S->C C->S, S->W W->S, S->C Αιτείται την ανάγνωση του αρχείου και τη δηµιουργία του hash-tree Ενηµερώνει τον πελάτη µε τα απαραίτητα στοιχεία για τον συγχρονισµό ενός αρχείου Αιτείται µια συγκεκριµένη σελίδα ενός αρχείου από τον εξυπηρετητή Μεταφέρει στον πελάτη τα δεδοµένα µιας σελίδας ενός αρχείου ERROR <message> W->S, S->C Μήνυµα λάθους το οποίο αποστέλλει ένα thread σε οποιαδήποτε περίπτωση λάθους, µε το ανάλογο µήνυµα

5 Έτσι, όταν ληφθεί ένα µήνυµα GETFILES, προωθείται άµεσα στο queue του thread pool Ένα από τα threads θα το αναλάβει, και θα ανατρέξει στον δοθέντα κατάλογο για να βρει όλα τα αρχεία που περιλαµβάνει Για κάθε ένα που θα βρει, θα προωθήσει στο queue του thread pool ένα µήνυµα <PROCESSFILE> για να γίνει η ανάγνωσή του Τέλος, θα στείλει ένα µήνυµα EXPECT στο πελάτη (µέσω του main thread πάντα) έτσι ώστε να τον ενηµερώσει πόσα FILEINFO µηνύµατα να περιµένει Σηµειώστε ότι το µέγεθος σελίδας για αυτή την άσκηση είναι σταθερό και ίσο µε 4 Kb (4096 (bytes Σηµειώστε επίσης ότι, για να στείλει ένα µήνυµα το κυρίως thread του server σε έναν πελάτη, θα πρέπει να ξέρει για ποιον πελάτη πρόκειται! Άρα, το main thread θα πρέπει να εµπλουτίζει ένα µήνυµα µε αυτήν την πληροφορία πριν το τοποθετήσει στο queue για το thread pool Τα worker threads θα εκτελούν τελικά µια από τις παρακάτω λειτουργίες: Μήνυµα Λειτουργία GETFILES <directory> PROCESSFILE <directory> <filename> GETDATA <directory> <filename> <pageno> Ψάχνει στον συγκεκριµένο κατάλογο για όλα τα αρχεία Προωθεί από ένα PROCESSFILE µήνυµα για το καθένα στο queue του thread pool Τέλος στέλνει ένα µήνυµα EXPECT στο main thread για να το προωθήσει στον πελάτη Βρίσκει το µέγεθος του αρχείου και στη συνέχεια φτιάχνει το hashtree που το συνοψίζει Στέλνει ένα µήνυµα FILEINFO µε αυτά τα στοιχεία στο main thread για να το προωθήσει στον πελάτη ιαβάζει την συγκεκριµένη σελίδα του αρχείου και στέλνει ένα µήνυµα DATA µε αυτά τα στοιχεία στο main thread για να το προωθήσει στον πελάτη Θέµα 2:Client, Μονάδες 40 *** Η δεύτερη εφαρµογή που καλείστε να αναπτύξετε είναι το αντίστοιχο πρόγραµµα πελάτη (filesync) το οποίο θα επικοινωνεί µε τον εξυπηρετητή µε σκοπό να συγχρονίσει τα περιεχόµενα ενός τοπικού του καταλόγου Η κλήση του προγράµµατος από την γραµµή εντολών θα έχει ως εξής: /filesync <server_ip> <server_port> <thread_pool_size> <queue_size> <tree height> <tree fan-out> <directory-name> Όπου: server_ip: Η διεύθυνση IP που χρησιµοποιεί ο εξυπηρετητής server_port: Η πόρτα που χρησιµοποιεί ο εξυπηρετητής thread_pool_size: Ο αριθµός των worker threads στο thread pool queue_size: Το µέγεθος της ουράς ενδοεπικοινωνίας για τα worker threads tree_height: το (σταθερό) ύψος του hash-tree tree_fanout: το (σταθερό) fan-out του hash-tree directory-name: το όνοµα του καταλόγου τον οποίο θα συγχρονίσει το filesync Το ζητούµενο εδώ είναι να κερδίσουµε χρόνο µέσω παραλληλίας σε δύο επίπεδα:

6 1 Ο client θα πρέπει να χρησιµοποιήσει πολλά νήµατα για να διαβάσει τα στοιχεία των (τοπικών) αρχείων 2 Ο client θα πρέπει να ζητήσει από τον server να του δώσει τα στοιχεία των (αποµακρυσµένων) αρχείων χωρίς να περιµένει πρώτα να τελειώσει η δική του επεξεργασία Το πρόγραµµα πελάτης λοιπόν εκκινεί την εκτέλεση του διαβάζοντας και επαληθεύοντας τις τιµές των παραµέτρων που έλαβε από την γραµµή εντολών Στη συνέχεια αρχικοποιεί µια ουρά µηνυµάτων (message-queue) την οποία και θα χρησιµοποιήσει για την επικοινωνία µεταξύ των threads Τέλος, δηµιουργεί τόσα νήµατα όσα ορίζει η παράµετρος <thread_pool_size> Το αρχικό νήµα, δηλαδή αυτό που δηµιούργησε όλα τα υπόλοιπα, θα το ονοµάσουµε το κύριο νήµα (main thread), ενώ τα υπόλοιπα νήµατα εργάτες (worker threads) Τα νήµατα εργάτες θα περιµένουν µηνύµατα από το queue (σχέση παραγωγού-καταναλωτή, producer-consumer), όπου τον ρόλο του παραγωγού τον αναλαµβάνει το κύριο νήµα και τον ρόλο του καταναλωτή τον αναλαµβάνουν τα νήµατα εργάτες Συνεπώς, σε αυτό το στάδιο του προγράµµατος, η διεργασία filesync αποτελείται από <thread_pool_size>+1 νήµατα συνολικά Έπειτα, το κύριο νήµα, ανοίγει και διαβάζει τα περιεχόµενα του καταλόγου που έλαβε σαν όρισµα από την γραµµή εντολών Οι κλήσεις συστήµατος που θα χρησιµοποιήσετε για αυτήν την λειτουργία ανήκουν στην οικογένεια που ορίζεται στο αρχείο-επικεφαλίδα direnth και σας είναι ήδη γνωστές από τις διαφάνειες του µαθήµατος Ο σκοπός είναι για κάθε καταχώρηση του καταλόγου (όνοµα αρχείου) να δηµιουργηθεί ένα δέντρο κατακερµατισµού από τα περιεχόµενα του αρχείου, ένα έργο το οποίο θα διεκπεραιωθεί από τα νήµατα εργάτες Για το σκοπό αυτό, το κύριο νήµα δηµιουργεί µία αίτηση CALCULATE_HASH <filename> την οποία την τοποθετεί στην ουρά αιτήσεων Αυτό το γεγονός έχει σαν αποτέλεσµα να ξυπνήσει (ξεµπλοκάρει) ένα νήµα εργάτη το οποίο θα αναλάβει να την εξυπηρετήσει (δες παρακάτω για το τι θα κάνει) Σε αυτό το σηµείο τα νήµατα-εργάτες είναι ελεύθερα και αυτόνοµα για να επεξεργαστούν τα δεδοµένα των ζητούµενων αρχείων (παραλληλία) Όταν ένα νήµα εργάτης παραλάβει µία αίτηση CALCULATE_HASH, εκκινεί τον υπολογισµό ενός δέντρου κατακερµατισµού από τα περιεχόµενα του αρχείου που του υποδεικνύει Κάθε νήµα εργάτης, όταν ολοκληρώσει τον υπολογισµό ενός δέντρου κατακερµατισµού, το τοποθετεί σε µία διαµοιραζόµενη λίστα η οποία συγκεντρώνει τα αποτελέσµατα όλων των νηµάτων εργατών Τα περιεχόµενα της λίστας αυτής πρέπει να είναι ταξινοµηµένα βάση του ονόµατος του αρχείου, κάτι το οποίο µπορείτε να φροντίσετε κατά την εισαγωγή στη λίστα Επιστρέφοντας στην λειτουργία του κύριου νήµατος, ενώ αυτό διαβάζει τις καταχωρήσεις του καταλόγου, υπάρχει περίπτωση, εκείνη την χρονική στιγµή, όλα τα νήµατα εργάτες να είναι ήδη απασχοληµένα µε τον υπολογισµό δέντρων κατακερµατισµού Σε αυτήν την περίπτωση, το κύριο νήµα δεν θα αναστείλει την λειτουργία του περιµένοντας τα νήµατα εργάτες να τελειώσουν µε το έργο τους, αλλά θα τοποθετήσει την αίτηση στην διαµοιραζόµενη ουρά και θα συνεχίσει µε την επόµενη (αν υπάρχει) καταχώρηση του καταλόγου κανονικά Συνεπώς, µετά το πέρας της ανάγνωσης των περιεχοµένων του καταλόγου από το κύριο νήµα, κατά πάσα πιθανότητα θα εκκρεµούν ακόµη αρκετές αιτήσεις

7 CALCULATE_HASH Χωρίς να περιµένει αυτές να τελειώσουν, το κύριο νήµα επιχειρεί να ανοίξει µία TCP σύνδεση µε τον εξυπηρετητή Όταν συνδεθεί µε επιτυχία µε τον εξυπηρετητή του αποστέλλει µήνυµα GETFILES <directory-name>, δηλώνοντας έτσι στον εξυπηρετητή πως επιθυµεί να συγχρονίσει τα περιεχόµενα του τοπικού του καταλόγου <directory-name> µε αυτά που βρίσκονται αποµακρυσµένα στον εξυπηρετητή Το πρόγραµµα του εξυπηρετητή, µε την παραλαβή ενός τέτοιου µηνύµατος, θα απαντήσει µε τα εξής: EXPECT <n> FILEINFO <name 1,size 1,hash_tree 1 > FILEINFO <name 2,size 2,hash_tree 2 > FILEINFO <name n,size n,hash_tree n > Το µήνυµα EXPECT <n> δηλώνει στον πελάτη, ουσιαστικά, πόσα αρχεία περιέχει ο κατάλογος Για κάθε αρχείο του καταλόγου, ο εξυπηρετητής αποστέλλει ένα µήνυµα τύπου FILEINFO το οποίο περιέχει µία τριπλέτα που περιλαµβάνει το όνοµα, το µέγεθος και το σειριοποιηµένο (serialized) δέντρο κατακερµατισµού για ένα αρχείο του καταλόγου Σηµειώστε σε αυτό το σηµείο ότι το µήνυµα EXPECT µπορεί να µην έρθει πρώτο, λόγω της παράλληλης επεξεργασίας στην πλευρά του server Σε ακραία περίπτωση, θα µπορούσαµε να έχουµε ακόµη και το εξής: FILEINFO <name 1,size 1,hash_tree 1 > FILEINFO <name n,size n,hash_tree n > FILEINFO <name 2,size 2,hash_tree 2 > EXPECT <n> Συνεπώς, το πρόγραµµα πελάτης, µετά την επιτυχή αποστολή ενός GETFILES µηνύµατος, εισέρχεται σε έναν βρόγχο στον οποίο περιµένει να διαβάσει την απάντηση από τον εξυπηρετητή µε στόχο να χτίσει την λίστα-αρχείων-εξυπηρετητή Αν υποθέσουµε ότι όλα βαίνουν καλώς και ο πελάτης λάβει πρώτα το µήνυµα EXPECT, τότε είναι σε θέση να γνωρίζει ακριβώς πόσα µηνύµατα FILEINFO θα διαβάσει στην συνέχεια Όµως, επειδή, όπως προείπαµε, υπάρχει περίπτωση τα µηνύµατα να ληφθούν ανακατεµένα, ο πελάτης θα πρέπει να είναι σε θέση να χειριστεί αυτήν την περίπτωση Συνεπώς, ενώ λαµβάνει FILEINFO µηνύµατα και δεν έχει λάβει το µήνυµα EXPECT, τα αποθηκεύει ούτως ή άλλως στην λίστα-αρχείων-εξυπηρετητή και συνεχίζει µε την επόµενη ανάγνωση Όταν τελικά λάβει το µήνυµα EXPECT είναι σε θέση πλέον να γνωρίζει πόσα και αν θα ακολουθήσουν άλλα FILEINFO µηνύµατα Όταν δεν υπάρχουν άλλα διαθέσιµα µηνύµατα, ο πελάτης προχωρά στο επόµενο βήµα της εκτέλεσής του Σηµειώστε ότι και αυτή η λίστα θα πρέπει να είναι ταξινοµηµένη, κάτι το οποίο µπορείτε και πάλι να φροντίσετε κατά την εισαγωγή Σε αυτό το σηµείο, το κύριο νήµα ελέγχει αν όλα τα νήµατα εργάτες έχουν ολοκληρώσει το

8 έργο τους Σε περίπτωση που κάποιο/α είναι ακόµα απασχοληµένα, τώρα και µόνον τώρα θα περιµένει να τερµατίσουν Με αυτόν τον τρόπο έχουµε πετύχει την επικάλυψη του τοπικού υπολογισµού των δέντρων κατακερµατισµού µε την δικτυακή επικοινωνία µε τον εξυπηρετητή µέσω της παραλληλίας Όταν όλα τα νήµατα εργάτες τερµατίσουν την λειτουργία τους, τότε το κύριο νήµα εισέρχεται στο στάδιο συγχρονισµού των περιεχοµένων του φακέλου Στα πλαίσια αυτής της περιγραφής θα θεωρήσουµε ότι η κατάσταση των φακέλων στον πελάτη και στον εξυπηρετητή είναι αυτή του παρακάτω σχήµατος Server (filesyncd): directory/ file1 file3 file4 Client (filesync): directory/ file1 file2 file3 Σχήµα 1: Περιεχόµενα του υπό συγχρονισµού καταλόγου µε όνοµα directory στην πλευρά του πελάτη και του εξυπηρετητή Το αρχείο file3 υπάρχει και είναι το ίδιο και απαράλλαχτο, το file1 υπάρχει και στις δύο πλευρές αλλά, τόσο τα περιεχόµενά του, όσο και το µέγεθός του ή και τα δύο, διαφέρουν Το file2 υπάρχει µόνο στην πλευρά του πελάτη και αντιστοίχως, το file4, µόνο στην πλευρά του εξυπηρετητή Σε αυτό το στάδιο της εκτέλεσής του, το κύριο νήµα έχει στην διάθεσή του δύο λίστες Η πρώτη περιέχει καταχωρήσεις που αφορούν τον τοπικό του κατάλογο ενώ η δεύτερη περιέχει τις καταχωρήσεις στην πλευρά του εξυπηρετητή Για να συγχρονιστούν τα περιεχόµενα των φακέλων πρέπει: 1 Να δηµιουργηθούν όλα τα αρχεία που υπάρχουν στην δεύτερη λίστα και δεν υπάρχουν στην πρώτη Σε αυτήν την περίπτωση το πρόγραµµα πελάτης θα εκτυπώνει στην οθόνη µήνυµα: Creating file <filename> with size <size> 2 Να διαγραφούν όλα τα αρχεία που υπάρχουν στην πρώτη και δεν υπάρχουν στην δεύτερη Σε αυτήν την περίπτωση το πρόγραµµα πελάτης θα εκτυπώνει στην οθόνη µήνυµα: Deleting file <filename> 3 Να συγκριθούν τα αρχεία που εµφανίζονται και στις δύο λίστες χρησιµοποιώντας τον αλγόριθµο σύγκρισης των δέντρων Merkle που µάθατε στην 1 η εργασία Σε αυτήν την περίπτωση το πρόγραµµα πελάτης θα εκτυπώνει στην οθόνη µήνυµα: File <filename> client and server versions differ in page <page_number>, για κάθε

9 σελίδα στην οποία τα περιεχόµενα του αρχείου <filename> διαφέρουν Στο υπόβαθρο σας έχει δοθεί ένας αλγόριθµος που υλοποιεί τα παραπάνω σε ένα πέρασµα Χρησιµοποιώντας την παραπάνω µεθοδολογία καθίσταται εφικτό το πρόγραµµα πελάτης να ζητήσει από τον εξυπηρετητή µόνο τις σελίδες δεδοµένων που χρειάζεται, περιορίζοντας έτσι το δικτυακό κόστος επικοινωνίας Το πρόγραµµα πελάτης λοιπόν θα ζητήσει µία-µία όλες τις σελίδες δεδοµένων από τον εξυπηρετητή µε την αποστολή GETDATΑ µηνυµάτων Σηµειώστε ότι θα πρέπει να χρησιµοποιήσετε το πεδίο µέγεθος αρχείου έτσι ώστε, και να ζητήσετε σελίδες µόνο στο πραγµατικό εύρος δεδοµένων του αρχείου, αλλά και να θέσετε το σωστό µέγεθος αρχείου µετά τον συγχρονισµό (δες ftruncate) Μετά το πέρας αυτής της διαδικασίας, τα περιεχόµενα του καταλόγου έχουν συγχρονιστεί µε επιτυχία και το πρόγραµµα πελάτης τερµατίζει την λειτουργία του εκτυπώνοντας µήνυµα επιτυχίας Θέµα 3 (Extra credit), Μονάδες 20 *** Προσέξτε ότι το τελικό στάδιο του προγράµµατος client είναι απολύτως σειριακό Η ροή δεδοµένων είναι η εξής: Αποστολή αίτησης για σελίδα δεδοµένων στον server (write to socket) <Αναµονή απάντησης: κόστος δικτυακής επικοινωνίας> Αίτηση εγγραφής δεδοµένων στο δίσκο (write to file) <Αναµονή ολοκλήρωσης: κόστος εγγραφής σε δίσκο> Και αυτό επαναλαµβάνεται για κάθε σελίδα κάθε αρχείου που πρέπει να έρθει από τον server Είναι προφανές ότι αυτές οι αναµονές θα µπορούσαν να επικαλυφθούν µε επεξεργασία, αν: 1 Υπήρχε σταθερή ροή αιτήσεων σελίδων προς το δίκτυο, χωρίς αναµονή για πρότερη απάντηση (δες πρωτόκολλα επανεκποµπής, στόχος η αποφυγή του Stop-And-Wait και της τραγικά µικρής δικτυακής απόδοσης που επιφέρει) 2 Η ροή αιτήσεων εγγραφής δεδοµένων στον δίσκο ήταν σταθερή και επικάλυπτε την αναµονή απάντησης από το δίκτυο Σχεδιάστε και εφαρµόστε µια λύση στο παραπάνω πρόβληµα Hint: A socket can safely be read from one thread and written to by another thread (that is, two threads need no further synchronization if one is only reading from a socket and the other is only writing to it) ιαδικαστικά Επισηµάνσεις/Παραδοχές: Υποθέστε ότι ο κατάλογος για συγχρονισµό µπορεί να είναι µόνο άµεσος υπόκατάλογος του τρέχοντος καταλόγου, τόσο για τον client όσο και για τον server Υποθέστε ότι δεν υπάρχουν hard/soft links, όπως και υποκατάλογοι στους καταλόγους για συγχρονισµό Υποθέστε ότι τα αρχεία στον server δεν αλλάζουν για όλη τη διάρκεια ζωής του προγράµµατος server Θα πρέπει να δώσετε µια καλή λύση στην οριοθέτηση µηνυµάτων στο κανάλι (see: message framing for TCP socket) Θα πρέπει να γνωρίζετε που αρχίζει και που τελειώνει ένα µήνυµα, και να µπορείτε να µεταφέρετε οποιαδήποτε πληροφορία

10 µεταβλητού µεγέθους χωρίς περιορισµούς όσον αφορά τους χαρακτήρες που περιλαµβάνονται Θα πρέπει να διαχειριστείτε κατάλληλα την περίπτωση που η µια πλευρά κλείνει την σύνδεση (SIGPIPE/EPIPE) Θα εκτιµηθεί περισσότερο µια λύση που σέβεται το γεγονός ότι ο client και ο server µπορεί να τρέχουν σε πλατφόρµες διαφορετικής αρχιτεκτονικής (χρήση htonx, ntohx) Συνεχίζοντας µε το παραπάνω, η ενδοεπικοινωνία µε sockets όµως δεν έχει τέτοιους περιορισµούς Μάλιστα, επειδή εγγυηµένα στην περίπτωσή µας τα δύο άκρα είναι στην ίδια διεργασία, µπορείτε να µεταφέρετε ακόµη και δείκτες µέσω αυτής Η σύγκριση των hash-trees θα πρέπει να γίνει από τη ρίζα προς τα κάτω και όχι φύλλο-φύλλο Οποιαδήποτε καλύτερη λύση για την ταξινόµηση των λιστών µε τα ονόµατα αρχείων είναι ευπρόσδεκτη Εννοείτε ότι περιµένουµε αµυντικό προγραµµατισµό (έλεγχο λαθών) σε όλα τα επίπεδα (από τις παραµέτρους των προγραµµάτων µέχρι την ορθότητα των δικτυακών µηνυµάτων) Τι θα βαθµολογηθεί: 1 Η συµµόρφωση του κώδικά σας µε τις προδιαγραφές της άσκησης 2 Η οργάνωση και η αναγνωσιµότητα (µαζί µε την ύπαρξη σχολίων) του κώδικα 3 Η χρήση Makefile και η κοµµατιαστή σύµβολο-µετάφραση (separate compilation) 4 Η αναφορά που θα γράψετε και θα υποβάλετε µαζί µε τον πηγαίο κώδικα σε µορφή PDF Άλλες σηµαντικές παρατηρήσεις: 1 Οι εργασίες είναι ατοµικές 2 Όποιος υποβάλλει / δείχνει κώδικα που δεν έχει γραφτεί από την ίδια/τον ίδιο µηδενίζεται στο µάθηµα 3 Αν και αναµένεται να συζητήσετε µε φίλους και συνεργάτες το πως θα επιχειρήσετε να δώσετε λύση στο πρόβληµα, αντιγραφή κώδικα (οποιασδήποτε µορφής) είναι κάτι που δεν επιτρέπεται και δεν πρέπει να γίνει Οποιοσδήποτε βρεθεί αναµεµειγµένος σε αντιγραφή κώδικα απλά παίρνει µηδέν στο µάθηµα Αυτό ισχύει για όλους όσους εµπλέκονται, ανεξάρτητα από το ποιος έδωσε/πήρε κλπ 4 Το πρόγραµµά σας θα πρέπει να γραφτεί σε C (ή C++ χωρίς όµως STL extensions) και θα πρέπει να τρέχει σε Ubuntu-Linux, αλλιώς δεν θα βαθµολογηθεί 5 Σε καµία περίπτωση τα MS-Windows δεν είναι επιλογή πλατφόρµας για την παρουσίαση αυτής της άσκησης

50 Ketseo,Theoni Sarif,Omar 104

50 Ketseo,Theoni Sarif,Omar 104 Κ24: Προγραμματισμός Συστήματος 3η Εργασία Εαρινό Εξάμηνο 2016 Προθεσμία Υποβολής: Κυριακή 5 Ιουνίου 2016 Ωρα 23:59 Εισαγωγή στην Εργασία: Ο στόχος της εργασίας αυτής είναι να εξοικειωθείτε με την χρήση

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

an:3 are:6 a:10

an:3 are:6 a:10 Άσκηση 1 Προγραμματισμός Συστήματος Προθεσμία: 18 Μαΐου 2014 Σ αυτή την άσκηση θα υλοποιήσετε ένα σύστημα auto-complete κατά τη διάρκεια πληκτρολόγησης. Ο πυρήνας του συστήματος είναι μια δομή trie (απλό

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

$./MirrorInitiator -n <MirrorServerAddress> -p <MirrorServerPort> \\ -s <ContentServerAddress1:ContentServerPort1:dirorfile1:delay1, \\

$./MirrorInitiator -n <MirrorServerAddress> -p <MirrorServerPort> \\ -s <ContentServerAddress1:ContentServerPort1:dirorfile1:delay1, \\ Κ24: Προγραμματισμός Συστήματος 3η Εργασία Εαρινό Εξάμηνο 2017 Προθεσμία Υποβολής: Κυριακή 4 Ιουνίου 2017 Ωρα 23:59 Εισαγωγή στην Εργασία: Ο στόχος της εργασίας αυτής είναι να εξοικειωθείτε με την χρήση

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

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input). Κ24: Προγραμματισμός Συστήματος 2η Εργασία Εαρινό Εξάμηνο 2017 Προθεσμία Υποβολής: Κυριακή 30 Απριλίου 2017 Ωρα 23:59 Εισαγωγή στην Εργασία: Ο στόχος της εργασίας αυτής είναι να εξοικειωθείτε με την δημιουργία

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

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

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

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

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο

CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο CloudBox!: Ένα εργαλείο cloud αποθήκευσης αρχείων με κατανεμημένο τρόπο Project Phase 1 ΗΥ - 335α Χειμερινό εξάμηνο 2012-2013 Διδάσκουσα: Παπαδοπούλη Μαρία Υπεύθυνος βοηθός: Σουρλίγκας Μανώλης, surligas@csd.uoc.gr

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

waitpid(), read(), write(), pipe(), mkfifo() κ.α.).

waitpid(), read(), write(), pipe(), mkfifo() κ.α.). ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών 2η Εργασία - Τμήμα: Περιττών Αριθμών Μητρώου Κ22: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 18 Ημερομηνία Ανακοίνωσης: Παρασκευή 26 Οκτωβρίου 2018

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

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

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

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

Εισαγωγή. Interface της εφαρμογής. Κ24: Προγραμματισμός Συστήματος - 1η Εργασία, Εαρινό Εξάμηνο 2019 Προθεσμία Υποβολής: Παρασκευή 15 Μαρτίου, 23:59

Εισαγωγή. Interface της εφαρμογής. Κ24: Προγραμματισμός Συστήματος - 1η Εργασία, Εαρινό Εξάμηνο 2019 Προθεσμία Υποβολής: Παρασκευή 15 Μαρτίου, 23:59 Κ24: Προγραμματισμός Συστήματος - 1η Εργασία, Εαρινό Εξάμηνο 2019 Προθεσμία Υποβολής: Παρασκευή 15 Μαρτίου, 23:59 Εισαγωγή Στην εργασία αυτή θα υλοποιήσετε ένα πρόγραμμα που θα δέχεται, θα επεξεργάζεται,

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού

HY-486 Αρχές Κατανεμημένου Υπολογισμού HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Τρίτη 2/5 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε

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

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

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

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

./mydiz {-c -a -x -m -d -p -j} <archive-file> <list-of-files/dirs>

./mydiz {-c -a -x -m -d -p -j} <archive-file> <list-of-files/dirs> ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών η Εργασία - Τμήμα: Περιττών Αριθμών Μητρώου Κ: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 6 Ημερομηνία Ανακοίνωσης: 8 Ιανουαρίου Ημερομηνία Υποβολής:

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

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun

0 The quick brown fox leaped over the lazy lazy dog 1 Quick brown foxes leaped over lazy dogs for fun Κ24: Προγραμματισμός Συστήματος - 1η Εργασία, Εαρινό Εξάμηνο 2018 Προθεσμία Υποβολής: Κυριακή 18 Μαρτίου, 23:59 Εισαγωγή Στην εργασία αυτή θα υλοποιήσετε μία μίνι μηχανή αναζήτησης (search engine). Οι

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

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τμημα Πληροφορικης και Τηλεματικης Τσάμη Παναγιώτα ΑΜ: 20833 ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Άσκηση 1 Αθήνα 13-12-2011 Αναφορά Ενότητα 1 A Δημιουργήστε στο φλοιό 3 εντολές (alias) που η

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστηµάτων Βάσεων εδοµένων Εαρινό Εξάµηνο 2009 2010 Καθηγητής. Γουνόπουλος Άσκηση 1 Σκοπός της εργασίας αυτής είναι η κατανόηση της εσωτερικής λειτουργίας

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

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

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

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

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

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

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

wget --post-file meme.jpg 50.18.252.53:9646

wget --post-file meme.jpg 50.18.252.53:9646 ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών Κ24: Προγραμματισμός Συστήματος Εαρινό Εξάμηνο 2012 4η Προγραμματιστική Εργασία Ημερομηνία Ανακοίνωσης: 30/5/12 Ημερομηνία Υποβολής: 15/7/12 Εισαγωγή

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

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

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

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

Kitchen Doormam. Floor with Tables. Restaurant Floorplan and Operation

Kitchen Doormam. Floor with Tables. Restaurant Floorplan and Operation ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών 3η Εργασία - Τμήμα: Αρτίων Αριθμών Μητρώου Κ22: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 16 Ημερομηνία Ανακοίνωσης: 23/11 Ημερομηνία Υποβολής:

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Χειμερινό Εξάμηνο 2015 2016 Ι. Ιωαννίδης Άσκηση 3: Αποθήκευση κατά στήλες Προθεσμία: 25 Ιανουαρίου 2016, 11:59μμ Ο σκοπός της εργασίας

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

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

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

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

fall2018/k22/home m1436+at-di.

fall2018/k22/home m1436+at-di. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών 1η Εργασία - Τμήμα: Περιττών Αριθμών Μητρώου Κ22: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 18 Ημερομηνία Ανακοίνωσης: Τρίτη 2 Οκτωβρίου 2018 Ημερομηνία

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

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία

ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο Δεύτερη Προγραμματιστική Εργασία ΗΥ486 - Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2015-2016 Δεύτερη Προγραμματιστική Εργασία Γενική περιγραφή Στη δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε ένα διομότιμο σύστημα (Peer-to-

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

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

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

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

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1 Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 1 Παναγιώτης

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

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

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

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

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο

ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Εαρινό Εξάμηνο 2016-2017 Υποχρεωτική εργασία Τα τελευταία χρόνια, λόγω της τεράστιας αύξησης της ποσότητας της πληροφορίας που έχουμε

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

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή

lab13grades Άσκηση 2 -Σωστά απελευθερώνετε ολόκληρη τη λίστα και την κεφαλή ΑΕΜ ΒΑΘΜΟΣ ΣΧΟΛΙΑ 00497 -Δεν ελέγχετε αν η createlist εκτελλέστικε σωστά και δεν τερµατίζετε το πρόγραµµα σε διαφορετική -Σωστά βρίσκετε το σηµείο στο οποίο πρέπει να προστεθεί ο κόµβος. -Σωστά τερµατίζετε

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2016-2017 Δέυτερη Προγραμματιστική Εργασία Προθεσμία παράδοσης: 19/6/2017 1. Γενική Περιγραφή Στην δεύτερη προγραμματιστική εργασία καλείστε να υλοποιήσετε

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

Προβλήματα, αλγόριθμοι, ψευδοκώδικας

Προβλήματα, αλγόριθμοι, ψευδοκώδικας Προβλήματα, αλγόριθμοι, ψευδοκώδικας October 11, 2011 Στο μάθημα Αλγοριθμική και Δομές Δεδομένων θα ασχοληθούμε με ένα μέρος της διαδικασίας επίλυσης υπολογιστικών προβλημάτων. Συγκεκριμένα θα δούμε τι

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

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα). Κ08 Δομές Δεδομένων και Τεχνικές Προγραμματισμού Διδάσκων: Μανόλης Κουμπαράκης Εαρινό Εξάμηνο 2017-2018. Άσκηση 3 (ανακοινώθηκε στις 14 Μαΐου 2018, προθεσμία παράδοσης: 8 Ιουνίου 2018, 12 τα μεσάνυχτα).

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2011 2012 Καθηγητές Μ. Χατζόπουλος, Δ. Γουνόπουλος Άσκηση 1 Παράδοση 4 Μαϊου Σκοπός της εργασίας αυτής είναι η κατανόηση

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ»

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΕΙΡΑΙΩΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΕΠΙΚΟΙΝΩΝΙΩΝ ΤΜΗΜΑ ΨΗΦΙΑΚΩΝ ΣΥΣΤΗΜΑΤΩΝ «ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ» ΗΜΕΡ.ΑΝΑΘΕΣΗΣ: Δευτέρα 21 Δεκεμβρίου 2015 ΗΜΕΡ.ΠΑΡΑΔΟΣΗΣ: Δευτέρα 25 Ιανουαρίου 2016 Διδάσκοντες:

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

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,

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

Τµήµα Πληροφορικής. Υλοποίηση LRU Cache ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ - ΕΡΓΑΣΙΑ 4. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Γενικά περί Caching

Τµήµα Πληροφορικής. Υλοποίηση LRU Cache ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ - ΕΡΓΑΣΙΑ 4. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης. Γενικά περί Caching ΟΙΚΟΝΟΜΙΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2016 ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ - ΕΡΓΑΣΙΑ 4 Διδάσκων: E. Μαρκάκης Υλοποίηση LRU Cache Στην εργασία αυτή ζητείται να υλοποιήσετε σε Java τις βασικές

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

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης

Οικονοµικό Πανεπιστήµιο Αθηνών. Τµήµα Πληροφορικής. Φθινοπωρινό Εξάµηνο 2015. Δοµές Δεδοµένων - Εργασία 2. Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2015 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ταξινόµηση και Ουρές Προτεραιότητας Σκοπός της 2 ης εργασίας είναι η εξοικείωση

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 1: Συγχώνευση Εγγραφών Δυαδικών Αρχείων Προθεσμία: 2 Μαΐου 2011, 5:00μμ

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

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 2. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης

Τµήµα Πληροφορικής. Δοµές Δεδοµένων - Εργασία 2. Φθινοπωρινό Εξάµηνο Διδάσκων: E. Μαρκάκης Οικονοµικό Πανεπιστήµιο Αθηνών Τµήµα Πληροφορικής Φθινοπωρινό Εξάµηνο 2016 Δοµές Δεδοµένων - Εργασία 2 Διδάσκων: E. Μαρκάκης Ουρές προτεραιότητας - Προσοµοίωση της λειτουργίας ενός print server Σκοπός

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

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

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

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

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ

ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ, ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΚΑΙ ΔΙΚΤΥΩΝ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2011-2012 ΕΡΓΑΣΙΑ ΕΞΑΜΗΝΟΥ Ποιος πρέπει να ολοκληρώσει αυτή την εργασία? Φοιτητές έτους >=2 που

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

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

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

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 27/11/11, 22:00

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

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

FAIL PASS PASS οριακά

FAIL PASS PASS οριακά AEM 0001 0002 COMMENTS οριακά -Το πρόγραµµά σου δουλεύει λάθος για τις εισόδους: 7 -Δεν έχεις µεριµνήσει για την περίπτωση step=1. Μπορούσες να θεωρήσεις ειδική περίπτωση και να την υλοποιείς σε άλλον

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

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος

Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο Καθηγητής Δ. Γουνόπουλος Πληροφορική & Τηλεπικοινωνίες Υλοποίηση Συστημάτων Βάσεων Δεδομένων - Χειμερινό Εξάμηνο 2016 2017 Καθηγητής Δ. Γουνόπουλος Άσκηση 2 - Εξωτερική Ταξινόμηση Παράδοση: 20/01/2017 Σκοπός της εργασίας αυτής

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

... s12 s13 s14. Σχήμα1: ΙεραρχίαΔιεργασιώνμε l=3καιβάθος d=3. Οκάθεεργάτης(worker)δουλεύειμετο 1/27του αρχείου των ψήφων.

... s12 s13 s14. Σχήμα1: ΙεραρχίαΔιεργασιώνμε l=3καιβάθος d=3. Οκάθεεργάτης(worker)δουλεύειμετο 1/27του αρχείου των ψήφων. ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών 2η Εργασία- Τμήμα Αρτίων Αριθμών Μητρώου Κ22: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 15 Ημερομηνία Ανακοίνωσης: 7 Νοεμβρίου Ημερομηνία Υποβολής:

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

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008

Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Παράλληλη Επεξεργασία Εργαστηριακή Ασκηση Εαρινού Εξαµήνου 2008 Αντικείµενο της εργαστηριακής άσκησης για το 2008 αποτελεί το πρόβληµα της εύρεσης της κατανοµής ϑερµότητας ενός αντικειµένου σε σταθερή

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:

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

Κεφάλαιο 5ο: Εντολές Επανάληψης

Κεφάλαιο 5ο: Εντολές Επανάληψης Χρήστος Τσαγγάρης ΕΕ ΙΠ Τµήµατος Μαθηµατικών, Πανεπιστηµίου Αιγαίου Κεφάλαιο 5ο: Εντολές Επανάληψης Η διαδικασία της επανάληψης είναι ιδιαίτερη συχνή, αφού πλήθος προβληµάτων µπορούν να επιλυθούν µε κατάλληλες

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

Πολυπύρηνοι επεξεργαστές Multicore processors

Πολυπύρηνοι επεξεργαστές Multicore processors Πολυπύρηνοι επεξεργαστές Multicore processors 1 Μετάβαση στους πολυπύρηνους(1) Απόδοση των µονοεπεξεργαστών 25% ετήσια βελτίωση της απόδοσης από το 1978 έως το 1986 Κυρίως από την εξέλιξη της τεχνολογίας

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων

Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Πανεπιστήμιο Θεσσαλίας Τμήμα Μηχανικών Η/Υ, Τηλεπικοινωνιών και Δικτύων Οργάνωση Η/Υ Ενότητα 1η: Εισαγωγή στην Οργάνωση Η/Υ Άσκηση 1: Αναλύστε τη διαδοχική εκτέλεση των παρακάτω εντολών MIPS με βάση τις

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

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1

lab13grades 449 PASS 451 PASS PASS FAIL 1900 FAIL Page 1 ΑΕΜ ΒΑΘΜΟΣ 449 PASS 451 PASS 476-1733 PASS 1779-1899 FAIL 1900 FAIL Page 1 1901 PASS 1904 PASS 1908 PASS 1909 PASS 1910 - Page 2 1911 PASS 1914 Οριακό PASS 1915 PASS 1926 PASS Page 3 1927 PASS 1928 Οριακό

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2017-2018 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός Βάσεις Δεδομένων 2018-2019 1 Κατακερματισμός Πρόβλημα στατικού κατακερματισμού: Έστω Μ κάδους και r εγγραφές ανά κάδο - το πολύ Μ * r εγγραφές (αλλιώς μεγάλες αλυσίδες υπερχείλισης)

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

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης

ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ. της Πλατφόρμας Τηλεκατάρτισης ΕΓΧΕΙΡΙΔΙΟ ΜΑΘΗΤΗ της Πλατφόρμας Τηλεκατάρτισης ΠΕΡΙΕΧΟΜΕΝΑ 1. Εισαγωγή...2 2. Αρχική σελίδα, Εισαγωγή & Περιβάλλον Συστήματος...3 2.1. Αρχική σελίδα εισαγωγής...3 2.2. Εισαγωγή στην Πλατφόρμα Τηλε-κατάρτισης...4

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

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

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10

Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...

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

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.

ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ. Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26. Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M. ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Παράδοση Ασκήσεων Κεφάλαιο 2 Ασκήσεις 3,6,8,9,15,22,24,26 Γεωργόπουλος Άλκης Α.Μ.: 39 Κοντογιώργης Αναστάσιος A.M.: 43 Άσκηση 3 Μια αξιόπιστη multicast υπηρεσία επιτρέπει σε έναν

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

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C

Κεφάλαιο Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Κεφάλαιο 9.1-9.2 Αλφαριθμητικές Σειρές Χαρακτήρων (Strings) (Διάλεξη 20) 1) Strings στη C Ένα string είναι μία ακολουθία αλφαριθμητικών χαρακτήρων, σημείων στίξης κτλ. Π.χ. Hello How are you? 121212 *Apple#123*%

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

ΤΕΙ Κρήτης, Παράρτηµα Χανίων

ΤΕΙ Κρήτης, Παράρτηµα Χανίων ΠΣΕ, Τµήµα Τηλεπικοινωνιών & ικτύων Η/Υ Εργαστήριο ιαδίκτυα & Ενδοδίκτυα Η/Υ ( ηµιουργία συστήµατος µε ροint-tο-ροint σύνδεση) ρ Θεοδώρου Παύλος Χανιά 2003 Περιεχόµενα 1 ΕΙΣΑΓΩΓΗ...2 2 ΤΟ ΚΑΝΑΛΙ PΟINT-TΟ-PΟINT...2

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

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ

ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΤΡΙΩΡΗ ΓΡΑΠΤΗ ΔΟΚΙΜΑΣΙΑ ΜΑΘΗΜΑ : ΑΝΑΠΤΥΞΗ ΕΦΑΡΜΟΓΩΝ ΣΕ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΟ ΠΕΡΙΒΑΛΛΟΝ ΘΕΜΑ 1 ο Α. Δίνεται η εντολή εκχώρησης: τ κ < λ Ποιες από τις παρακάτω προτάσεις είναι σωστές και ποιες λάθος. Να δικαιολογήσετε

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες. K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2010 2011 Δ. Γουνόπουλος Ι. Ιωαννίδης Άσκηση 2: Υλοποίηση Ευρετηρίου Β+ Δένδρου Προθεσμία: 6 Ιουνίου 2011, 11:59μμ

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

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1

Δυναμικός Κατακερματισμός. Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Δυναμικός Κατακερματισμός 1 Κατακερματισμός Τι αποθηκεύουμε στους κάδους; Στα παραδείγματα δείχνουμε μόνο την τιμή του πεδίου κατακερματισμού Την ίδια την εγγραφή (ως τρόπος οργάνωσης αρχείου) μέγεθος

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

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση.

1. Δεν μπορεί να γίνει κλήση μίας διαδικασίας μέσα από μία συνάρτηση. ΑΡΧΗ 1ΗΣ ΣΕΛΙΔΑΣ Γ ΤΑΞΗ ΓΕΝΙΚΟΥ ΛΥΚΕΙΟΥ ΚΑΙ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΚΥΡΙΑΚΗ 24/04/2016 - ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΑΕΠΠ ΣΥΝΟΛΟ ΣΕΛΙΔΩΝ: ΕΞΙ (6) ΘΕΜΑ Α Α1. Να γράψετε στο τετράδιο σας τον αριθμό για καθεμία από τις παρακάτω

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

ABC3341, CCD2345, ,... CCDA2345, , ,00E

ABC3341, CCD2345, ,... CCDA2345, , ,00E Κ24: Προγραμματισμός Συστήματος 1η Εργασία Εαρινό Εξάμηνο 17 Προθεσμία Υποβολής: Κυριακή 19 Μαρτίου Ωρα 23:59 Εισαγωγή στην Εργασία: Στην εργασία αυτή θα υλοποιήσετε σύνολο δομών που επιτρέπουν την εισαγωγή/τροποποίηση

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

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ

7.7 Πρωτόκολλο ARP. 1. Το πρωτόκολλο ARP μετατρέπει τις διευθύνσεις IP στις αντίστοιχες φυσικές. Σ Λ 7.7 Πρωτόκολλο ARP & Ερωτήσεις 1. Ποιος ο ρόλος του Πρωτοκόλλου Μετατροπής Διεύθυνσης (ARP); 2. Τι είναι ο πίνακας ARP, τι πληροφορία περιλαμβάνει και με ποιο τρόπο ενημερώνεται και ποιος ο χρόνος ζωής

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

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

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

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

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

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

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

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο

HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο HY-486 Αρχές Κατανεμημένου Υπολογισμού Εαρινό Εξάμηνο 2017-2018 Πρώτη Προγραμματιστική Εργασία Προθεσμία παράδοσης: Δευτέρα 30/4 στις 23:59. 1. Γενική Περιγραφή Στην πρώτη προγραμματιστική εργασία καλείστε

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

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP Περιεχόµενα Τι είναι η υπηρεσία FTP;...2 FTP από τη γραµµή εντολών των Windows...2 Το πρόγραµµα WS-FTP...4 Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

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

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια:

Στη C++ υπάρχουν τρεις τύποι βρόχων: (a) while, (b) do while, και (c) for. Ακολουθεί η σύνταξη για κάθε μια: Εργαστήριο 6: 6.1 Δομές Επανάληψης Βρόγχοι (Loops) Όταν θέλουμε να επαναληφθεί μια ομάδα εντολών τη βάζουμε μέσα σε ένα βρόχο επανάληψης. Το αν θα (ξανα)επαναληφθεί η εκτέλεση της ομάδας εντολών καθορίζεται

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

Αβδέλαρου Κωνσταντίνα

Αβδέλαρου Κωνσταντίνα ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Αβδέλαρου Κωνσταντίνα 1 η Εργασία στο μάθημα Λειτουργικά Συστήματα Ταύρος, 9 Δεκεμβρίου 2014 Άσκηση 1.1 Το shell script που δημιουργήθηκε είναι:

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: 5/12/10, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 3 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2010-2011 Προθεσµία: 5/12/10, 23:59 Στόχοι structs Πίνακες Συναρτήσεις Συµβολοσειρές Χρήση µεταβλητών και σταθερών Χρήση τελεστών Χρήση δοµών

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

Επεξεργασία Αρχείων Κειµένου

Επεξεργασία Αρχείων Κειµένου Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά

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

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός

Εργαστήριο 9 Συναρτήσεις στη PASCAL. Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός Εργαστήριο 9 Συναρτήσεις στη PASCAL Η έννοια του κατακερματισμού. Συναρτήσεις. Σκοπός 7.1 ΕΠΙΔΙΩΞΗ ΤΗΣ ΕΡΓΑΣΙΑΣ Η έννοια της συνάρτησης ως υποπρογράμματος είναι τόσο βασική σε όλες τις γλώσσες προγραμματισμού,

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 19/10/2017 Ανακεφαλαίωση:

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

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων

Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων ομές εδομένων Πανεπιστήμιο Πειραιώς Σχολή Τεχνολογιών Πληροφορικής και Επικοινωνιών Τμήμα Ψηφιακών Συστημάτων 3. Στοίβες & Ουρές 2 ομές εδομένων 4 5 Χρήστος ουλκερίδης Τμήμα Ψηφιακών Συστημάτων 4/11/2016 Ανακεφαλαίωση:

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

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

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ FILE SYSTEM >_ ΔΙΚΑΙΩΜΑΤΑ >_ ΔΙΚΑΙΩΜΑΤΑ? >_ ΜΕΤΑΒΟΛΗ ΔΙΚΑΙΩΜΑΤΩΝ +- chmod

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

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

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

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

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο

Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο Πληροφορική & Τηλεπικοινωνίες K18 - Υλοποίηση Συστημάτων Βάσεων Δεδομένων Εαρινό Εξάμηνο 2009 2010 Καθηγητής Δ. Γουνόπουλος Άσκηση 2 Σε συνέχεια της πρώτης άσκησης, σκοπός της δεύτερης εργασίας είναι η

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

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης

Σκοπός. Εργαστήριο 6 Εντολές Επανάληψης Εργαστήριο 6 Εντολές Επανάληψης Η δομή Επιλογής στη PASCAL H δομή Επανάληψης στη PASCAL. Ρεύμα Εισόδου / Εξόδου.. Ρεύμα Εισόδου / Εξόδου. To πρόγραμμα γραφικών gnuplot. Γραφικά στη PASCAL. Σκοπός 6.1 ΕΠΙΔΙΩΞΗ

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

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου!

lab7 PASS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. PASS -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! AEM 0001 0002 0003 COMMENTS -Δεν έχεις καθόλου σχόλια! Διάβασε το φυλλάδιο. -Πολύ καλή εργασία µε σωστά και επεξηγηµατικά σχόλια. -Πρόσεξε την στοίχισή σου! -Τυπώνεις 1,2,3 αντί για AVAILABLE, RESERVED,

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

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες]

Άρα, Τ ser = (A 0 +B 0 +B 0 +A 0 ) επίπεδο 0 + (A 1 +B 1 +A 1 ) επίπεδο 1 + +(B 5 ) επίπεδο 5 = 25[χρονικές µονάδες] Α. Στο παρακάτω διάγραµµα εµφανίζεται η εκτέλεση ενός παράλληλου αλγόριθµου που λύνει το ίδιο πρόβληµα µε έναν ακολουθιακό αλγόριθµο χωρίς πλεονασµό. Τα Α i και B i αντιστοιχούν σε ακολουθιακά υποέργα

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

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα)

Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Αλγόριθμοι και Δομές Δεδομένων (IΙ) (γράφοι και δένδρα) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Αφηρημένες

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

7.2 Τεχνολογία TCP/IP

7.2 Τεχνολογία TCP/IP 7.2 Τεχνολογία TCP/IP Ερωτήσεις 1. Πώς χρησιµοποιείται σήµερα ο όρος TCP/IP; ε ποια πρωτόκολλα αναφέρεται και γιατί έχει επικρατήσει αυτή η ονοµασία; 2. Ποια ανάγκη οδήγησε στην επικράτηση της τεχνολογίας

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 3. Προθεσµία: Πέµπτη 17/12/2015, 22:00

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

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

Interactive Power Point

Interactive Power Point Interactive Power Point Οι περισσότεροι χρήστες γνωρίζουν τη χρήση του Microsoft Power Point για τη δημιουργία παρουσιάσεων. Αυτό όμως που λίγοι γνωρίζουν, είναι ότι το πρόγραμμα αυτό, έχει δυνατότητες

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

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59

ΣΕΤ ΑΣΚΗΣΕΩΝ 2. Προθεσµία: 15/11/09, 23:59 ΣΕΤ ΑΣΚΗΣΕΩΝ 2 ΕΡΓΑΣΤΗΡΙΟ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ I, ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2009-20010 Προθεσµία: 15/11/09, 23:59 Στόχοι Χρήση συναρτήσεων Χρήση µονοδιάστατων πινάκων Διαχείριση συµβολοσειρών Φορµαρισµένη έξοδος δεδοµένων

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

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

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

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

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

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

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

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 2 ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 231: Δομές Δεδομένων και Αλγόριθμοι Εαρινό Εξάμηνο 2013 ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΗ ΑΣΚΗΣΗ 2 Διδάσκων Καθηγητής: Παναγιώτης Ανδρέου Ημερομηνία Υποβολής: 05/03/2013 Ημερομηνία

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

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record) Διαχείριση Αρχείων Αρχεία Για να είναι δυνατή η επεξεργασία μεγάλου αριθμού δεδομένων τα δεδομένα είναι αποθηκευμένα σε ψηφιακά μέσα κατάλληλα οργανωμένα. Η αποθήκευση γίνεται σε αρχεία. Πολλά προγράμματα

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

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος

ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος Προγραμματιστική Εργασία - 2o Μέρος Πανεπιστήµιο Κρήτης Τµήµα Επιστήµης Υπολογιστών, 4 Μαρτίου 2019 ΗΥ240: Δομές Δεδομένων Εαρινό Εξάμηνο Ακαδημαϊκό Έτος 2018-2019 Προγραμματιστική Εργασία - 2o Μέρος Ημερομηνία Παράδοσης: Δευτέρα, 13 Μαϊου

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