Στάδια φόρτωσης λειτουργικών συστημάτων. Αλγόριθμος εκκίνησης λειτουργικού συστήματος Ενεργοποιήστε τον υπολογιστή, POST, BootMonitor

Πριν από πολύ καιρό, όταν ήμουν μικρός, δούλευα σε ένα εργαστήριο ινστιτούτου σε έναν μεγάλο υπολογιστή CM-3 (κάτι σαν τον περίφημο PDP-11), το bootstrapping έμοιαζε έτσι. Μια σύντομη χαρτοταινία με ένα πρόγραμμα εκκίνησης στριμωγμένο πάνω της γεμίστηκε στο πρόγραμμα ανάγνωσης φωτογραφιών, η διαδικασία ανάγνωσης ξεκίνησε και, στη συνέχεια, ... κατά τύχη.

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

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

Βασικοί ορισμοί και στάδια φόρτωσης του λειτουργικού συστήματος

Ενεργοποίηση υπολογιστή, POST, BootMonitor

Το αρχικό στάδιο της φόρτωσης του λειτουργικού συστήματος μετά την ενεργοποίηση του υπολογιστή ξεκινά στο BIOS (Basic Input / Output System). Στις ρυθμίσεις του BIOS, καθορίζουμε τη συσκευή εκκίνησης, ή μια σειρά συσκευών εκκίνησης, με σειρά προτεραιότητας. Είναι δυνατές διάφορες επιλογές εκκίνησης και οι συνδυασμοί τους: από σκληρό δίσκο, CD / DVD - δίσκο, USB - flash και άλλα.

Αμέσως μετά το πέρας του POST (Power-On Self-Test - self-test after power-on), το BIOS του υπολογιστή θα αρχίσει να επαναλαμβάνει μία προς μία τις καθορισμένες συσκευές εκκίνησης μέχρι να βρει μια κατάλληλη ειδική εγγραφή σε μία από αυτές, η οποία περιέχει πληροφορίες για περαιτέρω ενέργειες.

Επίπεδο 1 bootloader. Κύριο αρχείο εκκίνησης

Master Boot Record - Το Master Boot Record βρίσκεται στους πρώτους φυσικούς τομείς των συσκευών αποθήκευσης εκκίνησης. Περιέχει έναν πίνακα διαμερισμάτων και έναν εκτελέσιμο κώδικα.

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

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

Επίπεδο 2 bootloader. Partition Boot Sector

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

Το αρχικό στάδιο φόρτωσης του λειτουργικού συστήματος. OS Boot Manager

Ο αρχικός φορτωτής Linux ήταν LILO (Linux Loader). Λόγω των ελλείψεων του, το κύριο από τα οποία ήταν η αδυναμία κατανόησης των συστημάτων αρχείων που χρησιμοποιούνται στο Linux, αργότερα άρχισε να χρησιμοποιείται ο bootloader GRUB (GRand Unified Bootloader), στον οποίο διορθώθηκαν οι ελλείψεις του LILO.

Για εκδόσεις Windows πριν από τα Vista, όπως τα Windows XP, θα φορτωθεί το Ntldr. Αυτό, με τη σειρά του, διαβάζει πληροφορίες από το αρχείο κειμένου Boot.ini, το οποίο περιέχει πληροφορίες σχετικά με τα εγκατεστημένα λειτουργικά συστήματα.

Φόρτωση του πυρήνα του λειτουργικού συστήματος

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

Πριν από αρκετά χρόνια, υπήρξε ένα τόσο αστείο περιστατικό στο ιατρείο μου.

Μου ζητήθηκε να βοηθήσω έναν άντρα να αγοράσει και να τακτοποιήσει έναν υπολογιστή για το σπίτι του. Αυτός ο σύντροφος εκείνη την εποχή είχε μόλις συνταξιοδοτηθεί, και πριν από αυτό δούλευε ως αρχηγός και έβλεπε τον υπολογιστή, ως επί το πλείστον, από μακριά, στο γραφείο της γραμματέως του. Μετά τη συνταξιοδότηση, είχε το χρόνο και την επιθυμία να κυριαρχήσει στον υπολογιστή. Λοιπόν, κατά τη γνώμη μου, υπέροχο. Επιλέξαμε έναν υπολογιστή για αυτόν φθηνό, αλλά σταθερό και με καλή, για εκείνες τις εποχές, οθόνη. Εγκατέστησα και ρύθμισα ορισμένα προγράμματα, έδειξα πώς να τα χρησιμοποιήσω. Ο κύριος πήρε ένα βιβλίο από τη σειρά " Κάτι εκεί για ανδρείκελα«Και χωρίσαμε εντελώς ευτυχισμένοι ο ένας με τον άλλον.

Περίπου μια εβδομάδα αργότερα, ο θάλαμος μου με κάλεσε στο τηλέφωνο και σχεδόν κλαίγοντας είπε ότι όλα είχαν φύγει και ο υπολογιστής δεν λειτουργούσε πια. Ευτυχώς δεν κλειδώθηκε και είπε με ειλικρίνεια πώς ήταν. Και ήταν έτσι. Ο σύντροφος ανέβηκε για να εξετάσει τα περιεχόμενα του υπολογιστή του και βρήκε στη ρίζα του C: \ drive αρκετά ύποπτα και "περιττά", κατά τη γνώμη του, αρχεία. Αποφάσισε να ελευθερώσει χώρο και απλά διέγραψε αυτά τα αρχεία. Νομίζω ότι όλοι έχουν ήδη μαντέψει ότι αυτά ήταν boot.ini, ntldr, ntdetect κλπ. Δεν ήταν δύσκολο να διορθώσω την κατάσταση, εκτός από το ότι έπρεπε να ξαναπάω σε αυτόν.

Παρεμπιπτόντως, για να αντιμετωπίσετε προβλήματα με την εκκίνηση των Windows XP, δεν θα μπορούσατε να διαγράψετε τίποτα, αλλά να "τσιμπήσετε" ελαφρώς, για παράδειγμα, το boot.ini.

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

Δυνατότητες φόρτωσης λειτουργικών συστημάτων Windows Vista / 7/8

Στα Windows Vista ή στα Windows 7/8, ο διαχειριστής εκκίνησης ονομάζεται Bootmgr. Διαβάζει τη λίστα των εγκατεστημένων λειτουργικών συστημάτων όχι από ένα απλό αρχείο κειμένου, το οποίο είναι το boot.ini, αλλά από το σύστημα αποθήκευσης BCD (Boot Configuration Data), το οποίο είναι προσβάσιμο μέσω ενός ειδικού βοηθητικού προγράμματος bcdedit.exe.

Αλλά δεν είναι μόνο αυτό. Ας ανοίξουμε το "Computer Management" -> "Disk Management">

Η τυπική εγκατάσταση των Windows Vista / 7/8 δημιουργεί μια πρόσθετη ενότητα System Reserved στην αρχή του δίσκου. Δεν έχει εκχωρηθεί γράμμα μονάδας δίσκου, επομένως εάν δεν κάνετε πρόσθετα βήματα, το ίδιο το διαμέρισμα και τα περιεχόμενά του θα αποκρύπτονται από τον χρήστη. Αυτή η κύρια ενότητα έχει την κατάσταση "Σύστημα" και "Ενεργή" και, επομένως, δεν μπορεί να διαγραφεί.

Στα Windows 7, το μέγεθος ενός τέτοιου διαμερίσματος είναι 100 MB, από τα οποία χρησιμοποιούνται περίπου 30 MB, στα Windows 8 - ήδη 350 MB και 105 MB από αυτά είναι κατειλημμένα. Αυτή η διαφορά εξηγείται από το γεγονός ότι στα Windows 8, ο φάκελος "Ανάκτηση" έχει μετακινηθεί σε αυτήν την ενότητα.

Ας δούμε τα περιεχόμενα της ενότητας "Δέσμευση από το σύστημα". Για να το κάνετε αυτό, αντιστοιχίστε του ένα γράμμα μονάδας δίσκου, για παράδειγμα, "W" στη "Διαχείριση δίσκων". Επιπλέον, ανοίξτε τον "Πίνακα ελέγχου" -> "Επιλογές φακέλου" και στην καρτέλα "Προβολή", καταργήστε την επιλογή του πλαισίου ελέγχου "Απόκρυψη προστατευμένων αρχείων συστήματος" και επιλέξτε το πλαίσιο ελέγχου "Εμφάνιση κρυφών αρχείων, φακέλων και μονάδων δίσκου".

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

Έτσι μοιάζουν τα περιεχόμενα της ενότητας "Δέσμευση συστήματος" στα Windows 8>

