Support Windows 95

Τα Windows 95 μπορούν να εγκατασταθούν σε έναν υπολογιστή με τρεις τρόπους:

Α). Από δισκέτες.

Β). Από CD-ROM.

Γ). Μέσω δικτύου από Server.

Μια εγκατάσταση μέσω δικτύου έχει πλεονεκτήματα και μειονεκτήματα:

Πλεονεκτήματα

Α). Λίγος ή και καθόλου χώρος στο δίσκο για την εγκατάσταση και λειτουργία των Windows 95 .

Β). Εύκολη και γρήγορη συντήρηση.

Μειονεκτήματα

Α). Αύξηση της κυκλοφορίας στο δίκτυο.

Β). Απαίτηση για μεγαλύτερο χώρο στο δίσκο του Server για την shared εγκατάσταση.

Γ). Χαμηλότερη ταχύτητα εκτέλεσης των ιδίων των Windows 95 αλλά και των εφαρμογών τους.

 

Απαιτήσεις σε Hardware για την εγκατάσταση των Windows 95.

Α). Επεξεργαστής 386 DX 20Mhz και άνω. (Όχι 386 με ID 303).

Β). Μνήμη 4Mb. Συνιστώνται 8Mb.

Γ). Οδηγός δισκέτας και σκληρός δίσκος με τουλάχιστο 50Mb ελεύθερα.

Δ). Κάρτα οθόνης VGA ή ανώτερη.

Προαιρετικά προτείνονται:

Α). Mouse pointing device.

Β). CD-ROM

Γ). Modem

Δ). Fax - Modem.

Απαιτήσεις σε Software για την εγκατάσταση των Windows 95.

Τα Windows 95 εγκαθίστανται σαν upgrade πάνω σε άλλο λειτουργικό σύστημα που μπορεί να είναι MS-DOS 3.2 (που να υποστηρίζει partition άνω των 32Mb), ή Windows 3.x ή Windows For Workgroups, ή Novell DR-DOS, ή OS2 με Dual boot MS-DOS, ή Windows NT με Dual boot MS-DOS.

ΠΡΟΣΟΧΗ!

Πριν την εκκίνηση του προγράμματος εγκατάστασης θα πρέπει να έχουν απενεργοποιηθεί τυχόν Virus protection ή Energy Saving στο BIOS και όλα τα TSR προγράμματα από το config.sys ή το autoexec.bat.

 

Απαιτήσεις του προγράμματος εγκατάστασης SETUP.

 

Το πρόγραμμα Setup απαιτεί 600Κ μνήμης (417Kb Conventional).

Διαδικασία εντοπισμού Hardware

Ονομάζεται η διαδικασία κατά την οποία εξετάζονται και εντοπίζονται οι τύποι των συσκευών που βρίσκονται εγκατεστημένες στον υπολογιστή. Η διαδικασία αυτή περιλαμβάνει μια σειρά διαφορετικών μεθόδων για τον εντοπισμό των συσκευών.

Α). Η πρώτη μέθοδος εξετάζει αν είναι εγκατεστημένη στον υπολογιστή μια προηγούμενη έκδοση των Windows ή άλλη εγκατάσταση των Windows 95, οπότε οι συσκευές έχουν ήδη είναι ανεγνωρισμένες έχουν καταγραφεί και ρυθμιστεί.

Β). Η δεύτερη είναι η μέθοδος ασφαλούς εντοπισμού, κατά την οποία ερευνάται ο υπολογιστής για τον εντοπισμό software που υποδηλώνει την ύπαρξη μιας συσκευής. Αυτή η μέθοδος εξετάζει όλα τα .INI αρχεία το config.sys και το autoexec.bat καθώς επίσης και την μνήμη για τυχόν φορτωμένους drivers συσκευών. Αν βρεθούν τέτοιοι οδηγοί πιστοποιείται η ύπαρξη της συσκευής και αυτή καταγράφεται και ρυθμίζεται.

Γ). Κατά την διαδικασία της εγκατάστασης αν το Setup δεν μπορέσει να εντοπίσει συσκεύες μέσω του config.sys ή του autoexec.bat τότε ερωτάται ο χρήστης για την ύπαρξη συσκευών όπως:

Αν ο χρήστης δηλώσει συσκευές που δεν έχουν εντοπιστεί από την προηγούμενη ασφαλή μέθοδο εντοπισμού, τότε ξεκινά ή Τρίτη μέθοδος κατά την οποία εκτελείται μια σειρά ρουτίνων που κάνουν συνεχείς ερωτήσεις στο σύστημα παίρνουν απαντήσεις, εξετάζουν διάφορες θέσεις μνήμης, εξετάζουν κωδικούς που επιστρέφουν οι συσκευές, έτσι ώστε να εντοπίσουν επακριβώς την κάθε συσκευή. Όταν εκτελείται αυτή η μέθοδος εντοπισμού μπορεί το σύστημα να κρεμάσει, τότε το κλείνουμε και το ανοίγουμε ξανά (όχι Alt-Ctrl-Del). Οι συσκευές που θα εντοπιστούν και από τις τρεις μεθόδους καταγράφονται στο αρχείο DETLOG.TXT που βρίσκεται στο Root του δίσκου C.

 

