Οδεγόο Αζύξκαηνπ Γηθηύνπ Αηζζεηήξωλ ζην Λεηηνπξγηθό ύζηεκα Linux

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

Download "Οδεγόο Αζύξκαηνπ Γηθηύνπ Αηζζεηήξωλ ζην Λεηηνπξγηθό ύζηεκα Linux"

Transcript

1 ΔΘΝΗΚΟ ΜΔΣΟΒΗΟ ΠΟΛΤΣΔΥΝΔΗΟ ΥΟΛΗ ΗΛΔΚΣΡΟΛΟΓΩΝ ΜΗΥΑΝΙΚΩΝ ΚΑΙ ΜΗΥΑΝΙΚΩΝ ΤΠΟΛΟΓΙΣΩΝ ΣΟΜΔΑ ΣΔΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΤΠΟΛΟΓΙΣΩΝ ΔΡΓΑΣΖΡΗΟ ΤΠΟΛΟΓΗΣΗΚΩΝ ΤΣΖΜΑΣΩΝ Οδεγόο Αζύξκαηνπ Γηθηύνπ Αηζζεηήξωλ ζην Λεηηνπξγηθό ύζηεκα Linux Μάξηηνο 2016

2 Έθδνζε εγγξάθνπ: 28/3/2016. Δπηκέιεηα: Δ. Κνύθεο,

3 1. Δηζαγωγή Σν παξόλ θπιιάδην πεξηέρεη ηηο βαζηθέο πιεξνθνξίεο πνπ ζα ρξεηαζηείηε γηα ηελ θαηαζθεπή ηνπ Lunix:TNG, ελόο απινύ νδεγνύ ζπζθεπήο γηα ην ιεηηνπξγηθό ζύζηεκα Linux, ζην πιαίζην ηεο εξγαζηεξηαθήο ζαο άζθεζεο. ηόρνο ηνπ είλαη ε παξνπζίαζε ησλ βαζηθώλ ζρεδηαζηηθώλ αξρώλ ηνπ ππξήλα θαη ηνπ ηξόπνπ αιιειεπίδξαζήο ηνπ κε ηνπο νδεγνύο ζπζθεπώλ (device drivers). Πνιιέο από ηηο πιεξνθνξίεο πνπ πεξηέρεη πξνέξρνληαη από ην βηβιίν Linux Device Drivers, 3 rd Edition, ηνπ εθδνηηθνύ νίθνπ O Reilly (βηβιηνγξαθηθή αλαθνξά [1]). Σν βηβιίν είλαη δηαζέζηκν ειεύζεξα ζην δίθηπν θαη απνηειεί κηα εμαηξεηηθή πεγή γλώζεο ζρεηηθήο κε ηελ θαηαζθεπή νδεγώλ γηα ηνλ ππξήλα ηνπ Linux θαη ηνλ ίδην ηνλ ππξήλα γεληθόηεξα. Οη πιεξνθνξίεο πνπ πεξηέρνληαη ζην παξόλ θπιιάδην είλαη αθξηβείο γηα ηελ έθδνζε ηνπ ππξήλα Linux. 2. Οξγάλωζε ελόο ζύγρξνλνπ ιεηηνπξγηθνύ ζπζηήκαηνο 2.1. Υώξνη ππξήλα θαη ρξήζηε To Linux είλαη έλα ζύγρξνλν ιεηηνπξγηθό ζύζηεκα αλνηρηνύ θώδηθα, πνπ βαζίδεηαη ζηηο βαζηθέο ζρεδηαζηηθέο αξρέο θαη ηελ παξάδνζε ηνπ Unix. Αλαπηύρζεθε αξρηθά από ηνλ Linus Torvalds γηα ηνλ επεμεξγαζηή i386 ηεο Intel αιιά έρεη κεηαθεξζεί έσο ζήκεξα ζε πνιιέο δηαθνξεηηθέο αξρηηεθηνληθέο (IA-64, MIPS, Alpha, SPARC, PowerPC θ.ά.). Σν Linux πξνζθέξεη ηε δπλαηόηεηα ηαπηόρξνλεο πξνζηαηεπκέλεο εθηέιεζεο πνιιώλ δηαθνξεηηθώλ δηεξγαζηώλ, πνπ αλήθνπλ ζε δηαθνξεηηθνύο ρξήζηεο, είλαη δειαδή multi-tasking θαη multi-user. Με ηνλ όξν «πξνζηαηεπκέλε» εθηέιεζε ελλνείηαη όηη θάζε δηεξγαζία εθηειείηαη ζε απνκόλσζε από ηηο ππόινηπεο, ζε δηθό ηεο εηθνληθό ρώξν δηεπζύλζεσλ θαη ρσξίο θακία δπλαηόηεηα άκεζεο πξόζβαζεο ζην πιηθό (hardware) ηνπ ππνινγηζηηθνύ ζπζηήκαηνο. Έηζη, πηζαλή δπζιεηηνπξγία ηεο δελ επεξεάδεη ηελ εμέιημε ησλ ππνινίπσλ πνπ εθηεινύληαη ζην ζύζηεκα. Δπηπιένλ, θάζε δηεξγαζία αλήθεη ζε ζπγθεθξηκέλν ρξήζηε, νπόηε έρεη θαη αλάινγα δηθαηώκαηα πξόζβαζεο ζε πόξνπο (π.ρ. απνζεθεπκέλα δεδνκέλα ζην ζύζηεκα αξρείσλ, πεξηθεξεηαθέο ζπζθεπέο) ηνπ ζπζηήκαηνο. Σν ιεηηνπξγηθό ζύζηεκα δηαρεηξίδεηαη ηνπο πόξνπο ηνπ ζπζηήκαηνο θαη ζπληνλίδεη ηελ πξόζβαζε ησλ δηεξγαζηώλ ζε απηνύο. Σν Linux είλαη έλα κνλνιηζηθό ιεηηνπξγηθό ζύζηεκα, όπσο θαη ηα πεξηζζόηεξα ζπζηήκαηα πνπ βαζίδνληαη ζην Unix: νη πεξηζζόηεξεο ιεηηνπξγίεο ηνπ πινπνηνύληαη ζε έλα πξόγξακκα, πνπ νλνκάδεηαη ππξήλαο ηνπ Λ.., ην νπνίν εθηειείηαη νιόθιεξν ζε έλα εληαίν ρώξν δηεπζύλζεσλ θαη έρεη πιήξε, ειεύζεξε πξόζβαζε ζην πιηθό (πξνλνκηνύρνο θαηάζηαζε privileged mode). Ο ππξήλαο ηνπ Linux αλαιακβάλεη ην ζύλνιν ζρεδόλ ησλ ιεηηνπξγηώλ πνπ - 3 -

4 ραξαθηεξίδνπλ έλα ζύγρξνλν Λ..: Γηαρείξηζε CPU, ρξνλνδξνκνιόγεζε δηεξγαζηώλ, δηαρείξηζε κλήκεο, δηαρείξηζε ζπζθεπώλ I/O, δηαρείξηζε ζπζηεκάησλ αξρείσλ, δηαδηθηύσζε. ηνλ ππξήλα ηνπ Linux βξίζθνληαη επίζεο νη νδεγνί ζπζθεπώλ (device drivers), πνπ επηηξέπνπλ ηνλ έιεγρν ησλ δηάθνξσλ πεξηθεξεηαθώλ ζπζθεπώλ. Γίλεηαη έηζη θαλεξό όηη, ππάξρνπλ δύν εληειώο ρσξηζηά επίπεδα εθηέιεζεο θώδηθα, πνπ αλαθέξνληαη ηόζν ζε δηαθνξεηηθνύο ρώξνπο κλήκεο όζν θαη ζε δηαθνξεηηθά δηθαηώκαηα πξόζβαζεο ζην πιηθό: από ηε κία είλαη ν ρώξνο ρξήζηε (userspace), ζηνλ νπνίν δνπλ θαη εθηεινύληαη νη δηεξγαζίεο ρξήζηε θαη από ηελ άιιε είλαη ν ρώξνο ππξήλα (kernelspace), ζηνλ νπνίν δεη ν θώδηθαο ηνπ ππξήλα. Η δηάθξηζε ησλ δύν ρώξσλ θαη ησλ δηαθνξεηηθώλ δηθαησκάησλ πξόζβαζεο επηβάιιεηαη κε κεραληζκνύο ηεο CPU. ρήκα 1: Οη θιήζεηο ζπζηήκαηνο σο κεραληζκόο επηθνηλσλίαο ρώξσλ ππξήλα-ρξήζηε Δθόζνλ ν θώδηθαο ζην ρώξν ππξήλα εθηειείηαη ηόζν πεξηνξηζκέλα, είλαη αλαγθαίνο έλαο κεραληζκόο κέζσ ηνπ νπνίνπ κηα δηεξγαζία κπνξεί λα δεηήζεη από ηνλ ππξήλα λα νινθιεξώζεη εθ κέξνπο ηεο ιεηηνπξγίεο πνπ ε ίδηα δελ έρεη δηθαίσκα λα πξαγκαηνπνηήζεη: Απηόο είλαη ν κεραληζκόο ησλ θιήζεωλ ζπζηήκαηνο (system calls), ν νπνίνο ιεηηνπξγεί σο εμήο: θαηά ηελ εθηέιεζή ηεο, ε δηεξγαζία εηνηκάδεη θαη ππνβάιιεη θαηάιιειε αίηεζε ζην ιεηηνπξγηθό ζύζηεκα. Σόηε, ε CPU μεθηλά λα εθηειεί θώδηθα ππξήλα, ν νπνίνο ειέγρεη ηελ νξζόηεηα ησλ δεδνκέλσλ εηζόδνπ θαη αλ ε δηεξγαζία έρεη ηα αλάινγα δηθαηώκαηα πξαγκαηνπνηεί ηε δεηνύκελε ιεηηνπξγία (π.ρ. ιεηηνπξγίεο I/O κε ην πιηθό) θαη επηζηξέθεη ηα απνηειέζκαηά ηεο πίζσ ζηνλ ρώξν ρξήζηε (ρήκα 1). Ο έιεγρνο ηόηε επαλέξρεηαη ζε θώδηθα ηεο δηεξγαζίαο. Αο δνύκε έλα παξάδεηγκα: κηα δηεξγαζία ρξεηάδεηαη λα αλνίμεη ην αξρείν /home/user/file1 ζην δίζθν γηα αλάγλσζε. Δθηειεί ινηπόλ ηελ θιήζε ζπζηήκαηνο open( /home/user/file1, O_RDONLY), νπόηε ν έιεγρνο πεξλάεη ζηνλ ρώξν ππξήλα. Ο ππξήλαο εθηειεί κηα ζεηξά ειέγρσλ αλάκεζα ζηνπο νπνίνπο είλαη όηη ην - 4 -

5 αξρείν πξάγκαηη ππάξρεη θαη όηη ν ρξήζηεο κε ηα δηθαηώκαηα ηνπ νπνίνπ ηξέρεη ε δηεξγαζία έρεη δηθαίσκα αλάγλσζήο ηνπ, θαηαζθεπάδεη θαηάιιειεο δνκέο ζηε κλήκε ηνπ («αλνίγεη» ην αξρείν) θαη επηζηξέθεη κηα αξηζκεηηθή ηηκή ( file descriptor ) κέζσ ηεο νπνίαο ε δηεξγαζία κπνξεί πιένλ λα αλαθέξεηαη ζε απηό. Έσο ηώξα είραηε αζρνιεζεί πεξηζζόηεξν κε ηνλ πξνγξακκαηηζκό ζε ρώξν ρξήζηε. ηελ άζθεζε απηή θαιείζηε λα γξάςεηε θώδηθα πξννξηζκέλν λα εθηειείηαη ζε ρώξν ππξήλα, σο ηκήκα ελόο νδεγνύ γηα κηα πξαγκαηηθή πεξηθεξεηαθή ζπζθεπή. Ο θώδηθαο απηόο ζα ελζσκαηώλεηαη ζηνλ ππξήλα ηνπ Linux σο kernel module Linux kernel modules To Linux ππνζηεξίδεη ηε δπλακηθή εηζαγσγή λένπ θώδηθα ζην ρώξν δηεπζύλζεσλ ηνπ ππξήλα, κέζσ ηνπ κεραληζκνύ ησλ ηκεκάηωλ ππξήλα (kernel modules). Σα modules είλαη ηκήκαηα θώδηθα ηα νπνία ελζσκαηώλνληαη κε ηνλ ππξήλα θαηά ηε ιεηηνπξγία ηνπ θαη επεθηείλνπλ ηηο δπλαηόηεηέο ηνπ. Έηζη, είλαη δπλαηό γηα παξάδεηγκα ν νδεγόο ζπζθεπήο γηα ηε κνλάδα δηζθέηαο λα θνξησζεί σο module ζηνλ ππξήλα, κόιηο ππάξμεη αλάγθε λα αλαθηεζνύλ ηα πεξηερόκελα κηαο δηζθέηαο θαη λα αθαηξεζεί αξγόηεξα, όηαλ πιένλ δελ είλαη απαξαίηεηνο. Δθόζνλ θάζε ηκήκα θώδηθα πνπ βξίζθεηαη ζηνλ ππξήλα έρεη ειεύζεξε πξόζβαζε ζηε κλήκε θαη ζην hardware, είλαη αλάγθε ν θώδηθαο ηνπ ππξήλα λα είλαη όζνλ ην δπλαηό απαιιαγκέλνο από πξνγξακκαηηζηηθά ιάζε, εθόζνλ δελ ππάξρεη δίρηπ πξνζηαζίαο: ε αληίζεζε κε θώδηθα πνπ εθηειείηαη σο κία δηεξγαζία θάησ από έλα Λ.., όπνπ πηζαλή δπζιεηηνπξγία νδεγεί ζηνλ ηεξκαηηζκό ηεο δηεξγαζίαο από ην Λ.. ρσξίο λα επεξεάδνληαη νη ππόινηπεο 1, εάλ δπζιεηηνπξγήζεη θώδηθαο ηνπ ππξήλα, νη ζπλέπεηεο κπνξεί λα είλαη από ην λα «θνιιήζεη» ν ππνινγηζηήο έσο ην λα ππάξμεη ζνβαξή βιάβε ζην ζύζηεκα αξρείσλ ή ζε ζπζθεπέο πιηθνύ. Απηόο είλαη θαη ν ιόγνο γηα ηνλ νπνίν ε εηζαγσγή kernel modules ζην ρώξν κλήκεο ηνπ ππξήλα επηηξέπεηαη κόλν ζην δηαρεηξηζηή ηνπ ζπζηήκαηνο, ην ρξήζηε root. 3. Οδεγνί ζπζθεπώλ ζην Linux 3.1. Ρόινο ηωλ νδεγώλ ζπζθεπώλ Έλα ζύγρξνλν ιεηηνπξγηθό ζύζηεκα ρξεηάδεηαη λα ππνζηεξίμεη πνιιέο δηαθνξεηηθέο θαηεγνξίεο πεξηθεξεηαθώλ ζπζθεπώλ (π.ρ. θάξηεο ήρνπ, θάξηεο γξαθηθώλ, πξνζαξκνγείο δηθηύνπ, ειεγθηέο κέζσλ απνζήθεπζεο) αιιά θαη πνιιέο δηαθνξεηηθέο ζπζθεπέο ζε θάζε θαηεγνξία (π.ρ. πξνζαξκνγείο δηθηύνπ δηαθνξεηηθώλ θαηαζθεπαζηώλ). Κάζε κία από απηέο ειέγρεηαη πηζαλά κε δηαθνξεηηθέο εληνιέο, 1 ην ζεκείν απηό αμίδεη λα αλαθεξζεί ην αγαπεκέλν κήλπκα όισλ: Segmentation fault - 5 -

