ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.

Slides:



Advertisements
Παρόμοιες παρουσιάσεις
Τεχνολογίες Web Απαραίτητες γνώσεις για την υλοποίηση της άσκησης.
Advertisements

Το αλφαριθμητικό (string)
ΕΙΣΑΓΩΓΗ ΣΤΗΝ PHP. Τι θα μάθουμε;  Να καταλάβουμε τι είναι η PHP και πώς δουλεύουν τα PHP scripts  Τι χρειάζεται για να ξεκινήσουμε με την PHP  Να.
Επιμορφωτής: Ονομ/νυμο Επιμορφωτή
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 1ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 5 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11.
Πίνακες-Αλφαριθμητικά
Πινακες (Arrays) Σημασια Συνταξη Αρχικοποιηση Προσβαση Παραμετροι
Προγραμματισμός Ι Πίνακες •Ο πίνακας είναι μία συλλογή μεταβλητών ίδιου τύπου, οι οποίες είναι αποθηκευμένες σε διαδοχικές θέσεις μνήμης. Χρησιμοποιείται.
Κεφάλαιο 6 Υλοποίηση Γλωσσών Προγραμματισμού
ΕΙΣΑΓΩΓΗ ΣΤΟ ΔΙΑΔΙΚΑΣΤΙΚΟ ΠΡΟΓΡΑΜMΑΤΙΣΜΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ – ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ.
ΜΑΘ-3122/106 Προγραμματισμός
Λειτουργικά Συστήματα
Συναρτήσεις Κληση/Επιστροφη Παραμετροι
24/11/2003Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2003 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
22/11/2004Message Passing Interface (MPI)1 Αθήνα, Νοέμβριος 2004 Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων.
Προγραμματισμός PASCAL Πληροφορική Γ' Λυκείου μέρος γ
Σελίδα 1 ΕΚΠΑ. «Διαμόρφωση υπηρεσίας καταλόγου Active Directory σε Windows 2003» Τηλέμαχος Ράπτης Εθνικό και Καποδιστριακό.
Εισαγωγή στο UNIX και άλλα εργαλεία Pedro Trancoso Γιαννάκης Σαζεϊδης.
Page  1 Ο.Παλιάτσου Γαλλική Επανάσταση 1 ο Γυμνάσιο Φιλιππιάδας.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 11 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
Λειτουργικά Συστήματα
NIKOΛΑΟΣ ΝΤΙΡΛΗΣ 5ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΑΙΘΟΥΣΑ Β4 1.  Ένα thread έχει: ID, program counter, register set, stack  Μοιράζεται με τα άλλα threads της ίδιας διεργασίας.
ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 19 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΜΗΧΑΝΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΒΙΟΜΗΧΑΝΙΑΣ Διάλεξη 3: Δείκτες Εαρινό εξάμηνο 2009 ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ι. Σαρρής, τηλ.
© GfK 2012 | Title of presentation | DD. Month
-17 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Σεπτέμβριος 2013 Δείκτης > +20 Δείκτης 0 a +20 Δείκτης 0 a -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
+21 Προσδοκίες οικονομικής ανάπτυξης στην Ευρώπη Δεκέμβριος 2013 Δείκτης > +20 Δείκτης 0 να +20 Δείκτης 0 να -20 Δείκτης < -20 Σύνολο στην Ευρωπαϊκή Ένωση:
Έρευνα για το Εθνικό Φορολογικό Σύστημα Αθήνα 9 Νοεμβρίου ο Πανελλήνιο Επιστημονικό Συνέδριο Ι.Ο.Φο.Μ. Ι.Ο.Φο.Μ. – Π.Μ.Σ. Φορολογία και Ελεγκτική.
Νήματα Οι διεργασίες έχουν τα παρακάτω συστατικά:
Π ΑΡΑΛΛΗΛΗ / ΚΑΤΑΝΕΜΗΜΕΝΗ ΕΠΕΞΕΡΓΑΣΙΑ ΚΑΙ ΕΦΑΡΜΟΓΕΣ Εισαγωγή στο OpenMP.
1 ΕΝΤΟΛΕΣ ΠΛΗΡΟΦΟΡΙΩΝ ΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣΓΕΝΙΚΕΣ ΠΛΗΡΟΦΟΡΙΕΣ ΘΕΣΗ ΣΗΜΕΙΟΥΘΕΣΗ ΣΗΜΕΙΟΥ ΑΠΟΣΤΑΣΗΑΠΟΣΤΑΣΗ ΕΜΒΑΔΟΝΕΜΒΑΔΟΝ.
Βάσεις Δεδομένων Μάθημα 4.
Αποκεντρωμένη Διοίκηση Μακεδονίας Θράκης ∆ιαχείριση έργων επίβλεψης µε σύγχρονα µέσα και επικοινωνία C2G, B2G, G2G Γενική Δ/νση Εσωτερικής Λειτουργίας.
Αριστοτέλης Σάββα - Κλάδος Βιώσιμης Κινητικότητας, Τμήμα Δημοσίων Έργων 5 Ιουλίου Βιώσιμη Κινητικότητα για Εξοικονόμηση Ενέργειας στις Μεταφορές.
Η ΓΛΩΣΣΑ C ΜΑΘΗΜΑ 2.
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Ντίρλης Νικόλαος- ΕΤΥ 3ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 25 ΟΚΤΩΒΡΙΟΥ 2013 ΑΙΘΟΥΣΑ Β4 1.
Ολυμπιάδα Πληροφορικής
Travel Salesman. ABDCA, ABCDA, ACBDA, ACDBA, ADBCA, ADCBA … (3!) 3 σταθμοί και 1 βάση (3! διαδρομές) 4 σταθμοί και 1 βάση (4! = 24) 5 σταθμοί και 1 βάση.
Ολυμπιάδα Πληροφορικής
Δομές Δεδομένων 1 Στοίβα. Δομές Δεδομένων 2 Στοίβα (stack)  Δομή τύπου LIFO: Last In - First Out (τελευταία εισαγωγή – πρώτη εξαγωγή)  Περιορισμένος.
Δημιουργικό Marketing συνθέσεις...με χρωματιστούς όγκους παιδικές.
Message Passing Interface (MPI) Συστήματα Παράλληλης Επεξεργασίας Εργαστήριο Υπολογιστικών Συστημάτων Αθήνα, Δεκέμβριος 2002.
1 Τ.Ε.Ι. ΚΑΒΑΛΑΣ Σ.Δ.Ο. Τμήμα: Διαχείριση Πληροφοριών Ον.Επ.: Μπίκος Κωνσταντίνος Μάντη Χρυσάνθη Χατζημάρκου Αθηνά Καπίταλη Ζωή Εισηγητής: Χατζής Θέμα:
Ντίρλης Νίκος- ΕΤΥ 4ο ΦΡΟΝΤΙΣΤΗΡΙΟ Παρασκευή Β4 1.
ΗΥ 150 – ΠρογραμματισμόςΞενοφών Ζαμ π ούλης ΗΥ-150 Προγραμματισμός Δυναμική Διαχείριση Μνήμης (1/2)
Βάσεις Δεδομένων Εργαστήριο Ι Τμήμα Πληροφορικής ΑΠΘ
Τα προϊόντα της EmGoldEx Τα προϊόντα της EmGoldEx Ράβδοι χρυσού 24k καθαρότητας 999,9 απο 1 έως 100 γραμμάρια Όλες οι ράβδοι χρυσού είναι πιστοποιημένες.
Γλωσσική Τεχνολογία Εισαγωγικό Φροντιστήριο. Project του μαθήματος  Εργασία 2 ατόμων  Προφορική εξέταση για :  Project (80%)  Θεωρία (20%)  Στο φροντιστήριο.
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Αρχεία.
HY340 : ΓΛΩΣΣΕΣ ΚΑΙ ΜΕΤΑΦΡΑΣΤΕΣ ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΡΗΤΗΣ, ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΕΠΙΣΤΗΜΩΝ, ΤΜΗΜΑ ΕΠΙΣΤΗΜΗΣ ΥΠΟΛΟΓΙΣΤΩΝ ΔΙΔΑΣΚΩΝ Αντώνιος Σαββίδης.
1 ΗΥ-340 Γλώσσες και Μεταφραστές Φροντιστήριο Πίνακας Συμβόλων Symbol Table.
1 Αδάμ Δαμιανάκης Conceptum A.E. Tουριστικές και Πολιτιστικές Πληροφορίες στο Διαδίκτυο. Η περίπτωση του.
ΜΑΘΗΜΑ ΝΟΣΗΛΕΥΤΙΚΗ ΜΕΤΑΓΓΙΣΗ ΑΙΜΑΤΟΣ - ΑΙΜΟΔΟΣΙΑ
Βάσεις Δεδομένων Ευαγγελία Πιτουρά 1 Σχεδιασμός Σχεσιακών Σχημάτων.
MΑΘ 106/3122Ξενοφών Ζαμπούλης ΜΑΘ 106/3122 Γλώσσα Προγραμματισμού Δείκτες (Pointers)
Βάσεις Δεδομένων Εργαστήριο ΙΙ Τμήμα Πληροφορικής ΑΠΘ
Δομές Δεδομένων - Ισοζυγισμένα Δυαδικά Δένδρα (balanced binary trees)
1 Βάσεις Δεδομένων ΙI Επιμέλεια: ΘΟΔΩΡΗΣ ΜΑΝΑΒΗΣ SQL (3 από 3) T Manavis.
1 Τμήμα Μηχανικών Ηλεκτρονικών Υπολογιστών και Πληροφορικής Πανεπιστήμιο Πατρών ΟΝΤΟΚΕΝΤΡΙΚΟΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ (C++) Τάξεις και Αφαίρεση Δεδομένων.
+19 Δεκέμβριος 2014 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20 Δείκτης < -20 Συνολικά της ΕΕ: +5 Δείκτης > +20 Δείκτης 0 έως +20 Δείκτης 0 έως -20.
Αγγελική Γεωργιάδου- Αναστασία Πεκτέσογλου Δράμα 2006
RPC Multithreaded voting system Γεωργόπουλος Άλκης Κολωνιάρη Γεωργία Κοντογιώργης Τάσος Λεοντιάδης Ηλίας Πετράκης Γιάννης.
ΛΟΓ102: Τεχνολογία Λογισμικού Ι Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ102:
ΗΥ 150 – Προγραμματισμός Ξενοφών Ζαμπούλης ΗΥ -150 Προγραμματισμός Αρχεία.
ΗΥ150 – ΠρογραμματισμόςΞ. Ζαμπούλης ΗΥ-150 Προγραμματισμός Αρχεία.
ΛΟΓ201: Τεχνολογία Λογισμικού ΙΙ Διδάσκων: Νίκος Παπασπύρου 1Νίκος ΠαπασπύρουΛΟΓ201:
ΗΥ150 – ΠρογραμματισμόςΚώστας Παναγιωτάκης ΗΥ-150 Προγραμματισμός Συναρτήσεις (μέρος δεύτερο) και Μεταβλητές.
Τι είναι διεργασία Ένα πρόγραμμα σε εκτέλεση Η διεργασία περιλαμβάνει:
Processes.
Μεταγράφημα παρουσίασης:

ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 11

 Διαχείριση εργασιών ◦ fork(), exit(), exec()  Επικοινωνία διεργασιών ◦ signals, sockets και client/server, shared memory  Συγχρονισμός διεργασιών ◦ semaphores  Makefiles & bash scripting  - 2 -

 - 3 -

 - 4 -

 Δημιουργία κοινής μνήμης από διεργασία ◦ shmget()  Προσκόλληση διεργασίας στης κοινή μνήμη ◦ shmat()  Αποκόλληση διεργασία; από κοινή μνήμη ◦ shmdt()  Έλεγχος κοινής μνήμης (περιλαμβάνει διαγραφή) ◦ shmctl()  man (shmget) man(shmat) man(shmdt) man(shmctl)  - 5 -

 Απαραίτητα αρχεία κεφαλίδων ◦ #include   Απαραίτητες μεταβλητές ◦ int shm_id, error; ◦ char *data;   Προαιρετικά: Ορισμός «κλειδιού» και μεγέθους κοινής μνήμης ◦ #define SHM_KEY “our_group_id” ◦ #define SHM_SIZE 1024  - 6 -

 Πρώτη διεργασία (πριν τις κλήσεις fork())  shm_id = shmget(SHM_KEY, SHM_SIZE, 0600 | IPC_CREAT); if (shm_id < 0) { printf("Could not create shared memory!\n"); exit(1); exit(1);}

 Υπόλοιπες διεργασίες  shm_id = shmget(SHM_KEY, SHM_SIZE, 0600); if (shm_id < 0) { printf("Could not create shared memory!\n"); printf("Could not create shared memory!\n"); exit(1); exit(1);}

 Όλες οι διεργασίες  data = shmat(shm_id, NULL, 0); if (data == (char *)-1) { printf(“Could not attach to shared memory!\n”); printf(“Could not attach to shared memory!\n”); exit(1); exit(1);}   data: Δείκτης προς την αρχή της κοινής μνήμης

 Όλες οι διεργασίες  error = shmdt(data); if (error == -1) { printf(“Could not detach from shared memory!\n”); printf(“Could not detach from shared memory!\n”); exit(1); exit(1);}

 Μία μόνο διεργασία  ΠΡΟΣΟΧΗ:   Η αποκόλληση από και η διαγραφή μιας περιοχής κοινής μνήμης είναι απαραίτητες ενέργειες!  Διαφορετικά το κλειδί και η περιοχή κοινής μνήμης παραμένουν ενεργά στο σύστημα εώς την επόμενη επανεκκίνηση του συστήματος!  shmctl(shm_id, IPC_RMID, NULL);

 

 Διαχείριση εργασιών ◦ fork(), exit(), exec()  Επικοινωνία διεργασιών ◦ signals, sockets και client/server, shared memory  Συγχρονισμός διεργασιών ◦ semaphores  Makefiles & bash scripting 

 Δημιουργία - Άνοιγμα σημαφόρου ◦ sem_open()  Κλείδωμα σημαφόρου ◦ sem_wait()  Απελευθέρωση σημαφόρου ◦ sem_post()  Κλείσιμο σημαφόρου ◦ sem_close()  Διαγραφή σημαφόρου ◦ sem_unlink() 

 Απαραίτητα αρχεία κεφαλίδων  Απαραίτητη κοινή μεταβλητή  Προαιρετικά: Ορισμός ονόματος σημαφόρου  #include #include sem_t *my_sem; #define SEM_NAME “my_semaphore_name”

 Πρώτη διεργασία (πριν τις κλήσεις fork())  Κατά την κλήση της fork(), η μεταβλητή my_sem αντιγράφεται στην νέα διεργασία.  my_sem = sem_open(SEM_NAME, O_CREAT | O_RDWR, S_IRUSR | S_IWUSR, 1); if (my_sem == SEM_FAILED) { printf("Could not open semaphore!\n"); printf("Could not open semaphore!\n"); exit(1); exit(1);}

 Για κάθε διεργασία που αλλάζει δεδομένα στην κοινή μνήμη, τα οποία μπορούν να αλλάξουν και οι υπόλοιπες διεργασίες:  sem_wait(): Μειώνει την τιμή του σεμαφόρου κατά 1.  Αν πάρει αρνητική τιμή, μπλοκάρει τη διεργασία εως ότου γίνει πάλι 0.  sem_wait(my_sem); /* Εργασίες στην κοινή μνήμη */ sem_post(my_sem);

 Όλες οι διεργαςίες: ◦ sem_close(my_sem);  Μια μόνο διεργασία: ◦ sem_unlink(SEM_NAME);  ΠΡΟΣΟΧΗ:  Το κλείσιμο και η διαγραφή ενός σημαφόρου είναι  απαραίτητες ενέργειες!   Διαφορετικά το όνομα και η μνήμη που χρησιμοποιεί ένας σημαφόρος παραμένουν ενεργά στο σύστημα εώς την επόμενη επανεκκίνηση! 

 Διαχείριση εργασιών ◦ fork(), exit(), exec()  Επικοινωνία διεργασιών ◦ signals, sockets και client/server, shared memory  Συγχρονισμός διεργασιών ◦ semaphores  Makefiles & bash scripting 

 Eφαρμογή make  Xρήση για την αυτόματη δημιουργία προγραμμάτων από αρχεία κώδικα.  Διαδικασία: ◦ Συγγραφή αρχείου Makefile που περιέχει κανόνες ◦ Κλήση εντολής make για την παραγωγή του προγράμματος  Κανόνες: ◦ Αρχείο-στόχος (target) ◦ Αρχεία-απαιτήσεις (prerequisites) ◦ Εντολή παραγωγής στόχου απο απαιτούμενα αρχεία  Παράδειγμα: target : prerequisites command 

 hello: hello.o main.o gcc hello.o main.o -o hello.o hello.o: hello.c gcc -Wall -c hello.c main.o: main.c gcc -Wall -c main.c Makefile terminal $ make gcc -Wall -c hello.c gcc -Wall -c main.c gcc hello.o main.o -o hello $ make make: `hello' is up to date. $ vi main.c $ make gcc -Wall -c main.c gcc hello.o main.o -o hello