Ανάλυση των επιμέρους διαδικασιών του προγράμματος Setup.

REAL MODE

PROTECTED MODE

1. Εκτέλεση της Scandisk 7. Αλλαγή σε Protected Mode
2. Ελεγχος ύπαρξης Windows 8. Ερευνα και εντοπισμός Hardware
3. Ελεγχος συστήματος 9. Εισαγωγή δεδομένων από το χρήστη
4. Ελεγχος XMS – Φόρτωση Smartdrive 10. Αντιγραφή αρχείων
5. Ελεγχος για τυχόν TSR στη μνήμη 11. Αλλαγή του boot record
6. Εκκίνηση του Setup σε γραφικό περιβάλλον 12. Επανεκκίνηση
  13. Πρώτη εκτέλεση

 

  1. Εκτελείται η Scandisk για έλεγχο διαφόρων προβλημάτων στο FAT, στο σύστημα αρχείων, στη δομή των φακέλων και γίνεται μια προσπάθεια διόρθωσης των τυχόν προβλημάτων.
  2. Ερευνα των τοπικών δίσκων του υπολογιστή για ύπαρξη προηγούμενης έκδοσης των Windows. Αν βρεθεί προηγούμενη έκδοση το Setup προτείνει στο χρήστη να εκτελέσει ξανά το Setup μέσα από τα Windows.
  3. Εκτελείται έλεγχος του υπολογιστή για να διαπιστωθεί αν είναι ικανός να τρέξει τα Windows 95. Ελέγχεται η CPU, αν υπάρχει αρκετή μνήμη, η έκδοση του MS-DOS, αν υπάρχει αρκετός ελεύθερος χώρος στο δίσκο. Αν κάποια από τις προηγούμενες προυποθέσεις δεν πληρείται τότε το Setup σταματά.
  4. Ελεγχος αν υπάρχει πρόγραμμα διαχείρισης μνήμης XMS φορτωμένο στη μνήμη. Αν όχι τότε φορτώνεται ένα αυτόματα. Την ίδια στιγμή φορτώνεται και το πρόγραμμα για το Caching των δεδομένων αν δεν υπάρχει ήδη φορτωμένο. Το πρόγραμμα Cache είναι το SmartDrive.
  5. Διαπιστώνεται αν υπάρχουν TSR προγράμματα στη μνήμη, που θα μπορούσαν να προκαλέσουν πρόβλημα. Αν ναι, ενημερώνεται ο χρήστης και προτείνεται να αφαιρεθούν αυτά τα προγράμματα και να επανεκκινηθεί η διαδικασία Setup.
  6. Αν το Setup δεν εκτελείται μέσα από Windows τότε εγκαθίστανται ορισμένα DLL’s των Windows 3.x τα οποία είναι απαραίτητα για την εκτέλεση του προγράμματος Setup σε γραφικό περιβάλλον. Μέχρι αυτή τη στιγμή ο επεξεργαστής λειτουργεί σε Real Mode.
  7. Αλλαγή του επεξεργαστή σε Protected Mode.
  8. Προσπάθεια του Setup να εντοπίσει όλες τις συσκευές που είναι εγκατεστημένες στον υπολογιστή. Κατά τη φάση αυτή δημιουργείται η Registry και εγγράφονται σ’ αυτή οι ρυθμίσεις των συσκευών που εντοπίζονται.
  9. Αν το Setup δεν μπορέσει να εντοπίσει το Hardware ή τις ρυθμίσεις των συσκευών τότε καλείται ο χρήστης να δώσει αυτές τις πληροφορίες.
  10. Αντιγραφή των αρχείων των Windows 95 στο δίσκο.
  11. Αλλαγή του boot record.
  12. Επανεκκίνηση.
  13. Πρώτη εκτέλεση. Ρυθμίσεις του Time Zone, δημιουργία των program groups, ολοκλήρωση των υπόλοιπων ρυθμίσεων κλπ. Επανεκκίνηση για ρύθμιση των protected mode drivers.

 

Οι default ρυθμίσεις στο config.sys

 

Files 60

Buffers 30

Lastdrive z

FCBS 4

Stacks 9,256

DOS High,UMB,Auto

 

 

 

Αρχεία αναφορών, που δημιουργούνται κατά την διαδικασία Setup

Α). SETPLOG.TXT Σ’ αυτό το αρχείο καταγράφονται πληροφορίες που δεν καταχωρούνται στο αρχείο detlog.txt. Οι εγγραφές που γίνονται σ’ αυτό το αρχείο σχετίζονται και με τις επιτυχημένες αλλά και με τις αποτυχημένες ενέργειες ή διαδικασίες του Setup. Το αρχείο αυτό χρησιμοποιείται από το Setup για να είναι βέβαιο ότι όσες φορές και να εκκινηθεί η εγκατάσταση δεν θα σταματήσει στο ίδιο σημείο. Οι πληροφορίες που καταγράφονται στο αρχείο SETUPLOG.TXT χρησιμοποιούνται από το Setup και ως οδηγός για τον εκ των υστέρων έλεγχο της πληρότητας και της ορθότητας της εγκτάστασης. Όταν εκτελέσεουμε το Setup μετά από μια επιτυχημένη εγκατάσταση τότε γίνεται απλώς ένας έλεγχος όλων των εγκατεστημένων αρχείων και επανεγκαθίστανται μόνο εκείνα τα αρχεία που έχουν υποστεί βλάβη.