6 νπόηε ρξεηάδεηαη αθξηβήο γλώζε ηνπ ηξόπνπ πξνγξακκαηηζκνύ ηεο γηα ηε ζσζηή ιεηηνπξγία ηεο θαη εηδηθόο θώδηθαο γηα ην ρεηξηζκό ηεο. Πξνθαλώο δελ είλαη δπλαηό λα απαηηνύληαη αιιαγέο ζηνλ θώδηθα ησλ εθαξκνγώλ ησλ ρξεζηώλ γηα λα ππνζηεξίδνληαη λέεο πεξηθεξεηαθέο ζπζθεπέο πνπ αλαπηύζζνληαη θαη θπθινθνξνύλ. Δπηπρώο, ην ιεηηνπξγηθό ζύζηεκα απνθξύπηεη ηηο ιεπηνκέξεηεο ηνπ ειέγρνπ ησλ ζπζθεπώλ, πίζσ από ηνλ κεραληζκό ησλ θιήζεσλ ζπζηήκαηνο. Ο θώδηθαο νξγαλώλεηαη ζε επίπεδα, κε ηηο εθαξκνγέο λα ρξεζηκνπνηνύλ πςειόηεξνπ επηπέδνπ αθαηξέζεηο (abstractions), όπσο «αξρείν», ή «TCP/IP socket» γηα λα επηθνηλσλήζνπλ κε ην έμσ θόζκν. Ωζηόζν θαη ν ίδηνο ν θώδηθαο ηνπ ππξήλα είλαη ζε κεγάιν βαζκό αλεμάξηεηνο από ηε ζπζθεπή πνπ ρξεζηκνπνηείηαη θάζε θνξά, αθξηβώο γηαηί ν ππξήλαο είλαη νξγαλσκέλνο ζε ζηξώκαηα: θάπνηα είλαη αλεμάξηεηα από ην πιηθό (π.ρ. ν ρξνλνδξνκνινγεηήο, ηα ζπζηήκαηα αξρείσλ, ε ππνζηήξημε TCP/IP), άιια όρη. Οη ιεπηνκέξεηεο ηνπ πξνγξακκαηηζκνύ θαη ειέγρνπ κηαο ζπζθεπήο πεξηθιείνληαη κέζα ζε ηκήκα θώδηθα πνπ νλνκάδεηαη νδεγόο ζπζθεπήο θαη έρεη ζπγθεθξηκέλν ηξόπν (πξνγξακκαηηζηηθή δηεπαθή interface) επηθνηλσλίαο κε ηνλ ππόινηπν ππξήλα. Έηζη κπνξεί λα αληηθαηαζηαζεί όηαλ ππάξμεη αλάγθε (π.ρ. όηαλ πξνζηεζεί κηα θάξηα δηθηύνπ ζην ζύζηεκα πνπ πξνγξακκαηίδεηαη κε δηαθνξεηηθό ηξόπν), ρσξίο λα ρξεηάδνληαη αιιαγέο ζηα ππόινηπα ηκήκαηα ηνπ ππξήλα (π.ρ. ζην ζηξώκα δηθηύνπ IP). Ωζηόζν, δελ κπνξνύλ όινη νη νδεγνί ζπζθεπώλ λα αληηκεησπηζηνύλ κε ηνλ ίδην ηξόπν από ηνλ ππξήλα, γηαηί δελ ηαηξηάδεη ε ίδηα πξνγξακκαηηζηηθή δηεπαθή ζε όιεο ηηο ζπζθεπέο. Έρεη λόεκα λα αληηκεησπίδνληαη όιεο νη θάξηεο δηθηύνπ Ethernet κε ηνλ ίδην ηξόπν (ζε ηειηθή αλάιπζε, όιεο ζηέιλνπλ θαη ιακβάλνπλ πιαίζηα Ethernet πξνο θαη από ην θαιώδην δηθηύνπ), αιιά δελ κπνξνύλ λα κπνπλ ζηελ ίδηα θαηεγνξία κε έλαλ ζθιεξό δίζθν πνπ δηαβάδεη θαη γξάθεη ηπραία κπινθ ή κε έλα πιεθηξνιόγην. Ο ππξήλαο ινηπόλ νκαδνπνηεί ηνπο νδεγνύο ζπζθεπώλ ζε έλα κηθξό αξηζκό από θαηεγνξίεο. Μέζα ζε κία θαηεγνξία, όινη νη νδεγνί πινπνηνύλ ην ίδην interface θαη αληηκεησπίδνληαη κε όκνην ηξόπν. Έηζη, γηα λα πξνζηεζεί ππνζηήξημε γηα κηα λέα ζπζθεπή πιηθνύ, ρξεηάδεηαη λα επηιεγεί κία από ηηο ππάξρνπζεο θαηεγνξίεο, ζηελ νπνία ηαηξηάδεη θαιύηεξα ε ιεηηνπξγία ηεο θαη λα γξαθεί θαηάιιεινο νδεγόο ζπζθεπήο γηα ην αληίζηνηρν interface. Σα παξαθάησ ζα γίλνπλ θαιύηεξα αληηιεπηά ζηε ζπλέρεηα, όπνπ αλαιύνληαη νη βαζηθόηεξνη ηύπνη νδεγώλ ζπζθεπώλ ζην Linux Καηεγνξίεο νδεγώλ ζην Linux Ο ππξήλαο ηνπ Linux δηαθξίλεη ηξεηο θύξηεο θαηεγνξίεο νδεγώλ ζπζθεπώλ (βι. θαη [1], ζει. 6). Γηα θάζε κία πξνβιέπεηαη αλάινγν interface, δειαδή έλαο ζπλδπαζκόο - 6 -

7 δνκώλ δεδνκέλσλ θαη ιεηηνπξγηώλ (νπζηαζηηθά, ζπλαξηήζεσλ C) πνπ ρξεηάδεηαη λα πινπνηεί ν νδεγόο. Σπζθεπέο ραξαθηήξωλ: ηελ θαηεγνξία απηή αλήθνπλ ζπζθεπέο πνπ αληηκεησπίδνληαη από ηνλ ππξήλα σο αθνινπζίεο ραξαθηήξσλ. Η πξνζπέιαζε ζε απηέο γίλεηαη κε έλα interface πνπ ζπκίδεη πξόζβαζε ζε αξρεία ζην δίζθν: νη θπξηόηεξεο ιεηηνπξγίεο πνπ πινπνηνύληαη από ηνλ νδεγό ζπζθεπήο είλαη ε ιεηηνπξγία «δηάβαζε δεδνκέλα», αληίζηνηρε ηεο read() από αξρείν, ε «γξάςε δεδνκέλα», αληίζηνηρε ηεο write(), θαη ε «κεηαθίλεζε ην ζεκείν αλάγλσζεο/εγγξαθήο», αληίζηνηρε ηεο lseek(). Οη θπξηόηεξεο ζπζθεπέο πιηθνύ πνπ ηαηξηάδνπλ ζε απηό ην κνληέιν είλαη ζεηξηαθέο θαη παξάιιειεο ζύξεο επηθνηλσλίαο, πνληίθηα, ηεξκαηηθά ρξεζηώλ, θάξηεο ήρνπ, ηαηλίεο γηα αληίγξαθα εθεδξείαο. Ση πξαγκαηηθά ζεκαίλνπλ νη ιεηηνπξγίεο αλάγλσζεο/εγγξαθήο εμαξηάηαη από ηελ ίδηα ηε ζπζθεπή: «δηάβαζε/γξάςε δεδνκέλα» από/πξνο κία ζεηξηαθή ζύξα ζεκαίλεη απνζηνιή θαη ιήςε bytes, «δηάβαζε/γξάςε δεδνκέλα» από θαη πξνο κία θάξηα ήρνπ ζεκαίλεη «θάλε δεηγκαηνιεςία ηνπ ζήκαηνο από ην κηθξόθσλν» θαη «απηά ηα bytes είλαη δείγκαηα PCM, ζηείιε ην αληίζηνηρν αλαινγηθό ζήκα ζηα ερεία», αληίζηνηρα. Σπζθεπέο κπινθ: Πξόθεηηαη γηα ζπζθεπέο ζηηο νπνίεο ε βαζηθή κνλάδα I/O είλαη ην κπινθ δεδνκέλσλ, κηα νκάδα ζηαζεξνύ αξηζκνύ bytes. Κάζε ζπζθεπή κνληεινπνηείηαη σο κηα ζπιινγή από αξηζκεκέλα κπινθ, ζηα νπνία κπνξεί λα γίλεη αλαθνξά κε ηπραία ζεηξά. Σν interface κε ηνλ ππξήλα είλαη εληειώο δηαθνξεηηθό από απηό ησλ ζπζθεπώλ ραξαθηήξα: ν ππξήλαο ρξεζηκνπνηεί ηνλ νδεγό γηα λα πξαγκαηνπνηήζεη δύν θύξηεο ιεηηνπξγίεο: ηε ιεηηνπξγία «δηάβαζε ην κπινθ κε αξηζκό n θαη γξάςε ηα δεδνκέλα ηνπ ζηε ζέζε κλήκεο buf» θαη ηε ιεηηνπξγία «πάξε ηα δεδνκέλα πνπ βξίζθνληαη ζηε ζέζε κλήκεο buf θαη γξάςε ηα ζην κπινθ n». Ωο ζπζθεπέο κπινθ κνληεινπνηνύληαη ζπλήζσο ζθιεξνί δίζθνη ATA/SATA/SCSI θαη κνλάδεο CD/DVD- ROM/DVD-RW. Σπζθεπέο δηθηύνπ: Ωο ζπζθεπέο δηθηύνπ κνληεινπνηνύληαη πεξηθεξεηαθά ηα νπνία κπνξνύλ λα ζηείινπλ θαη λα ιάβνπλ παθέηα δεδνκέλσλ από θαη πξνο άιια ππνινγηζηηθά ζπζηήκαηα. Η θαηεγνξία απηή πεξηιακβάλεη πξαγκαηηθέο, θπζηθέο, θάξηεο δηθηύνπ (π.ρ. eth0, eth1 γηα ηνλ πξώην θαη δεύηεξν πξνζαξκνγέα δηθηύνπ Ethernet) αιιά θαη εηθνληθνύο πξνζαξκνγείο δηθηύνπ, όπσο ηνπο lo θαη ppp0 πνπ ρξεζηκνπνηνύληαη γηα παθέηα πνπ ην κεράλεκα ζηέιλεη ζηνλ εαπηό ηνπ θαη γηα παθέηα πνπ αληαιιάζζνληαη πάλσ από ζεηξηαθέο γξακκέο κέζσ ηνπ πξσηνθόιινπ PPP, αληίζηνηρα

8 3.3. Πξόζβαζε ζε ζπζθεπέο κέζω εηδηθώλ αξρείωλ Οη δύν πξώηεο θαηεγνξίεο ηεο πξνεγνύκελεο παξαγξάθνπ, νη ζπζθεπέο ραξαθηήξσλ θαη νη ζπζθεπέο κπινθ δειαδή, είλαη πξνζβάζηκεο από πξνγξάκκαηα ρξήζηε απεπζείαο, κέζσ εηδηθώλ αξρείσλ («θόκβσλ») ζην ζύζηεκα αξρείσλ (βι. θαη [1], ζει. 43). Όπσο δειαδή κηα εθαξκνγή κπνξεί λα αλνίμεη ην αξρείν /home/users/file1 γηα αλάγλσζε θαη εγγξαθή, νπόηε ηα δεδνκέλα αληαιιάζζνληαη κε ην ζύζηεκα αξρείσλ, έηζη κπνξεί λα αλνίμεη θαη κηα ζεηξά από εηδηθά αξρεία, ώζηε λα ρξεζηκνπνηήζεη κηα ζπζθεπή ραξαθηήξσλ ή κηα ζπζθεπή κπινθ απεπζείαο. Σα εηδηθά απηά αξρεία δελ πεξηέρνπλ δειαδή δεδνκέλα πνπ απνζεθεύνληαη ζην ζύζηεκα αξρείσλ, αιιά απνηεινύλ πύιεο πξόζβαζεο ζε ζπζθεπέο ηνπ ζπζηήκαηνο, κέζσ ησλ θαζηεξσκέλσλ θιήζεσλ ζπζηήκαηνο open(), read(), write(), close() θιπ. Λόγσ ηεο εηδηθήο ηνπο ζεκαζίαο βξίζθνληαη ζπλήζσο απνζεθεπκέλα κε θαηάιιεια νλόκαηα θάησ από ηνλ θαηάινγν /dev. Απηό πνπ ηα θάλεη εηδηθά σζηόζν δελ είλαη νύηε ε ζέζε ηνπο, νύηε ην όλνκά ηνπο, παξόιν πνπ ζπλήζσο απηό αθνινπζεί ζπγθεθξηκέλε ζύκβαζε ώζηε λα μέξνπλ νη εθαξκνγέο πνύ κπνξνύλ λα ηα βξνπλ. Αλ έρεηε εγθαηεζηεκέλν έλα ζύζηεκα Linux, ηώξα είλαη κηα θαιή ώξα λα δείηε ηα πεξηερόκελα ηνπ θαηαιόγνπ /dev: 2 $ ls l /dev crw-rw root audio 14, :53 /dev/dsp crw-rw-rw- 1 root root 1, :52 /dev/null crw-rw-rw- 1 root root 1, :52 /dev/random crw root root 4, :42 /dev/tty1 crw-rw root dialout 4, :52 /dev/ttys0 crw-rw root dialout 4, :52 /dev/ttys1 πολλέσ ανάλογεσ εγγραφέσ brw-rw root disk 8, :53 /dev/sda brw-rw root disk 8, :53 /dev/sda1 brw-rw root disk 8, :53 /dev/sda2 brw-rw root disk 8, :53 /dev/sdb brw-rw root disk 8, :53 /dev/sdb1 Χακειώζηε ηελ έληαζε ησλ ερείσλ ζην ειάρηζην θαη δνθηκάζηε λα δώζεηε κηα εληνιή όπσο απηή: $ cat /vmlinuz >/dev/dsp ^C γηα λα αθνύζεηε ην απνηέιεζκα ηνπ λα γξάθεηε ζην εηδηθό αξρείν ηεο θάξηαο ήρνπ ηπραία δείγκαηα από έλα αξρείν, ζηε ζπγθεθξηκέλε πεξίπησζε ηνλ θώδηθα ηνπ 2 Με έληνλα γξάκκαηα εκθαλίδνληαη νη ραξαθηήξεο πνπ πιεθηξνινγεί ν ρξήζηεο. Πξνηείλεηαη λα πεηξακαηηζηείηε κε ηηο εληνιέο πνπ πεξηγξάθνληαη θαη ζην δηθό ζαο ζύζηεκα

