34
Windows XP Windows XP Γενικά Αρχές σχεδιασμού Συνιστώσες συστήματος Περιβαλλοντικά υποσυστήματα Σύστημα αρχείων

Windows XP

Embed Size (px)

DESCRIPTION

Windows XP. Γενικά Αρχές σχεδιασμού Συνιστώσες συστήματος Περιβαλλοντικά υποσυστήματα Σύστημα αρχείων. Windows XP. 32άμπιτο ( ή 64άμπιτο) Λ.Σ. πολυπρογραμματισμού ( multiprogramming/multitasking) για επεξεργαστές της Intel . Βασικοί στόχοι του συστήματος: Φορητότητα. Ασφάλεια. - PowerPoint PPT Presentation

Citation preview

Windows XPWindows XPΓενικάΑρχές σχεδιασμούΣυνιστώσες συστήματοςΠεριβαλλοντικά υποσυστήματαΣύστημα αρχείων

Windows XPWindows XP 32άμπιτο (ή 64άμπιτο) Λ.Σ. πολυπρογραμματισμού

(multiprogramming/multitasking) για επεξεργαστές της Intel.

Βασικοί στόχοι του συστήματος:1. Φορητότητα.2. Ασφάλεια.3. Συμβατότητα με το πρότυπο POSIX.4. Υποστήριξη πολλαπλών επεξεργαστών.5. Επεκτασιμότητα.6. Διεθνής υποστήριξη.7. Συμβατότητα με εφαρμογές MS-DOS και Windows. Κυκλοφορεί σε 4 εκδόσεις : Home, Professional,

Media Center, Tablet PC. Ακολουθεί την αρχιτεκτονική του μικροπυρήνα

(micro-kernel).

Αρχές σχεδιασμούΑρχές σχεδιασμού Επεκτασιμότητα: στρωματοποιημένη αρχιτεκτονική

(layered architecture). Ο “Executive” που εκτελείται σε protected mode και

προσφέρει τις βασικές υπηρεσίες του Λ.Σ. Υποσυστήματα υλοποιούνται με διάφορες εφαρμογές

Server που εκτελούνται σε user mode (Client-Server αρχιτεκτονική).

Αρθρωτή δομή: μπορεί να επεκταθεί με την προσθήκη νέων υποσυστημάτων χωρίς να τροποποιηθεί ο Executive.

Φορητότητα: μπορεί να μεταφερθεί σε άλλο υλικό με σχετικά λίγες αλλαγές.

Είναι γραμμένα σε C και C++. Ο εξαρτώμενος-από-τον-επεξεργαστή κώδικας είναι

απομονωμένος σε ένα μοναδικό dll και ονομάζεται HAL (Hardware Abstraction Layer – HAL.DLL).

Αξιοπιστία: τα XP χρησιμοποιούν hardware προστασία για την εικονική μνήμη και software προστασία για τα αγαθά του Λ.Σ.

Αρχές σχεδιασμού (συνέχεια)Αρχές σχεδιασμού (συνέχεια) Συμβατότητα: εφαρμογές που ακολουθούν το

στάνταρ POSIX (IEEE 1003.1) μπορούν να μεταγλωττιστούν και να τρέξουν στα XP χωρίς καμία αλλαγή στον πηγαίο κώδικα.

Απόδοση: τα υποσυστήματα μπορούν να επικοινωνούν μεταξύ τους με μεταβίβαση μηνυμάτων.

Διεθνής υποστήριξη: προσαρμόζεται σε τοπικά χαρακτηριστικά με χρήση του NLS (national langauge support) API.

Αρχιτεκτονική των Αρχιτεκτονική των Windows XPWindows XP Διαστρωματωμένο σύστημα από μονάδες. Protected mode – HAL, kernel, executive. User mode – συλλογή υποσυστημάτων.

Περιβαλλοντικά υποσυστήματα προσομοιώνουν διαφορετικά Λ.Σ.

Υποσυστήματα προστασίας παρέχουν λειτουργίες ασφαλείας.

Απεικόνιση της αρχιτεκτονικής των Απεικόνιση της αρχιτεκτονικής των Windows XPWindows XP