Όπως ήταν αναμενόμενο, βλέπουμε τον φορτωτή εκκίνησης Bootmgr στη ρίζα του διαμερίσματος.

Και έτσι φαίνεται μέρος των περιεχομένων του φακέλου "Boot">

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

Για πληρότητα, μένει να πούμε ποιο διαμέρισμα ονομάζεται bootable. Η απάντηση φαίνεται ήδη στην εικόνα με τους τόμους των Windows 7. Προφανώς, αυτό είναι το διαμέρισμα όπου βρίσκονται όλα τα κύρια αρχεία του λειτουργικού συστήματος.

Λοιπόν, η απομνημόνευση των ονομάτων των διαμερισμάτων δίσκου είναι πολύ εύκολη σύμφωνα με την αρχή "σε όλη τη διαδρομή" - δεν υπάρχει σύστημα (λειτουργεί) στο σύστημα, αλλά υπάρχει ένας bootloader τρίτου επιπέδου, ο bootloader δεν έχουν ένα bootloader, αλλά το ίδιο το σύστημα βρίσκεται. Φυσικά, αυτή η "μνήμη" λειτουργεί μόνο όταν υπάρχουν πολλά τμήματα. Εάν υπάρχει μόνο ένα διαμέρισμα, τότε μπορεί να είναι άμεσα σύστημα, ενεργό και εκκινήσιμο.

Το κύριο καθήκον του φορτωτή εκκίνησης 3ου επιπέδου, που είναι, ανάλογα με τον τύπο του λειτουργικού συστήματος, Bootmgr, Ntldr ή GRUB, είναι να διαβάζει από τον δίσκο εκκίνησης και να φορτώνει τον πυρήνα του λειτουργικού συστήματος. Επιπλέον, στην περίπτωση πολλαπλής εκκίνησης, όταν στον υπολογιστή είναι εγκατεστημένα πολλά λειτουργικά συστήματα, ο φορτωτής εκκίνησης επιπέδου 3 σάς επιτρέπει να επιλέγετε αυτό που χρειάζεστε κάθε φορά που ξεκινάτε τον υπολογιστή.

Το κλασικό λάθος που έκανε η Microsoft είναι η εγκατάσταση των Windows XP μετά τα Windows Vista / 7/8. Το πρόγραμμα εγκατάστασης των Windows XP επισημαίνει το διαμέρισμα του ως ενεργό, μετά από αυτό, κατά την εκκίνηση, το MBR μεταφέρει τον έλεγχο στο PBS αυτού του διαμερίσματος και αυτό, με τη σειρά του, μεταφέρει τον έλεγχο στο Ntldr. Ο φορτωτής εκκίνησης των Windows XP δεν γνωρίζει τίποτα για νεότερες εκδόσεις λειτουργικών συστημάτων Windows και καθίσταται αδύνατη η φόρτωσή τους. Είναι εύκολο να αντιμετωπιστεί, αλλά αυτή η κατάσταση μπορεί να προκαλέσει σύγχυση για έναν άπειρο χρήστη.

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

10 σχόλια

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

  1. Παρακαλώ πείτε μου ακριβώς πώς να θεραπεύσω;:
    «Η φόρτωση εκκίνησης των Windows XP δεν γνωρίζει τίποτα για τις μεταγενέστερες εκδόσεις των λειτουργικών συστημάτων των Windows και καθίσταται αδύνατη η φόρτωσή τους. Είναι αρκετά εύκολο να αντιμετωπιστεί, αλλά μια τέτοια κατάσταση μπορεί να προκαλέσει σύγχυση για έναν άπειρο χρήστη."

    Έβαλα το XP μετά τα Vista σε φορητό υπολογιστή - ως αποτέλεσμα, το σύστημα ξεκινά μέχρι να ξεκινήσει η φόρτωση των XP και να επανεκκινηθούν όλα ξανά, και εάν αποσυνδέσετε (ενώ το λειτουργικό σύστημα φορτώνει) τον προσαρμογέα ρεύματος, τότε όλα εκκινούν κανονικά. Εάν η εκκίνηση γίνεται σε ασφαλή λειτουργία, τότε ο προσαρμογέας δεν χρειάζεται να αποσυνδεθεί. Τι μπορεί να νικήσει και πώς να το αντιμετωπίσετε;

    ΠΑΡΑΚΑΛΩ ΕΓΓΡΑΦΕΙΤΕ. ΕΥΧΑΡΙΣΤΩ ΕΚ ΤΩΝ ΠΡΟΤΕΡΩΝ. ΣΥΓΓΝΩΜΗ ΓΙΑ ΤΗ LOMANNY RUSSIAN.

    • Δεν θα πω τίποτα για την επιρροή του μετασχηματιστή ρεύματος στη φόρτωση XP - δεν υπάρχουν συγκεκριμένες ιδέες. Όσον αφορά την ανάκτηση εκκίνησης των Vista, εάν αυτό είναι σχετικό, τότε στο τέλος της ανάρτησης υπάρχει ένας σύνδεσμος προς το άρθρο υποστήριξης της Microsoft (919529), αφιερωμένο απευθείας σε αυτό το θέμα. Θα χρειαστείτε έναν δίσκο εγκατάστασης Vista για ανάκτηση. Στη γραμμή εντολών με δικαιώματα διαχειριστή, πρέπει να εκτελέσετε:
      X: \ boot \ bootsect.exe / nt60 all
      όπου X: είναι το γράμμα της μονάδας οπτικού δίσκου.
      Αλλά το φορτίο XP θα πρέπει να προστεθεί με μη αυτόματο τρόπο χρησιμοποιώντας ένα πρόγραμμα επεξεργασίας. Το σύνολο των εντολών θα είναι ως εξής:
      Bcdedit / δημιουργία (ntldr) / d "Microsoft Windows XP"
      αν αυτή η εντολή αποτύχει, τότε:
      Bcdedit / set (ntldr) περιγραφή "Microsoft Windows XP"
      Περαιτέρω:
      bcdedit / set (ntldr) διαμέρισμα συσκευής = X:
      X: - γράμμα μονάδας δίσκου του διαμερίσματος όπου βρίσκονται τα αρχεία του XP bootloader και η διαδρομή προς αυτό:
      bcdedit / set (ntldr) διαδρομή \ ntldr
      bcdedit / displayorder (ntldr) / addlast

    Είχα φορητό υπολογιστή, κατά τη φόρτωση και την επανεκκίνηση, τα Windows ενεργοποιήθηκαν αμέσως, αλλά τώρα αγόρασα έναν σταθερό υπολογιστή και η λήψη πραγματοποιείται σε τρία στάδια. Πώς να απαλλαγείτε από αυτά τα στάδια. Συγγνώμη για τον αναλφάβητο προσδιορισμό τεχνικών όρων.

    • Γιούρι! Φοβάμαι ότι οι πληροφορίες που παρείχατε σαφώς δεν επαρκούν για οποιαδήποτε σύσταση. Για ποια Windows και για ποια στάδια μιλάμε; Παρακαλώ διευκρινείστε.

    Υγεία Αλέξανδρε.
    Πώς να καταλάβετε, να αποτρέψετε και αν ξανασυμβεί, πώς να βγείτε σωστά από μια τέτοια κατάσταση.
    Σημειωματάριο. Εγκατεστημένο Windows-7. Μετά την ενεργοποίηση και την εισαγωγή του κωδικού πρόσβασης, κυκλοφόρησε "ελλείπει λειτουργικό σύστημα" - δηλαδή "δεν υπάρχει λειτουργικό σύστημα". Το σβήσιμο και το ξανάνοιγμα έδωσε το ίδιο αποτέλεσμα. Ήταν δυνατή η εκκίνηση μόνο με αφαίρεση και μετά από λίγο τοποθέτηση της μπαταρίας.
    Την παραμονή, ωστόσο, υπήρξε λάθος τερματισμός λειτουργίας: η μονάδα flash και το μόντεμ δεν είχαν αποσυνδεθεί προηγουμένως. Προηγουμένως, συνέβαινε και μια τέτοια λήθη, αλλά δεν υπήρχε τέτοιο αποτέλεσμα.
    Θα ήμουν ευγνώμων για την απάντηση που έχει στη διάθεσή του η παλιά «τσαγιέρα» (είμαι δέκα χρόνια μεγαλύτερος από τον κύριο σε μια διασκεδαστική υπόθεση, αλλά γνώρισα την ΚΟΜΠ περίπου στην ίδια ηλικία).

    • Βλαντιμίρ, γεια. Καλές γιορτές και ότι καλύτερο.
      Σε αυτήν την κατάσταση, κάνατε τα πάντα σωστά - έπεσατε το σφάλμα "κολλημένο".
      Όπως λέγεται και στο τραγούδι: «Ένα κομμάτι βροχή δεν είναι ακόμα βροχή. Μια νιφάδα χιονιού δεν είναι ακόμα χιόνι». Είναι πιθανό να μην ξανασυμβεί κάτι τέτοιο. Τώρα, εάν ξεκινήσουν τακτικά προβλήματα με την εκκίνηση, τότε θα πρέπει να το καταλάβετε. Γενικά, τα Windows 7 και νεότερα είναι αρκετά ανθεκτικά σε μη φυσιολογικούς τερματισμούς λειτουργίας.
      Τι να κάνω? Εσείς ο ίδιος απαντήσατε στη δική σας ερώτηση - προσπαθήστε να απενεργοποιείτε τακτικά τις συσκευές. Και αν είναι δυνατή η σύνδεση μιας εξωτερικής μονάδας μέσω USB, τότε σίγουρα θα έκανα (στην πραγματικότητα, κάνω αρκετά τακτικά) ένα αντίγραφο ασφαλείας του συστήματος, για παράδειγμα, χρησιμοποιώντας.

    Γεια σας. Έχω ένα τέτοιο πρόβλημα, έναν σταθερό υπολογιστή, δύο σκληρούς δίσκους, Windows 10. Μετά την εκκίνηση του BIOS, εμφανίζεται ένα παραμορφωμένο παράθυρο, ο υπολογιστής δεν ξεκινά, μετά από αναγκαστική επανεκκίνηση ξεκινούν όλα και όλα λειτουργούν. Δηλαδή, υπάρχει κάποιου είδους σφάλμα μεταξύ του BIOS και της επιλογής των δίσκων.

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