9 ππξήλα πνπ ηξέρεηε (αξρείν /vmlinuz). εθηέιεζή ηεο. Με Ctrl-C κπνξείηε λα δηαθόςεηε ηελ Η πξώηε ζηήιε ηνπ θαηαιόγνπ ηεο ls πεξηέρεη ην γξάκκα c αλ πξόθεηηαη γηα θόκβνπο πνπ αληηζηνηρνύλ ζε ζπζθεπέο ραξαθηήξσλ ή ην γξάκκα b αλ πξόθεηηαη γηα θόκβνπο πνπ αληηζηνηρνύλ ζε ζπζθεπέο κπινθ. Γηα παξάδεηγκα, ην αξρείν ttys0 αληηζηνηρεί ζηελ πξώηε ζεηξηαθή ζύξα ηνπ ζπζηήκαηνο, ελώ ην αξρείν /dev/sdb ζην δεύηεξν δίζθν SCSI. ε αληίζεζε κε ό,ηη ζπκβαίλεη γηα ζπλεζηζκέλα αξρεία, γηα απηά ηα αξρεία (ηνπο θόκβνπο ζπζθεπώλ, device nodes) ε ls δελ εκθαλίδεη κέγεζνο, θαζώο δελ αληηζηνηρνύλ ζε απνζεθεπκέλα δεδνκέλα. Αληίζεηα, εκθαλίδεη δύν αξηζκνύο, ρσξηζκέλνπο κε θόκκα. Οη αξηζκνί απηνί θαη όρη ην όλνκα ηνπ αξρείνπ, θαζνξίδνπλ πνηα ζπζθεπή αθνξά θάζε θόκβνο θαη νλνκάδνληαη major θαη minor number αληίζηνηρα. Ο major number ρξεζηκνπνηείηαη από ηνλ ππξήλα γηα λα πξνζδηνξίζεη ηνλ νδεγό ζπζθεπήο πνπ αθνξά ν ζπγθεθξηκέλνο θόκβνο. Γηα παξάδεηγκα, όινη νη δίζθνη SCSI αληηζηνηρνύλ ζηνλ ίδην major number, ηνλ 8. O minor number δελ αθνξά ηνλ θώδηθα ηνπ ππξήλα αιιά ηνλ ίδην ηνλ νδεγό ηεο ζπζθεπήο θαη ρξεζηκνπνηείηαη ώζηε λα κπνξεί λα δηαθξίλεη πνηα ζπγθεθξηκέλε ζπζθεπή από όιεο όζεο κπνξεί λα ρεηξηζηεί αθνξά ην ζπγθεθξηκέλν αξρείν. Έηζη, παξόιν πνπ θαη ην /dev/sda θαη ην /dev/sdb αληηζηνηρνύλ ζηνλ ίδην νδεγό, ηνλ νδεγό ζθιεξώλ δίζθσλ SCSI, ην sda έρεη minor 0 θαη αλαθέξεηαη ζηνλ πξώην δίζθν, ελώ ην sdb έρεη minor 16 θαη αλαθέξεηαη ζηνλ δεύηεξν. Όπσο θαη νη ππόινηπνη νδεγνί, έηζη θαη ην Lunix:TNG ζα ρξεζηκνπνηήζεη έλα ζπγθεθξηκέλν major number. Ωζηόζν, ε επηινγή δελ κπνξεί λα γίλεη απζαίξεηα, εθόζνλ πνιινί ρξεζηκνπνηνύληαη ήδε. ην αξρείν Documentation/devices.txt ζηνλ θώδηθα ηνπ ππξήλα, θάησ από ηνλ θαηάινγν /usr/src/linux, ππάξρεη κηα ιίζηα κε ηελ ηξέρνπζα αληηζηνηρία. Οξηζκέλνη αξηζκνί είλαη δεζκεπκέλνη γηα πεηξακαηηθή ρξήζε, όπσο ν 60, ηνλ νπνίν πξνηείλεηαη λα ρξεζηκνπνηήζεηε. Οη αξηζκνί πνπ ρξεζηκνπνηνύληαη θάζε ζηηγκή από ηνλ ππξήλα θαίλνληαη κε ρξήζε ηεο εληνιήο cat /proc/devices. Σα εηδηθά αξρεία θαηαζθεπάδνληαη κε ρξήζε ηεο εληνιήο mknod, νπόηε θαζνξίδεηαη ην είδνο ηνπο (character ή block node) θαη νη major/minor numbers πνπ ηνπο αληηζηνηρνύλ. Σν Lunix:TNG ζα ρξεζηκνπνηεί πεξηζζόηεξα ηνπ ελόο εηδηθά αξρεία, έλα γηα θάζε αηζζεηήξα ηνπ δηθηύνπ θαη είδνο κέηξεζεο πνπ ππνζηεξίδεηαη. ε θάζε δεύγνο {αξηζκόο αηζζεηήξα, κέηξεζε} ρξεηάδεηαη λα αλαηεζεί ζπγθεθξηκέλν όλνκα αξρείνπ θαη αληίζηνηρνο minor number. Πξνηείλεηαη ηα 3 ιηγόηεξν ζεκαληηθά bits θάζε minor number λα θαζνξίδνπλ ην είδνο ηεο κέηξεζεο [νη κεηξήζεηο αξηζκνύληαη κε ηε ζεηξά «ηάζε κπαηαξίαο = 0, ζεξκνθξαζία, θσηεηλόηεηα» θαη ππάξρεη ρώξνο γηα ην πνιύ 8 κεηξήζεηο αλά αηζζεηήξα], ελώ ηα ππόινηπα ηνλ αξηζκό ηνπ αηζζεηήξα. Έηζη ε ηηκή ηνπ minor number πξνθύπηεη σο minor = αιςθητήρασ * 8 + μέτρηςη

10 Σν αξρείν /dev/lunix0-batt πνπ αληηζηνηρεί ζηελ ηάζε ηεο κπαηαξίαο ηνπ πξώηνπ αηζζεηήξα θηηάρλεηαη κε ηελ εληνιή: # mknod /dev/lunix0-batt c 60 0 Δλώ ην αξρείν /dev/lunix1-temp πνπ αληηζηνηρεί ζηε ζεξκνθξαζία ηνπ δεύηεξνπ ζα είρε minor number 9. αο δίλεηαη ην script lunix_dev_nodes.sh, ην νπνίν θαηαζθεπάδεη απηόκαηα ηνπο αλάινγνπο θόκβνπο κε βάζε απηή ηε ζύκβαζε, γηα 16 αηζζεηήξεο. 4. Πεξηζζόηεξα γηα ηελ εξγαζηεξηαθή άζθεζε 4.1. Αξρηηεθηνληθή ζπζηήκαηνο αζύξκαηνπ δηθηύνπ αηζζεηήξωλ Αληηθείκελν ηεο εξγαζηεξηαθήο άζθεζεο είλαη ε πινπνίεζε ελόο νδεγνύ ζπζθεπήο γηα έλα αζύξκαην δίθηπν αηζζεηήξσλ θάησ από ην ιεηηνπξγηθό ζύζηεκα Linux. Σν αζύξκαην δίθηπν κε ην νπνίν ζα εξγαζηείηε δηαζέηεη έλαλ αξηζκό από αηζζεηήξεο (αζύξκαηεο θάξηεο Crossbow MPR2400CA κε αηζζεηήξεο ηάζεο, ζεξκνθξαζίαο θαη θσηεηλόηεηαο MDA100CB) θαη έλα ζηαζκό βάζεο (θάξηα MPR2400CA θαη δηαζύλδεζε USB MIB520CB). Ο ζηαζκόο βάζεο ζπλδέεηαη κέζσ USB κε ππνινγηζηηθό ζύζηεκα Linux ζην νπνίν θαη ζα εθηειείηαη ν δεηνύκελνο νδεγόο ζπζθεπήο. sensor2 sensor0 Wireless Mesh sensor1 Serial over USB Base Station Driver running on Linux PC ρήκα 2: Αξρηηεθηνληθή ηνπ ππό εμέηαζε ζπζηήκαηνο Οη αηζζεηήξεο αλαθέξνπλ πεξηνδηθά ην απνηέιεζκα ηξηώλ δηαθνξεηηθώλ κεηξήζεσλ: ηεο ηάζεο ηεο κπαηαξίαο πνπ ηνπο ηξνθνδνηεί, ηεο ζεξκνθξαζίαο θαη ηεο θσηεηλόηεηαο ηνπ ρώξνπ όπνπ βξίζθνληαη. Οη αηζζεηήξεο νξγαλώλνληαη ζε έλα πιέγκα (mesh), έηζη ώζηε ηα δεδνκέλα ηνπο λα κεηαθέξνληαη από ελαιιαθηηθέο δηαδξνκέο θαη ην δίθηπν λα πξνζαξκόδεηαη απηόκαηα ζηελ πεξίπησζε όπνπ έλαο νη πεξηζζόηεξνη αηζζεηήξεο είλαη εθηόο ηεο εκβέιεηαο ηνπ ζηαζκνύ βάζεο (ρήκα 2). Απηό δελ ρξεηάδεηαη λα ζαο απαζρνιήζεη, νη αιγόξηζκνη πνπ ρξεηάδνληαη έρνπλ ήδε πινπνηεζεί ζε θαηάιιειν ελζσκαησκέλν ινγηζκηθό πνπ εθηειείηαη από ηνπο ίδηνπο ηνπο αηζζεηήξεο θαη ηνπο επηηξέπεη λα αλαθαιύπηνπλ ν έλαο ηνλ άιιν

11 Ο ζηαζκόο βάζεο ιακβάλεη παθέηα κε δεδνκέλα κεηξήζεσλ, ηα νπνία πξνσζεί κέζσ δηαζύλδεζεο USB ζην ππνινγηζηηθό ζύζηεκα. Η δηαζύλδεζε πινπνηείηαη κε θύθισκα Serial over USB, κε ην ηζηπ FTDI FT2232C γηα ην νπνίν ν ππξήλαο δηαζέηεη ελζσκαησκέλνπο νδεγνύο. ηελ πεξίπησζε απηή (ε pre-existing approach ζην ρήκα 3), δε γίλεηαη θακία δηάθξηζε αλάκεζα ζηα δηαθνξεηηθά παθέηα δεδνκέλσλ: ηα δεδνκέλα όισλ ησλ κεηξήζεσλ όισλ ησλ αηζζεηήξσλ εκθαλίδνληαη ζε κία εηθνληθή ζεηξηαθή ζύξα, /dev/ttyusb1. Δπηπιένλ, δελ ππνζηεξίδεηαη ηαπηόρξνλε πξόζβαζε από πνιιέο δηαθνξεηηθέο δηεξγαζίεο κόλν κία έρεη λόεκα λα αλνίγεη θάζε θνξά ηελ εηθνληθή ζεηξηαθή ζύξα. Υξεηάδεηαη ινηπόλ ε αλάπηπμε ελόο νδεγνύ ζπζθεπήο ν νπνίνο λα πξνζθέξεη θαηάιιειν κεραληζκό, αληηκεησπίδνληαο αλεμάξηεηα ηνπο αηζζεηήξεο θαη ηα κεηξνύκελα κεγέζε, επηηξέπνληαο ηαπηόρξνλε πξόζβαζε ζηα εηζεξρόκελα δεδνκέλα θαη θάλνληαο δπλαηή ηελ επηβνιή δηαθνξεηηθήο πνιηηηθήο από ην δηαρεηξηζηή ηνπ ζπζηήκαηνο όζνλ αθνξά ηελ πξόζβαζε ζε απηά Λεηηνπξγηθέο απαηηήζεηο νδεγνύ ζπζθεπήο Ο δεηνύκελνο νδεγόο ζπζθεπήο ρξεηάδεηαη λα πξνζθέξεη ηε δπλαηόηεηα ρσξηζηήο πξόζβαζεο αλά αηζζεηήξα θαη κεηξνύκελν κέγεζνο κέζσ δηαθνξεηηθώλ εηδηθώλ αξρείσλ. Σν πιήζνο ησλ απαηηνύκελσλ αξρείσλ ζα είλαη ίζν κε ηνλ αξηζκό ησλ ππνζηεξηδόκελσλ αηζζεηήξσλ επί ηνλ αξηζκό ησλ ππνζηεξηδόκελσλ κεηξήζεσλ, πνπ είλαη ηξεηο: ηάζε κπαηαξίαο, ζεξκνθξαζία, θσηεηλόηεηα. Κάζε δεύγνο {αξηζκόο κεηξεηή, κέηξεζε} ζα αληηζηνηρηζηεί ζε δηαθνξεηηθό εηδηθό αξρείν, κε δηαθνξεηηθό minor number, όπσο πεξηγξάθεηαη ζηελ 3.3. Η πξώηε πξνζπάζεηα αλάγλσζεο από εηδηθό αξρείν ζα επηζηξέθεη έλαλ αξηζκό από bytes πνπ ζα αλαπαξηζηνύλ ηελ πην πξόζθαηε ηηκή ηνπ κεηξνύκελνπ κεγέζνπο, ζε αλαγλώζηκε κνξθή, κνξθνπνηεκέλε σο δεθαδηθό αξηζκό. Αλ δελ έρνπλ αθόκε παξαιεθζεί δεδνκέλα γηα ηε ζπγθεθξηκέλε κέηξεζε, ή αλ γίλνπλ επόκελεο πξνζπάζεηεο αλάγλσζεο, ν νδεγόο ζα πξέπεη λα θνηκίδεη ηε δηεξγαζία (βι. 7.3) έσο όηνπ παξαιεθζνύλ λέα δεδνκέλα. Έηζη, απηή δελ ζα θαηαλαιώλεη ρξόλν ζηελ CPU ηνπ ζπζηήκαηνο. Οξίζηε έλα παξάδεηγκα ρξήζεο ηνπ ζπζηήκαηνο, κε ζρνιηαζκό: Ο απιόο ρξήζηεο user, αθνύ θάλεη login κεηαγισηηίδεη ηνλ θώδηθα ηνπ module δίλνληαο ηελ εληνιή make:

12 [αλ ν πεγαίνο θώδηθαο ηνπ ππξήλα γηα ηνλ νπνίν γίλεηαη ε κεηαγιώηηηζε είλαη ζε αζπλήζηζηε ζέζε, ρξεηάδεηαη λα ηεζεί ε κεηαβιεηή πεξηβάιινληνο KERNELDIR] export KERNELDIR=~/utopia/linux make gcc -Wall -Werror -m32 -o mk_lookup_tables mk_lookup_tables.c -lm./mk_lookup_tables >lunix-lookup.h make -C /home/user/utopia/linux M=/home/user/lunix-tng modules make[1]: Entering directory `/home/user/utopia/linux ' CC [M] /home/user/lunix-tng/lunix-module.o CC [M] /home/user/lunix-tng/lunix-chrdev.o CC [M] /home/user/lunix-tng/lunix-ldisc.o CC [M] /home/user/lunix-tng/lunix-protocol.o CC [M] /home/user/lunix-tng/lunix-sensors.o LD [M] /home/user/lunix-tng/lunix.o Building modules, stage 2. MODPOST 1 modules CC /home/user/lunix-tng/lunix.mod.o LD [M] /home/user/lunix-tng/lunix.ko make[1]: Leaving directory `/home/user/utopia/linux ' gcc -Wall -Werror -o lunix-attach lunix-attach.c ηε ζπλέρεηα, απνθηά δηθαηώκαηα δηαρεηξηζηή (su), γηα λα θνξηώζεη ην module (insmod), λα δεκηνπξγήζεη κηα ζεηξά από εηδηθά αξρεία ηεο ζπζθεπήο (lunix_dev_nodes.sh) θαη λα ελεξγνπνηήζεη ηελ είζνδν δεδνκέλσλ από ηε ζεηξηαθή ζύξα USB /dev/ttyusb1 (lunix-attach): user@machine:~/lunix-tng$ su Password: machine:~# cd ~user/lunix-tng machine:/home/user/lunix-tng# insmod./lunix.ko machine:/home/user/lunix-tng#./lunix_dev_nodes.sh machine:/home/user/lunix-tng#./lunix-attach /dev/ttyusb1 tty_open: looking for lock tty_open: trying to open /dev/ttyusb1 tty_open: /dev/ttyusb1 (fd=3) Line discipline set on /dev/ttyusb1, press ^C to release the TTY... Σέινο, δεηά ηε ζεξκνθξαζία ηνπ 3νπ αηζζεηήξα. user@utopia:~$ cat /dev/lunix2-temp [αλ ν αηζζεηήξαο είλαη θιεηζηόο, εδώ ε cat θαίλεηαη λα έρεη θνιιήζεη] [κηθξή παύζε αλάκεζα ζε θάζε γξακκή, αλάινγα κε ηε ζπρλόηεηα αλαλέωζεο ηωλ δεδνκέλωλ] ^C

13 4.3. Πξνηεηλόκελε αξρηηεθηνληθή νδεγνύ ζπζθεπήο Η πξνηεηλόκελε αξρηηεθηνληθή ηνπ ππό ζρεδίαζε ζπζηήκαηνο παξνπζηάδεηαη ζην αθόινπζν ζρήκα. Σν παξαθάησ απνηειεί κηα πιήξε πεξηγξαθή ηεο αξρηηεθηνληθήο ηνπ θαη ζπκπεξηιακβάλεη ηόζν ηα ηκήκαηα πνπ ζαο δίλνληαη ήδε πινπνηεκέλα όζν θαη ην ηκήκα πνπ ζα πξέπεη εζείο λα θαηαζθεπάζεηε (ηα ηκήκαηα (g) θαη (h) ηνπ παξαθάησ ζρήκαηνο). Η πεξηγξαθή γίλεηαη κε ζθνπό ηελ επθνιόηεξε αλάγλσζε ηνπ θώδηθα πνπ ζαο δίλεηαη θαη ηελ θαιύηεξε θαηαλόεζε ηνπ πιαηζίνπ ζην νπνίν ζα εληαρζεί ε δνπιεηά ζαο. Pre-existing approach User Application /dev/ttyusb1 /dev/lunix0-batt, /dev/lunix1-temp /dev/lunix2-light System Calls User TTY Core layer Standard line discipline Lunix line discipline c d Lunix character device driver h Lunix sensor buffers g f Serial over USB driver Lunix protocol e Kernel b Hardware Wireless network base station a ρήκα 3: Αξρηηεθηνληθή ινγηζκηθνύ ηνπ ππό εμέηαζε ζπζηήκαηνο Σν ζύζηεκα νξγαλώλεηαη ζε δύν θύξηα κέξε: Σν πξώην (ηκήκαηα (c), (d), (e) ηνπ ζρήκαηνο) αλαιακβάλεη ηε ζπιινγή ησλ δεδνκέλσλ από ην ζηαζκό βάζεο θαη ηελ επεμεξγαζία ηνπο κε ζπγθεθξηκέλν πξσηόθνιιν, έηζη ώζηε λα εμαρζνύλ νη ηηκέο ησλ κεηξνύκελσλ κεγεζώλ, νη νπνίεο θαη θξαηνύληαη ζε θαηάιιειεο δνκέο πξνζσξηλήο απνζήθεπζεο (buffers) ζηε κλήκε (ηκήκα (f)). Σν δεύηεξν (ηκήκαηα (g), (h)), αλαιακβάλεη ηελ εμαγωγή ησλ δεδνκέλσλ ζην ρώξν ρξήζηε, πινπνηώληαο κηα ζεηξά από ζπζθεπέο ραξαθηήξσλ. Σα δεδνκέλα πξνέξρνληαη από αλάγλσζε ησλ ρώξσλ ελδηάκεζεο απνζήθεπζεο. Σν ηειηθό ζύζηεκα ζα ιεηηνπξγεί σο εμήο: Σα δεδνκέλα ησλ κεηξήζεσλ αθνύ (a) ιακβάλνληαη από ην ζηαζκό βάζεο (b) ζα πξνσζνύληαη κέζσ USB ζην ππνινγηζηηθό ζύζηεκα. ηε ζπλέρεηα όκσο δελ ζα αθνινπζνύλ ηε ζπλήζε πνξεία ηνπο, πξνο ην /dev/ttyusb1 αιιά (c) ζα παξαιακβάλνληαη από έλα θίιηξν, ηε δηάηαμε γξακκήο

14 (line discipline) ηνπ Lunix, ε νπνία (d) ζα ηα πξνσζεί ζε θαηάιιειν ζηξώκα εξκελείαο ηνπ πξσηνθόιινπ ησλ αηζζεηήξσλ (e). Σν ηκήκα απηό εξκελεύεη ην πεξηερόκελν ησλ παθέησλ θαη απνζεθεύεη ηα δεδνκέλα ησλ κεηξήζεσλ ζε δηαθνξεηηθνύο buffers αλά αηζζεηήξα (f). Η δεηνύκελε ζπζθεπή ραξαθηήξσλ (g), αλαιόγσο κε ην πνην εηδηθό αξρείν ρξεζηκνπνηεί ε εθαξκνγή ρξήζηε, ζα επηηξέπεη ηελ αλάθηεζε (h) από ηνπο buffers ησλ δεδνκέλσλ πνπ αληηζηνηρνύλ ζε θάζε πεξίπησζε. Η πινπνίεζε ησλ ηκεκάησλ (b), (c), (d), (e), (f) ζαο δίλεηαη έηνηκε, σο ηκήκαηα θώδηθα καδί κε ηηο θαηάιιειεο δνκέο δεδνκέλσλ πνπ νξίδνπλ ηηο δηεπαθέο (interfaces) αλάκεζά ηνπο. Από εζάο δεηείηαη ε πινπνίεζε ηνπ (g) θαη ν έιεγρνο (h) ηεο ζσζηήο ιεηηνπξγίαο ηνπ ζπζηήκαηνο, κέζσ ελόο πξνγξάκκαηνο ρξήζηε. ηε ζπλέρεηα αλαιύεηαη ν ξόινο θαζελόο από ηα παξαπάλσ ηκήκαηα ηνπ ινγηζκηθνύ θαη ν ηξόπνο αιιειεπίδξαζήο ηνπ κε ηα ππόινηπα. 5. Σκήκα εμαγωγήο δεδνκέλωλ ζην ρώξν ρξήζηε 5.1. Interface ζπζθεπώλ ραξαθηήξωλ Όπσο είπακε θαη πξνεγνύκελα, ην Linux παξνπζηάδεη ζρεδόλ όιεο ηηο ζπζθεπέο σο αξρεία. Σα εηδηθά αξρεία ζπζθεπώλ, κέζσ ηνπ νπνίνπ είλαη δπλαηή ε αιιειεπίδξαζε κε ζπζθεπέο Δ/Δ απνηεινύλ θαη απηά κέξνο ηνπ ζπζηήκαηνο αξρείσλ (filesystem), όπσο θαη ηα αξρεία δεδνκέλσλ. Ο νδεγόο ζπζθεπήο κνηάδεη κε έλα θαλνληθό αξρείν ην νπνίν κπνξείηε λα αλνίμεηε (open()), θιείζεηε (close()), δηαβάζεηε (read()) θαη λα γξάςεηε (write()). Ο ππξήλαο βιέπεη απηέο ηηο ιεηηνπξγίεο σο εηδηθέο αηηήζεηο θαη ηηο κεηαθξάδεη ζε θιήζεηο πξνο ηνλ αληίζηνηρν νδεγό ζπζθεπήο. ηελ πεξίπησζε ησλ ζπζθεπώλ ραξαθηήξσλ (όρη όκσο θαη ησλ ζπζθεπώλ κπινθ, όπνπ ην interface είλαη εληειώο δηαθνξεηηθό), ππάξρεη ζρεδόλ 1-1 αληηζηνηρία αλάκεζα ζε θιήζεηο ζπζηήκαηνο θαη θιήζεηο πξνο ηνλ νδεγό ζπζθεπήο. Όηαλ γηα παξάδεηγκα αλνίμνπκε (open()) έλα εηδηθό αξρείν, ν ππξήλαο ςάρλεη ηελ αληίζηνηρε ζπλάξηεζε ζηνλ θώδηθα ηνπ νδεγνύ θαη ηελ εθηειεί. Όκσο πώο θαηαθέξλεη θαη βξίζθεη ηελ θαηάιιειε ζπλάξηεζε γηα θάζε ζπζθεπή; Σν θαηαθέξλεη, δηόηη θάζε νδεγόο γηα ζπζθεπή ραξαθηήξσλ πινπνηεί κηα ζπγθεθξηκέλε δηεπαθή (interface) πξνο ηνλ ππξήλα. Σν interface απηό πεξηγξάθεηαη ζηε ζπλέρεηα. Όινη νη νδεγνί παξέρνπλ έλα ζύλνιν από ξνπηίλεο. Κάζε νδεγόο παξέρεη κηα δνκή struct file_operations πνπ πεξηέρεη δείθηεο ζηηο ξνπηίλεο απηέο. Καηά ηελ αξρηθνπνίεζε ηνπ νδεγνύ, απηή ε δνκή "αγθηζηξώλεηαη" ζε έλα πίλαθα πνπ γλσξίδεη ν ππξήλαο. Κάζε θνξά πνπ γίλεηαη αίηεζε γηα άλνηγκα ελόο εηδηθνύ αξρείνπ, ν αξηζκόο major ηνπ αξρείνπ ρξεζηκνπνηείηαη από ηνλ ππξήλα σο δείθηεο ζε απηόλ ηνλ πίλαθα, ώζηε λα εληνπίζεη ηνλ θαηάιιειν νδεγό ζπζθεπήο θαη ηελ αλάινγε δνκή file_operations

15 Δθηόο από ηε δνκή file_operations, πνιύ ζεκαληηθό ξόιν ζηελ αιιειεπίδξαζε ηνπ νδεγνύ ζπζθεπήο κε ηνλ ππξήλα παίδεη θαη ε δνκή struct file. Η δνκή απηή αλαπαξηζηά θάπνην αλνηρηό αξρείν κηαο δηεξγαζίαο κέζα ζηνλ θώδηθα ηνπ ππξήλα. Ο ππξήλαο δεκηνπξγεί κηα λέα δνκή file θάζε θνξά πνπ κηα δηεξγαζία εθηειεί ηελ θιήζε ζπζηήκαηνο open() γηα λα αλνίμεη θάπνην αξρείν. Μηα δνκή file δεκηνπξγείηαη θαη όηαλ κηα δηεξγαζία αλνίμεη εηδηθό αξρείν πνπ αλαθέξεηαη ζην Lunix:TNG. Η δνκή απηή αληηζηνηρίδεηαη, κέζσ ελόο δείθηε, κε ηε δνκή file_operations πνπ έρεη δειώζεη ν νδεγόο ζπζθεπήο ζηνλ ππξήλα. Έηζη, θάζε θνξά πνπ ε δηεξγαζία δεηά ηελ εθηέιεζε κηαο θιήζεο ζπζηήκαηνο επάλσ ζην αλνηρηό αξρείν (π.ρ. ηεο read() γηα ηελ αλάγλσζε δεδνκέλσλ), ν ππξήλαο βξίζθεη ηε δνκή file πνπ αληηζηνηρεί ζην αλνηρηό αξρείν, αθνινπζεί ην ζύλδεζκν πξνο ηε δνκή file_operations ηνπ νδεγνύ ζπζθεπήο, αθνινπζεί ην δείθηε ηεο δνκήο πνπ αλαθέξεηαη ζηε ιεηηνπξγία read θαη θηάλεη έηζη ζηελ ξνπηίλα ηνπ νδεγνύ ζπζθεπήο, ηελ νπνία θαη εθηειεί. Η παξαπάλσ δηαδηθαζία ζα γίλεη πεξηζζόηεξν θαηαλνεηή όηαλ παξνπζηαζηνύλ ηα πεδία ησλ δνκώλ file_operations θαη file Λεηηνπξγίεο αξρείνπ - Ζ δνκή file_operations ηε ζπλέρεηα παξνπζηάδνληαη ηα πεδία ηεο δνκήο file_operations (βι. θαη [1], ζει. 49) Κάζε πεδίν ηεο δνκήο απηήο αληηζηνηρεί ζε κία ιεηηνπξγία πνπ αλαιακβάλεη λα επηηειέζεη ν νδεγόο ζπζθεπήο πνπ πινπνηνύκε, όηαλ ηνπ δεηεζεί από άιια ηκήκαηα ηνπ ππξήλα. Η ζπζθεπή αλαγλσξίδεηαη εζσηεξηθά ζηνλ ππξήλα κέζσ ηεο δνκήο file πνπ πξνθύπηεη από άλνηγκα ελόο εηδηθνύ αξρείνπ, π.ρ. ηνπ /dev/sensor1-light από θάπνηα δηεξγαζία. Σν εηδηθό αξρείν έρεη θαηαζθεπαζηεί εθ ησλ πξνηέξσλ, όπσο αλαιύεηαη ζηελ 3.3. Σα πεδία ηεο δνκήο file_operations νλνκάδνληαη ζπρλά θαη «κέζνδνη» ηεο ζπζθεπήο, ζύκθσλα κε ηελ νξνινγία ηνπ αληηθεηκελνζηξεθνύο πξνγξακκαηηζκνύ, ζεσξώληαο όηη ν ππξήλαο δεηά από ηνλ νδεγό ζπζθεπήο ηελ εθηέιεζε κηαο ιεηηνπξγίαο θαιώληαο ηελ αληίζηνηρε κέζνδν ηνπ αληηθεηκέλνπ «αλνηρηό αξρείν». H δνκή file_operations απνηειείηαη από δείθηεο ζε ζπλαξηήζεηο θαη νξίδεηαη ζην <linux/fs.h>. ηε ζπλέρεηα παξνπζηάδνληαη πεξηιεπηηθά ηα ζεκαληηθόηεξα από ηα πεδία ηεο. Αλ ν νδεγόο ζπζθεπήο δελ ππνζηεξίδεη ηε ζπγθεθξηκέλε ιεηηνπξγία θαη δελ παξέρεη ξνπηίλα πνπ ηελ πινπνηεί, ν δείθηεο ηεο δνκήο file_operations είλαη NULL θαη ε ζπκπεξηθνξά ηνπ ππξήλα εμαξηάηαη από ην είδνο ηεο ιεηηνπξγίαο πνπ δελ παξέρεηαη. Η εθηέιεζε κηαο ζπλάξηεζεο ζεσξείηαη επηηπρήο όηαλ ε επηζηξεθόκελε ηηκή είλαη κεδέλ, ελώ αξλεηηθή επηζηξεθόκελε ηηκή ππνδειώλεη θάπνην ζθάικα. Μπνξεί λα επηζηξαθεί θαη ζεηηθόο αξηζκόο κεξηθέο θνξέο, νπόηε ζα επηζεκαίλεηαη ζηελ πεξηγξαθή ηεο ιεηηνπξγίαο