Β). DETCRASH.LOG Πρόκειται για ένα binary αρχείο στο οποίο καταχωρούνται εγγραφές που σχετίζονται με αστοχίες ελέγχου των συσκευών κατά την διαδικασία της εγκατάστασης.

Είναι σημαντικό αυτά τα δύο αρχεία να βρίσκονται στο root του C για να γίνεται το troubleshooting εύκολο.

Γ). NETLOG.TXT Αρχείο στο οποίο καταγράφονται τα αποτελέσματα της έρευνας των συσκευών δικτύωσης που εκτελείται κατά την διαδικασία της εγκατάστασης.

 

Διακόπτες του προγράμματος Setup

Όταν το Setup εκτελείται από MS-DOS ισχύουν οι διακόπτες

/IS Δεν εκτελείται η Scandisk

/ID Δεν εκτελείται έλεγχος για τον ελεύθερο χώρο στο δίσκο

/IM Δεν εκτελείται έλεγχος Conventional μνήμης

/IL Εγκαθιστά τον οδηγό για τα ποντίκια της Logitech

/IQ Δεν εκτελείται έλεγχος για cross linked files (χρήση μαζί με τον /IS)

/C Δεν φορτώνει το Smartdrive για disk caching

/T:<dir>Ορίζει τον φάκελο για τα προσωρινά αρχεία.

<Batch>Ορίζει το πλήρες path του αρχείου ομαδικών εντολών για αυτοματοποίηση του Setup

/? Εμφανίζει το κείμενο βοήθειας

Όταν το Setup εκτελείται από MS-DOS ισχύουν οι διακόπτες

/ID Δεν εκτελείται έλεγχος για τον ελεύθερο χώρο στο δίσκο

/IM Δεν εκτελείται έλεγχος Conventional μνήμης

/IN Δεν εκτελείται το τμήμα της εγκατάστασης δικτύου

/IQ Δεν εκτελείται έλεγχος για cross linked files (χρήση μαζί με τον /IS)

/IS Δεν εκτελεί έλεγχο του συστήματος

/C Δεν φορτώνει το Smartdrive για disk caching

/T:<dir>Ορίζει τον φάκελο για τα προσωρινά αρχεία.

<Batch>Ορίζει το πλήρες path του αρχείου ομαδικών εντολών για αυτοματοποίηση του Setup

/? Εμφανίζει το κείμενο βοήθειας

Προβλήματα κατά την εκκίνηση

Τα αρχεία SYSTEM.DAT και USER.DAT που αποτελούν την Registry των Windows 95 αντιγράφονται σε κάθε επιτυχή έξοδο από τα Windows 95 με extension .DA0 στο directory των Windows.

Όταν κάποιο από τα αρχεία αυτά καταστραφεί ή διαγραφεί μετονομάζουμε το αντίστοιχο .DA0 σε .DAT. Μήνυμα για κατεστραμένη Registry παίρνουμε και όταν για κάποιο λόγο λείπει η δήλωση WinDir στο MSDOS.SYS.

Αν κατά την εκκίνηση εκτελούνται προγράμματα τα οποία δεν φαίνονται στο φάκελο StartUp τότε ελέγχουμε στο κλειδί

HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folder

Η τιμή του StartUp να είναι WindowsDIR\Start menu\Programs\StartUp όπου WindowsDIR είναι το Path που βρίσκονται εγκατεστημένα τα Windows 95.

Τα Windows 95 υποστηρίζουν εφενός μεν στατικά VxDs τα οποία φορτώνονται κατά την εκκίνηση όπως ακριβώς και στα Windows 3.x και αφετέρου δυναμικά VxDs. Το αρχείο VMM32.VxD περιλαμβάνει τον real mode loader το εκτελέσιμο τμήμα του Virtual Machine Manager και τα πιο συνήθη VxDs. Αν παρόλα αυτά κάποιο VxD αρχείο βρίσκεται μέσα στο directory \SYSTEM\VMM32 τα Windows 95 το φορτώνουν σε αντίθεση με τα άλλα ενωμένα VxDs μέσα στο MRCI2.VxD. Αν θέλουμε τα ενημερώσουμε ένα αρχείο VxD το οποίο έχει συμπεριληφθεί μέσα στο monolithic VMM32.VxD με ένα νεότερης έκδοσης τότε τοποθετούμε το νέο αρχείο στο directory \SYSTEM\VMM32. Τα Windows 95 ελέγχουν πάντα αυτό το directory και χρησιμοποιούν κάθε ένα διαφορετικό VxD που βρίσκουν αντί να φορτώνουν αυτά που έχουν συγχωνευτεί μέσα στο αρχείο VMM32.VxD.