Ρύζι. 9.13.Αλγόριθμος για τη φόρτωση του λειτουργικού συστήματος από το δίσκο στη μνήμη RAM

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

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

Ξεκινά η ανάγνωση στη μνήμη RAM του 0ου τομέα της 0ης πλευράς του δίσκου, στον οποίο βρίσκεται ο φορτωτής εκκίνησης (BOOT RECORD). Ο έλεγχος μεταφέρεται στον φορτωτή, ο οποίος ελέγχει την παρουσία της μονάδας επέκτασης IO.SYS και της βασικής μονάδας MSDOS.SYS στο δίσκο συστήματος. Εάν βρίσκονται στην καθορισμένη θέση τους (εκ.ρύζι. 9.10), στη συνέχεια τα φορτώνει στη μνήμη RAM, διαφορετικά θα εμφανιστεί ένα μήνυμα σχετικά με την απουσία τους. Σε αυτήν την περίπτωση, συνιστάται η επανεκκίνηση. Το σήμα επανεκκίνησης μεταφέρει τον έλεγχο στη μόνιμη μονάδα BIOS, η οποία ξαναγράφει το μπλοκ εκκίνησης από το δίσκο στη μνήμη RAM και ούτω καθεξής.

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

Μετά την επιτυχή φόρτωση της επέκτασης IO.SYS και της βασικής μονάδας MSDOS.SYS στη μνήμη RAM, φορτώνεται ο επεξεργαστής εντολών COMMAND.COM και υποβάλλεται σε επεξεργασία το αρχείο διαμόρφωσης CONFIG.SYS, το οποίο περιέχει τις εντολές για τη σύνδεση των απαραίτητων προγραμμάτων οδήγησης. Αυτό το αρχείο ενδέχεται να μην υπάρχει εάν είστε ικανοποιημένοι με τη βασική έκδοση του λειτουργικού συστήματος.

Στη συνέχεια γίνεται επεξεργασία του αρχείου δέσμης AUTOEXEC.BAT. Με τη βοήθεια αυτού του αρχείου μπορείτε να διαμορφώσετε τις παραμέτρους του περιβάλλοντος λειτουργίας. Για παράδειγμα, δημιουργήστε έναν εικονικό δίσκο, αλλάξτε τις λειτουργίες εκτύπωσης, φορτώστε βοηθητικά προγράμματα κ.λπ.

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

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

Εάν λείπει το αρχείο AUTOEXEC.BAT, θα σας ζητηθεί να εισαγάγετε την ημερομηνία και την ώρα:

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

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

25-10-1997 (μήνας ημέρα έτος)

7:30: 10,00 RUB (ώρες: λεπτά: δευτερόλεπτα)

Μετά την ολοκλήρωση του αρχείου AUTOEXEC.BAT, και επίσης εάν δεν βρεθεί αυτό το αρχείο, θα εμφανιστεί η προτροπή του δίσκου συστήματος στην οθόνη εμφάνισης, για παράδειγμα Γ: \>.Αυτό υποδηλώνει ότι η διαδικασία εκκίνησης έχει ολοκληρωθεί κανονικά και μπορείτε να ξεκινήσετε τη δουλειά εισάγοντας το όνομα του προγράμματος εφαρμογής ή της εντολής του λειτουργικού συστήματος.

Σημείωση.Τα αρχεία CONFIG.SYS και AUTOEXEC.BAT ενδέχεται να λείπουν. Σε αυτήν την περίπτωση, οι ρυθμίσεις περιβάλλοντος λειτουργίας θα οριστούν από προεπιλογή.

Θυμάμαι!Το λειτουργικό σύστημα πρέπει να είναι μόνιμα αποθηκευμένο στον σκληρό δίσκο.

Όλες οι μονάδες δισκέτας πρέπει να είναι ανοιχτές όταν ενεργοποιείτε τον υπολογιστή.

Τοποθετήστε τη δισκέτα με τα προγράμματα εφαρμογής στη μονάδα δισκέτας μετά την ολοκλήρωση της λήψης.

Ένας bootloader είναι ένα πρόγραμμα συστήματος που εκτελεί bootstrapping.Πολλοί bootloaders παρέχουν επίσης μετακίνηση και σύνδεση. Ορισμένα συστήματα διαχωρίζουν τη λειτουργία σύνδεσης από τις λειτουργίες μετακίνησης και φόρτωσης. Η σύνδεση γίνεται από ειδικό πρόγραμμα σύνδεσης (ή πρόγραμμα επεξεργασίας συνδέσμων), η μετακίνηση και η φόρτωση γίνονται από έναν φορτωτή.

Η σύνδεση είναι η σύνδεση δύο ή περισσότερων χωριστών μεταφρασμένων προγραμμάτων.

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

Λειτουργίες Bootloader:

  1. διανομή ΕΠ?
  2. μετακίνηση του προγράμματος.
  3. σύνδεση ενοτήτων?

Διανομή EP

Μετακίνηση προγράμματος

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

Σύνδεση Ενοτήτων

Τύποι φορτωτών

Compile-Run Loaders

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

Οι απόλυτοι φορτωτές είναι εύκολο να εφαρμοστούν, αλλά έχουν μια σειρά από χαρακτηριστικά:

  • το έργο της διανομής του OP εκτελείται από τον προγραμματιστή (χρησιμοποιώντας την οδηγία για τον καθορισμό της αρχικής τιμής του OP).
  • το έργο της μετακίνησης του προγράμματος εκτελείται από τον μεταγλωττιστή.
  • σύνδεση ενοτήτων - αποφασίστηκε από τον προγραμματιστή (καλέστε το 600).
  • φόρτωση προγραμμάτων στο ΕΠ και εκκίνηση τους για εκτέλεση.

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

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

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

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

Δομή αρχείου αντικειμένου Absolute Loader

Το αρχείο πληροφοριών αποτελείται από:

  1. σημάδι;
  2. την απόλυτη διεύθυνση του ΕΠ όπου μπορούν να μεταφερθούν πληροφορίες·
  3. τον αριθμό των byte πληροφοριών στο μήνυμα·
  4. byte πληροφοριών·
  5. αθροίσματα ελέγχου?
  6. αρίθμηση.

Η εγγραφή ελέγχου αποτελείται από:

  1. σημάδι;
  2. διεύθυνση σημείου εισόδου.

Πώς λειτουργεί ένας απλός απόλυτος φορτωτής:

  1. Ελέγξτε αν υπάρχει αρκετή μνήμη για αυτό το πρόγραμμα (προβολή της πρώτης εγγραφής).
  2. Διαδοχική ανάγνωση του σώματος του προγράμματος και τοποθέτηση στην καθορισμένη διεύθυνση.
  3. Μεταφορά του ελέγχου στη διεύθυνση για την εκτέλεση του προγράμματος.

Προσαρμοσμένο bootloader

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

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