KernelKernel Αποτελεί τη βάση για τον executive και τα υποσυστήματα. Ποτέ δεν αντικαθίστανται σελίδες του – η εκτέλεσή του ποτέ

δεν διακόπτεται. Βασικά καθήκοντα:1. Χρονοδρομολόγηση νημάτων (threads).2. Διαχείριση διακοπών (interrupts) και εξαιρέσεων

(exceptions).3. Χαμηλού επιπέδου (low level) συγχρονισμός του επεξεργαστή.4. Ανάνηψη μετά από πτώση τάσης. Είναι αντικειμενοστραφής, χρησιμοποιεί δύο σύνολα

αντικειμένων:1. Αντικείμενα Εκτέλεσης (dispatcher objects) που ελέγχουν την

εκτέλεση των νημάτων και τον συγχρονισμό (νήματα-threads, χρονιστές-timers, συμβάντα-events, σηματοφορείς-semaphores, κ.λ.π.)

2. Αντικείμενα Ελέγχου (control objects) που επιτελούν ελεγκτικές λειτουργίες (διακοπές-interrupts, ασύγχρονες κλήσεις διαδικασιών, κατάσταση ισχύος, κ.λ.π.)

Executive – Object ManagerExecutive – Object Manager Τα XP χρησιμοποιούν αντικείμενα για όλες τις

υπηρεσίες και τις οντότητες. Ο διαχειριστής αντικειμένων επιβλέπει τη χρήση τους. Δημιουργεί ένα handle για το αντικείμενο. Ελέγχει την ασφάλεια. Κρατά στοιχεία για το ποια διεργασία χρησιμοποιεί ποιο

αντικείμενο. Ο χειρισμός των αντικειμένων γίνεται με ορισμένο

σύνολο μεθόδων, όπως create, open, close, delete, query name, parse και security.

Executive – Executive – Ονομασία αντικειμένωνΟνομασία αντικειμένων Ο executive επιτρέπει σε κάθε αντικείμενο να πάρει

ένα όνομα που μπορεί να είναι προσωρινό ή μόνιμο. Τα ονόματα αντικειμένων δομούνται όπως τα ονόματα

διαδρομών αρχείων στο MS-DOS και στο UNIX. Τα XP υλοποιούν ένα αντικείμενο συμβολικού

συνδέσμου που είναι παρόμοιο με τους συμβολικούς συνδέσμους στο UNIX που επιτρέπουν σε διαφορετικά ψευδώνυμα να αναφέρονται στο ίδιο αρχείο.

Μια διεργασία αποκτά ένα handle αντικειμένου δημιουργώντας ένα αντικείμενο, ανοίγοντας ένα υπάρχον, λαμβάνοντας ένα αντίγραφο του handle από άλλη διεργασία, ή κληρονομώντας ένα handle από τη γονική διεργασία.

Κάθε αντικείμενο προστατεύεται από μια λίστα ελέγχου πρόσβασης (access control list).

Executive – Virtual Memory ManagerExecutive – Virtual Memory Manager Υποθέτει ότι το υποκείμενο υλικό υποστηρίζει

αντιστοίχιση εικονικής σε φυσική μνήμη και μηχανισμό σελιδοποίησης.

Χρησιμοποιεί ένα σχήμα διαχείρισης βασισμένο σε σελίδες με μέγεθος σελίδας 4 ΚΒ.

Εκχωρείται μνήμη σε δύο βήματα: Το πρώτο κατοχυρώνει ένα τμήμα του χώρου διευθύνσεων της

διεργασίας. Το δεύτερο εκτελεί την εκχώρηση αναθέτοντας χώρο στο

αρχείο σελιδοποίησης.

Διάταξη εικονικής μνήμηςΔιάταξη εικονικής μνήμης

Virtual Memory ManagerVirtual Memory Manager (συνέχεια) (συνέχεια) Η μετάφραση εικονικής διεύθυνσης χρησιμοποιεί

διάφορες δομές δεδομένων: Κάθε διεργασία έχει έναν κατάλογο σελίδων που περιέχει 1024

εγγραφές μεγέθους 4 bytes. Κάθε εγγραφή του καταλόγου σελίδων δείχνει σε έναν πίνακα