Το VMM32 φορτώνει τους drivers (VxD αρχεία) σε τρία βήματα:

    1. Φορτώνει τους drivers που αναφέρονται στο κλειδί :
    2. Hkey_Local_Machine\System\CurrentControlSet\Services\VxD

    3. Αν το VMM32 βρεί τιμή σε κάθε δήλωση StaticVxD σε οποιοδήποτε κλειδί της Registry τότε το φορτώνει και εκτελεί το real mode initialization.
    4. Το VMM32 φορτώνει επίσης κάθε δήλωση στο αρχείο System.INI που ξεκινά με το χαρακτηριστικό device=*VxD στο τμήμα [386Enh].

 

Αν ένα VxD που καλείται να φορτωθεί από το SYSTEM.INI συγκρούται με κάποιο από τη Registry τότε αγνοείται αυτό της Registry και φορτώνεται αυτό του SYTEM.INI.

VxDs που αφορούν ελεγκτές SCSI φορτώνονται από το κλειδί :

Hkey_Local_Machine\System\CurrentControlSet\Services\Class

Διακόπτες του Explorer

/n Ανοίγει ένα νέο single pane παράθυρο με τα περιεχόμενα του επιλεγμένου αντικειμένου.

/e Ανοίγει παράθυρο τύπου Windows Explorer (Double panes).

/root,<Object> Ορίζει το root object απ’ το οποίο θα ξεκινήσει η προβολή των περιεχομένων.

/select,<subObject> Ορίζει το φάκελο που θα λάβει τελικά την φωτεινότητα (focus).

 

Αρχιτεκτονική των Windows 95

Τα Windows 95 σχεδιάστηκαν να εκμεταλλεύονται καλύτερα την προστασία που παρέχουν οι επεξεργαστές 80396 ή οι νεώτεροι, καθώς επίσης να κρατούν και τη συμβατότητα με τα υπάρχοντα προγράμματα.

Ο 386 και οι νεώτεροι επεξεργαστές έχουν την ικανότητα να υποστηρίζουν πολλαπλά επίπεδα (Rings) προνόμιων του εκτελέσιμου κώδικα. Τα διαφορετικά Rings (δακτυλίδια) έχουν διαφορετικού τύπου προστασία και διαφορετικών επιπέδων προνόμια. Οι μεταφορές μεταξύ των δακτυλίων παίρνουν σχετικά αρκετά μεγάλο χρόνο. Ο πραγματικός χρόνος εξαρτάται από τον μικροεπεξεργαστή. Επειδή ικανοποιητική ασφάλεια επιτυγχάνεται και με τη χρήση δύο δακτυλίων τα Windows 95 αυξάνουν την ταχύτητα χρησιμοποιώντας μόνο τους δακτύλιους 0 και 3. Οι δακτύλιοι 1 και 2 δεν χρησιμοποιούνται στα Windows 95 όπως επίσης δεν χρησιμοποιούνται και στα Windows ΝΤ.

 

ΔΑΚΤΥΛΙΟΣ 0.

Τα περιεχόμενα και τα δομικά στοιχεία (Software components) του δακτύλιου 0 προστατεύονται από τον επεξεργαστή. Αυτό σημαίνει ότι το chip δεν επιτρέπει διαφορετικό software να γράψει πάνω από τα δεδομένα άλλου που βρίσκεται στο δακτύλιο 0. Με αυτού του είδους την προστασία ίσως να νομίζουμε ότι όλο το Software θα έπρεπε να εκτελείται στο δακτύλιο 0.

Εντούτοις, τα δομικά στοιχεία του δακτύλιου 0 μπορούν να έχουν όλες τις προνομιακές λειτουργίες όπως να επικοινωνούν απευθείας με το Hardware. Τα στοιχεία του δακτυλίου 0 έχουν πρόσβαση σε όλο το σύστημα. Αν ένα δομικό στοιχείο του δακτύλιου 0 αποτύχει, μπορεί να κρεμάσει όλο το σύστημα.

Ο πυρήνας του λειτουργικού συστήματος των Windows 95 εκτελείται στον δακτύλιο 0.

 

ΔΑΚΤΥΛΙΟΣ 3.

Όταν ένα στοιχείο προγράμματος εκτελείται στον δακτύλιο 3 δεν προστατεύεται απ’ τον επεξεργαστή. Η προστασία παρέχεται από το λειτουργικό σύστημα. Οι διαδικασίες που εκτελούνται στον δακτύλιο 3 δεν έχουν τα ίδια προνόμια με αυτές που εκτελούνται στο δακτύλιο 0. Για παράδειγμα οι διαδικασίες που εκτελούνται στο δακτύλιο 3 δεν μπορούν να γράψουν απευθείας στο Hardware. Αυτές οι διαδικασίες θα πρέπει να επικοινωνήσουν με αντίστοιχες στο δακτύλιο 0. Αυτός ο περιορισμός στα προνόμια σημαίνει ότι αν ένα στοιχείο προγράμματος αποτύχει στο δακτύλιο 3, δεν μπορεί να κρεμάσει το σύστημα. Γι’ αυτόν ακριβώς το λόγο ένα στοιχείο προγράμματος το οποίο εκτελείται στο δακτύλιο 3 μπορεί να μην επιρεάσει άλλα προγράμματα που εκτελούνται στο σύστημα την ίδια χρονική στιγμή.