Για κάθε πρόγραμμα πηγής, ο assembler δημιουργεί κείμενο (αποτέλεσμα μετάφρασης) ως πληροφορίες εξόδου, πριν από ένα διάνυσμα διακλάδωσης που περιέχει τις διευθύνσεις των ονομάτων των υπορουτινών στις οποίες έχει πρόσβαση το πρόγραμμα πηγής. Για παράδειγμα, εάν η ρουτίνα SQRT είναι η πρώτη ρουτίνα που καλείται, τότε το πρώτο κελί στο διάνυσμα διακλάδωσης θα περιέχει το συμβολικό όνομα SQRT. Οι προτάσεις που περιέχουν μια κλήση στην υπορουτίνα SQRT θα μεταφραστούν σε μια εντολή διακλάδωσης που υποδεικνύει τη διεύθυνση του στοιχείου διανύσματος διακλάδωσης που σχετίζεται με το SQRT. Ο assembler θα μεταβιβάσει επίσης πρόσθετες πληροφορίες, όπως το συνολικό μήκος του προγράμματος και το μήκος του διανύσματος διακλάδωσης. Μετά τη φόρτωση του κειμένου του προγράμματος και του διανύσματος διακλάδωσης στη μνήμη, ο φορτωτής θα φορτώσει κάθε υπορουτίνα που καθορίζεται στο διάνυσμα. Στη συνέχεια θα βάλει μια εντολή για μετάβαση στην αντίστοιχη υπορουτίνα σε κάθε στοιχείο του διανύσματος. Έτσι, μια κλήση στην υπορουτίνα SQRT θα έχει ως αποτέλεσμα την εκτέλεση της εντολής άλματος στο πρώτο κελί του διανύσματος άλματος, το οποίο θα περιέχει την εντολή μετάβασης στην καλούμενη υπορουτίνα.

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

Αυτός ο φορτωτής έχει πολλά μειονεκτήματα:

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

Απευθείας σύνδεση του bootloader

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

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

  1. μήκος τμήματος;
  2. μια λίστα με όλα τα σύμβολα τμημάτων στα οποία είναι δυνατή η πρόσβαση από άλλα τμήματα και οι σχετικές διευθύνσεις τους.
  3. μια λίστα με όλους τους χαρακτήρες που δεν ορίζονται σε αυτό το τμήμα, στους οποίους έχει πρόσβαση σε αυτό το τμήμα.
  4. πληροφορίες σχετικά με τη θέση των σταθερών διεύθυνσης στο τμήμα και περιγραφή του τρόπου με τον οποίο πρέπει να αλλάξουν οι τιμές τους.
  5. κωδικούς μηχανής που ελήφθησαν ως αποτέλεσμα της μετάφρασης και εκχωρήθηκαν σχετικές διευθύνσεις.

Ένα από τα μειονεκτήματα ενός φορτωτή άμεσης σύνδεσης στην απλούστερη μορφή του είναι η ανάγκη να εκτελούνται ξανά οι λειτουργίες εκχώρησης μνήμης, κίνησης, σύνδεσης και φόρτωσης όλων των απαραίτητων υπορουτίνων κάθε φορά που εκτελείται το πρόγραμμα. Αυτά τα προβλήματα μπορούν να επιλυθούν εκτελώντας τη φόρτωση με δύο ξεχωριστά προγράμματα: έναν συνδυαστή και έναν φορτωτή μονάδων. Η έξοδος του συνδυαστή είναι ένα σύνολο δεδομένων σε μορφή που επιτρέπει τη φόρτωση του προγράμματος στη μνήμη και ονομάζεται μονάδα φόρτωσης.Υπάρχουν διάφοροι τύποι συνδυαστών. Το ένα είναι το λεγόμενο linker, το οποίο αποθηκεύει τις πληροφορίες που απαιτούνται για τη μετακίνηση μιας μονάδας στη μνήμη, έτσι ώστε η μονάδα στο σύνολό της να μπορεί στη συνέχεια να διαμορφωθεί και να φορτωθεί σε μια αυθαίρετη θέση στη μνήμη. Σε αυτήν την περίπτωση, ο φορτωτής μονάδας πρέπει να εκτελεί τις λειτουργίες της εκχώρησης και της κίνησης μνήμης, αλλά παραμένει ελεύθερος από την επίλυση του περίπλοκου προβλήματος της σύνδεσης μονάδων αντικειμένων και υπορουτίνων.

Δυναμικός φορτωτής

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

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

Δυναμική σύνδεση

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

εάν (συνθήκη 1)
κλήση υπορουτίνας 1
εάν (συνθήκη 2)
κλήση υπορουτίνας 2
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
αν (συνθήκη m)
υπορουτίνα κλήση m

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

Στείλτε την καλή δουλειά σας στη βάση γνώσεων είναι απλή. Χρησιμοποιήστε την παρακάτω φόρμα

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

Πανεπιστήμιο του Βόλγα με το όνομα V. N. Tatishchev

Σχολή Πληροφορικής και Τηλεπικοινωνιών

Τμήμα Πληροφορικής και Συστημάτων Ελέγχου

ΕΡΓΑΣΙΑ ΜΑΘΗΜΑΤΟΣ

κατά κλάδο: "Λογισμικό συστήματος"

Θέμα: " Φορτωτής

Γίνεται από μαθητή. IS-303

Κρασνοσέλτσεφ V. NS.

Δάσκαλος: Trubacheva S.I.

Tolyatti

Εισαγωγή

1. Θεωρητικό μέρος

2. Σχεδιαστικό μέρος

2.1 Δήλωση του προβλήματος

2.2 Ανάπτυξη αλγορίθμου για την επίλυση του προβλήματος

2.3 Περιγραφή του αλγορίθμου για τη φόρτωση του προγράμματος εφαρμογής

2.4 Περιγραφή του αλγόριθμου εκκίνησης του λειτουργικού συστήματος

2.5 Περιγραφή του αλγόριθμου εκκίνησης Unix με χρήση του LILO Boot Loader

συμπέρασμα

βιβλιογραφικές αναφορές

Εισαγωγή

Η συνάφεια της εργασίας μου στο μάθημα έγκειται στο γεγονός ότι η ανάπτυξη των υπολογιστών και των λειτουργικών τους συστημάτων έγινε παράλληλα με την ανάπτυξη διαφόρων προγραμμάτων bootloader. Ορισμένα λειτουργικά συστήματα απαιτούν διαφορετικούς φορτωτές εκκίνησης για την εκκίνηση. Για παράδειγμα, ένα λειτουργικό σύστημα Unix πολλαπλών χρηστών απαιτεί έναν φορτωτή LILO και διάφορα βοηθητικά προγράμματα. Οποιαδήποτε φόρτωση του λειτουργικού συστήματος επηρεάζει τη μνήμη RAM, με την οποία λειτουργούν τόσο ο κύριος φορτωτής όσο και ο δευτερεύων φορτωτής. Κατά τη φόρτωση, παρουσιάζονται διάφορα είδη σφαλμάτων, τα οποία ο φορτωτής παρακάμπτει ή ολοκληρώνει τη διαδικασία φόρτωσης (εμφανίζει ένα ενημερωτικό μήνυμα).

Ένας bootloader είναι ένα πρόγραμμα που απλά δεν μπορούν να κάνουν περισσότεροι από ένας υπολογιστές και περισσότερα από ένα λειτουργικά συστήματα.

1 . Θεωρητικό μέρος

Διαδικασία εκκίνησης του Microsoft OS

Όποιο λειτουργικό σύστημα κι αν σκεφτόμαστε, για να ξεκινήσει το λειτουργικό σύστημα να ελέγχει τον υπολογιστή, πρέπει να φορτωθεί στη μνήμη RAM. Επομένως, θα εξετάσουμε πώς συμβαίνει η διαδικασία φόρτωσης διαφορετικών OS. Επειδή μας ενδιαφέρει μόνο η εκκίνηση από σκληρούς δίσκους, δεν θα εξετάσουμε τις ιδιαιτερότητες της εκκίνησης από δισκέτα, CD-ROM και μέσω δικτύου. Ας ξεκινήσουμε με τα MS-DOS και MS Windows.

Όπως γνωρίζετε, όταν ανοίγετε τον υπολογιστή, ξεκινά πρώτα το πρόγραμμα POST (Power On Self Test). Καθορίζει την ποσότητα της διαθέσιμης μνήμης, τη δοκιμάζει, καθορίζει την παρουσία άλλων εξαρτημάτων (πληκτρολόγιο, σκληρός δίσκος κ.λπ.), προετοιμάζει τις κάρτες προσαρμογέων. Η οθόνη εμφανίζει συνήθως μηνύματα σχετικά με την ποσότητα της μνήμης, σχετικά με τη δοκιμή της, μια λίστα συσκευών που έχουν εντοπιστεί (δισκέτες και σκληροί δίσκοι, επεξεργαστής, θύρες COM κ.λπ.).