σελίδων που περιέχει 1024 εγγραφές των 4 bytes. Κάθε εγγραφή πίνακα σελίδων δείχνει σε ένα πλαίσιο 4 ΚΒ στη

φυσική μνήμη. Ένα ακέραιος των 10 bits αναπαριστά όλες τις τιμές

από 0 έως 1023, συνεπώς μπορεί να επιλέξει μια εγγραφή στον κατάλογο σελίδων ή σε ένα πίνακα σελίδων.

Αυτή η ιδιότητα χρησιμοποιείται όταν μεταφράζεται ένας δείκτης εικονικής μνήμης σε διεύθυνση ενός byte στη φυσική μνήμη.

Μια σελίδα μπορεί να είναι σε μία από έξι καταστάσεις: valid, zeroed, free, standby, modified και bad.

Μετάφραση εικονικής σε φυσική Μετάφραση εικονικής σε φυσική διεύθυνσηδιεύθυνση

10 bits για εγγραφή καταλόγου σελίδων, 10 bits για εγγραφή πίνακα σελίδων και 12 bits για μετατόπιση byte στη σελίδα.

Εγγραφή πίνακα σελίδων στο αρχείο Εγγραφή πίνακα σελίδων στο αρχείο σελιδοποίησηςσελιδοποίησης

5 bits για προστασία σελίδας, 20 bits για διεύθυνση σελίδας, 4 bits για επιλογή αρχείου σελιδοποίησης και 3 bits που περιγράφουν την κατάσταση της σελίδας.

Executive – Process ManagerExecutive – Process Manager Παρέχει υπηρεσίες για τη δημιουργία, διαγραφή και

χρήση των νημάτων και των διεργασιών. Θέματα σχετικά με τις σχέσεις γονικών με

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

Executive – Local Procedure Call Executive – Local Procedure Call FacilityFacility

Μια LPC περνά αιτήματα και αποτελέσματα μεταξύ διεργασιών πελάτη και εξυπηρετητή στο ίδιο μηχάνημα.

Συγκεκριμένα, χρησιμοποιείται για να αιτείται υπηρεσιών από τα διάφορα υποσυστήματα.

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

bytes. Η ουρά μηνυμάτων χρησιμοποιείται για ενδιάμεση αποθήκευση και τα μηνύματα αντιγράφονται από τη μία διεργασία στην άλλη.

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

Η τρίτη, αποκαλούμενη γρήγορη LPC, χρησιμοποιήθηκε από τμήματα γραφικής απεικόνισης του υποσυστήματος Win32.

Executive – I/O ManagerExecutive – I/O Manager Είναι υπεύθυνος για:

Συστήματα αρχείων Διαχείριση κρυφής μνήμης Οδηγούς συσκευών Οδηγούς δικτύου

Κρατά στοιχεία για το ποια συστήματα αρχείων είναι φορτωμένα και διαχειρίζεται προσωρινές μνήμες για αιτήματα Ε/Ε.

Συνεργάζεται με τον VM Manager για να παρέχει Ε/Ε με αρχεία αντιστοιχισμένα στη μνήμη.

Ελέγχει τον διαχειριστή κρυφής μνήμης, ο οποίος χειρίζεται κρυφές μνήμες για όλο το σύστημα Ε/Ε.

Υποστηρίζει σύγχρονες και ασύγχρονες λειτουργίες, παρέχει time-outs για τους οδηγούς συσκευών και επιτρέπει να καλεί ο ένας τον άλλον.

Ε/Ε αρχείωνΕ/Ε αρχείων

Executive – Security Reference Executive – Security Reference ManagerManager

Η αντικειμενοστραφής φύση των XP επιτρέπει τη χρήση ενός ομοιόμορφου μηχανισμού για την εκτέλεση επικύρωσης πρόσβασης κατά το χρόνο εκτέλεσης και ελέγχους για κάθε οντότητα του συστήματος.

Όποτε μια διεργασία ανοίγει ένα handle για ένα αντικείμενο, αυτός ελέγχει το ACL του αντικειμένου και την ένδειξη ασφαλείας της διεργασίας για να δει αν η διεργασία έχει τα απαραίτητα δικαιώματα.

