Real Time Systems

156

description

REAL TIME SYSTEMS

Transcript of Real Time Systems

Page 1: Real Time Systems
Page 2: Real Time Systems

Οη φξνη On-line θαη Real-time ζπλαληψληαη ζε πνιιέο ξήζεηο ή

γξαπηά, αλζξψπσλ πνχ αζρνινχληαη κε ηνλ απηφκαην έιεγρν θαη ηελ πιεξνθνξηθή.

πρλά φκσο ζπγρένληαη ή ρξεζηκνπνηνχληαη ιαλζαζκέλα.

Page 3: Real Time Systems

Ο φξνο On-line ππνδειψλεη ζςνεσή ζύνδεζη δύο«ανηικειμένυν» (κεραλψλ, ππνινγηζηψλ, ε άιισλ ζπζθεπψλ,ε ζπλδπαζκφ κεηαμχ ηνπο), ε νπνία επηηξέπεη ηε δηαξθή θαηαδηάιεηπηε αληαιιαγή ζεκάησλ ή πιεξνθνξηψλ κεηαμχ ησλζπλδεδεκέλσλ κεξψλ.

Παξαδείγκαηα ηέηνηαο ζχλδεζεο είλαη ηα δίθηπα ππνινγηζηψλ ήαπηφκαησλ κεραλψλ ησλ ηξαπεδψλ, ηα δίθηπα ππνινγηζηψλ κηαοεπηρείξεζεο, ηα δίθηπα ησλ PLC’s ηα νπνία ειέγρνπλ ηηοπαξαγσγηθέο ή άιιεο δηαδηθαζίεο κίαο βηνκεραλίαο.

Page 4: Real Time Systems

Ο φξνο Real-time αλαθέξεηαη ίζσο γηα πξψηε θνξά, ην 1949 ζεέλα έξγν ηεο IBM γηα ην Ναπηηθφ ησλ Η.Π.Α. (Whirlwind project)ή ιίγν αξγφηεξα ζηηο αξρέο ηνχ 1950, ζέ έλα ακπληηθφ ζχζηεκαγηα ηελ αεξνπνξία ησλ Η.Π.Α. (Semiautomatic GroundEnviroment - SAGE).

Real-time system είλαη έλα ζχζηεκα (εμνπιηζκφο θαηινγηζκηθφ), ην νπνίν εθηειεί ηηο δξαζηεξηφηεηεο πνπ ηνπαλαηίζεληαη (ζρεδφλ πάληνηε πεξηζζφηεξεο απφ κία - multi-tasking) κέζα ζε ζπγθεθξηκέλα ρξνληθά πεξηζψξηα. Παξεκθεξήοείλαη ν φξνο Critical-time system (ζχζηεκα θξίζηκνπ ρξφλνπ).

Page 5: Real Time Systems

Ο ρξνληζκφο είλαη γεγνλφο ζεκειηψδνπο ζεκαζίαο ζε έλα ζχζηεκαπξαγκαηηθνχ - θξίζηκνπ ρξφλνπ. Η παξαβίαζε ησλ ρξνληθψλπεξηνξηζκψλ ζε έλα ζχζηεκα πξαγκαηηθνχ ρξφλνπ, ζπλεπάγεηαηαπνηειέζκαηα αλάινγα πξνο ην είδνο ηεο εθαξκνγήο.

Page 6: Real Time Systems

Έλα ιεηηνπξγηθφ ζχζηεκα απνθαιείηαη ππαγμαηικού ή κπίζιμοςσπόνος (Real-time Operating System - RTOS), φηαλ ε νξζφηεηάηνπ (ζηελ ιεηηνπξγία ηνπ) δελ εμαξηάηαη κφλνλ απφ ηα ινγηθάαπνηειέζκαηα ησλ ππνινγηζκψλ πνχ εθηειεί, αιιά θαη απφ ηελρξνληθή ζηηγκή θαηά ηελ νπνία ηα απνηειέζκαηα απηά είλαηδηαζέζηκα.

Σα δεκνθηιή ιεηηνπξγηθά ζπζηήκαηα MS-DOS, Windows 95/98/Me/XP, Windows NT / 2000/2003 , OS-2, UNIX, δελ είλαη ιεηηνπξγηθά ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ, ή αλ κέ θάπνην ηξφπν απνθηήζνπλ κεξηθέο επηπιένλ ηδηφηεηεο πξνο ηελ θαηεχζπλζε απηή, ζεσξνχληαη σο Soft Real-time ιεηηνπξγηθά ζπζηήκαηα.

Page 7: Real Time Systems

Ελ αληηζέζεη κε ηα πξναλαθεξζέληα, άιια ιεηηνπξγηθά ζπζηήκαηα, ιηγφηεξν δεκνθηιή (ζηελ Ειιάδα) νξίδνληαη ιφγσ ησλ δηαθνξεηηθψλ ηνπο ηδηνηήησλ, σο Hard Real-time ιεηηνπξγηθά ζπζηήκαηα. Σέηνηα ζπζηήκαηα είλαη ηα: OS-9 (θακία ζρέζε κέ ην OS-2), VRTX, VXWorks, pSOS, QNX, LynxOS, MTOS, θ.α.

Page 8: Real Time Systems

Ο φξνο Real-time ρξεζηκνπνηείηαη φρη γηα λα δειψζεη ηελαδηάιεηπηε, ή δηαξθή ζχλδεζε θάπνησλ ζπζηεκάησλ ή κεραλψλ,απηφ άιισζηε είλαη δελ είλαη θαη αλαγθαίν, αιιά γηα λα δειψζεηηνλ ηξφπν ζχλδεζεο ηνπο θαη ηεο κεηαμχ ηνπο επηθνηλσλίαο. Ηεπηθνηλσλία απηή κπνξεί λα γίλεηαη ζε αξαηά, ή ππθλά ρξνληθάδηαζηήκαηα. Η κηθξή ή κεγάιε ζπρλφηεηα ηεο επηθνηλσλίαο,ζρεηίδεηαη πεξηζζφηεξν πξνο ηελ ηαρχηεηα ησλ επεμεξγαζηψλ(processors), ή ησλ ειεγθηψλ (controlers) πνχ ειέγρνπλ ηηοεπηθνηλσλίεο απηέο.

Η αθξίβεηα φκσο ζηελ ηήξεζε ησλ ρξνληθψλ πεξηνξηζκψλ είλαηαπνηέιεζκα ηδηαίηεξνπ πξνγξακκαηηζκνχ ησλ επεμεξγαζηψλ, ήησλ ειεγθηψλ ηνπο, ή, θπξίσο, απνηέιεζκα ηνπ ιεηηνπξγηθνχζπζηήκαηνο πνπ ειέγρεη ηα ζπζηήκαηα απηά.

Page 9: Real Time Systems

Real-time ζεκαίλεη αθξίβεηα, ρξνληζκφ, ζηε ζπλάληεζε. ηα soft real-time ζπζηήκαηα, ν ρξφλνο απηφο κπνξεί λα είλαη ιεπηά, ψξεο ή κέξεο.

Αληηζέησο, ζηα hard real-time systems, νη απαηηήζεηο είλαη εληειψο δηαθνξεηηθέο θαη νη ρξνληθνί πεξηνξηζκνί πξέπεη λα ηεξνχληαη κέ πνιχ κεγάιε έσο εμαηξεηηθή αθξίβεηα, άιισο ην ζχζηεκα ζα έρεη πξνβιήκαηα αλάινγα κε ηε ζπνπδαηφηεηα ηνπ.

Page 10: Real Time Systems

Είλαη επλφεην φηη ηα Real-time ιεηηνπξγηθά ζπζηήκαηα ζεσξνχληαησο ηα κφλα ζπζηήκαηα πνπ κπνξνχλ λα αληηκεησπίζνπλ κε απφιπηεεπηηπρία ζε αληηπαξαβνιή κέ ηα θνηλά ιεηηνπξγηθά ζπζηήκαηα πιελησλ άιισλ εθαξκνγψλ θαη εθαξκνγέο πνιπκέζσλ (Mulitmedia),ιφγσ ηνχ πξνβιήκαηνο ρξνληζκνχ εηθφλαο θαη ήρνπ, πνπ ππάξρεηζηηο εθαξκνγέο απηέο.

Page 11: Real Time Systems

Απφ ηα παξαπάλσ εχθνια ζπκπεξαίλεη θαλείο φηη έλα Real-timesystem κπνξεί λα ζεκαίλεη θαη ηελ on-line ζχλδεζε δηαθνξεηηθψλζπζθεπψλ ηνπ ζπζηήκαηνο κεηαμχ ηνπο, ελψ αληηζέησο ε on-lineζχλδεζε ηέηνησλ ζπζθεπψλ δελ ζπλεπάγεηαη φηη ην ζχζηεκα είλαηreal-time (ζχζηεκα πξαγκαηηθνχ ή θξίζηκνπ ρξφλνπ).

Page 12: Real Time Systems

Έλα ενζυμαηυμένο ζύζηημα (embedded system), είλαη έλαππνινγηζηηθφ ζχζηεκα εηδηθνχ ζθνπνχ, πνπ είλαη πνιιέο θνξέοελζσκαησκέλν κέζα ζηελ ζπζθεπή πνπ ειέγρεη. Έλαελζσκαησκέλν ζχζηεκα έρεη εηδηθέο απαηηήζεηο θαη εθηειείπξνθαζνξηζκέλεο ιεηηνπξγίεο, ζε αληίζεζε κε έλαλ γεληθνχ ζθνπνχπξνζσπηθφ ππνινγηζηή.

Page 13: Real Time Systems

Μεξηθέο απφ ηηο ζπζθεπέο ζηηο νπνίεο ρξεζηκνπνηνχληαηελζσκαησκέλα ζπζηήκαηα είλαη:

πζθεπέο απηφκαηεο ζπλαιιαγήο (ATMs)

Κηλεηά ηειέθσλα θαη ηειεθσληθνί κεηαγσγείο

Κηλεηά ηειέθσλα κε επηπιένλ δπλαηφηεηεο, πξνζσπηθνχοςεθηαθνχο νδεγνχο (PDAs) ππνζηήξημε Java

ΣΥΝΕΧΕΙΑ

Page 14: Real Time Systems

Εμνπιηζκφο δηθηχσλ ππνινγηζηψλ, φπσο δξνκνινγεηέο, timeservers θαη ηείρε πξνζηαζίαο

Εθηππσηέο ππνινγηζηψλ

Πνιπιεηηνπξγηθνί εθηππσηέο (MFPs)

Αληηγξαθηθά

Οδεγνί δίζθσλ (δηζθέηεο θαη ζθιεξνί δίζθνη)

ΣΥΝΕΧΕΙΑ

Page 15: Real Time Systems

Ειεγθηέο κεραλψλ θαη ειεγθηέο θαηά ηνπ κπινθαξίζκαηνο ησληξνρψλ γηα ηα θξέλα ησλ απηνθηλήησλ

Πξντφληα απηνκαηηζκνχ γηα ην ζπίηη, φπσο ζεξκνζηάηεο,θιηκαηηζηηθά, ςεθαζηήξεο θαη ζπζηήκαηα αζθαιείαο

Οηθηαθέο ζπζθεπέο, φπσο θνχξλνη κηθξνθπκάησλ, πιπληήξηα,ζχλζεηα ηειεφξαζεο θαη κεραλέο παημίκαηνο / εγγξαθήοςεθηαθψλ δίζθσλ

πζηήκαηα αδξαλεηαθήο θαζνδήγεζεο, πιηθφ / ινγηζκηθφειέγρνπ πηήζεο θαη άιια νινθιεξσκέλα ζπζηήκαηα ζηελαεξνπινΐα θαη ηελ ππξαπιηθή ηερλνινγία

ΣΥΝΕΧΕΙΑ

Page 16: Real Time Systems

Ιαηξηθφο εμνπιηζκφο

Εμνπιηζκφο κεηξήζεσλ, φπσο παικνγξάθνη, αλαιπηέοθπθισκάησλ θαη αλαιπηέο θάζκαηνο

Τπνινγηζηέο ηζέπεο

Πνιπιεηηνπξγηθά ξνιφγηα ρεηξφο

ηαζεξέο θαη θνξεηέο παηρληδνκεραλέο

ΣΥΝΕΧΕΙΑ

Page 17: Real Time Systems

Πξνζσπηθνί ςεθηαθνί νδεγνί (PDAs)

Πξνγξακκαηηδφκελνη ειεγθηέο (PLCs) γηα βηνκεραληθφαπηνκαηηζκφ θαη παξαθνινχζεζε

Page 18: Real Time Systems

Σα ελζσκαησκέλα ζπζηήκαηα ζπλήζσο ζρεδηάδνληαη ψζηε λαεθηεινχλ επηιεγκέλεο ιεηηνπξγίεο κε ρακειφ θφζηνο. Σν ζχζηεκακπνξεί λα ρξεηαζηεί λα είλαη πνιχ γξήγνξν γηα θάπνηεοιεηηνπξγίεο, αιιά γηα ηηο πεξηζζφηεξεο απφ ηηο ππφινηπεοπηζαλφηαηα θάηη ηέηνην δελ ζα ρξεηάδεηαη.

Με απηφ ην ζθεπηηθφ, πνιιά κέξε ελφο ελζσκαησκέλνπζπζηήκαηνο ζα έρνπλ κεησκέλε απφδνζε. Όιε ε αξρηηεθηνληθήελφο ελζσκαησκέλνπ ζπζηήκαηνο είλαη ζπρλά ζθφπηκααπινπζηεπκέλε, κε ζηφρν ην κηθξφηεξν θφζηνο, ζε ζρέζε κε ηνπιηθφ ησλ ππνινγηζηψλ γεληθνχ ζθνπνχ.

ΣΥΝΕΧΕΙΑ

Page 19: Real Time Systems

Γηα παξάδεηγκα, ηα ελζσκαησκέλα ζπζηήκαηα ρξεζηκνπνηνχλζπρλά πεξηθεξεηαθά πνπ ειέγρνληαη απφ ζεηξηαθέο δηεπαθέο, νηνπνίεο είλαη δεθάδεο έσο εθαηνληάδεο θνξέο πην αξγέο ζεζχγθξηζε κε ηα πεξηθεξεηαθά πνπ ρξεζηκνπνηνχληαη ζηνποπξνζσπηθνχο ππνινγηζηέο.

Εθφζνλ πνιιά ελζσκαησκέλα ζπζηήκαηα παξάγνληαη καδηθάθαηά εθαηνκκχξηα, ε κείσζε ηνπ θφζηνπο είλαη έλα θπξίαξρνδήηεκα. Μεξηθά ελζσκαησκέλα ζπζηήκαηα δελ απαηηνχλ κεγάιεππνινγηζηηθή ηζρχ ή πφξνπο θαη απηφ επηηξέπεη ηελειαρηζηνπνίεζε ηνπ θφζηνπο παξαγσγήο ρξεζηκνπνηψληαο έλαλ,ζρεηηθά, αξγφ επεμεξγαζηή θαη κηθξφ κέγεζνο κλήκεο.

Page 20: Real Time Systems

Με ηνλ φξν firmware, ελλννχκε ην ινγηζκηθφ πνπ είλαηελζσκαησκέλν ζε κία ζπζθεπή, γηα παξάδεηγκα ζε κηα κλήκεROM ή Flash. Σα πξνγξάκκαηα ζε έλα ελζσκαησκέλν ζχζηεκαζπρλά εθηεινχληαη κε πεξηνξηζκνχο πξαγκαηηθνχ ρξφλνπ θαη κεπεξηνξηζκέλνπο πφξνπο πιηθνχ, φπσο ρσξίο ζθιεξφ δίζθν,ιεηηνπξγηθφ ζχζηεκα, πιεθηξνιφγην ή νζφλε.

Σν πξφγξακκα κπνξεί λα κελ δηαζέηεη θαλέλα ζχζηεκα αξρείσλ.Αλ ππνζηεξίδεη κία δηεπαθή ρξήζηε, απηή κπνξεί λα απνηειείηαηαπφ έλα πιεθηξνιφγην θαη κία νζφλε πγξψλ θξπζηάιισλ.

Page 21: Real Time Systems

Σα ελζσκαησκέλα ζπζηήκαηα ηνπνζεηνχληαη ζε κεραλήκαηαπνπ αλακέλεηαη λα ιεηηνπξγνχλ δηαξθψο θαη γηα ρσξίο ζθάικαηα.Με βάζε ηα παξαπάλσ ην firmware αλαπηχζζεηαη θαη δνθηκάδεηαηκε κεγαιχηεξε πξνζνρή απφ φηη ην ινγηζκηθφ ησλ πξνζσπηθψλππνινγηζηψλ.

Σα πεξηζζφηεξα ελζσκαησκέλα ζπζηήκαηα δελ ρξεζηκνπνηνχλκεραληθά κέξε, φπσο νδεγνχο δίζθσλ, δηαθφπηεο ή θνπκπηά,θαζφηη απηά είλαη αλαμηφπηζηα ζε ζρέζε κε ηα ζηαζεξά κέξε πνπρξεζηκνπνηνχλ ηξαλδίζηνξ, φπσο κηα κλήκε flash.

Page 22: Real Time Systems

Πνιιά ελζσκαησκέλα ζπζηήκαηα κπνξεί λα ηνπνζεηνχληαη εθεί φπνπ δελ είλαη δπλαηή ε πξφζβαζε απφ άλζξσπν θαη γηα ην ιφγν απηφ ηα ελζσκαησκέλα ζπζηήκαηα απηά ζα πξέπεη λα έρνπλ ηελ δπλαηφηεηα λα κεδελίδνληαη θαη λα αξρηθνπνηνχληαη αθφκα θαη ζε πεξηπηψζεηο θαηαζηξνθηθψλ δηαθνπψλ ζηελ ιεηηνπξγία ηνπο.

