4.2 Μάθημα 1
Πιστοποιητικό: |
Linux Essentials |
---|---|
Έκδοση: |
1.6 |
Θέμα: |
4 Το Λειτουργικό Σύστημα Linux |
Σκοπός: |
4.2 Κατανόηση του Υλικού του Υπολογιστή |
Μάθημα: |
1 απο 1 |
Εισαγωγή
Χωρίς υλικό, το λογισμικό δεν είναι τίποτα άλλο από μια άλλη μορφή λογοτεχνίας. Το υλικό επεξεργάζεται τις εντολές που περιγράφονται από το λογισμικό και παρέχει μηχανισμούς για αποθήκευση, είσοδο και έξοδο. Ακόμη και το cloud υποστηρίζεται τελικά από υλικό.
Ως λειτουργικό σύστημα, μία από τις αρμοδιότητες του Linux είναι η παροχή στο λογισμικό, διεπαφές για πρόσβαση στο υλικό ενός συστήματος. Οι περισσότερες λεπτομέρειες ρύθμισης παραμέτρων είναι πέρα από το πεδίο αυτού του μαθήματος. Ωστόσο, οι χρήστες συχνά ανησυχούν για την απόδοση, τη χωρητικότητα και άλλους παράγοντες του υλικού του συστήματος, καθώς επηρεάζουν την ικανότητα ενός συστήματος να υποστηρίζει επαρκώς συγκεκριμένες εφαρμογές. Αυτό το μάθημα εξετάζει το υλικό ως ξεχωριστά φυσικά στοιχεία χρησιμοποιώντας τυπικές συνδέσεις και διεπαφές. Τα πρότυπα είναι σχετικά στατικά. Αλλά ο παράγοντας μορφής, η απόδοση και τα χαρακτηριστικά χωρητικότητας του υλικού εξελίσσονται συνεχώς. Ανεξάρτητα από το πώς οι αλλαγές μπορεί να θολώσουν τις φυσικές διακρίσεις, οι εννοιολογικές πτυχές του υλικού που περιγράφονται σε αυτό το μάθημα εξακολουθούν να ισχύουν.
Note
|
Σε διάφορα σημεία αυτού του μαθήματος, χρησιμοποιούνται παραδείγματα γραμμής εντολών για την επίδειξη τρόπων πρόσβασης σε πληροφορίες σχετικά με το υλικό. Τα περισσότερα παραδείγματα προέρχονται από ένα Raspberry Pi B+, αλλά θα πρέπει να ισχύουν για τα περισσότερα συστήματα. Η κατανόηση αυτών των εντολών δεν απαιτείται για την κατανόηση αυτού του υλικού. |
Τροφοδοτικά
Όλα τα ενεργά συστατικά ενός συστήματος υπολογιστή απαιτούν ηλεκτρική ενέργεια για να λειτουργήσουν. Δυστυχώς, οι περισσότερες πηγές ηλεκτρικής ενέργειας δεν είναι κατάλληλες. Το υλικό του συστήματος υπολογιστών απαιτεί συγκεκριμένες τάσεις με σχετικά στενές ανοχές. Το οποίο δεν είναι αυτό που διατίθεται από την τοπική σας πρίζα.
Τα τροφοδοτικά εξομαλύνουν τις διαθέσιμες πηγές ενέργειας. Οι τυπικές απαιτήσεις τάσης επιτρέπουν στους κατασκευαστές να δημιουργούν εξαρτήματα υλικού που μπορούν να χρησιμοποιηθούν σε συστήματα οπουδήποτε στον κόσμο. Τα τροφοδοτικά επιτραπέζιων υπολογιστών τείνουν να χρησιμοποιούν την ηλεκτρική ενέργεια από τις πρίζες ως πηγή. Τα τροφοδοτικά των servers τείνουν να είναι πιο κρίσιμα, έτσι μπορούν συχνά να συνδέονται με πολλές πηγές για να διασφαλίσουν ότι θα συνεχίσουν να λειτουργούν εάν μια πηγή αποτύχει.
Η κατανάλωση ενέργειας παράγει θερμότητα. Η υπερβολική θερμότητα μπορεί να προκαλέσει αργή λειτουργία ή ακόμα και αστοχία των εξαρτημάτων του συστήματος. Τα περισσότερα συστήματα έχουν κάποια μορφή ανεμιστήρα για την κίνηση του αέρα για πιο αποτελεσματική ψύξη. Συστατικά όπως οι επεξεργαστές συχνά παράγουν θερμότητα που η ροή του αέρα από μόνη της δεν μπορεί να διώξει. Αυτά τα καυτά εξαρτήματα προσαρτούν ειδικά πτερύγια γνωστά ως ψύκτρες θερμότητας για να βοηθήσουν στη διάχυση της θερμότητας που παράγουν. Οι ψύκτρες έχουν συχνά τον δικό τους μικρό τοπικό ανεμιστήρα για να εξασφαλίσουν επαρκή ροή αέρα.
Μητρική Πλακέτα
Όλο το υλικό ενός συστήματος πρέπει να διασυνδεθεί. Μια μητρική πλακέτα κανονικοποιεί αυτή τη διασύνδεση χρησιμοποιώντας τυποποιημένες υποδοχές και παράγοντες μορφής. Παρέχει επίσης υποστήριξη για την παραμετροποίηση και τις ηλεκτρικές ανάγκες αυτών των βυσμάτων.
Υπάρχει ένας μεγάλος αριθμός παραμετροποιήσεων μητρικής πλακέτας. Υποστηρίζουν διαφορετικούς επεξεργαστές και συστήματα μνήμης. Έχουν διαφορετικούς συνδυασμούς τυποποιημένων βυσμάτων. Και προσαρμόζονται στα διαφορετικά μεγέθη της συσκευασίας που τα περιέχει. Εκτός ίσως από τη δυνατότητα σύνδεσης συγκεκριμένων εξωτερικών συσκευών, η παραμετροποίηση της μητρικής πλακέτας είναι ουσιαστικά διαφανής στους χρήστες. Οι διαχειριστές εκτίθενται κυρίως στη παραμετροποίηση της μητρικής πλακέτας όταν υπάρχει ανάγκη αναγνώρισης συγκεκριμένων συσκευών.
Όταν εφαρμόζεται για πρώτη φορά η τροφοδοσία, υπάρχει ειδικό υλικό για τη μητρική πλακέτα που πρέπει να ρυθμιστεί και να προετοιμαστεί για να μπορέσει να λειτουργήσει το σύστημα. Οι μητρικές πλακέτες χρησιμοποιούν προγραμματισμό που είναι αποθηκευμένος σε σταθερή μνήμη, γνωστό ως firmware, για να αντιμετωπίσουν το συγκεκριμένο υλικό της μητρικής πλακέτας. Η αρχική μορφή του firmware της μητρικής πλακέτας ήταν γνωστή ως BIOS (Basic Input/Output System). Πέρα από τις βασικές ρυθμίσεις παραμετροποίησης , το BIOS ήταν κυρίως υπεύθυνο για την αναγνώριση, τη φόρτωση και τη μεταφορά της λειτουργίας σε ένα λειτουργικό σύστημα όπως το Linux. Καθώς το υλικό εξελισσόταν, το firmware επεκτάθηκε για να υποστηρίζει μεγαλύτερους δίσκους, διαγνωστικά, γραφικές διεπαφές, δικτύωση και άλλες προηγμένες δυνατότητες, ανεξάρτητα από οποιοδήποτε φορτωμένο λειτουργικό σύστημα. Οι πρώτες προσπάθειες προώθησης του firmware πέρα από το βασικό BIOS ήταν συχνά συγκεκριμένες για έναν κατασκευαστή μητρικής πλακέτας. Η Intel όρισε ένα πρότυπο για προηγμένο firmware γνωστό ως EFI (Extensible Firmware Interface). Η Intel συνεισέφερε το EFI σε έναν οργανισμό προτύπων για τη δημιουργία του UEFI (Unified Extensible Firmware Interface). Σήμερα, οι περισσότερες μητρικές πλακέτες χρησιμοποιούν UEFI. Το BIOS και το EFI δεν εμφανίζονται σχεδόν ποτέ σε πρόσφατα συστήματα. Ανεξάρτητα από αυτό, οι περισσότεροι άνθρωποι εξακολουθούν να αναφέρονται στο firmware της μητρικής πλακέτας ως BIOS.
Υπάρχουν πολύ λίγες ρυθμίσεις firmware που ενδιαφέρουν τους γενικούς χρήστες, επομένως μόνο τα άτομα που είναι υπεύθυνα για τη παραμετροποίηση του υλικού του συστήματος πρέπει συνήθως να ασχολούνται με το firmware και τις ρυθμίσεις του. Μία από τις λίγες επιλογές που αλλάζουν συχνά είναι η ενεργοποίηση επεκτάσεων virtualization σύγχρονων CPU.
Μνήμη
Η μνήμη συστήματος διατηρεί τα δεδομένα και τον κώδικα των προγραμμάτων των εφαρμογών που εκτελούνται αυτήν τη στιγμή. Όταν μιλούν για τη μνήμη του υπολογιστή, οι περισσότεροι άνθρωποι αναφέρονται σε αυτή τη μνήμη συστήματος. Ένας άλλος κοινός όρος που χρησιμοποιείται για τη μνήμη συστήματος είναι το ακρωνύμιο RAM (Random Access Memory) ή κάποια παραλλαγή αυτού του ακρωνύμιου. Μερικές φορές χρησιμοποιούνται επίσης αναφορές στη φυσική συσκευασία της μνήμης του συστήματος, όπως DIMM, SIMM ή DDR.
Φυσικά, η μνήμη συστήματος συνήθως συσκευάζεται σε μεμονωμένες μονάδες πλακέτας κυκλώματος που συνδέονται στη μητρική πλακέτα. Επί του παρόντος, οι μεμονωμένες μονάδες μνήμης κυμαίνονται σε μέγεθος από 2 GB έως 64 GB. Για τις περισσότερες εφαρμογές γενικού σκοπού, τα 4 GB είναι η ελάχιστη μνήμη συστήματος που πρέπει να λάβουν υπόψη οι περισσοτέροι άνθρωποι. Για μεμονωμένους σταθμούς εργασίας, τα 16 GB είναι συνήθως υπεραρκετά. Ωστόσο, ακόμη και τα 16 GB μπορεί να είναι περιοριστικά για χρήστες που εκτελούν εφαρμογές παιχνιδιών, βίντεο ή ήχου υψηλής τεχνολογίας. Οι servers απαιτούν συχνά 128 GB ή ακόμα και 256 GB μνήμης για την αποτελεσματική υποστήριξη των φόρτου εργασίας των χρηστών.
Ως επί το πλείστον, το Linux επιτρέπει στους χρήστες να αντιμετωπίζουν τη μνήμη του συστήματος ως ένα μαύρο κουτί. Μια εφαρμογή ξεκινά και το Linux φροντίζει να εκχωρήσει την απαιτούμενη μνήμη συστήματος. Το Linux απελευθερώνει τη μνήμη για χρήση από άλλες εφαρμογές όταν ολοκληρωθεί μια εφαρμογή. Τι γίνεται όμως αν μια εφαρμογή απαιτεί περισσότερα από τη διαθέσιμη μνήμη συστήματος; Σε αυτήν την περίπτωση, το Linux μετακινεί τις αδρανείς εφαρμογές από τη μνήμη του συστήματος σε μια ειδική περιοχή δίσκου γνωστή ως χώρος swap. Το Linux μετακινεί τις αδρανείς εφαρμογές από το χώρο swap του δίσκου πίσω στη μνήμη του συστήματος όταν χρειάζεται να εκτελεστούν.
Συστήματα χωρίς αποκλειστικό υλικό βίντεο χρησιμοποιούν συχνά ένα τμήμα της μνήμης του συστήματος (συχνά 1 GB) για να λειτουργήσει ως χώρος αποθήκευσης οθόνης βίντεο. Αυτό μειώνει την αποτελεσματική μνήμη του συστήματος. Το αποκλειστικό υλικό βίντεο έχει συνήθως τη δική του ξεχωριστή μνήμη που δεν είναι διαθέσιμη ως μνήμη συστήματος.
Υπάρχουν διάφοροι τρόποι για να λάβετε πληροφορίες σχετικά με τη μνήμη του συστήματος. Ως χρήστης, η συνολική ποσότητα μνήμης που είναι διαθέσιμη και σε χρήση είναι συνήθως οι τιμές ενδιαφέροντος. Μια πηγή πληροφοριών θα ήταν να εκτελέσετε την εντολή free
μαζί με την παράμετρο -m
για να χρησιμοποιήσετε megabytes στην έξοδο:
$ free -m total used free shared buff/cache available Mem: 748 37 51 14 660 645 Swap: 99 0 99
Η πρώτη γραμμή καθορίζει τη συνολική μνήμη που είναι διαθέσιμη στο σύστημα (total
), τη μνήμη σε χρήση (used
) και την ελεύθερη μνήμη (free
). Η δεύτερη γραμμή εμφανίζει αυτές τις πληροφορίες για το χώρο swap. Η μνήμη που υποδεικνύεται ως shared
και buff/cache
χρησιμοποιείται αυτήν τη στιγμή για άλλες λειτουργίες του συστήματος, αν και το ποσό που υποδεικνύεται στο available
θα μπορούσε να χρησιμοποιηθεί για εφαρμογή.
Επεξεργαστές
Η λέξη “processor” [επεξεργαστής] υποδηλώνει ότι κάτι υποβάλλεται σε επεξεργασία. Στους υπολογιστές το μεγαλύτερο μέρος αυτής της επεξεργασίας αφορά ηλεκτρικά σήματα. Συνήθως αυτά τα σήματα αντιμετωπίζονται ως έχοντα μία από τις δυαδικές τιμές 1 ή 0.
Όταν οι άνθρωποι μιλούν για υπολογιστές χρησιμοποιούν συχνά τη λέξη επεξεργαστή χωρίς διάκριση με το ακρωνύμιο CPU (Κεντρική Μονάδα Επεξεργασίας) [Central Processing Unit]. Κάτι που δεν είναι τεχνικά σωστό. Κάθε υπολογιστής γενικής χρήσης έχει μια CPU που επεξεργάζεται τις δυαδικές εντολές που καθορίζονται από το λογισμικό. Επομένως, είναι κατανοητό ότι οι άνθρωποι δεν διακρίνουν μεταξύ επεξεργαστή και CPU. Ωστόσο, εκτός από μια CPU, οι σύγχρονοι υπολογιστές συχνά περιλαμβάνουν και άλλους επεξεργαστές ειδικών εργασιών. Ίσως ο πιο αναγνωρίσιμος πρόσθετος επεξεργαστής είναι μια GPU (Μονάδα Επεξεργασίας Γραφικών) [Graphical Processing Unit]. Έτσι, ενώ μια CPU είναι επεξεργαστής, δεν είναι όλοι οι επεξεργαστές CPU.
Για τους περισσότερους ανθρώπους η αρχιτεκτονική της CPU είναι μια αναφορά στις εντολές που υποστηρίζει ο επεξεργαστής. Παρόλο που η Intel και η AMD κατασκευάζουν επεξεργαστές που υποστηρίζουν τις ίδιες εντολές, είναι σημαντικό να γίνεται διαφοροποίηση ανά προμηθευτή λόγω των διαφορών στη συσκευασία, την απόδοση και την κατανάλωση ενέργειας από τον προμηθευτή. Οι διανομές λογισμικού χρησιμοποιούν συνήθως αυτές τις ονομασίες για να καθορίσουν το ελάχιστο σύνολο εντολών που απαιτούν για να λειτουργήσουν:
- i386
-
Αναφέρεται στο σύνολο εντολών 32-bit που σχετίζεται με το Intel 80386.
- x86
-
Συνήθως αναφέρεται στα σύνολα εντολών 32-bit που σχετίζονται με τους διαδόχους του 80386 όπως τα 80486, 80586 και Pentium.
- x64 / x86-64
-
Αναφορά σε επεξεργαστές που υποστηρίζουν τόσο τις εντολές 32-bit όσο και 64-bit της οικογένειας x86.
- AMD
-
Μια αναφορά στην υποστήριξη x86 από επεξεργαστές AMD.
- AMD64
-
Μια αναφορά στην υποστήριξη x64 από επεξεργαστές AMD.
- ARM
-
Αναφέρεται σε μια Μειωμένου Σύνολου Εντολών Υπολογιστή [Reduced Instruction Set Computer] (RISC) CPU που δεν βασίζεται στο σύνολο εντολών x86. Χρησιμοποιείται συνήθως από ενσωματωμένες, φορητές συσκευές, tablet και συσκευές που λειτουργούν με μπαταρία. Μια έκδοση του Linux για ARM χρησιμοποιείται από το Raspberry Pi.
Το αρχείο /proc/cpuinfo
περιέχει λεπτομερείς πληροφορίες σχετικά με τον επεξεργαστή ενός συστήματος. Δυστυχώς οι λεπτομέρειες δεν είναι φιλικές προς τους γενικούς χρήστες. Ένα πιο γενικό αποτέλεσμα μπορεί να ληφθεί με την εντολή lscpu
. Έξοδος από Raspberry Pi B+:
$ lscpu Architecture: armv7l Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-3 Thread(s) per core: 1 Core(s) per socket: 4 Socket(s): 1 Model: 4 Model name: ARMv7 Processor rev 4 (v7l) CPU max MHz: 1400.0000 CPU min MHz: 600.0000 BogoMIPS: 38.40 Flags: half thumb fastmult vfp edsp neon vfpv3 tls vfpv4 idiva idivt vfpd32 lpae evtstrm crc32
Για τους περισσότερους ανθρώπους, οι μυριάδες προμηθευτές, οικογένειες επεξεργαστών και παράγοντες προδιαγραφών αντιπροσωπεύουν μια συγκλονιστική σειρά επιλογών. Ανεξάρτητα από αυτό, υπάρχουν διάφοροι παράγοντες που σχετίζονται με τις CPU και τους επεξεργαστές που ακόμη και οι γενικοί χρήστες και οι διαχειριστές πρέπει συχνά να λαμβάνουν υπόψη όταν πρέπει να καθορίσουν λειτουργικά περιβάλλοντα:
- Μέγεθος bit
-
Για τις CPU, αυτός ο αριθμός σχετίζεται τόσο με το έμφυτο μέγεθος των δεδομένων που χειρίζεται όσο και με την ποσότητα της μνήμης στην οποία μπορεί να έχει πρόσβαση. Τα περισσότερα σύγχρονα συστήματα είναι είτε 32-bit είτε 64-bit. Εάν μια εφαρμογή χρειάζεται πρόσβαση σε περισσότερα από 4 gigabyte μνήμης, τότε πρέπει να εκτελείται σε σύστημα 64-bit, καθώς τα 4 gigabyte είναι η μέγιστη διεύθυνση που μπορεί να αναπαρασταθεί χρησιμοποιώντας 32 bit. Και, ενώ οι εφαρμογές 32-bit μπορούν συνήθως να εκτελούνται σε συστήματα 64-bit, οι εφαρμογές 64-bit δεν μπορούν να εκτελεστούν σε συστήματα 32-bit.
- Ταχύτητα ρολογιού
-
Συχνά εκφράζεται σε megahertz (MHz) ή gigahertz (GHz). Αυτό σχετίζεται με το πόσο γρήγορα ένας επεξεργαστής επεξεργάζεται τις εντολές. Αλλά η ταχύτητα του επεξεργαστή είναι μόνο ένας από τους παράγοντες που επηρεάζουν τους χρόνους απόκρισης του συστήματος, τους χρόνους αναμονής και την απόδοση. Ακόμη και ένας ενεργός χρήστης πολλαπλών εργασιών σπάνια διατηρεί ενεργή την CPU ενός κοινού επιτραπέζιου υπολογιστή περισσότερο από το 2 ή 3 τοις εκατό του χρόνου. Ανεξάρτητα από αυτό, εάν χρησιμοποιείτε συχνά εντατικές υπολογιστικά εφαρμογές που περιλαμβάνουν δραστηριότητες όπως κρυπτογράφηση ή απόδοση βίντεο, η ταχύτητα της CPU μπορεί να έχει σημαντικό αντίκτυπο στη διεκπεραίωση και στο χρόνο αναμονής.
- Κρυφή μνήμη [Cache]
-
Οι CPU απαιτούν μια συνεχή ροή εντολών και δεδομένων για να λειτουργήσουν. Το κόστος και η κατανάλωση ενέργειας μιας πολλών gigabyte μνήμης συστήματος που θα μπορούσε να προσπελαστεί με ταχύτητες ρολογιού της CPU θα ήταν απαγορευτικό. Η κρυφή μνήμη ταχύτητας CPU είναι ενσωματωμένη στο μικροκύκλωμα της CPU για να παρέχει μια προσωρινή αποθήκευση [buffer] υψηλής ταχύτητας μεταξύ των CPU και της μνήμης του συστήματος. Η κρυφή μνήμη διαχωρίζεται σε πολλαπλά επίπεδα, που συνήθως αναφέρονται ως L1, L2, L3 και ακόμη και L4. Στην περίπτωση της κρυφής μνήμης, το περισσότερο είναι συχνά καλύτερο.
- Πυρήνες
-
Ο πυρήνας αναφέρεται σε μια μεμονωμένη CPU. Εκτός από τον πυρήνα που αντιπροσωπεύει μια φυσική CPU, η Hyper-Threading Technology (HTT) επιτρέπει σε μια ενιαία φυσική CPU να επεξεργάζεται ταυτόχρονα πολλές εντολές, λειτουργώντας έτσι ουσιαστικά ως πολλαπλές φυσικές CPU. Συνήθως, πολλοί φυσικοί πυρήνες συσκευάζονται ως ένα ενιαίο φυσικό μικροκύκλωμα επεξεργαστή. Ωστόσο, υπάρχουν μητρικές που υποστηρίζουν πολλαπλά μικροκυκλώματα φυσικού επεξεργαστή. Θεωρητικά, η ύπαρξη περισσότερων πυρήνων για την επεξεργασία εργασιών φαίνεται να αποδίδει πάντα καλύτερη απόδοση του συστήματος. Δυστυχώς, οι εφαρμογές επιτραπέζιου υπολογιστή συχνά κρατούν τις CPU απασχολημένες μόνο στο 2 ή 3 τοις εκατό του χρόνου, επομένως η προσθήκη περισσότερων κυρίως αδρανών CPU είναι πιθανό να οδηγήσει σε ελάχιστη βελτίωση της απόδοσης. Περισσότεροι πυρήνες ταιριάζουν καλύτερα στην εκτέλεση εφαρμογών που είναι γραμμένες για να έχουν πολλαπλά ανεξάρτητα νήματα [threads] λειτουργίας, όπως απόδοση καρέ βίντεο, απόδοση ιστοσελίδων ή περιβάλλοντα virtual machine πολλών χρηστών.
Αποθήκευση
Οι συσκευές αποθήκευσης παρέχουν μια μέθοδο για τη διατήρηση προγραμμάτων και δεδομένων. Οι Σκληροί Δίσκοι [Hard Disk Drives ή HDD] και οι Δίσκοι Στερεάς Κατάστασης [Solid State Drives ή SSD] είναι η πιο κοινή μορφή συσκευής αποθήκευσης για servers και επιτραπέζιους υπολογιστές. Χρησιμοποιούνται επίσης μνήμες USB και οπτικές συσκευές όπως DVD, αλλά σπάνια ως κύρια συσκευή.
Όπως υποδηλώνει το όνομα, μια μονάδα σκληρού δίσκου αποθηκεύει πληροφορίες σε έναν ή περισσότερους άκαμπτους φυσικούς δίσκους. Οι φυσικοί δίσκοι καλύπτονται με μαγνητικά μέσα για να είναι δυνατή η αποθήκευση. Οι δίσκοι περιέχονται σε μια σφραγισμένη συσκευασία, καθώς η σκόνη, τα μικρά σωματίδια, ακόμη και τα δακτυλικά αποτυπώματα θα παρεμπόδιζαν την ικανότητα του σκληρού δίσκου να διαβάζει και να γράφει τα μαγνητικά μέσα.
Οι SSD είναι ουσιαστικά πιο εξελιγμένες εκδόσεις μνημών USB με σημαντικά μεγαλύτερη χωρητικότητα. Οι SSD αποθηκεύουν πληροφορίες σε μικροκυκλώματα, έτσι ώστε δεν υπάρχουν κινούμενα μέρη.
Αν και οι υποκείμενες τεχνολογίες για HDD και SSD είναι διαφορετικές, υπάρχουν σημαντικοί παράγοντες που μπορούν να συγκριθούν. Η χωρητικότητα του σκληρού δίσκου βασίζεται στην κλιμάκωση των φυσικών στοιχείων, ενώ η χωρητικότητα του SSD εξαρτάται από τον αριθμό των μικροκυκλωμάτων. Ανά gigabyte, οι SSD κοστίζουν μεταξύ 3 και 10 φορές από αυτό που κοστίζει ένας σκληρός δίσκος. Για να διαβάσει ή να γράψει, ένας σκληρός δίσκος πρέπει να περιμένει μια θέση σε έναν δίσκο για να περιστραφεί σε μια γνωστή θέση, ενώ οι SSD είναι τυχαίας πρόσβασης. Οι ταχύτητες πρόσβασης SSD είναι συνήθως 3 έως 5 φορές μεγαλύτερες από τις συσκευές HDD. Δεδομένου ότι δεν έχουν κινούμενα μέρη, οι SSD καταναλώνουν λιγότερη ενέργεια και είναι πιο αξιόπιστοι από τους σκληρούς δίσκους.
Η χωρητικότητα αποθήκευσης αυξάνεται συνεχώς για HDD και SSD. Σήμερα, διατίθενται συνήθως σκληροί δίσκοι 5 terabyte και SSD 1 terabyte. Ανεξάρτητα από αυτό, η μεγάλη χωρητικότητα αποθήκευσης δεν είναι πάντα καλύτερη. Όταν μια συσκευή αποθήκευσης αποτύχει, οι πληροφορίες που περιείχε δεν είναι πλέον διαθέσιμες. Και φυσικά, η δημιουργία αντιγράφων ασφαλείας διαρκεί περισσότερο όταν υπάρχουν περισσότερες πληροφορίες για δημιουργία αυτών των αντιγράφων. Για εφαρμογές που διαβάζουν και γράφουν πολλά δεδομένα, η καθυστέρηση και η απόδοση μπορεί να είναι πιο σημαντικά από τη χωρητικότητα.
Τα σύγχρονα συστήματα χρησιμοποιούν SCSI (Small Computer System Interface) ή SATA (Serial AT Attachment) για σύνδεση με συσκευές αποθήκευσης. Αυτές οι διεπαφές συνήθως υποστηρίζονται από την κατάλληλη υποδοχή στη μητρική πλακέτα. Η αρχική φόρτωση προέρχεται από μια συσκευή αποθήκευσης συνδεδεμένη στη μητρική πλακέτα. Οι ρυθμίσεις firmware καθορίζουν τη σειρά με την οποία γίνεται η πρόσβαση στις συσκευές για αυτήν την αρχική φόρτωση.
Τα συστήματα αποθήκευσης γνωστά ως RAID (Redundant Array of Independent Disks) είναι μια κοινή εφαρμογή για την αποφυγή απώλειας πληροφοριών. Μια συστοιχία RAID αποτελείται από πολλές φυσικές συσκευές που περιέχουν διπλότυπα αντίγραφα πληροφοριών. Εάν μια συσκευή αποτύχει, όλες οι πληροφορίες εξακολουθούν να είναι διαθέσιμες. Οι διαφορετικές φυσικές παραμετροποιήσεις RAID αναφέρονται ως 0, 1, 5, 6 και 10. Κάθε χαρακτηρισμός έχει διαφορετικό μέγεθος αποθήκευσης, χαρακτηριστικά απόδοσης και τρόπους αποθήκευσης περιττών δεδομένων ή αθροισμάτων ελέγχου για ανάκτηση δεδομένων. Πέρα από ορισμένες διαχειριστικές ρυθμίσεις παραμέτρων, η ύπαρξη RAID είναι ουσιαστικά διαφανής στους χρήστες.
Οι συσκευές αποθήκευσης συνήθως διαβάζουν και γράφουν δεδομένα ως τμήματα [blocks] απο byte. Η εντολή lsblk
μπορεί να χρησιμοποιηθεί για τη λίστα των συσκευών block που είναι διαθέσιμες σε ένα σύστημα. Το ακόλουθο παράδειγμα εκτελέστηκε σε ένα Raspberry Pi χρησιμοποιώντας μια κάρτα SD ως συσκευή αποθήκευσης. Οι λεπτομέρειες του αποτελέσματος καλύπτονται από πληροφορίες στα μαθήματα Partitions και Οδηγοί που ακολουθούν:
$ lsblk NAME MAJ:MIN RM SIZE RO TYPE MOUNTPOINT mmcblk0 179:0 0 29.7G 0 disk +-mmcblk0p1 179:1 0 43.9M 0 part /boot +-mmcblk0p2 179:2 0 29.7G 0 part /
Partitions
Μια συσκευή αποθήκευσης είναι ουσιαστικά μια μακρά ακολουθία τοποθεσιών αποθήκευσης. Το partitioning [διαμερισμός] είναι ο μηχανισμός που λέει στο Linux εάν πρόκειται να δει αυτές τις θέσεις αποθήκευσης ως μια ενιαία ακολουθία ή πολλές ανεξάρτητες ακολουθίες. Κάθε partition αντιμετωπίζεται σαν να είναι μια μεμονωμένη συσκευή. Τις περισσότερες φορές, τα partitions δημιουργούνται όταν ένα σύστημα πραγματοποιείται για πρώτη φορά. Εάν απαιτείται αλλαγή, υπάρχουν διαθέσιμα εργαλεία διαχείρισης για το partitioning των συσκευών.
Γιατί λοιπόν θα ήταν επιθυμητά πολλαπλά partitions; Μερικά παραδείγματα για τη χρήση partitions θα ήταν η διαχείριση του διαθέσιμου αποθηκευτικού χώρου, η απομόνωση της επιβάρυνσης απο κρυπτογράφηση ή η υποστήριξη πολλαπλών συστημάτων αρχείων. Τα partitions καθιστούν δυνατή την ύπαρξη μιας ενιαίας συσκευής αποθήκευσης που μπορεί να εκκινήσει σε διαφορετικά λειτουργικά συστήματα.
Ενώ το Linux μπορεί να αναγνωρίσει την ακολουθία αποθήκευσης μιας ανεπεξέργαστης συσκευής, μια ανεπεξέργαστη συσκευή δεν μπορεί να χρησιμοποιηθεί ως έχει. Για να χρησιμοποιήσετε μια ανεπεξέργαστη συσκευή αυτή πρέπει να διαμορφωθεί. Η διαμόρφωση εγγράφει ένα σύστημα αρχείων σε μια συσκευή και την προετοιμάζει για λειτουργίες αρχείων. Χωρίς σύστημα αρχείων, μια συσκευή δεν μπορεί να χρησιμοποιηθεί για λειτουργίες που σχετίζονται με αρχεία.
Οι χρήστες βλέπουν τα partitions σαν να είναι μεμονωμένες συσκευές. Αυτό καθιστά εύκολο να παραβλέψουμε το γεγονός ότι εξακολουθούν να έχουν να κάνουν με μια ενιαία φυσική συσκευή. Συγκεκριμένα, λειτουργίες από συσκευή σε συσκευή που είναι στην πραγματικότητα λειτουργίες απο partition σε partition δεν θα έχουν την αναμενόμενη απόδοση. Μια μεμονωμένη συσκευή είναι ένας φυσικός μηχανισμός με ένα σύνολο υλικού ανάγνωσης/εγγραφής. Το πιο σημαντικό, δεν μπορείτε να χρησιμοποιήσετε τα partitions μιας μεμονωμένης φυσικής συσκευής ως σχεδίαση ανοχής σε σφάλματα. Εάν η συσκευή αποτύχει, όλες τα partitions αποτυγχάνουν, επομένως δεν θα υπάρχει ανοχή σφαλμάτων.
Note
|
Το Logical Volume Manager (LVM) είναι μια δυνατότητα λογισμικού που επιτρέπει στους διαχειριστές να συνδυάζουν μεμονωμένους δίσκους και partitions δίσκων και να τους αντιμετωπίζουν σαν να είναι μια ενιαία μονάδα δίσκου. |
Περιφερειακά
Οι servers και οι σταθμοί εργασίας χρειάζονται έναν συνδυασμό CPU, μνήμης συστήματος και αποθήκευσης για να λειτουργήσουν. Αλλά αυτά τα θεμελιώδη στοιχεία δεν συνδέονται άμεσα με τον εξωτερικό κόσμο. Τα περιφερειακά είναι οι συσκευές που παρέχουν στα συστήματα είσοδο, έξοδο και πρόσβαση στον υπόλοιπο πραγματικό κόσμο.
Οι περισσότερες μητρικές έχουν ενσωματωμένες εξωτερικές υποδοχές και υποστήριξη firmware για κοινές περιφερειακές διεπαφές παλαιού τύπου που υποστηρίζουν συσκευές όπως πληκτρολόγιο, ποντίκι, ήχος, βίντεο και δίκτυο. Οι πρόσφατες μητρικές έχουν συνήθως μια υποδοχή Ethernet για υποστήριξη δικτύων, μια υποδοχή HDMI που υποστηρίζει βασικές ανάγκες γραφικών και μια ή περισσότερες υποδοχές USB (Universal Serial Bus) για οτιδήποτε άλλο. Υπάρχουν πολλές εκδόσεις USB με διαφορετική ταχύτητα και φυσικά χαρακτηριστικά. Πολλές εκδόσεις θυρών USB είναι κάτι κοινό σε μία μόνο μητρική πλακέτα.
Οι μητρικές μπορεί επίσης να έχουν μία ή περισσότερες υποδοχές επέκτασης. Οι υποδοχές επέκτασης επιτρέπουν στους χρήστες να προσθέτουν ειδικές πλακέτες κυκλωμάτων γνωστές ως κάρτες επέκτασης που υποστηρίζουν προσαρμοσμένα, παλαιού τύπου και μη τυπικά περιφερειακά. Τα γραφικά, ο ήχος και οι διεπαφές δικτύου είναι κοινές κάρτες επέκτασης. Οι κάρτες επέκτασης υποστηρίζουν επίσης RAID και διασυνδέσεις παλαιού τύπου ειδικής μορφής που περιλαμβάνουν σειριακές και παράλληλες συνδέσεις.
Οι παραμετροποίησεις System on a Chip (SoC) επιτυγχάνουν πλεονεκτήματα ισχύος, απόδοσης, χώρου και αξιοπιστίας σε σχέση με τις παραμετροποίησεις μητρικής πλακέτας με το να εμπεριέχουν επεξεργαστές, μνήμη συστήματος, SSD και υλικού για τον έλεγχο των περιφερειακών ως ενιαίο πακέτο ολοκληρωμένου κυκλώματος. Τα περιφερειακά που υποστηρίζονται από παραμετροποίησεις SoC περιορίζονται από τα συσκευασμένα στοιχεία. Έτσι, οι παραμετροποίησεις SoC τείνουν να αναπτύσσονται για συγκεκριμένες χρήσεις. Τα τηλέφωνα, τα tablet και άλλες φορητές συσκευές βασίζονται συχνά στην τεχνολογία SoC.
Ορισμένα συστήματα ενσωματώνουν περιφερειακά. Οι φορητοί υπολογιστές είναι παρόμοιοι με τους σταθμούς εργασίας, αλλά ενσωματώνουν προεπιλεγμένα περιφερειακά οθόνης, πληκτρολογίου και ποντικιού. Τα συστήματα Όλα σε Ένα είναι παρόμοια με τους φορητούς υπολογιστές αλλά απαιτούν περιφερειακά ποντικιού και πληκτρολογίου. Οι ελεγκτές που βασίζονται σε μητρική πλακέτα ή SoC συχνά συσκευάζονται με ενσωματωμένα περιφερειακά κατάλληλα για μια συγκεκριμένη χρήση.
Οδηγοί και Αρχεία Συσκευής
Μέχρι στιγμής, αυτό το μάθημα έχει παρουσιάσει πληροφορίες σχετικά με επεξεργαστές, μνήμη, δίσκους, partitioning, διαμόρφωση και περιφερειακά. Ωστόσο, η απαίτηση από τους γενικούς χρήστες να ασχοληθούν με τις συγκεκριμένες λεπτομέρειες για καθεμία από τις συσκευές στο σύστημά τους θα καθιστούσε αυτά τα συστήματα άχρηστα. Ομοίως, οι προγραμματιστές λογισμικού θα πρέπει να τροποποιήσουν τον κώδικά τους για κάθε νέα ή τροποποιημένη συσκευή που πρέπει να υποστηρίξουν.
Η λύση σε αυτό το πρόβλημα της “αντιμετώπισης των λεπτομερειών” παρέχεται από ένα πρόγραμμα οδηγού συσκευής. Τα προγράμματα οδηγών συσκευών αποδέχονται ένα τυπικό σύνολο αιτημάτων και στη συνέχεια μεταφράζουν αυτά τα αιτήματα στις κατάλληλες δραστηριότητες ελέγχου της συσκευής. Τα προγράμματα οδηγών συσκευών είναι αυτά που επιτρέπουν σε εσάς και τις εφαρμογές που εκτελείτε να διαβάζετε από το αρχείο /home/carol/stuff
χωρίς να ανησυχείτε για το αν αυτό το αρχείο βρίσκεται σε σκληρό δίσκο, μονάδα SSD, συσκευή μνήμης, κρυπτογραφημένο χώρο αποθήκευσης ή κάποια άλλη συσκευή .
Τα αρχεία συσκευής βρίσκονται στον κατάλογο /dev
και προσδιορίζουν τις φυσικές συσκευές, την πρόσβαση στη συσκευή και τα υποστηριζόμενα προγράμματα οδηγών. Κατά σύμβαση, στα σύγχρονα συστήματα που χρησιμοποιούν συσκευές αποθήκευσης που βασίζονται σε SCSI ή SATA, το όνομα αρχείου προδιαγραφών ξεκινά με το πρόθεμα sd
. Το πρόθεμα ακολουθείται από ένα γράμμα όπως a
ή b
που υποδεικνύει μια φυσική συσκευή. Μετά το πρόθεμα και το αναγνωριστικό συσκευής έρχεται ένας αριθμός που υποδεικνύει ένα partition στη φυσική συσκευή. Έτσι, το /dev/sda
θα αναφέρεται σε ολόκληρη την πρώτη συσκευή αποθήκευσης ενώ το /dev/sda3
θα αναφέρεται στο partition 3 στην πρώτη συσκευή αποθήκευσης. Το αρχείο συσκευής για κάθε τύπο συσκευής έχει μια σύμβαση ονομασίας κατάλληλη για τη συσκευή. Αν και η κάλυψη όλων των πιθανών συμβάσεων ονομασίας είναι πέρα από το πεδίο αυτού του μαθήματος, είναι σημαντικό να θυμόμαστε ότι αυτές οι συμβάσεις είναι κρίσιμες για να καταστεί δυνατή η διαχείριση του συστήματος.
Αν και είναι πέρα από το πεδίο αυτού του μαθήματος η κάλυψη των περιεχομένων του καταλόγου /dev
, είναι κατατοπιστικό να κοιτάξετε την καταχώρηση για μια συσκευή αποθήκευσης. Τα αρχεία συσκευής για κάρτες SD χρησιμοποιούν συνήθως το mmcblk
ως πρόθεμα:
$ ls -l mmcblk* brw-rw---- 1 root disk 179, 0 Jun 30 01:17 mmcblk0 brw-rw---- 1 root disk 179, 1 Jun 30 01:17 mmcblk0p1 brw-rw---- 1 root disk 179, 2 Jun 30 01:17 mmcblk0p2
Οι λεπτομέρειες της λίστας για ένα αρχείο συσκευής διαφέρουν από τις τυπικές λεπτομέρειες αρχείου:
-
Σε αντίθεση με ένα αρχείο ή κατάλογο, το πρώτο γράμμα του πεδίου δικαιωμάτων είναι
b
. Αυτό υποδηλώνει ότι τα bytes διαβάζονται από και γράφονται στη συσκευή σε τμήματα και όχι σε μεμονωμένους χαρακτήρες. -
Το πεδίο μεγέθους είναι δύο τιμές που χωρίζονται με κόμμα και όχι με μία τιμή. Η πρώτη τιμή υποδεικνύει γενικά ένα συγκεκριμένο πρόγραμμα οδηγό εντός του πυρήνα και η δεύτερη τιμή καθορίζει μια συγκεκριμένη συσκευή που χειρίζεται το πρόγραμμα οδηγός.
-
Το όνομα αρχείου χρησιμοποιεί έναν αριθμό για τη φυσική συσκευή, επομένως η σύμβαση ονομασίας προσαρμόζεται καθορίζοντας το suffix του partition ως
p
ακολουθούμενο από ένα ψηφίο.
Note
|
Κάθε συσκευή συστήματος θα πρέπει να έχει μια καταχώρηση στο |
Καθοδηγούμενες Ασκήσεις
-
Περιγράψτε αυτούς τους όρους:
Επεξεργαστής
CPU
GPU
-
Εάν εκτελείτε κυρίως εφαρμογές επεξεργασίας βίντεο (μια δραστηριότητα εντατική υπολογιστικά) ποια στοιχεία και χαρακτηριστικά θα περιμένατε να έχουν τον μεγαλύτερο αντίκτυπο στη χρηστικότητα του συστήματος:
Πυρήνες CPU
Ταχύτητα CPU
Διαθέσιμη μνήμη συστήματος
Σύστημα αποθήκευσης
GPU
Οθόνη βίντεο
Κανένα από τα παραπάνω
-
Ποιο θα περιμένατε να είναι το όνομα του αρχείου συσκευής στο
/dev
για το partition 3 της τρίτης μονάδας δίσκου SATA σε ένα σύστημα:sd3p3
sdcp3
sdc3
Κανένα από τα παραπάνω
Ασκήσεις Εξερεύνησης
-
Εκτελέστε την εντολή
lsblk
στο σύστημά σας. Προσδιορίστε τις παρακάτω παραμέτρους. Εάν ένα σύστημα δεν είναι άμεσα διαθέσιμο, εξετάστε τη λίσταlsblk -f
για το σύστημα Raspberry Pi που αναφέρεται στην ενότητα “Αποθήκευση” παραπάνω:$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT mmcblk0 +-mmcblk0p1 vfat boot 9304-D9FD /boot +-mmcblk0p2 ext4 rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /
-
Το είδος των συσκευών και πόσες
-
Τη δομή των partitions κάθε συσκευής
-
Τον τύπο του συστήματος αρχείων και το σημείο προσάρτησης για κάθε partition
-
Σύνοψη
Ένα σύστημα είναι το άθροισμα των συστατικών του. Διαφορετικά εξαρτήματα επηρεάζουν το κόστος, την απόδοση και τη χρηστικότητα με διαφορετικούς τρόπους. Ενώ υπάρχουν κοινές παραμετροποίησεις για σταθμούς εργασίας και servers, δεν υπάρχει μία και μόνο καλύτερη παραμετροποίηση.
Απαντήσεις στις Καθοδηγούμενες Ασκήσεις
-
Περιγράψτε αυτούς τους όρους:
- Επεξεργαστής
-
Γενικός όρος που ισχύει για κάθε τύπο επεξεργαστή. Συχνά χρησιμοποιείται λανθασμένα ως συνώνυμο του CPU.
- CPU
-
Μια Κεντρική Μονάδα Επεξεργασίας. Μια μονάδα επεξεργασίας που παρέχει υποστήριξη για υπολογιστικές εργασίες γενικού σκοπού.
- GPU
-
Μια Μονάδα Επεξεργασίας Γραφικών. Μια μονάδα επεξεργασίας βελτιστοποιημένη για υποστήριξη δραστηριοτήτων που σχετίζονται με την παρουσίαση γραφικών.
-
Εάν εκτελείτε κυρίως εφαρμογές επεξεργασίας βίντεο (μια δραστηριότητα εντατική υπολογιστικά) ποια στοιχεία και χαρακτηριστικά θα περιμένατε να έχουν τον μεγαλύτερο αντίκτυπο στη χρηστικότητα του συστήματος:
- Πυρήνες CPU
-
Ναι. Πολλαπλοί πυρήνες υποστηρίζουν τις ταυτόχρονες εργασίες παρουσίασης και απόδοσης που απαιτούνται από την επεξεργασία βίντεο.
- Ταχύτητα CPU
-
Ναι. Η απόδοση βίντεο απαιτεί σημαντικό όγκο υπολογιστικής δραστηριότητας.
- Διαθέσιμη μνήμη συστήματος
-
Πιθανό. Το ασυμπίεστο βίντεο που χρησιμοποιείται στην επεξεργασία είναι μεγάλο. Τα συστήματα γενικής χρήσης συχνά συνοδεύονται από 8 gigabyte μνήμης. Η μνήμη 16 ή και 32 gigabyte επιτρέπει στο σύστημα να χειρίζεται περισσότερα καρέ ασυμπίεστου βίντεο, κάνοντας τις δραστηριότητες επεξεργασίας πιο αποτελεσματικές.
- Σύστημα αποθήκευσης
-
Ναι. Τα αρχεία βίντεο είναι μεγάλα. Οι τοπικές μονάδες SSD υποστηρίζουν πιο αποτελεσματική μεταφορά. Οι πιο αργές μονάδες δίσκου δικτύου είναι πιθανό να είναι αντιπαραγωγικές.
- GPU
-
Όχι. Η GPU επηρεάζει κυρίως την παρουσίαση του βίντεο που αποδίδεται.
- Οθόνη βίντεο
-
Όχι. Η οθόνη βίντεο επηρεάζει κυρίως την παρουσίαση του βίντεο που αποδίδεται.
- Κανένα από τα παραπάνω
-
Όχι. Ορισμένοι από αυτούς τους παράγοντες έχουν προφανείς επιπτώσεις στο πόσο εύχρηστο θα ήταν το σύστημά σας.
-
Ποιο θα περιμένατε να είναι το όνομα του αρχείου συσκευής στο
/dev
για το partition 3 της τρίτης μονάδας δίσκου SATA σε ένα σύστημα:sd3p3
Λάθος. Ο δίσκος 3 θα ήταν
sdc
όχιsd3
.sdcp3
Λάθος. Το partition 3 θα ήταν
3
όχιp3
.sdc3
Σωστό
Κανένα από τα παραπάνω
Λάθος. Η σωστή απάντηση είναι μια από τις επιλογές.
Απαντήσεις στις Ασκήσεις Εξερεύνησης
-
Εκτελέστε την εντολή
lsblk
στο σύστημά σας. Προσδιορίστε τις παρακάτω παραμέτρους. Εάν ένα σύστημα δεν είναι άμεσα διαθέσιμο, εξετάστε τη λίσταlsblk -f
για το σύστημα Raspberry Pi που αναφέρεται στην ενότητα “Αποθήκευση” παραπάνω:$ lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT mmcblk0 +-mmcblk0p1 vfat boot 9304-D9FD /boot +-mmcblk0p2 ext4 rootfs 29075e46-f0d4-44e2-a9e7-55ac02d6e6cc /
Οι απαντήσεις που ακολουθούν βασίζονται στη λίστα
lsblk -f
για το σύστημα Raspberry Pi παραπάνω. Οι απαντήσεις σας μπορεί να διαφέρουν:- Το είδος των συσκευών και πόσες
-
Υπάρχει μία συσκευή:
mmcblk0
. Ξέρετε κατά συνθήκη ότι ηmmcblk
θα ήταν μια κάρτα μνήμης SD. - Τη δομή των partitions κάθε συσκευής
-
Υπάρχουν δύο partitions:
mmcblk0p1
καιmmcblk0p2
. - Τον τύπο του συστήματος αρχείων και το σημείο προσάρτησης για κάθε partition
-
Το partition 1 χρησιμοποιεί το σύστημα αρχείων
vfat
. Χρησιμοποιείται για την εκκίνηση του συστήματος και προσαρτάται ως/boot
. Το partition 2 χρησιμοποιεί το σύστημα αρχείωνext4
. Χρησιμοποιείται ως το κύριο σύστημα αρχείων και είναι προσαρτημένο ως/
.