Δομή του λειτουργικού συστήματος Windows-NT

Διομήδης Σπινέλλης
Τμήμα Διοικητικής Επιστήμης και Τεχνολογίας
Οικονομικό Πανεπιστήμιο Αθηνών
dds@aueb.gr

Ιστορία

Η ανάπτυξη του λειτουργικού συστήματος Windows NT ξεκίνησε από τη Microsoft το 1988 ως αποτέλεσμα της απογοήτευσης της Microsoft σχετικά με το λειτουργικό σύστημα OS/2 το οποίο ανέπτυσσε σε συνεργασία με την IBM. Συγκεκριμένα, το OS/2 βασιζόταν σε τεχνολογικές αποφάσεις που δεν επέτρεπαν την εκμετάλλευση ανερχομένων τεχνολογιών όπως:

Στην ανάπτυξη ηγετικό ρόλο έπαιξε ο Dave Cutler ο οποίος προερχόμενος από την εταιρία Digital ήταν βασικός αρχιτέκτονας του λειτουργικού συστήματος VAX VMS.

Στόχοι

Ο σχεδιασμός και η υλοποίηση των Windows NT βασίστηκαν σε ορισμένους βασικούς στόχους.

Μεταφερσιμότητα

Ασφάλεια

Συμβατότητα

Επεκτασιμότητα

Στιβαρότητα

(Προφανώς σε σχέση με άλλα λειτουργικά συστήματα της Microsoft)

Διασυνδεσιμότητα

Διεθνοποίηση

Μικροπυρήνας

Εκτελεστής
Υποσύστημα εισόδου εξόδου Παρακολουθητής ασφάλειας Διαδιεργασιακή επικοινωνία Υπηρεσίες αντικειμένων Ιδεατή μνήμη Δομή διεργασίας
Συστήματα αρχείων Διαχείριση αντικειμένων Εκτελεστής
Οδηγοί συσκευών Αφαίρεσης ιδιοτήτων του υλικού (HAL) Μικροπυρήνας
Διεπαφή υλικού
Συσκευές εισόδου εξόδου Απευθείας πρόσβαση στη μνήμη (DMA) Απεικόνιση του διαύλου Ρολόι και χρονόμετρα Έλεγχος βοηθητικής μνήμης Διεκπεραίωση διακοπών Αρχιτεκτονική προνομίων

Τα Windows NT βασίζονται στη δομή του μικροπυρήνα. Αυτός προσφέρει τις παρακάτω υπηρεσίες:

Το σύνολο του κώδικα είναι περίπου 60Κ. Ο κώδικας εκτελείται χωρίς προεκχώρηση και σελιδοποίηση, αλλά με υποστήριξη διακοπών.

Τα αντικείμενα διεκπεραίωσης είναι:

Τα αντικείμενα ελέγχου είναι:

Εκτελεστής

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

Υπηρεσίες διαχείρισης αντικειμένων

Οι υπηρεσίες διαχείρισης αντικειμένων προσφέρουν:

Διαχείριση μνήμης

Το υποσύστημα διαχείρισης μνήμης προσφέρει:

Υποσύστημα εισόδου εξόδου

Το υποσύστημα εισόδου και εξόδου προσφέρει:

Σύστημα αρχείων NTFS

Το σύστημα αρχείων NTFS έχει τα παρακάτω χαρακτηριστικά:

Διαδιεργασιακή επικοινωνία

Η διαδιεργασιακή επικοινωνία γίνεται μέσω του μηχανισμού Local Procedure Call (τοπική κλήση διαδικασίας). Ο μηχανισμός αυτός αποτελεί μια αποδοτική υλοποίηση της κλήσης διαδικασιών σε απομακρυσμένους υπολογιστές (remote procedure call). Οι διεργασίες μπορούν να καλούν διαδικασίες σε άλλες διεργασίες μέσω του εκτελεστή και να μεταφέρουν δεδομένα μέσω διαμοιρασμένης μνήμης. Για λόγους ασφαλείας μια διεργασία εξυπηρετητή μπορεί να υποδυθεί τα χαρακτηριστικά ασφαλείας του πελάτη που την καλεί. Η εξυπηρέτηση της επικοινωνίας γίνεται μέσω ενός ξεχωριστού νήματος για κάθε σύνδεση μεταξύ δύο διεργασιών. Το ίδιο μοντέλο επικοινωνίας χρησιμοποιείται και για τις κλήσεις από τις διεργασίες προς το λειτουργικό σύστημα.

Πολιτική σελιδοποίησης

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

Υποσυστήματα

Τα υποσυστήματα (subsystems) των Windows ΝΤ επιτρέπουν τη μίμηση διαφορετικών συστημάτων: Η λειτουργία των υποσυστημάτων βασίζεται στο μοντέλο του πελάτη υπηρέτη. Κάθε διεργασία εκτελείται ως πελάτης του συγκεκριμένου υποσυστήματος για το οποίο είναι σχεδιασμένη. Το υποσύστημα εκτελείται έξω από τον πυρήνα ως υπηρέτης που λαμβάνει εντολές από τη διεργασία και τις μεταβιβάζει στον πυρήνα του λειτουργικού συστήματος. Ορισμένες λειτουργίες του υποσυστήματος μπορεί να εκτελούνται απευθείας στον υπηρέτη του χωρίς τη διαμεσολάβηση του πυρήνα.

Νήματα

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

Συγχρονισμός

Για την υλοποίηση συγχρονισμού προσφέρονται οι παρακάτω μηχανισμοί: Στα παραπάνω αντικείμενα μια διεργασία μπορεί να εκτελέσει μια κλήση αναμονής μέχρι το αντικείμενο να ελευθερωθεί.

Διαχείριση μνήμης

Η διαχείριση της μνήμης στα Windows NT έχει τα παρακάτω ιδιαίτερα χαρακτηριστικά:

Βιβλιογραφία