Ο ακόλουθος πίνακας δείχνει την ροή προγράμματος όταν θα εκτελεστεί μια εγκατάσταση
του WHDLoad. Ελπίζω να σας βοηθήσει να καταλάβετε πως δουλεύει το WHDLoad και πως το
WHDLoad, το Slave και το εγκατεστημένο πρόγραμμα συνεργάζονται.
Ο ΧΡΗΣΤΗΣ |
- ξεκινάει το demo ή παιχνίδι κάνοντας κλικ στο εικονίδιο ή ξεκινώντας
το WHDLoad από τη γραμμή εντολών
|
Το Λειτουργικό Σύστημα |
- φορτώνει το εκτελέσιμο αρχείο του WHDLoad και το ξεκινάει
|
Το WHDLoad |
- ελέγχει το περιβάλλον Software και Hardware
- φορτώνει και ελέγχει το Slave
- κατανέμει την απαιτούμενη μνήμη για το εγκατεστημένο πρόγραμμα
- εάν η Preload/Sέχει ενεργοποιηθεί φορτώνει
τους εικονικούς δίσκους και τα αρχεία στην RAM (εφόσον υπάρχει διαθέσιμη
ελεύθερη μνήμη)
- κλείνει το OS (απενεργοποιεί το mutitasking και τα interrupts, υποβαθμίζει
το hardware γραφικών σε OCS, ξεκινά όλο το hardware με ορισμένες τιμές)
- μεταπηδάει στο Slave
|
Slave |
- φορτώνει το κυρίως εκτελέσιμο αρχείο του εγκατεστημένου προγράμματος καλώντας μια συνάρτηση του
WHDLoad (π.χ. resload_DiskLoad ή resload_LoadFile)
- διορθώνει το κυρίως εκτελέσιμο αρχείο (ότι το πρόγραμμα θα φορτώσει τα δεδομένα του
μέσω του Slave, να διορθώσει προβλήματα συμβατότητας, να ενεργοποιήσει μια έξοδο
από το πρόγραμμα)
- καλεί το κυρίως εκτελέσιμο αρχείο
|
Εγκατεστημένο πρόγραμμα |
- θα κάνει τα πράγματά του
- στο φόρτωμα δεδομένων από τον δίσκο θα καλέσει το Slave (επειδή το
Slave το έχει διορθώσει έτσι προηγουμένως), και το Slave
θα καλέσει το WHDLoad, και το WHDLoad θα ενεργοποιήσει μερικώς το OS για να
φορτώσει τα δεδομένα (μόνο αν τα δεδομένα δεν είναι ήδη με Preload), μετά επιστρέφει
και το εγκατεστημένο πρόγραμμα συνεχίζει
|
Ο ΧΡΗΣΤΗΣ |
- βγαίνει από το πρόγραμμα πατώντας το QuitKey
|
το Slave |
|
το WHDLoad |
- επανενεργοποιεί το OS (επαναφέρει τους καταχωρητές hardware, την οθόνη και τη μνήμη)
- απελευθερώνει όλους τους κατανεμημένους πόρους
- και επιστρέφει στο OS
|