Γι’ αυτό όλα τα προγράμματα και τα μη κρίσιμα στοιχεία του συστήματος εκτελούνται στο δακτύλιο 3.

Εικονικές μηχανές – Virtual Machines.

Τα προγράμματα υπάρχουν στις εικονικές μηχανές. Μια εικονική μηχανή είναι ένα περιβάλλον το οποίο δημιουργείται από το λειτουργικό σύστημα και τον επεξεργαστή και προσομοιώνει ένα πλήρες σύστημα με τους πόρους, τους ελεγκτές δίσκων, τους χρονιστές κ.λ.π. Η εικονική μηχανή φαίνεται στο πρόγραμμα σαν ένας πλήρης υπολογιστής και έτσι το πρόγραμμα έχει εικονική πρόσβαση στο Hardware και στους άλλους πόρους. Οι εικονικές μηχανές κάνουν τον προγραμματισμό εύκολο. Ο προγραμματιστής δεν υποχρεούται να ελέγχει πότε το Hardware είναι διαθέσιμο ή χρησιμοποιείται από άλλο πρόγραμμα. Το πρόγραμμα κάνει κλήσεις σε εικονικές συσκευές. Το λειτουργικό σύστημα ελέγχει τα προγράμματα και στο Hardware και ορίζει σε ποιους πόρους θα έχει κάθε πρόγραμμα πλήρη πρόσβαση.

Οι εικονικές μηχανές στα Windows 95 δημιουργούνται και λειτουργούν στον δακτύλιο 3.

Όλα τα προγράμματα των Windows 95 εκτελούνται σε μια εικονική μηχανή. Χρησιμοποιούνται διαφορετικές μηχανές στα Windows 95. Τα Windows 95 έχουν μία System Virtual Machine και πολλαπλές VM’s για τις εφαρμογές MS-DOS.

Η System Virtual Machine περιέχει:

Επειδή τα προγράμματα του MS-DOS περιμένουν να έχουν απευθείας και ξεχωριστή πρόσβαση στο Hardware, κάθε πρόγραμμα του MS-DOS το οποίο εκτελείται μέσα στα Windows 95 χρησιμοποιεί ξεχωριστή εικονική μηχανή.

Οι 16bit εφαρμογές μοιράζονται ένα απλό εύρος διευθύνσεων μνήμης το οποίο ανήκει στην system VM. Είναι πιθανό ένα 16bit πρόγραμμα να πατήσει στο χώρο μνήμης που χρησιμοποιεί ένα άλλο. Αυτό είναι απαραίτητο να επιτρέπεται, για συμβατότητα με τις υπάρχουσες 16bit εφαρμογές, οι οποίες πρέπει να είναι ικανές να συνεργάζονται η μία με την άλλη χρησιμοποιώντας από κοινού τη μνήμη μ’ αυτό τον τρόπο.

Οι 32bit εφαρμογές έχουν τον δικό τους χώρο μνήμης στην system Virtual Machine. Οι διευθύνσεις μνήμης που χρησιμοποιεί η κάθε 32bit εφαρμογή, προστατεύονται από το Hardware. Οι 32bit εφαρμογές δεν πατάνε η μια πάνω στη μνήμη της άλλης.

Κεντρικό σύστημα μηνυμάτων στα Windows 95

Τα Windows 95 χρησιμοποιούν ένα μοντέλο διακίνησης μηνυμάτων για τον έλεγχο των προγραμμάτων. Τα μηνύματα δημιουργούνται κάθε φορά που συμβαίνει ένα γεγονός. Για παράδειγμα όταν κινείται ή σταματά το ποντίκι, όταν ένα πλήκτρο πατηθεί, ή όταν το Hardware λαμβάνει Data. Ολες αυτές οι ενέργειες δημιουργούν μηνύματα. Ακόμη και τα προγράμματα που εκτελούνται στα Windows 95 δημιουργούν μηνύματα για να απαιτήσουν από το σύστημα να εκτελέσει κάποια υπηρεσία ή να μεταφέρει κάποια πληροφορία.

Όλα τα μηνύματα τοποθετούνται στην κατάλληλη ουρά μηνυμάτων. Αυτή η ασύγχρονη επεξερργασία μηνυμάτων σημαίνει ότι το σύστημα επεξεργάζεται ξεχωριστά την κάθε ουρά. Αν ένα πρόγραμμα αποτύχει και δεν διαβάζει τα μηνύματά του, τότε η ουρά των μηνυμέτων μπλοκάρεται και κανένα πρόγραμμα που εξυπηρετούνταν απ’ αυτή δεν θα μπορεί να συνεχίσει. Εντούτοις η ουρά που δεν λειτουργεί δεν εμποδίζει τις άλλες ουρές να μεταδίδουν τα μηνύματά τους.

Οι 32bit εφαρμογές έχουν μια ουρά μηνυμάτων για κάθε task ή thread που το πρόγραμμα εκτελεί. Ολες οι 16bit εφαρμογές μοιράζονται μια κοινή ουρά. Αν μια 16bit εφαρμογή κρεμάσει τότε όλες οι 16bit εφαρμογές που εκτελούνταν εκείνη τη στιγμή στο σύστημα θα έχουν μπλοκαρισμένα τα μηνύματά τους και δεν θα αποκρίνονται, μέχρι να κλείσει η προβληματική εφαρμογή.

