ΕΠΛ371 - Ππογπαμμαηιζμόρ Σςζηημάηων Διάλεξη 16:

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

Download "ΕΠΛ371 - Ππογπαμμαηιζμόρ Σςζηημάηων Διάλεξη 16:"

Transcript

1 ΕΠΛ371 - Ππογπαμμαηιζμόρ Σςζηημάηων Διάλεξη 16: Επικοινωνία μεηαξύ Διεπγαζιών (Inter-Process Communication (IPC)) Οςπέρ Μηνςμάηων (Message Queues) Κοινή Μνήμη (Shared Memory) Σημαηοθόποι (Semaphores) (Κεθάλαιο 15 - Stevens & Rago) Δεκήηξεο Ζετλαιηπνύξ Σάζνο νθνθιένπο 16-1

2 Πεξηερόκελα Δηάιεμεο Οριζμοί (Πποζδιοπιζηέρ και Κλειδιά, Διασείπιζη IPC πόπων, Διατείριζη IPC με ενηολέρ κελύθοςρ. Οσρές Μηνσμάηων (Ο.Μ.): Δομή Ο.Μ., Δημιοςπγία, Αποζηολή/ Παπαλαβή Μηνςμάηων, Πλήπερ Παπάδειγμα, Έλεγσορ Ο.Μ.. Κοινή Μνήμη: Δομή, Δημιοςπγία, Πποζάπηηζη / Απόζπαζη, Έλεγσορ, Παπάδειγμα δςο διεπγαζιών πος επικοινωνούν μέζω κοινήρ μνήμηρ Σημαηοθόροι: Δομή, Δημιοςπγία, Χειπιζμόρ, Έλεγσορ, Παπάδειγμα Εξςπηπεηηηή με ζημαηοθόποςρ 16-2

3 Οξηζκνί - Πξνζδηνξηζηέο θαη Κιεηδηά (Identifiers θαη Keys) Κάζε IPC* δνκή (νπξά κελπκάησλ, θνηλή κλήκε θαη ζεκαηνθόξνη) ζηνλ ππξήλα (kernel) αλαθέξεηαη κε έλα κε-αξλεηηθό αξηζκό πξνζδηνξηζηήο (identifier). Γηα παξάδεηγκα, γηα λα ζηείινπκε ή λα παξαιάβνπκε έλα κήλπκα ζε/από κηα νπξά κελπκάησλ, ην κόλν πνπ ρξεηαδόκαζηε είλαη ν πποζδιοπιζηήρ ηηρ οςπάρ (εζσηεξηθό IPC όλνκα). πλεξγαδόκελεο δηεξγαζίεο ρξεηάδνληαη έλα εμσηεξηθό όλνκα γηα λα κπνξνύλ λα ρξεζηκνπνηήζνπλ ην ίδην IPC αληηθείκελν. Επνκέλσο, έλα IPC αληηθείκελν ζπζρεηίδεηαη κε έλα κλειδί (key) πνπ δξα σο έλα εμσηεξηθό όλνκα. Σν θιεηδί απηό κεηαηξέπεηαη ζε έλα πξνζδηνξηζηή από ηνλ ππξήλα. * όπος IPC δομή θα εννοούμε ζ αςηή ηη διάλεξη ηην οςπά μηνςμάηων, κοινή μνήμη και ζημαηοθόποςρ) 16-3

4 Οξηζκνί - Δηαρείξηζε IPC Πόξσλ (ζπλέρεηα) Δηαρείξηζε IPC Πόξσλ Οη IPC πόξνη δνπλ εθηόο ηεο εκβέιεηαο κηαο δηεξγαζίαο. Γηα παξάδεηγκα, όηαλ δεκηνπξγνύκε κηα νπξά κελπκάησλ, ηνπνζεηνύκε θάπνηα κελύκαηα ζηελ νπξά θαη κεηά ηεξκαηίδνπκε, η οςπά μηνςμάηων και ηα πεπιεσόμενά ηηρ δε διαγπάθονηαι. Παξακέλνπλ ζην ζύζηεκα κέρξη ζςγκεκπιμένα λα δηαγξαθνύλ από κηα δηεξγαζία (θαιώληαο ζπγθεθξηκέλε IPC ιεηηνπξγία δείηε αξγόηεξα) ή επαλεθθηλώληαο (reboot) ην ζύζηεκα Δέζηε αληίζεζε κε pipes: Με ην ηέινο κηαο δηεξγαζίαο ην Pipe θαη ην πεξηερόκελν ηνπ ράλεηαη. Δέζηε αληίζεζε κε FIFO: Με ην ηέινο όισλ ησλ δηεξγαζηώλ πνπ αλαθέξνληαη ζην αξρείν (FIFO), ην πεξηερόκελν ράλεηαη, αιιά παξακέλεη ην όνομα ηνπ ζην ζύζηεκα αξρείσλ, κέρξη λα γίλεη unlink 16-4

5 Οξηζκνί - Δηαρείξηζε IPC Πόξσλ (ζπλέρεηα) Οη IPC δνκέο δελ είλαη αλαγλσξίζηκεο κε νλόκαηα ζην ζύζηεκα αξρείσλ (δε ρξεζηκνπνηνύλ πεξηγξαθείο αξρείσλ). Δε κπνξνύκε λα έρνπκε πξόζβαζε ζ απηέο θαη λα αιιάμνπκε ηηο ηδηόηεηεο κε θιήζεηο ζπζηήκαηνο όπσο έρνπκε κάζεη κέρξη ηώξα (open, write, close, ). Νέεο θιήζεηο-ιεηηνπξγίεο ζπζηήκαηνο έρνπλ πξνζηεζεί ζηνλ ππξήλα γηα ππνζηήξημε απηώλ ησλ IPC αληηθεηκέλσλ ( δείηε αξγόηεξα) 16-5

6 Δηαρείξηζε IPC κε εληνιέο θειύθνπο Αλάγθε γηα δηαρείξηζε IPC Πόξσλ Δηαγξαθή πόξσλ πνπ έκεηλαλ ιόγσ δηεξγαζηώλ πνπ δελ αληηδξνύλ (irresponsive ή crashes) Έιεγρνο αξηζκνύ πθηζηάκελσλ πόξσλ ηνπ θάζε ηύπνπ (εηδηθά γηα λα βξνύκε αλ ν θαζνιηθόο πεξηνξηζκόο ηνπ ζπζηήκαηνο έρεη θζάζεη) Δπν utilities ζπζηήκαηνο έρνπλ δεκηνπξγεζεί γηα ηελ πην πάλσ δηαρείξηζε: Δέζηε man για λεπηομέπειερ Εληνιή ipcrm (όμοιο με unlink πάνω ζε όνομα απσείος) Δέσεηαι ηον ηύπο ηος πόπος ( msg, shm, sem ) και ηον πποζδιοπιζηή ή ηο κλειδί ηος πόπος και διαγπάθει ηο ζςγκεκπιμένο πόπο από ηο ζύζηημα ( ππέπει να έσοςμε ηα αναγκαία δικαιώμαηα ππόζβαζηρ) 16-6

7 Δηαρείξηζε IPC κε εληνιέο θειύθνπο (ζπλέρεηα) Εληνιή ipcs Δείσνει ζηαηιζηικέρ για κάθε ηύπο IPC πόπος πος ςπάπσει ζηο ζύζηημα bash-3.1$ ipcs Shared Memory Segments key shmid owner perms bytes nattch status Semaphore Arrays key semid owner perms nsems Message Queues key msqid owner perms used-bytes messages 16-7

8 Δηαρείξηζε IPC κε εληνιέο θειύθνπο (ζπλέρεηα) Εληνιή ipcs -l Δείσνει ηοςρ καθολικά πεπιοπιζμούρ ηος ζςζηήμαηορ ζηοςρ IPC πόποςρ. bash-3.1$ ipcs -l Shared Memory Limits max number of segments = 4096 max seg size (kbytes) = max total shared memory (kbytes) = min seg size (bytes) = Semaphore Limits max number of arrays = 128 max semaphores per array = 250 max semaphores system wide = max ops per semop call = 32 semaphore max value = Messages: Limits max queues system wide = 16 max size of message (bytes) ΕΠΛ 371 = 8192 Ππογπαμμαηιζμόρ Σςζηημάηων default max size of queue (bytes) =

9 Οπξέο Μελπκάησλ Απαίηεζε: #include <sys/msg.h> Οπξά Μελπκάησλ Μηα ζπλδεδεκέλε ιίζηα κελπκάησλ απνζεθεπκέλε ζηνλ ππξήλα θαη ε νπνία αλαγλσξίδεηαη κε έλα πξνζδηνξηζηή νπξάο κελπκάησλ. Χξεζηκεύεη ζηελ αληαιιαγή κελπκάησλ κεηαμύ δηεξγαζηώλ. πγρξνληζκόο πξνζθέξεηαη αςηόμαηα από ηνλ ππξήλα. Νέα κελύκαηα πξνζζέηνληαη ζην ηέινο ηεο νπξάο. 16-9

10 Δνκή Μελύκαηνο Έλα κήλπκα απνηειείηαη από ηνλ ηύπν κελύκαηνο (ζεηηθόο long αθέξαηνο) θαη ηα δεδνκέλα (data) ηνπ κελύκαηνο. /* Template for struct to be used as argument for `msgsnd' and `msgrcv'. */ struct msgbuf { long int mtype; /* type of received/sent message */ char mtext[1]; /* text of the message */ }; mtext[1] ςποδηλώνει ηο ελάσιζηο μέγεθορ μηνύμαηορ 16-10

11 Δνκή Μελύκαηνο (ζπλέρεηα) Μελύκαηα κπνξνύλ λα αλαθηεζνύλ από ηελ θεθαιή ηεο νπξάο θαη λα πξνζηεζνύλ ζην ηέινο ηεο νπξάο, είηε δεηώληαο ζπγθεθξηκέλν ηύπο κελύκαηνο. Π.ρ. Μηα server δηεξγαζία κπνξεί λα θαηεπζύλεη ηελ θπθινθνξία κελπκάησλ κεηαμύ clients ζηελ νπξά κελπκάησλ ηεο, ρξεζηκνπνηώληαο ην PID ηεο client δηεξγαζίαο σο ηνλ ηύπν κελπκάησλ. ηε ζπλέρεηα, κπνξεί λα αλαθηήζεη ηα κελύκαηα από ηελ νπξά από ζπγθεθξηκέλν client

12 Δνκή Οπξάο Μελπκάησλ Κάζε νπξά ζπζρεηίδεηαη κε ηελ αθόινπζε msqid_ds δνκή (νξίδεη ηελ πθηζηάκελε θαηάζηαζε ηεο νπξάο): /* Structure of record for one message inside the kernel. */ struct msqid_ds { struct ipc_perm msg_perm; /* structure describing operation permission */ time_t msg_stime; /* time of last msgsnd command */ time_t msg_rtime; /* time of last msgrcv command */ time_t msg_ctime; /* time of last change */ unsigned long int msg_cbytes; /* current number of bytes on queue */ msgqnum_t msg_qnum; /* number of messages currently on queue */ msglen_t msg_qbytes; /* max number of bytes allowed on queue */ pid_t msg_lspid; /* pid of last msgsnd() */ pid_t msg_lrpid; /* pid of last msgrcv() */ }; 16-12