Περιβαλλοντικά υποσυστήματαΠεριβαλλοντικά υποσυστήματα Διεργασίες που εκτελούνται σε user mode πάνω από τις

εγγενείς υπηρεσίες του executive για να επιτρέπουν στα ΧΡ να τρέχουν προγράμματα που γράφτηκαν για άλλα Λ.Σ.

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

Το περιβάλλον του MS-DOS παρέχεται από μια εφαρμογή Win32 που λέγεται εικονική μηχανή DOS (VDM), μια διεργασία σε user mode που δρομολογείται και σελιδοποιείται όπως κάθε νήμα στο Λ.Σ.

Περιβάλλον Windows 16 bit: Παρέχεται από μια VDM που ενσωματώνει Windows on Windows. Παρέχει τις ρουτίνες πυρήνα των Windows 3.1 και τις υπορουτίνες για

τον διαχειριστή παραθύρων και συναρτήσεις GDI (graphics device interface).

Το υποσύστημα POSIX είναι σχεδιασμένο για να τρέχει εφαρμογές POSIX που ακολουθούν το πρότυπο POSIX.1 που βασίζεται στο μοντέλο του UNIX.

Σύστημα αρχείωνΣύστημα αρχείων Η θεμελιώδης δομή του συστήματος αρχείων των

Windows XP (NTFS) είναι ένας τόμος (volume). Δημιουργείται από την εφαρμογή διαχείρισης δίσκου των XP. Βασίζεται σε μια λογική διαμέριση δίσκου. Μπορεί να καταλαμβάνει τμήματα ενός δίσκου, ολόκληρο

δίσκο, ή να εκτείνεται σε διαφορετικούς δίσκους. Όλα τα μεταδεδομένα (metadata), όπως οι

πληροφορίες σχετικά με τον τόμο, αποθηκεύονται σε ένα σύνηθες αρχείο.

Το NTFS χρησιμοποιεί clusters ως τη βασική μονάδα ανάθεσης χώρου δίσκου. Ένας cluster είναι ένα πλήθος τομέων του δίσκου (δύναμη

του 2). Επειδή το μέγεθος cluster είναι μικρότερο από ό,τι στο 16-bit

FAT, το ποσό του εσωτερικού κατακερματισμού μειώνεται.

Σύστημα αρχείων – Εσωτερική Σύστημα αρχείων – Εσωτερική οργάνωσηοργάνωση

Το NTFS χρησιμοποιεί λογικούς αριθμούς clusters (LCNs) ως διευθύνσεις δίσκου.

Ένα αρχείο στο NTFS δεν είναι ένα απλό ρεύμα από bytes, όπως στο MS-DOS ή στο UNIX, αλλά ένα δομημένο αντικείμενο αποτελούμενο από χαρακτηριστικά.

Κάθε αρχείο στο NTFS περιγράφεται από μία ή περισσότερες εγγραφές σε έναν πίνακα που αποθηκεύεται σε ένα ειδικό αρχείο που ονομάζεται Κύριος Πίνακας Αρχείων (MFT).

Κάθε αρχείο σε έναν τόμο NTFS έχει ένα μοναδικό αναγνωριστικό που λέγεται αναφορά αρχείου.

Ποσότητα 64 bits που αποτελείται από αριθμό αρχείου 48 bits και αριθμό ακολουθίας 16 bits.

Μπορεί να χρησιμοποιηθεί για να εκτελέσει εσωτερικούς ελέγχους συνέπειας.

Ο χώρος ονομάτων του NTFS είναι οργανωμένος σε μια ιεραρχία καταλόγων. Το index root περιέχει το ανώτερο επίπεδο του Β+ δέντρου.

Master File Table (MFT)Master File Table (MFT)

Εγγραφή στο Εγγραφή στο MFTMFT

Αντιμετώπιση μεγάλων αρχείωνΑντιμετώπιση μεγάλων αρχείων

MFT

DirectoryEntry

Filename,Security Info,

Etc

Cluster 1

Cluster 2

Cluster 3