16 loff_t llseek (struct file *, loff_t, int); Η κέζνδνο llseek() ρξεζηκνπνηείηαη γηα λα αιιάμνπκε ηελ ζέζε αλάγλσζεο / εγγξαθήο ζε έλα αξρείν θαη ε λέα ηηκή επηζηξέθεηαη σο κηα ζεηηθή ηηκή. Σα ιάζε ζεκαηνδνηνύληαη από αξλεηηθή ηηκή. Αλ ε ζπλάξηεζε δελ νξίδεηαη ζηνλ νδεγό (ππάξρεη NULL ζηελ αλάινγε ζέζε ζηε δνκή struct file_operations), ν ππξήλαο πξνζθέξεη κηα πξνθαζνξηζκέλε (default) πινπνίεζε ηεο llseek(), ζύκθσλα κε ηελ νπνία νη ιεηηνπξγίεο seek σο πξνο ην ηέινο ηνπ αξρείνπ απνηπγράλνπλ, δηαθνξεηηθά επηηπγράλνπλ αιιάδνληαο ηνλ κεηξεηή ζέζεο ζηε δνκή file. ssize_t read(struct file *, char user *, size_t, loff_t *); Υξεζηκνπνηείηαη γηα λα δηαβάδεη δεδνκέλα από ηε ζπζθεπή. Αλ ν νδεγόο ζπζθεπήο δελ ππνζηεξίδεη απηή ηε ιεηηνπξγία, νπόηε ν δείθηεο ζηε ζέζε απηή είλαη NULL, ε θιήζε ζπζηήκαηνο read() απνηπγράλεη κε ηελ ηηκή -EINVAL ( Invalid argument ). Μηα κε αξλεηηθή επηζηξεθόκελε ηηκή θαλεξώλεη ην πιήζνο ησλ bytes πνπ δηαβάζηεθαλ επηηπρώο, ελώ ε ηηκή 0 ππνδειώλεη όηη ε αλάγλσζε έθηαζε ζην ηέινο ηνπ αξρείνπ (EOF). Η κέζνδνο απηή ζα είλαη ε θαξδηά ηεο πινπνίεζήο ζαο. Υξεηάδεηαη λα ιακβάλεη δεδνκέλα από ηνπο sensor buffers, λα θξνληίδεη γηα ηε ζσζηή κνξθνπνίεζή ηνπο θαη λα ηα πεξλά ζην ρώξν ρξήζηε. Γηα ηνλ ηξόπν κε ηνλ νπνίν πινπνηείηαη θαη ηηο ζπκβάζεηο πνπ αθνινπζνύληαη, δείηε ηα αληίζηνηρα ζρόιηα ζηνλ θώδηθα πνπ ζα ζαο δνζεί θαη ηελ πινπνίεζε ηεο αληίζηνηρεο read() ηνπ scull ζην [1]. ssize_t write(struct file *, const char user *, size_t, loff_t *); ηέιλεη δεδνκέλα ζηελ ζπζθεπή. Αλ δελ παξέρεηαη από ηνλ νδεγό ζπζθεπήο, επηζηξέθεηαη -EINVAL ζην πξόγξακκα πνπ θάιεζε ηελ θιήζε ζπζηήκαηνο write(). Η επηζηξεθόκελε ηηκή, αλ δελ είλαη αξλεηηθή, θαλεξώλεη ην πιήζνο ησλ bytes πνπ γξάθηεθαλ επηηπρώο. int unlocked_ioctl(struct file *, unsigned int, unsigned long); Η θιήζε ζπζηήκαηνο ioctl() πξνζθέξεη έλα ηξόπν γηα λα δώζνπκε εηδηθέο εληνιέο γηα ηε ζπζθεπή πιηθνύ, πνπ δελ είλαη κπνξνύλ λα παξαζηαζνύλ νύηε σο αλάγλσζε νύηε σο εγγξαθή δεδνκέλσλ. Γηα παξάδεηγκα, κηα ηέηνηα εληνιή ζα ήηαλ ε κνξθνπνίεζε ηεο δηζθέηαο γηα ηε ζπζθεπή /dev/fd0, ή ε κεηαβνιή ηνπ baud rate γηα κηα ζεηξηαθή ζύξα (/dev/ttys0). Μεξηθέο εληνιέο ioctl ηθαλνπνηνύληαη άκεζα από ηνλ ππξήλα, ρσξίο λα θιεζεί ν νδεγόο ζπζθεπήο. Αλ ν νδεγόο δελ πξνζθέξεη ηελ ioctl(), ηόηε ε θιήζε ζπζηήκαηνο επηζηξέθεη -EINVAL. Μηα κε αξλεηηθή

17 επηζηξεθόκελε ηηκή πεξλά ακεηάβιεηε ζηνλ θαινύληα γηα λα θαλεξώζεη ηελ επηηπρία ηεο θιήζεο. int open (struct inode *, struct file *) Αλ θαη απηή ε ζπλάξηεζε είλαη ε πξώηε πνπ θαιείηαη ζηνλ θόκβν ζπζθεπήο, ν νδεγόο ζπζθεπήο δελ ρξεηάδεηαη λα νξίζεη κηα ηέηνηα κέζνδν. ηελ πεξίπησζε απηή ην άλνηγκα ζπζθεπήο ζεσξείηαη πάληα επηηπρέο, αιιά ν νδεγόο καο δελ ελεκεξώλεηαη πνηέ. Δκείο ζα νξίδνπκε ηε ζπλάξηεζε απηή, επεηδή ζέινπκε λα ελεκεξώλεηαη ν νδεγόο καο γηα ην άλνηγκα ηεο ζπζθεπήο, ώζηε λα καο δίλεηαη ε επθαηξία λα θάλνπκε αξρηθνπνηήζεηο ζε δνκέο δεδνκέλσλ ηνπ νδεγνύ. Σν όξηζκα ηύπνπ struct inode αθνξά ζην εηδηθό αξρείν πνπ ρξεζηκνπνηήζεθε θαηά ηελ θιήζε ζπζηήκαηνο. Με ρξήζε ησλ καθξνεληνιώλ unsigned int iminor(struct inode *inode); unsigned int imajor(struct inode *inode); κπνξνύκε λα αλαθηήζνπκε ηνλ major θαη minor number ηνπ αξρείνπ, ώζηε ην αλνηρηό αξρείν πνπ ζα πξνθύςεη λα αθνξά ζπγθεθξηκέλν αηζζεηήξα θαη κέηξεζε ηνπ δηθηύνπ. ηελ πεξίπησζή πνπ εμεηάδεηε, ε open νθείιεη λα δεζκεύεη ρώξν γηα ηε δνκή ηύπνπ lunix_chrdev_state_struct πνπ πεξηγξάθεη ηελ ηξέρνπζα θαηάζηαζε ηεο ζπζθεπήο θαη λα ηε ζπλδέεη κε ηε δνκή file κέζσ ηνπ δείθηε private_data (βι. παξαθάησ). void (*release) (struct inode *, struct file *); Απηή ε κέζνδνο θαιείηαη όηαλ κηα δηεξγαζία ρξήζηε εθηειέζεη ηελ θιήζε ζπζηήκαηνο close() γηα ην θιείζηκν ηνπ αλνηρηνύ αξρείνπ ηεο ζπζθεπήο, νπόηε θαηαζηξέθεηαη ε αληίζηνηρε δνκή file. Όκνηα κε ηελ open(), δελ ρξεηάδεηαη λα νξηζηεί κέζνδνο release() θαη ζα είλαη πάληα επηηπρέο ην θιείζηκν. ηελ δηθή καο πεξίπησζε, ζα νξίδνπκε ζπλάξηεζε γηα ην δείθηε release, γηα λα ελεκεξσλόκαζηε όηαλ ην πξόγξακκα πνπ είρε αλνίμεη ηε ζπζθεπή καο θιείζεη ην αλνηρηό αξρείν θαη λα απειεπζεξώλνπκε ηνπο αληίζηνηρνπο πόξνπο (δεζκεπκέλε κλήκε). Η κνξθή ηεο δνκήο file_operations γηα ην Lunix:TNG ζα είλαη θάπσο έηζη: static struct file_operations lunix_chrdev_fops = {.owner = THIS_MODULE,.open = lunix_chrdev_open,.release = lunix_chrdev_release,.read = lunix_chrdev_read };

18 5.3. Αλνηρηά αξρεία - Ζ δνκή file Η δνκή struct file, πνπ νξίδεηαη ζην <linux/fs.h>, (βι. [1] ζει. 53) είλαη ε δεύηεξε ζεκαληηθόηεξε δνκή πνπ ρξεζηκνπνηείηαη ζηνπο νδεγνύο ζπζθεπώλ. Πξνζέμηε όηη έλα file δελ έρεη ζρέζε κε ηα FILEs ησλ πξνγξακκάησλ userspace. Η δνκή FILE νξίδεηαη ζηελ βηβιηνζήθε ηεο C θαη δελ εκθαλίδεηαη πνηέ ζε θώδηθα ζηνλ ππξήλα. Έλα struct file, από ηελ άιιε, είλαη κηα δνκή ηνπ ππξήλα θαη πνηέ δελ εκθαλίδεηαη ζηα πξνγξάκκαηα ησλ ρξεζηώλ. Η δνκή file αλαπαξηζηά έλα «αλνηρηό αξρείν». Γεκηνπξγείηαη από ηνλ ππξήλα θαηά ηελ εθηέιεζε ηεο open θαη πεξληέηαη ζε θάζε ζπλάξηεζε πνπ ιεηηνπξγεί ζην file, κέρξη ην θιείζηκό ηνπ (θιήζε ζπζηήκαηνο close()). Μεηά ην θιείζηκν ηνπ αξρείνπ, ν ππξήλαο απνδεζκεύεη ηελ αληίζηνηρε δνκή file. Έλα open file είλαη δηαθνξεηηθό από έλα disk file, πνπ αλαπαξίζηαηαη από έλα struct inode. Σα πεδία ηεο δνκήο file αλαπαξηζηνύλ ηελ θαηάζηαζε ελόο αξρείνπ αλνηρηνύ γηα θάπνηα δηεξγαζία ρξήζηε, δειαδή ηα δηθαηώκαηα πξόζβαζεο ηεο δηεξγαζίαο ζην αξρείν, ηε ζέζε ηνπ δείθηε αλάγλσζεο / εγγξαθήο θιπ. Σα ζεκαληηθόηεξα από απηά είλαη: mode_t f_mode; Σα bits ηνπ πεδίνπ f_mode θαζνξίδνπλ ην είδνο ηεο πξόζβαζεο πνπ επηηξέπεηαη λα έρεη ε δηεξγαζία ζην αλνηρηό αξρείν. Γηα παξάδεηγκα, αλ ην αξρείν έρεη αλνηρηεί γηα αλάγλσζε, ην bit FMODE_READ ζα είλαη 1 θαη ε παξάζηαζε f_mode & FMODE_READ ζα είλαη κε κεδεληθή. loff_t f_pos; ην πεδίν απηό απνζεθεύεηαη ε ηξέρνπζα ζέζε ηνπ δείθηε αλάγλσζεο / εγγξαθήο. Ο ηύπνο loff_t είλαη κηα ηηκή εύξνπο 64bit (long long ζηελ νξνινγία ηνπ gcc). Ο νδεγόο κπνξεί λα δηαβάζεη ηελ ηηκή απηή αλ ρξεηάδεηαη λα κάζεη ηελ ηξέρνπζα ζέζε. Η κέζνδνο llseek, εθόζνλ νξίδεηαη, αλαιακβάλεη λα αλαλεώλεη ηελ ηηκή f_pos. Οη κέζνδνη read θαη write πξέπεη ηελ αλαλεώλνπλ όηαλ κεηαθέξνπλ δεδνκέλα. unsigned short f_flags; Σα flags απηά θαζνξίδνπλ θάπνηεο άιιεο ηδηόηεηεο πξόζβαζεο, όπσο O_RDONLY, O_NONBLOCK, θαη O_SYNC. Έλαο νδεγόο ειέγρεη ζπλήζσο γηα ην flag γηα ηηο ιεηηνπξγίεο nonblocking, ελώ ηα άιια ζπάληα ρξεζηκνπνηνύληαη. Όια ηα flags νξίδνληαη ζην αξρείν επηθεθαιίδαο <linux/fcntl.h>. struct file_operations *f_op;

19 Απηό είλαη ην πεδίν ηεο δνκήο file πνπ επηηξέπεη ηελ αληηζηνίρηζε ηνπ αλνηρηνύ αξρείνπ κε ζπγθεθξηκέλε δνκή file_operations, άξα θαη κε ζπγθεθξηκέλν νδεγό ζπζθεπήο. Ο ππξήλαο αξρηθνπνηεί ηνλ δείθηε απηό θαηά ην άλνηγκα θαη ηνλ αθνινπζεί όπνηε ρξεηάδεηαη λα θαιέζεη θάπνηα ζπλάξηεζε γηα λα εθηειέζεη θάπνηα ιεηηνπξγία επάλσ ζην αλνηρηό αξρείν. Γελ πξνβιέπεηαη λα ρξεζηκνπνηεζεί άκεζα από ηνλ νδεγό ζπζθεπήο καο. void *private_data; H θιήζε ζπζηήκαηνο open() ζέηεη ην δείθηε απηό ζε NULL πξηλ ηελ θιήζε ηεο κεζόδνπ open ηνπ νδεγνύ. Ο νδεγόο είλαη ειεύζεξνο λα θάλεη ρξήζε ηνπ δείθηε απηνύ όπσο ζεσξεί θαιύηεξν, αθόκα θαη λα ηνλ αγλνήζεη εληειώο. Υξεζηκνπνηείηαη ζπλήζσο ώζηε λα αληηζηνηρηζηεί ην αλνηρηό αξρείν ζε ηδησηηθέο δνκέο δεδνκέλσλ ηνπ νδεγνύ ζπζθεπήο. Ο δείθηεο κπνξεί λα ρξεζηκνπνηεζεί ώζηε λα δείρλεη ζε δεζκεπκέλα δεδνκέλα, αιιά απηά πξέπεη λα απειεπζεξσζνύλ από ηε κέζνδν release πξηλ ν ππξήλαο θαηαζηξέςεη ηε δνκή file. O δείθηεο private_data είλαη έλαο πνιύ ρξήζηκνο ηξόπνο γηα λα θξαηάκε πιεξνθνξίεο γηα ηελ θαηάζηαζε ηεο ζπζθεπήο (state information) αλάκεζα ζηηο δηάθνξεο θιήζεηο ζπζηήκαηνο. ηελ πεξίπησζή πνπ εμεηάδεηε, ζα ρξεζηκνπνηείηαη ώζηε λα δείρλεη ζε δνκή ηύπνπ lunix_chrdev_state_struct, ε νπνία πεξηγξάθεη ηελ ηξέρνπζα θαηάζηαζε ηεο ζπζθεπήο. Η πξαγκαηηθή δνκή struct file δηαζέηεη κεξηθά αθόκε πεδία, αιιά δελ καο είλαη ρξήζηκα. Θπκίδνπκε όηη όπνηνο ζέιεη λα κάζεη πεξηζζόηεξα, κπνξεί λα θνηηάμεη ζην αξρείν <linux/fs.h> όπνπ νξίδεηαη ε δνκή. 6. Σκήκα ζπιινγήο θαη επεμεξγαζίαο δεδνκέλωλ ην θεθάιαην απηό πεξηγξάθεηαη ν ηξόπνο κε ηνλ νπνίν έρεη ήδε ζρεδηαζηεί θαη πινπνηεζεί ην ηκήκα ζπιινγήο θαη επεμεξγαζίαο δεδνκέλσλ, ην νπνίν ζα παξέρεη ηηο ηηκέο ησλ κεηξνύκελσλ κεγεζώλ ζηνλ νδεγό ζπζθεπήο ραξαθηήξσλ πνπ θαηαζθεπάδεηε πιινγή δεδνκέλωλ από ζεηξηαθέο ζύξεο Καηά ηε ζρεδίαζε ηνπ Lunix:TNG πξνθύπηεη ε αλάγθε ζπιινγήο δεδνκέλσλ πνπ πξνέξρνληαη από ην ζηαζκό βάζεο θαη πξνώζεζήο πξνο ην ηκήκα επεμεξγαζίαο ηνπ πξσηνθόιινπ, έηζη ώζηε λα είλαη δπλαηή ε εμαγσγή θαη πξνζσξηλή απνζήθεπζε ησλ κεηξνύκελσλ ηηκώλ. Όηαλ έλαο νδεγόο ζπζθεπήο γξάθεηαη από κεδεληθή βάζε, ε αλάγθε απηή θαιύπηεηαη κε άκεζε, απεπζείαο αιιειεπίδξαζε κε ην πιηθό. Τπάξρνπλ δύν ηξόπνη λα γίλεη

20 απηό: Ο πξώηνο ηξόπνο είλαη ζύγρξνλνο: όηαλ ν νδεγόο ηεο ζπζθεπήο ρξεηαζηεί λέα δεδνκέλα απνζηέιιεη εληνιέο Δ/Δ ζην πιηθό. Απηό ηηο επεμεξγάδεηαη ελώ ν επεμεξγαζηήο πεξηκέλεη θαη ηειηθά ην πιηθό επηζηξέθεη ηηο ηηκέο πνπ ηνπ δεηήζεθαλ. Ο δεύηεξνο ηξόπνο είλαη αζύγρξνλνο θαη είλαη απηόο πνπ ππνζηεξίδεηαη από ηηο πεξηζζόηεξεο ζπζθεπέο ζήκεξα, αθξηβώο γηαηί δελ απαηηεί άκεζε θαη ζπλερή εκπινθή ηνπ επεμεξγαζηή: όηαλ ππάξρνπλ δηαζέζηκεο λέεο ηηκέο (π.ρ. όηαλ παηεζεί έλα πιήθηξν ζην πιεθηξνιόγην), ελεξγνπνηείηαη θαηάιιειν ζήκα δηαθνπήο (interrupt) πξνο ηνλ επεμεξγαζηή. Ο ππξήλαο μεθηλά λα επεμεξγάδεηαη ηε δηαθνπή θαη ηελ πξνσζεί ζηνλ νδεγό ζπζθεπήο, ν νπνίνο έρεη δεηήζεη λα ηελ εμππεξεηεί. Ο νδεγόο εμεηάδεη ηε ζπζθεπή θαη αληηγξάθεη ζε ρώξνπο πξνζσξηλήο απνζήθεπζεο ηηο λέεο πιεξνθνξίεο. ηελ πεξίπησζε ηνπ Lunix:TNG όκσο, δελ ππάξρεη ιόγνο λα μεθηλήζνπκε λα γξάθνπκε θώδηθα από ην κεδέλ γηα ην ζηαζκό βάζεο ηνπ δηθηύνπ. Ο ιόγνο είλαη όηη απηόο βαζίδεηαη ζε έλα γλσζηό ηζηπ Serial over USΒ, γηα ην νπνίν ήδε ππάξρεη βαζηθή ππνζηήξημε από ηνλ ππξήλα. Απηό ζεκαίλεη όηη ήδε έρεη γξαθηεί θώδηθαο πνπ ζπλεξγάδεηαη κε ην ππνζύζηεκα USB ηνπ ππξήλα, έηζη ώζηε λα κπνξεί λα αλαθαιύςεη ηε ζπζθεπή, λα ιάβεη δεδνκέλα από απηή θαη λα ηα εκθαλίζεη ζε κία εηθνληθή ζεηξηαθή ζύξα (πεξηζζόηεξα γηα νδεγνύο ζπζθεπώλ USB κπνξείηε λα βξείηε ζην [1], θεθ. 13). Δπηπιένλ, δελ απνθιείεηαη άιινη, παξόκνηνη ζηαζκνί βάζεο πνπ ρξεζηκνπνηνύλ ην ίδην πξσηόθνιιν λα ζπλδένληαη κέζσ κηαο πξαγκαηηθήο ζεηξηαθήο ζύλδεζεο ζην κεράλεκα αληί γηα USB, νπόηε ηα δεδνκέλα ηνπο εκθαλίδνληαη ζε κηα ζπζθεπή όπσο ε /dev/ttys0. Ο νδεγόο καο δελ έρεη ιόγν λα κελ κπνξεί λα ππνζηεξίμεη θαη απηή ηελ πεξίπησζε, εθόζνλ ην πξσηόθνιιν επηθνηλσλίαο (ε κνξθή ησλ bytes πνπ ηειηθά κεηαθέξνληαη) είλαη νπζηαζηηθά ην ίδην. Απηό ινηπόλ πνπ ρξεηάδεηαη είλαη έλαο γεληθόο ηξόπνο ην Lunix:TNG λα ιακβάλεη δεδνκέλα από ζπζθεπέο εηζόδνπ όπσο ε /dev/ttys0 θαη ε /dev/ttyusb1 βαζηδόκελν ζε ήδε ππάξρνληεο νδεγνύο γηα ζεηξηαθέο θαη USB ζύξεο πνπ ππάξρνπλ κέζα ζηνλ ππξήλα. Γηα λα ην πεηύρνπκε απηό ρξεηάδεηαη λα δνύκε πεξηζζόηεξν δηεμνδηθά ην ξόιν ηνπ ζηξώκαηνο TTY, ηνπ ζηξώκαηνο δειαδή ηνπ ππξήλα πνπ ππνζηεξίδεη ηεξκαηηθέο ζπζθεπέο, όπσο είλαη νη ζεηξηαθέο ζύξεο Σν ζηξώκα TTY ηνπ ππξήλα ηνπ Linux Ο όξνο TTY είλαη κηα ζύληκεζε ηνπ ΣeleΣΤpewriter θαη αλαθέξεηαη ζε πξαγκαηηθά αξραίεο ζπζθεπέο, ηα ηειέηππα, [2] νη νπνίεο ρξεζηκνπνηνύληαλ σο ηεξκαηηθά γηα είζνδν εληνιώλ ζε κεραλήκαηα UNIX θαη παξνπζίαζε απνηειεζκάησλ. Ωο ζύξα TTY ραξαθηεξίδεηαη θάζε ζύξα πνπ κπνξεί λα ππνζηεξίμεη ηεξκαηηθό, ζηελ νπνία κπνξνύκε λα θάλνπκε login θαη λα δώζνπκε εληνιέο ζην ζύζηεκα. ε έλα ζύγρξνλν ζύζηεκα Linux νη ζύξεο TTY ζπκπεξηιακβάλνπλ ηηο ζεηξηαθέο ζύξεο (ttys0, ttys1), ηηο ζεηξηαθέο πάλσ από USB (ttyusb0, ttyusb1), ηηο

21 θνλζόιεο ηνπ ζπζηήκαηνο (tty0, tty1, tty2) αιιά θαη εηθνληθέο θνλζόιεο πνπ δεκηνπξγνύληαη όηαλ γηα παξάδεηγκα αλνίγεηε έλα λέν παξάζπξν ηεξκαηηθνύ (π.ρ. xterm, konsole, gnome-terminal) θάησ από ηα X. Με ηελ εληνιή tty κπνξείηε λα δείηε ηε ζύξα ζηελ νπνία έρεηε ζπλδεζεί θάζε θνξά. Όιεο νη ζύξεο TTY πθίζηαληαη εληαία δηαρείξηζε από ηνλ ππξήλα, θαζώο ρξεηάδεηαη λα ππνζηεξίδνπλ έλα ζύλνιν από θνηλά ραξαθηεξηζηηθά. Τπάξρεη νξγάλσζε ζε ζηξώκαηα: ζην θαηώηεξν ζηξώκα ππάξρεη θώδηθαο (ν νδεγόο TTY) πνπ κηιάεη άκεζα κε ην πιηθό (π.ρ. ην ηζηπ πνπ ρεηξίδεηαη ηε ζεηξηαθή ζύξα), ελώ ζην αλώηεξν ζηξώκα ππάξρεη θώδηθαο πνπ πινπνηεί ηε δηεπαθή ζπζθεπήο ραξαθηήξσλ, ώζηε νη TTYs λα εκθαλίδνληαη σο ζπζθεπέο ραξαθηήξσλ ζην ζύζηεκα (ρήκα 4). User Application user buffer read() /dev/ttyusb1 User TTY Core (struct file_operations *) tty_read Line discipline (struct tty_ldisc_ops *) Low-level device driver (struct tty_driver *) tty buffer flip buffer interrupt handler ldisc read() ldisc receive_buf() tty_flip_buffer_push Lunix:TNG protocol processing? Kernel interrupt Hardware Serial device Data transfer Function call Incoming data ρήκα 4: Αξρηηεθηνληθή ηνπ ζηξώκαηνο TTY ηνπ Linux Σν ζηξώκα TTY ηνπ ππξήλα ρσξίδεηαη ζε ηξία θύξηα κέξε: Σν ηκήκα TTY core, ην ηκήκα ηεο δηάηαμεο γξακκήο (line discipline) θαη ην ηκήκα ηνπ θαηώηεξνπ νδεγνύ ζπζθεπήο. Σν ηκήκα ηνπ θαηώηεξνπ νδεγνύ ζπζθεπήο αλαιακβάλεη ηελ απεπζείαο επηθνηλσλία κε ηε ζεηξηαθή ζπζθεπή, π.ρ. ην ρεηξηζκό ζεκάησλ δηαθνπήο, αιιά δε ρξεηάδεηαη λα γλσξίδεη ηίπνηε γηα ην πώο ε ζπζθεπή απνζεθεύεη πξνζσξηλά δεδνκέλα ζηα αλώηεξα επίπεδα ή ππνζηεξίδεη ιεηηνπξγίεο ηεξκαηηθνύ. Σν ηκήκα TTY core

22 θξνληίδεη ώζηε νη ζεηξηαθέο ζπζθεπέο λα εκθαλίδνληαη σο ζπζθεπέο ραξαθηήξσλ ζην ζύζηεκα. Σν ηκήκα πνπ καο ελδηαθέξεη πεξηζζόηεξν είλαη απηό ηεο line discipline: ιεηηνπξγεί σο θίιηξν θαη θξνληίδεη γηα ηελ πξνζσξηλή απνζήθεπζε ησλ δεδνκέλσλ. Σν ζεκαληηθό είλαη όηη κπνξεί λα αιιάμεη. Γηαθνξεηηθέο δηαηάμεηο κπνξνύλ λα επηιεγνύλ αλαιόγσο κε ηε ρξήζε πνπ πξόθεηηαη λα έρνπλ ηα δεδνκέλα. Η ζπλεζηζκέλε line discipline νλνκάδεηαη N_TTY θαη απιά πεξλά δεδνκέλα ζην αληίζηνηρν /dev/tty. Αο δνύκε πεξηιεπηηθά ηη ζπκβαίλεη ζηε ζπλεζηζκέλε πεξίπησζε όπνπ κηα δηεξγαζία δεηά λα δηαβάζεη δεδνκέλα από κηα ζεηξηαθή ζύξα, έζησ ηε /dev/ttyusb1. Η δηαδηθαζία ηεο παξαιαβήο ησλ δεδνκέλσλ ιεηηνπξγεί αζύγρξνλα ζε ζρέζε κε ηε δηαδηθαζία αλάγλσζεο/θαηαλάισζήο ηνπο από ηε δηεξγαζία, νπόηε ρξεηάδεηαη ηα δεδνκέλα πνπ ιακβάλνληαη λα απνζεθεύνληαη πξνζσξηλά έσο όηνπ δεηεζνύλ. Όηαλ παξαιεθζνύλ δεδνκέλα από ηε ζπζθεπή, απηή πξνθαιεί έλα ζήκα δηαθνπήο, ην νπνίν εμππεξεηείηαη από ηνλ θαηώηεξν νδεγό TTY. Σα εηζεξρόκελα δεδνκέλα αληηγξάθνληαη κέζα ζε έλαλ από δύν ρώξνπο πνπ νλνκάδνληαη flip buffers θαη ρξεζηκνπνηνύληαη ελαιιάμ: θάζε θνξά έλαο από ηνπο δύν είλαη δηαζέζηκνο γηα ρξήζε από ηε ζπζθεπή, ελώ ν άιινο πξνσζείηαη πξνο ηε line discipline. Όηαλ απηόο πνπ ρξεζηκνπνηείηαη γεκίζεη, νη buffers αιιάδνπλ ξόινπο ( flip ). Όηαλ έλαο flip buffer γεκίζεη, ν θαηώηεξνο νδεγόο θαιεί ηελ ζπλάξηεζε tty_flip_buffer_push() (αξρείν drivers/tty/tty_buffer.c ηνπ θώδηθα ηνπ ππξήλα) ε νπνία κε ηε ζεηξά ηεο πεξλά ηα δεδνκέλα ζηε δηάηαμε γξακκήο αληηγξάθνληάο ηα ζηνλ TTY buffer (flush_to_ldisc()). Η δηάηαμε γξακκήο ελεκεξώλεηαη όηη λέα δεδνκέλα έρνπλ θηάζεη όηαλ θαιείηαη ε κέζνδνο ldisc receive_buf() γηα λα ηα επεμεξγαζηεί. Σέινο, ηα δεδνκέλα αλαθηώληαη από ηελ tty_read() ε νπνία ρξεζηκνπνηεί ηελ ldisc read() γηα λα ηα αληηγξάςεη από ηνλ TTY buffer ζην ρώξν ρξήζηε. Η δηαδηθαζία πνπ κόιηο πεξηγξάςακε αληαπνθξίλεηαη ζηε ζπλεζηζκέλε πεξίπησζε όπνπ ηα δεδνκέλα πξνσζνύληαη απεπζείαο ζην ρώξν ρξήζηε. Ωζηόζν, κε ρξήζε δηαθνξεηηθώλ δηαηάμεσλ γξακκήο είλαη δπλαηό λα επεθηαζεί ε ιεηηνπξγία ηνπ ζπζηήκαηνο. Γηα παξάδεηγκα, ρξεζηκνπνηείηε δηαθνξεηηθή δηάηαμε γξακκήο θάζε θνξά πνπ ζπλδέεζηε κέζσ PPP ζην δίθηπν: Αληί γηα ηε ζπλεζηζκέλε δηάηαμε N_TTY, παξεκβάιιεηαη ε δηάηαμε N_PPP, ε νπνία αληί λα πεξλά ηα δεδνκέλα ζην ρώξν ρξήζηε, ηα νκαδνπνηεί ζε παθέηα δηθηύνπ θαη ηα πεξλά ζην δηθηπαθό ππνζύζηεκα ηνπ ππξήλα. Λίζηα ησλ πξνθαζνξηζκέλσλ δηαηάμεσλ ππάξρεη ζην αξρείν <linux/tty.h>

23 6.3. Ζ δηάηαμε γξακκήο ηνπ Lunix:TNG Ο απινύζηεξνο ηξόπνο ώζηε ην ππό θαηαζθεπή ζύζηεκα λα έρεη πξόζβαζε ζηα παθέηα απνζηέιινληαη από ην ζηαζκό βάζεο, είλαη λα θαηαζθεπαζηεί κηα λέα δηάηαμε γξακκήο, ε Lunix:TNG line discipline, ε νπνία ζα ζπιιακβάλεη ηα δεδνκέλα εηζόδνπ θαη ζα ηα πξνσζεί όρη απεπζείαο ζην ρώξν ρξήζηε αιιά ζε θαηάιιειν ηκήκα επεμεξγαζίαο ηνπ πξσηνθόιινπ ησλ αηζζεηήξσλ, ην νπνίν θαη ζα εμάγεη ηηο ηηκέο ησλ κεηξνύκελσλ κεγεζώλ. Η δηάηαμε απηή έρεη ήδε πινπνηεζεί, ν θώδηθάο ηεο ζαο δίλεηαη ζηα αξρεία lunixldisc.h θαη lunix-ldisc.c. Η ζπλάξηεζε αξρηθνπνίεζεο ηνπ lunix-ldisc.c εγθαζηζηά ηε λέα δηάηαμε κέζσ ηεο θιήζεο tty_register_ldisc(), έηζη ώζηε απηή λα είλαη δηαζέζηκε ζην ππόινηπν ζύζηεκα. Σν ζύλνιν ηεο απαηηνύκελεο ιεηηνπξγηθόηεηαο πινπνηείηαη ζηελ lunix_ldisc_receive_buf(), ε νπνία πξνσζεί ηα εηζεξρόκελα δεδνκέλα ζην ηκήκα πινπνίεζεο ηνπ πξσηνθόιινπ επηθνηλσλίαο. Δπηπιένλ, παξέρεηαη ν θώδηθαο ηνπ κηθξνύ βνεζεηηθνύ πξνγξάκκαηνο lunixattach.c ην νπνίν ελεξγνπνηεί ηε ζπγθεθξηκέλε δηάηαμε ζε θάπνηα ζεηξηαθή ζύξα ηνπ ζπζηήκαηνο, κέζσ θαηάιιειεο θιήζεο ioctl(). Με ρξήζε απηνύ ηνπ εξγαιείνπ, νξίδεηαη έηζη πνηα ζύξα ζα ρξεζηκνπνηείηαη από ην ζύζηεκα γηα παξαιαβή δεδνκέλσλ από ηνπο αηζζεηήξεο. Πεξηζζόηεξα γηα ηελ νξγάλσζε ηνπ ζηξώκαηνο TTY ηνπ Linux κπνξείηε λα βξείηε ζην [5] θαη ζην θεθ. 18 ηνπ [1] Δπεμεξγαζία ηωλ παθέηωλ θαη εμαγωγή κεηξήζεωλ Σν ηκήκα επεμεξγαζίαο ηνπ πξσηνθόιινπ επηθνηλσλίαο ησλ αηζζεηήξσλ ηνπ δηθηύνπ πινπνηείηαη ζηα αξρεία lunix-protocol.h θαη lunix-protocol.c πνπ ζαο δίλνληαη. Η επεμεξγαζία ησλ παθέησλ βαζίδεηαη ζε κία απιή κεραλή θαηαζηάζεσλ, ε νπνία γλσξίδεη πόζα bytes δεδνκέλσλ ρξεηάδεηαη λα πεξηκέλεη ζε θάζε θάζε ηεο επεμεξγαζίαο, έσο όηνπ ζπκπιεξσζεί έλα πιήξεο παθέην κεηξήζεσλ. Οη εηζεξρόκελνη ραξαθηήξεο παξέρνληαη ζηνλ θώδηθα επεμεξγαζίαο ηνπ πξσηνθόιινπ κέζσ ηεο lunix_protocol_received_buf() πνπ θαιείηαη από ηε lunix_ldisc_receive_buf(). Οη ηηκέο ησλ κεηξνύκελσλ κεγεζώλ εμάγνληαη σο αξηζκεηηθέο πνζόηεηεο ησλ 16 bit ρσξίο πξόζεκν (ηύπνο uint16_t ηεο C) θαη απνζεθεύνληαη ζε ρώξνπο πξνζσξηλήο απνζήθεπζεο. Ο θώδηθαο πνπ πινπνηεί ηε δέζκεπζε θαη δηαρείξηζή ηνπο πεξηέρεηαη ζην αξρείν lunix-sensors.c, ελώ ν νξηζκόο ηεο δνκήο δεδνκέλσλ πνπ ηνπο πεξηγξάθεη (struct lunix_sensor_struct) βξίζθεηαη ζην αξρείν lunix.h. Οη πνζόηεηεο απηέο ρξεηάδεηαη λα κεηαηξαπνύλ κε βάζε ζπγθεθξηκέλεο ζπλαξηήζεηο πνπ δίλνληαη από ηνλ θαηαζθεπαζηή ησλ αηζζεηήξσλ έηζη ώζηε λα εμαρζνύλ πξνζεκαζκέλεο δεθαδηθέο ηηκέο θαηάιιειεο γηα παξνπζίαζε θαη θαηαγξαθή. Η

24 κεηαηξνπή απηή ρξεηάδεηαη ιεηηνπξγίεο θηλεηήο ππνδηαζηνιήο, γηα παξάδεηγκα δηαίξεζε, πνιιαπιαζηαζκό θαη ππνινγηζκό ινγαξίζκσλ γηα πνζόηεηεο ηύπνπ float. Ωζηόζν, ε ζρεδίαζε ηνπ ππξήλα ηνπ Linux θαζηζηά απαγνξεπηηθή ηελ εθηέιεζε πξάμεσλ θηλεηήο ππνδηαζηνιήο από θώδηθα ηνπ kernelspace. Οη ιόγνη είλαη θπξίσο δύν: Η θαηάζηαζε ηεο κνλάδαο εθηέιεζεο ππνινγηζκώλ θηλεηήο ππνδηαζηνιήο (Floating Point Unit FPU) δε ζώδεηαη θαη δελ επαλαθέξεηαη όηαλ ν επεμεξγαζηήο πεξλά από ηελ εθηέιεζε ρώξνπ ρξήζηε ζηελ εθηέιεζε ρώξνπ ππξήλα. Έηζη, αλ ν ππξήλαο αιιάμεη ηελ ηηκή θαηαρσξεηώλ ηεο είλαη ζρεδόλ ζίγνπξν όηη ζα επεξεαζηεί ε νξζόηεηα ηεο εθηέιεζεο πξνγξακκάησλ ρξήζηε. Οξηζκέλεο από ηηο αξρηηεθηνληθέο ζηηο νπνίεο έρεη κεηαθεξζεί ν ππξήλαο (π.ρ. ε αξρηθή αξρηηεθηνληθή i386 θαη ε αξρηηεθηνληθή ARM) δελ ππνζηεξίδνπλ θαλ εληνιέο θηλεηήο ππνδηαζηνιήο ζην πιηθό, αιιά απηέο αλαιακβάλνληαη από βηβιηνζήθεο πνπ ηηο πινπνηνύλ κέζσ πξάμεσλ αθεξαίσλ, νη νπνίεο δε ζπκπεξηιακβάλνληαη ζηνλ ππξήλα. Τπάξρνπλ δύν πηζαλέο ιύζεηο γηα ην πξόβιεκα πνπ δεκηνπξγείηαη: Να πξνσζνύληαη ζην userspace απεπζείαο νη 16-bit πνζόηεηεο, ρσξίο θακία κεηαβνιή. Να ζεσξείηαη επζύλε ηνπ πξνγξάκκαηνο ρξήζηε ε κεηαηξνπή ηνπο ζε ηηκέο αλαγλώζηκεο από ην ρξήζηε. Σν πξόγξακκα είλαη ειεύζεξν λα ρξεζηκνπνηήζεη ρσξίο πεξηνξηζκό ππνινγηζκνύο θηλεηήο ππνδηαζηνιήο. Δθόζνλ κε 16 bits θσδηθνπνηνύληαη ην πνιύ θαηαζηάζεηο, κπνξεί ε απεηθόληζε ησλ ηηκώλ απηώλ ζε αλαγλώζηκεο ηηκέο λα ππνινγηζηεί εθ ησλ πξνηέξσλ ζε πίλαθεο αλαδήηεζεο (lookup tables). Μηα δεθαδηθή ηηκή ζηαζεξήο αθξίβεηαο, ηεο κνξθήο ±xx.yyy κπνξεί λα απνζεθεύεηαη σο ν αθέξαηνο ±xxyyy, νπόηε ρξεηάδεηαη απιά κηα δηαίξεζε θαη κηα πξάμε ππνινίπνπ γηα ηνλ ππνινγηζκό ηνπ δεθαδηθνύ θαη ηνπ αθέξαηνπ κέξνπο ηεο. αο δίλεηαη θώδηθαο πνπ πινπνηεί ηε δεύηεξε ιύζε. Σν αξρείν mk_lookup_tables.c πεξηέρεη ηηο θαηάιιειεο ζπλαξηήζεηο ώζηε λα ππνινγίζεη ηηο απεηθνλίζεηο όινπ ηνπ εύξνπο κε πξνζεκαζκέλσλ ηηκώλ από 0x0000 έσο 0xFFFF θαη γηα ηξία κεηξνύκελα κεγέζε. Σν απνηέιεζκα απνζεθεύεηαη ζε ηξεηο πίλαθεο αλαδήηεζεο, ζην αξρείν lunix-lookup.h. 7. Εεηήκαηα πινπνίεζεο ην θεθάιαην απηό παξνπζηάδνληαη νξηζκέλα ηερληθά δεηήκαηα πνπ πξνθύπηνπλ θαηά ηνλ πξνγξακκαηηζκό ζε ρώξν ππξήλα. Δπεηδή απηά εκθαλίδνληαη πνιύ ζπρλά θαη αθνξνύλ ην ζύλνιν ζρεδόλ ησλ νδεγώλ ζπζθεπώλ, ν ππξήλαο πξνζθέξεη

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux Εργαστήριο Λειτουργικών

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

Οδηγός Ασύρματου ικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

Οδηγός Ασύρματου ικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Οδηγός Ασύρματου ικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux Εργαστήριο Λειτουργικών

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

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Οδηγός Ασύρματου Δικτύου Αισθητήρων

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

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Οδηγός Ασύρματου Δικτύου Αισθητήρων

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

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

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

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

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

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

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

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

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

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

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

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

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

Constructors and Destructors in C++

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

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

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

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

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

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

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

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

Οδηγός Ασύρµατου ικτύου Αισθητήρων στο Λειτουργικό Σύστηµα Linux

Οδηγός Ασύρµατου ικτύου Αισθητήρων στο Λειτουργικό Σύστηµα Linux ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Οδηγός Ασύρµατου ικτύου Αισθητήρων

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

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

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

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

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

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

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

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux

Οδηγός Ασύρματου Δικτύου Αισθητήρων στο Λειτουργικό Σύστημα Linux ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Οδηγός Ασύρματου Δικτύου Αισθητήρων

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

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

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

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

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )

Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H ) Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX

ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows

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

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.

Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε. ΑΝΟΙΓΜΑ ΝΔΑ ΥΡΗΗ 1. Γεκηνπξγείηε ηε λέα ρξήζε από ηελ επηινγή «Παξάκεηξνη/Παξάκεηξνη Δηαηξίαο/Γηαρείξηζε Δηαηξηώλ». Πιεθηξνινγείηε ηνλ θσδηθό ηεο εηαηξίαο ζαο θαη παηάηε Enter. Σηελ έλδεημε «Υξήζεηο» παηάηε

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

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

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

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

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

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

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

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη

5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη 5 η Δργαζηηριακή Άζκηζη Κσκλώμαηα Γσαδικού Αθροιζηή/Αθαιρέηη Σηα πιαίζηα ηεο πέκπηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

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

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

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

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

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

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

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

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

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

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

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)

Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο

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

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

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

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

Άσκηση 1 - Μοπυοποίηση Κειμένου