Επειδή τα προγράμματα του MS-DOS δεν χρησιμοποιούν μηνύματα δεν έχουν ουρές μηνυμάτων.

Συναρτήσεις του λειτουργικού Συστήματος.

Τα Windows 95 διαθέτουν διάφορες συναρτήσεις μέσα στο λειτουργικό σύστημα. Όταν ένα πρόγραμμα χρειάζεται μια τέτοια συνάρτηση στέλνει ένα μήνυμα στο λειτουργικό σύστημα. Αυτές οι συναρτήσεις βρίσκονται μέσα σε δυναμικά συνδεόμενες βιβλιοθήκες (DLL’s). Μια DLL αποτελείται από μια συλλογή ρουτίνων. Οι ρουτίνες αυτές μπορούν να φορτωθούν και να εκτελεστούν με την εκτέλεση ενός προγράμματος. Όπως και στα Windows 3.1 ή τα Windows for Workgroups, έτσι και στα Windows 95 ο πυρήνας του λειτουργικού είναι κατασκευασμένος από τρεις βιβλιοθήκες DLL.

KERNEL.

Kernel32.DLL. Διαχειρίζεται τη βάση του λειτουργικού συστήματος, την μνήμη, το Input/Output το αρχείων και το φόρτωμα και την εκτέλεση των προγραμμάτων.

USER

USER32.DLL και USER.EXE. Ελέγχει το Input – Output των δεδομένων από το χρήστη, συμπεριλαμβανομένου του πληκτρολογίου, του ποντικιού, των καρτών ήχου και των θυρών επικοινωνίας. Δημιουργούν το περιβάλλον χρήσης των Windows 95 τοποθετούν και μετακινούν τα παράθυρα, τα εικονίδια και τα πλαίσια διαλόγου.

GDI

GDI32.DLL και GDI.EXE. Διαχειρίζεται τα γραφικά και τις εκτυπώσεις.

WINNET

Τα DLL’s του Winnet επιτρέπουν την προσπέλαση σε συναρτήσεις που αφορούν την πρόσβαση στο δίκτυο.

Windows System Drivers.

 

Ενας Driver είναι ένα πρόγραμμα μετάφρασης. Δέχεται διάφορες εντολές από το λειτουργικό σύστημα και τις μεταφράζει σε συγκεκριμένες εντολές που αντιλαμβάνεται ένα κομμάτι του Hardware. Ετσι το Hardware μπορεί να αλλάζει χωρίς να επιρεάζονται τα προγράμματα. Μερικοί από τους Drivers που χρησιμοποιούνται από τα Windows 95 είναι :

System Sound

Keyboard Communications

Mouse Printer

Display Network Adapter

Για συμβατότητα με τα υπάρχοντα προγράμματα, τα Windows 95 υποστηρίζουν τους παρακάτω Drivers :

MS-DOS real mode (*.SYS)

Real Mode Windows (συχνά αναφέρονται στο system.ini με προέκταση *.DRV)

Protected Mode Windows (virtual drivers *.VxD)

Αν μια συσκευή δεν υποστηρίζεται από ένα νέο Driver, τότε μπορεί να χρησιμοποιηθεί και ο Driver του MS-DOS ο οποίος ενεργοποιείται από την ανάλογη σύνταξη μέσα στο config.sys. Αν κατά τη διαδικασία εγκατάστασης των Windows 95, το πρόγραμμα setup δεν είναι σίγουρο για το αποτέλεσμα μετά την αφαίρεση ενός Driver που αναφέρεται στο config.sys, τότε τον αφήνει ως έχει και με την αλλαγή του συστήματος σε protected mode ενεργοποιείται ο νέος Driver των Windows 95 ο οποίος και χρησιμοποιείται εις αντικατάσταση του προηγούμενου.

Οι Real Mode Drivers είναι Drivers που δημιουργήθηκαν για χρήση στο MS-DOS και δεν είναι τόσο στιβαροί όσο οι Protected Mode Drivers.

Οι Protected Mode Drivers, εκμεταλλεύονται την αρχιτεκτονική των 386 ή των νεότερων επεξεργαστών και το protected mode που προσφέρουν. Ενας τέτοιος Driver καλείται επίσης και virtual device driver ή VxD επειδή επιτρέπει γρήγορη και shared πρόσβαση στην συσκευή χωρίς να δεσμέυει μνήμη από τα 640Kb. Μερικοί Protected Mode Drivers έχουν προέκταση *.386 και τα Windows 95 τους υποστηρίζουν χωρίς πρόβλημα.

Η Registry.

 

H Registry είναι μια database όπου καταγράφονται ρυθμίσεις του συστήματος και των προγραμμάτων. Η μέθοδος καταγραφής των ρυθμίσεων είναι όμοια με αυτή των .INI αρχείων αν και τα Windows 95 συνεχίζουν να χρησιμοποιούν τα .INI αρχεία για συμβατότητα με παλαιότερα προγράμματα. Η Registry είναι μια Database με δομή δέντρου η οποία αποτελείται από δύο αρχεία από τα οποίο το πρώτο είναι το SYSTEM.DAT και χρησιμοποιείται για αποθήκευση των ρυθμίσεων του συστήματος και το άλλο το USER.DAT στο οποίο καταγράφονται ρυθμίσεις που αφορούν το χρήστη.