Χαρακτηριστικά αρχείωνΧαρακτηριστικά αρχείων Αριθμός αναφοράς αρχείου (64 bits). Ημερομηνία/ώρα δημιουργίας, τελευταίας

πρόσβασης, τελευταίας τροποποίησης. Archive, System, Hidden, ReadOnly. Ιδιοκτήτης. Ομάδα ιδιοκτήτη. Δικαιώματα χρήσης (Read, Write, Execute, Modify).

Τα χαρακτηριστικά καταχωρούνται ως εξής:

Επικεφαλίδα Όνομα χαρακτηριστικού Τιμή χαρακτηριστικού

Εγγραφές καταλόγωνΕγγραφές καταλόγων Ο κατάλογος είναι ένα αρχείο με εγγραφές τα αρχεία

που περιέχει. Καταλαμβάνει και αυτός εγγραφή στο MFT. Κάθε του εγγραφή έχει:

Δείκτη αρχείου στο MFT (file reference). Όνομα αρχείου. Μέγεθος αρχείου. Ημερομηνία/ώρα τελευταίας τροποποίησης (για ευκολία).

Σύστημα αρχείων – ΑνάνηψηΣύστημα αρχείων – Ανάνηψη Όλες οι ενημερώσεις των δομών του συστήματος αρχείων

γίνονται κατά την εκτέλεση ενεργειών (transactions). Πριν αλλαχτεί μια δομή δεδομένων, η ενέργεια δημιουργεί μια

εγγραφή καταγραφής που περιέχει πληροφορίες επανεκτέλεσης και αναίρεσης.

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

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

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

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

Η λειτουργικότητα καταγραφής παρέχεται από την υπηρεσία αρχείου καταγραφής των XP.

Σύστημα αρχείων – ΑσφάλειαΣύστημα αρχείων – Ασφάλεια Η ασφάλεια ενός τόμου NTFS αντλείται από το

μοντέλο αντικειμένων των XP. Κάθε αντικείμενο αρχείου έχει ένα χαρακτηριστικό

περιγραφέα ασφάλειας αποθηκευμένο στην εγγραφή του στο MFT.

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

Διαχείριση τόμων και ανοχή σε Διαχείριση τόμων και ανοχή σε σφάλματασφάλματα

Το FtDisk, ο ανεκτικός σε σφάλματα οδηγός δίσκου των XP, παρέχει διάφορος τρόπους να συνδυαστούν πολλοί δίσκοι SCSI σε ένα λογικό τόμο.

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

Διαφύλλωση πολλαπλών φυσικών διαμερίσεων με έναν εκ περιτροπής τρόπο ώστε να δημιουργηθεί ένα σύνολο λωρίδων (RAID 0).

Παραλλαγή: σύνολο λωρίδων με ισοτιμία (RAID 5). Το είδωλο δίσκου (RAID 1), είναι ένα εύρωστο σχήμα

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

Για τη διαχείριση τομέων που καταστρέφονται, το FtDisk χρησιμοποιεί μια τεχνική υλικού που λέγεται sector sparing και το NTFS μια τεχνική λογισμικού που λέγεται cluster remapping.

Σύνολο τόμων σε δύο δίσκουςΣύνολο τόμων σε δύο δίσκους

Σύνολο λωρίδων σε δύο δίσκουςΣύνολο λωρίδων σε δύο δίσκους

Σύνολο καθρεφτών σε δύο δίσκουςΣύνολο καθρεφτών σε δύο δίσκους

Σύστημα αρχείων - ΣυμπίεσηΣύστημα αρχείων - Συμπίεση Για να συμπιέσει ένα αρχείο το NTFS χωρίζει τα

δεδομένα του σε μονάδες συμπίεσης που είναι πλαίσια 16 συνεχόμενων clusters.

Για αραιά αρχεία το NTFS χρησιμοποιεί μια άλλη τεχνική για να εξοικονομήσει χώρο. Clusters που περιέχουν όλο μηδενικά δεν καταλαμβάνουν

πραγματικά χώρο στο δίσκο. Αντ’ αυτού, αφήνονται κενά στην ακολουθία των εικονικών

αριθμών clusters που αποθηκεύονται στην εγγραφή του MFT για το αρχείο αυτό.

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