Απηφ ζπλήζσο επηηπγράλεηαη κε έλα πξφηππν ειεθηξνληθφ θνκκάηη πνπ νλνκάδεηαη ρξνλφκεηξν watchdog, ην νπνίν κεδελίδεη ηνλ ππνινγηζηή εάλ ην ινγηζκηθφ δελ κεδελίδεη πεξηνδηθά ην ρξνλφκεηξν.

Page 23: Real Time Systems

Τπάξρνπλ πνιιέο δηαθνξεηηθέο αξρηηεθηνληθέο επεμεξγαζηψλπνπ ρξεζηκνπνηνχληαη ζηα ελζσκαησκέλα ζπζηήκαηα φπσο νηARM, MIPS, Coldfire/68k, PowerPC, X86, PIC, 8051 θ.α.

Απηφ έξρεηαη ζε αληίζεζε κε ηελ αγνξά ησλ πξνζσπηθψλππνινγηζηψλ, φπνπ ν αληαγσληζκφο κεηαμχ δηαθνξεηηθψλαξρηηεθηνληθψλ είλαη πεξηνξηζκέλνο θαη θπξίσο κεηαμχ ησλIntel/AMD x86, θαη ησλ Apple/Motorola/IBM PowerPC γηα ηαMacintosh.

Page 24: Real Time Systems

Μία δηαθνξεηηθή ηερληθή γηα ηα ελζσκαησκέλα ζπζηήκαηα, ε νπνία αθνινπζήζεθε γηα ηηο εθαξκνγέο ηνπ παξφληνο ζπγγξάκκαηνο, είλαη ε δηακφξθσζε ελφο πξνγξακκαηηδφκελνπ νινθιεξσκέλνπ θπθιψκαηνο (FPGA), ψζηε λα πεξηιακβάλεη ηνλ επηζπκεηφ επεμεξγαζηή.

ε απηήλ ηελ πεξίπησζε ν επεμεξγαζηήο πξνκεζεχεηαη ζαλ πλεπκαηηθή ηδηνθηεζία, Intellectual Property (IP).

Page 25: Real Time Systems

Σα ελζσκαησκέλα ζπζηήκαηα ρξεζηκνπνηνχλ είηεκηθξνεπεμεξγαζηέο είηε κηθξνειεγθηέο. Ο ζρεδηαζκφο ηνπινγηζκηθνχ ηνπ ζπζηήκαηνο εμαξηάηαη απφ ηελ πξννξηδφκελερξήζε ηνπ ζπζηήκαηνο, ηηο δπλαηφηεηεο ηνπ πιηθνχ, θαη ηελαλάγθε ή φρη επηθνηλσλίαο κε ηνλ ρξήζηε.

Όπσο γίλεηαη αληηιεπηφ φηαλ ρξεζηκνπνηεζνχλ FPGAs απαηηείηαηκία παξάιιειε ζρεδίαζε ηφζν ηνπ πιηθνχ φζν θαη ηνπ ινγηζκηθνχηνπ ζπζηήκαηνο.

Page 26: Real Time Systems
Page 27: Real Time Systems

χκθσλα κε ην παξαπάλσ ζρήκα, αξρηθά νξίδνληαη ηα ραξαθηεξηζηηθά ηνπ ζπζηήκαηνο πνπ ζα ζρεδηαζηεί, ηα νπνία εμαξηψληαη απφ ηελ εθαξκνγή πνπ ζα πινπνηεί.

ηε ζπλέρεηα νη ζρεδηαζηέο απνθαζίδνπλ πνηα απφ απηά ζα πινπνηνχληαη απφ ην ινγηζκηθφ θαη πνηα απφ ην πιηθφ.

Έηζη, νη ζρεδηαζηέο πιηθνχ θαηαζθεπάδνπλ ηελ αξρηηεθηνληθή πνπ έρεη επηιεγεί ρξεζηκνπνηψληαο θαηάιιεια εξγαιεία πεξηγξαθήο θαη ζχλζεζεο πιηθνχ.

ΣΥΝΕΧΕΙΑ

Page 28: Real Time Systems

Η θαηαζθεπή απηή δελ μεθηλάεη απφ κεδεληθή βάζε, θαζψο ηα εξγαιεία πνπ ρξεζηκνπνηνχληαη δίλνπλ ζηνπο ζρεδηαζηέο ηε δπλαηφηεηα λα ρξεζηκνπνηήζνπλ μαλά ηκήκαηα πιηθνχ πνπ έρνπλ ήδε θαηαζθεπαζηεί θαη ρξεζηκνπνηεζεί ζε άιια ζπζηήκαηα.

Απφ ηελ άιιε κεξηά, νη ζρεδηαζηέο ηνπ ινγηζκηθνχ πινπνηνχλ ηηο εθαξκνγέο ρξεζηκνπνηψληαο ην απαηηνχκελν ιεηηνπξγηθφ ζχζηεκα θαη ηνπο θαηάιιεινπο κεηαγισηηηζηέο (compilers).

Page 29: Real Time Systems

Επίζεο, θαηαζθεπάδνληαη νη νδεγνί (drivers) πνπ είλαηαπαξαίηεηνη γηα ηελ ζσζηή ιεηηνπξγία ησλ πεξηθεξεηαθψλ ηνπζπζηήκαηνο. Μφιηο νινθιεξσζεί ε θαηαζθεπή ηνπ πιηθνχαθνινπζεί ε ελνπνίεζε πιηθνχ-ινγηζκηθνχ θαη ε ηειηθή δνθηκήηνπ ζπζηήκαηνο.

Page 30: Real Time Systems

αλ έλαο ηππηθφο πξνγξακκαηηζηήο ππνινγηζηψλ, ν ζρεδηαζηήο ελζσκαησκέλσλ ζπζηεκάησλ ρξεζηκνπνηεί κεηαγισηηηζηέο (compilers), ζπκβνινκεηαθξαζηέο (assemblers) θαη εθζθαικαησηέο (debuggers) γηα λα αλαπηχμεη έλα ζχζηεκα. Σα εξγαιεία απηά ηνπ ινγηζκηθνχ κπνξεί λα πξνέξρνληαη απφ δηάθνξεο πεγέο:

Εηαηξίεο ινγηζκηθνχ πνπ εηδηθεχνληαη ζηελ αγνξά ησλ ελζσκαησκέλσλ ζπζηεκάησλ

Μεξηθέο θνξέο ηα εξγαιεία αλάπηπμεο γηα πξνζσπηθνχο ππνινγηζηέο κπνξνχλ λα ρξεζηκνπνηεζνχλ αλ ν επεμεξγαζηήο ηνπ ελζσκαησκέλνπ ζπζηήκαηνο είλαη ζπγγελήο κε ηνλ θνηλφ επεμεξγαζηή ελφο πξνζσπηθνχ ππνινγηζηή.

Page 31: Real Time Systems

Γηα ηελ πεξίπησζε πνπ πξνηηκεζεί ε ιχζε ηνπ FPGA αληί ελφο έηνηκνπ επεμεξγαζηή ρξεηάδεηαη έλα εξγαιείν πεξηγξαθήο θαη ζχλζεζεο πιηθνχ γηα ηελ ζπγθεθξηκέλε αλαπηπμηαθή πιαθέηα πνπ πεξηέρεη ην FPGA πνπ ζα δηακνξθσζεί.

Page 32: Real Time Systems

Η εθζθαικάησζε ζπλήζσο εθηειείηαη απφ θάπνηνλ πξνζνκνησηήή θάπνηνλ εθζθαικαησηή πνπ κπνξεί λα δηαθφπηεη εζσηεξηθά ηνλθψδηθα ηνπ κηθξνεπεμεξγαζηή.

Η δηαθνπή ηεο ξνήο ηνπ θψδηθα επηηξέπεη ζηνλ εθζθαικαησηήλα επέκβεη ζην πιηθφ φπνπ κφλν ν επεμεξγαζηήο βξίζθεηαη ζειεηηνπξγία.

Οη ζρεδηαζηέο ζα πξέπεη λα επηκέλνπλ ζηελ εθζθαικάησζε ηεογιψζζαο πςεινχ επηπέδνπ, εηζάγνληαο breakpoints, εθηειψληαοηηο εληνιέο βήκα-βήκα, θαζφηη απηή ε ηαθηηθή είλαη επξέσοαπνδεθηή.

Page 33: Real Time Systems

Καζψο ε πνιππινθφηεηα ησλ ελζσκαησκέλσλ ζπζηεκάησλαπμάλεηαη, εξγαιεία πςεινχ επηπέδνπ θαη ιεηηνπξγηθά ζπζηήκαηαρξεζηκνπνηνχληαη εθεί φπνπ είλαη απαξαίηεηα.

Γηα παξάδεηγκα, ηα θηλεηά ηειέθσλα, ηα PDAs, θαη άιιαππνινγηζηηθά ζπζηήκαηα ζπρλά ρξεηάδνληαη ινγηζκηθφ, ην νπνίνπξνκεζεχνληαη απφ πεγέο δηαθνξεηηθέο απφ απηέο πνπθαηαζθεπάδνπλ ηα ειεθηξνληθά κέξε, θαη ην νπνίν απαηηεί έλααλνηρηφ πξνγξακκαηηζηηθφ πεξηβάιινλ φπσο ην Linux, ην OSGi ήε Java γηα λα ιεηηνπξγήζεη.

ΣΥΝΕΧΕΙΑ

Page 34: Real Time Systems

Σα πεξηβάιινληα απηά ηξέρνπλ θαη ζε πξνζσπηθνχο ππνινγηζηέο, επνκέλσο ην ινγηζκηθφ γηα ηα ζπζηήκαηα κπνξεί λα αλαπηπρζεί ζε έλαλ ηππηθφ πξνζσπηθφ ππνινγηζηή.

Παξφια απηά ε ζχλδεζε ελφο ηέηνηνπ πεξηβάιινληνο κε ηα εηδηθεπκέλα ειεθηξνληθά θαη ε αλάπηπμε ησλ νδεγψλ (drivers) γηα ηηο ζπζθεπέο απηψλ, παξακέλεη ζηελ επζχλε ελφο κεραληθνχ ινγηζκηθνχ ησλ ελζσκαησκέλσλ ζπζηεκάησλ.

Page 35: Real Time Systems

Ωο ζύζηημα ππαγμαηικού σπόνος (Real-Time System)νξίδνπκε ην ζχζηεκα ζην νπνίν ε ηθαλνπνίεζε ησλ ρξνληθψλ ηνπαπαηηήζεσλ είλαη απαξαίηεηε γηα ηελ νξζή ιεηηνπξγία ηνπζπζηήκαηνο.

ε έλα ηέηνην ζχζηεκα ν ρξφλνο είλαη νπζηψδεο θαη ν ζσζηφοππνινγηζκφο πνπ ιακβάλεηαη θαζπζηεξεκέλα ζεσξείηαη ιάζνοππνινγηζκφο.

Page 36: Real Time Systems

Σα ζχγρξνλα ζπζηήκαηα απνθπγήο θιεηδψκαηνο ησλ ηξνρψλθαηά ην θξελάξηζκα ελφο απηνθηλήηνπ (ABS) είλαηελζσκαησκέλα ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ.

Όηαλ ν νδεγφο παηήζεη ην θξέλν ν ειεγθηήο παίξλεη κεηξήζεηοαπφ δηάθνξνπο αηζζεηήξεο (γηα ηελ ηαρχηεηα πεξηζηξνθήο ησληξνρψλ, ηνλ ηχπν ηνπ νδνζηξψκαηνο, ηελ θαηεχζπλζε ηεοθίλεζεο) θαη απμνκεηψλεη αλάινγα ηελ πδξαπιηθή πίεζε ησλθξέλσλ ζηνπο ηξνρνχο ψζηε λα κελ κπινθάξνπλ πξνθαιψληαοηελ νιίζζεζε ηνπ απηνθηλήηνπ.

Σν απνηέιεζκα (θξελάξηζκα) αιιά θαη ν ρξφλνο κέζα ζηνλνπνίν απηφ ζα παξαρζεί είλαη ζεκαληηθά γηα ηελ αζθάιεηα ηνπνδεγνχ θαη ησλ επηβαηψλ. Οπνηαδήπνηε θαζπζηέξεζε ζηελαλάιπζε ησλ απνηειεζκάησλ κπνξεί λα απνβεί κνηξαία.

Page 37: Real Time Systems

χµθσλα µε έλαλ άιιν νξηζµφ, ζπζηήµαηα πξαγµαηηθνχ ρξφλνπνλνµάδνληαη ηα ζπζηήµαηα πνπ πεξηέρνπλ ρξνληθνχοπεξηνξηζµνχο.

Σα ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ πεξηιαµβάλνπλ εξγαζίεο νηνπνίεο πξέπεη λα εθηειεζηνχλ µέζα ζε έλα ζπγθεθξηµέλνρξνληθφ δηάζηεµα. Η µε εθηέιεζε ησλ εξγαζηψλ απηψλ µέζα ζηνπξνβιεπφµελν δηάζηεµα έρεη ζπλέπεηεο νη νπνίεο εμαξηψληαη απφηε θξηζηµφηεηα ηεο εξγαζίαο θαη ην είδνο ηνπ ζπζηήµαηνο.

Page 38: Real Time Systems

Εθαξµνγέο πξαγµαηηθνχ ρξφλνπ (Real-time Applications)είλαη νη εθαξµνγέο πνπ εθηεινχληαη ζηα ζπζηήµαηα πξαγµαηηθνχρξφλνπ.

ηφρνο απηψλ ησλ εθαξµνγψλ είλαη ν πξνγξαµµαηηζµφο ησλεξγαζηψλ ηνπο, έηζη ψζηε φιεο λα εθηεινχληαη µέζα ζηαπξνδηαγεγξαµµέλα γηα απηέο ρξνληθά δηαζηήµαηα.

Γηα ηα ζπζηήµαηα απηά έρεη ζεµαζία φρη µφλν ε νξζφηεηαηνπ απνηειέζµαηνο αιιά θαη ν ρξφλνο µέζα ζηνλ νπνίναπηφ παξάγεηαη. Σν ζχζηεµα ζα πξέπεη λα απνθξίλεηαη ζεζπµβάληα πνπ µπνξεί λα είλαη πεξηνδηθά (έλα ζχζηεµαςεθηαθνχ ειέγρνπ), ή φρη (έλαο ζπλαγεξµφο).

ΣΥΝΕΧΕΙΑ

Page 39: Real Time Systems

Πνιιά ζπζηήµαηα πνπ ζπλαληάµε θαζεµεξηλά, απιά ήπνιχπινθα, µπνξνχλ λα ζεσξεζνχλ ζπζηήµαηα πξαγµαηηθνχρξφλνπ.

πζηήµαηα πξαγµαηηθνχ ρξφλνπ ππάξρνπλ ζηα βηνµεραληθάζπζηήµαηα ειέγρνπ, ζε ηξαπεδηθά ζπζηήµαηα, αεξνπιάλα,ηξαίλα, απηνθίλεηα, αµπληηθά ζπζηήµαηα, ζπζηήµαηαεμππεξέηεζεο πειαηψλ, ηειεπηθνηλσληαθά ζπζηήµαηα θ.α.

ΣΥΝΕΧΕΙΑ

Page 40: Real Time Systems

Έλαο web-server πνπ πξέπεη λα ζηείιεη απφθξηζε ζε έλα αίηεµαµέζα ζε 100 milliseconds απφ ηελ εµθάληζε ηνπ αηηήµαηνοείλαη έλα ζχζηεµα πξαγµαηηθνχ ρξφλνπ.

Επίζεο είλαη µηα βηνµεραληθή δηεξγαζία, πνπ πξέπεη λαεθηειεζηεί µέζα ζε ζπγθεθξηµέλν ρξνληθφ δηάζηεµα έηζηψζηε λα µε ζηαµαηήζεη ε παξαγσγή ηνπ πξντφληνο.

Page 41: Real Time Systems

Σππηθέο ρξήζεηο ζπζηεκάησλ πξαγκαηηθνχ ρξφλνπ βξίζθνπκε :

ηνλ έιεγρν δηεξγαζηψλ

ηελ Παξαζθεπή πξντφλησλ

ηα γεληθεπκέλα ελζσκαησκέλα ζπζηήκαηα

Page 42: Real Time Systems

Σα ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ κπνξεί λα είλαη ελζσκαησκέλαή ανηιδπαζηικά (reactive) δειαδή ζπζηήκαηα ησλ νπνίσλ ερξνλνδξνκνιφγεζε (scheduling) νδεγείηαη απφ αληίδξαζε ζεεηζφδνπο πνπ δίλνληαη απφ ην πεξηβάιινλ ηνπ ζπζηήκαηνο, φπσογηα παξάδεηγκα ην ζχζηεκα θαζνδήγεζεο ελφο γεξαλνχ πνπαληηδξά ζην πάηεκα ησλ αληίζηνηρσλ πιήθηξσλ θαη ζηελ θίλεζεησλ κνριψλ απφ ηνλ ρεηξηζηή ηνπ.

Page 43: Real Time Systems

Real-timecontrol system

ActuatorActuator ActuatorActuator

SensorSensorSensor SensorSensorSensor

Page 44: Real Time Systems

