υπολογιστές,
χρησιμοποιούνται κάποια ειδικά
κυκλώματα τα λεγόμενα interfaces
ή θύρες (ports).
Οι δύο μεγάλες κατηγορίες που χωρίζονται, οι τρόποι επικοινωνίας,
είναι η σειριακή και
η παράλληλη επικοινωνία.
Στην παράλληλη επικοινωνία, τα 8 byts ενός byte,
μεταφέρονται ταυτόχρονα με 8 καλώδια,
ενώ στην σειριακή, μεταφέρονται με ένα καλώδιο, το ένα μετά
το άλλο. Ευνόητο λοιπόν
είναι, ότι η
παράλληλη επικοινωνία
είναι σαφώς ταχύτερη της σειριακής.
Ετσι λοιπόν, έχουμε και δύο διαφορετικές θύρες επικοινωνίας.
Την παράλληλη
ή centronics και
την σειριακή. Η πιο
διαδεδομένη
σειριακή θύρα είναι η RS-232.
ΟΘΟΝΗ
Είναι, αν
μη τι άλλο, η περιφερειακή
συσκευή που τραβάει πρώτα από όλα
το βλέμμα του χρήστη. Τις οθόνες, γενικά θα τις χωρίζουμε σε μονόχρωμες και
έγχρωμες. Σαφώς βέβαια, υπάρχουν και άλλες
κατηγορίες όπως οι οθόνες υγρού κρυστάλλου.
Οι μονόχρωμες,
χωρίζονται σε τρείς τύπους,
ανάλογα με το χρώμα φωτεινότητας τους:
τις "πράσινες", τις
"αμπέρ" (πορτοκαλί)
και τις "άσπρες" (paper white).
Οι έγχρωμες,
χωρίζονται σε δύο βασικούς τύπους: Τις composite vide (σύνθετου
βίντεο) και τις R.G.B.
Οι οθόνες R.G.B, λέγονται έτσι γιατί χρησιμοποιούν ξεχωριστό σήμα για
το κάθε χρώμα(RED, GREEN, BLUE) ενώ οι
συθέτου βίντεο χρησιμοποιούν ένα σήμα που συνδυάζει τα τρία αυτά χρώματα. Κατά
κανόνα, οι RGB οθόνες παράγουν καλύτερη ποιότητα χρώματος
και εικόνας, χωρίς όμως
αυτό να αποκλείει και την ύπαρξη οθονών composite video υψηλής
ποιότητας.
Σημαντικό χαρακτηριστικό για όλες τις
οθόνες είναι δυνατότητα ανάλυσης της οθόνης (resolution) που δίνεται συνήθως
με δύο αριθμούς
(π.χ. 720Χ348).
Αυτοί οι
αριθμοί, δείχνουν πόσες ξεχωριστές κουκίδες (pixels) μπορούν να
παρουσιαστούν σε μια γραμμή και
μία στήλη της οθόνης. Είναι
λογικό βέβαια, ότι όσο πιο
υψηλή είναι η ανάλυση μιας
οθόνης, τόσο πιο
ξεκούραση είναι, γιατί παρουσιάζει
σχήματα και χαρακτήρες με ευκρίνεια και ακρίβεια.
Οι οθόνες
των υπολογιστών, υποστηρίζονται από
ειδικά κυκλώματα, τις κάρτες οθόνης, που
είναι το interface μεταξύ του
υπολογιστή και της οθόνης. Κάθε κάρτα, αντιστοιχεί και σε μια κατηγορία
οθοννων. Σήμερα βέβαια, υπάρχουν και
κάρτες οθονων με
πολλαπλή λειτουργία που
λογικά υποστηρίζουν μεγαλύτερη
γκάμα οθονών.
Μερικές γνωστές
κάρτες, είναι οι Herculew Graphics
Adaptor (HGA), Colour Graphics Adaptor (CGA) και η Enhanced
Graphics Adaptor
(EGA).
Αλλο ένα σημαντικό στοιχείο των χαρακτηριστικών
μιας οθόνης, είναι το
μήκος της διαγωνίου της, που μετριέται συνήθως σε ίντσες. Τα
συνηθέστερα monitors (οθόνες) είναι διαγωνίου 12 ή 14 ιντσών
και είναι τα
καταλληλότερα για τις
συνήθεις εμπορικές εφαρμογές. Σαφώς
βέβαια υπάρχουν και
οι εξειδικευμένες οθόνες, με ιδιάζουσες διαστάσεις ανάλογα με τη χρήση που
προορίζονται.
Τελευταίο στη σειρά -αλλά όχι και
στη σημασία χαρακτηριστικό των monitors,
είναι οι αριθμοί χαρακτήρων
και στηλών που μπορεί να
είναι η maximum απεικόνιση
της οθόνης και
που συνήθως είναι
80 χαρακτήρες επί 25 στήλες.
κα σαν οδηγός συσκευής παράμεσω της διακοπής
Το
M O S - K E R N E L
Εισαγωγή :
Ο Kernel είναι ο
πυρήνας του MOS.Φορτώνεται στο ξεκίνημα από το $$MOS.SYS.Εκτός από κώδικο και data που χρησιμοποιούνται για αρχικοποίηση τιμών , παραμένει στην μνήμη μέχρι
να κλείσει το σύστημα.
Ο Kernel εκτελεί πολλές συναρτήσεις που τις χωρίζουμε στις 2
κατηγορίες :
α. Αρχικοποίηση του συστήματος
β. Χειρισμός διακοπών
Α. Αρχικοποίηση
Δεν είναι απαραίτητο για ένα δίσκο ξεκινήματος να έχει την
απαίτηση τα αρχεία του συστήματος να μένουν σε καθορισμένες περιοχές του
δίσκου. Το MOS τοποθετεί τον πυρήνα του στο δίσκο σαν
ένα κοινό αρχείο. Δεν υποστηρίζει ξεκίνημα από δίσκο με μέγεθος sector < 512bytes.
Ειδικά το ξεκίνημα περιλαμβάνει τα παρακάτω βήματα :
1. Το ROM BIOS ( σε real mode ) φορτώνει
το boot sector στην διεύθυνση 0700 και μεταφέρει τον έλεγχο με τον CS:IP στα 0000:7C00.
2. Ο κωδικός από τον τομέα εκκίνησης ( boot sector )
μεταφέρεται στην περιοχή <=128 k στην
διεύθυνση 1FB00.
3. Η μεταφερόμενη ρουτίνα ψάχνει για το $$MOS.SYS στον αρχικό κατάλογο του δίσκου εκκίνησης , αν βρεθεί το πρώτο συγκρότημα
διαβάζεται στην θέση μνήμης 00700 και ο έλεγχος μεταφέρεται στον κώδικα αυτόν (
CS:IP --> 0070:0000 ).
4. Τα υπόλοιπα συγκροτήματα του $$MOS.SYS φορτώνονται και ο πυρήνας είναι πλήρης στην μνήμη.
5. Ο πυρήνας μεταφέρεται στην αρχή της διαθέσιμης RAM και αρχικοποιεί τα διανύσματα διακοπών.
6. Αν το $$MASTER.SYS υπάρχει στον root κατάλογο του δίσκου εκκίνησης ,
αποκτείται το αυθεντικό password από την
κονσόλα.
7. Διαβάζονται οι παράμετροι του CONFIG.SYS στην μνήμη.
8. Αν έχει οριστεί ο οδηγός MEMDEY φορτώνεται στην μνήμη στην διεύθυνση 00700 και αρχικοποιείται σαν ο στάνταρντ
οδηγός συσκευής.Αν ο οδηγός είναι ο $386.SYS ο 386 επεξεργαστής τίθεται σε protected mode και επιστρέφεται ο έλεγχος στον πυρήνα σε
πραγματικό 8086 τρόπο λειτουργίας.
9. Ο πυρήνας μεταφέρεται άλλη μια φορά στις υπολοιπόμενες
θέσεις.Αν ο οδηγός MEMDEY παρών και υπάρχει επαρκής FREEMEM χώρος , παραχωρείται η RAM και
υπολογίζεται η FREEMEM περιοχή για αυτή ( η FREEMEM είναι ο αχρησιμοποίητος χώρος διευθύσεων μεταξύ της video RAM και του ROM BIOS ).Αλλιώς ο πυρήνας μεταφέρεται στην
χαμηλώτερη διαθέσιμη διεύθυνση μνήμης ( αμέσως μετά τον οδηγό
MEMDEY -αν υπάρχει- ).Τα διανύσματα διακοπών τροποποιούνται όπως απαιτείται να
ταιριάζουν στην νέα θέση.
10. Χορηγείται και αρχικοποιείται επιπλέον μνήμη για το System Memory Pool (SMP) , τις μνήμες του video. Η FREEMEM , η επιπλέον (extended) μνήμη χρησιμοποιείται αν είναι
δυνατόν.
11. Αρχικοποιούνται οι υπάρχοντες οδηγοί συσκευών. Φορτώνονται
και αρχικοποιούνται οι εξωτερικοί οδηγοί συσκευών στο SMP. Φορτώνεται διερμηνευτής εντολών $$SHELL.SYS.
12. Αρχικοποιείται το task0.Το πρόγραμμα COMMAND.COM φορτώνεται στο task0 και του δίνεται ο έλεγχος.( Για την ακρίβεια , μεταφέρεται στον
διερμηνευτή εντολών -resided- )
Β. Χειρισμός διακοπών
Στα 386 συστήματα ο $386.SYS οδηγός κόβει όλες τις διακοπές και στις περισσότερες περιπτώσεις περνάει
τον έλεγχο στη ρουτίνα που αντιστοιχεί στο αντίστοιχο διάνυσμα διακοπών στη
χαμηλή RAM.
Οι περιπτώσεις εδώ εφαρμόζουν το χειρισμό διακοπών σε 8086
επίπεδο.
Ο πυρήνας του MOS τροποποιεί
διάφορα διανύσματα στην αρχικοποίηση για να αποκτήσει τον έλεγχο αυτών των
διακοπών. Στην πράξη τα διανύσματα διακοπών έχουν την έννοια του από ποιό ο πυρήνας
μπορεί να πάρει τον έλεγχο μετά την αρχικοποίηση.
Πίνακας Διακοπών που χειρίζεται ο πύνακας του MOS.
Νο Διακοπής Διεύθυνση Διαν. Περιγραφή
----------- --------------- ---------
00 000 - 003 Διαίρεση με 0
08 020 - 023 IRQ0 - Timer
09 024 - 027 keyboard - hardware
*04* 028 - 02B IRQ2 - Multi - operations
0B 02C
- 02F IRQ3
- COM2
0C 030
- 033 IRQ4 - COM1
0D 034 - 037 IRQ5 - Σκληρός
0E 038 - 03B IRQ6 - οδηγός δισκέτας
0F 03C - 03F IRQ7 - printer (σπάνια)
10 040 - 043 Video I/O
13 04C
- 04F I/O
Δίσκου
32 050 - 053 I/O Σειριακής ($SERIAL.SYS)
15 054 - 057 Διάφορες εξυπηρετήσεις
16 058 - 05Β Ι/Ο Πληκτρολογίου
17 05C - 05F I/O Εκτυπωτή
1Α 068 - 06Β Εξυπηρέτηση χρόνου
1C 070 - 073 Χειριστής του ρολογίου
20 080 - 083 Τερματισμός εφαρμογής
21 084 - 087 Εξυτηρετήσεις BIOS
22 088 - 08B Διεύθυνση τερμ. προγράμματος
23 08C - 08F Διεύθυνση προγρ/τος με Ctrl-
Break-Εξοδος.
24 090 - 093 Διεύθυνση προγράμματος με
critical λάθος
25 094 - 097 Διάβασμα σε τομέα δίσκου
26 098 - 09B Γράψιμο σε τομέα δίσκου
27 09C - 09F Τερματισμός και παραμονή
εφαρμογής
28 0A0 - 0A3 Διακοπή ασφαλούς εισαγωγής
2E 0B8 - 0BB Συμβατότητα
*2F* 0BC - 0BF Διακοπή πολλαπλότητας
38 0E0 - 0E3 Παλιό διάνυσμα-εξυπηρετήσεων
70 1C0 - 1C3 IRQ8 Εξωτερικός
71 1C4 - 1C7 IRQ9 ανακατεύθυνση του BIOS
72 - 77 Απροσδιόριστες
75 1D4 - 1D7 NMI
*D4* 350 - 353 ιδια νε
38 νέο διάνυσμα
Οι παραπάνω διακοπές ή αρχικοποιούνται και χειρίζονται από
το BIOS και το MOS για να δείχνουν στην IRET ή δεν αρχικοποιούνται.Μερικές εξυπηρετούν
βοηθητικά προγράμματα εκτός mos-kernel ή άλλες εφαρμογές.
Δ Ι Α Κ Ο Π Ε Σ ( MOS-KERNEL )
Διάν.Διακοπής Περιγραφή
8 : Εκδίδεται κατά προσέγγιση 18.2 φορές/sec. Χρησιμοποιείται από το MOS να εγγυηθεί
ότι
το task που
επιλέχθηκε και μερικές άλλες ρουτίνες ικανοποιούνται κανονικά.( Ο timer
πρέπει πάντα ανοικτός )
9 : Εκδίδεται από το πληκτρολόγιο κάθε φορά που χτυπήθηκε
ένα πλήκτρο (του κυρίως πλ/γιού) ή πατήθηκε ένα πλήκτρο για auto-repeat. Επιπλέον το MOS χειρίζεται εφαρμογές που περιέχονται στο διάνυσμα διακοπής 9. π.χ. Αν
πατήθηκε κάποιο πλήκτρο σε ένα τερματικό που απασχολείται σε μια σειριακή πόρτα
το MOS θα εξομοιώσει την κατάσταση που δημιουργήθηκε
για αυτή την εφαρμογή.
0Αh : Προκαλείται από το hardware (επιπ.διακοπής IRQ2 ή IRQ9 στα AT).Συνήθως χρησιμοποιείται για προσαρμογείς
πολλών θυρών σε multi-user συστήματα.Επιλέγεται από τον $SERIAL.SYS.
0Bh : Είναι για το hardware ( επ.διακοπής IRQ3 ) και χρησιμοποιείται από την COM2 ( I/O
διεύθυνση 2F8 ) καλείται
από το $SERIAL.SYS.
0Ch : Το ίδιο για την COM1 (3F8).
0Dh (IRQ5) : Συνήθως
παγιδεύεται από το firmware (ROM) που υποστηρίζει το σκληρό.Αν ο σκληρός δεν χρησιμοποιεί το IRQ5 αυτή χρησιμοποιείται για προσαρμογέα πολλών-θυρών.Η διακοπή χρησιμοποιείται
εσωτερικά σε 386 συστήματα να παγιδεύσει διάφορους τύπους εξαιρέσεων. Η χρήση της
δεν συγκρούεται με την υποστήριξή του στην IRQ5.
0Eh (IRQ6) : Χρησιμοποιείται για ελεγκτές δισκετών και μόνο.
0Fh (IRQ7) : Διαφυλαγμένη : Για χρήση του προσαρμογέα παράλληλου εκτυπωτή.Αν στο
σύστημα δεν διαθέτουμε οδηγό εκτυπωτη η ROM για σκληρό και IRQ7 μπορεί να χρησιμοποιηθεί για άλλο hardware (π.χ. σειριακή πόρτα)
10h : Είναι η σύνδεση με το BIOS.Ενα τμήμα του MOS KERNEL (πυρήνα) είναι αφιερωμένο στην εκτέλεση κατάλληλων ενεργειών όταν η διακοπή
καλείται από εφαρμογές.
13h : Είναι η διασύνδεση του BIOS με δισκέτες και σκληρό.Το MOS την κόβει
για να αποφασίσει ασφαλείς περιορισμούς του DMA καναλιού , που χρησιμοποιείταιαπό τον ελεγκτή του δίσκου
συμπεριλαμβανομένης και της πράξης που το DMA κανάλι δεν έχει επικοινωνία με
το χαρακτηριστικό της σελιδοποίησης του 386.Το MOS είναι ανεξάρτητο από το αρχικό
BIOS στο I/O του δίσκου.
14h : Είναι η διασύνδεση του MOS και των εφαρμογών του με τη σειριακή.Η διασύνδεση
υποστηρίζεται από τον οδηγό $SERIAL.SYS.
Είναι (η διασύνδεση) προσωρινής μνήμης , οδηγούμενη από
διακοπή , ανεξάρτητη συσκευή
και πολύ πιο πέρα από το κοινό BIOS.Για software προσπέλασης της σειριακής , πρέπει
να υποστηρίζεται η διασύνδεση προς αποφυγή περιορισμών
από την χρήση του με MOS.
15h : Υποστηρίζει διάφορες συναρτήσεις του συστήματος
σχετικές με αναμονή , προσπέλαση στην επιπλέον μνήμη και προσπέλαση στο κλειδί απαντήσεων του συστήματος.Το MOS σταματάει αυτές για σκοπούς
συμβατότητας και για να κάνει δυνατή την
επεξεργασία επικαλυπτόμενων task που απαιτούν χρόνο αναμονής I/O δίσκων.
16h : Είναι η διασύνδεση του BIOS με το πληκτρολόγιο. ο MOS εξασφαλίζει κατάλληλη υποστήριξη και εξομοίωση των συναρτήσεων που σχετίζονται με το σταθμό εργασίας του
task.
17h : Είναι η διασύνδεση του BIOS με το παράλληλο εκτυπωτή.Αυτή κόβεται
από το MOS για να εξασφαλίσει επικάλυψη χρόνου με
την επεξεργασία του task , να υποστηρίξει τον εκτυπωτή και
ανακατε του εκτυπωτή.
1Αh : Εξασφαλίζει την εξυπηρέτηση του χρόνου της ημέρας με τον ίδιο τρόπο που και η ROM BIOS. (time of date)
1Ch : Εκδίδεται από τον χειριστή διακοπής 8 του BIOS.Το MOS τη κόβει , για να εξασφαλίσει
ένα .........
χειριστή και να εξασφαλίσει ότι η σειρά
διατηρείται όταν ένας χειριστής
εφαρμογών
εγκαταστάθηκε.
20h : Είναι ισοδύναμη με την διακοπή 21Η συνάρτηση 0.
21h : Είναι η βασική διασύνδεση μεταξύ Λ.Σ και εφαρμογών.Εξασφαλίζει
συμβατότητα με
εφαρμογές για PC's και συμβατά.
22h : Δεν χρησιμοποιείται σα διακοπή.Το διάνυσμά της περιέχει τη διεύθυνση της επικαλούμενης διεργασίας στην οποία επιστρέφει ο έλεγχος όταν τελειώσει μια εφαρμογή.
23h : Δείχνει στον χειριστή Ctrl-Break εφαρμογών. Το MOS εξασφαλίζει
ένα default Ctrl-Break χειριστή.
24h : Δείχνει στο χειριστή κρίσιμων λαθών εφαρμογών.
25h : Εξασφαλίζεται από το MOS για διάβασμα του δίσκου σε επίπεδο sector.
Η χρήση της δεν
συνιστάται , γιατί είναι ασύμβατο σε LAN'S.
26h : Το ίδιο με 25h για γράψιμο
δίσκου.
27h : (Τερματισμός και παραμονή μιας διαδικασίας) Ορίζεται για συμβατότητα με εφαρμογές που έχουν γραφεί για προηγούμενα Λ.Σ.Είναι προτιμώτερα η εγκατάσταση παραμένοντα κώδικα σαν
οδηγός συσκευής παρά μεσω της διακοπής
21Η.31Η συνάρτησης.
Η μέθοδος οδηγού
συσκευής είναι απαραίτητη αν ο παραμένων
κώδικας έχει μια ρουτίνα
"ψηφοφορίας"
για την επιλογή του task και επιθυμητή αν
περιέχει κώδικα χειρισμού δια-
κοπών.Αυτά γιατί
τα "TBR" προγράμματα μπορούν να εναλλάσσονται
έξω από τη
διεύθυνσιοδοτημένη
μνήμη όταν επεξεργάζονται άλλα tasks ,ενώ δεν είναι οδηγοί συσκευών.
28h : Εξασφαλίζει μια ένδειξη του πότε τα προγράμματα τύπου TSR μπορούν να κάνουν ασφαλείς κλήσεις στον πυρήνα του MOS.
2Eh : Χρησιμοποιείται από το MOS για να αποφεύγονται προσπάθειες λάθους εισαγωγής στον επεξεργαστή εντολών.
2Fh : Εξασφαλίζει μια ένδειξη ότι του SHARE φορτώθηκε. Κάτω από το MOS υπάρχουν
πραγματικά μη χωριστά SHARE τμήματα από
τη λογική του file shaving που είναι
εσωτερική στο πυρήνα.
38h : Εξασφαλίζει επιπλέον διασύνδεση στις εφαρμογές (μοναδική
στο MOS).Σε μερικές
περιπτώσεις οι
συναρτήσεις υποστηρίζονται από την 38h σχετικά με το multi-tasking ή
την υποστήριξη του
ατόφιου 386 τρόπου. Σημειωτέον ότι όλες
οι μελλοντικές
αναπτύξεις θα
χρησιμοποιούν το διάνυσμα D4 στην θέση του.
70h-77h Υποστηρίζονται σε AT'S αντίστοιχα για τις διακοπές IRQ8-IRQF.
D4h : Εξασφαλίζει επιπλέον διασύνδεση στις
εφαρμογές.Με πολλές περιπτώσεις οι συναρτήσεις υποστηρίζονται.Ιδια με 38h.
ΟΡΓΑΝΩΣΗ ΜΝΗΜΗΣ
Το MOS φορτώνεται διαφορετικά όταν διατίθεται επιπλέον μνήμη. Ο πυρήνας
επιχειρεί να μεταφερθεί και εγκατασταθεί στην περιοχή μνήμης C0000 - F0000 έτσι ώστε χορηγούνται μεγαλύτερα
πόσα μνήμης κάτω από 640k.
Οταν τα tasks είναι
ενεργά σε συστήματα με επιπλέον μνήμη και τη σελιδοποίηση αυτής , η μνήμη για
κάθε task χορηγείται από την επιπλέον μνήμη.Αλλιώς
η μνήμη για κάθε task χορηγείται από το task που γεννά κάθε νέο.Η τελευταία μέθοδος περιορίζει τη διάθεση
μνήμης σε εφαρμογές συμβατές με DOS.Οταν τα tasks δημιουργούνται σε συστήματα με ή χωρίς
επεκταμένη μνήμη , οι συνολικά περιοχές εκείνης της στιγμής και οι περιοχές του
video παραχωρούνται όπως οι περιοχές-εφαρμογών.
Η ΠΕΡΙΟΧΗ ΜΝΗΜΗΣ ΠΟΥ ΣΩΖΕΤΑΙ ΚΑΤΑ ΤΗ ΔΗΜΙΟΥΡΓΙΑ ΤΩΝ TASKS.
Η παραπάνω περιοχή είναι ένα blck μνήμης που χορηγείται για ξεχωριστούς πίνακες διανυσμάτων διακοπών του task , BIOS RAM data , περιοχή διάφορων δεδομένων και προσωρινή μνήμη τύπου
προς τα μπρός. Η περιοχή των διάφορων δεδομένων και προσωρινή μνήμη τύπου προς
τα μπρός.
Η περιοχή των διαφόρων data χειρίζει το status του print screen το status του drive mode για συστήματα με floppy οδηγό και την αρχικοποίηση δισκέτας.
Στο ξεκίνημα η παραπάνω περιοχή εγκαινιάζεται και ένα πρωτότυπο
αντίγραφο φυλάγεται στο σύστημα κοινής μνήμης ( SMP ).Οταν δημιουργείται ένα task, η περιοχή
που σώζεται παραχωρείται κάτω από την περιοχή της εφαρμογής και περνιέται ένα αντίγραφο
των
περιεχομένων της. Για κάθε task συντηρούνται ξεχωριστές τέτοιες περιοχές.
VIDEO ΠΕΡΙΟΧΕΣ
Οι διευθύνσεις
Α0000-ΒFFFF φυλάγονται για εναλλαγή της video RAM για κάθε task που ενεργοποιείται (είναι Ι/Ο μνήμη για το video).
Η EGA εξυπηρετείται Α0000-ΑFFFF.Η μονόχρωμη χρησιμοποιεί 4Κ αρχίζοντας
από Β0000.Η CGA 16K από Β8000.Το κατάλληλο ποσό μνήμης παραχωρείται
μαζί με κάθε task για εναλλαγή στη περιοχή του video
To MOS στη πραγματικότητα διαφυλάσσει 2 buffers video για κάθε task.Μια video RAM περιοχή και μια video ........
περιοχή.
Για tasks που δεν χρησιμοποιούν κοντά τερματικά
μόνο μια video RAM περιοχή
διαφυλλάσσεται.
Οι πραγματικές διευθύνσεις
χρησιμοποιούνται από τις buffers , εξαρτώνται από
την διαθεσιμότητα της επιπλέον μνήμης και το χάρτη μνήμης του συστήματος.
MOS ΧΑΡΤΗΣ ΜΝΗΜΗΣ ΧΩΡΙΣ ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ
Το MOS φορτώνεται στη χαμηλώτερη διαθέσιμη μνήμη αρχίζοντας από την απόλυτη διεύθυνση 00700. Παραχωρείται το task0 ή κύριο task η υπολειπόμενη μνήμη για τις εφαρμογές. Τα επόμενα tasks θα παίρνουν μνήμη από το task που τα δημιουργεί. Κάθε task θα φορτώνει το δικό του copy του COMMAND.COM και το περιβάλλον του.Ο COMMAND.COM απαιτεί 8k και προσφέρεται σαν σημείο εισαγωγής
στο $$SHELL.SYS για το χρήστη. Επιπλέον χώρος παραχωρείται
μέσα σε κάθε task για τη video περιοχή.Η περιοχή
των περιεχομένων που σώζεται παραχωρείται από τον SMP.
Η παραπάνω περιοχή
κρατήθηκε σε αντίγραφο στο SMP και το ποσό
μνήμης που παραχωρείται για κάθε task για αυτή είναι περίπου 1.3k για τα συστήματα
χωρίς διαχείρηση μνήμης.
ΟΡΓΑΝΩΣΗ ΜΝΗΜΗΣ
MEMDEY
1ΜΒ--------------------
| R O M |
|--------------------|
| |
| |
|--------------------|
| Video R A M |
|--------------------|
<------
| | |
| | Πρόσθετα tasks παίρνουν μνήμη
| Εφαρμογές | αρχίζοντας
από την κορυφή του
| | task που παράγει αυτά , γεμί-
| | ζοντας προς τα
κάτω.
|--------------------|
Ο Command.com φοτρώνεται για
| Παραμένοντα
προγρ. | κάθε task.Η video σωσμένη πε-
| αν υπάρχουν | ριοχή
, η videoram και συμφρα-
|--------------------|
ζόμενη σωσμένη περιοχή παραχω-
| Περιβάλλον | ρούνται
για κάθε task.
|--------------------|
|
| Command.com | |
|--------------------|
|
| Σωσμένη περιοχή |
|
| του video | |
|--------------------|
<------
| $$SHELL.SYS |
|--------------------|
| Συστήμα
κοινοπραξ. |
| μνήμης (SMP) |
|--------------------|
| Περιοχή cashe |
| δεδομένων |
|--------------------|
| $$ MOS.SYS |
|--------------------|00700
<-----
| Παραχωρητής
μνήμης | Ενα κύριο αντίγραφο του συ-
| τύπου εμπρός | νολου
της σωσμένης κρατήθη-
|--------------------|00600
κε στο SMP για να αντιγράφε-
| Διάφορα | ται
για κάθε task που δημιου-
|--------------------|00500
ργείται.
| BIOS R A M | Τα τρέχοντα περιεχόμενα του
|--------------------|00400
συνόλου της σωσμένης περιοχής
| | κάθε task, χορηγούνται από τη
| Διανύσματα | περιοχή
των αρχικών εφαρμογών
| Διακοπών | και
παρουσιάζονται σε αυτές
| | τις
διευθύνσεις.
--------------------
00000 <-----
--------------------
<-----
| | |
| | Επιπλέον μνήμη
που διατίθεται
| Επεκταμένη | για
tasks , εφαρμογές σε native
| μνήμη | mode και ειδικούς οδηγούς συσκευών.
| | |
| | |
1ΜΒ--------------------|
<-----
| R O M |
|--------------------|F0000
| Περιοχή video που |
| σώθηκε |
|--------------------|
| Περιοχή cashe |
| δεδομένων |
|--------------------|
| $$SHELL.SYS |
|--------------------|
| $$MOS.SYS |
|--------------------|
| Σύστημα κοινής |
| μνήμης |
|--------------------|C0000
| Video R A M |
640k--------------------|A0000
<-----
| | |
| | |
| Εφαρμογές | |
| | |
| | Τα tasks σελιδοποιούνται σε
|--------------------|
αυτή τη περιοχή από την επε-
| Παραμένοντα
προγρ. | κταμένη μνήμη όταν προσπελαύ-
| αν υπάρχουν | νουν
τον επεξεργαστή.
|--------------------|
|
| Περιβάλλον | |
|--------------------|
|
| Περιοχή
δεδομένων | |
| Command.com | |
|--------------------|
<----------
| Διαχείρηστης
μνήμης|
| του MOS. |
|--------------------|00700
<-----
| Προσωρινή μνήμη |
Ενα κύριο αντίγραφο των περιε-
| τύπου προς τα
μπρός| χομένων της σωσμένης περιοχής
|--------------------|00600
κρατήθηκε στο SMP για να αντι-
| Διάφορα | γραφεί
σε κάθε task που δημιου-
|--------------------|00500
ργείται.
| BIOS R A M | Τα περιεχόμενα της περιοχής
|--------------------|00400
του κάθε task παραχωρούνται
| | από τη περιοχή
των πρωτότυπων
| Διανύσματα | εφαρμογών
και χαρτογραφούνται
| Διακοπών | σε
αυτές τις διευθύνσεις.
| | |
ΧΑΡΤΗΣ ΜΝΗΜΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ
ΜΕ ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ
Ο πυρήνας του MOS είναι έτοιμος να μετατοπισθεί στην ψηλότερη μνήμη με τον SMP , το $$SHELL.SYS και τις περιοχές δεδομένων του .....
δίσκου.Επιπλέον οι διαφυλαγμένες διευθύνσεις για τις video περιοχές θα εξυπηρετηθούν από υψηλότερη μνήμη αν είναι δυνατόν.
Αν είναι διαθέσιμη
ανεπαρκής ψηλή μνήμη για όλα τα παραπάνω αρχεία , όσα από αυτά χωρούν ,μεταφέρονται και
τοποθετούνται ψηλότερα.
Τα μεγαλύτερα αρχεία
τοποθετούνται πρώτα για ασφάλεια , ώστε οποιαδήποτε
δε ταιριάζουν να είναι τα μικρότερα. Το MOS χρησιμοποιεί τα χαρακτηριστικά της διαχείρησης μνήμης σε
συνδιασμό με τον
οδηγό διαχείρησης μνήμης. Σε 386 συστήματα
ο επεξεργαστής έχει την δυνατότητα σελιδοποίησης.Η
επεκταμένη μνήμη χαρτόγραφειται ή σελιδοποιείται σε διεύθυνσεις συνδιαζόμενη με το .. 1ΜΒ για
χρήση του συστήματος όπως προβλέπτηκε στο ξεκίνημα.Η υπολειπόμενη μνήμη χρησιμοποιείται για διεργασίες , ειδικούς
οδηγούς συσκεύων και εφαρμογές που
εγκαταστάθηκαν σε native mode.
Το MOS δοκιμάζει να μεταφερθεί σε μια περιοχή από C0000 και πάνω , μέχρι F0000 , η διαθέσιμη θέση εξαρτάται από το υλικό και τους οδηγούς συσκευών του συστήματος.Αν κάποια εξομοίωση
software χρησιμοποιώντας αυτή την περιοχή θα παρέμβαίνει με το σύστημα μέχρι να προσδιοριστεί η FREEMEM στο config.sys να εξαναγκάσει το
MOS να αποφύγει αυτές τις περιοχές κατά την αναδιάταξή του. Οταν το FREEMEM είναι απών από το config.sys , το MOS θα ψάξει στην ψηλότερη μνήμη για πάνω από 5 περιοχές
διαθέσιμης μνήμης.Το ιδεώδες του πυρήνα
, SMP και προσωρινές μνήμες αρχείων.
Πρόσθετα διαφυλλάσσεται
περιοχή χαρτογράφησης των μνημών των video.
ΔΙΑΦΟΡΕΣ ΕΠΕΞΕΡΓΑΣΤΩΝ
Διαφορές μεταξύ
386 και μη -386 συστημάτων. Το MOS υποστηρίζει
μεγάλη ποικιλία συστημάτων (υλικού). Μπορούμε
να τα χωρίσουμε σε 3 γενικές κατηγορίες :
1. Χωρίς
διαχείρηση μνήμης
2. Μη -386 καιμε
διαχείρηση μνήμης
3. 80386 συστήματα
Η πιο φανερή διαφορά
μεταξύ των συστήματων της 2ης και 3ης κατηγορίας είναι η ικανότητα να τρέχουν
εφαρμογές σε 386 αυτούσιο τρόπο , με δυνατότητες
πολλών μέγα-byte γραμμικής
διευθυνσιοδότησης ,
να εκτελούν λειτουργίες των 32-bit και ένα περίπλοκο σύνολο εντολών (μηχανής). Γενικά ο 386 εξασφαλίζει επιπλέον εργαλεία για
λύση του προβλήματος της συμβατότητας.
Υπάρχει πρωταχρικά
η προστασία μνήμης και προστασία Ε/Ε.
Αυτό χορηγεί τα
εξής :
1. Προστασία του πυρήνα
του MOS και άλλων προγραμμάτων από καταστροφή
λόγω εσφαλμένου software.
2. Κόβει την άμεση
προσπέλαση των εφαρμογών στις θύρες Ε/Ε και προσφέρει κατάλληλη εξομοίωση για
την διεργασία.
3. Βελτιώνει την εκτέλεση
της άμεσης εγγραφής στην μνήμη του video με ανίσχευση του υλικού , αποφεύγοντας έτσι
τους απαιτούμενους πολλαπλούς ελέγχους
για δεδομένα νέου video.
4. Αποφεύγει την
διόρθωση άσχημα συμπεριφερομένων εφαρμογών για να επιτύχει συμβατότητα.
Ενα μειονέκτημα
του 386 είναι ότι όλες οι διακοπές συνεπάγονται από το πιο πάνω επίπεδο σε μηδενικό επίπεδο , λόγω
της αναπόφευκτης μεταφοράς στον αυτούσιο
τρόπο λειτουργίας.
Αυτό προαθέτει
γύρω στις 200-400 κύκλους μηχανής ανά διακοπή.Για αυτό είναι επιθυμητό να αποφεύγεται η συχνή
χρήση των INT ή εντολών σε εφαρμογές επιπέδου
8086.
Μια αξιόλογη
αντικατάσταση μπορεί νάναι η εξής : PUSHF CLI CALL DWORD PTR [σταθερές
διανυσμάτων] Το παραπάνω τμήμα αποφεύγει
την μεταφορά από κεί προς αυτούσιο τρόπο
(του 386).Η χρήση της παραπάνω τεχνικής είναι απαγορευτική
για εφαρμογές σε
αυτούσιο τρόπο.
=====
5. ΔΙΑΣΥΝΔΕΣΗ ΕΦΑΡΜΟΓΩΝ
Το MOS εξασφαλίζει 2 τρόπους λειτουργίας σε
386 συστήματα του πραγματικοό (virtual) 8086 τρόπο και τον 32 ..... αυτούσιο τρόπο. Εδώ εξετάζονται διαδικασίες που απαιτούν
εξυτηρετήσεις από το MOS για εφαρμογές των 16 bit και των 32 bit.
Εφαρμογές των 16 bit.
Οταν το MOS λειτουργεί σε 386 συστήματα είτε είναι σε πραγματικό τρόπο λειτουργίας ( γιατί δεν έχει εγκατασταθεί
το $386.sys οδηγός ) ή σε πραγματικό
8086 τρόπο , η διεργασία σώζει το ψηλότερο
μισό των 32 μπιτών καταχωρητών. Τα FS και GS καταχωρητές τμημάτων φυλάγονται από διεργασία σε διεργασία.
Αυτό δίνει τη
δυνατότητα για εφαρμογές των 16 bits που τρέχουν κάτω από MOS να έχουν τα
πλεονεκτήματα των χαρακτηριστικών των 386.
Δηλαδή ενώ το μέγεθος
του προθέματος των δεδομένων και διευθύνσεων χρησιμοποιούνται σε εσωτερικά
πραγματικό 8086 τρόπο εκτελούν λειτουργίες των 32 bits , επιχειρώντας να
διευθυνσιοδοτήσουν
μνήμη γύρω στο 1 μεγαbyte. Το περιβάλλον
του αυτούσιου τρόπου χρησιμοποιείται για αυτό το μοντέλο των μεγάλων
διευθύνσεων.
Εφαρμογές των 32 bits
Οταν φορτώνεται
αρχικά ένα πρόγραμμα το MOS δεν
ξεχωρίζει μεταξύ εφαρμογών για 8086 και για αυτούσιο τρόπο αλλά τα προγράμματα αρχίζουν
σε πραγματικό 8086 τρόπο λειτουργίας. Για να γυρίσουμε σε αυτούσιο τρόπο η
εφαρμογή πρέπει να το θέσει
το NCA (περιεχόμενα αυτούσιας περιοχής) κομμάτι , που δείχνεται από τον ES:BX να φορτώσει την 10h στον ΑΗ καταχωρείται και να εκδώσει μια κλήση για επιπλέον εξυπηρετήσεις
του MOS.
Δεν είναι
απαραίτητο για την εφαρμογή να θέσει σε λειτουργία τον πίνακα περιγραφών του
386 , αυτό γίνεται αυτόματα.Η συνάρτηση 10h (αλλάγη τρόπου λειτουργίας) κάνει
μετάφραση των διευθύνσεων των καταχωρητών τμημάτων του 8086 , σε επιλογείς του
προστατευόμενου
(protected) τρόπου λειτουργίας , ενώ δημιουργεί τους απαιτούμενους πίνακες
περιγραφών.
Ο CS καταχωρήτης μετατρέπεται σε περιγραφέα τμήματος κώδικα. Οι SS,DS,ES,FS και GS μετατρέπονται σε περιγραφείς τμήματος δεδομένων. Πάντως σε αυτούσιο τρόπο
λειτουργίας το πρόγραμμα γρησιμοποιεί τελεστές των 32 bit και χρειάζεται η παραχώρηση επιπλέον μνήμης για κώδικα , δεδομένα και
σωρό.Το πρόγραμμα να ανακατανέμει μνήμη
....... δεν
χρειάζεται.
Αυτό επιτυγχάνεται
με χρήση κλήσεως συναρτήσεων για Ε/Ε (κάθε είδους) ανάλογα αρχείου ή συσκευής.
=====
6. TO ΠΕΡΙΒΑΛΛΟΝ ΠΟΛΛΑΠΛΩΝ ΔΙΕΡΓΑΣΙΩΝ.
Εισαγωγή
Προγραμματίζοντας
σε περιβάλλον πολλών χρηστών και για πολλαπλές διεργασίες συνεπάγονται επιπλέον μελέτες
απ'οτι σε περιβάλλον ενός χρήστη.Με πολλούς χρήστες απαιτείται η αναγκαιότητα της
προστασίας αρχείων και των πληροφοριών τους και η προσπέλαση των δεδομένων ταυτόχρονα,αρκεί
να εμπλέκεται η ασφάλεια στην
ευαισθησία των
πληροφοριών.Αλλες μελέτες είναι,ο καλύτερος τρόπος για ....., πως τίθενται τα διανύσματα
διακοπών,και πως παραμένουν προγράμματα στη μνήμη.
Εδώ εξετάζονται προτάσεις
και δίνονται οδηγίες προγραμματισμού στο σύστημά μας. Τα θέματα που εξετάζονται
είναι διαμοιρασμός πόρων,προγραμματισμός Ε/Ε, αξιόπιστη εισαγωγή,μέθοδοι χειρισμού
διακοπών,εσωτερική επικοινωνία των διεργασιών,προγράμματα που παραμένουν στη
μνήμη μετά τον τερματισμό τους και μερικά θέματα σχεδιασμού.
Οταν σχεδιάζουμε εφαρμογές
που εκτελούνται κάτω από MOS περιβάλλον επιπλέον προσοχή πρέπει να δίνεται στα
χαρακτηριστικά του περιβάλλοντος πολλών χρηστών πολλαπλών διεργασιών. Ετσι το
πρόγραμμα σας θα πρέπει να είναι χρονοδιακοπτόμενο,και θα μπορεί να τρέχει την
ίδια ώρα,σαν ένα άλλο αντίγραφο της ίδιας εφαρμογής,ή κάποιων αλλων εφαρμογών.Προγραμματισμός
για πολλούς χρήστες αφορά 2 επίπεδα, το διαμοιρασμό των αρχείων και το διαμοιρασμό
της μηχανής. Αυτά τα θέματα εξετάζονται παρακάτω.
ΔΙΑΜΟΙΡΑΣΜΟΣ
ΑΡΧΕΙΩΝ.
Οι εφαρμογές που αφορούν πολλούς χρήστες γραμμένες για MOS πρέπει να έχουν τα πλεονεκτήματα
των συναρτήσεων κλειδώματος αρχείων και εγγραφών.Είναι
απαραίτητο να διαφυλάσσεται η ακεραιότητα των
δεδομένων.Γίνεται έτσι φανερό ότι αν 2 ή περισσότεροι χρήστες προσπελαύνουν εγγραφές σε ένα αρχείο πρέπει
να χρησιμοποιείται κάποιος μηχανισμός για
να κρίνει πότε μια διεργασία μπορεί να ενημερώνει ένα τμήμα του αρχείου και
πότε όχι.
Σημείωση:Ο διαμοιρασμός των αρχείων εξασφαλίζεται από τη κλήση των συναρτήσεων σχετικών με το χειρισμό.
Τα προγράμματα που χρησιμοποιούν το FCB [τμήμα ελέγχου αρχείων] αρχείο για Ε\Ε έχουν το σοβαρό μειονέκτημα ότι η
προστασία των αρχείων δεν υποστηρίζεται απ'τις κλήσεις που είναι σχετικές με το
FCB.
Για να ρυθμιστεί η προσπέλαση των αρχείων, κάνετε χρήση
της διακοπής 21h,συνάρτηση 3DH,που ανοίγει ένα αρχείο. Η συνάρτηση παρέχει την ευκολία ότι θέτει τη προσπέλαση
σωστά [δεξιά] για τα αρχεία που
ανοίγονται μετά από άλλες διεργασίες.
Για παράδειγμα:η πρώτη διεργασία του ανοίγματος αρχείου
μπορεί να δίνει προσπέλαση για
διάβασμα\γράψιμο στο αρχείο,ενώ αρνείται να
το προσπελάσει για γράψιμο μόνο για όλες τις επόμενες διεργασίες.
Η πρώτη κλήση ανοίγματος πρέπει να δίνει πλήρη προσπέλαση διαβάσματος\γραψίματος σε κάθε αρχείο.Ο
σωστός διαμοιρασμός των αρχείων να
γίνεται και όταν η διεργασία κλείνει το αρχείο.
Παράδειγμα αν οι διεργασίες 1&2 και οι δύο ανοίγουν το
ίδιο αρχείο παραχωρώντας πλήρη
προσπέλαση από άλλες κλήσεις ανοίγματος και
η διεργασία 3 επιχειρεί να ανοίγει το αρχείο δίνοντας του πλήρη προσπέλαση, έπειτα αρνείται προσπέλαση για
άλλα ανοίγματα, αποτυγχάνει δηλαδή η
τελευταία προσπάθεια ανοίγματος.
Το περιοριστικό
άνοιγμα που η 3 διεργασία προσπαθεί να κάνει, θα πετύχει μόνο όταν οι διεργασίες 1&2
κλείσουν το αρχείο.
Το κλείδωμα των
εγγραφών εξασφαλίζει περισσότερη ακρίβεια στη
προστασία των δεδομένων από το κλείδωμα των αρχείων,όπου το πρώτο παραχωρεί ταυτόχρονα προσπέλαση γραψίματος\διαβάσματος
στο υπόλοιπο αρχείο.
Πρώτο παράδειγμα είναι
σε κάποια οικονομική εφαρμογή.Δύο ή περισσότερες
προσωπικές εισαγωγές δεδομένων,θα τροποποιήσουν
εγγραφές σε ένα αρχείο λογαριασμών ή σε ένα αρχείο πληρωτέων λογαριασμών,ενώ οι υπόλοιποι χρήστες του ίδιου
προγράμματος
διαβάζουν άλλα τμήματα
ίδιου αρχείου αφού μόνο οι εγγραφές που χρησιμοποιούνται
κλειδώθηκαν.
Η συνάρτηση του MOS που κλειδώνει εγγραφές είναι η 5ch. Αυτή παραχωρεί τη δυνατότητα σε μια εφαρμογή
να πει στο MOS να κλειδώσει μια καθορισμένη περιοχή
από bytes στο αρχείο.Το MOS
χορηγεί ένα τμήμα κλειδωμένων εγγραφών (RLB) για τη κλήση και
συσχετίζει το RLB με το αρχείο. Επιπλέον κλήσεις κληδώματος
στην ίδια περιοχή του αρχείου δηλώνουν στο
MOS να ψάξει όλα τα RLB's για όλες τις διεργασίες
που συνδέονται με
το αρχείο για να προσδιορίσει αν η περιοχή έχει
κλειδωθεί.Ανμ συμβαίνει αυτό (κλειδωμένη περιοχή) επαναλαμβάνεται η κλήση μερικές φορές.
Αν αποτύχει η
προσπάθεια , αποτυνχάνει και η κλήση. Οταν
η εφαρμογή απελευθερώσει ένα κλείδωμα το RLB αφαιρείται και ο χώρος μνήμης του
ελευθερώνεται για επαναχωρήγηση.
Τα RLB's ελέγχονται κατά τη διάρκεια των κλήσεων
διαβάσματος/γραψίματος.
Οι μηχανισμοί κλειδώματος
αρχείων και εγγραφών υποστηρίζονται εσωτερικά
από τον πυρήνα του MOS.Δεν υπάρχει λόγος να φορτωθεί και να παραμείνει ένα SHARE.COM αρχείο.Αν η εφαρμογή έχει σχεδιαστεί
για DOS δίκτυο , κάνει μια κλήση στην διακοπή 2fh για
να δεί αν έχει
φορτωθεί το SHARE , ο χειριστής της διακοπής sfh του MOS θα επιστρέψει μια ένδειξη ότι έγινε , μολονότι
δεν υπάρχει τίποτα τεχνικά ξεχωριστό για
να φορτώσει.
Αυτή η εξομοίωση
γίνεται για μια καλή συμπεριφορά προγραμμάτων
δικτύων και για επιβεβαίωση της ύπαρξης του SHARE.
ΔΙΑΜΟΙΡΑΣΜΟΣ
ΜΗΧΑΝΗΣ
Οι μελέτες του διαμοιρασμού
αρχείων υλοποιούνται όταν οι εφαρμογές που
εμπλέκονται τρέχουν από 2 διαφορετικές μηχανές που συνδέονται σε δίκτυο. Εφαρμόζονται στη περίπτωση
που 2 ή περισσότερες εφαρμογές τρέχουν
στο ίδιο υπολογιστικό σύστημα υπό
τον έλεγχο ενός
πολυδιεργασιακού περιβάλλοντος. Ένας άλλος τύπος διαμοιρασμού πόρων είναι ο διαμοιρασμός της
μηχανής. Η μελέτη του σχεδιασμού εφαρμόζεται
στη περίπτωση που η πολυδιεργασία γίνεται σε ένα υπολογιστή. Ο σχεδιασμός προγραμμάτων
με την αντίληψη του διαμοιρασμού μηχανής
απαιτεί την ικανότητα "αμυντικού" και "καθαρού" προγραμματισμού. Οι
"καθαροί" προγραμματιστές είναι προσεκτικοί στο να αφήνουν τα πράγματα στην
ίδια κατάσταση σαν να βρέθηκαν. Οι τακτικές
του αμυντικού προγραμματισμού είναι απαραίτητο
να διατηρούν σταθερότητα, όταν διαμοιράζονται σε μια
μηχανή προγράμματα
που δεν αυτοτακτοποιούνται μετά. Υπάρχουν
τέλος καταστάσεις που αμυντικές προσεγγίσεις
απαιτούνται για να αποτρέπεται μια
διεργασία να μετατραπεί από κάποιο συμβάν, κατά τη διάρκεια μιας ευαίσθητης λειτουργίας. Η κατανόηση και αντίληψη του τι εμπλέκεται
σ'αυτό το επιπλέον επίπεδο και του τι
είναι απαραίτητο, συνιστούν τη διαφορά μεταξύ μιας απλής εφαρμογής που τρέχει κάτω PC-DOS και πολλαπλών
εφαρμογών κάτω από
MOS.Στη περίπτωση της μονοεπεξεργασίας, η εφαρμογή υποθέτει τον ολικό έλεγχο της
μηχανής.
Μπορεί να
ξαναπρογραμματίσει κανείς το υλικό του συστήματος κατά κάποιο τρόπο, που ταιριάζει στο σκοπό που
επιχειρείται χωρίς να έχειτο συμφέρον για
πιθανή επίδραση σε άλλες επεξεργασίες. Αυτό γίνεται συχνά γιατί είναι γρηγορότερος και απλούστερος
να
επιτυγχάνεται
βέβαια αποτελέσματα. Οταν ένα χρονοδιακοπτόμενο πολυδιεργασιακό-λειτουργικό σύστημα
της ολικής ιδιοκτησίας της μηχανής είναι
βασικά μη υγειής .Ο
επεξεργαστής 386 με
τις δυνατότητες της σύλληψης του Ε\Ε του,
μπορεί να έχει άσχημη συμπεριφορά. Οπωσδήποτε μερικές φορές ο μόνος πρακτικός πόρος της λογικής της Ε\Ε σύλληψης
είναι να αρνιέται μια λειτουργία παρά να
εξασφαλίζει κάποια εξομοίωση. Οταν
γίνεται αυτό ή όταν
το MOS τρέχει σ''ένα σύστημα που δεν υποστηρίζει
την Ε\Ε σύλληψη, όπως οι βασισμένες σε 286 μηχανές, ο σχεδιασμός προγραμμάτων που αφήνει τα πράγματα
στην ίδια σχέση, όπως βρέθηκαν πρέπει να
αποτρέπεται. Οταν έχουν σχεδιαστεί
προγράμματα με
λίγη ή καθόλου αντίληψη των χαρακτηριστικών ενός περιβάλλοντος χρονοδιακοπής , παρουσιάζονται προβλήματα
ρεαλιστικότητας. Κάτι απλό για παράδειγμα
είναι η χρήση του διαθέσιμου καναλιού
του 8253 χρονοδιακόπτη να παράγει ήχο που θα
δηλώνει τον έλεγχο
όταν δεν ακολουθούνται οι παραπάνω πρακτικές προγραμματισμού. Ενα παράδειγμα αυτών θα
παρουσιαστεί στο επόμενο τμήμα με τίτλο
προγραμματισμός Ε\Ε.