Αφού ολοκληρωθεί η δοκιμή, το POST καλεί το Int 19h, το οποίο προσπαθεί να βρει τη συσκευή εκκίνησης. Η αναζήτηση εκτελείται με τη σειρά που ορίζεται στο Setup BIOS και πραγματοποιείται με δημοσκόπηση των μηδενικών τομέων των αντίστοιχων συσκευών. Εάν ο δίσκος είναι εκκινήσιμος, τότε ο μηδενικός τομέας του περιέχει το Master Boot Record (MBR). Τα δύο τελευταία byte του MBR είναι ένας "μαγικός αριθμός", που είναι σημάδι ότι αυτός ο τομέας είναι MBR και, επομένως, ο δίσκος είναι εκκινήσιμος. Εκτός από τον "μαγικό αριθμό", το MBR περιέχει τον πίνακα διαμερισμάτων δίσκου, ο οποίος αναφέρθηκε ήδη παραπάνω, και ένα μικρό πρόγραμμα - τον κύριο φορτωτή, με όγκο μόνο 446 (0 * 1BE) byte.

Ο Πίνακας 2.1 δείχνει τη δομή του κύριου τομέα εκκίνησης που δημιουργήθηκε κατά την εγκατάσταση των Windows.

Πίνακας 2.1 Δομή του Master Boot Sector

Διακοπή 19 ωρών Το BIOS φορτώνει τον κύριο φορτωτή εκκίνησης στη μνήμη του υπολογιστή και μεταφέρει τον έλεγχο σε αυτό το πρόγραμμα. Αλλά ένα τόσο μικρό πρόγραμμα δεν μπορεί να φορτώσει το λειτουργικό σύστημα. Το μόνο που μπορεί να κάνει είναι να φορτώσει ένα πιο ισχυρό πρόγραμμα στη μνήμη — τον δευτερεύοντα φορτωτή.

Για να γίνει αυτό, αναζητά το ενεργό διαμέρισμα στον πίνακα διαμερισμάτων και διαβάζει τον δευτερεύοντα φορτωτή στη μνήμη, η οποία βρίσκεται ξεκινώντας από τον πρώτο λογικό τομέα του ενεργού διαμερίσματος. Δώστε προσοχή στη λέξη «έναρξη». Το θέμα είναι ότι ο δευτερεύων bootloader έχει διαφορετικά μήκη σε διαφορετικά συστήματα.

Ο δευτερεύων φορτωτής φορτώνει το πρώτο επίπεδο προγραμμάτων που απαιτούνται για την εκκίνηση του λειτουργικού συστήματος. Στην περίπτωση του MS - DOS, το πρόγραμμα φόρτωσης φορτώνει το IO.SYS στις 700h, μετά το MSDOS.SYS και μεταφέρει τον έλεγχο στην ενότητα SYSINIT της μονάδας IO.SYS.

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

Προβλήματα με μεγάλες μονάδες δίσκου

Στο MS - DOS και στις πρώτες εκδόσεις των Windows, η πρόσβαση στους δίσκους οργανώθηκε μέσω διακοπής 13 (Int 13h) BIOS. Σε αυτήν την περίπτωση, η διευθυνσιοδότηση των τομέων στο δίσκο χρησιμοποιήθηκε με βάση την ένδειξη των αριθμών του κυλίνδρου, της κεφαλής και του τομέα στην τροχιά (C / H / S). Ακριβέστερα:

1) AH - επιλογή λειτουργίας.

2) СР - χαμηλότερα 8 bit του αριθμού κυλίνδρου.

3) CL - τα bit 7-6 αντιστοιχούν στα πιο σημαντικά bit του αριθμού του κυλίνδρου, τα bit 5-0 αντιστοιχούν στον αριθμό τομέα.

4) DH - αριθμός της κεφαλής ανάγνωσης.

5) DL - αριθμός δίσκου (80h ή 81h).

Θα πρέπει να σημειωθεί ότι όλοι οι παραπάνω περιορισμοί είναι σημαντικοί μόνο στο στάδιο της εκκίνησης του λειτουργικού συστήματος, καθώς το ίδιο το Linux και οι τελευταίες εκδόσεις των Windows δεν χρησιμοποιούν πλέον τη διακοπή 13 του BIOS όταν εργάζονται με δίσκους, αλλά χρησιμοποιούν τα δικά τους προγράμματα οδήγησης για εργασία με δίσκους. Αλλά για να μπορέσει το σύστημα να χρησιμοποιήσει το δικό του πρόγραμμα οδήγησης, πρέπει τουλάχιστον να το φορτώσει. Επομένως, στο στάδιο της εκκίνησης, οποιοδήποτε σύστημα αναγκάζεται να χρησιμοποιήσει το BIOS. Αυτό προκαλεί περιορισμούς στην τοποθέτηση πολλών συστημάτων πέραν των 8 GB, δεν μπορούν να εκκινήσουν από εκεί, αν και μετά από μια επιτυχημένη εκκίνηση μπορούν να δουλέψουν με πολύ μεγαλύτερους δίσκους. Για να κατανοήσουμε πώς να παρακάμψουμε αυτούς τους περιορισμούς, χρειαζόμαστε κάποιες γνώσεις σχετικά με τον τρόπο εκκίνησης του Linux.

LILO bootloader από διανομή Linux

Πριν προχωρήσετε στην εγκατάσταση του δεύτερου λειτουργικού συστήματος, πρέπει να επιλέξετε μια μέθοδο για την οργάνωση της επιλογής του λειτουργικού συστήματος στο στάδιο της εκκίνησης του υπολογιστή. Τα προγράμματα λήψης λύνουν αυτό το πρόβλημα. Υπάρχουν αρκετά προγράμματα αυτού του είδους. Μιας και μιλάμε για Linux, το πρώτο που πρέπει να αναφέρουμε είναι το πρόγραμμα LILO, το οποίο περιλαμβάνεται σε οποιαδήποτε διανομή Linux.

Το LILO είναι ένα σύνολο πολλών προγραμμάτων: ο ίδιος ο φορτωτής εκκίνησης, τα προγράμματα που χρησιμοποιούνται για την εγκατάσταση και τη διαμόρφωση του φορτωτή εκκίνησης και τα αρχεία υπηρεσίας:

Το πρόγραμμα / sbin / lilo, το οποίο εκτελείται υπό Linux, χρησιμοποιείται για την εγγραφή όλων των πληροφοριών που χρειάζονται κατά την εκκίνηση στα κατάλληλα σημεία. Πρέπει να επανεκκινείται κάθε φορά που γίνεται αλλαγή στον πυρήνα ή στο αρχείο διαμόρφωσης LILO.

Διάφορα αρχεία υπηρεσιών που χρειάζεται η LILO κατά την εκκίνηση. Αυτά τα αρχεία βρίσκονται συνήθως στον κατάλογο / boot. Τα πιο σημαντικά από αυτά είναι ο ίδιος ο bootloader και το αρχείο χάρτη (/ boot / map), το οποίο καθορίζει τη θέση του πυρήνα. Ένα άλλο σημαντικό αρχείο είναι το αρχείο διαμόρφωσης LILO, το οποίο είναι συνήθως /etc/lilo.conf;

Ο ίδιος ο bootloader είναι το μέρος του LILO που φορτώνεται για πρώτη φορά στη μνήμη μέσω μιας διακοπής του BIOS και το οποίο φορτώνει τον πυρήνα του Linux ή τον τομέα εκκίνησης ενός άλλου λειτουργικού συστήματος. Ο φορτωτής έχει επίσης δύο μέρη. Το πρώτο μέρος γράφει στον τομέα εκκίνησης και χρησιμεύει για τη φόρτωση του δεύτερου τμήματος, το οποίο είναι πολύ μεγαλύτερο σε μέγεθος. Και τα δύο μέρη συνήθως αποθηκεύονται στο δίσκο στο αρχείο /boot/boot.b.

Ο τομέας εκκίνησης LILO μπορεί να τοποθετηθεί στις ακόλουθες θέσεις κατά την εγκατάσταση του συστήματος:

Τομέας εκκίνησης μιας δισκέτας σε μορφή Linux (/ dev / fd0, ...).

MBR του πρώτου σκληρού δίσκου (/ dev / had, / dev / sda, ...);

Τομέας εκκίνησης του πρωτεύοντος διαμερίσματος του συστήματος αρχείων Linux στον πρώτο σκληρό δίσκο (/ dev / hda1, / dev / hda2, ...).