Αξρηθά, ην κεγαιχηεξν κέξνο ησλ εξγαζηψλ πνπ πινπνηνχλ ηαζπζηήκαηα πξαγκαηηθνχ ρξφλνπ αληηκεησπηδφηαλ ζην επίπεδνηνπ hardware. Με ηελ πάξνδν ησλ ρξφλσλ, φκσο, φιν θαηπεξηζζφηεξεο εξγαζίεο πινπνηνχληαη ζε επίπεδν software.

Οη πξψηεο γιψζζεο πξνγξακκαηηζκνχ πνπ ρξεζηκνπνηήζεθαλ ζεηέηνηα ζπζηήκαηα ήηαλ γιψζζεο assembly. Αξγφηεξαρξεζηκνπνηήζεθε επξέσο ε γιψζζα C θαη έπεηηα ε C++.

Page 45: Real Time Systems

Τπήξμε φκσο αλάγθε γηα κία γιψζζα πξνγξακκαηηζκνχ ζηελ νπνία νη

πξνγξακκαηηζηέο ζα ήηαλ πην παξαγσγηθνί. Η ιχζε θαηλφηαλ λα είλαη ε

Java.

Η Java βάδεη πάλσ απφ φια ηελ παξαγσγηθφηεηα ησλ πξνγξακκαηηζηψλ.

Παξφια απηά, ε Java δελ κπνξνχζε λα ρξεζηκνπνηεζεί γηα ηελ αλάπηπμε

ζπζηεκάησλ πξαγκαηηθνχ ρξφλνπ γηαηί δελ κπνξνχζε λα εγγπεζεί

πξνβιέςηκε εθηέιεζε ησλ εθαξκνγψλ.

Η Real-Time Java δεκηνπξγήζεθε γηα λα ιχζεη απηφ ην πξφβιεκα. Έρεη σο

ζηφρν λα δηαηεξήζεη φια εθείλα ηα ραξαθηεξηζηηθά ηεο Java πνπ

εμαζθαιίδνπλ απμεκέλε παξαγσγηθφηεηα θαη παξάιιεια λα παξέρεη κηα

πιαηθφξκα θαηάιιειε γηα ηελ αλάπηπμε ζπζηεκάησλ πξαγκαηηθνχ ρξφλνπ.

Page 46: Real Time Systems

Έλα ζχζηεκα πξαγκαηηθνχ ρξφλνπ έρεη σο ζθνπφ λα νινθιεξψλεη ην έξγν ηνπ θαη λα απνδίδεη ηηο ππεξεζίεο γηα ηηο νπνίεο ζρεδηάζηεθε, κέζα ζε θαζνξηζκέλα ρξνληθά φξηα.

Εθφζνλ, ινηπφλ, ε εθαξκνγή ζέηεη ζπγθεθξηκέλεο ρξνληθέο πξνζεζκίεο γηα ηελ νινθιήξσζε ησλ πξνβιεπφκελσλ δηεξγαζηψλ (tasks), ην ζχζηεκα νλνκάδεηαη «ζχζηεκα πξαγκαηηθνχ ρξφλνπ» (real time system). πζηήκαηα ςεθηαθνχ ειέγρνπ, επεμεξγαζίαο ζήκαηνο, ζπιινγήο δεδνκέλσλ (data acquisition), ηειεπηθνηλσληαθά ζπζηήκαηα, ζπζηήκαηα πνιπκέζσλ, είλαη ζπλήζσο ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ.

ΣΥΝΕΧΕΙΑ

Page 47: Real Time Systems

Βξίζθνληαη ελζσκαησκέλα ζε εθαξκνγέο θαζεκεξηλήο ρξήζεο θαη δηαζέηνπλ θξπκκέλν θάπνην ηζρπξφ ζχζηεκα επεμεξγαζίαο δεδνκέλσλ, δειαδή θάπνηνλ κηθξνυπνινγηζηή.

Σέηνηα ελζσκαησκέλα ζπζηήκαηα επεμεξγαζίαο είλαη ζπλήζσο κηθξνειεγθηέο ή DSP επεμεξγαζηέο, νινθιεξσκέλα θπθιψκαηα εηδηθνχ ζθνπνχ (ASICs), ή πιηθφ πξνγξακκαηηδφκελεο (ή δηακνξθνχκελεο) ινγηθήο (FPGAs), αλάινγα κε ηνλ ηχπν ηεο εθαξκνγήο.

Page 48: Real Time Systems

ηα ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ, ε νξζφηεηα ησλππνινγηζκψλ δελ εμαξηάηαη κφλνλ απφ ηελ αθξίβεηα ηνπαπνηειέζκαηνο, αιιά θαη απφ ηνλ ρξφλν θαηά ηνλ νπνίνπαξάγεηαη ην απνηέιεζκα.

Με άιια ιφγηα, ζηα ζπζηήκαηα απηά, έλα θαζπζηεξεκέλναπνηέιεζκα είλαη ιαλζαζκέλν απνηέιεζκα.

Page 49: Real Time Systems

Έλα παξάδεηγκα ζπζηήκαηνο πξαγκαηηθνχ ρξφλνππξνέξρεηαη απφ ηνλ βιομησανικό έλεγσο. Αο θαληαζηνχκε έλαζχζηεκα ειεγρφκελν απφ ππνινγηζηή, ζηελ γξακκή παξαγσγήοελφο εξγνζηαζίνπ εκθηάισζεο.

Η ιεηηνπξγία ηνπ ζπζηήκαηνο είλαη λα ηνπνζεηεί ην θαπάθη ζεθάζε θηάιε, θαζψο απηή θηλείηαη πάλσ ζε κηα δψλεκεηαθνξάο. Η εθαξκνγή ηνπ πψκαηνο γίλεηαη κε έλαλξνκπνηηθφ βξαρίνλα (manipulator).

ΣΥΝΕΧΕΙΑ

Page 50: Real Time Systems

Αλ ν βξαρίνλαο θηλεζεί πνιχ γξήγνξα γηα λα ηνπνζεηήζεηην πψκα, ε θηάιε δελ ζα έρεη θηάζεη αθφκε ζηε ζσζηή ζέζε.

Αλ θηλεζεί πνιχ αξγά, ε θηάιε ζα έρεη ήδε απνκαθξπλζείαξθεηά, ψζηε δελ ζα κπνξεί λα ηελ θηάζεη ν ξνκπνηηθφοβξαρίνλαο.

Αλ ρξεηάδεηαη λα ζηακαηνχκε ηελ δψλε κεηαθνξάο θάζεηφζν, ψζηε λα πξνιαβαίλεη ν βξαρίνλαο, επηβαξχλνπκεζεκαληηθά ην θφζηνο ησλ εξγαζηψλ.

ΣΥΝΕΧΕΙΑ

Page 51: Real Time Systems

Άξα, ε αθηίλα ηεο θίλεζεο ηνπ βξαρίνλα ζε ζπλδπαζκφ κε ηεληαρχηεηα ηεο δψλεο κεηαθνξάο, δεκηνπξγεί έλα παξάζπξνεπθαηξίαο γηα ηε κεραλή πξνθεηκέλνπ λα ηνπνζεηεζεί ηνθαπάθη. Απηφ ην παξάζπξν ηεο ζσζηήο ιεηηνπξγίαο επηβάιεηρξνληθνχο πεξηνξηζκνχο ζηελ ιεηηνπξγία ηεο κεραλήο.

Αθξηβψο απηή ε χπαξμε ρξνληθψλ πεξηνξηζκψλ θάλεη ψζηε ηνζχζηεκα απηφ λα ζεσξείηαη πξαγκαηηθνχ ρξφλνπ.

Page 52: Real Time Systems

Σν ζεµαληηθφηεξν ραξαθηεξηζηηθφ πνπ πξέπεη λα έρεη επιαηθφξµα (hardware, ιεηηνπξγηθφ ζχζηεµα, software) ζηελνπνία ζα αλαπηπρζεί ε εθαξµνγή πξαγµαηηθνχ ρξφλνπ, είλαηε πποβλετιµόηηηα.

ηηο εθαξµνγέο πξαγµαηηθνχ ρξφλνπ δελ ελδηαθέξεη ηφζν εηαρχηεηα, φζν ε πξνβιεςηµφηεηα. Η πιαηθφξµα ζα πξέπεηλα εγγπάηαη πξνβιέςηµε εθηέιεζε ησλ εθαξµνγψλ. Πξέπεη,δειαδή, λα µπνξεί λα ππνινγηζηεί ν ρξφλνο πνπ ρξεηάδεηαη γηαλα νινθιεξσζεί θάζε εξγαζία ηνπ ζπζηήµαηφο θαη ε πιαηθφξµαλα µπνξεί λα εγγπεζεί φηη θάζε θνξά πνπ ζα εθηειείηαη, ζανινθιεξψλεηαη ζε ρξφλν µηθξφηεξν ή ίζν µε απηφλ πνπππνινγίζηεθε.

ΣΥΝΕΧΕΙΑ

Page 53: Real Time Systems

Γηα παξάδεηγµα αλ είλαη γλσζηφ φηη µηα εξγαζία έρεη ρξφλνεθηέιεζεο πνπ θπµαίλεηαη απφ 150 έσο 200 milliseconds θαη ερξνληθή πξνζεζµία (deadline) γηα ηελ εθηέιεζή ηεο απφ ηε ρξνληθήζηηγµή πνπ μεθηλάεη είλαη 180 milliseconds, ρξεζηµνπνηψληαοέλαλ θαιχηεξν αιγφξηζµν ή έλαλ γξεγνξφηεξν επεμεξγαζηή λακπνξεί λα επηηεπρζεί ε νινθιήξσζή ηεο πξηλ ηελ ρξνληθή ηεοπξνζεζµία, θάζε θνξά πνπ εθηειείηαη.

Page 54: Real Time Systems

Αληίζεηα, εάλ είλαη γλσζηφ φηη ηηο πεξηζζφηεξεο θνξέο εθηειείηαηζε ρξφλν 150 milliseconds, ελψ θάπνηεο θνξέο ν ρξφλνο εθηέιεζεοείλαη 1 second ή πεξηζζφηεξν θαη επίζεο φηη απηνί νη µεγάινη ρξφλνηεθηέιεζεο δελ µπνξνχλ λα πξνβιεθζνχλ, ηφηε δελ κπνξεί εχθνιαλα γίλεη θάηη γηα λα ηεξεζεί ε ρξνληθή πξνζεζµία εθηέιεζεο.Επνµέλσο, απαηηείηαη έλα ληεηεξµηληζηηθφ πεξηβάιινλ γηα λααλαπηπρζεί µηα εθαξµνγή πξαγµαηηθνχ ρξφλνπ, έηζη ψζηε φιεο νηεξγαζίεο ηεο λα ηεξνχλ ηηο ρξνληθέο πξνζεζµίεο εθηέιεζήο ηνπο.

Page 55: Real Time Systems

ε έλα ληεηεξµηληζηηθφ ζχζηεµα ρξεηάδεηαη πνιιέο θνξέο λαζπζηαζηεί ε µέζε απφδνζε γηα ράξε ηεο ζπλέπεηαο. Αλ µίαεξγαζία έρεη ρξφλν εθηέιεζεο πνπ θπµαίλεηαη απφ 50 έσο 300microseconds θαη ε ρξνληθή πξνζεζµία εθηέιεζήο ηεο είλαη ζηα100 microsecond, αθφµε θαη αλ ηηο πεξηζζφηεξεο θνξέο ν ρξφλνοεθηέιεζεο είλαη θνληά ζηα 50 microseconds, ε εξγαζία δελ ηεξείηε ρξνληθή ηεο πξνζεζµία θάζε θνξά.

ΣΥΝΕΧΕΙΑ

Page 56: Real Time Systems

Η αληηθαηάζηαζε ηνπ επεμεξγαζηή απφ έλα γξεγνξφηεξν µπνξείλα µεηψζεη ην ρξφλν εθηέιεζεο ζε 25-150 microseconds, αιιάην πξφβιεµα δε ιχλεηαη.

Επίζεο, εξγαιεία θαη ζπµβνπιέο βειηηζηνπνίεζεο πνπρξεζηµνπνηνχληαη ζε εθαξµνγέο πνπ δελ έρνπλ απαηηήζεηοπξαγµαηηθνχ ρξφλνπ µπνξεί λα βειηηψζνπλ ηε µέζε απφδνζεαιιά λα µε µεηψζνπλ ζεµαληηθά ηνλ ρξφλν εθηέιεζεο ζηελρεηξφηεξε πεξίπησζε.

ΣΥΝΕΧΕΙΑ

Page 57: Real Time Systems

Ο ρξφλνο εθηέιεζεο ζηελ ρεηξφηεξε πεξίπησζε ζα µπνξνχζελα µεησζεί εάλ απμαλφηαλ ν ρξφλνο εθηέιεζεο ζηε ζπλήζεπεξίπησζε. Έηζη ζα κπνξνχζε λα επηηεπρζεί ρξφλνο εθηέιεζεοπνπ θπµαίλεηαη απφ 70 έσο 90 microseconds θαη ζπλεπψοε εξγαζία λα εθηειείηαη πάληα µέζα ζην πξνδηαγεγξαµµέλνρξνληθφ δηάζηεµα.

Επνκέλσο, ε µείσζε ηεο µέζεο απφδνζεο ζηηο εθαξµνγέοπξαγµαηηθνχ ρξφλνπ είλαη µεξηθέο θνξέο απαξαίηεηε ψζηε εεθαξµνγή λα ηθαλνπνηήζεη ηνπο ρξνληθνχο ηεο πεξηνξηζµνχο.

Page 58: Real Time Systems

πλνπηηθά ηα σαπακηηπιζηικά ενόρ ζςζηήμαηορ ππαγμαηικούσπόνος ππέπει να είναι:

Πξέπεη λα µπνξεί λα αληηκεησπίζεη ηελ πνηθηιία ησλ γεγνλφησληνπ πξαγµαηηθνχ θφζµνπ, ελψ πξέπεη λα είλαη επεθηάζηµν.

Απαηηείηαη ε δπλαηφηεηα άµεζνπ ειέγρνπ θαη ρεηξηζµνχ ησλζπζθεπψλ (αηζζεηήξεο, µεραληζµνί θίλεζεο).

Ο ρεηξηζµφο ησλ ζπζθεπψλ ζηηο γιψζζεο πξαγµαηηθνχ ρξφλνπγίλεηαη ρσξίο ηελ παξέµβαζε ηνπ Λ (ιφγσ πνηθηιίαο θαηθξηζηµφηεηαο ρξφλνπ), µέζσ ηερληθψλ πξνγξαµµαηηζµνχ ζεραµειφ επίπεδν.

ΣΥΝΕΧΕΙΑ

Page 59: Real Time Systems

Απμεµέλε αμηνπηζηία θαη αζθάιεηα.

εµαληηθή απνδνηηθφηεηα, απαξαίηεηε πξνβιεςηµφηεηα.

Page 60: Real Time Systems

Σα ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ αλάινγα µε ηηο ζπλέπεηεοπνπ έρεη ε µε ηήξεζε ησλ ρξνληθψλ ηνπο απαηηήζεσλδηαθξίλνληαη ζε αςζηηπού ππαγμαηικού σπόνος (hard real-time) θαη ελαζηικού ππαγμαηικού σπόνος (soft real time)ζπζηήµαηα.

Page 61: Real Time Systems

ε έλα hard real-time ζχζηεµα, αλ θάπνηα εξγαζία δεληεξήζεη ηε ρξνληθή πξνζεζµία εθηέιεζεο ην ζχζηεµα έρεηαπνηχρεη θαη νη ζπλέπεηεο είλαη θαηαζηξνθηθέο. Ωο ζπλέπεηαµπνξεί ππάξμεη απψιεηα δεδνµέλσλ, θαηαζηξνθή ηνπζπζηήµαηνο, πξφθιεζε άιιεο πιηθήο θαηαζηξνθήο ή απψιεηααλζξψπηλεο δσήο.

Page 62: Real Time Systems

Έλα παξάδεηγµα ηέηνηνπ ζπζηήµαηνο είλαη έλα απηνθίλεην πνπθηλείηαη πξνο µία δηάβαζε πεδψλ. Αλ απφ ηε δηάβαζεδηέξρνληαη πεδνί θαη ν νδεγφο παηήζεη θαζπζηεξεµέλα ηνθξέλν, µπνξεί λα πξνθιεζνχλ αλεπαλφξζσηεο ζπλέπεηεο.

Άιιν παξάδεηγκα είλαη ηα ζπζηήµαηα ειέγρνπ πηήζεοζηξαηησηηθψλ αεξνζθαθψλ αθνχ κε ηήξεζε κηαο πξνζεζκίαοείλαη θαηαζηξνθηθή.

Page 63: Real Time Systems

Αληίζεηα, ζε έλα soft real-time ζχζηεµα ε µε ηήξεζε θάπνηαο ρξνληθήο πξνζεζµίαο απφ µηα εξγαζία δελ έρεη θαηαζηξνθηθέο ζπλέπεηεο.

Αλάινγα µε ηε θξηζηµφηεηα ηεο, θάζε εξγαζία µπνξεί λα ράζεη έλαλ αξηζµφ απφ ρξνληθέο πξνζεζµίεο πξηλ ην ζχζηεµα απνηχρεη. Αθφµε θαη ηφηε φµσο νη ζπλέπεηεο δελ ζα είλαη θαηαζηξνθηθέο φπσο ζε έλα hard real time ζχζηεµα.

Page 64: Real Time Systems