HKEY_CLASSES_ROOT

Το κλειδί αυτό περιέχει δεδομένα του ιδίου τύπου με αυτά που περιείχε το REG.DAT των Windows 3.x. Αυτές οι πληροφορίες σχετίζονται με το OLE και τις αντιστοιχίσεις των αρχείων. Πρόκειται για αντιστοιχίσεις που επιτρέπουν στα Windows 95 να φορτώνουν και να εκτυπώνουν μέσα από το κατάλληλο πρόγραμμα όταν επιλέγεται ένα αρχείο.

HKEY_CURRENT_USER

Αυτό το κλειδί περιέχει ειδικές ρυθμίσεις για το σύστημα και τα προγράμματα. Δημιουργείται κατά το Run Time όταν ο χρήστης κάνει Logon. Περιέχει πληροφορίες για το πώς ο χρήστης θέλει να διαμορφώσει το περιβάλλον εργασίας (χρώματα, ήχοι κλπ).

HKEY_USERS

Το κλειδί αυτό περιέχει πληροφορίες για όλους τους χρήστες του συγκεκριμένου σταθμού εργασίας. Οι πληροφορίες αυτές αφορούν κυρίως ρυθμίσεις του εκάστοτε χρήστη πάνω σε ορισμένες συσκευές του υπολογιστή όπως (ποντίκι, πληκτρολόγιο, ανάλυση οθόνης, βάθος χρωμάτων κ.λ.π).

HKEY_LOCAL_MACHINE

Περιέχει πληροφορίες σχετικά με τον υπολογιστή και τους drivers των συσκευών. Σ’ αυτό το κλειδί αποθηκεύονται πληροφορίες που αφορούν το Plug & Play, τους εκτυπωτές, τον τύπο των συσκευών που είναι εγκατεστημένες, το δίκτυο, το map των πόρων στο δίκτυο και πως το software διαχείρισης διαφόρων τμημάτων είναι ρυθμισμένο.

HKEY_CURRENT_CONFIG

Το κλειδί αυτό περιέχει πληροφορίες σχετικές με τις τρέχουσες ρυθμίσεις του hardware που είναι εγκατεστημένο στον υπολογιστή. Στο κλειδί αυτό εγγράφονται οι ρυθμίσεις από κάθε νέο configyration που δημιουργούμε. Πολλές από τις πληροφορίες αυτού του κλειδιού αντιγράφονται από το HKEY_CURRENT_MACHINE.

HKEY_DYN_DATA

Αυτό το κλειδί περιέχει πληροφορίες για την κατάσταση των διαφόρων συσκευών. Οι πληροφορίες σ’ αυτό το κλειδί εγγράφονται δυναμικά και κάθε φορά που ξεκινάμε το σύστημα. Οι πληροφορίες αυτού του κλειδιού χρησιμοποιούνται σαν σημείο αναφοράς για την μέτρηση της απόδοσης του συστήματος και για την ρύθμιση του Plug & Play. Αυτές οι πληροφορίες αλλάζουν με την προσθήκη ή την αφαίρεση συσκευών. Οι πληροφορίες αυτού του κλειδιού χρησιμοποιούνται και για την επίβλεψη του συστήματος μέσω του προγράμματος SYSTEM MONITOR. Το κλειδί HKEY_DYN_DATA δεν είναι κομμάτι της Registry και δημιουργείται δυναμικά.

Το πρόγραμμα για την επεξεργασία της Registry είναι το REGEDIT.EXE.

Processes and Threads

Process (Διαδικασία)

Μια διαδικασία είναι στην ουσία ένα πρόγραμμα. Κάθε διαδικασία έχει πρόσβαση στη μνήμη και στους πόρους του συστήματος και χαρακτηρίζεται από τα κάτωθι:

Τα 16bit προγράμματα και οι εφαρμογές MS-DOS έχουν μόνο ένα Thread για κάθε διαδικασία. Τα 32bit προγράμματα μπορούν να έχουν περισσότερα από ένα Threads σε κάθε process.

Thread (Νήμα)

Το νήμα είναι ένα στοιχείο εκτέλεσης. Πρόκειται για το ενεργό στοιχείο μιας διαδικασίας που εκτελεί κώδικα την κάθε στιγμή. Τρέχει στο εύρος μνήμης που δεσμεύεται από την διαδικασία και χρησιμοποιεί τους ίδιους πόρους που απαίτησε από το σύστημα με αυτή.

Η κυριότητα των πόρων ανήκει στην διαδικασία και όχι στο Thread. Η διαδικασία απαιτεί τους πόρους το Thread απλώς τους χρησιμοποιεί. Ενα Thread χαρακτηρίζεται από:

Σε ένα multithread πρόγραμμα ο προγραμματιστής ευθύνεται για τυχόν επιρεασμούς (conflicts) του ενός thread σε κάποιο άλλο.

MultiTasking (Πολυδιεργασία)