Ο τομέας εκκίνησης του λογικού διαμερίσματος στο εκτεταμένο διαμέρισμα του πρώτου σκληρού δίσκου (/ dev / hda5, ...). Είναι αλήθεια ότι τα περισσότερα προγράμματα όπως το fdisk δεν υποθέτουν ότι είναι δυνατή η εκκίνηση από ένα εκτεταμένο διαμέρισμα και αρνούνται να το δηλώσουν ενεργό. Επομένως, το LILO περιλαμβάνει ένα ειδικό πρόγραμμα (ενεργοποίηση) για να παρακάμψει αυτόν τον περιορισμό. Αλλά το πρόγραμμα fdisk από τη διανομή Linux υποστηρίζει τη δυνατότητα ενεργοποίησης ενός εκτεταμένου διαμερίσματος. Για να γίνει αυτό, πρέπει να χρησιμοποιηθεί είτε η επιλογή -b είτε η μεταβλητή BOOT.

Ο τομέας εκκίνησης LILO δεν μπορεί να τοποθετηθεί στις ακόλουθες θέσεις:

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

Σε ένα διαμέρισμα ανταλλαγής Linux.

Εκτός από το γεγονός ότι το LILO χρειάζεται επίσης τα ακόλουθα αρχεία κατά την εκκίνηση:

- / boot / map (δημιουργήθηκε όταν ξεκινά το / sbin / lilo).

Όλες οι εκδόσεις πυρήνα με δυνατότητα εκκίνησης (εάν επιλέξετε μια έκδοση πυρήνα κατά την εκκίνηση).

Τομείς εκκίνησης άλλων λειτουργικών συστημάτων που θα φορτωθούν μέσω του LILO.

Μηνύματα που εκπέμπονται κατά τη φόρτωση (εάν υπάρχουν)

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

Δεν βγαίνει τίποτα - δεν έχει φορτωθεί κανένα μέρος του LILO. Είτε το LILO δεν εγκαταστάθηκε είτε το διαμέρισμα στο οποίο βρίσκεται δεν είναι ενεργό

L [κωδικός σφάλματος] - ο κύριος φορτωτής φορτώθηκε και ξεκίνησε (ο έλεγχος έχει μεταφερθεί σε αυτόν), αλλά απέτυχε να φορτώσει τον δευτερεύοντα φορτωτή. Ο διψήφιος κωδικός σφάλματος υποδεικνύει τη συγκεκριμένη αιτία του προβλήματος. Αυτό οφείλεται συνήθως σε ελαττώματα μέσων ή σε εσφαλμένη ρύθμιση της γεωμετρίας του δίσκου. Εάν το LILO δεν έχει σταματήσει σε αυτό το σημείο με μια ατελείωτη σειρά κωδικών σφαλμάτων, το πρόβλημα είναι συνήθως εύκολο να διορθωθεί.

LI - ο κύριος φορτωτής μπόρεσε να φορτώσει τον δευτερεύοντα φορτωτή, αλλά απέτυχε να τον εκκινήσει για εκτέλεση. Αυτό μπορεί να οφείλεται σε σφάλμα στη ρύθμιση της γεωμετρίας του δίσκου ή από το γεγονός ότι το αρχείο /boot/boot.b μετακινήθηκε χωρίς επανεκκίνηση / sbin / lilo.

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

LIL; - ο δευτερεύων φορτωτής εκκίνησης φορτώθηκε σε λάθος διεύθυνση. Συνήθως προκαλείται από ένα σφάλμα στη ρύθμιση της γεωμετρίας του δίσκου ή από τη μετακίνηση του /boot/boot.b χωρίς επανεκκίνηση / sbin / lilo.

LIL- - καταστράφηκε ο πίνακας περιγραφών. Συνήθως προκαλείται από ένα σφάλμα στη ρύθμιση της γεωμετρίας του δίσκου ή από τη μετακίνηση του /boot/boot.b χωρίς επανεκκίνηση / sbin / lilo.

LILO - Όλα τα ανταλλακτικά LILO φορτώθηκαν με επιτυχία.

Εκκίνηση διεργασίας και / etc / αρχείο inittab

Όπως γνωρίζετε, μετά την ενεργοποίηση του υπολογιστή και την ολοκλήρωση της δοκιμής του υλικού, γίνεται ανάγνωση του BIOS από τον πρώτο τομέα του δίσκου εκκίνησης, τον οποίο το πρόγραμμα είναι ο φορτωτής εκκίνησης. Αυτό το πρόγραμμα ξεκινά τον κύριο φορτωτή εκκίνησης (όπως το LILO), ο οποίος με τη σειρά του φορτώνει τον πυρήνα του συστήματος στη μνήμη, η οποία συνήθως αποθηκεύεται στο αρχείο vmlinuz-x.y.z-a στον κατάλογο / boot.

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

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

1) Σταματήστε το σύστημα.

2) Λειτουργία ενός χρήστη (για ειδικές περιπτώσεις χορήγησης).

3) Λειτουργία πολλαπλών χρηστών χωρίς NFS (το ίδιο με το 3 εάν ο υπολογιστής δεν λειτουργεί με το δίκτυο).

4) Πλήρης λειτουργία για πολλούς παίκτες.

5) Η χρήση δεν ρυθμίζεται.

6) Συνήθως χρησιμοποιείται για την εκκίνηση του συστήματος σε γραφική λειτουργία.

S) (ή s) - περίπου το ίδιο με τη λειτουργία ενός χρήστη, αλλά τα S και s χρησιμοποιούνται κυρίως σε σενάρια.

Πρώτα απ 'όλα, μετά την εκκίνηση, η διαδικασία init διαβάζει το αρχείο ρυθμίσεων / etc / inittab. Αυτό το αρχείο αποτελείται από ξεχωριστές γραμμές. Εάν η γραμμή ξεκινά με σύμβολο # ή είναι κενή, τότε αγνοείται. Όλες οι άλλες γραμμές αποτελούνται από 4 πεδία που χωρίζονται με άνω και κάτω τελεία:

ταυτότητα : επίπεδα εκτέλεσης : δράση : επεξεργάζομαι, διαδικασία

id - αναγνωριστικό σειράς.

runlevels - επίπεδα εκτέλεσης.

διαδικασία - διαδικασία;

δράση - δράση;

Το πεδίο δράσης περιέχει μια λέξη-κλειδί που ορίζει πρόσθετες συνθήκες για την εντολή που καθορίζεται από το πεδίο διεργασίας. Έγκυρες τιμές για το πεδίο δράσης:

respawn - επανεκκινήστε τη διαδικασία εάν τερματιστεί.

μία φορά - εκτελέστε τη διαδικασία μόνο μία φορά κατά τη μετάβαση στο καθορισμένο επίπεδο.

περιμένετε - η διαδικασία θα ξεκινήσει μία φορά μετά τη μετάβαση στο καθορισμένο επίπεδο.

sysinit - Αυτή η λέξη-κλειδί υποδηλώνει ενέργειες που πρέπει να εκτελεστούν κατά την εκκίνηση του συστήματος ανεξάρτητα από το επίπεδο εκτέλεσης (το πεδίο id αγνοείται).

εκκίνηση - η διαδικασία θα ξεκινήσει στο στάδιο της φόρτωσης του συστήματος από το επίπεδο εκτέλεσης.

bootwait - η διαδικασία θα ξεκινήσει στο στάδιο της εκκίνησης του συστήματος από το επίπεδο εκτέλεσης και το init θα περιμένει να ολοκληρωθεί.

initdefault - η γραμμή στην οποία εμφανίζεται αυτή η λέξη στο πεδίο δράσης ορίζει το επίπεδο εκτέλεσης στο οποίο πηγαίνει το σύστημα από προεπιλογή.

off - αγνοήστε αυτό το στοιχείο.

powerwait - Επιτρέπει στη διαδικασία έναρξης να σταματήσει το σύστημα όταν διακοπεί η τροφοδοσία.

Ctrlaltdel - Επιτρέπει στο init να επανεκκινήσει το σύστημα όταν ο χρήστης πατήσει έναν συνδυασμό πλήκτρων στο πληκτρολόγιο.

Αυτή η λίστα δεν είναι εξαντλητική. Για περισσότερες πληροφορίες σχετικά με το αρχείο inittab, ανατρέξτε στις σελίδες man init (8), inittab (5) και getty (8).

2 . Μέρος του έργου

2.1 Δήλωση του προβλήματος

Είναι απαραίτητο να μελετήσετε το θεωρητικό υλικό για το επιλεγμένο θέμα, να αναπτύξετε έναν αλγόριθμο για τον φορτωτή εκκίνησης κατά την εφαρμογή της μεθόδου (που παρουσιάζεται με τη μορφή μπλοκ διαγράμματος) και να περιγράψετε τον αλγόριθμο.

2.2 Ανάπτυξη αλγορίθμου για την επίλυση του προβλήματος

Είσοδος: Uniprocessor System, Application Program, LILO Loader, POST Program, Mutual Exclusion.

Το σχήμα 1 δείχνει τον αλγόριθμο για τη «φόρτωση ενός προγράμματος εφαρμογής».

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

2.3 Περιγραφή του αλγορίθμου για τη φόρτωση του προγράμματος εφαρμογής

1) Το πρόγραμμα εφαρμογής ξεκινά για εκτέλεση. Μετά από αυτό, ενεργοποιείται το πρόγραμμα συστήματος "Loader".

2) Μετά την ενεργοποίηση, αρχίζει να σαρώνει τη μνήμη RAM για να βρει ελεύθερες περιοχές.

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

4) Μετά από αυτό, προσδιορίζεται το μέγεθος του κώδικα του προγράμματος εφαρμογής, το οποίο εκκινείται για εκτέλεση.

5) Συγκρίνετε το μέγεθος του κώδικα και το μέγεθος της ελεύθερης περιοχής στη μνήμη RAM.

6) Εάν υπάρχει αρκετός χώρος στη μνήμη RAM για την αντιγραφή του κώδικα του προγράμματος εφαρμογής, τότε ο αριθμός των εικονικών σελίδων φυσικών σελίδων εγκαθίσταται στον πίνακα σελίδων. Στη συνέχεια, ο κωδικός της εφαρμογής αντιγράφεται στη μνήμη RAM. Και το τέλος της διαδικασίας.

7) Διαφορετικά, θα μάθουμε αν υπάρχει αρκετός χώρος στη μνήμη RAM για ένα μέρος του κώδικα προγράμματος εφαρμογής. Αν ναι, τότε επαναλαμβάνουμε τα βήματα όταν υπάρχει αρκετός χώρος για τον πλήρη κωδικό του προγράμματος εφαρμογής. Αλλά μετά την αντιγραφή του κώδικα στη μνήμη RAM, ένα μέρος του κώδικα αντιγράφεται στην περιοχή ανταλλαγής.

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

2.4 Περιγραφή του αλγόριθμου εκκίνησης του λειτουργικού συστήματος (Λειτουργικό Σύστημα)

1) Ξεκινά το πρόγραμμα POST. Με τη βοήθεια αυτού του προγράμματος, ελέγχεται η διαθέσιμη μνήμη, προσδιορίζεται η παρουσία άλλων εξαρτημάτων (διάφορες συσκευές Η/Υ, για παράδειγμα: πληκτρολόγιο, σκληρός δίσκος κ.λπ.) και αρχικοποιούνται οι κάρτες προσαρμογέα.

2) Αφού εκτελεστεί το πρόγραμμα POST, εμφανίζει τα αποτελέσματα της εργασίας του.

3) Ονομάζουμε το πρόγραμμα 19H, το οποίο προσπαθεί να βρει τη συσκευή εκκίνησης.

4) Το Interrupt 19H BIOS φορτώνει τον κύριο φορτωτή εκκίνησης στη μνήμη του υπολογιστή και μεταφέρει τον έλεγχο σε αυτό το πρόγραμμα

5) Λόγω της έλλειψης ισχύος αυτού του προγράμματος, φορτώστε το λειτουργικό σύστημα. Ως εκ τούτου, ψάχνει για ένα πιο ισχυρό πρόγραμμα που μπορεί να το κάνει αυτό - έναν δευτερεύοντα φορτωτή. Για να γίνει αυτό, αναζητά το ενεργό διαμέρισμα στον πίνακα διαμερισμάτων και διαβάζει τον δευτερεύοντα φορτωτή στη μνήμη.

6) Ο δευτερεύων φορτωτής φορτώνει το πρώτο επίπεδο προγραμμάτων που απαιτούνται για την εκκίνηση του λειτουργικού συστήματος. Το πρόγραμμα φόρτωσης φορτώνει τη μονάδα IO.SYS στις 700 ώρες και, στη συνέχεια, το MSDOS.SYS μεταφέρει τον έλεγχο στην ενότητα SYSINIT της μονάδας IO.SYS.

7) Εάν, για κάποιο λόγο, δεν βρέθηκε ενεργό διαμέρισμα στο δίσκο στον πίνακα διαμερισμάτων, η διαδικασία εκκίνησης συνεχίζεται με την επεξεργασία διακοπής 18 ωρών.

2.5 Περιγραφή του αλγορίθμου λήψηςUnixχρησιμοποιώντας το bootloaderΛΙΛΟ

1) Εκτελέστε το πρόγραμμα / sbin / lilo για να γράψετε όλες τις πληροφορίες που χρειάζονται στο στάδιο εκκίνησης στα κατάλληλα σημεία. Αναζήτηση για αρχεία υπηρεσίας που απαιτούνται από το LILO κατά την εκκίνηση.

2) Εάν τα αρχεία δεν βρεθούν, τότε εμφανίζεται ένα μήνυμα σχετικά με το τέλος της λήψης.

4) Εάν ο κύριος φορτωτής απέτυχε να φορτώσει τον δευτερεύοντα, τότε στην οθόνη εμφανίζεται ένα ενημερωτικό μήνυμα σχετικά με ένα σφάλμα κατά τη φόρτωση.

6) Εάν ο κύριος φορτωτής φόρτωσε με επιτυχία τον δευτερεύοντα φορτωτή, αλλά απέτυχε να ξεκινήσει, τότε εμφανίζεται ένα ενημερωτικό μήνυμα σχετικά με ένα σφάλμα κατά τη φόρτωση.

7) Διαφορετικά, ξεκινά ο δευτερεύων bootloader.

8) Ελέγξτε ότι ο δευτερεύων φορτωτής εκκίνησης έχει φορτωθεί στη σωστή διεύθυνση.

9) Εάν όχι, τότε εμφανίζεται ένα ενημερωτικό μήνυμα σχετικά με ένα σφάλμα κατά τη φόρτωση.

10) Έλεγχος εάν ο πίνακας περιγραφών είναι κατεστραμμένος. Εάν ναι, τότε εμφανίζεται ένα ενημερωτικό μήνυμα σχετικά με ένα σφάλμα κατά τη φόρτωση. Εάν όχι, τότε ο πίνακας περιγραφών φορτώνεται από το αρχείο χάρτη.

11) Έλεγχος εάν η εκκίνηση του πίνακα περιγραφών ήταν επιτυχής. Εάν όχι, τότε στείλτε ένα ενημερωτικό μήνυμα σφάλματος κατά την εκκίνηση.

12) Διαφορετικά, στείλτε ένα ενημερωτικό μήνυμα σχετικά με την επιτυχή φόρτωση του LILO.

συμπέρασμα

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

βιβλιογραφικές αναφορές

1. Tanenbaum Andrew. Σύγχρονα λειτουργικά συστήματα / Tanenbaum Andrew. - 2η έκδ. - SPB .: Peter, 2002 .-- 1037s.: Ill. - (Κλασικά Πληροφορική). - ISBN 5-318-00299-4

2. Partyka, T.L. Operating Systems, Environments, and Shells: A Tutorial for Environments Prof. Arr. ποτάμια. MO / Partyka, T.L, Popov, I.I. - M .: FORUM: INFRA - M, 2006. - 399s .: ill. - (Επαγγελματική εκπαίδευση). - ISBN 5-8199-0072-5-16-001355-5

3. Olifer, V.G. Λειτουργικά συστήματα δικτύου: Διδακτικό βιβλίο. εγχειρίδιο για τα πανεπιστήμια των ποταμών. MO / Olifer, V.G., Olifer, N.A. - SPb .: Peter, 2003 .-- 538s.: Ill. - ISBN 5-272-00120-6

4. Trubacheva, S.I. Προγραμματισμός σε λειτουργικά συστήματα: Μεθοδολογικός οδηγός / Trubacheva, S.I. - Togliatti: VUiT, 2006 .-- 44σ.

5. Τέρενς Τσαν. Προγραμματισμός συστήματος σε C ++ για Unix / Ed. Κολόμιτσεφ. - Κίεβο, 2004.

6. Tucket D., Barnett S. Special edition. Χρήση LINUX / Per. από τα Αγγλικά - 4η έκδ. SPb.: Williams, 2003.

7. Ιβάνοβα Γ.Σ. Προγραμματισμός C ++ / Σχολικό βιβλίο. Εκδ. M .: MGTU, 2002.

Παρόμοια έγγραφα

    Γενικά χαρακτηριστικά του συστήματος Android, επισκόπηση των αναλόγων του. Προϋποθέσεις για να ξεκινήσετε με το Android. Ρύθμιση διαμορφώσεων Ubuntu. Γράψιμο σεναρίων για την απλοποίηση της παραγωγής Linux. Εντοπισμός σφαλμάτων και δοκιμή του προγράμματος στην πλακέτα i.MX53 freescale.

    θητεία, προστέθηκε 10/12/2012

    Εξέταση των χαρακτηριστικών των διαχειριστών λήψης. Περιγραφή του Download Accelerator Plus, Download Master, FlashGet, GetRight, ReGet, Go! Zilla. Συγκριτικά χαρακτηριστικά των διαχειριστών εκκίνησης των Windows. Προγράμματα για λειτουργικά συστήματα Unix, Linux και Mac.

    η περίληψη προστέθηκε 09/06/2014

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

    θητεία, προστέθηκε 04/02/2014

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

    παρουσίαση προστέθηκε 20/12/2013

    Ανάλυση των τεχνικών δυνατοτήτων του λειτουργικού συστήματος Mandriva Linux - ένα κιτ διανομής GNU / Linux που αναπτύχθηκε από τη γαλλική εταιρεία Mandriva, η οποία κυκλοφορεί δωρεάν, εμπορικές και εταιρικές εκδόσεις του κιτ διανομής της. Βήματα εγκατάστασης κελύφους Linux.

    παρουσίαση προστέθηκε στις 23/05/2010

    Σημαντικά σημεία της ιστορίας των λειτουργικών συστημάτων που συνδέουν υλικό και προγράμματα εφαρμογών. Χαρακτηριστικά του λειτουργικού συστήματος Microsoft Windows Seven, ανάλυση λειτουργικού συστήματος Linux. Τα πλεονεκτήματα και τα μειονεκτήματα κάθε λειτουργικού συστήματος.

    Προστέθηκε θητεία στις 05/07/2011

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

    διατριβή, προστέθηκε 18/07/2013

    Στάδια φόρτωσης συστήματος Linux, εγγραφή. Διαχείριση λογαριασμού χρήστη. Η αρχή της ονομασίας συσκευών, ο σκοπός και η χρήση ειδικών αρχείων. Διαχείριση αρχείων, πρόσβαση στο σύστημα αρχείων, εργασίες. Βασική δομή αρχείων Linux.

    εγχειρίδιο, προστέθηκε στις 15/11/2014

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

    θητεία που προστέθηκε στις 11/05/2015

    Δυνατότητες φόρτωσης λειτουργικού συστήματος Linux σε κατάσταση τερματικού, σύνδεσης και εγγραφής χρηστών. Εκτέλεση εκ νέου ανάθεσης αρχείων, χρήση του για εργασία με εντολές του λειτουργικού συστήματος. Εφαρμογή καναλιών προγράμματος (pipelines).

Αλγόριθμος εκκίνησης λειτουργικού συστήματος

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

Αξίζει να πούμε ότι για την κανονική λειτουργία ενός υπολογιστή, είναι εξαιρετικά σημαντικό οι κύριες μονάδες του λειτουργικού συστήματος να βρίσκονται στη μνήμη RAM. Για το λόγο αυτό, μετά την ενεργοποίηση του υπολογιστή, το λειτουργικό σύστημα αντικαθίσταται αυτόματα (φορτώνεται) από το δίσκο στη μνήμη RAM.

- αντικατάσταση του λειτουργικού συστήματος από δίσκο (σκληρό ή δισκέτα) στη μνήμη RAM.

Μετά την ενεργοποίηση του υπολογιστή, παρατηρείται αλλαγή αριθμών στην οθόνη. Αυτά τα στοιχεία αντικατοπτρίζουν τη διαδικασία δοκιμής της μνήμης RAM από το πρόγραμμα BIOS. Εάν εντοπιστεί δυσλειτουργία στα κελιά της μνήμης RAM, θα εμφανιστεί ένα μήνυμα.

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

Ξεκινά η ανάγνωση στη μνήμη RAM του 0-ου τομέα της 0-ης πλευράς του δίσκου, στον οποίο βρίσκεται ο φορτωτής (BOOT RECORD). Ο έλεγχος μεταφέρεται στον φορτωτή, ο οποίος ελέγχει την παρουσία της μονάδας επέκτασης IO.SYS και της βασικής μονάδας MSDOS.SYS στο δίσκο συστήματος. Εάν βρίσκονται στη θέση που τους έχει δεσμευτεί, τότε τα φορτώνει στη μνήμη RAM, διαφορετικά θα εμφανιστεί ένα μήνυμα σχετικά με την απουσία τους. Σε αυτήν την περίπτωση, συνιστάται η επανεκκίνηση. Το σήμα επανεκκίνησης μεταφέρει τον έλεγχο στη μόνιμη μονάδα BIOS, η οποία ξαναγράφει το μπλοκ εκκίνησης από το δίσκο στη μνήμη RAM και ούτω καθεξής.

ΣΗΜΕΙΩΣΗ!Για επανεκκίνηση του λειτουργικού συστήματοςστη μνήμη, πατήστε ταυτόχρονα τα πλήκτρα<Сtгl> <АLT> .

Μετά την επιτυχή φόρτωση της επέκτασης IO.SYS και της βασικής μονάδας MSDOS.SYS στη μνήμη RAM, φορτώνεται ο επεξεργαστής εντολών COMMAND.COM και υποβάλλεται σε επεξεργασία το αρχείο διαμόρφωσης CONFIG.SYS, το οποίο περιέχει τις εντολές για τη σύνδεση των απαραίτητων προγραμμάτων οδήγησης. Αυτό το αρχείο ενδέχεται να μην υπάρχει εάν ο χρήστης είναι ικανοποιημένος με τη βασική έκδοση του λειτουργικού συστήματος.

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

Σημείωση!Τα αρχεία με την επέκταση .BAT παίζουν ιδιαίτερο ρόλο κατά την εργασία στο περιβάλλον του συστήματος. Το Οʜᴎ περιέχει μια συλλογή από εντολές λειτουργικού συστήματος ή ονόματα εκτελέσιμων αρχείων. Μετά την εκκίνηση του αρχείου με την επέκταση .BAT, όλες οι εντολές που είναι γραμμένες σε αυτό εκτελούνται αυτόματα η μία μετά την άλλη.

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

Εάν δεν υπάρχει αρχείο AUTOEXEC.BAT, θα σας ζητηθεί να εισαγάγετε την ημερομηνία και την ώρα:

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

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

25-10-1997 (μήνας ημέρα έτος)

7:30: 10,00 RUB (ώρες: λεπτά: δευτερόλεπτα)

Μετά την ολοκλήρωση του αρχείου AUTOEXEC.BAT, και επίσης, εάν αυτό το αρχείο δεν βρεθεί, η προτροπή του δίσκου συστήματος θα εμφανιστεί στην οθόνη εμφάνισης, για παράδειγμα Γ: \>.Αυτό υποδηλώνει ότι η διαδικασία εκκίνησης έχει ολοκληρωθεί κανονικά και μπορείτε να ξεκινήσετε εισάγοντας το όνομα της εφαρμογής ή την εντολή του λειτουργικού συστήματος.

Σημείωση.Τα αρχεία CONFIG.SYS και AUTOEXEC.BAT ενδέχεται να λείπουν. Σε αυτήν την περίπτωση, οι ρυθμίσεις περιβάλλοντος λειτουργίας θα οριστούν από προεπιλογή.

Θυμάμαι!Είναι εξαιρετικά σημαντικό να διατηρείτε το λειτουργικό σύστημα μόνιμα στον σκληρό δίσκο. Όλες οι μονάδες δισκέτας πρέπει να είναι ανοιχτές όταν ενεργοποιείτε τον υπολογιστή.

Πρέπει να εισαγάγετε τη δισκέτα με τα προγράμματα εφαρμογής στη μονάδα δισκέτας μετά την ολοκλήρωση της εκκίνησης.

Δοκιμασμένο από το πρόγραμμα

Κατεβάστε Χωρίς Φορτίο

σε εύκαμπτο σκληρό αρ

σκληρός δίσκος

Ανάγνωση από δισκέτα με μια χειρονομία. δίσκος

IO.SYS, MSDOS.SYS στον τομέα εκκίνησης "

Κατεβάστε Ούτε ένα μήνυμα

σωστός? "Δεν υπάρχουν αρχεία συστήματος"

Εντολή. Com "Δεν υπάρχουν αρχεία συστήματος"

και το αρχείο CONFIG.SYS

Συνεχίζοντας το θέμα:
Διάφορα

Σήμερα, τα κοινωνικά δίκτυα στο Διαδίκτυο είναι εξειδικευμένοι ιστότοποι που φέρνουν τους ανθρώπους κοντά σε ένα δίκτυο σε κάποια συγκεκριμένη βάση. Στην ανάπτυξή τους...