Γηα παξάδεηγµα, έλαο ππάιιεινο µπνξεί λα θαζπζηεξήζεη λα πάεη ζηε δνπιεηά ηνπ θάπνηεο θνξέο. Αλ απηφ φµσο επαλαιεθζεί πνιιέο θνξέο ζα απνιπζεί. Οη ζπλέπεηεο σζηφζν δελ ζα είλαη ηφζν άζρεµεο φζν ζε έλα hard real-time ζχζηεµα.

Άιια παξαδείγκαηα είλαη ην ζχζηεκα ειέγρνπ κηαο δηαδηθαζίαο ην νπνία ζα κπνξνχζε λα αλερζεί θάπνηεο ελδηάκεζεο θαζπζηεξήζεηο παξφιν πνπ ε δεηγκαηνιεςία ηεο εηζφδνπ γίλεηαη ζε νξηζκέλα ηαθηά ρξνληθά δηαζηήκαηα, ηα πξνγξάµµαηα πινήγεζεο ζην δηαδίθηπν (web browsers), ηα ζπζηήµαηα πνιπµέζσλ, νη ηειεθσληθέο ζπλδηαιέμεηο θιπ.

Page 65: Real Time Systems

Hard & Soft Real-time συστήματα

ην θάησζη ζρήµα απεηθνλίδνληαη δχν θαµπχιεο πνπ αληηζηνηρνχλζηα δχν παξαπάλσ ζπζηήµαηα φπνπ ζηνλ νξηδφληην άμνλα είλαη νρξφλνο θαη ζηνλ θαηαθφξπθν ε αμία ηεο νινθιήξσζεο ηεοεξγαζίαο.

ΣΥΝΕΧΕΙΑ

Page 66: Real Time Systems

ε έλα soft real-time ζχζηεµα ε αμία ηεο νινθιήξσζεο µηαοεξγαζίαο µεηά ην deadline µεηψλεηαη, θαη θάπνηα ζηηγµή παίξλεηαξλεηηθέο ηηµέο πνπ ζεµαίλεη φηη νη επηπηψζεηο αξρίδνπλ αξθεηάµεηά απφ ηε ιήμε ηεο ρξνληθήο πξνζεζµίαο.

Αληίζεηα, ζηελ θαµπχιε γηα ην hard real-time ζχζηεµαθαίλεηαη φηη ζην deadline ε αμία νινθιήξσζεο ηείλεη ζηνµείνλ άπεηξν, ην νπνίν ζεµαίλεη φηη ζα ππάξρνπλ άζρεµεοζπλέπεηεο.

Page 67: Real Time Systems

Έλαο άιινο δηαρσξηζµφο ησλ ζπζηεµάησλ πξαγµαηηθνχ ρξφλνπµπνξεί λα γίλεη µε βάζε ηελ αθξίβεηα πνπ ρξεζηµνπνηνχλ γηαλα εθθξάζνπλ ηνπο ρξνληθνχο πεξηνξηζµνχο (π.ρ. πψο εθθξάδνπλην 1 second, σο 1.000 milliseconds ή σο 1.000.000microseconds). ην ζρήµα πνπ αθνινπζεί, απεηθνλίδνληαη µεξηθέοθαηεγνξίεο ζπζηεµάησλ θαη ηη ηάμεο είλαη νη ρξνληθνίπεξηνξηζµνί πνπ έρνπλ νη πξνδηαγξαθέο ηνπο.

ΣΥΝΕΧΕΙΑ

Page 68: Real Time Systems

ηελ θαηεγνξία πνπ νη ρξνληθνί πεξηνξηζµνί είλαη ηεο ηάμεο ηνπmillisecond εµπίπηνπλ ηα πεξηζζφηεξα γλσζηά ζπζηήµαηαπξαγµαηηθνχ ρξφλνπ.

ηελ θαηεγνξία ησλ δεθάδσλ milliseconds αλήθνπλ ηαθαηαλεκεκέλα ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ. ε απηάζεµαληηθφ ξφιν παίδεη ε ηαρχηεηα θαη ην θνξηίν ηνπ δηθηχνπ.

Σέινο, ζηελ θαηεγνξία ησλ δεθάησλ ηνπ δεπηεξνιέπηνπαλήθνπλ ζπζηήµαηα ηα νπνία πεξηιαµβάλνπλ εθαξµνγέο πνπαιιειεπηδξνχλ µε ηνλ άλζξσπν. Απηά ηα ζπζηήµαηα δελ έρνπλπνιιέο real-time απαηηήζεηο θαη ζπλήζσο πξνβιήµαηα ζηελαπφδνζή ηνπο µπνξνχλ λα ιπζνχλ αληηθαζηζηψληαο ην hardwareµε θάπνην ηαρχηεξν

Page 69: Real Time Systems
Page 70: Real Time Systems

Τπάξρνπλ ηα ζπζηήκαηα Real real-time δειαδή ζπζηήµαηα πνπ είλαη hard real-time θαη ζηα νπνία νη ρξφλνη απφθξηζεο είλαη πνιχ µηθξνί π.ρ. ζπζηήµαηα θαζνδήγεζεο ππξαχισλ θαη ηα ζπζηήκαηα Firm real-time δειαδή ζπζηήµαηα πνπ είλαη soft real-time, δελ ππάξρεη φµσο φθεινο απφ θαζπζηεξεµέλε παξάδνζε.

Page 71: Real Time Systems

Έλα παξάδεηγκα firm real time είλαη ην ζχζηεκα ειέγρνππνξείαο (cruise control) ελφο απηνθηλήηνπ ην νπνίν αλαιακβάλεηηνλ έιεγρν ηνπ γθαδηνχ ψζηε ην απηνθίλεην λα δηαηεξεί κηαζηαζεξή ηαρχηεηα φπσο απηή θαζνξίδεηαη απφ ηνλ νδεγφ.

Η ηαρχηεηα ηνπ νρήκαηνο πθίζηαηαη δεηγκαηνιεςία ζε ηαθηάρξνληθά δηαζηήκαηα θαη ζχκθσλα κε ηηο ηηκέο πνπ έρεηαπμνκεηψλεηαη ε ψζεζε πνπ δίλεη ζηνλ θηλεηήξα ην γθάδη ηνπνρήκαηνο.

Page 72: Real Time Systems

Αλ νη αηζζεηήξεο ηαρχηεηαο ή ην ππεχζπλν ινγηζκηθφ δελδψζνπλ εγθαίξσο ζηνλ αιγφξηζκν ειέγρνπ ηελ ηξέρνπζαηαρχηεηα, κπνξεί αληί αλακνλήο λα ρξεζηκνπνηεζεί επξνεγνχκελε ηηκή πνπ κεηξήζεθε ψζηε λα ππνινγηζηνχλ ηαζήκαηα ειέγρνπ.

Λφγσ ηνπ φηη ε δεηγκαηνιεςία γίλεηαη ζε κηθξά ρξνληθάδηαζηήκαηα ην ζχζηεκα ζα έρεη απνδεθηή ιεηηνπξγία γηαηί ζαππάξρεη κηθξή δηαθνξά ζηηο ηηκέο ηεο ηαρχηεηαο. Έλα ζχζηεµαµπνξεί λα έρεη ππνζπζηήµαηα hard, soft θαη real real-time.

Page 73: Real Time Systems

Ωο πξνο ηελ πποβλετιμόηηηα θαη καθοπιζηικόηηηα έλαζχζηεκα πξαγκαηηθνχ ρξφλνπ ραξαθηεξίδεηαη πποβλέτιμο(predictable), φηαλ ε ρξνληθή ηνπ ζπκπεξηθνξά είλαη πάληα κέζαζε απνδεθηά φξηα.

Η ζπκπεξηθνξά απηή αθνξά ζην ζχλνιν ησλ δηεξγαζηψλ πνπεθηεινχληαη ζην ζχζηεκα, ψζηε ζα πξέπεη λα ηζρχεη φηη φιεο νηδηεξγαζίεο νινθιεξψλνληαη κέζα ζηηο πξνζεζκίεο ηνπο.

ΣΥΝΕΧΕΙΑ

Page 74: Real Time Systems

Γεληθά, γηα λα δεκηνπξγήζνπκε έλα πξνβιέςηκν ζχζηεκαπξαγκαηηθνχ ρξφλνπ πξέπεη λα γλσξίδνπκε ηελ πεξίνδν, ηελπξνζεζκία θαη ηνλ κέγηζην ρξφλν εθηέιεζεο, γηα θάζεδηεξγαζία ηνπ ζπζηήκαηνο.

Γηα ηε δεκηνπξγία ελφο ηέηνηνπ ζπζηήκαηνο ρξεηαδφκαζηε έλαλθαηάιιειν αιγφξηζκν ρξνλνπξνγξακκαηηζκνχ (scheduling).

Page 75: Real Time Systems

Έλα καθοπιζηικό ζύζηημα (deterministic system) είλαηκηα εηδηθή πεξίπησζε ελφο πξνβιέςηκνπ ζπζηήκαηνο. Όρηκφλνλ ε ζπκπεξηθνξά ηνπ είλαη κέζα ζε απνδεθηά φξηα,αιιά απηή ε ρξνληθή ζπκπεξηθνξά είλαη πξνθαζνξηζκέλε.

Κάζε δηεξγαζία εθηειείηαη κφλνλ ζε πξνθαζνξηζκέλεορξνλνζπξίδεο (time-slots). Ο ρξφλνο εθηέιεζεο θάζεδηεξγαζίαο πξέπεη λα είλαη γλσζηφο θαη λα κελ ππάξρνπλαλσκαιίεο πνπ κπνξεί λα πξνθαιέζνπλ απφθιηζε απφ ηελπξνθαζνξηζκέλε ζπκπεξηθνξά.

Page 76: Real Time Systems

Σα κέξε απφ ηα νπνία απνηειείηαη έλα ζχζηεκα πξαγκαηηθνχρξφλνπ είλαη:

Υλικό μέπορ (CPUs, ρξνληζηέο, πεξηθεξεηαθέο κνλάδεο Ι/Ο,ελεξγνπνηεηέο, θαλάιηα επηθνηλσλίαο, θιπ). Οη πεξηθεξεηαθέοκνλάδεο κπνξνχλ λα ζπλδένληαη κε ειεθηξνκεραληθνχοελεξγνπνηεηέο (ειεθηξνλφκνπο, κνηέξ θιπ), απνζεθεπηηθάκέζα, αηζζεηήξεο, θαλάιηα επηθνηλσλίαο θιπ. Μέξνο ηνππιηθνχ κπνξεί λα πινπνηείηαη σο ζχζηεκα ζε ηζηπ . Όια απηάείλαη νη πφξνη ηνπ ζπζηήκαηνο.

Έλα λειηοςπγικό ζύζηημα ππαγμαηικού σπόνος (RTOS) ήαπιά έλαλ ππξήλα πξαγκαηηθνχ ρξφλνπ (Real-Time Kernel), κεπξνβιέςηκε ζπκπεξηθνξά θαη θαιά θαζνξηζκέλειεηηνπξγηθφηεηα.

ΣΥΝΕΧΕΙΑ

Page 77: Real Time Systems

Έλα ζχλνιν απφ διεπγαζίερ (tasks) ππαγμαηικού σπόνος. Οηδηεξγαζίεο είλαη ξνπηίλεο ινγηζκηθνχ, γξακκέλεο ζε θάπνηαγιψζζα πξαγκαηηθνχ ρξφλνπ ή είλαη κεραληζκνί πνπ δεκηνπξγείην ιεηηνπξγηθφ ζχζηεκα, γηα λα δηαρεηξίδεηαη ηελ εθηέιεζεηκεκάησλ θψδηθα ζε έλα πξφγξακκα. Οη δηεξγαζίεο κνηξάδνληαηηνπο πφξνπο ηνπ ζπζηήκαηνο, επηθνηλσλνχλ θαη ζπγρξνλίδνληαηκεηαμχ ηνπο θαη κε ην πεξηβάιινλ.

Page 78: Real Time Systems
Page 79: Real Time Systems

Απφ ηηο πην ζεκαληηθέο πξνυπνζέζεηο ζην ζσζηφ ζρεδηαζκφ(πινπνίεζε) ησλ ζπζηεκάησλ πξαγκαηηθνχ ρξφλνπ είλαη:

Η καηανόηζη ηηρ θύζηρ ηος σπόνος αθνχ νη πξνζεζκίεο(deadlines) είλαη ζηηγκηαίεο. Γηα παξάδεηγκα ζηα ζπζηήκαηαπινήγεζεο νη επηηαρχλζεηο δηαβάδνληαη κε ξπζκφ πνπ βαζίδεηαηζηε κέγηζηε ηαρχηεηα ηνπ νρήκαηνο. Αλ απηέο νη πξνζεζκίεοβαζίδνληαη ζε αβάζηκεο ππνζέζεηο κπνξεί ην ζχζηεκαπξαγκαηηθνχ ρξφλνπ λα έρεη πεξηηηνχο ή ιάζνο ρξνληθνχοπεξηνξηζκνχο.

Η μονηελοποίηζη και αναπαπάζηαζη ηος σπόνος ψζηε λακπνξέζεη λα ρξεζηκεχζεη ζαλ κία απφ ηηο κεηαβιεηέο εηζφδνπ ηνπζπζηήκαηνο.

ΣΥΝΕΧΕΙΑ

Page 80: Real Time Systems

Ο οπιζμόρ ηυν γεγονόηυν. Σα γεγνλφηα (ζπλερή θαηδηαθξηηά) ζεκαίλνπλ κηα αιιαγή ζηε θπζηθή θαηάζηαζε ηνπζπζηήκαηνο πξνο έιεγρν.

Οη αιιαγέο ζηε θπζηθή θαηάζηαζε ηνπ ζπζηήκαηνο πξνο έιεγρνγίλνληαη αληηιεπηέο κέζσ αηζζεηήξσλ ησλ νπνίσλ νη έμνδνηαπνηεινχλ ηηο εηζφδνπο ζην ζχζηεκα πξαγκαηηθνχ ρξφλνπ πνπειέγρεη ηε δηεξγαζία.

Page 81: Real Time Systems

Πξνθεηκέλνπ λα πινπνηήζνπκε ζπζηήκαηα πξαγκαηηθνχρξφλνπ, ηθαλά λα απνδίδνπλ ην απνηέιεζκα ησλ δηαθφξσλδηεξγαζηψλ κέζα ζηηο πξνβιεπφκελεο πξνζεζκίεο, κπνξνχκε λααθνινπζήζνπκε κία απφ ηηο παξαθάησ πποζεγγίζειρ.

Page 82: Real Time Systems

Πξνγξακκαηηζκφο ηνπ ζπζηήκαηνο ζε ρακειφ επίπεδν,ρξεζηκνπνηψληαο γιψζζα Assembly θαη πξνγξακκαηίδνληαο ηνζχζηεκα κε ρξήζε ρξνληζηψλ, δηαθνπψλ (interrupts),επαλαιακβαλφκελσλ βξφρσλ θιπ.

Οη ξνπηίλεο ζε assembly πξέπεη λα δηαρεηξίδνληαη ηηο ζχξεο I/O,ηνπο κεηαηξνπείο αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ θαη ηαθαλάιηα επηθνηλσλίαο, φπσο νη UART, νη ζχξεο USB, νη δίαπινηCAN (Controller Area Network) θ.ιπ. Μηα ηέηνηα πξνζέγγηζερακεινχ επηπέδνπ είλαη θαηάιιειε γηα κηθξά ελζσκαησκέλαζπζηήκαηα.

Page 83: Real Time Systems

Μηα δεύηεπη πποζέγγιζη, πην θαηάιιειε γηα κεγάια θαηπνιχπινθα ζπζηήκαηα, είλαη ν πξνγξακκαηηζκφο κε ρξήζεπαξάιιεισλ (concurrent) γισζζψλ πξαγκαηηθνχ ρξφλνπ.Σέηνηεο γιψζζεο είλαη ε Ada 95, ε Real-time Java, ε RTL/2 θαηάιιεο.

Οη γιψζζεο απηέο έρνπλ ην ραξαθηεξηζηηθφ φηη κπνξνχλ λαδηαρεηξίδνληαη παξαπάλσ απφ κία δηεξγαζία (task), θαζψο έλαπξφγξακκα κπνξεί λα απνηειείηαη απφ έλα ζχλνιν απηφλνκσλζεηξηαθψλ δηεξγαζηψλ, πνπ ε ινγηθή ηνπο εθηέιεζε γίλεηαηπαξάιιεια.

Page 84: Real Time Systems

Πεξηβάιινληα φπσο ην LabVIEW θαη ην Matlab δηαζέηνπλ,επίζεο, ελζσκαησκέλεο δπλαηφηεηεο πξνγξακκαηηζκνχπξαγκαηηθνχ ρξφλνπ. Οη γιψζζεο απηέο έρνπλ ην ραξαθηεξηζηηθφφηη κπνξνχλ λα δηαρεηξίδνληαη παξαπάλσ απφ κία δηεξγαζία(task), θαζψο έλα πξφγξακκα κπνξεί λα απνηειείηαη απφ έλαζχλνιν απηφλνκσλ ζεηξηαθψλ δηεξγαζηψλ, πνπ ε ινγηθή ηνποεθηέιεζε γίλεηαη παξάιιεια.

Page 85: Real Time Systems

Μηα ηπίηη πποζέγγιζη είλαη ε ρξεζηκνπνίεζε κηαο ζπκβαηηθήοζεηξηαθήο γιψζζαο πξνγξακκαηηζκνχ (π.ρ. PASCAL, C) θαη έλαιεηηνπξγηθφ ζχζηεκα πνπ παξέρεη ππνζηήξημε γηα δηαδηθαζίεοπξαγκαηηθνχ ρξφλνπ.

Σέηνηα ιεηηνπξγηθά ζπζηήκαηα αλαθέξνληαη σο ιεηηνπξγηθάζπζηήκαηα πξαγκαηηθνχ ρξφλνπ (RTOS) θαη παξέρνπλ επθνιίεογηα πνιπδηεξγαζία (multitasking) θαη πνιπλεκάησζε(multithreading). ηελ πεξίπησζε απηή νη ιεηηνπξγίεο ηνππαξαιιειηζκνχ πεξλνχλ ζην ιεηηνπξγηθφ ζχζηεκα θαη φρη ζηελγιψζζα πξνγξακκαηηζκνχ.

Page 86: Real Time Systems

Οη έλλνηεο «ζχζηεµα πξαγµαηηθνχ ρξφλνπ» (real-time system) θαη«εθαξµνγή πξαγµαηηθνχ ρξφλνπ» (real-time application)ρξεζηµνπνηνχληαη ηζνδχλαµα γηα λα δειψζνπλ ην ινγηζµηθφ πνππινπνηεί έλα ζύζηηµα ελέγσος ππαγµαηικού σπόνος (real-time controlling system), δειαδή έλα ζχζηεµα πνπ ζπλήζσοαπνηειείηαη απφ δχν δνµηθέο ελφηεηεο-ζπζηαηηθά:

Έλα ζχζηεµα ειέγρνπ (controlling system)

Έλα ειεγρφµελν ζχζηεµα(controlled system), πνπ ζπρλάθαιείηαη θαηµε ηνλ φξν πεξηβάιινλ ζχζηεµα(environment).

Page 87: Real Time Systems

Σν ζχζηεµα ειέγρνπ είλαη ππεχζπλν λα αιιειεπηδξάζπλερψο µε ην πεξηβάιινλ ζχζηεµα δηαµέζνπ ζπζθεπψλ,αηζζεηήξεο (sensors) πνππαξέρνπλ είζνδν (inputs) θαηελεξγνπνηεηέο (actuators) πνπ ιαµβάλνπλ εμφδνπο (outputs),πάληνηε έρνληαο σο απαίηεζε λα ηθαλνπνηνχληαηζπγθεθξηµέλνη ρξνληθνί πεξηνξηζµνί.

Page 88: Real Time Systems

Σν ζχζηεµα ζπλδέεηαη θαη επηθνηλσλεί άµεζα (ζε πξαγµαηηθφρξφλν) µε απηέο ηηο ζπζθεπέο. πλεπψο, βαζηθφραξαθηεξηζηηθφ ζε έλα ζχζηεµα ειέγρνπ πξαγµαηηθνχ ρξφλνπείλαη φηη έλα µεγάιν πιήζνο απφ δεδνµέλα εηζέξρνληαη θαηάηξφπν άµεζν (αζχγρξνλν) ζην ζχζηεµα, ππφθεηληαη ζεεπεμεξγαζία θαη ζηε ζπλέρεηα εμέξρνληαη απφ απηφ.

ΣΥΝΕΧΕΙΑ

Page 89: Real Time Systems

Η είζνδνο θαη ε έμνδνο ησλ δεδνµέλσλ γίλεηαη ζπλεπψο µεηε βνήζεηα θαηάιιεισλ εμσηεξηθψλ ζπζθεπψλ. Πξφθεηηαη γηαζπζθεπέο εηζφδνπ ή εμφδνπ πνπ ζπλήζσο δελ ηηοδηαρεηξίδεηαη απεπζείαο ην ππνθείµελν ιεηηνπξγηθφ ζχζηεµα(αλ ππάξρεη), αιιά ειέγρνληαη απφ εηδηθά πξνγξάµµαηα, ηνποιεγφµελνπο νδεγνχο ζπζθεπψλ (device interface drivers).

Page 90: Real Time Systems

Μηα ζπλεζηζµέλε ιαλζαζµέλε αληίιεςε είλαη πσο ηα ζπζηήµαηαπξαγµαηηθνχ ρξφλνπ έρνπλ σο θχξην ραξαθηεξηζηηθφ ηνπογξήγνξνπο ππνινγηζµνχο.

Κάηη ηέηνην δελ ηζρχεη πάληα. Σν ζεµαληηθφ ζε έλα ζχζηεµαπξαγµαηηθνχ ρξφλνπ είλαη λα εθηειείηαη µε ηέηνηα ηαρχηεηα πνπλα ζπµβαδίδεη µε ηηο ρξνληθέο απαηηήζεηο πνπ ζέηεη ν εμσηεξηθφοθφζµνο.

Φπζηθά, ε ηαρχηεηα εθηέιεζεο απνηειεί ζεµαληηθφ παξάγνληα,δελ είλαη, φµσο, απφ µφλε ηεο απηή πνπ ραξαθηεξίδεη έλαζχζηεµα σο πξαγµαηηθνχ ρξφλνπ

Page 91: Real Time Systems

Σα ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ ρξεζηµνπνηνχληαη, θπξίσο,ζε εθαξµνγέο φπνπ απαηηνχληαη ε επηηήξεζε, ν έιεγρνο θαη εαπφθξηζε πξνο ζην εμσηεξηθφ πεξηβάιινλ.

Η επηθνηλσλία µε ην πεξηβάιινλ γίλεηαη µέζσ αηζζεηήξσλ,ελεξγνπνηεηψλ, θαη άιισλ µνλάδσλ εηζφδνπ/εμφδνπ (Ι/Οinterface).

Σν πιηθφ πνπ ρξεζηµνπνηείηαη απνηειείηαη απφ επεμεξγαζηέο,µνλάδεο µλήµεο, µεηαηξνπείο A/D θαη D/A, δηαχινποεπηθνηλσλίαο θαη ινηπέο πεξηθεξεηαθέο ζπζθεπέο.

Page 92: Real Time Systems

Σα ζπζηήµαηα απηνµάηνπ ειέγρνπ αλήθνπλ, θαηά θαλφλα, ζηελθαηεγφξηα εθείλε φπνπ ε έγθαηξε απφθξηζε ζηηο µεηαβνιέο ηνππεξηβάιινληνο είλαη θαζνξηζηηθήο ζεµαζίαο. Ο έιεγρνο απηφο(hard real-time) απαηηεί µηα πιαηθφξµα πνπ λα εμαζθαιίδεηθάπνηνπο θαζνξηζµέλνπο ρξνληθνχο πεξηνξηζµνχο.

Σα πεξηζζφηεξα ιεηηνπξγηθά ζπζηήµαηα (φπσο Windows 95,98, NT θαη XP) ρξεζηµνπνηνχλ νξηζµέλνπο µεραληζµνχο νηνπνίνη ηα θαζηζηνχλ αθαηάιιεια γηα επεμεξγαζία ζε hard real-time. Γηα ην ιφγν απηφ ρξεζηµνπνηείηαη εηδηθφ ινγηζµηθφ, ην νπνίνραξαθηεξίδεηαη σο ιεηηνπξγηθφ ζχζηεµα πξαγµαηηθνχ ρξφλνπ(RTOS) θαη δηαθέξεη ζεµαληηθά απφ ηα ζπµβαηηθάπξνγξάµµαηα.

Page 93: Real Time Systems

Η πποζοµοίυζη µε ππνινγηζηέο απνηειεί έλα πνιχηηµνεξγαιείν γηα ηε µειέηε ζχλζεησλ ζπζηεµάησλ, απφ ην ζηάδηνηεο αξρηθήο ζρεδίαζεο µέρξη ηε δνθηµή ηεο ηειηθήο πινπνίεζεο.Οη αιµαηψδεηο βειηηψζεηο ζηνλ ηνµέα ηεο µηθξνειεθηξνληθήοδίλνπλ ηε δπλαηφηεηα µνληεινπνίεζεο θαη αλάιπζεο µεγάισλζπζηεµάησλ, ηα νπνία εθηεινχληαη ζε ειάρηζην ρξφλν.

ΣΥΝΕΧΕΙΑ

Page 94: Real Time Systems

Γεληθά, µε ηνλ φξν πξνζνµνίσζε ελλννχµε ηελ εθηέιεζε ηνπζπζηήµαηνο ζε µε πξαγµαηηθφ ρξφλν. Γηα παξάδεηγµα, επξνζνµνίσζε µπνξεί λα δηαξθέζεη 10 ψξεο γηα λα µηµεζεί 30δεπηεξφιεπηα ηεο ζπµπεξηθνξάο ηνπ ζπζηήµαηνο ή ηναληίζηξνθν (30 δεπηεξφιεπηα γηαηελ πξνζνµνίσζε ηεοζπµπεξηθνξάο 10 σξψλ).

Page 95: Real Time Systems

Αληίζεηα, ζηελ πξνζνµνίσζε πξαγµαηηθνχ ρξφλνπ ν ρξφλνοεθηέιεζεο ζπµβαδίδεη µε ηνλ ηξέρνληα ρξφλν, δειαδή νηππνινγηζµνί γηα θάζε βήµα ηεο πξνζνµνίσζεο (simulationtimestep) ζα πξέπεη λα νινθιεξψλνληαη µέζα ζε έλα δεδνµέλνρξνληθφ δηάζηεµα.

Γηα ην ιφγν απηφ, ε µειέηε ηεο ζπµπεξηθνξάο δπλαµηθψλζπζηεµάησλ ζε πξαγµαηηθφ ρξφλν απαηηεί ηε ρξήζε ηζρπξψλεπεμεξγαζηψλ θαη εηδηθψλ πεξηθεξεηαθψλ ζπζθεπψλ, γεγνλφοπνπ ζπλεπάγεηαη απμεµέλν θφζηνο.

Βέβαηα, ππάξρνπλ θαη νηθνλνµηθφηεξεο ιχζεηο, φµσο ζε γεληθέογξαµµέο, φζν µηθξφηεξν είλαη ην θφζηνο ηνπ εμνπιηζµνχ, ηφζνµεγαιχηεξν είλαη ην έξγν πνπ πξέπεη λα θαηαβάιιεη νµεραληθφο γηα λα εγθαηαζηήζεη θαη λα ιεηηνπξγήζεη επηηπρψο ηνζχζηεµα.

Page 96: Real Time Systems

Η δηαδηθαζία πνπ αθνινπζείηαη γηα ηε ζρεδίαζε θαη πινπνίεζεζπζηεµάησλ πξαγµαηηθνχ ρξφλνπ πεξηιαµβάλεη ηα αθφινπζαζηάδηα:

Αλάπηπμε αιγνξίζµνπ

Αλάπηπμε ινγηζµηθνχ

Καηαζθεπή/πλαξµνιφγεζε ηνπ πιηθνχ

Πξνζνµνίσζε ηνπ ζπζηήµαηνο ζε πξαγµαηηθφ ρξφλν µε βάζε ηαπαξαπάλσ.

ΣΥΝΕΧΕΙΑ

Page 97: Real Time Systems

Απηά ηα ζηάδηα επαλαιαµβάλνληαη µέρξη λα θαηαιήμνπµε ζηαεπηζπµεηά απνηειέζµαηα.

Απηή ε πξνζέγγηζε απαηηεί πνιχ ρξφλν επεηδή ε ζρεδίαζεηνπ ινγηζµηθνχ γίλεηαη μερσξηζηά απφ ηε ζρεδίαζε ηνπαιγνξίζµνπ.

Page 98: Real Time Systems

Η µέζνδνο rapid prorotyping ζπλδέεη ηε ζρεδίαζε ηνπαιγνξίζµνπ µε ηελ αλάπηπμε ηνπ ινγηζµηθνχ, έρνληαοπαξάιιεια ππφςε ην δηαζέζηµν πιηθφ. Ο θψδηθαο, δειαδήπνπ παξάγεηαη είλαη εηδηθά πξνζαξµνζµέλνο γηα ηνελζσµαησµέλν ζχζηεµα πνπ έρνπµε επηιέμεη (µηα δηαδηθαζία πνπνλνµάδεηαη targeting).

ΣΥΝΕΧΕΙΑ

Page 99: Real Time Systems

Η µέζνδνο αξρίδεη µε ηελ αλάπηπμε ελφο µνληέινπ πνπαλαπαξηζηά ην θπζηθφ ζχζηεµα µε φζν γίλεηαη µεγαιχηεξεπηζηφηεηα θαη ην νπνίν ρξεζηµνπνηείηαη γηα ηηο πξψηεοπξνζνµνηψζεηο. Μφιηο ην απνηέιεζµα θηάζεη ηα πξνζδνθψµελαεπίπεδα, ην block δηάγξαµµα ηνπ ζπζηήµαηνο µεηαηξέπεηαη ζεθψδηθα πξαγµαηηθνχ ρξφλνπ, θαηάιιειν γηα εθηέιεζε ζηνπιηθφ πνπ δηαζέηνπµε (µηθξνειεγθηήο ή θάπνηνο εηδηθάδηαµνξθσµέλνο ππνινγηζηήο).

Page 100: Real Time Systems

Πξνθεηµέλνπ λα γίλεη ε πξνζνµνίσζε πην ξεαιηζηηθή, µηαιχζε είλαη λα αληηθαηαζηαζνχλ νξηζµέλα µφλν µέξε ηνπζπζηήµαηνο µε πξαγµαηηθφ πιηθφ, ελψ θάπνηα άιια λαπξνζνµνηψλνληαη απφ ινγηζµηθφ. Απηή ε πξνζέγγηζενλνµάδεηαη Hardware-in-the-loop (HIL) θαη απνηειείεπέθηαζε ηεο µεζφδνπ rapid prototyping.

ηελ πξνζνµνίσζε HIL ην ζχζηεµα δηαζπάηαη ζε δχν μερσξηζηάδηαγξάµµαηα, έλα γηα ην θπζηθφ ζχζηεµα θαη έλα γηα ηνλειεγθηή, ηα νπνία αιιειεπηδξνχλ µέζσ εηδηθψλ blockεπηθνηλσλίαο (I/O blocks). Επεηδή ππάξρεη άµεζεαιιειεπίδξαζε ηνπ ινγηζµηθνχ µε ην πιηθφ, ε έλλνηα ηνππξαγµαηηθνχ ρξφλνπ γίλεηαη πξσηαξρηθήο ζεµαζίαο.

ΣΥΝΕΧΕΙΑ

Page 101: Real Time Systems

Η πξνζνµνίσζε HIL επηηξέπεη ηε ιεπηνµεξή θαηεπαλαιαµβαλφµελε δνθηµή ησλ δηαθφξσλ ηµεµάησλ ελφοελζσµαησµέλνπ ζπζηήµαηνο µέζα ζε εξγαζηεξηαθφπεξηβάιινλ, αιιά θάησ απφ πξαγµαηηθέο ζπλζήθεοιεηηνπξγίαο,.

Απηή ε πξνζέγγηζε νδεγεί, ηππηθά, ζε έλα θαιχηεξαδνθηµαζµέλν πξντφλ µε ζεµαληηθά ραµειφηεξν θφζηνο απφφηη µε ηηο παξαδνζηαθέο µεζφδνπο δνθηµήο. Η βαζηθή αξρήηεο µεζφδνπ HIL είλαη πσο έλα ηµήµα ηνπ πξαγµαηηθνχ µαοζπζηήµαηνο (hardware) αληηθαζίζηαηαη απφ έλα µνληέινπξνζνµνίσζεο ζε πξαγµαηηθφ ρξφλν.

Page 102: Real Time Systems

Όπσο θαίλεηαη ζην θάησζη ζρήµα, ππάξρνπλ πνιιέο επηινγέογηα ηελ αληηθαηάζηαζε ελφο πξαγµαηηθνχ ζπζηήµαηνο.

Εδψ θαίλεηαη φηη ην µνληέιν πξνζνµνίσζεο µπνξεί λααληηθαηαζηήζεη είηε ηνλ ειεγθηή, είηε ην θπζηθφ ζχζηεµα, είηεηνπο αηζζεηήξεο.

Η ζπλεζέζηεξε επηινγή είλαη ε αληηθαηάζηαζε ηνπ θπζηθνχζπζηήµαηνο, δηφηη µε ηνλ ηξφπν απηφ µπνξνχµε εχθνια λααιιάμνπµε ην θπζηθφ ζχζηεµα πνπ ειέγρνπµε µεηαβάιινληαοαπιά ην αληίζηνηρν µαζεµαηηθφ µνληέιν.

Σν γεγνλφο απηφ µαο παξέρεη µεγάιε επειημία, ελψ παξάιιειαµεηψλεη ζεµαληηθά ην απαηηνχµελν θφζηνο.

Page 103: Real Time Systems
Page 104: Real Time Systems

Μεξηθνί απφ ηνπο ιφγνπο πνπ µπνξεί λα επηβάιινπλ ηε ρξήζε ηεοηερληθήο HIL είλαη:

Σν ζχζηεµα είλαη δπζπξφζηην. Γηα παξάδεηγµα, έλαο δνξπθφξνο πνπ έρεη ζρεδηαζηεί γηα λα ιεηηνπξγεί ζην πεξηβάιινλ µεδεληθήο βαξχηεηαο ηνπ δηαζηήµαηνο δε µπνξεί λα δνθηµαζηεί θάησ απφ ηηο ζπλζήθεο πνπ επηθξαηνχλ ζηε γε. Ο µφλνο ηξφπνο είλαη λα µνληεινπνηεζεί ε δπλαµηθή ηνπ δνξπθφξνπ θαη λα αζθεζεί ν έιεγρνο µε θαηάιιειν hardware.

H δνθηµή ελδέρεηαη λα βιάςεη ην ζχζηεµα

Η δνθηµή µε ην θπζηθφ ζχζηεµα µπνξεί λα ζέζεη ζε θίλδπλν αλζξψπηλεο δσέο

Άιινη νηθνλνµηθνί ιφγνη

Page 105: Real Time Systems

Σα βηνκεραληθά δίθηπα ππνινγηζηψλ απνηεινχλ κηαππνθαηεγνξία ησλ ηνπηθψλ δηθηχσλ ππνινγηζηψλ κεζπγθεθξηκέλεο απαηηήζεηο θαη πξνδηαγξαθέο.

θνπφο ησλ βηνκεραληθψλ δηθηχσλ είλαη λα παξέρνπλ ηελππνδνκή γηα ηελ αλάπηπμε θαηαλεκεκέλσλ ζπζηεκάησλαπηνκαηνπνίεζεο.

ΣΥΝΕΧΕΙΑ

Page 106: Real Time Systems

Βαζηθή πξνυπφζεζε γηα λα γίλεη απηφ είλαη λα κπνξεί έλαβηνκεραληθφ δίθηπν λα εμαζθαιίδεη δηθηπαθή απφθξηζε ζεπξαγκαηηθφ ρξφλν θαη λα έρεη πςειή αμηνπηζηία ιεηηνπξγίαο.

Τπάξρνπλ δπν κεγάιεο θαηεγνξίεο πνπ θαηαηάζζνληαη ηα δίθηπαπξαγκαηηθνχ ρξφλνπ , απηέο είλαη ηα δίθηπα απζηεξνχπξαγκαηηθνχ ρξφλνπ θαη ηα δίθηπα ειαζηηθνχ πξαγκαηηθνχρξφλνπ.

Page 107: Real Time Systems

Η ιεηηνπξγία ησλ δηθηχσλ απζηεξνχ πξαγκαηηθνχ ρξφλνπεμαξηάηαη απφ ην ινγηθφ απνηέιεζκα ησλ δηαθφξσλ δηαδηθαζηψλθαη απφ ην ρξφλν ζηνλ νπνίν παξάγνληαη απηά ηα απνηειέζκαηα.

πλεπψο έλα δίθηπν αςζηηπά ππαγμαηικού σπόνος είλαηαπηφ ζην νπνίν ν ρξφλνο θάζε επηθνηλσληαθνχ ηνπ έξγνπ έρεη έλααπζηεξά θαζνξηζκέλν ρξνληθφ ζεκείν ιήμεο. Εθαξκνγέο πνπζηεξίδνληαη ζε δίθηπα απζηεξνχ πξαγκαηηθνχ ρξφλνπ είλαη ηαζπζηήκαηα ζπλαγεξκνχ.

Page 108: Real Time Systems

Σα δίθηπα απηά ζηνρεχνπλ ζηε κεγηζηνπνίεζε ηνπ πνζνζηνχ ησλπαθέησλ πνπ κεηαδίδνληαη ηθαλνπνηψληαο θάπνηνπξνθαζνξηζκέλν ρξνληθφ φξην κεηάδνζεο.

ηα δίθηπα ειαζηηθνχ πξαγκαηηθνχ ρξφλνπ επηηξέπεηαη επαξαβίαζε ηνπ ρξνληθνχ νξίνπ κεηάδνζεο γηα έλα πεξηνξηζκέλνπνζνζηφ παθέησλ θαζψο θάηη ηέηνην δελ επεξεάδεη ηελ νκαιήιεηηνπξγία ηεο εθαξκνγήο ελφο ηέηνηνπ δηθηχνπ.

ΣΥΝΕΧΕΙΑ

Page 109: Real Time Systems

Σν πνζνζηφ απηφ εμαξηάηαη πάληα απφ ηελ εθαξκνγή. Έλαπαθέην πνπ δελ έρεη κεηαδνζεί επηηπρψο κέζα ζε θάπνην ρξνληθφφξην ζεσξείηαη ρακέλν, άζρεηα αλ ιακβάλεηαη απφ ην ζηαζκφπξννξηζκνχ, θαη αθπξψλεηαη. Εθαξκνγέο πνπ ρξεζηκνπνηνχλδίθηπα ειαζηηθνχ πξαγκαηηθνχ ρξφλνπ είλαη ζπζηήκαηακεηάδνζεο θσλήο.

Page 110: Real Time Systems

Η κεηαγσγή κελχκαηνο παθέηνπ ρξεζηκνπνηείηαη φηαλ δελ ππάξρεη δίθαηα θαηαλνκή ηνπ εχξνπο δψλεο ηνπ θαλαιηνχ ζην νπνίν κεηαδίδνληαη πιεξνθνξίεο. ε πνιιέο δηθηπαθέο εθαξκνγέο ππάξρεη αλνκνηνκνξθία ηεο παξαγφκελεο θίλεζεο απφ ηνπο θφκβνπο.

Απηή ε δηαθνξνπνίεζε είλαη σο πξνο ην είδνο ηεο θίλεζεο (ζχγρξνλε ή αζχγρξνλε) θαη ηα ρξνληθά ηεο ραξαθηεξηζηηθά (πξαγκαηηθνχ ή κε πξαγκαηηθνχ ρξφλνπ).

Επίζεο δηαθνξνπνηείηαη ην εχξνο ησλ παξαγφκελσλ πιεξνθνξηαθψλ κελπκάησλ (ζε ςεθία ή bits) ην νπνίν πξνζδηνξίδεηαη απφ ηελ θαηαλνκή πνπ κπνξεί λα είλαη ζηαζεξή ή κεηαβιεηή.

ΣΥΝΕΧΕΙΑ

Page 111: Real Time Systems

Μηα ηέηνηα αλνκνηνκνξθία κπνξεί λα νδεγήζεη ζε πξνβιήκαηαζηε κεηάδνζε ησλ παθέησλ ηδηαίηεξα φηαλ αθνξά δηαθίλεζεπιεξνθνξίαο πξαγκαηηθνχ ρξφλνπ.

Γηα ηελ απνθπγή ηέηνησλ πξνβιεκάησλ ρξεζηκνπνηείηαη εκεηαγσγή παθέηνπ, δειαδή ην κήλπκα ρσξίδεηαη ζε επηκέξνποκηθξφηεξα ηκήκαηα (παθέηα) ζηαζεξνχ εχξνπο. Απηφ έρεη ζαλαπνηέιεζκα ηα κελχκαηα λα κεηαδίδνληαη κέζα ζην επηηξεπηφδηάζηεκα ρξφλνπ θαη λα κελ απνξξίπηνληαη.

Page 112: Real Time Systems

Τπάξρνπλ δπν κεγάιεο θαηεγνξίεο ηηο νπνίεο αλήθεη ν ηχπνο ηεοθίλεζεο θαλαιηνχ δεδνκέλσλ ελφο βηνκεραληθνχ δηθηχνπ. Αλάινγακε ηνλ ηχπν πξνδηαγξάθνληαη νη απαηηήζεηο γηα απφθξηζε ζεπξαγκαηηθφ ρξφλν.

Page 113: Real Time Systems
Page 114: Real Time Systems

Είλαη ε θίλεζε πνπ δεκηνπξγείηαη απφ ηελ πεξηνδηθήδεηγκαηνιεςία θαη κεηάδνζε ησλ ηηκψλ δηαθφξσλ κεηαβιεηψλπνπ παξάγνπλ νη αηζζεηήξεο θαη απφ ηε κεηάδνζε δεδνκέλσλ θαηεληνιψλ απφ ηνπο ελεξγνπνηεηέο.

Σα πεξηνδηθά κελχκαηα ππφθεηληαη ζε απζηεξνχο πεξηνξηζκνχοσο πξνο ην επηηξεπφκελν κέγηζην ρξφλν απφθξηζεο , ν νπνίνο γηαθιαζηθέο βηνκεραληθέο εθαξκνγέο είλαη ηεο ηάμεο ιίγσλ ms.

Page 115: Real Time Systems

Είλαη ε θίλεζε πνπ πξνέξρεηαη απφ ηπραία παξαγφκελα παθέηαδεδνκέλσλ ή κελπκάησλ. Σν κεγάιν πνζνζηφ απηήο ηεο θίλεζεοδελ απαηηεί εμππεξέηεζε ζε πξαγκαηηθφ ρξφλν θαη κπνξεί λαπξνέξρεηαη απφ θφξησκα πξνγξακκάησλ θαη παξακέηξσλ,ζπιινγή ζηνηρείσλ γηα επεμεξγαζία θαη δηάγλσζε ηεοθαηάζηαζεο ησλ ζπζθεπψλ πεδίνπ ή απφ ζπιινγή πιεξνθνξίαογηα ηε δηακφξθσζε ηνπ ηξφπνπ ιεηηνπξγίαο ησλζπζθεπψλ/κνλάδσλ ηνπ ζπζηήκαηνο.

Page 116: Real Time Systems

Έλα ζχζηεκα ζπιινγήο δεδνκέλσλ απνηειείηαη απφ έλα ζχλνιν αηζζεηεξίσλ πνπ κεηαηξέπνπλ ηα πξνο κέηξεζε θπζηθά κεγέζε ζε ζήκαηα ηάζεο ή ξεχκαηνο.

Έλαο κεηαηξνπέαο αλαινγηθνχ ζήκαηνο ζε ςεθηαθφ θάλεη ηε κεηαηξνπή ηεο αλαινγηθήο ηάζεο ηνπ αηζζεηεξίνπ ζε ςεθηαθή, ιακβάλνληαο δείγκαηα ηνπ αλαινγηθνχ ζήκαηνο ζε ηαθηά ρξνληθά δηαζηήκαηα.

Η κεηαηξνπή απηή κπνξεί λα γίλεη κε ηηο ιεγφκελεο θάξηεο DAQ πνπ είλαη εηδηθφ πιηθφ ςεθηαθψλ κεηξήζεσλ. Καηφπηλ, ε κέηξεζε κεηαθέξεηαη πξνο έλαλ ππνινγηζηή, φπνπ απνζεθεχεηαη κε ηελ κνξθή αξρείνπ ή θαηαγξάθεηαη ζε πξαγκαηηθφ ρξφλν. Επίζεο, ην ζήκα ηεο κέηξεζεο κπνξεί λα ππνζηεί επεμεξγαζία ζε πξαγκαηηθφ ρξφλν.

ΣΥΝΕΧΕΙΑ

Page 117: Real Time Systems

ην παξάδεηγκα απηφ, ε πεξίνδνο ηεο δεηγκαηνιεςίαο παίδεη ζεκαληηθφ ξφιν. Αλάινγα κε ηε θχζε ηνπ ζήκαηνο πνπ πξέπεη λα θαηαγξαθεί ζε πξαγκαηηθφ ρξφλν, ε πεξίνδνο απηή κπνξεί λα είλαη κηθξφηεξε ή κεγαιχηεξε.

Γηα παξάδεηγκα, αλ ην ζήκα πνπ ζέινπκε λα θαηαγξάςνπκε πεξηέρεη δηάθνξεο ζπρλφηεηεο απφ ηηο νπνίεο ε κεγαιχηεξε είλαη ηα 20 KHz, ηφηε ζχκθσλα κε ην θξηηήξην ηνπ Nyquist ε ζπρλφηεηα ηεο δεηγκαηνιεςίαο δελ πξέπεη λα είλαη κηθξφηεξε απφ 2fmax = 40 KHz. Άξα, ε πεξίνδνο ηεο δεηγκαηνιεςίαο πξέπεη λα είλαη κηθξφηεξε ή ίζε απφ 1/40ΚHz = 25κs.

ΣΥΝΕΧΕΙΑ

Page 118: Real Time Systems

Αλ πάιη ην ζήκα πνπ ζέινπκε λα θαηαγξάςνπκε κεηαβάιιεηαη πνιχ αξγά, φπσο ζπκβαίλεη, γηα παξάδεηγκα, κε ην ζήκα πνπ παξάγεη έλα ζεξκφκεηξν δσκαηίνπ, ηφηε αξθεί κηα πεξίνδνο δεηγκαηνιεςίαο ηεο ηάμεο ηνπ ελφο δεπηεξνιέπηνπ. Άξα, θαη πάιη ν ζρεδηαζκφο θαη ην θφζηνο ηνπ ζπζηήκαηνο ζπλδένληαη κε ηνπο ρξνληθνχο πεξηνξηζκνχο ηεο ζπγθεθξηκέλεο εθαξκνγήο.

Page 119: Real Time Systems

ην θάησζη ζρήκα, βιέπνπκε κηα ηππηθή δηάηαμε ζπιινγήοδεδνκέλσλ κεηξήζεσλ, πνπ ζηεξίδεηαη ζε κηθξνυπνινγηζηή.

Κεληξηθφ ξφιν ζηελ παξαθάησ δηάηαμε κεηξήζεσλ παίδεη ηνπιηθφ πνπ εκθαλίδεηαη ζην θέληξν. Πξφθεηηαη γηα κηα θάξηα DAQ(Data Acquisition), πνπ ζπλδέεηαη ζε έλαλ απφ ηνπο δηαχινπο ηνπππνινγηζηή, ζπλήζσο ηνλ δίαπιν PCI, θαη αλαιακβάλεη ηεξχζκηζε θαη ηελ κεηαηξνπή ηνπ ζήκαηνο πνπ πξνέξρεηαη απφ ηνλαηζζεηήξα.

ΣΥΝΕΧΕΙΑ

Page 120: Real Time Systems

Ο βαζηθφο ηνπ ξφινο είλαη ε κεηαηξνπή ησλ αλαινγηθψλζεκάησλ ζε ςεθηαθά, κέζσ αλαινγηθψλ θαλαιηψλ εηζφδνπ. Σνίδην πιηθφ παξέρεη ζπρλά ηε δπλαηφηεηα γηα έμνδν αλαινγηθψλζεκάησλ κέζσ κεηαηξνπέσλ ςεθηαθψλ ζεκάησλ ζε αλαινγηθά.Παξέρεη επίζεο, εηζφδνπο θαη εμφδνπο ςεθηαθψλ ζεκάησλ,θαζψο θαη εηζφδνπο ή εμφδνπο παικψλ ρξνληζκνχ.

Page 121: Real Time Systems

ε πνιιέο πεξηπηψζεηο ηε ξχζκηζε ηνπ ζήκαηνο αλαιακβάλεηπιηθφ πνπ ζπλδέεηαη κε ηα αηζζεηήξηα θαη πξνεγείηαη ηεο θάξηαοDAQ. Σν πιηθφ απηφ αλαθέξεηαη σο χζηεκα Ρχζκηζεο(Conditioning System) θαη αλαιακβάλεη ιεηηνπξγίεο φπσοελίζρπζε, εμαζζέλεζε, θηιηξάξηζκα θαη πξνζαξκνγή ησλζεκάησλ.

Page 122: Real Time Systems
Page 123: Real Time Systems

Έλα ηππηθφ παξάδεηγκα ηνπ φζν πην ζχλζεην γίλεηαη ην ζχζηεκα ειέγρνπ, ηφζν πην πνιιά επίπεδα ειέγρνπ ρξεηάδεηαη λα εθηεινχληαη ζε πξαγκαηηθφ ρξφλν είλαη ν έιεγρνο ηεο πηήζεο ελφο αεξνπιάλνπ, πνπ πεξηιακβάλεη ηα εμήο επίπεδα:

ζην ρακειφηεξν επίπεδν ππάξρεη ν έιεγρνο ησλ πηεηηθψλ ζπζηεκάησλ ηνπ αεξνζθάθνπο (flight control),

ζε ακέζσο ςειφηεξν επίπεδν ππάξρεη ην ζχζηεκα δηαρείξηζεο ηεο πηήζεο (flight management) θαη ηέινο,

ζην αλψηεξν ηεξαξρηθά επίπεδν ππάξρεη ην ζχζηεκα ειέγρνπ ηεο ελαέξηαο θπθινθνξίαο (air-traffic control).

ΣΥΝΕΧΕΙΑ

Page 124: Real Time Systems

Ο ελαέξηνο έιεγρνο ξπζκίδεη ηελ ξνή ησλ αεξνζθαθψλζε θάζε αεξνδξφκην, ζέηνληαο ρξνληθά φξηα ζηελ άθημε θάζε αεξνζθάθνπο ζε πξνθαζνξηζκέλα γεσγξαθηθά ζεκεία.

Σν ζχζηεκα δηαρείξηζεο ηεο πηήζεο ζε θάζε αεξνζθάθνο ραξάδεη ηελ θαιχηεξε δπλαηή πνξεία ηνπ αεξνπιάλνπ, ψζηε απηφ λα θηάζεη ζην πξνθαζνξηζκέλν ζεκείν ζηνλ πξνβιεπφκελν ρξφλν.

Φπζηθά, ιακβάλεη ππφςε ηνπ ηνπο θαλφλεο ελαέξηαο θπθινθνξίαο, ηνλ θαηξφ θαη ηελ θαηαλάισζε θαπζίκσλ. Σέινο, ν ειεγθηήο πηήζεο ξπζκίδεη ηα ππνζπζηήκαηα ηνπ αεξνπιάλνπ (ηαρχηεηα, ζηξνθή, ξπζκφο αλφδνπ/θαζφδνπ) ψζηε ην αεξνπιάλν λα αληαπνθξηζεί ζηελ πξνβιεπφκελε πνξεία.

ΣΥΝΕΧΕΙΑ

Page 125: Real Time Systems

Πξνθαλψο, ηα δηάθνξα επίπεδα ειέγρνπ έρνπλδηαθνξεηηθνχο ρξνληθνχο πεξηνξηζκνχο. πλήζσο ηα ςειφηεξαεπίπεδα ειέγρνπ έρνπλ ιηγφηεξν απζηεξέο πξνζεζκίεο γηα ηελεθηέιεζε κηαο εξγαζίαο.

Γηα παξάδεηγκα, ην ζηίγκα θαη νη κεηαβιεηέο θαηάζηαζεο θάζεαεξνζθάθνπο πξέπεη λα αλαλεψλνληαη ζηηο νζφλεο ησλξαληάξ πεξίπνπ θάζε έλα ή δχν δεπηεξφιεπηα.

ΣΥΝΕΧΕΙΑ

Page 126: Real Time Systems

Σν ζχζηεκα δηαρείξηζεο πηήζεο κπνξεί λα θαηαζηξψλεη ηνζρέδην πηήζεο αθφκε θαη πξηλ ηελ απνγείσζε, ελψ νηζρεηηθνί ππνινγηζκνί πνπ είλαη απαξαίηεηνη θαηά ηελ δηάξθεηα ηεοπηήζεο έρνπλ έλα πεξηζψξην αξθεηψλ δεπηεξνιέπησλ ή ιεπηψλ.

Οη ςεθηαθνί ειεγθηέο πνπ ειέγρνπλ ηα πηεηηθά ππνζπζηήκαηαηνπ αεξνζθάθνπο, φκσο, έρνπλ πνιχ απζηεξνχο πεξηνξηζκνχο,θαζψο νη έιεγρνη πξέπεη λα γίλνληαη δεθάδεο ή εθαηνληάδεοθνξέο ην δεπηεξφιεπην.

Page 127: Real Time Systems

Γηα ηελ εμαζθάιηζε ηεο αζθάιεηαο θαη ηεο πηζηφηεηαο θαηά ηνλζρεδηαζκφο ησλ ζπζηεκάησλ πξαγκαηηθνχ ρξφλνπ εθαξκφδνληαηδηάθνξεο ηερληθέο φπσο:

Πποζομοίυζη: Η εθαξκνγή ελφο ζρεδίνπ ειέγρνπ ζην κνληέινηνπ ζπζηήκαηνο κε ζθνπφ ηελ αλάιπζε ηεο ζπκπεξηθνξάο ηνπ.Οη θαηεγνξίεο πξνζνκνίσζεο είλαη ε πποζομοίυζη γεγονόηυνππαγμαηικού σπόνος (real time event simulation) φπνπ ηαγεγνλφηα θαη νη απνθξίζεηο ζπκβαίλνπλ θαη θαηαγξάθνληαη ζεπξαγκαηηθφ ρξφλν θαη ε πποζομοίυζη διακπιηών γεγονόηυν( discrete event simulation) φπνπ ηα γεγνλφηα θαη νη απνθξίζεηοδελ ζπκβαίλνπλ ζε πξαγκαηηθφ ρξφλν αιιά εμαξηψληαη απφ ηεληαρχηεηα ηνπ πιηθνχ ηνπ πξνζνκνησηή θαη ησλ εθηεινχκελσλεληνιψλ.

ΣΥΝΕΧΕΙΑ

Page 128: Real Time Systems

Έλεγσορ: Σα ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ ειέγρνληαη θαηά ηε δηάξθεηα θαη κεηά ηελ νινθιήξσζε ηνπ ζρεδηαζκνχ ηνπο. Οη ζπλεζέζηεξεο κέζνδνη ειέγρνπ ινγηζκηθνχ γηα ζπζηήκαηα πξαγκαηηθνχ ρξφλνπ είλαη ν λειηοςπγικόρ έλεγσορ (functional testing) φπνπ δεκηνπξγνχληαη δεδνκέλα ειέγρνπ απφ ηηο πξνδηαγξαθέο ηνπ ζπζηήκαηνο ηα νπνία εθαξκφδνληαη ζαλ είζνδνο ζην ζχζηεκα θαη ειέγρεηαη ε απφθιηζε ηεο εμφδνπ απφ ηηο πξνδηαγξαθέο, ν έλεγσορ διασυπιζμού (partition testing) φπνπ ν ηνκέαο εηζφδνπ δεδνκέλσλ ηνπ ζπζηήκαηνο ρσξίδεηαη ζε ππνζχλνια θαη δεδνκέλα ειέγρνπ πνπ εθαξκφδνληαη ζαλ είζνδνη ζην ζπλνιηθφ ζχζηεκα θαη ν δνκηθφο έιεγρνο (structural testing) φπνπ ηα δεδνκέλα ειέγρνπ πξνθχπηνπλ απφ κειέηε ηνπ πεγαίνπ θψδηθα πνπ απνηειεί ην ζχζηεκα.

ΣΥΝΕΧΕΙΑ

Page 129: Real Time Systems

Μονηελοποίηζη: Σν ζχζηεκα κεηαηξέπεηαη ζε έλα εχρξεζην

κνληέιν κέζσ κηαο ηππηθήο γιψζζαο πεξηγξαθήο κε ζθνπφ ηελαλαπαξάζηαζε ησλ ηδηνηήησλ ηνπ ζπζηήκαηνο κε καζεκαηηθέοζρέζεηο.

Πιζηοποίηζη: Η δηαδηθαζία ηεο πηζηνπνίεζεο εγγπάηαη φηη ηνζχζηεκα ζπκθσλεί κε ηηο πξνδηαγξαθέο ηνπ κεηά ηε δηαδηθαζίαηνπ ειέγρνπ.

Page 130: Real Time Systems

Παξφιν πνπ ε Java έρεη πνιιά πιενλεθηήµαηα ζε ζρέζεµε άιιεο γιψζζεο πξνγξαµµαηηζµνχ φπσο εχθνιε θαηγξήγνξε αλάπηπμε εθαξµνγψλ, αλεμαξηεζία απφ ηνιεηηνπξγηθφ ζχζηεµα θαη ηελ πιαηθφξµα, αζθάιεηα θ.α., εvirtual machine (VM) ηεο Java έρεη θάπνηα ραξαθηεξηζηηθάπνπ δπζθνιεχνπλ ηελ αλάπηπμε εθαξµνγψλ πξαγµαηηθνχρξφλνπ ζε Java.

Κάπνηα απφ ηα ζπζηαηηθά ζηνηρεία ηεο VM φπσο ν garbagecollector θαη ν class loader µπνξνχλ λα εηζάγνπλ απξφβιεπηεοθαζπζηεξήζεηο ζηελ εθηέιεζε µηαο εθαξµνγήο.

Απηφ φµσο πνπ ζέιεη λα απνθχγεη µηα εθαξµνγήπξαγµαηηθνχ ρξφλνπ είλαη απξφβιεπηεο θαζπζηεξήζεηο πνπµπνξνχλ λα ηελ νδεγήζνπλ ζην λα ράζεη θάπνηα ρξνληθήπξνζεζµία.

Page 131: Real Time Systems

Όπσο πξναλαθέξζεθε ην µεγαιχηεξν πξφβιεµα ηεο Java,γηα ηα ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ, είλαη ν garbagecollector. Η VM µπνξεί λα ζηαµαηήζεη ηελ εθηέιεζε ηεοεθαξµνγήο ζε απξφβιεπηεο ρξνληθέο ζηηγµέο θαη λα εθθηλήζεη ηεδηαδηθαζία ηνπ garbage collection.

Μηα ιχζε ζε απηφ ην πξφβιεµα ζα µπνξνχζε λα είλαη ε ρξήζεθάπνηαο άιιεο γιψζζαο γηα ηηο εξγαζίεο πνπ έρνπλε απαηηήζεηοπξαγµαηηθνχ ρξφλνπ θαη ρξήζε ηεο Java γηα ηηο ππφινηπεο.Πξάγµαηη, ππάξρνπλ ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ πνππεξηιαµβάλνπλ εξγαζίεο φπσο ην user interface, ην loggingsystem, ε αξρηθνπνίεζε ηνπ ζπζηήµαηνο, νη νπνίεο δελ έρνπλαπζηεξέο ρξνληθέο απαηηήζεηο θαη άιιεο πνπ έρνπλ αιιά εζπρλφηεηα ηνπο δελ είλαη µεγάιε.

Page 132: Real Time Systems

Έηζη, ζηα δηαζηήµαηα αλάµεζα ζηηο εθηειέζεηο ησλ εξγαζηψλπξαγµαηηθνχ ρξφλνπ µπνξνχλ λα εθηεινχληαη νη ππφινηπεοεξγαζίεο. Οη εξγαζίεο πξαγµαηηθνχ ρξφλνπ µπνξνχλ λαγξαθνχλ ζε C θαη νη ππφινηπεο ζε Java. Έηζη νη πξψηεο δελείλαη δπλαηφλ λα δηαθνπνχλ απφ ην garbage collector.

Page 133: Real Time Systems

Μηα άιιε µέζνδνο πνπ έρεη εθαξµνζζεί ζε ζπζηήµαηαπξαγµαηηθνχ ρξφλνπ είλαη ε ρξήζε θάπνηνπ επεξεπγαζηή Java(Java processor).

Έλαο Java processor είλαη ε πινπνίεζε ηεο εηθνληθήο µεραλήοηεο Java ζε hardware. Είλαη, δειαδή, έλαο επεμεξγαζηήο µεinstruction set ηα bytecode ηεο Java. Σν πιενλέθηεµα απηήοηεο µεζφδνπ είλαη φηη δελ ππάξρεη interpreter θαη JIT compiler,νπφηε απμάλεη ε ηαρχηεηα εθηέιεζεο ησλ εθαξµνγψλ.

Page 134: Real Time Systems

Μηα ηξίηε µέζνδνο είλαη ε ρξήζε µηαο real-time VM πνπέρεη πινπνηεζεί µε ηηο πξνδηαγξαθέο πξαγµαηηθνχ ρξφλνπηεο Java (RTSJ). Οη RTSJ δίλνπλ ηε δπλαηφηεηα ζηνπξνγξαµµαηηζηή λα αλαπηχμεη εθαξµνγέο πνπ ν ρξφλνοεθηέιεζήο ηνπο ζα είλαη πξνβιέςηµνο.

Εηζάγνπλ, επίζεο, λένπο µεραληζµνχο θαη εξγαιεία γηα λαδηεπθνιχλνπλ ηελ αλάπηπμε real-time εξγαζηψλ. ε απηάπεξηιαµβάλνληαη λένη ηχπνη threads, λέα µνληέια µλήµεο,timers µε nanosecond αθξίβεηα, απεπζείαο πξφζβαζε ζηεθπζηθή µλήµε, asynchronous event handlers θ.α.

Page 135: Real Time Systems

Οη παξαπάλσ µέζνδνη µπνξνχλ λα εθαξµνζηνχλ µε επηηπρίαηφζν ζε soft realtime, φζν θαη ζε hard real-time ζπζηήµαηα.πλεπψο, ε πιαηθφξµα ηεο Java µπνξεί πιένλ λαηθαλνπνηήζεη ηηο απαηηήζεηο ησλ εθαξµνγψλ πξαγµαηηθνχρξφλνπ.

Οη παξαπάλσ µέζνδνη ζε ζπλδπαζµφ µε ηα ππφινηπαηδηαίηεξα γλσξίζµαηα πνπ δηαθξίλνπλ ηε Java ηελ θαζηζηνχλµηα πνιχ θαιή επηινγή γηα ηελ αλάπηπμε ζπζηεµάησλπξαγµαηηθνχ ρξφλνπ, ηδηαίηεξα ζε πεξηπηψζεηο φπνπ νθψδηθαο άιισλ γισζζψλ γίλεηαη πνιχ µεγάινο θαη πνιχπινθνο.

Page 136: Real Time Systems

Η RTJ ρξεζηµνπνηείηαη ζήµεξα ζε πνιιά ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ, φπσο ζε ζπζηήµαηα βηνµεραληθνχ ειέγρνπ, ζε αεξνπιάλα, ζε νηθνλνµηθά ζπζηήµαηα θαη ζηελ επεμεξγαζίαο ήρνπ. Η εγγχεζε πνπ παξέρεη γηα πξνβιέςηµε εθηέιεζε ησλ εθαξµνγψλ θάλεη εθηθηή ηελ ρξήζε ηεο ηφζν ζε soft real-time φζν θαη ζε hard realtime ζπζηήµαηα.

Όια απηά φµσο δελ έξρνληαη ρσξίο θάπνην θφζηνο. Οη RTSJ εηζάγνπλ λέα ζηνηρεία φπσο νη δχν λέεο πεξηνρέο µλήµεο, νη νπνίεο έρνπλ βέβαηα πιενλεθηήµαηα αιιά δπζθνιεχνπλ ηνλ πξνγξαµµαηηζµφ θαζψο ν πξνγξαµµαηηζηήο πξέπεη θάζε θνξά λα ζθέθηεηαη πνπ ζα δεµηνπξγήζεη θάπνην αληηθείµελν. Επίζεο εηζάγνπλ λένπο θαλφλεο θαη πεξηνξηζµνχο φπσο π.ρ. πνπ ζα απνζεθεπηεί ε αλαθνξά ζε έλα αληηθείµελν. Παξφια απηά δελ πξνηείλνπλ θάπνηα µεζνδνινγία αλάπηπμεο.

ΣΥΝΕΧΕΙΑ

Page 137: Real Time Systems

Ο πξνγξαµµαηηζηήο ην λα επηιχζεη ηα παξαπάλσ ζέµαηαθαηά ηελ δηαδηθαζία ηεο πινπνίεζεο είλαη πνιχπινθν θαηεηζάγεη πνιιά ζθάιµαηα. Καηά ηε δηαδηθαζία ηεο πινπνίεζεοηα ιεηηνπξγηθά µέξε εµπιέθνληαη µε ηνπο θαλφλεο ησλ RTSJθαη δπζθνιεχνλ ηε δηαδηθαζία.

Επνµέλσο ππάξρεη αλάγθε γηα µηα µεζνδνινγία αλάπηπμεοεθαξµνγψλ ζε RTJ πνπ ζα εηζάγεη ηηο RTSJ ζην επίπεδν ηεοζρεδίαζεο ηεο εθαξµνγήο θαη ζα δηαρσξίδεη ηηο απαηηήζεηο ησλRTSJ απφ ηηο ιεηηνπξγηθέο απαηηήζεηο ζε φιε ηε δηαδηθαζίααλάπηπμεο.

Page 138: Real Time Systems

Έρνπλ πξνηαζεί ηερληθέο θαη µεζνδνινγίεο γηα ηελ αλάπηπμε

εθαξµνγψλ ζε RTJ πνιιέο απφ ηηο νπνίεο έρνπλ ρξεζηµνπνηεζεί µε

επηηπρία ζε δηάθνξεο εθαξµνγέο. Επίζεο έρνπλ αλαπηπρζεί

frameworks πνπ δηεπθνιχλνπλ ηφζν ηε ζρεδίαζε φζν θαη ηελ

αλάπηπμε ησλ εθαξµνγψλ µε ηελ ρξήζε ηεο ηερλνινγίαο

Component Based Software Engineering (CBSE).

Σν βαζηθφ ραξαθηεξηζηηθφ ηνπ CBSE είλαη ν δηαρσξηζµφο ησλ

επζπλψλ. Κάζε component εθηειεί ζπγθεθξηµέλεο εξγαζίεο θαη

παξέρεη θάπνηα interfaceγηα ηελ επηθνηλσλία µε άιινπο

components.

Έηζη θάζε component µπνξεί λα αλαπηπρζεί αλεμάξηεηα απφ

ηνπο ππφινηπνπο δηεπθνιχλνληαο ηελ δηαδηθαζία αλάπηπμεο.

Επίζεο έλα άιιν ζεµαληηθφ ραξαθηεξηζηηθφ ηνπ CBSE είλαη ε

δπλαηφηεηα επαλαρξεζηµνπνίεζεο ησλ components.

Page 139: Real Time Systems

Σα παξαπάλσ ραξαθηεξηζηηθά ησλ components ηνπο δίλνπλ ηελδπλαηφηεηα επαλαρξεζηµνπνίεζεο θαη ζε άιια ζπζηήµαηα έθηνοαπφ απηφ γηα ην νπνίν αλαπηχρζεθαλ.

Απηφ µεηψλεη ην θφζηνο θαη ηνλ ρξφλν αλάπηπμεο.

Επίζεο θάλεη πην εχθνιε ηε δηαδηθαζία ζπληήξεζεο θαηαλαβάζµηζεο.

Page 140: Real Time Systems

Η αλάπηπμε εθαξµνγψλ πξαγµαηηθνχ ρξφλνπ µε ηελ RTJεµθαλίδεη δπζθνιίεο. Απηφ νθείιεηαη ζηα λέα ζηνηρεία θαηπεξηνξηζµνχο πνπ εηζάγνπλ νη RTSJ αιιά θαη ζην φηη δελππάξρνπλ µεζνδνινγίεο αλάπηπμεο πνπ µπνξνχλ λαεθαξµνζηνχλ ζε έλα µεγάιν εχξνο πεξηπηψζεσλ.

Επίζεο, επεηδή ε RTJ είλαη ζρεηηθά θαηλνχξγηα δελ έρεηρξεζηµνπνηεζεί ζε πνιιά ζπζηήµαηα πξαγµαηηθνχ ρξφλνπ θαη εθνηλφηεηα ρξεζηψλ είλαη µηθξή, επνµέλσο δελ ππάξρνπλπνιιέο πιεξνθνξίεο θαη ππνζηήξημε ζην δηαδίθηπν.

Page 141: Real Time Systems

Με ηελ νινέλα θαη κεγαιχηεξε αλάπηπμε ησλ ελζσκαησκέλσλζπζηεκάησλ, ηα ιεηηνπξγηθά ηνπο ζπζηήκαηα απνθηνχλπεξηζζφηεξε ζεκαζία, φπσο επίζεο πεξηζζφηεξεπνιππινθφηεηα.

Η επειημία θαη επθνιία ρξήζεο πνπ πξνζθέξνπλ, θαζψο θαη ηνπςειφηεξν επίπεδν αθαίξεζεο πνπ παξέρνπλ ηφζν ζηνλπξνγξακκαηηζηή εθαξκνγψλ, φζν θαη ην ρξήζηε, ηα θαζηζηάαπαξαίηεηε αλάγθε γηα νινέλα θαη πεξηζζφηεξεο ζπζθεπέο,αλ θαη πάληα ζα ππάξρνπλ θάπνηεο νη νπνίεο κπνξνχλ λαιεηηνπξγήζνπλ ρσξίο απηά, κφλν κε κηα ειάρηζηε δηαζχλδεζε(γηα παξάδεηγκα έλαο θνχξλνο κηθξνθπκάησλ).

Page 142: Real Time Systems

Σα λειηοςπγικά ζςζηήμαηα ππαγμαηικού σπόνος (Real TimeOperating Systems-RTOS), ζπληζηνχλ ηππηθά κηα ππνθαηεγνξίαησλ ελζσκαησκέλσλ ιεηηνπξγηθψλ ζπζηεκάησλ, αιιά πξαθηηθάηελ πιεηνςεθία ηνπο.

Απηά έρνπλ σο πην βαζηθή παξάκεηξν ην ρξφλν απφθξηζεοηνπ ιεηηνπξγηθνχ ζπζηήκαηνο θαη ηελ πξνβιεςηκφηεηα ζε θάζεπηπρή ηνπ.

Page 143: Real Time Systems

Οη ρξνληθέο απαηηήζεηο πνπ έρνπλ πνιιά ππνινγηζηηθά ζπζηήκαηα επηβάιινπλ ηε ρξήζε ηδηαίηεξσλ ιεηηνπξγηθψλ ζπζηεκάησλ, ηα Λεηηνπξγηθά πζηήκαηα Πξαγκαηηθνχ Υξφλνπ (RTOS).

Απηά σζηφζν δελ έρνπλ δηαθνξά φζνλ αθνξά ηνλ ηχπν ησλ ππεξεζηψλ πνπ παξέρνπλ ζε ζρέζε κε ηα γεληθνχ ηχπνπ ιεηηνπξγηθά ζπζηήκαηα (GPOS). Αληίζεηα δηαθέξνπλ σο πξνο ηνλ ηξφπν πνπ ηηο πινπνηνχλ.

Page 144: Real Time Systems

ε φιεο ηηο πεξηπηψζεηο ε ρεηξφηεξε δπλαηή πεξίπησζε ζαπξέπεη λα έρεη θαιά θαηαλνεζεί θαη πεξηγξαθεί. ηα RTOSαπαηηείηαη απφιπηε πξνβιεςηκφηεηα ή αιιηψο ληεηεξκηληζκφο. Οληεηεξκηληζκφο ζαλ φξνο πεξηγξάθεη ηε ζεσξία φηη θάζεπξάμε έρεη ηελ αηηία ηεο.

ηα GPOS νη ππεξεζίεο κπνξεί λα εηζάγνπλ ηπραίεοθαζπζηεξήζεηο ζηηο εθαξκνγέο, ην νπνίν ζεκαίλεη αξγήαπφθξηζε ζε απξφζκελνπο ρξφλνπο. Οη ηπραίεο απηέοθαζπζηεξήζεηο είλαη απαγνξεπηηθέο ζηα RTOS. Οη ππεξεζίεοζα πξέπεη λα ρξεζηκνπνηνχλ γλσζηά θαη αλακελφκελα πνζάρξφλνπ. Γηα λα γίλεη απηφ ηα πνζά ρξφλνπ ζα πξέπεη λακπνξνχλ λα πεξηγξαθνχλ κε απζηεξά αιγεβξηθνχο ηχπνπο.

Page 145: Real Time Systems

Ο ρξνλνπξνγξακκαηηζκφο είλαη βαζηζκέλνο ζε ζχζηεκα πξνηεξαηνηήησλ. ε έλα ζχζηεκα πξαγκαηηθνχ ρξφλνπ, ην νπνίν κπνξεί ελψ πξαγκαηνπνηεί ζπγθεθξηκέλεο ιεηηνπξγίεο, λα δερζεί εμσηεξηθά εξεζίζκαηα ηα νπνία λα επηβάιινπλ άκεζε δέζκεπζε ηεο CPU απφ κηα επείγνπζα ιεηηνπξγία, ν θαζνξηζκφο πξνηεξαηνηήησλ ζηηο εξγαζίεο πνπ επηηεινχληαη θαίλεηαη θάηη ην εχινγν.

Καη πξαγκαηηθά, ζηνλ απηφκαην πηιφην ελφο αεξνζθάθνπο, ή αλακνλή ελφο εμσηεξηθνχ ζήκαηνο επηθίλδπλεο πξνζέγγηζεο ελφο άιινπ αεξνζθάθνπο λα ηειεηψζεη ιφγνπ ράξε ηε ιεηηνπξγία ηνπ έλαο garbage collector ζα είλαη θαηαζηξνθηθή, αλ φρη εηξσληθή.

ΣΥΝΕΧΕΙΑ

Page 146: Real Time Systems

Η πξνηεξαηφηεηα δελ αλαθέξεηαη κφλν ζηα εμσηεξηθά εξεζίζκαηα. ε έλα ζηξαηησηηθφ ππνινγηζηηθφ ζχζηεκα, νη εξγαζίεο πνπ εθηεινχληαη απφ ζηξαηεγνχο ζα έρνπλ κεγαιχηεξε πξνηεξαηφηεηα απφ απηέο πνπ εθηεινχληαη απφ ζπληαγκαηάξρεο, απηέο ζα έρνπλ κεγαιχηεξε πξνηεξαηφηεηα απφ ηηο αληίζηνηρεο ησλ ινραγψλ, ελψ φιεο ζα έρνπλ κεγαιχηεξε πξνηεξαηφηεηα απφ απηέο ελφο απινχ ζηξαηηψηε.

Η βαζηθή ηδέα πνπ πινπνηείηαη ινηπφλ, είλαη φηη ε εξγαζία κε ηελ πςειφηεξε πξνηεξαηφηεηα πνπ πξέπεη λα ηξέρεη, ζα είλαη θαη απηή πνπ ζα ηξέρεη.

Page 147: Real Time Systems

ηα ιεηηνπξγηθά ζπζηήκαηα γεληθνχ ζθνπνχ νρξνλνπξνγξακκαηηζηήο ςάρλεη ζε κηα δπλακηθή ιίζηα ηνπιεηηνπξγηθνχ ζπζηήκαηνο, ηνλ πίλαθα δηεξγαζηψλ (process table)ή αιιηψο κπινθ ειέγρνπ εξγαζηψλ (Task Control Block) γηα λαβξεη ηελ επφκελε εξγαζία. Όπσο είλαη εχινγν, φζν κεγαιχηεξνοείλαη απηφο ν πίλαθαο, δειαδή φζν πεξηζζφηεξεο εξγαζίεοβξίζθνληαη ζε αλακνλή, ηφζν πεξηζζφηεξν ρξφλν ζα θάλεη νρξνλνπξνγξακκαηηζηήο λα βξεη ηε ζσζηή θαη λα γίλεη εελαιιαγή.

ηα ιεηηνπξγηθά ζπζηήκαηα πξαγκαηηθνχ ρξφλνπρξεζηκνπνηνχληαη απμεηηθά ελεκεξσκέλνη πίλαθεο ζην TCB, πνπεπηηξέπνπλ ην ρξνλνπξνγξακκαηηζηή λα αλαγλσξίζεη ηελεπφκελε εξγαζία ηαρχηαηα, ζε ζηαζεξφ ρξφλν.

Page 148: Real Time Systems

Έλα ζύζηημα πολλαπλών καθηκόνηυν απνηειείηαη απφ ηνλππξήλα (kernel) πνπ επζχλεηαη γηα ηνλ ρεηξηζκφ θαζεθφλησλ θαηγεγνλφησλ, θαη απφ έλα ζχλνιν θαζεθφλησλ ζπζηήκαηνο(θέιπθνο-shell), πνπ παξέρνπλ πνηθηιία ππεξεζηψλ.

Σα θαζήθνληα ηνπ ζπζηήκαηνο εθηεινχληαη θάησ απφ ηνλέιεγρν ηνπ ππξήλα, φπσο θαη ηα θαζήθνληα εθαξκνγψλ. Οδηαρσξηζκφο ησλ θαζεθφλησλ δηαθέξεη απφ ζχζηεκα ζεζχζηεκα, απηφ φκσο πνπ είλαη θνηλφ είλαη ε εθηέιεζε απφ ηνλππξήλα ηεο βαζηθήο ιεηηνπξγίαο ειέγρνπ ηεο θαηάζηαζεο ησλθαζεθφλησλ θαη ε δηαρείξηζε ηεο κλήκεο.

Οη πίλαθεο θαηάζηαζεο θαζεθφλησλ νξγαλψλνληαη ζε ιίζηεο εθησλ νπνίσλ νη πην βαζηθέο είλαη: ν θαηάινγνο θαζεθφλησλ θαη νθαηάινγνο έηνηκσλ πξνο εθηέιεζε θαζεθφλησλ.

Page 149: Real Time Systems

Σα θαζήθνληα εθαξκνγψλ ζε έλα ζχζηεκα πνιιαπιψλθαζεθφλησλ εθηεινχληαη ηαπηφρξνλα. H ζεηξά κε ηελ νπνία ζαεθηειεζηνχλ είλαη απξφβιεπηε θαζψο εμαξηάηαη θαη απφεμσηεξηθά γεγνλφηα.

Κάηη ηέηνην σζηφζν δε κπνξεί λα γίλεη απνδεθηφ ζην ζρεδηαζκφελφο ζπζηήκαηνο πξαγκαηηθνχ ρξφλνπ. πλεπψο πξέπεη λαππάξρεη έλα ζχζηεκα ζπγρξνληζκνχ ησλ εθηειέζεσλ θαη έλαοκεραληζκφο πνπ λα επηβάιιεη κηα ζπγθεθξηκέλε επηζπκεηή ζεηξάεθηέιεζεο.

Page 150: Real Time Systems

Οη δηαδηθαζίεο ζε έλα ππνινγηζηηθφ ζχζηεκααιιεινεπεξεάδνληαη θαη ν κεραληζκφο πνπ πινπνηεί απηή ηελαιιειεπίδξαζε είλαη νη δηακνηξαδφκελεο κεηαβιεηέο.

ε έλα ππνινγηζηηθφ ζχζηεκα ν ζπγρξνληζκφο είλαη απαξαίηεηνογηα ηε δηακνηξαδφκελε πξφζβαζε ζε πφξνπο θαη επηθνηλσλία.

Πεξηπηψζεηο θαηά ηηο νπνίεο νη ζπλεξγαδφκελεο δηαδηθαζίεο δερξεηάδεηαη λα ζπγρξνληζηνχλ γηα λα δηακνηξαζηνχλ ηνπο πφξνποηνπ ζπζηήκαηνο είλαη φηαλ φιεο νη δηαδηθαζίεο είλαη ηχπνπ readonly, φηαλ φιεο νη δηαδηθαζίεο είλαη ηχπνπ write only θαη φηαλ κηαδηαδηθαζία γξάθεη ελψ φιεο νη άιιεο δηαβάδνπλ.

Page 151: Real Time Systems

Κπίζιμη πεπιοσή είλαη ηα ηκήκαηα ηεο θάζε δηαδηθαζίαο ζηα νπνίανξίδνληαη θαη θαηαρσξνχληαη νη δηακνηξαδφκελεο κεηαβιεηέο. Οηαλαγθαίεο ζπλζήθεο γηα λα δνζεί ιχζε ζην πξφβιεκα ηεο θξίζηκεοπεξηνρήο είλαη:

ΣΥΝΕΧΕΙΑ

Page 152: Real Time Systems

Αμοιβαίορ αποκλειζμόρ, φηαλ κία δηαδηθαζία εθηειείηαη ζηελθξίζηκε πεξηνρή ηεο, θακία άιιε δηαδηθαζία δε κπνξεί λαεθηειεζηεί ζηηο θξίζηκεο πεξηνρέο ηεο.

Ππόοδορ, φηαλ κηα δηαδηθαζία εθηειείηαη έμσ απφ ηελ θξίζηκεπεξηνρή ηεο λα κε κπνξεί λα εκπνδίζεη άιιεο δηαδηθαζίεο απφ ηνλα εηζέιζνπλ ζηηο δηθέο ηνπο θξίζηκεο πεξηνρέο θαη φηαλ δχν ήπεξηζζφηεξεο δηαδηθαζίεο πξνζπαζνχλ ηαπηφρξνλα λααπνθηήζνπλ πξφζβαζε ζηηο θξίζηκεο πεξηνρέο ηνπο, λα ππάξρεηθάπνηνο κεραληζκφο πνπ λα θαζνξίδεη πνηα δηαδηθαζία ηειηθά ζακπνξέζεη λα ην επηηχρεη.

ΣΥΝΕΧΕΙΑ

Page 153: Real Time Systems

Φπαγμένη αναμονή, φηαλ κηα δηαδηθαζία πξνζπαζεί λααπνθηήζεη πξφζβαζε ζε θξίζηκε πεξηνρή ηεο λα κπνξεί λα ηνθαηαθέξλεη ηειηθά

Page 154: Real Time Systems

Καηανεμημένο λειηοςπγικό ζύζηημα θαιείηαη έλαιεηηνπξγηθφ ζχζηεκα ην νπνίν ειέγρεη θαη δηαρεηξίδεηαη έλαδίθηπν κε παξαπάλσ απφ έλαλ επεμεξγαζηέο ή ππνινγηζηέο θαηπαξέρεη ελνπνηεκέλνπο θαη νκνγελείο ηξφπνπο γηα ηνζπγρξνληζκφ θαη ηελ ελδνεπηθνηλσλία ησλ θαζεθφλησλ.

Κπξηφηεξν ραξαθηεξηζηηθφ ησλ θαηαλεκεκέλσλ ιεηηνπξγηθψλζπζηεκάησλ είλαη ε έιιεηςε δηακνηξαδφκελεο θεληξηθήο κλήκεο,γεγνλφο πνπ ζεκαίλεη φηη ε πινπνίεζε ζεκαηνθφξσλ θαηηαρπδξνκηθψλ θνπηηψλ είλαη αδχλαηε.

Η αληαιιαγή νπνηνπδήπνηε είδνπο κελπκάησλ κεηαμχνπνησλδήπνηε θφκβσλ απμάλεη ην θφζηνο πνιππινθφηεηαο θαηεπηθνηλσλίαο. ηελ πην γεληθή ηνπο κνξθή ηέηνηνπ είδνποζπζηήκαηα δελ είλαη θαηάιιεια γηα πξαγκαηηθφ ρξφλν, φπνπέρνπκε ζπγθεθξηκέλνπο θαηακεξηζκνχο θαζεθφλησλ θαη κφληκεοδηαζπλδέζεηο.

Page 155: Real Time Systems

Η βαζηθή αξρή εδψ είλαη ε επαχμεζε ελφο θνηλνχ ιεηηνπξγηθνχζπζηήκαηνο κε κηα βηβιηνζήθε ξνπηηλψλ, νη νπνίεο επεκβαίλνπλζε θάζε θιήζε πνπ απεπζχλεηαη ζε εληνιή ζπζηήκαηνο θαηαπνθαζίδνπλ εάλ πξφθεηηαη γηα ηνπηθή θιήζε (local)ήαπνκαθξπζκέλε θιίζε (remote), νπφηε ηε δηαρεηξίδεηαη αλάινγα.

Page 156: Real Time Systems

Η βαζηθή αξρή ζηελ πεξίπησζε απηή είλαη ε έιιεηςε ηεξαξρίαο. Η

πινπνίεζε γίλεηαη απφ ην εθηειεζηηθφ κηαο ελνπνηεκέλεο επηθνηλσλίαο κέζσ

κελπκάησλ κεηαμχ ησλ θαζεθφλησλ ζπζηήκαηνο θαη ησλ θαζεθφλησλ

εθαξκνγψλ.

Σα θαζήθνληα ζπζηήκαηνο έρνπλ ηνλ ξφιν ηνπ εμππεξεηεηή ελψ ηα

θαζήθνληα –πειάηεο είλαη είηε άιια θαζήθνληα ζπζηήκαηνο ή θαζήθνληα

εθαξκνγψλ. Κάζε πφξνο ηνπ ζπζηήκαηνο είλαη δηαζέζηκνο ζε νπνηνδήπνηε

θαζήθνλ, αλεμάξηεηα απφ ηε κνξθνινγία ηνπ δηθηχνπ.

Σν βαζηθφ πξφβιεκα εδψ είλαη νη θαζπζηεξήζεηο ,νη νπνίεο νθείινληαη ζην

ρξφλν πνπ απαηηείηαη γηα λα κεηαδνζνχλ ηα κελχκαηα απφ ην έλα ζεκείν ζην

άιιν, θάηη πνπ κπνξνχκε λα ειαρηζηνπνηήζνπκε αλ θάζε θφκβνο ή

ζπγθξφηεκα θφκβσλ γλσξίδνπλ ηελ ηξέρνπζα ηηκή ηνπ ξνινγηνχ.