Άσκηση 1 - Μοπυοποίηση Κειμένου Άσκηση 1 - Μοπυοποίηση Κειμένου Σηηο παξαθάησ γξακκέο εθαξκόζηε ηε κνξθνπνίεζε πνπ πεξηγξάθνπλ Γξακκή κε έληνλε γξαθή Γξακκή κε πιάγηα γξαθή Γξακκή κε ππνγξακκηζκέλε γξαθή Γξακκή κε Arial Font κεγέζνπο

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

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

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

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

Πνηα λνκίδεηο όηη ζα είλαη ε ζπλνιηθή αληίζηαζε κηαο ζπλδεζκνινγίαο δύν αληηζηαηώλ ζπλδεδεκέλεο ζε ζεηξά; Γηαηί;...

Πνηα λνκίδεηο όηη ζα είλαη ε ζπλνιηθή αληίζηαζε κηαο ζπλδεζκνινγίαο δύν αληηζηαηώλ ζπλδεδεκέλεο ζε ζεηξά; Γηαηί;... ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ: Ιζοδύναμη ανηίζηαζη ζύνδεζηρ ανηιζηαηών Η δηδαζθαιία ηεο ηζνδύλακεο αληίζηαζεο γηα ζύλδεζε αληηζηαηώλ ζε ζεηξά θαη παξάιιεια ππάξρεη ζην Αλαιπηηθό Πξόγξακκα Σπνπδώλ ζηα καζήκαηα Φπζηθήο

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

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)

Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα

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

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα

Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex

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

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

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

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

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

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

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

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

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

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

CT_back office. Internet Business Hellas

CT_back office. Internet Business Hellas CT_back office Internet Business Hellas To CT_call center, είλαη έλα πξωηνπνξηαθό πξνϊόλ δηαρείξηζεο θαη νξγάλωζεο επαθώλ πειαηνινγίνπ. έρεη αλαπηπρζεί από ηελ εηαηξεία καο ζην ζύλνιό ηνπ, είλαη πιήξωο

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

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

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

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

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

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

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

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

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

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

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α

Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano) ΘΔΜΑ Α Γ ΣΑΞΖ ΔΝΗΑΗΟΤ ΛΤΚΔΗΟΤ ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΘΔΣΗΚΩΝ ΚΑΗ ΟΗΚΟΝΟΜΗΚΩΝ ΠΟΤΓΩΝ ΤΝΑΡΣΖΔΗ ΟΡΗΑ ΤΝΔΥΔΗΑ (έως Θ.Bolzano). Να δηαηππώζεηε ην Θ.Bolzano. 5 ΘΔΜΑ Α μονάδες A. Να απνδείμεηε όηη γηα θάζε πνιπωλπκηθή

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

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD

Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Οδηγίες τρήζης για λειηοσργία μεηαθοράς καναλιών ζε υηθιακό δέκηη OST-7060 HD Γηα ηε δηεπθόιπλζή ζαο θαηά ην switch-off ηεο πεξηνρήο ηεο Πεινπνλλήζνπ έρνπκε πξνζζέζεη ζηνπο ςεθηαθνύο καο δέθηεο κία λέα,

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

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

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

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

Εισαγωγή στοςρ κβαντικούρ ςπολογιστέρ και αλγόπιθμοςρ. Γηδάζθωλ : Φνπληνπιάθεο Αληώληνο

Εισαγωγή στοςρ κβαντικούρ ςπολογιστέρ και αλγόπιθμοςρ. Γηδάζθωλ : Φνπληνπιάθεο Αληώληνο Εισαγωγή στοςρ κβαντικούρ ςπολογιστέρ και αλγόπιθμοςρ. Γηδάζθωλ : Φνπληνπιάθεο Αληώληνο Θεματικές Ενότητες 1. Απιέο έλλνηεο θβαληηθήο κεραληθήο θαη ην ζύζηεκα δύν θβαληηθώλ θαηαζηάζεωλ. 2. Qubit θαη θβαληηθόο

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

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

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

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

Σχεδίαση Γλωσσών & Μεταγλωττιστζς

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

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

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

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

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

ΠΛΗ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. Η κόλε πεξίπησζε λα έρνπκε ζύγθξνπζε κεηαμύ παθέησλ ησλ δύν θόκβσλ είλαη λα ζηείιεη ν δεύηεξνο πξηλ πξνιάβεη λα πιεξνθνξεζεί γηα ηελ θαηάιεςε ηνπ δηάπινπ από ηνλ άιιν. Από ηε ζηηγκή πνπ

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

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 γηα ηελ νπνία ηζρύνπλ:

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

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο

4) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα θύθινο πνπ ζα ζρεδηάδεη έλα θύθιν. Λύζε Γηα θύθινο ζηθ επαλάιαβε 360 [κπ 1 δε 1] ηέινο Λσμένες αζκήζεις ζηη Logo Στεδίαζη ζτημάηων με ηη τελώνα 1) Να γξάςεηε δηαδηθαζία (πξόγξακκα) ζηε Logo κε όλνκα ηεηξάγσλν πνπ ζα ζρεδηάδεη έλα ηεηξάγσλν κε πιεπξά 120. Γηα ηεηξάγσλν επαλάιαβε 4 [κπ 120

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

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 ΑΚΖΔΗ ΤΜΝΑΗΟΤ - ΚΤΚΛΟ ΠΡΩΣΟ - - ηα πνηεο ηηκέο ηνπ ηα παξαθάησ θιάζκαηα δελ νξίδνληαη ; (Τπόδεημε : έλα θιάζκα νξίδεηαη αλ ν παξνλνκαζηήο είλαη δηάθνξνο ηνπ κεδελόο) - (-) - (-) - Να απινπνηεζνύλ ηα θιάζκαηα

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

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress.

Αιγόξηζκνη Δνκή επηινγήο. Απιή Επηινγή ύλζεηε Επηινγή. Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ. introcsprinciples.wordpress. Αιγόξηζκνη 2.2.7.3 Δνκή επηινγήο Απιή Επηινγή ύλζεηε Επηινγή Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Τ 1 Επηινγή ηελ πξάμε πνιύ ιίγα πξνβιήκαηα κπνξνύλ λα επηιπζνύλ κε ηνλ πξνεγνύκελν ηξόπν ηεο ζεηξηαθήο/αθνινπζηαθήο

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

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

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

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

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

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

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

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

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

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

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

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

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

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο

ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε. Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο ΟΣΑ Επηρεηξεζηαθή Ννεκνζύλε Ελόηεηα: Ad1.2.2 «Ση θξύβεηαη» πίζω από κηα Επηρεηξεζηαθή Αλαθνξά (report): XML & XSD γηα αξράξηνπο Πξαθηηθή Άζθεζε (επίπεδν 2): ηόρνο ηεο άζθεζεο είλαη ε πεξαηηέξω εμνηθείωζε

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΕΛΛΗΝΙΚΟ ΑΝΟΙΚΤΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΣΠΟΥΔΕΣ ΣΤΙΣ ΦΥΣΙΚΕΣ ΕΠΙΣΤΗΜΕΣ ΓΕΝΙΚΑ ΜΑΘΗΜΑΤΙΚΑ ΙΙ - ΦΥΕ 0 7 Ινπλίνπ 009 Απαντήσειρ στιρ ασκήσειρ τηρ τελικήρ εξέτασηρ στιρ Σςνήθειρ Διαυοπικέρ Εξισώσειρ Αγαπηηέ θοιηηηή/ηπια,

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

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

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

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

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

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

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

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων

Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων Image J Plugin particle tracker για παρακολούθηση της κίνησης σωματιδίων (https://weeman.inf.ethz.ch/particletracker/) Τν Plugin particle tracker κπνξεί λα αληρλεύζεη απηόκαηα ηα ζσκαηίδηα πνπ θηλνύληαη,

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

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ

Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com Ώρες διδασκαλίας: 16:00 19:15 μμ ΠΑΙΓΑΓΩΓΙΚΟ ΙΝΣΙΣΟΤΣΟ ΚΤΠΡΟΤ Πξόγξακκα Δπηκόξθσζεο Τπνςεθίσλ Καζεγεηώλ Σερλνινγίαο Γελάξεο 2011 ΗΛΔΚΣΡΟΝΙΚΑ Ι (Ύιε Γπκλαζίνπ) Διδάσκων: Σαββίδης Σάββας Τηλζφωνο: 99543321 Ε-mail: savvas_email@yahoo.com

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

ΔΦΑΡΜΟΜΔΝΑ ΜΑΘΗΜΑΣΙΚΑ ΣΗ ΧΗΜΔΙΑ Ι ΘΔΜΑΣΑ Α επηέκβξηνο 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

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

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

ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις) ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα Ηουνίου 08 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α Α. Απόδεημε ζεωξήκαηνο ζει. 99 ζρνιηθνύ βηβιίνπ. Α. α.

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

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014

ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/2014 ΔΙΑΓΩΝΙΣΜΑ ΕΚΠ. ΕΤΟΥΣ 204-205 ΜΑΘΗΜΑ / ΤΑΞΗ : ΗΛΕΚΤΡΟΛΟΓΙΑ/Γ ΛΥΚΕΙΟΥ ΣΕΙΡΑ: ΗΜΕΡΟΜΗΝΙΑ: 08/09/204 A ΟΜΑΓΑ Οδηγία: Να γράυεηε ζηο ηεηράδιο ζας ηον αριθμό κάθε μιας από ηις παρακάηφ ερφηήζεις Α.-Α.8 και

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

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.

Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα. Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Φαθόο κε ζσιήλα Γηαθξάγκαηα Δξγαιεία Καηαζθεπέο 2 Η θαηαζθεπή πεξηγξάθεηαη ζηελ αληίζηνηρε ελόηεηα

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

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

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

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

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ

(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ (ΟΜΑΓΑ Β ) ΣΔΣΑΡΣΖ 18 ΜΑΪΟΤ 16 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (ΝΔΟ ΤΣΖΜΑ) ΚΑΣΔΤΘΤΝΖ (ΠΑΛΑΗΟ ΤΣΖΜΑ) (Ενδεικηικές Απανηήζεις) ΘΔΜΑ

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

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

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

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

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε

Κβαντικοί Υπολογισμοί. Πέκπηε Γηάιεμε Κβαντικοί Υπολογισμοί Πέκπηε Γηάιεμε Kπθισκαηηθό Mνληέιν Έλαο θιαζηθόο ππνινγηζηήο απνηειείηαη από αγσγνύο θαη ινγηθέο πύιεο πνπ απνηεινύλ ηνπο επεμεξγαζηέο. Σηνπο θβαληηθνύο ε πιεξνθνξία βξίζθεηαη κέζα

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

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

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

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

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)

f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x) ΓΙΑΓΩΝΙΣΜΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ 54 Υλη: Παράγωγοι Γ Λσκείοσ Ον/μο:.. 6--4 Θεη-Τετν. ΘΔΜΑ Α.. Αλ f, g, h ηξεηο παξαγωγίζηκεο ζπλαξηήζεηο ζην λα απνδείμεηε όηη : f () g() h() ' f '()g()h() g'()f ()h() h'() f ()g()

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

Οργάνωση και Δομή Παρουσιάσεων

Οργάνωση και Δομή Παρουσιάσεων Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα

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

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ

6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ 6 η Εργαζηηριακή Άζκηζη Επαλήθεσζη Λειηοσργίας Βαζικών Φλιπ-Φλοπ Σηα πιαίζηα ηεο έθηεο εξγαζηεξηαθήο άζθεζεο ζα ρξεζηκνπνηεζεί απνθιεηζηηθά ην πεξηβάιινλ αλάπηπμεο νινθιεξσκέλσλ θπθισκάησλ IDL-800 Digital

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

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

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

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

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013

ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 27 ΜΑΪΟΥ 2013 ΔΝΓΔΙΚΤΙΚΔΣ ΛΥΣΔΙΣ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ ΚΑΤΔΥΘΥΝΣΗΣ Γ ΛΥΚΔΙΟΥ ΓΔΥΤΔΡΑ 7 ΜΑΪΟΥ 13 ΘΔΜΑ Α : (Α1) Σρνιηθό βηβιίν ζειίδα 33-335 (Α) Σρνιηθό βηβιίν ζειίδα 6 (Α3) Σρνιηθό βηβιίν ζειίδα (Α) α) Λάζνο β) Σωζηό γ) Σωζηό

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

Αντισταθμιστική ανάλυση

Αντισταθμιστική ανάλυση Θεσξήζηε έλαλ αιγόξηζκν Α πνπ ρξεζηκνπνηεί κηα δνκή δεδνκέλσλ Γ : Καηά ηε δηάξθεηα εθηέιεζεο ηνπ Α ε Γ πξαγκαηνπνηεί κία αθνινπζία από πξάμεηο. Παξάδεηγκα: Θπκεζείηε ην πξόβιεκα ηεο εύξεζεο-έλσζεο Δίρακε

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

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

ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ Η ζεκεξηλή ξαγδαία εμέιημε ηεο ηερλνινγίαο ηεο κηθξνειεθηξνληθήο επέηξεςε ηελ θαηαζθεπή εηδηθώλ νινθιεξσκέλσλ θπθισκάησλ απνζήθεπζεο δεδνκέλσλ θαη πιεξνθνξηώλ θαηαιακβάλνπλ

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

CytaInfo+ έλα application γηα ηε Cyta.

CytaInfo+ έλα application γηα ηε Cyta. CytaInfo+ έλα application γηα ηε Cyta. 1 Απηή είλαη ε όςε ηνπ CytaInfo+ 2 3 Δπηιέγνληαο ην εηθνλίδην Find us κπνξείηε λα βξείηε ηα πην θνληηλά ζαο Cytashop, κε βάζε ηελ απόζηαζε ή αλά επαξρία. ηελ ζπλέρεηα

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

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

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

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

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

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

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

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

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

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

ΑΡΥΔ ΟΙΚΟΝΟΜΙΚΗ ΘΔΩΡΙΑ ΛΤΔΙ ΓΙΑΓΩΝΙΜΑΣΟ ΚΔΦΑΛΑΙΟΤ 2

ΑΡΥΔ ΟΙΚΟΝΟΜΙΚΗ ΘΔΩΡΙΑ ΛΤΔΙ ΓΙΑΓΩΝΙΜΑΣΟ ΚΔΦΑΛΑΙΟΤ 2 ΑΥΔ ΟΙΚΟΝΟΜΙΚΗ ΘΔΩΙΑ ΛΤΔΙ ΙΑΩΝΙΜΑΣΟ ΚΔΦΑΛΑΙΟΤ 2 1: Λάζος (είλαη ηζνζθειήο ππεξβνιή) Α2: Λάζος (ην ζεηηθό πξόζεκν ζεκαίλεη όηη ε Πνζνζηηαία Μεηαβνιή Δηζνδήκαηνο θαη ε Πνζνζηηαία Μεηαβνιή Πνζόηεηαο ήηαλ

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

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis

Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training Dipl.Biol.cand.med. Stylianos Kalaitzis Stylianos Kalaitzis Μνλνϋβξηδηζκνο 1 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα

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

ΔΠΙΣΡΟΠΗ ΓΙΑΓΩΝΙΜΩΝ 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

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