13 Δεκηνπξγία Οπξάο Μελπκάησλ Κιήζε ζπζηήκαηνο msgget() #include <sys/msg.h> int msgget(key_t key, int flag); Επηζηξέθεη: πξνζδηνξηζηή νπξάο ζε επηηπρία ή -1 ζε πεξίπησζε ιάζνπο Αλνίγεη κηα πθηζηάκελε νπξά ή δεκηνπξγεί κηα λέα νπξά. Ο πξνζδηνξηζηήο ηεο νπξάο κελπκάησλ πνπ επηζηξέθεηαη αληηζηνηρεί ζην κλειδί Σν key θαη flag εμεγνύληαη ζηηο επόκελεο δηαθάλεηεο 16-13

14 Δεκηνπξγία Οπξάο Μελπκάησλ (ζπλέρεηα) Η παξάκεηξνο key είλαη έλαο κνλαδηθόο πξνζδηνξηζηήο γηα ηελ νπξά πνπ ζέινπκε λα δεκηνπξγήζνπκε. Οπνηαδήπνηε άιιε δηεξγαζία ζέιεη λα ζπλδεζεί κε απηή ηελ νπξά πξέπεη λα ρξεζηκνπνηήζεη ην ίδην θιεηδί. Σν κλειδί κπνξεί λα δνζεί από ην ρξήζηε ζαλ έλα ζεηηθό αθέξαην πνπ έρεη ζπκθσλεζεί κεηαμύ ησλ νληνηήησλ πνπ ζα ρξεζηκνπνηήζνπλ ηελ θνηλή νπξά κελπκάησλ. Π.ρ. νξηζκόο ηνπ θιεηδηνύ ζε κηα θνηλή επηθεθαιίδα (header) Πξόβιεκα όηαλ ην θιεηδί απηό έρεη ήδε ζπζρεηηζηεί κε κηα άιιε νπξά κελπκάησλ. Αλ ζέινπκε ν ππξήλαο λα δεκηνπξγήζεη ην κλειδί ππάξρεη θαη ε θιήζε ζπζηήκαηνο ftoc() 16-14

15 Δεκηνπξγία Οπξάο Μελπκάησλ (ζπλέρεηα) Σν θιεηδί κπνξεί επίζεο λα είλαη IPC_PRIVATE ( sys/ipc.h). Με απηό ηνλ ηξόπν, ην θιεηδί IPC_PRIVATE εγγπάηαη ηε δεκηνπξγία κηαο λέαο IPC δνκήο νπξάο. Σν θιεηδί IPC_PRIVATE επίζεο ρξεζηκνπνηείηαη ζε κηα ζρέζε παηέξα-παηδηνύ. Ο παηέξαο δεκηνπξγεί κηα λέα νπξά νξίδνληαο ην θιεηδί σο IPC_PRIVATE, θαη ν πξνζδηνξηζηήο πνπ επηζηξέθεηαη είλαη ηόηε δηαζέζηκνο ζην παηδί κεηά ην fork()

16 Δεκηνπξγία Οπξάο Μελπκάησλ (ζπλέρεηα) Η παξάκεηξνο flag είλαη έλαο αθέξαηνο όπνπ ηίζεληαη ηα επηζπκεηά δηθαηώκαηα πξνζηαζίαο (read/write) ηεο νπξάο κελπκάησλ (ζε octal ηηκή), θαζώο επίζεο θαη πξόζζεηεο απαηηήζεηο (ππό ηε κνξθή δηάδεπμεο ζπκβνιηθώλ νλνκάησλ sys/ipc.h) ζρεηηθέο κε ηε δεκηνπξγία ηεο νπξάο κελπκάησλ, όπσο: IPC_CREAT Αλ δελ ππάξρεη πόξνο (νπξά κελπκάησλ) πνπ αληηζηνηρεί ζην κλειδί, λα δεκηνπξγεζεί λένο (αληί λα επηζηξαθεί ιάζνο) ελώ αλ ππάξρεη ηέηνηνο πόξνο, λα πξνζπειαζζεί απηόο. IPC_EXCL ε ζπλδπαζκό κε ην πξνεγνύκελν, αλ δελ ππάξρεη πόξνο, λα δεκηνπξγεζεί. Αλ ππάξρεη όκσο, λα επηζηξαθεί ιάζνο

17 Δεκηνπξγία Οπξάο Μελπκάησλ (ζπλέρεηα) Παξαδείγκαηα: #include <stdio.h> /* standard I/O routines. */ #include <sys/types.h> /* standard system data types. */ #include <sys/ipc.h> /* common system V IPC structures. */ #include <sys/msg.h> /* message-queue specific functions. */ /* create a private message queue, with access only to the owner. */ int queue_id = msgget(ipc_private, 0600); /* <-- this is an octal number. */ if (queue_id == -1) { perror("msgget"); exit(1); } key_t key = ftok("/home/cchrys/somefile", 'b'); int queue_id = msgget(key, 0666 IPC_CREAT); 16-17

18 Απνζηνιή κελπκάησλ Κιήζε ζπζηήκαηνο msgsnd() writing to a queue #include <sys/msg.h> int msgsnd(int msqid, const void *ptr, size_t nbytes, int flag); Επηζηξέθεη -1 ζε πεξίπησζε ιάζνπο ή 0 ζε πεξίπησζε επηηπρίαο msgid Ο πξνζδηνξηζηήο ηεο νπξάο κελπκάησλ πνπ ζέινπκε λα γξάςνπκε (ζηείινπκε) έλα κήλπκα (επηζηξέθεηαη από ηε θιήζε ζπζηήκαηνο msgget() ) ptr Έλαο δείθηεο ζηε δνκή κελύκαηνο πνπ ζέινπκε λα γξάςνπκε ζηελ νπξά nbytes Μέγεζνο ζε bytes ησλ δεδνκέλσλ ηνπ κελύκαηνο πνπ ζα πξνζζέζνπκε ζηελ νπξά 16-18

19 flag Απνζηνιή κελπκάησλ (ζπλέρεηα) Η ηηκή 0 κπνξεί λα ηεζεί αλ δελ έρνπκε θάπνην flag. Σν flag IPC_NOWAIT ( sys/ipc.h) κπνξεί λα νξηζζεί. Εάλ ε νπξά κελπκάησλ είλαη γεκάηε (είηε ν ζπλνιηθόο αξηζκόο κελπκάησλ ζηελ νπξά έρεη θζάζεη ην επηηξεπηό όξην ηνπ ζπζηήκαηνο, είηε ν ζπλνιηθόο αξηζκόο bytes ζηελ νπξά έρεη θζάζεη ην επηηξεπηό όξην), κε ην λα νξίζνπκε ην flag IPC_NOWAIT πξνθαιεί ηε msgsnd() λα επηζηξέςεη άκεζα κε ην ιάζνο EAGAIN. Εάλ ην flag IPC_NOWAIT δελ νξηζζεί, ηόηε είκαζηε κπινθαξηζκέλνη κέρξη» λα βξεζεί δηαζέζηκνο ρώξνο γηα ην κήλπκα» ε νπξά λα δηαγξαθεί από ην ζύζηεκα (ην ιάζνο EIDRM επηζηξέθεη)» ή έλα ζήκα πηάλεηαη θαη ην signal handler επηζηξέθεη (ην ιάζνο EINTR interrupt επηζηξέθεη) 16-19

20 Απνζηνιή κελπκάησλ (ζπλέρεηα) Παξάδεηγκα: /* first, define the message string */ char* msg_text = "hello world"; /* allocate a message with enough space for length of string and one extra byte for the terminating null character. */ struct msgbuf* msg = (struct msgbuf*)malloc(sizeof(struct msgbuf) + strlen(msg_text)); /* set the message type. for example - set it to '1'. */ msg->mtype = 1; /* finally, place the "hello world" string inside the message. */ strcpy(msg->mtext, msg_text); /*we use a message size one larger than the length of the string, since we're also sending the null character */ int rc = msgsnd(queue_id, msg, strlen(msg_text)+1, 0); if (rc == -1) { perror("msgsnd"); exit(1); } 16-20

21 Παξαιαβή κελπκάησλ Κιήζε ζπζηήκαηνο msgrcv() reading from a queue #include <sys/msg.h> ssize_t msgrcv(int msqid, void *ptr, size_t nbytes, long type, int flag); Επηζηξέθεη -1 ζε πεξίπησζε ιάζνπο ή ην κέγεζνο ησλ δεδνκέλσλ ηνπ κελύκαηνο ζε πεξίπησζε επηηπρίαο msgid Ο πξνζδηνξηζηήο ηεο νπξάο κελπκάησλ πνπ ζέινπκε λα δηαβάζνπκε (παξαιάβνπκε) έλα κήλπκα (επηζηξέθεηαη από ηε θιήζε ζπζηήκαηνο msgget() ) ptr Έλαο δείθηεο ζηε δνκή κελύκαηνο πνπ ζέινπκε λα θπιάμνπκε ηνλ ηύπν θαη ηα δεδνκέλα ηνπ κελύκαηνο πνπ έρνπκε δηαβάζεη κε επηηπρία από ηελ νπξά nbytes Μέγεζνο ζε bytes ησλ δεδνκέλσλ ζηε δνκή κελύκαηνο

22 Παξαιαβή κελπκάησλ (ζπλέρεηα) Εάλ ην κήλπκα πνπ παξαιακβάλεηαη/δηαβάδεηαη είλαη κεγαιύηεξν από ηελ παξάκεηξν nbytes θαη ην MSG_NOERROR ( sys/msg.h) flag νξίδεηαη, ηόηε ην κήλπκα θόβεηαη (δε δίλεηαη θακία εηδνπνίεζε θαη ην ππόινηπν ηνπ κελύκαηνο ράλεηαη). Εάλ ην κήλπκα είλαη πνιύ κεγάιν θαη ην MSG_NOERROR flag δελ νξίδεηαη, ηόηε ην ιάζνο E2BIG επηζηξέθεηαη

23 Παξαιαβή κελπκάησλ (ζπλέρεηα) Η παξάκεηξνο type νξίδεη πνην κήλπκα ζέινπκε: type == 0 Επηζηξέθεηαη ην πξώην κήλπκα ζηελ νπξά type > 0 Επηζηξέθεηαη ην πξώην κήλπκα ζηελ νπξά ηνπ νπνίνπ ν ηύπνο είλαη ίζν κε ηελ παξάκεηξν type < 0 Επηζηξέθεηαη ην πξώην κήλπκα ζηελ νπξά ηνπ νπνίνπ ν ηύπνο είλαη ε ρακειόηεξε-ηηκή κηθξόηεξε ή ίζε κε ηελ απόιπηε ηηκή ηεο παξακέηξνπ Γηα παξάδεηγκα: ν ηύπορ κπνξεί λα είλαη κηα ηηκή πξνηεξαηόηεηαο, αλ ε εθαξκνγή αλαζέηεη πξνηεξαηόηεηεο ζηα κελύκαηα. ν ηύπορ κπνξεί λα πεξηέρεη ηελ ηαπηόηεηα ηεο δηεξγαζίαο ελόο client, εάλ κηα νπξά κελπκάησλ ρξεζηκνπνηείηαη από πνιιαπινύο clients θαη έλα server

24 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ Σν queue_sender.c δεκηνπξγεί κηα νπξά κελπκάησλ θαη ζηέιιεη κελύκαηα κε δηαθνξεηηθέο πξνηεξαηόηεηεο ζηελ νπξά. Σν queue_reader.c δηαβάδεη ηα κελύκαηα από ηελ νπξά θαη ηα ηππώλεη. Παίξλεη κηα ηηκή ζηε γξακκή εληνιήο πνπ αληηπξνζσπεύεη ηελ πξνηεξαηόηεηα ησλ κελπκάησλ πνπ ζέινπκε λα δηαβάζνπκε. Σξέρνπκε πνιιαπιά αληίγξαθα ηνπ πξνγξάκκαηνο απηνύ ηαπηόρξνλα. Σέηνηνο κεραληζκόο κπνξεί λα ρξεζηκνπνηεζεί από έλα ζύζηεκα ζην νπνίν πνιινί clients κπνξνύλ λα ζηέιινπλ αηηήκαηα δηαθόξσλ ηύπσλ, ηα νπνία ρξεηάδνληαη δηαθνξεηηθή αληηκεηώπηζε

25 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) /* * queue_sender.c - a program that writes messages with one of 3 identifiers to a message queue. */ #include <stdio.h> #include <stdlib.h> #include <sys/types.h> #include <sys/ipc.h> #include <sys/msg.h> #include <string.h> #include "queue_defs.h" int main(int argc, char* argv[]) { int queue_id; /* ID of the created queue.*/ struct msgbuf* msg; /* structure used for sent messages. */ int i; /* loop counter */ int rc; /* error code returned by system calls. */ /* create a public message queue, with access only to the owning user. */ queue_id = msgget(queue_id, IPC_CREAT IPC_EXCL 0600); if (queue_id == -1) { perror("main: msgget"); exit(1); } printf("message queue created, queue id '%d'.\n", queue_id); msg = (struct msgbuf*)malloc(sizeof(struct msgbuf)+max_msg_size); } /* form a loop of creating messages and sending them. */ for (i=1; i <= NUM_MESSAGES; i++) { msg->mtype = (i % 3) + 1; /* create message type between '1' and '3' */ sprintf(msg->mtext, "hello world - %d", i); rc = msgsnd(queue_id, msg, strlen(msg- >mtext)+1, 0); if (rc == -1) { perror("main: msgsnd"); exit(1); } } /* free allocated memory. */ free(msg); printf("generated %d messages, exiting.\n", NUM_MESSAGES); return 0; 16-26

26 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) /* * queue_reader.c - a program that reads messages with a given identifier * off of a message queue. */ #include <stdio.h> /* standard I/O functions. */ #include <stdlib.h> /* malloc(), free() etc. */ #include <unistd.h> /* sleep(), etc. */ #include <sys/types.h> /* various type definitions. */ #include <sys/ipc.h> /* general SysV IPC structures */ #include <sys/msg.h> /* message queue functions and structs. */ #include "queue_defs.h" /* definitions shared by both programs */ int main(int argc, char* argv[]) { int queue_id; /* ID of the created queue. */ struct msgbuf* msg; /* structure used for received messages. */ int rc; /* error code returned by system calls. */ int msg_type; /* type of messages we want to receive. */ /* read message type from command line */ if (argc!= 2) { fprintf(stderr, "Usage: %s <message type>\n", argv[0]); fprintf(stderr, " <message type> must be between 1 and 3.\n"); exit(1); } msg_type = atoi(argv[1]); if (msg_type < 1 msg_type > 3) { fprintf(stderr, "Usage: %s <message type>\n", argv[0]); fprintf(stderr, " <message type> must be between 1 and 3.\n"); exit(1); } 16-27

27 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) /* access the public message queue that the sender program created. */ queue_id = msgget(queue_id, 0); if (queue_id == -1) { perror("main: msgget"); exit(1); } printf("message queue opened, queue id '%d'.\n", queue_id); msg = (struct msgbuf*)malloc(sizeof(struct msgbuf)+max_msg_size); } /* form a loop of receiving messages and printing them out. */ while (1) { rc = msgrcv(queue_id, msg, MAX_MSG_SIZE+1, msg_type, IPC_NOWAIT); if (rc == -1) { perror("main: msgrcv"); exit(1); } printf("reader '%d' read message: '%s'\n", msg_type, msg->mtext); /* slow down a little... */ sleep(1); } /* NOT REACHED */ return 0; 16-28

28 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) #ifndef QUEUE_DEFS_H # define QUEUE_DEFS_H /* * queue_defs.h - common macros and definitions for the public message * queue example. */ #define QUEUE_ID 137 /* ID of queue to generate. */ #define MAX_MSG_SIZE 200 /* size (in bytes) of largest message we'll send.*/ #define NUM_MESSAGES 100 /* number of messages the sender program will send. */ struct msgbuf { long int mtype; /* type of received/sent message */ char mtext[1]; /* text of the message */ }; #endif /* QUEUE_DEFS_H */ 16-29

29 bash-3.1$./sender bash-3.1$./reader 1 message queue opened, queue id '98304'. Reader '1' read message: 'hello world - 3' Reader '1' read message: 'hello world - 6' Reader '1' read message: 'hello world - 9' Reader '1' read message: 'hello world - 12' Reader '1' read message: 'hello world - 15' Reader '1' read message: 'hello world - 18' Reader '1' read message: 'hello world - 21' Reader '1' read message: 'hello world - 24' Reader '1' read message: 'hello world - 27' Reader '1' read message: 'hello world - 30' Reader '1' read message: 'hello world - 33' Reader '1' read message: 'hello world - 36' Reader '1' read message: 'hello world - 39' Reader '1' read message: 'hello world - 42' Reader '1' read message: 'hello world - 45' Reader '1' read message: 'hello world - 51' Reader '1' read message: 'hello world - 57' Reader '1' read message: 'hello world - 63' Reader '1' read message: 'hello world - 69' Reader '1' read message: 'hello world - 75' Reader '1' read message: 'hello world - 81' Reader '1' read message: 'hello world - 87' Reader '1' read message: 'hello world - 93' Reader '1' read message: 'hello world - 99' main: msgrcv: No message of desired type bash-3.1$ Terminal 1 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) bash-3.1$ gcc queue_sender.c -o sender bash-3.1$ gcc queue_reader.c -o reader Terminal 2 bash-3.1$./reader 1 message queue opened, queue id '98304'. Reader '1' read message: 'hello world - 48' Reader '1' read message: 'hello world - 54' Reader '1' read message: 'hello world - 60' Reader '1' read message: 'hello world - 66' Reader '1' read message: 'hello world - 72' Reader '1' read message: 'hello world - 78' Reader '1' read message: 'hello world - 84' Reader '1' read message: 'hello world - 90' Reader '1' read message: 'hello world - 96' main: msgrcv: No message of desired type bash-3.1$ 16-30

30 Πιήξεο παξάδεηγκα νπξάο κελπκάησλ (ζπλέρεηα) bash-3.1$ ipcs -q Message Queues key msqid owner perms used-bytes messages 0x cspgcc bash-3.1$ ipcrm -q

31 Έιεγρνο Οπξάο Μελπκάησλ Κιήζε ζπζηήκαηνο msgctl() #include <msg.h> int msgctl(int msqid, int cmd, struct msqid_ds *buf); Επηζηξέθεη -1 ζε πεξίπησζε ιάζνπο ή 0 ζε πεξίπησζε επηηπρίαο Η msgctl() αιιάδεη ηα δηθαηώκαηα πξόζβαζεο θαη άιια ραξαθηεξηζηηθά κηαο νπξάο κελπκάησλ. Εθηειεί ηελ ελέξγεηα (εληνιή) πνπ νξίδεηαη ζηελ παξάκεηξν cmd επάλσ ζηελ νπξά κελπκάησλ πνπ αληηζηνηρεί ζηνλ πξνζδηνξηζηή πνπ νξίδεηαη ζηελ παξάκεηξν msqid

32 Έιεγρνο Οπξάο Μελπκάησλ (ζπλέρεηα) Η παξάκεηξνο cmd κπνξεί λα είλαη: IPC_STAT Φέξε ηε msqid_ds δνκή ηεο ζπγθεθξηκέλεο νπξάο, απνζεθεύνληάο ηελ ζηε δνκή πνπ δείρλεηαη από ηε παξάκεηξν buf. IPC_SET διδ, θύιαμε ησλ πιεξνθνξηώλ ζρεηηθά κε ηελ θαηάζηαζε ηεο νπξάο ζηε δνκή δεδνκέλσλ πνπ δείρλεηαη από ηε buf. Ρύζκηζε ησλ δηθαησκάησλ πξόζβαζεο, ηδηνθηήηε, νκάδα, θαη ηνπ επηηξεπηνύ κέγηζηνπ αξηζκνύ bytes ηεο msqid_ds δνκήο ηεο ζπγθεθξηκέλεο νπξάο από ηε buf ανηιγπαθή ηων πιο πάνω πεδίων από ηη δομή πος δείσνεηαι από ηη buf ζηη msqid_ds δνκή πνπ ζπζρεηίδεηαη κε ηε ζπγθεθξηκέλε νπξά 16-33

33 Έιεγρνο Οπξάο Μελπκάησλ (ζπλέρεηα) IPC_RMID Δηαγξάθεη (θαηαζηξέθεη) ηελ νπξά κελπκάησλ από ην ζύζηεκα καδί κε όια ηα δεδνκέλα πνπ βξίζθνληαη ζ απηή. Η αθαίξεζε είλαη άκεζε. Οπνηαδήπνηε άιιε δηεξγαζία αθόκα ρξεζηκνπνηεί ηελ νπξά κελπκάησλ, ζα πάξεη έλα κήλπκα (EIDRM identifier removed ) ζηελ επόκελε πξνζπάζεηα ιεηηνπξγίαο ζηελ νπξά. Η παξάκεηξνο buff ηίζεηαη 0 (null) 16-34

34 Έιεγρνο Οπξάο Μελπκάησλ (ζπλέρεηα) Παξαδείγκαηα: #include<sys/types.h> #include <sys/ipc.h> #include <sys/msg.h>... if (msgctl(msqid, IPC_STAT, &buf) == -1) { } perror("msgctl: msgctl failed"); exit(1);... if (msgctl(msqid, IPC_SET, &buf) == -1) { perror("msgctl: msgctl failed"); exit(1); }... if (msgctl(msqid, IPC_RMID, NULL) == -1) { perror("msgctl: msgctl failed"); exit(1); } 16-35

35 Κνηλή Μλήκε Απαίηεζε: #include <sys/shm.h> Δπλαηόηεηα επηθνηλσλίαο κεηαμύ δηεξγαζηώλ κέζσ θαηαρώξεζεο θαη αλάγλσζεο πιεξνθνξηώλ ζε πεξηνρή κλήκεο πνπ είλαη πξνζπειάζηκε από όιεο ηηο δηεξγαζίεο πνπ έρνπλ δηθαίσκα. Αλάγθε ζπγρξνληζκνύ ησλ δηεξγαζηώλ, ζπλήζσο κέζσ ζεκαηνθόξσλ

36 Κνηλή Μλήκε (ζπλέρεηα) αληίζεζε κε ηελ νπξά κελπκάησλ, πνπ αληηγξάθεη δεδνκέλα από ηε δηεξγαζία ζηε κλήκε κέζα ζηνλ ππξήλα, ε θνηλή κλήκε είλαη απεπζείαο πξνζβάζηκε. Η θνηλή κλήκε βξίζθεηαη ζηε κλήκε δηεξγαζίαο ηνπ ρξήζηε θαη ηόηε κνηξάδεηαη κεηαμύ άιισλ δηεξγαζηώλ

37 Κνηλή Μλήκε (ζπλέρεηα) Κνηλό ηκήκα κλήκεο κεηαμύ δηεξγαζηώλ Create MAX Shared Memory (unique key) ptr Attach 0 Attach ptr Process 1 Process 2 ptr ptr ptr Process 3 Process 4 Process

38 Δνκή Κνηλήο Μλήκεο Ο ππξήλαο δηαηεξεί κηα δνκή κε ηα αθόινπζα κέιε γηα θάζε ηκήκα θνηλήο κλήκεο πνπ δεκηνπξγείηαη: struct shmid_ds { struct ipc_perm shm_perm; /* operation permission struct */ size_t shm_segsz; /* size of segment in bytes */ _time_t shm_atime; /* time of last shmat() */ _time_t shm_dtime; /* time of last shmdt() */ _ time_t shm_ctime; /* time of last change by shmctl() */ pid_t shm_cpid; /* pid of creator */ pid_t shm_lpid; /* pid of last shmop */ shmatt_t shm_nattch; /* number of current attaches */... }; 16-39

39 Δεκηνπξγία Κνηλήο Μλήκεο Κιήζε ζπζηήκαηνο shmget() #include <sys/shm.h> int shmget(key_t key, size_t size, int flag); Επηζηξέθεη: πξνζδηνξηζηή θνηλήο κλήκεο ζε επηηπρία ή -1 ζε πεξίπησζε ιάζνπο Δεκηνπξγία ηκήκαηνο θνηλήο κλήκεο Επηζηξέθεη έλα πξνζδηνξηζηή γηα ηελ θνηλή κλήκε κεγέζνπο size (ζε bytes) πνπ αληηζηνηρεί ζην θιεηδί key. ηελ παξάκεηξν flag ηίζεληαη ηα επηζπκεηά δηθαηώκαηα πξνζηαζίαο θαζώο θαη πξόζζεηεο απαηηήζεηο (IPC_CREAT θαη IPC_EXCL, κε ηελ ίδηα ζεκαζία πνπ έρνπλ θαη ζηηο νπξέο κελπκάησλ) ζρεηηθέο κε ηε δεκηνπξγία ηεο θνηλήο κλήκεο

40 Δεκηνπξγία Κνηλήο Μλήκεο (ζπλέρεηα) Εάλ έλα λέν ηκήκα θνηλήο κλήκεο δεκηνπξγείηαη, πξέπεη λα δεισζεί έλα size. Εάλ παξαπέκπνπκε ζε πθηζηάκελν ηκήκα θνηλήο κλήκεο (πειάηεο), κπνξνύκε λα νξίζνπκε ην size σο 0. Όηαλ έλα λέν ηκήκα θνηλήο κλήκεο δεκηνπξγείηαη, ηα πεξηερόκελα ηνπ ηκήκαηνο αξρηθνπνηνύληαη κε 0s. Παράδειγμα: /* this variable is used to hold the returned segment identifier. */ int shm_id; /* allocate a shared memory segment with size of 2048 bytes, accessible only to the current user. */ key_t key = ftok( /home/user/somefile.txt, R ); shm_id = shmget(key, 2048, IPC_CREAT IPC_EXCL 0600); if (shm_id == -1) { perror("shmget: "); exit(1); } 16-41

41 Πξνζάξηεζε Κνηλήο Μλήκεο Κιήζε ζπζηήκαηνο shmat() #include <sys/shm.h> void *shmat(int shmid, const void *addr, int flag); Επηζηξέθεη: δείθηε ζην ηκήκα θνηλήο κλήκεο ζε πεξίπησζε επηηπρίαο, αιιηώο -1 Όηαλ έλα ηκήκα θνηλήο κλήκεο δεκηνπξγείηαη, κηα δηεξγαζία πξνζαξηά ην ηκήκα ζην ρώξν δηεπζύλζεώλ ηεο (address space). Η shmat() πξνζαξηά ηελ θνηλή κλήκε πνπ αληηζηνηρεί ζηνλ πξνζδηνξηζηή shmid ζηελ πεξηνρή κλήκεο πνπ έρεη πξόζβαζε ε θαινύζα δηεξγαζία θαη επηζηξέθεη ηελ θαηάιιειε δηεύζπλζε. Μέζσ ησλ παξακέηξσλ addr θαη flag κπνξεί λα δεηεζεί ε πξνζάξηεζε ζε ζπγθεθξηκέλε πεξηνρή κλήκεο, αιιά είλαη πην ζύλεζεο θαη νξζό λα αθεζεί ε επηινγή απηή ζηνλ ππξήλα ζέηνληαο 0 θαη ζηηο δπν παξακέηξνπο. Εάλ ην flag ηίζεηαη σο SHM_RDONLY, ην ηκήκα είλαη κόλν γηα read, αιιηώο είλαη read-write

42 Πξνζάξηεζε Κνηλήο Μλήκεο high address (ζπλέρεηα) argv, argc and envir. variables STACK shared memory heap Uninitialized Data (BSS) Initialized Data Memory layout TEXT low address 16-43

43 Απόζπαζε Κνηλήο Μλήκεο Κιήζε ζπζηήκαηνο shmdt() #include <sys/shm.h> int shmdt(void *addr); Επηζηξέθεη: 0 ζε πεξίπησζε επηηπρίαο, αιιηώο -1 ζε πεξίπησζε ιάζνπο Η παξάκεηξνο addr είλαη ε δηεύζπλζε πνπ επηζηξάθεθε από ηελ θιήζε ζπζηήκαηνο shmat() Απνζπά ηελ πξνζαξηεκέλε, ζηε δηεύζπλζε addr, θνηλή κλήκε, όηαλ ε ζπγθεθξηκέλε δηεξγαζία πνπ ηελ θαιεί έρεη ηειεηώζεη από ην λα ρξεζηκνπνηεί ηελ θνηλή κλήκε. Απηό δε δηαγξάθεη ηνλ πξνζδηνξηζηή θαη ηε ζρεηηθή IPC δνκή από ην ζύζηεκα. Ο πξνζδηνξηζηήο παξακέλεη λα πθίζηαηαη κέρξη θάπνηα δηεξγαζία ηε δηαγξάςεη ζπγθεθξηκέλα

44 Έιεγρνο Κνηλήο Μλήκεο Κιήζε ζπζηήκαηνο shmctl() #include <shm.h> int shmctl(int shmid, int cmd, struct shmid_ds *buf); Επηζηξέθεη -1 ζε πεξίπησζε ιάζνπο ή 0 ζε πεξίπησζε επηηπρίαο Εθηειεί ηελ ελέξγεηα cmd ζηελ θνηλή κλήκε πνπ αληηζηνηρεί ζηνλ πξνζδηνξηζηή shmid Αληίζηνηρα κε ηηο δπλαηόηεηεο πνπ ππάξρνπλ γηα ηηο νπξέο κελπκάησλ (κέζσ ηεο msgctl), κε ηελ ελέξγεηα IPC_STAT ζπκπιεξώλνληαη ηα πεδία ηεο δνκήο *buf κε ηα ραξαθηεξηζηηθά ηεο θνηλήο κλήκεο, ελώ κε ηελ ελέξγεηα ηipc_set ξπζκίδνληαη ζπγθεθξηκέλα πεδία από ηε δομή πος δείσνεηαι από ηη buf ζηη shmid_ds δνκή πνπ ζπζρεηίδεηαη κε ην ζπγθεθξηκέλν ηκήκα θνηλήο κλήκεο. Η ζπλεζέζηεξε ελέξγεηα είλαη ε IPC_RMID πνπ θαηαζηξέθεη ηελ θνηλή κλήκε

45 Παξάδεηγκα δπν δηεξγαζηώλ πνπ επηθνηλσλνύλ κέζσ θνηλήο κλήκεο /**** shm_server.c ****/ #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <stdio.h> #include <stdlib.h> #define SHMSZ 27 main() { char c; int shmid; key_t key; char *shm, *s; /* We'll name our shared memory segment * "5678". */ key = 5678; /* Create the segment. */ if ((shmid = shmget(key, SHMSZ, IPC_CREAT 0666)) < 0) { perror("shmget"); exit(1); } /* Now we attach the segment to our data space. */ if ((shm = shmat(shmid, ΕΠΛ 371 NULL, Ππογπαμμαηιζμόρ 0)) == (char Σςζηημάηων *) -1) { perror("shmat"); exit(1); } 16-46

46 Παξάδεηγκα δπν δηεξγαζηώλ πνπ επηθνηλσλνύλ κέζσ θνηλήο κλήκεο (ζπλέρεηα) /* Now put some things into the memory for the other process to read. */ s = shm; for (c = 'a'; c <= 'z'; c++) *s++ = c; *s = \0'; /* Finally, we wait until the other process changes the first character of our memory to '*', indicating that it has read what we put there. */ while (*shm!= '*') sleep(1); /* detach from the segment: */ if (shmdt(shm) == -1) perror("shmdt"); /* delete τhe segment */ if( shmctl(shmid, IPC_RMID, NULL) == -1) { perror("shmctl"); exit(1); } return 0; } 16-47

47 Παξάδεηγκα δπν δηεξγαζηώλ πνπ επηθνηλσλνύλ κέζσ θνηλήο κλήκεο /**** shm_client.c ****/ #include <sys/types.h> #include <sys/ipc.h> #include <sys/shm.h> #include <stdio.h> #include <stdlib.h> #define SHMSZ 27 (ζπλέρεηα) main() { int shmid; key_t key; char *shm, *s; /* We need to get the segment named "5678", created by the server. */ key = 5678; /* Locate the segment. */ if ((shmid = shmget(key, SHMSZ, 0666)) < 0) { perror("shmget"); exit(1); } 16-48

48 Παξάδεηγκα δπν δηεξγαζηώλ πνπ επηθνηλσλνύλ κέζσ θνηλήο κλήκεο (ζπλέρεηα) /* Now we attach the segment to our data space. */ if ((shm = shmat(shmid, NULL, 0)) == (char *) -1) { perror("shmat"); exit(1); } /* Now read what the server put in the memory. */ for (s = shm; *s!= \0'; s++) putchar(*s); putchar('\n'); /* Finally, change the first character of the segment to '*', indicating we have read the segment. */ *shm = '*'; /* detach from the segment: */ if (shmdt(shm) == -1) perror("shmdt"); return(0); } 16-49

49 Παξάδεηγκα δπν δηεξγαζηώλ πνπ επηθνηλσλνύλ κέζσ θνηλήο κλήκεο (ζπλέρεηα) bash-3.1$ gcc shm_server.c -o shm_server bash-3.1$ gcc shm_client.c -o shm_client Terminal 1 bash-3.1$./shm_server bash-3.1$ Terminal 2 bash-3.1$./shm_client abcdefghijklmnopqrstuvwxyz bash-3.1$ 16-50

50 εκαηνθόξνη Έναρ ζημαηοθόπορ είναι έναρ μεηπηηήρ πος πποζθέπει ππόζβαζη ζε ένα κοινό ανηικείμενο δεδομένων για πολλαπλέρ διεπγαζίερ. Μεραληζκόο ζπγρξνληζκνύ δηεξγαζηώλ γηα ηελ απνθιεηζηηθή δηαρείξηζε θνηλώλ πόξσλ (π.ρ. θνηλήο κλήκεο). Πξηλ ηελ είζνδν ζε θξίζηκν ηκήκα ηνπ πξνγξάκκαηόο ηεο, κηα δηεξγαζία δεηά ηελ απαηηνύκελε άδεηα από έλα ειεγθηή ζεκαηνθόξν (αλακέλνληαο, αλ ρξεηάδεηαη, κέρξη λα ηεο δνζεί), νπόηε δεζκεύεη ην απαηηνύκελν κέξνο ηνπ πόξνπ πνπ ειέγρεη ν ζεκαηνθόξνο θαη κεηά ηελ έμνδν από ην θξίζηκν ηκήκα απνδεζκεύεη ην δεζκεπκέλν κέξνο ηνπ πόξνπ. Η δέζκεπζε γίλεηαη κε θαηάιιειε κείσζε ηεο ηηκήο ηνπ ζεκαηνθόξνπ θαη ε απνδέζκεπζε κε θαηάιιειε αύμεζε ηεο ηηκήο ηνπ ζεκαηνθόξνπ

51 εκαηνθόξνη (ζπλέρεηα) Δέζκεπζε θνηλνύ πόξνπ από κηα δηεξγαζία: 1. Έιεγρνο ζεκαηνθόξνπ πνπ ειέγρεη ηνλ πόξν. 2. Αλ ε ηηκή ηνπ ζεκαηνθόξνπ είλαη ζεηηθή, ε δηεξγαζία κπνξεί λα ρξεζηκνπνηήζεη ηνλ θνηλό πόξν. Σόηε ε δηεξγαζία κεηώλεη ηελ ηηκή ηνπ ζεκαηνθόξνπ θαηά 1, δειώλνληαο όηη έρεη ρξεζηκνπνηήζεη κηα κνλάδα ηνπ πόξνπ. 3. Αιιηώο, αλ ε ηηκή ηνπ ζεκαηνθόξνπ είλαη 0, ε δηεξγαζία αλακέλεη (sleep) κέρξη ε ηηκή ηνπ ζεκαηνθόξνπ είλαη κεγαιύηεξε από 0. Όηαλ ε δηεξγαζία ξςπνήζει επηζηξέθεη ζην βήκα 1. Απνδέζκεπζε θνηλνύ πόξνπ από κηα δηεξγαζία: 1. Όηαλ κηα δηεξγαζία ηειεηώζεη κε ηνλ θνηλό πόξν, ηόηε ε ηηκή ηνπ ζεκαηνθόξνπ απμάλεηαη θαηά Αλ άιιεο δηεξγαζίεο αλακέλνπλ (κοιμούνηαι), ηόηε ξςπνούν. Ο έιεγρνο ηνπ ζεκαηνθόξνπ θαη νη όπνηεο ιεηηνπξγίεο πξέπεη λα είλαη αηνκηθή δηαδηθαζία. Γη απηό, νη ζεκαηνθόξνη πινπνηνύληαη κέζα ζηνλ ππξήλα

52 εκαηνθόξνη (ζπλέρεηα) Απαίηεζε: #include <sys/sem.h> Μπνξνύκε λα νξίζνπκε έλα ζεκαηνθόξν σο έλα ζύλνιν κηαο ή πεξηζζνηέξσλ ηηκώλ ζεκαηνθόξσλ. Όηαλ δεκηνπξγνύκε έλα ζεκαηνθόξν, πξέπεη λα οπίζοςμε ηον απιθμό ηων ηιμών μέζα ζηο ζύνολο

53 Δνκή πλόινπ εκαηνθόξσλ Ο ππξήλαο δηαηεξεί κηα δνκή κε ηα αθόινπζα κέιε γηα θάζε ζύλνιν ζεκαηνθόξσλ πνπ δεκηνπξγείηαη: /* Data structure describing a set of semaphores. */ struct semid_ds { struct ipc_perm sem_perm; /* operation permission struct */ time_t sem_otime; /* last semop() time */ time_t sem_ctime; /* last time changed by semctl() */ unsigned long int sem_nsems; /* number of semaphores in set */... }; 16-54

54 Δεκηνπξγία πλόινπ εκαηνθόξσλ Κιήζε ζπζηήκαηνο semget() #include <sys/sem.h> int semget(key_t key, int nsems, int flag); Επηζηξέθεη: πξνζδηνξηζηή ζεκαηνθόξνπ ζε επηηπρία ή -1 ζε πεξίπησζε ιάζνπο Δεκηνπξγία ζπλόινπ ζεκαηνθόξσλ Επηζηξέθεη έλα πξνζδηνξηζηή γηα έλα ζύλνιν από nsems ζεκαηνθόξνπο πνπ αληηζηνηρεί ζην θιεηδί key. ηελ παξάκεηξν flag ηίζεληαη ηα επηζπκεηά δηθαηώκαηα πξνζηαζίαο θαζώο θαη πξόζζεηεο απαηηήζεηο (IPC_CREAT θαη IPC_EXCL, κε ηελ ίδηα ζεκαζία πνπ έρνπλ ζηηο νπξέο κελπκάησλ θαη ζηελ θνηλή κλήκε) ζρεηηθέο κε ηε δεκηνπξγία ηνπ ζπλόινπ ζεκαηνθόξσλ. Εάλ θαινύκε πθηζηάκελν ζύλνιν ζεκαηνθόξσλ, ε παξάκεηξνο nsems ηίζεηαη

55 Δεκηνπξγία πλόινπ εκαηνθόξσλ (ζπλέρεηα) Παράδειγμα: /* ID of the semaphore set. */ int sem_set_id_1; int sem_set_id_2; /* create a private semaphore set with one semaphore in it, with access only to the owner. */ sem_set_id_1 = semget(ipc_private, 1, IPC_CREAT 0600); if (sem_set_id_1 == -1) {perror("main: semget"); exit(1);} /* create a semaphore set with key 250, three semaphores in the set, with access only to the owner. */ sem_set_id_2 = semget(250, 3, IPC_CREAT 0600); if (sem_set_id_2 == -1) {perror("main: semget"); exit(1);} 16-56

56 Χεηξηζκόο πλόινπ εκαηνθόξσλ Κιήζε ζπζηήκαηνο semop() #include <sys/sem.h> int semop(int semid, struct sembuf semoparray[], size_t nops); Επηζηξέθεη 0 ζε πεξίπησζε επηηπρίαο ή -1 ζε πεξίπησζε ιάζνπο Εθηειεί ζην ζύλνιν ζεκαηνθόξσλ, πνπ πξνζδηνξίδνληαη από ηελ παξάκεηξν semid, ηηο ιεηηνπξγίεο πνπ θαζνξίδνληαη ζε έλα πίλαθα κεγέζνπο nops από δνκέο struct sembuf, ην πξώην ζηνηρείν ηνπ νπνίνπ δείρλεη ε παξάκεηξνο semoparray. Η παξάκεηξνο nops νξίδεη ηνλ αξηζκό ησλ ιεηηνπξγηώλ (ζηνηρεία ηνπ πίλαθα)

57 Χεηξηζκόο πλόινπ εκαηνθόξσλ (ζπλέρεηα) Η παξάκεηξνο semoparray είλαη έλαο πίλαθαο από ιεηηνπξγίεο ζεκαηνθόξσλ, πνπ αληηπξνζσπεύεηαη από δνκέο sembuf: /* Structure used for argument to `semop' to describe operations. */ struct sembuf { unsigned short int sem_num; /* semaphore number */ short int sem_op; /* semaphore operation */ short int sem_flg; /* operation flag */ }; Πεξηγξάθεη ηε ιεηηνπξγία κεηαβνιήο ηεο ηηκήο ηνπ ππ αξηζκό sem_num ζεκαηνθόξνπ ηνπ ζπλόινπ (από 0 έσο nsems -1) θαηά sem_op (<0 γηα δέζκεπζε θαη >0 γηα απνδέζκεπζε)

58 Χεηξηζκόο πλόινπ εκαηνθόξσλ (ζπλέρεηα) SEM_UNDO flag Δεκηνπξγείηαη πξόβιεκα όηαλ κηα δηεξγαζία ηεξκαηίδεηαη, ελώ έρεη πόξνπο δεζκεπκέλνπο δηακέζνπ ελόο ζεκαηνθόξνπ. Όηαλ νξίδνπκε ηε SEM_UNDO flag ζηελ θιήζε ζπζηήκαηνο semop() γηα κηα ιεηηνπξγία ζεκαηνθόξνπ θαη δεζκεύνπκε πόξνπο (κηα sem_op ηηκή <0), ν ππξήλαο ζπκάηαη πόζνπο πόξνπο έρνπκε δεζκεύζεη από ην ζπγθεθξηκέλν ζεκαηνθόξν (ε απόιπηε ηηκή ηνπ sem_op). Όηαλ ε δηεξγαζία ηεξκαηίζεη, ν ππξήλαο ειέγρεη θαηά πόζν ε δηεξγαζία έρεη νπνηεζδήπνηε κε-νινθιεξσκέλεο ξπζκίζεηο ηεο ηηκήο ηνπ ζεκαηνθόξνπ θαη εθαξκόδεη απηέο ηηο ξπζκίζεηο

59 Έιεγρνο εκαηνθόξνπ Κιήζε ζπζηήκαηνο semctl() #include <sem.h> int semctl(int semid, int semnum, int cmd, union semun arg); Επηζηξέθεη ηηκή αλάινγα κε ηελ εληνιή Εθηειεί ηελ ελέξγεηα cmd ζηνλ semnum ζεκαηνθόξν (από 0 έσο nsems -1) ηνπ ζπλόινπ ζεκαηνθόξσλ (ή αλάινγα κε ηελ εληνιή, ζε νιόθιεξν ην ζύλνιν) πνπ αληηζηνηρεί ζηνλ πξνζδηνξηζηή semid Η έλσζε union semun είλαη νξηζκέλε σο /* The user should define a union like the following to use it for arguments for `semctl'. */ union semun { int val; /* value for SETVAL */ struct semid_ds *buf; /* buffer for IPC_STAT & IPC_SET */ unsigned short int *array; /* array for GETALL & SETALL */ struct seminfo * buf; /* buffer for IPC_INFO */ }; 16-60

60 Έιεγρνο εκαηνθόξνπ (ζπλέρεηα) Με ηελ εληνιή IPC_STAT ζπκπιεξώλνληαη ηα πεδία ηεο δνκήο *(arg.buf) κε ηα ραξαθηεξηζηηθά ηνπ ζπλόινπ ζεκαηνθόξσλ. Με ηηο εληνιέο SETVAL θαη GETVAL ηίζεηαη ζαλ ηηκή ελόο ζεκαηνθόξνπ ην arg.val ή επηζηξέθεη ε θιήζε ζπλάξηεζεο semctl() ηελ ηηκή ηνπ, αληίζηνηρα. Με ηηο εληνιέο SETALL θαη GETALL ηίζεληαη ηηκέο ζηνπο ζεκαηνθόξνπο ηνπ ζπλόινπ (από ηνλ πίλαθα, ζηελ αξρή ηνπ νπνίνπ δείρλεη ην arg.array) ή επηζηξέθνληαη νη ηηκέο ησλ ζεκαηνθόξσλ (ζηνλ πίλαθα arg.array), αληίζηνηρα. Με ηελ εληνιή IPC_RMID θαηαζηξέθεηαη ην ζύλνιν ησλ ζεκαηνθόξσλ

61 Παξάδεηγκα Παξάδεηγκα επηθνηλσλίαο δπν δηεξγαζηώλ κεηαμύ ηνπο κέζσ θνηλήο κλήκεο θαη ην ζπγρξνληζκό ηνπο κέζσ ζεκαηνθόξσλ /* File: shm_sem_server.c */ #include <sys/types.h> /* For System V IPC */ #include <sys/ipc.h> /* For System V IPC */ #include <sys/shm.h> /* For shared memory */ #include <sys/sem.h> /* For semaphores */ #include <stdio.h> /* For I/O */ #define SHMKEY (key_t)4321 /* Key value of shared memory */ #define SEMKEY (key_t)9876 /* Key value of semaphore set */ #define SHMSIZ 256 /* Size of shared memory */ #define PERMS 0600 /* Permissions of shared memory and semaphore set */ union semun { /* Union for semaphores */ int val; struct semid_ds *buff; unsigned short *array; }; 16-62

62 Παξάδεηγκα (ζπλέρεηα) main() { int shmid, semid; char line[128], *shmem; struct sembuf oper[1] = {0, 1, 0}; /*want to release shared memory region*/ union semun arg; /* Create shared memory */ if ((shmid = shmget(shmkey, SHMSIZ, PERMS IPC_CREAT)) < 0) { perror("shmget"); exit(1); } printf("created shared memory region with identifier %d\n", shmid); /* Create semaphore set with 1 item */ if ((semid = semget(semkey, 1, PERMS IPC_CREAT)) < 0) { perror("semget"); exit(1); } printf("created semaphore with identifier %d\n", semid); /* Initialize semaphore for locking */ arg.val=0; if (semctl(semid, 0, SETVAL, arg) < 0) { perror("semctl"); exit(1); } printf("initialized semaphore to lock shared memory region\n"); 16-63

63 Παξάδεηγκα (ζπλέρεηα) /* Attach shared memory region locally */ if ((shmem = shmat(shmid, (char *) 0, 0)) == (char *) -1) { perror("shmat"); exit(1); } printf("attached shared memory region\n"); /* Write message to shared memory */ printf("give input line: "); fgets(line, sizeof line, stdin); line[strlen(line)-1] = '\0'; strcpy(shmem, line); printf("wrote to shared memory region: %s\n", line); /* Make shared memory available */ if (semop(semid, &oper[0], 1) < 0) { perror("semop"); exit(1); } printf("released shared memory region\n"); } 16-64

64 Παξάδεηγκα (ζπλέρεηα) /* File: shm_sem_client.c */ #include <sys/types.h> /* For System V IPC */ #include <sys/ipc.h> /* For System V IPC */ #include <sys/shm.h> /* For shared memory */ #include <sys/sem.h> /* For semaphores */ #include <stdio.h> /* For I/O */ #define SHMKEY (key_t)4321 /* Key value of shared memory */ #define SEMKEY (key_t)9876 /* Key value of semaphore set */ #define SHMSIZ 256 /* Size of shared memory */ #define PERMS 0600 /* Permissions of shared memory and semaphore set */ main() { int shmid, semid; char *shmem; struct sembuf oper[1] = {0, -1, 0}; /*want to reserve shared memory region*/ 16-65

65 Παξάδεηγκα (ζπλέρεηα) /* Access shared memory */ if ((shmid = shmget(shmkey, SHMSIZ, PERMS)) < 0) { perror("shmget"); exit(1); } printf("accessing shared memory region with identifier %d\n", shmid); /* Access semaphore set */ if ((semid = semget(semkey, 1, PERMS)) < 0) { perror("semget"); exit(1); } printf("accessing semaphore with identifier %d\n", semid); /* Attach shared memory region locally */ if ((shmem = shmat(shmid, (char *) 0, 0)) == (char *) -1) { perror("shmat"); exit(1); } printf("attached shared memory region\n"); 16-66

66 Παξάδεηγκα (ζπλέρεηα) printf("asking for access to shared memory region\n"); /* Ask if you may access shared memory */ if (semop(semid, &oper[0], 1) < 0) { perror("semop"); exit(1); } printf("read from shared memory region: %s\n", shmem); /* Accessing */ /* Destroy shared memory */ if (shmctl(shmid, IPC_RMID, (struct shmid_ds *) 0) < 0) { perror("shmctl"); exit(1); } printf("removed shared memory region with identifier %d\n", shmid); /* Destroy semaphore set */ if (semctl(semid, 0, IPC_RMID, 0) < 0) { perror("semctl"); exit(1); } printf("removed semaphore with identifier %d\n", semid); } 16-67

67 Παξάδεηγκα (ζπλέρεηα) bash-3.1$ gcc shm_sem_server.c -o shm_sem_server bash-3.1$ gcc shm_sem_client.c -o shm_sem_client bash-3.1$./shm_sem_server Created shared memory region with identifier Created semaphore with identifier Initialized semaphore to lock shared memory region Attached shared memory region Give input line: To be saved in shared memory Wrote to shared memory region: To be saved in shared memory Released shared memory region bash-3.1$ bash-3.1$./shm_sem_client Accessing shared memory region with identifier Accessing semaphore with identifier Attached shared memory region Asking for access to shared memory region Read from shared memory region: To be saved in shared memory Removed shared memory region with identifier Removed semaphore with identifier bash-3.1$ 16-68

Προγραμματισμός συστημάτων UNIX/POSIX

Προγραμματισμός συστημάτων UNIX/POSIX Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) Ανάγκη Ότι είδαμε μέχρι τώρα μπορεί

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

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις

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

IPC System V. Προγραμματισμός II 1

IPC System V. Προγραμματισμός II 1 IPC System V Προγραμματισμός II 1 lalis@inf.uth.gr Διαδιεργασιακή επικοινωνία System V 3 είδη «αντικειμένων» (μηχανισμών) επικοινωνίας ουρές μηνυμάτων (message queues): msg κοινόχρηστες περιοχές μνήμης

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

Προγραμματισμός συστημάτων UNIX/POSIX

Προγραμματισμός συστημάτων UNIX/POSIX Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) σήματα (signals) Ανάγκη Ότι είδαμε

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

Ουρές Μηνυμάτων (Message Queues in System V) Προγραμματισμός II 1

Ουρές Μηνυμάτων (Message Queues in System V) Προγραμματισμός II 1 Ουρές Μηνυμάτων (Message Queues in System V) Προγραμματισμός II 1 lalis@inf.uth.gr Ουρά μηνυμάτων Αποθήκη μηνυμάτων στην μνήμη του λειτουργικού Περιορισμένος αριθμός / όγκος μηνυμάτων Κάθε μήνυμα είναι

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

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.

Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ. Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,

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

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις

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

Συγχρονισμός & σηματοφόροι. Προγραμματισμός II 1

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

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

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016

Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε

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

Constructors and Destructors in C++

Constructors and Destructors in C++ Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη

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

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS

ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο

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

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP

ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη

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

Νσίπληρ Νίκορ- ΕΣΤ 4ο ΥΡΟΝΣΙΣΗΡΙΟ Παπαςκετή Β4

Νσίπληρ Νίκορ- ΕΣΤ 4ο ΥΡΟΝΣΙΣΗΡΙΟ Παπαςκετή Β4 Νσίπληρ Νίκορ- ΕΣΤ 4ο ΥΡΟΝΣΙΣΗΡΙΟ Παπαςκετή 4-11-2013 Β4 1 Κοινή Μνήμη μεσαξύ διεπγαςιών -> Γπηγοπόσεπη μοπυή IPC Σα δεδομένα δεν ανσιγπάυονσαι πάνω από μία υοπά Server/Client model. Όσαν ο Server γπάυει,

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

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ

Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ Συστήματα Αρίθμησης Υποπλοίαρχος Ν. Πετράκος ΠΝ 1 Ειζαγωγή Τν bit είλαη ε πην βαζηθή κνλάδα κέηξεζεο. Είλαη κία θαηάζηαζε on ή off ζε έλα ςεθηαθό θύθισκα. Άιιεο θνξέο είλαη κία θαηάζηαζε high ή low voltage

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

Ενδεικτικά Θέματα Στατιστικής ΙΙ

Ενδεικτικά Θέματα Στατιστικής ΙΙ Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε

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

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

ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 ΙΩΑΝΝΗΣ ΚΩΝΣΤΑΝΤΙΝΟΥ 2ο ΦΡΟΝΤΙΣΤΗΡΙΟ ΠΑΡΑΣΚΕΥΗ 26 ΟΚΤΩΒΡΙΟΥ 2012 ΑΙΘΟΥΣΑ Β4 1 Διαχείριση εργασιών fork(), exit(), exec() Επικοινωνία διεργασιών signals, sockets και client/server, shared memory Συγχρονισμός

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

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ

ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή

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

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2

TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2 TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε

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

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.

Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...

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

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ

Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε

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

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση

Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ

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

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ

H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη

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

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ Α ΛΤΚΔΙΟΤ Ζμεπομηνία: 18/12/10 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΕΙΝΟΜΕΝΕ ΛΤ ΕΙ 1. Δίλεηαη ην πνιπώλπκν Αλ θαη., λα βξείηε ην ηειεπηαίν ςεθίν ηνπ αξηζκνύ έρνπκε:

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

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird

1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird

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

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12

x-1 x (x-1) x 5x 2. Να απινπνηεζνύλ ηα θιάζκαηα, έηζη ώζηε λα κελ ππάξρνπλ ξηδηθά ζηνπο 22, 55, 15, 42, 93, 10 5, 12 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

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

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ

Κεθάλαιο 7. Πξνζθνξά ηνπ θιάδνπ Μ. ΨΥΛΛΑΚΗ Κεθάλαιο 7 Πξνζθνξά ηνπ θιάδνπ 1 Προζθορά ανηαγωνιζηικού κλάδοσ Πώο πξέπεη λα ζπλδπαζηνύλ νη απνθάζεηο πξνζθνξάο ησλ πνιιώλ επηκέξνπο επηρεηξήζεσλ ελόο αληαγσληζηηθνύ θιάδνπ γηα λα βξνύκε ηελ θακπύιε πξνζθνξάο

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

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

Λειτουργικά Συστήματα Δρ. Βασίλης Ταμπακάς Δρ. Ιωάννης Ε. Λιβιέρης Τμήμα Μηχανικών Πληροφορικής Τ.Ε Περιεχόμενα Περιεχόμενα... 1 1. Εισαγωγή, Θεωρητική Υποδομή Εργαστηριακής Άσκησης... 2 2. Εργαστηριακή υποδομή εργαστηριακής

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

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη

iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:

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

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14

Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 .1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε

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

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ

ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΑΠΑΝΤΗΣΔΙΣ ΓΙΚΤΥΑ ΥΠΟΛΟΓΙΣΤΩΝ II ΔΠΑΛ ΘΔΜΑ Α Α1. α. Σ β. Σ γ. Λ δ. Λ ε. Λ ζη. Σ Α2. Γ Α3. 1. γ 2. ε 3. δ 4. α Β1. ΘΔΜΑ Β Οη ηειηθνί ππνινγηζηέο παίξλνπλ απνθάζεηο δξνκνιόγεζεο κόλν γηα ηα δηθά ηνπο απηνδύλακα

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

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.

B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30

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

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών

ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 2 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ

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

Η αξρή ζύλδεζεο Client-Server

Η αξρή ζύλδεζεο Client-Server Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο

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

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ

ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί

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

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)

Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access) Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα

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

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :

ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο : ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη

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

ΝΗΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

ΝΗΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Νήματα (Threads) ΝΗΜΑΤΑ - ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ

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

UML (Unified Modeling Language )

UML (Unified Modeling Language ) UML (Unified Modeling Language ) Μεγάια Έξγα Λνγηζκηθνύ = επηθνηλσλία Πνιινί πξνγξακκαηηζηέο, πνιινί πειάηεο-ρξήζηεο, νη επόκελεο γεληέο, επηβάιινπλ ηε ρξήζε θνηλήο νξνινγίαο ε άιια ηερληθά έξγα ε ρξήζε

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

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.

ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000. ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε

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

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.

Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε

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

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α

Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α Διαδικαζία μεηαθοράς δεδομένων Εκκαθαριζηικής για ηο Eιδικό ζημείωμα περαίωζης Φ.Π.Α Σει.1 Σο ζςγκεκπιμένο εγσειπίδιο δημιοςπγήθηκε για να βοηθήζει ηην καηανόηζη ηηρ διαδικαζίαρ μεηαθοπάρ δεδομένων ηηρ

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

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)

Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing) 1 Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing) Δημήτπιορ Κατσαπόρ Χεηκώλαο 2016 Διάλεξη 7η 2 Περιεχόμενα Εςπετήπια 3 Παράμετροι ενδιαφέροντος (1/2) Tuning time: Ο ρξόλνο πνπ ν θηλεηόο

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

Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σεπτέµβριος 2013

Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σεπτέµβριος 2013 Γράψτε όλες τις απαντήσεις σας σε αυτό το φυλλάδιο Οδηγίες για Α: Διαβάστε προσεκτικά όλες τις επιλογές σηµειώστε µε Χ (το πολύ) µια από αυτές. Μην επιλέγετε «στην τύχη» οι λανθασµένες απαντήσεις βαθµολογούνται

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

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84

Διαηιμήζεις για Αιολικά Πάρκα. Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Κώδικες 28, 78 και 84 Διαηιμήζεις για Αιολικά Πάρκα Οη Διαηιμήζεις για Αιολικά Πάρκα εθαξκόδνληαη γηα ηελ απνξξνθνύκελε ελέξγεηα από Αηνιηθά Πάξθα πνπ είλαη ζπλδεδεκέλα ζην

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

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

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ

ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ ΘΔΚΑ ΡΖΠ ΑΛΑΓΛΩΟΗΠΖΠ 1.Απηόο πνπ ζα αλαγλσξηζηεί απνπζηάδεη γηα πνιύ θαηξό. 2.Δπηζηξέθεη κε πιαζηή ηαπηόηεηα ή κεηακνξθσκέλνο. 3.Απνκνλώλνληαη ηα δύν πξόζσπα 4.Άξζε κεηακόξθσζεο 5.Απνθάιπςε 6.Ακθηβνιίεο-απνδεηθηηθά

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

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο 2009. 1. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) =

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο 2009. 1. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(x,y) = ΘΔΜΑΣΑ Α επηέκβξηνο 9. Να ππνινγηζηνύλ νη κεξηθέο παξάγσγνη πξώηεο ηάμεο ηεο ζπλάξηεζεο f(,y) = y.. Να ππνινγηζηνύλ ηα νινθιεξώκαηα: a) ln b) a) 3cos b) e sin 4. Να ππνινγηζηεί ην νινθιήξσκα: S ( y) 3

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ.. ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο

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

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ

ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ

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

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2

Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2 ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.

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

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12

Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12 Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;

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

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ

Επωηήζειρ Σωζηού Λάθοςρ ηων πανελλαδικών εξεηάζεων Σςναπηήζειρ Επωηήζειρ Σωζηού Λάθοςρ ηων πνελλδικών εξεηάζεων 2-27 Σςνπηήζειρ Η γξθηθή πξάζηζε ηεο ζπλάξηεζεο f είλη ζπκκεηξηθή, σο πξνο ηνλ άμνλ, ηεο γξθηθήο πξάζηζεο ηεο f 2 Αλ f, g είλη δύν ζπλξηήζεηο κε πεδί νξηζκνύ

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ Πρόβλημα 1: α) Να δείμεηε όηη αλ ζεηηθνί πξαγκαηηθνί αξηζκνί ηζρύεη: β) Αλ είλαη

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

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου

ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΠΡΟΒΛΗΜΑ Σε έλα ηνπξλνπά βόιετ δήισζαλ ζπκκεηνρή νκάδεο Γπκλαζίσλ ηεο Κύπξνπ.

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

Ππογπαμμαηιζμόρ Ι (ΗΥ120)

Ππογπαμμαηιζμόρ Ι (ΗΥ120) Ππογπαμμαηιζμόρ Ι (ΗΥ120) Δηάιεμε 10: Ταμηλόκεζε Πίλαθα Αλαδήηεζε ζε Ταμηλνκεκέλν Πίλαθα Ππόβλεμα Δίλεηαη πίλαθαο t από Ν αθεξαίνπο. Ζεηνύκελν: λα ηαμηλνκεζνύλ ηα πεξηερόκελα ηνπ πίλαθα ζε αύμνπζα αξηζκεηηθή

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

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε.

Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή. Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Η επιζκόπηζη ηης έμμιζθης ενηολής ζηην Αλλοδαπή Καηεξίλα Γαιαλνπνύινπ, Intellectual Property Manager, Microsoft Ειιάο Α.Ε. Παξάκεηξνη πξνο αμηνιόγεζε Ννκνζεηηθή ζσξάθηζε Κνηλόο Σύιινγνο Ακνηβή Καηαγγειία/Λύζε

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

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα

Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα 1 Υπνινγηζηηθό Σύζηεκα 2 Λεηηνπξγηθό Σύζηεκα Απνηειεί ηε δηαζύλδεζε κεηαμύ ηνπ πιηθνύ ελόο ππνινγηζηή θαη

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

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

ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε

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

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην ζαο

ΒΗΜΑ 2. Εηζάγεηε ηνλ Κωδηθό Πξόζβαζεο πνπ ιακβάλεηε κε SMS & δειώλεηε επηζπκεηό Όλνκα Πξόζβαζεο (Username) θαη ην  ζαο Δίζνδνο ζηελ Υπεξεζία Αλ είζηε ήδε εγγεγξακκέλνο ρξήζηεο ζηελ ππεξεζία, γηα ηελ είζνδν ζαο (login) ζηελ ππεξεζία e-bill, εηζάγεηαη ην Όλνκα Φξήζηε (username) θαη ηνλ Κωδηθό Πξόζβαζεο (password) πνπ είραηε

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

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:

ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά: ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν

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

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα FORMAT, UNFORMAT Format format , όποσ = a:, b: Μνξθνπνηεί, δειαδή πξνεηνηκάδεη

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

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ

ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ

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

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!

Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ

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

ΘΔΜΑ 1 ο Μονάδες 5,10,10

ΘΔΜΑ 1 ο Μονάδες 5,10,10 ΟΝΟΜΑΣΔΠΩΝΤΜΟ ΗΜΔΡΟΜΗΝΙΑ ΘΔΜΑ 1 ο Μονάδες 5,1,1 ΓΙΑΓΩΝΙΜΑ 1 ου ΜΔΡΟΤ ΣΗ ΑΝΑΛΤΗ Α Γώζηε ηνλ νξηζκό ηεο αληίζηξνθεο ζπλάξηεζεο Β Γείμηε όηη αλ κηα ζπλάξηεζε είλαη αληηζηξέςηκε ηόηε νη γξαθηθέο παξαζηάζεηο

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

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1 Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:

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

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots)

Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) Σημεία Ασύπματηρ Ππόσβασηρ (Hot-Spots) 1.1 Σςνοπτική Πεπιγπαυή Hot Spots Σα ζεκεία αζύξκαηεο πξόζβαζεο πνπ επηιέρζεθαλ αλαθέξνληαη ζηνλ επόκελν πίλαθα θαη παξνπζηάδνληαη αλαιπηηθά ζηηο επόκελεο παξαγξάθνπο.

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

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ

Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική ΑΔ Άζκηζη ζτέζης κόζηοσς-τρόνοσ (Cost Time trade off) Καηαζκεσαζηική Δίζηε μησανικόρ διοίκηζηρ μεγάληρ καηαζκεςαζηικήρ εηαιπείαρ και καλείζηε να ςλοποιήζεηε ηο έπγο πος πεπιγπάθεηαι από ηον Πίνακα 1. Κωδ.

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

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1

Lab 1: C/C++ Pointers and time.h. Panayiotis Charalambous 1 Lab 1: C/C++ Pointers and time.h Panayiotis Charalambous 1 Send email to totis@cs.ucy.ac.cy Subject: EPL231-Registration Body: Surname Firstname ID Group A or B? Panayiotis Charalambous 2 Code Guidelines:

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ Ενότητα: Εισαγωγή στη C++ Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τμήμα: Οικονομικών Επιστημών Αριθμοί κινητής υποδιαστολής (float) στη C++ (1)

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

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ

ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0

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

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ

ΜΙΓΑΔΙΚΟΙ ΑΡΙΘΜΟΙ: έζησ ΜΙΓΑΔΙΚΙ ΑΡΙΘΜΙ: έζησ έλαο κηγαδηθόο αξηζκόο. αληίζηξνθνο ηνπ κηγαδηθνύ αξηζκνύ a b είλαη ν αξηζκόο Παπάδειγμα: έζησ.αληίζηξνθνο ηνπ αξηζκνύ : Μέηπο μιγαδικού απιθμού: αλ κέηξν δηαλύζκαηνο OM. b ή απόιπηε

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

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:

Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Πίνακες Σσμβόλων Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Εηζαγσγή ελόο ζηνηρείνπ Αλαδήηεζε ζηνηρείνπ κε δεδνκέλν θιεηδί Άιιεο ρξήζηκεο ιεηηνπξγίεο είλαη: Δηαγξαθή ελόο θαζνξηζκέλνπ ζηνηρείνπ

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

Πξνγξακκαηηζκόο Θ. Δπλακηθή Δηαρείξηζε Μλήκεο. Κσλζηαληίλνο Τζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι)

Πξνγξακκαηηζκόο Θ. Δπλακηθή Δηαρείξηζε Μλήκεο. Κσλζηαληίλνο Τζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι) Πξνγξακκαηηζκόο Θ Δπλακηθή Δηαρείξηζε Μλήκεο Κσλζηαληίλνο Τζεξπέο (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Δεκήηξε Μηραήι) Τκήκα Πιεξνθνξηθήο θαη Τειεκαηηθήο Φαξνθόπεην Παλεπηζηήκην Αλάγθε γηα Δπλακηθή Μλήκε

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα 10 Ηοσνίοσ 2019 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις) ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γεσηέρα Ηοσνίοσ 9 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α Α.α) Οξηζκόο ζρνιηθνύ βηβιίνπ ζει 5. Έζησ Α έλα ππνζύλνιν ηνπ.

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

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία

EL Eνωμένη στην πολυμορυία EL A8-0046/319. Τροπολογία 8.3.2016 A8-0046/319 319 Άρθρο 34 παράγραθος 1 ζηοιχείο δ (δ) 14 έηε γηα θηεληαηξηθά θάξκαθα πνπ πξννξίδνληαη γηα άιια είδε δώωλ από απηά πνπ αλαθέξνληαη ζηελ παξάγξαθν 1 ζηνηρεία α) θαη γ). (δ) 10 έηε

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

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο.

7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ. 3. Έλαο θαηαρσξεηήο SISO ησλ 4 bits έρεη: α) Μία είζνδν, β) Δύν εηζόδνπο, γ) Σέζζεξεηο εηζόδνπο. 7. ΚΑΤΑΧΩΡΗΤΕΣ ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Ση είλαη έλαο θαηαρσξεηήο; O θαηαρσξεηήο είλαη κηα νκάδα από flip-flop πνπ κπνξεί λα απνζεθεύζεη πξνζσξηλά ςεθηαθή πιεξνθνξία. Μπνξεί λα δηαηεξήζεη ηα δεδνκέλα ηνπ

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

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report.

Case Study. Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Case Study Παξαθάηω παξνπζηάδνπκε βήκα - βήκα κε screenshots έλα παξάδεηγκα ππνβνιήο κηαο εξγαζίαο θαη ηελ παξαγωγή ηνπ Originality Report. Βήκα 1 ο : Login ζηο Turnitin. Κάλεηε είζνδν ζην Turnitin κε

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

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1.

ΠΛΗ36. Άσκηση 1. Άσκηση 2. Οη δηεπζύλζεηο ησλ 4 σλ ππνδηθηύσλ είλαη νη αθόινπζεο. Υπνδίθηπν Α: 10.101.1.64/27 Υπνδίθηπν Β: 10.101.1. Άσκηση 1 ΠΛΗ36 1. Η κόλε πεξίπησζε λα έρνπκε ζύγθξνπζε κεηαμύ παθέησλ ησλ δύν θόκβσλ είλαη λα ζηείιεη ν δεύηεξνο πξηλ πξνιάβεη λα πιεξνθνξεζεί γηα ηελ θαηάιεςε ηνπ δηάπινπ από ηνλ άιιν. Από ηε ζηηγκή πνπ

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

Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης

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

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

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ

ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ 1 ΓΗΜΟΙΑ ΟΙΚΟΝΟΜΙΚΗ ΣΟΜΟ Γ Μάθημα 19: Φόροι ΦΟΡΟΛΟΓΙΚΑ ΤΣΗΜΑΣΑ: Προοδεσηικό, Αναλογικά και ανηίζηροθα προοδεσηικό θορολογικό ζύζηημα Μέζος και οριακός θορολογικός ζσνηελεζηής Ο κέζνο θνξνινγηθόο ζπληειεζηήο

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

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο

α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν

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

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα

ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΥΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα ΓΙΑΥΔΙΡΙΗ ΚΑΣΑΛΟΓΩΝ Εντολή md Με ηελ εληνιή απηή κπνξνύκε λα δεκηνπξγήζνπκε έλαλ θαηλνύξγην ππνθαηάινγν.

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

HY150a Φροντιστήριο 3 24/11/2017

HY150a Φροντιστήριο 3 24/11/2017 HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει

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

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ

Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά

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

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0

ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 ΕΓΧΕΙΡΙΔΙΟ ΕΚΔΟΗ 8.0.0 Γενικά Η έθδνζε 8.0.0 ηνπ ελόηεηεο: Business ERP, πεξηιακβάλεη λέεο ιεηηνπξγίεο πνπ αλαιύνληαη ζηηο παξαθάησ Γεληθόηεξε ιεηηνπξγία ηεο εθαξκνγήο Εκπνξηθή Δηαρείξηζε 7/2/2013 SingularLogic

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

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β )

ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΠΑΝΕΛΛΑΔΙΚΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΓΕΝΙΚΟΤ ΛΤΚΕΙΟΤ & ΠΑΝΕΛΛΗΝΙΕ ΕΞΕΣΑΕΙ Γ ΣΑΞΗ ΗΜΕΡΗΙΟΤ ΕΠΑΛ (ΟΜΑΔΑ Β ) ΗΜΕΡΟΜΗΝΙΑ: /0/03 ΕΞΕΤΑΖΟΜΕΝΟ ΜΑΘΗΜΑ: ΦΥΣΙΚΗ ΚΑΤΕΥΘΥΝΣΗΣ ΘΔΜΑ Α ΠΡΟΣΕΙΝΟΜΕΝΕ ΑΠΑΝΣΗΕΙ ΘΕΜΑΣΩΝ Α.

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

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 74 ος ΠΑΝΔΛΛΗΝΙΟ ΜΑΘΗΣΙΚΟ ΓΙΑΓΩΝΙΜΟ ΣΑ ΜΑΘΗΜΑΣΙΚΑ Ο ΘΑΛΗ 19 Οκηωβρίοσ Δνδεικηικές λύζεις ΔΛΛΗΝΙΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ Παλεπηζηεκίνπ (Διεπζεξίνπ Βεληδέινπ) 34 06 79 ΑΘΖΝΑ Τει. 36653-367784 - Fax: 36405 e-mail : info@hms.gr www.hms.gr GREEK MATHEMATICAL SOCIETY 34, Panepistimiou (Δleftheriou

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

SOAP API. https://bulksmsn.gr. Table of Contents

SOAP API. https://bulksmsn.gr. Table of Contents SOAP API https://bulksmsn.gr Table of Contents Send SMS...2 Query SMS...3 Multiple Query SMS...4 Credits...5 Save Contact...5 Delete Contact...7 Delete Message...8 Email: sales@bulksmsn.gr, Τηλ: 211 850

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

MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια)

MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια) MySQL Εργαστήριο #5 Ενεργοποιητές (συνέχεια) Νίθνο Γηαηξάθνο Εξγαζηήξην Πιεξνθνξηαθώλ Σπζηεκάησλ, Τκήκα Πιεξνθνξηθήο, Παλεπηζηήκην Πεηξαηά (http://infolab.cs.unipi.gr) Μελέτη Περίπτωσης 1 Θα ρξεζηκνπνηήζνπκε

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

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί.

Να ζρεδηάζεηο ηξόπνπο ζύλδεζεο κηαο κπαηαξίαο θαη ελόο ιακπηήξα ώζηε ν ιακπηήξαο λα θσηνβνιεί. ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Απλό ηλεκτπικό κύκλυμα Η δηδαζθαιία ηνπ απινύ ειεθηξηθνύ θπθιώκαηνο ππάξρεη ζην κάζεκα «Φπζηθά» ηεο Ε ηάμεο ηνπ δεκνηηθνύ θαη επαλαιακβάλεηαη ζην κάζεκα ηεο Φπζηθήο ζηε Γ ηάμε ηνπ Γπκλαζίνπ.

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

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ

Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο

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

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W.

(γ) Να βξεζεί ε ρξνλνεμαξηώκελε πηζαλόηεηα κέηξεζεο ηεο ζεηηθήο ηδηνηηκήο ηνπ ηειεζηή W. ΚΒΑΝΤΙΚΗ ΦΥΣΙΚΗ Ι Τειηθή Εμέηαζε: 5 Σεπηέκβξε 6 (Δηδάζθσλ: ΑΦ Τεξδήο) ΘΕΜΑ Θεσξνύκε θβαληηθό ζύζηεκα πνπ πεξηγξάθεηαη από Φακηιηνληαλή Η, ε νπνία ζε κνξθή πίλαθα ρξεζηκνπνηώληαο ηηο ηδηνζπλαξηήζεηο, θαη

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

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017

ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 2017 α: κολάδα β: κολάδες Σειίδα από 8 ΔΝΓΔΙΚΣΙΚΔ ΛΤΔΙ ΣΑ ΜΑΘΗΜΑΣΙΚΑ ΠΡΟΑΝΑΣΟΛΙΜΟΤ 7 ΘΔΜΑ Α Α Έζηω, κε Θα δείμνπκε όηη f ( ) f ( ) Πξάγκαηη, ζην δηάζηεκα [, ] ε f ηθαλνπνηεί ηηο πξνϋπνζέζεηο ηνπ ΘΜΤ Επνκέλωο,

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)

ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii) . Να ιπζνύλ ηα ζπζηήκαηα.,, 6 4 4 4 5( ) 6( ). Να ιπζνύλ ηα ζπζηήκαηα.,,,6 7. Να ιπζνύλ ηα ζπζηήκαηα. 5 ( )( ) ( ) 4. Να ιπζνύλ ηα ζπζηήκαηα. 5 4 6 7 4. 5. Να ιπζνύλ ηα ζπζηήκαηα. 59 ( )( ) ()( 5) 7 6.

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

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou

ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ. G. Mitsou ΦΥΣΙΚΗ ΤΩΝ ΡΕΥΣΤΩΝ ηαηηθή ηωλ ξεπζηώλ (Τδξνζηαηηθή) Ση είλαη ηα ξεπζηά - Γεληθά Ππθλόηεηα Πίεζε Μεηαβνιή ηεο πίεζεο ζπλαξηήζεη ηνπ βάζνπο Αξρή ηνπ Pascal Τδξνζηαηηθή πίεζε Αηκνζθαηξηθή πίεζε Απόιπηε &

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

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf

Δξγαζηεξηαθή άζθεζε 03. Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Δξγαζηεξηαθή άζθεζε 03 Σηεξενγξαθηθή πξνβνιή ζην δίθηπν Wulf Ζιίαο Χαηδεζενδσξίδεο Οθηώβξηνο / Ννέκβξηνο 2004 Τη είλαη ην δίθηπν Wulf Δπίπεδν ζην νπνίν κπνξνύκε λα αλαπαξαζηήζνπκε ηξηζδηάζηαηα ζρήκαηα,

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

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP

ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Ειζαγωγή ζηη Φωηογραθία Χριζηάκης Σαζεΐδης EFIAP 1 ΜΑΘΗΜΑ 6 ο Προγράμμαηα θωηογραθικών μηχανών Επιλογέας προγραμμάηων Μαο δίλεη ηε δπλαηόηεηα λα ειέγμνπκε ην άλνηγκα δηαθξάγκαηνο θαη

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

The Simply Typed Lambda Calculus

The Simply Typed Lambda Calculus Type Inference Instead of writing type annotations, can we use an algorithm to infer what the type annotations should be? That depends on the type system. For simple type systems the answer is yes, and

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