Preemptive (Κατά προτίμηση)

Σε ένα preemptive multitasking system το λειτουργικό έχει πλήρως τον έλεγχο για το ποια διαδικασία θα τρέξει στη συνέχεια και για πόσο χρόνο. Κάθε Thread εκτελείται για προκαθορισμένο χρόνο ή μέχρις να ετοιμαστεί κάποιο άλλο Thread για εκτέλεση, το οποίο έχει μεγαλύτερη προτεραιότητα. Επειδή η επιλογή, ο χρονισμός και η σχεδίαση του πλάνου εκτέλεση γίνεται από το σύστημα, είναι πιο δύσκολο ένα πρόγραμμα να μονοπολήσει το σύστημα και τον επεξεργαστή. Για να προστατέψουμε τα Threads από διαφορετικές διαδικασίες να προσπελάσουν ένα πόρο ο οποίος δεν μπορεί να μοιραστεί (όπως μια σειριακή θύρα), το πρόγραμμα μπορεί να θέση ένα ειδικό δείκτη (Flag) του λειτυοργικού ο οποίος καλείται σηματοφόρος (Semaphore) και κλειδώνει τον πόρο μέχρις ότου το πρόγραμμα πάψει να τον χρησιμοποιεί. Στα Windows 95, MS-DOS και οι 32bit εφαρμογές μπαίνουν υπό καθεστώς preemptive πολυδιεργασίας.

Cooperative (Σε συνεργασία)

Στην cooperative πολυδιεργασία, ένα Thread συνεχίζει να εκτελείται, μονοπολώντας τον επεξεργαστή, μέχρις ότου εθελοντικά πάψει. Στην cooperative πολυδιεργασία εξαρτάται από τον κατασκευαστή του προγράμματος, διότι η εφαρμογή καθορίζει πότε θα σταματήσει να εκτελείται το Thread. Στα Windows95 οι 16bit εφαρμογές μπαίνουν σε Cooperative πολυδιεργασία. Ολες οι 16bit εφαρμογές θεωρούνται όλες μαζί σαν μιά εργασία (Task) στον preemptive multitasker. Η cooperative πολυδιεργασία διατηρείται στα Windows 95 για χάρη συμβατότητας, για προγράμματα που απαιτούν να ελέγχουν τα ίδια την εκτέλεσή τους.

Scheduling (Σχεδιασμός προγραμματισμός εκτέλεσης)

Οταν υπάρχουν πολλές ενεργές διαδικασίες στο σύστημα πρέπει να υπάρχει και ένας τρόπος διαχείρισης των Threads που θα εκτελεστούν. Κάθε Thread βρίσκεται στο επίπεδο της βασικής προτεραιότητας στο οποίο κανονικά το Thread εκτελείται. Η βασική προτεραιτότητα ορίζεται από τον προγραμματιστή που κατασκεύασε το πρόγραμμα που κατέχει το Thread. Η προτεραιτότητα εκτέλεσης του Thread καθορίζει το πότε θα εκτελεστεί σε σχέση πάντα με τα υπόλοιπα Threads στο σύστημα. Το Thread με την υψηλότερη τιμή προτεραιότητας πέρνει τη χρήση του επεξεργαστή. Υπάρχουν 32 επίπεδα προτεραιότητας, από 0 εως 31. Scheduling είναι η διαδικασί που ορίζει ποιο Thread θα χρησιμοποιήσει τον επεξεργαστή. Υπάρχουν δύο τμήματα στη διαδικασία του Scheduling:

Ο πρώτος Scheduler (διαχειριστής), επιβλέπει όλα τα Threads και παίρνει τους αριθμούς προτεραιοτήτων. Επειτα συγκρίνει τους αριθμούς αυτούς και διαθέτει στο Thread με την μεγαλύτερη προτεραιότητα τους πόρους. Αν δύο ή περισσότερα Threads έχουν τον ίδιο βαθμό προτεραιότηταςτοποθετούνται σε ένα σωρό. Το Thread που βρίσκεται στην κορυφή του σωρού εκτελείται για κάποιο χρονικό διάστημα και έπειτα πέφτει στο τέλος του σωρού. Το Thread που ήταν κάτω από αυτό έρχεται τώρα στην κορυφή και εκτελείται. Η διαδικασία αυτή επαναλαμβάνεται εως ότου κανένα Thread να μην έχει την ίδια προτεραιτότητα με κάποιο άλλο.

Ο δευτερεύων Scheduler προωθεί τι προτεραιότητες από τα Threads που δεν εκτελούνται. Αυτή η προώθηση προτεραιοτήτων προστατεύει τα Threads με χαμηλό βαθμό προτεραιότητας από το να μπλοκάρονται και να μην εκτελούνται καθόλου. Ο δευτερέυων Scheduler, αλλάζει τις προτεραιότητες των Threads κατά την διάρκεια του χρόνου για να υπάρχει μεγαλύτερη και πιο ομαλή εκτέλεση των προγραμμάτων. Ανάλογα με τον τύπο της δουλειάς που εκτελεί το Thread τα Windows αλλάζουν την προτεραιότητα πάνω ή κάτω από την βασική ως εξής: