Πρώτο commit
Αυτό το commit περιλαμβάνεται σε:
commit
8ec8e9bee2
451 αρχεία άλλαξαν με 46736 προσθήκες και 0 διαγραφές
388
content/articles/26/04_kernel24.md
Κανονικό αρχείο
388
content/articles/26/04_kernel24.md
Κανονικό αρχείο
|
@ -0,0 +1,388 @@
|
|||
+++
|
||||
title = 'O ΥΠΕΡΟΧΟΣ ΚΟΣΜΟΣ ΤΟΥ LINUX 2.4'
|
||||
date = '0000-09-01T00:00:00Z'
|
||||
description = ''
|
||||
author = 'Θέμης Παπασσιλέκας(mailto:panzer@finecon.gr)'
|
||||
issue = ['Magaz 26']
|
||||
issue_weight = 4
|
||||
+++
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
*Μια εισαγωγή στον μαγικό κόσμο του καινούριου μας πυρήνα*
|
||||
|
||||
----------------------------------------------------------------------------------------------------------------------------------------------------------------
|
||||
|
||||
Εν αρχή ήταν ο Linus και ο 386 του. Για λόγους πολύ περίπλοκους για να αναλυθούν εδώ, αποφάσισε να μη χρησιμοποιήσει το κοινώς διαθέσιμο λειτουργικό σύστημα της
|
||||
εποχής και αποφάσισε να γράψει το δικό του. Κάμποσα χρόνια και πολλές χιλιάδες γραμμές κώδικα αργότερα, κυκλοφόρησε το Linux 2.2 το οποίο ήταν ένα ορόσημο από
|
||||
μόνο του. Ευτυχώς για τον κόσμο, ο Linus (και η παρέα του) συνέχισαν να πειράζουν το Linux και η έκδοση 2.4 του πυρήνα του είναι σχεδόν έτοιμη. Αυτό το κείμενο
|
||||
περιγράφει κάποια από τα νέα χαρακτηριστικά στον 2.4, βασιζόμενο στον 2.3.99-pre3.
|
||||
|
||||
Αντίθετα με τις ανακοινώσεις προ της εκδόσεως καποιων άλλων λειτουργικών συστημάτων, τα χαρακτηριστικά που περιγράφονται εδώ υπάρχουν ήδη στον πυρήνα 2.3
|
||||
(developers), αν και πιθανόν να μην είναι όλα τελείως σταθερά και κάποια μπορεί να χαρακτηρίζονται \"πειραματικά\" στην έκδοση 2.4. Καθώς το Linux είναι πιστό
|
||||
στην φιλοσοφία του Open Source, τα χαρακτηριστικά προστίθενται από ανεξάρτητους προγραμματιστές καθώς ανακαλύπτουν μία συγκεκριμένη ανάγκη ή ένα λάθος στον
|
||||
υπάρχοντα κώδικα. Αυτές οι αλλαγές ελέγχονται από τον Linux και τους βοηθούς του, και αυτή η διαδικασία φιλτραρίσματος είναι που κρατάει το Linux συνεκτικό
|
||||
ακόμα και με αυτή την τεράστια βάση ανάπτυξής του.
|
||||
|
||||
Ακόμα, στο πνεύμα του κινήματος **Open Source**, τα προϊόντα εκδίδονται \"όταν είναι έτοιμα\" και γενικά δεν έχουν προανακοινωμένες ημερομηνίες διάθεσης. Προς
|
||||
το παρόν το Linux 2.3 βρίσκεται στην τελικά φάση προ-έκδοσης και δεν θα αλλάξει πολύ εκτός από κάποιες διορθώσεις. Περιμένουμε το Linux 2.4 σε έναν-δύο μήνες
|
||||
και σε μερικούς μήνες από τότε οι διανομές θα το ενσωματώσουν στα πακέτα τους. Μένει να ειδωθεί πόσα από τα νέα χαρακτηριστικά θα διαλέξουν να υποστηρίξουν
|
||||
οιδιανομές εξ\' αρχής. Η υποστήριξη για DevFS και LVM, ειδικά, θα είναι ένα μείζον θέμα για τις μελλοντικές διανομές.
|
||||
|
||||
Σε αυτό το κείμενο γίνεται προσπάθεια επικέντρωσης στις περιοχές που το Linux 2.4 δεν είναι συμβατό με το Linux 2.2. Να θυμάστε ότι τα binary modules σίγουρα
|
||||
δεν θα δουλεύουν, καθώς πολλές εσωτερικές δομές έχουν αλλάξει. Η μορφή κάποιων αρχείων στο /proc επίσης έχουν αλλάξει. Τα ονόματα σχεδόν όλων των αρχείων στο
|
||||
/dev έχουν αλλαχθεί, αλλά παρέχονται συμβατά ονόματα. Οι περισσότερες εφαρμογές ούτε που θα καταλάβουν τις αλλαγές. (Οι low-level εφαρμογές , όπως ο δαίμονας
|
||||
ppp, ή άλλα προγράμματα που βασίζονται σε στενή επαφή με τον πυρήνα πιθανότατα δεν θα είναι 100% συμβατά μεταξύ μεγάλων αλλαγών του πυρήνα). Αν σας αρέσει να
|
||||
ενημερώνετε τη διανομή σας με το χέρι, να διαβάσετε οπωσδήποτε το αρχείο CHANGES και να ενημερώσετε όποια πακέτα χρειάζεται πριν να υποβάλετε αναφορά για λάθη.
|
||||
|
||||
**1. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ LINUX 2.4**
|
||||
--------------------------------------------------------------
|
||||
|
||||
- [1.1 LINUX 2.4 KAI ia64](#ss1.1)
|
||||
- [1.2 LINUX 2.4 KAI CRUSOE](#ss1.2)
|
||||
- [1.3 LINUX 2.4 KAI ΠΡΟ-386](#ss1.3)
|
||||
- [1.4 TA ΕΣΩΤΕΡΑ ΤΟΥ LINUX](#ss1.4)
|
||||
- [1.5 ΥΠΟΣΤΗΡΙΞΗ ΥΛΙΚΟΥ - /dev/\*](#ss1.5)
|
||||
- [1.6 ΔΙΑΥΛΟΙ - ISA, PCI, USB, MCA κτλ](#ss1.6)
|
||||
- [1.7 Block Devices - LVM, Disk Drives, κλπ.](#ss1.7)
|
||||
- [1.8 Συστήματα αρχείων και πίνακες κατατμήσεων](#ss1.8)
|
||||
- [1.9 Συσκευές Χαρακτήρων - Πληκτρολόγια, Ποντίκια, Κονσόλες και Θύρες](#ss1.9)
|
||||
- [1.10 Πολυμέσα: Ήχος, Τηεόραση, Ραδιόφωνο κλπ](#ss1.10)
|
||||
- [1.11 Κάρτες Video και συσκευές Framebuffer](#ss1.11)
|
||||
- [1.12 Προσιτότητα - accessibility](#ss1.12)
|
||||
- [1.13 Δικτύωση και πρωτόκολλα](#ss1.13)
|
||||
- [1.14 Binary Types](#ss1.14)
|
||||
- [1.15 O Kernel Web Daemon](#ss1.15)
|
||||
- [1.16 Κρυπτογραφία στον Πυρήνα](#ss1.16)
|
||||
|
||||
|
||||
### [1. ΧΑΡΑΚΤΗΡΙΣΤΙΚΑ ΤΟΥ LINUX 2.4]{#s1}
|
||||
|
||||
Σε όρους γραμμών κώδικα, ο πυρήνας του Linux είναι κυρίως οδηγοί. Πραγματικά, το μέγεθος της καρδιάς του Linux δεν έχει μεγαλώσει πολύ κατά τις τελευταίες
|
||||
ανανεώσεις. Κάποιοι από αυτούς τους οδηγούς είναι ανεξάρτητοι αρχιτεκτονικής, όπως ο οδηγός ΙDE. Αυτό σημαίνει πως αυτοί έχουν γραφτεί για να δουλεύουν σε
|
||||
διάφορες πλατφόρμες. 'λλοι οδηγοί εξαρτώνται από μία συγκεκριμένη αρχιτεκτονική. Για παράδειγμα, ο οδηγός ποντικιού **ADB** (Apple Desktop Bus) δεν μπορεί να
|
||||
δουλέψει στην πλατφόρμα i386 και έτσι δεν υποστηρίζεται. Οι προγραμματιστές του πυρήνα του Linux πασχίζουν για να φτιάξουν οδηγούς όσο γενικούς γίνεται, έτσι
|
||||
ώστε να είναι δυνατόν να ξαναχρησιμοποιηθούν με μικρή προσπάθεια σε άλλες πλατφόρμες αν κάποιο εξάρτημα είναι διαθέσιμο. Το Linux είναι ένα πολυκέφαλο θηρίο με
|
||||
πρόσωπα παρόμοια αλλά διαφορετικά το ένα από το άλλο, ανάλογα με την πλατφόρμα που χρησιμοποιούμε.
|
||||
|
||||
Αυτό το κείμενο θα ασχοληθεί με υλικό Ιntel. Παρ\' ότι δεν θα μπει σε λεπτομέρειες για κάθε μεταφορά του Linux, θα πρέπει να αναφερθεί πως το Linux 2.4 θα
|
||||
υποστηρίζει κάποιες νέες πλατφόρμες: i64 (Itanium), S/390 και SuperH. H υποστήριξη αυτή θα ωριμάσει με το χρόνο, όπως έγινε και με το Linux για άλλες
|
||||
πλατφόρμες. Τα ακριβή χαρακτηριστικά διαφέρουν από πλατφόρμα σε πλατφόρμα και κάποιοι περιορισμοί του υλικού, μνήμης κλπ θα διαφέρουν ανάλογα με την
|
||||
αρχιτεκτονική.
|
||||
|
||||
Σε ό,τι αφορά στο Linux 2.4 για Intel, αυτό είναι πολύ παρόμοιο σε υποστήριξη με το Linux2.2. Όλα τα chips της Intel από τον 386 υποστηρίζονται ακόμα, μέχρι τον
|
||||
Pentium III. Συμβατά chips όπως αυτά της AMD ή της Cyrix επίσης υποστηρίζονται. Επιπλέον, το Linux 2.4 θα περιλαμβάνει υποστήριξη για άλλο υλικό συχνά παρόν σε
|
||||
πιο καινούργια chips συμπεριλαμβανομένων ποικιλιών **MTRRs (Memory Type Range Registers, επίσης MCRs)** μή-Intel που θα βελτιώσουν την απόδοση σε κάποιες
|
||||
συσκευές μεγάλου εύρους. Ενώ το Linux 2.2 είχε υποστήριξη για **IO-APIC (Advanced Programmable Interrupt Controller)** σε συστήματα πολλαπλών επεξεργαστών, το
|
||||
Linux 2.4 θα παρέχει την ίδια υποστήριξη και σε συστήματα ενός επεξεργαστή κι επίσης θα υποστηρίζει μηχανήματα με πολλαπλούς ΙΟ-ΑPICs. Η υποστήριξη για
|
||||
πολλαπλούς IO-APICs θα επιτρέψει στο Linux 2.4 να προσαρμόζεται (scale) πολύ καλύτερα σε μηχανήματα υψηλών αποδόσεων απ΄ότι πριν.
|
||||
|
||||
### [1.1 LINUX 2.4 KAI ia64]{#ss1.1}
|
||||
|
||||
Αν και δεν έχει ακόμα παραδοθεί στις ανυπομονούσες μάζες, ο 64μπιτος αντικαταστάτης της Intel για τη σειρά των x86 έρχεται. Αν και δεν υπάρχει πραγματικό υλικό
|
||||
ακόμα, στην έκδοση του πυρήνα έχει συμπεριληφθεί υποστήριξη (με patches) γι αυτό το chip και τους διαδόχους του. Η διαδικασία της μεταφοράς απλουστεύτηκε
|
||||
σίγουρα με την υπάρχουσα υποστήριξη του Linux για 64μπιτους επεξεργαστές (συμπεριλαμβανομένων του **Alpha** της Compaq και του **Sparc64**).
|
||||
|
||||
### [1.2 LINUX 2.4 KAI CRUSOE]{#ss1.2}
|
||||
|
||||
Καθώς ο Linus δουλεύει στην **Transmetta**, ο Crusoe θα υποστηρίζει οπωσδήποτε το Linux όταν βγουν τα πρώτα προϊόντα Crusoe στην αγορά. Στην πραγματικότητα, το
|
||||
Linux στον Crusoe έχει ήδη επιδειχθεί και μάλιστα πειστικά χρησιμοποιώντας το τεστ του Quake (πιθανώς το πιο σημαντικό τεστ για κάθε νέο επεξεργαστή). Καθώς ο
|
||||
Crusoe προσομοιώνει τους i386 δεν θα υπάρξει ειδική μεταφορά γι αυτή την οικογένεια επεξεργαστών αλλά χαρακτηριστικά (ειδικά διαχείριση ενέργειας και πιθανώς
|
||||
ένα νέο \"virtual keyboard layer\") τα οποία αναμένονται να υπάρχουν στην έκδοση 2.4 του πυρήνα.
|
||||
|
||||
### [1.3 LINUX 2.4 KAI ΠΡΟ-386]{#ss1.3}
|
||||
|
||||
Περιέργως, πολλοί ενδιαφέρονται ακόμα για το Linux για προ-386 επεξεργαστές. Η απάντηση, τουλάχιστον αυτή τη στιγμή, είναι πως δεν υπάρχει τέτοιο πράγμα Υπάρχει
|
||||
ένα αδερφό πρόγραμμα, το **ΕLKS (Embedable Linux Kernel Subset)** το οποίο δουλεύει πάνω σε μία παραλλαγή του Linux για τέτοια μηχανήματα, με υποστήριξη για
|
||||
protected mode για όσα την υποστηρίζουν. Το πρόγραμμα αυτό είναι ανεξάρτητο από το κυρίως Linux και δεν αφορά αυτό το κείμενο.
|
||||
|
||||
Υπάρχει επίσης μία διαφορετική μεταφορά του πυρήνα του Linux, το uLinux, που προσφέρει Linux σε ενσωματωμένους και παλιότερους επεξεργαστές, συμπεριλαμβανομένων
|
||||
αυτών χωρίς MMUs. Αυτή η δουλειά προς το παρόν βασίζεται πάνω στον πυρήνα 2.0 και δεν έχει ενσωματωθεί στο master tree.
|
||||
|
||||
### [1.4 TA ΕΣΩΤΕΡΑ ΤΟΥ LINUX]{#ss1.4}
|
||||
|
||||
To Linux 2.2 ήταν μία μεγάλη βελτίωση του Linux 2.0 και τη σειρά Linux 1.x. Υποστήριζε πολλά καινούργια συστήματα αρχείων, ένα νέο σύστημα **file caching** και
|
||||
ήταν πολύ καλύτερα κλιμακούμενο. Το Linux 2.4 χτίζει πάνω σε αυτές και άλλες βάσεις για να είναι το καλύτερο Linux μέχρι τώρα για πολλά πράγματα.
|
||||
|
||||
Ο πυρήνας του Linux είναι μία συλλογή αρθρωμάτων που περιλαμβάνουν οδηγούς υλικού, πρωτόκολλα και άλλα στοιχεία. Αυτά είναι \'κολλημένα\' στην καρδιά του πυρήνα
|
||||
με **APIs, Programming Interfaces**, που παρέχουν μία στάνταρντ μέθοδο με την οποία ο πυρήνας του Linux μπορεί να επεκταθεί, και με αυτά θα ασχοληθεί αυτό το
|
||||
κείμενο. Αυτά είναι τα στοιχεία που οδηγούν τους δίσκους σας, διαβάζουν τα αρχεία σας και κάνουν όλα τα προφανή πράγματα. Το Linux 2.4 είναι κάτι παραπάνω από
|
||||
αυτά, όμως. Αυτοί οι οδηγοί και τα APIs περιστρέφονται γύρω από ένα κοινό κέντρο του πυρήνα του Linux. Αυτό το κέντρο περιλαμβάνει πολύ σημαντικά χαρακτηριστικά
|
||||
όπως τον scheduler, τον διαχειριστή μνήμης, το εικονικό σύστημα αρχείων και το **resource allocator**.
|
||||
|
||||
Το Linux 2.4 είναι η πρώτη έκδοση του πυρήνα του Linux που θα περιλαμβάνει ένα πλήρη υποσύστημα resource allocator management. Οι προηγούμενες εκδόσεις
|
||||
περιείχαν μία κάποια υποστήριξη αλλά ήταν μάλλον αναξιόπιστη και δεν παρείχε τη λειτουργικότητα που χρειάζεται στον κόσμο \"Plug and Play\". Σε αντίθεση με τις
|
||||
περισσότερες εσωτερικές αλλαγές, οι χρήστες θα νοιώσουν άμεσα αυτή την αλλαγή μια που επηρεάζει τον τρόπο που τα resources κατανέμονται και αναφέρονται στον
|
||||
πυρήνα. Σαν μέρος αυτής της αλλαγής, η βάση δεδομένων PCI card που ήταν \'ριγμένη\' στο Linux 2.2 τώρα αναβαθμίζεται ούτως ώστε όλα τα resources να έχουν ένα
|
||||
αντίστοιχο όνομα συσκευής παρά απλά έναν αντίστοιχο οδηγό.
|
||||
|
||||
Η νέα έκδοση του πυρήνα του Linux επίσης διορθώνει κάποια προβλήματα με τον τρόπο που γινόταν η διαχείριση του layer του **VFS (Virtual FileSystem)** και των
|
||||
file caches. Σε παλαιότερες εκδόσεις του Linux το caching εξαρτάτο από ένα σύστημα dual-buffer το οποίο απλοποιούσε κάποια πράγματα, αλλά προκαλούσε
|
||||
πονοκεφάλους στους προγραμματιστές του πυρήνα που έπρεπε να διασφαλίσουν ότι δεν ήταν δυνατό για αυτούς τους buffer να είναι ασυγχρόνιστοι. Επιπροσθέτως, η
|
||||
παρουσία του buffer αύξανε τη χρήση της μνήμης και καθυστερούσε το σύστημα καθώς ο πυρήνας έπρεπε να κάνει επιπλέον δουλειά για να κρατάει τα πράγματα
|
||||
συγχρονισμένα. Το Linux 2.4 λύνει αυτά τα προβλήματα χρησιμοποιώντας ένα απλούστερο σύστημα με μονό buffer.
|
||||
|
||||
Ένας αριθμος αλλαγών στο Linux 2.4 μπορεί να περιγραφεί ώς \"enterprise level\". Αυτό σημαίνει πως δεν θα γίνουν αντιληπτές και χρήσιμες στους χρήστες desktop
|
||||
άμεσα. Στο μεγαλύτερο μέρος τους αυτά τα χαρακτηριστικά δεν υποβιβάζουν το Linux σε πιο \"νορμάλ\" περιβάλλοντα. Πρώτα απ\' όλα, το Linux 2.4 μπορεί να
|
||||
χειρίζεται περισσότερες ταυτόχρονες διεργασίες καθώς είναι πιο κλιμακούμενο σε πολυεπεξεργαστικά μηχανήματα και επίσης προσφέροντας ένα ρυθμιζόμενο όριο
|
||||
διεργασιών. Δεύτερον, ο scheduler έχει ξαναφραφεί κάπως για να είναι πιο αποτελεσματικός σε συστήματα με πολλές ταυτόχρονες διεργασίες. Τρίτον, ο καινούργιος
|
||||
πυρήνας του Linux μπορεί πλέον να χειρίζεται ένα απίθανο νούμερο χρηστών και groups -κάπου 4.2 εκατομμύρια (και αυτό είναι \*πολλοί\* χρήστες!). Επιπροσθέτως,
|
||||
παρέχεται υποστήριξη για πιο ισχυρό υλικό με υποστήριξη RAM 4GB σε Intel, μέχρι 16 Ethernet κάρτες, 10 ελεγκτές IDE, πολλαπλά IO-APICs και άλλες καταχρήσεις
|
||||
καλού υλικού. Το όριο των 2GB για τα αρχεία έχει επίσης αυξηθεί. Με αυτές και άλλες αλλαγές, οι προγραμματιστές του πυρήνα του Linux αποδεικνύουν πως το Linux
|
||||
μπορεί να είναι μία επιλογή σε πολλά νέα περιβάλλοντα.
|
||||
|
||||
Ο τρόπος που το Linux χειρίζεται την μοιραζόμενη (shared) μνήμη έχει επίσης αλλάξει στο 2.4 για να συμμορφωθεί περισσότερο με τα στανταρντ. Μία παρενέργεια
|
||||
αυτών των αλλαγών είναι ότι το Linux 2.4 θα απαιτεί να γίνεται mount ένα ειδικό σύστημα αρχείων μοιραζόμενης μνήμης για να δουλεύουν τα τμήματά της. Αυτό θα
|
||||
γίνεται από τη διανομή όταν γίνουν διαθέσιμες για το Linux 2.4.
|
||||
|
||||
Το Linux 2.4 επίσης περιέχει μία πολύ μεγαλύτερη συλλογή οδηγών και υποστηριζόμενου υλικού από οποιαδήποτε άλλη έκδοση και κάθε κομμάτι υλικού που μπορείτε να
|
||||
ονομάσετε έχει μία καλή πιθανότητα να δουλεύει κάτω από Linux (βεβαίως, θα πρέπει να συμβουλευτείτε τα κείμενα πριν να αγοράσετε καινούργιο υλικό, για κάθε
|
||||
περίπτωση. Ειδικά καινούργιο υλικό μπορεί να μη δουλεύει ακόμα.)
|
||||
|
||||
Μία συχνή ερώτηση για το Linux 2.4 είναι το πόση μνήμη θα απαιτεί. Πολλά λειτουργικά συστήμτα απαιτούν ολοένα και περισσότερη μνήμη και πόρους καθώς ωριμάζουν,
|
||||
αλλά το Linux 2.4 δεν ακολουθεί αυτήν την τάση καθώς απαιτεί λειγότερη μνήμη σε κάποιες περιπτώσεις. Βεβαίως, το Linux 2.4 περιέχει πολύ περισσότερη
|
||||
λειτουργικότητα από το 2.2 και πολλά από αυτά τα χαρακτηριστικά χρειάζονται χώρο, οπότε η περίπτωσή σας μπορεί να διαφέρει (να θυμάστε ότι τα περισσότερα
|
||||
στοιχεία του πυρήνα μπορούν να απενεργοποιηθούν κατά το compling, σε αντίθεση με άλλα λειτουργικά).
|
||||
|
||||
### [1.5 ΥΠΟΣΤΗΡΙΞΗ ΥΛΙΚΟΥ - /dev/\*]{#ss1.5}
|
||||
|
||||
Πριν να μιλήσουμε για την υποστήριξη υλικού στο Linux 2.4, πρέπει να μιλήσουμε για ένα από τα πιο καιρνούρια και αμφιλεγόμενα χαρακτηριστικά του: το **DevFS
|
||||
(Device FileSystem)**. Αυτό είναι ένα (προς το παρόν προαιρετικό) χαρακτηριστικό το οποίο βασικά ξαναγράφει τον τρόπο με τον οποίο το Linux χειρίζεται τις
|
||||
διάφορες συσκευές. Αυτό θα πρωτοπαρουσιαστεί στο χρήστη με δυο προφανείς τρόπους. Πρώτον, σχεδόν όλα τα ονόματα των συσκευών έχουν αλλάξει. Για παράδειγμα, το
|
||||
\"/dev/had\" μπορεί να ήταν ο σκληρός σας δίσκος, αλλά τώρα θα ήταν τοποθετημένο στο \"/dev/ide0/\...\" (η ονοματολογία δεν είναι ακόμη βέβαιη). Αυτό το
|
||||
αλλαγμένο σχήμα αυξάνει τον διαθέσιμο για ονόματα συσκευών χώρο κι επιτρέπει να ενσωματωθούν πιο εύκολα συστήματα USB και άλλα \"συγχρονα\" πράγματα. Δεύτερον,
|
||||
τα ονόματα των συσκευών τώρα θα προστίθενται στο /dev/ ώς οδηγοί φορτωμένοι στον πυρήνα παρά θα έχουμε όλα τα πιθανά ονόματα να προϋπάρχουν σε αυτό το
|
||||
directory. Τα παλιά ονόματα θα είναι ακόμη διαθέσιμα χάριν συμβατότητας χρησιμοποιώντας ένα πρόγραμμα userspace, το \"devfsd\".
|
||||
|
||||
Αν και αυτό μπορεί να επηρεάσει τις εταιρίες διανομών που θέλουν να εχουν σίγουρο πως όλες οι εφαρμογές θα έχουν μεταβληθεί κατα τρόπο ώστε να χρησιμοποιούν τα
|
||||
νέα ονόματα, οι χρήστες δεν θα πρέπει να επηρεασθούν ιδιαίτερα. Αυτή η αλλαγή θα είναι μία έκπληξη, αν μή τι άλλο, για πολλούς χρήστες. Αν και σε μερικούς
|
||||
μπορεί να μην αρέσει η νέα μακριά ονοματολογία, είναι εύκολο να δούμε πόσο περιοριστική ήταν η παλιά (τί θα γινόταν, για παράδειγμα, αν είχατε περισσότερους από
|
||||
26 δίσκους;)
|
||||
|
||||
### [1.6 ΔΙΑΥΛΟΙ - ISA, PCI, USB, MCA κτλ]{#ss1.6}
|
||||
|
||||
Οι επεξεργαστές είναι μόνο ένα μικρό κομμάτι του κόσμου του υπολογιστή. Εξίσου σημαντικά είναι η αρχιτεκτονική του διαύλου, το στοιχείο του συστήματος που είναι
|
||||
συχνά υπεύθυνο για τις εσωτερικές κι εξωτερικές συσκευές. Κάποιες αρχιτεκτονικές, όπως η αρχική ISA, είναι περισσότερο ανεύθυνες απέναντι στο υλικό απ\'
|
||||
ότιδήποτε άλλο -δεν παρέχουν καμμία διαχείριση πόρων, παρά μόνο ένα μέρος για να βάλουμε κάρτες. 'λλες, όπως η PCI, υποστηρίζουν πολύ περισσότερο προχωρμένα
|
||||
επίπεδα παραμετροποίησης και επιτρέπουν την αλλαγή παραμέτρων συσκευών και άλλα πράγματα. Καθώς όλοι οι αρχικοί εσωτερικοί δίαυλοι Intel υποστηρίζονταν από το
|
||||
Linux 2.2 ((Ε)ISA, VLB, PCI, MCA), δεν υπήρχαν εντυπωσιακές ανακοινώσεις σε αυτόν τον τομέα. Το Linux 2.4, παρ\' όλα αυτά, βελτιώνει κάποιους από αυτούς τους
|
||||
διάυλους με το να τους προσδένει στο νέο υποσύστημα πόρων του Linux
|
||||
|
||||
Υπάρχουν τώρα δύο μεγάλες βελτιώσεις σε αυτόν τον τομέα. Το Linux 2.4 περιέχει, για πρώτη φορά στον πυρήνα, υποστήριξη για ISA Plug \'n\' Play συσκευές.
|
||||
Προγηγουμένως, το Linux μπορούσε να υποστηρίξει τις συσκευές αυτές μόνο μέσω ενός προγράμματος που έτρεχε ο χρήστης και με πολύ ιδρώτα. Το Linux 2.4 θα
|
||||
επιτρέπει τη χρησιμοποίηση αυτών των συσκευών κατά την εκκίνηση (π.χ., την εκκίνηση από ένα ΙSAPnP IDE ελεγκτή) και την αυτόματη παραμετροποίηση αυτών. Ακομα το
|
||||
Linux 2.4 θα παρέχει υποστήριξη για I2O μέσα στον πυρήνα. Το **Ι2Ο (Intelligent Input/Output)** είναι ένα υποσύνολο του PCI που επιχειρεί να επιτρέψει να
|
||||
γραφούν οδηγοί ανεξαρτήτως λειτουργικού για πολλές συσκευές. Μεταξύ αυτών των δύο αλλαγών, πολλοί χρήστες θα βρουν ότι το Linux 2.4 υποστηρίζει πολύ περισσότερα
|
||||
κομμάτια υλικου PC.
|
||||
|
||||
Παρ\' όλα αυτά, το Linux 2.4 δεν θα αυξήσει την υποστήριξη για εξωτερικές συσκευές. Έχει προστεθεί υποστήριξη για PCMCIA (ή PC Card). Αυτή η υποστήριξη ήταν
|
||||
διαθέσιμη σε πολλές διανομές από μία εξωτερική πηγή και οι περισσότερες διανομές την περιείχαν εξ\' ορισμού. Το Linux 2.4 υποστηρίζει καλύτερη ολοκλήρωση με το
|
||||
σύνολο οδηγών PCMCIA και θα κάνει ευκολότερη την εγκατάσταση και τη ρύθμιση για τέτοιες συσκευές, για πολλούς χρήστες. Όπως προηγούμενες εκδόσεις αυτού του
|
||||
οδηγού, πάντως, το Linux 2.4 θα απαιτεί ακόμα έναν εξωτερικό δαίμονα και στοιχεία (components) για να χρησιμοποιήσει τις συσκευές στο έπακρο. Ίσως τα πιο
|
||||
ενδιαφέροντα νέα σε αυτό το μέτωπο έχουν να κάνουν με το Universal Serial Bus (USB), έναν εξωτερικό δίαυλο που κυριαρχεί σιγά-σιγά σε συσκευές όπως
|
||||
πληκτρολόγια, ποντίκια, συστήματα ήχου, σαρωτές και εκτυπωτές. Το USB είναι μία δημοφιλής επιλογή για πολλές καινούργιες συσκευές, ακόμη και για υλικό μή-Intel.
|
||||
Η υποστήριξη του Linux γι αυτές τις συσκευές είναια κόμη σε πρώιμα στάδια αλλά ένα μεγάλο ποσοστό κοινού υλικού USB (πληκτρολόγια, ποντίκια, ηχεία κλπ) ήδη
|
||||
υποστηρίζεται από τον πυρήνα.
|
||||
|
||||
Πιο πρόσφατα, προστέθηκε υποστήριξη **Firewire** στον πυρήνα. Το **Firewire** είναι μία δημοφιλής επιλογή για πολλές συσκευές μεγάλου εύρους διαύλου. Δεν
|
||||
υπάρχουν πολλοί οδηγοί γι αυτήν την αρχιτεκτονική ακόμη, αλλά αυτή η υποστήριξη σίγουρα θα βελτιωθεί με τον καιρό, καθώς αυτή ωριμάζει.
|
||||
|
||||
### [1.7 Block Devices - LVM, Disk Drives, κλπ.]{#ss1.7}
|
||||
|
||||
Στην πιο απλή του μορφή, ένα block device είναι μία συσκευή που μπορεί να εκφραστεί ώς μία σειρά bytes που τα οποία μπορούν να προσπελασθούν σε οποιαδήποτε
|
||||
σειρά. Αυτό περιλαμβάνει συσκευές όπως οι δίσκοι (μπορούμε να διαβάσουμε όποιο τομέα θέλουμε) αλλά όχι σειριακές θύρες (μπορούμε να διαβάσουμε μόνο ότι υπάρχει
|
||||
στην άκρη του καλωδίου). Επεκτάσεις αυτής της ιδέας (όπως η έξοδος ενός δίσκου κλπ) χειρίζονται από το Linux μέσω των ioctls (I/O Controls). Η ιδέα των block
|
||||
devices δεν έχει αλλάξει εδώ και καιρό και υποστήριξη για συσκευές όπως δίσκοι **IDE/SCSI** υπάρχει από τις πρώτες εκδόσεις του πυρήνα του Linux. Στο Linux 2.4
|
||||
έχουν ξαναγραφεί κάπως όλοι οι οδηγοί block devices καθώς το ΑΡΙ των block devices έχει αλλάξει για να ξεφορτωθεί διάφορα σκουπίδια και να διαχωρίσει το block
|
||||
ΑΡΙ από το ΑΡΙ αρχείων σε επίπεδο πυρήνα. Οι αλλαγές που χρειάστηκαν γι αυτό το ξαναγράψιμο του ΑΡΙ δεν ήταν μεγάλες. Όμως, οι προγραμματιστές αρθρωμάτων που
|
||||
διατηρούν αρθρώματα έξω από το main tree μπορεί να χρειαστεί να ανανεώσουν τον κώδικά τους (δεν θα πρέπει ποτέ να υποθέτουμε πλήρη συμβατότητα ΑΡΙ για αρθρώματα
|
||||
του πυρήνα μεταξύ μεγάλων αλλαγών του πυρήνα)
|
||||
|
||||
Τουλάχιστον στην επιφάνεια εργασίας, οι συσκευές δίσκων που χρησιμοποιούν το δίαυλο IDE είναι οι κυρίαρχες. Το Linux υποστηρίζει το IDE από τους πρώτους πυρήνες
|
||||
αλλά το Linux 2.4 βελτιώνει αυτή την υποστήριξη με διάφορους τρόπους. Πρώτα απ\' όλα, τα μηχανήματα υψηλής απόδοσης με πολλαπλούς ελεγκτές IDE θα ωφεληθούν
|
||||
καθώς ο αριθμός των υποστηριζόμενων ελεγκτών έχει ανέλθει στους 10, ενώ πριν ήταν 4. Καθώς οι περισσότερες μητρικές έρχονται μόνο με δύο, αυτό δεν θα επηρρεάσει
|
||||
τους περισσότερους χρήστες. Δεύτερον, υπήρξαν αλλαγές που ια βελτιώσουν την υποστήριξη για ελεγκτές PCI και PnP IDE, δισκέττες ΙDE και tapes, DVDs και CDROM
|
||||
changers. Και τέλος, το Linux 2.4 περιέχει ανανεώσεις οδηγών που θα διορθώνουν λάθη κάποιοων chipsets IDE και θα παρέχουν βελτιωμένη υποστήριξη για κάποια
|
||||
χαρακτηριστικά άλλων, όπως το **ΑΤΑ66**.
|
||||
|
||||
Αν και φαίνεται πως το υποσύστημα **SCSI** δεν έχει αλλάξει τόσο όσο το ΙDE, έχει ξαναγραφεί σε μεγάλο βαθμό. Επιπροσθέτως, υποστηρίζονται πολλοί νέοι ελεγκτές,
|
||||
ενώ αναμένεται ακόμα ένα ξεκαθάρισμα στον κύκλο ανάπτυξης του 2.5.
|
||||
|
||||
Ένα ολοκαίνουργιο χαρακτηριστικό του 2.4 είναι η εφαρμογή του **\"raw\" Ι/Ο device**. Μία συσκευή \"raw\" είναι εκείνη η προσπέλαση της οποίας δεν χειρίζεται
|
||||
από το **caching layer**, αντί να πηγαίνει κατευθείαν στη low-level συσκευή καθεαυτή. Μία τέτοια συσκευή μπορεί να χρησιμοποιηθεί σε περιπτώσεις που μία
|
||||
απαιτητική εφαρμογή θέλει πλήρη έλεγχο πάνω στο πως αποθηκεύει δεδομένα και τα μειονεκτήματα του συνηθισμένου caching δεν είναι επιθυμητά. Εναλλακτικά, μία
|
||||
τέτοια συσκευή θα μπορούσε να χρησιμοποιηθεί σε κρίσιμες περιπτώσεις όπου θέλουμε να βεβαιωθούμε ότι τα δεδομένα θα γράφονται αμέσως στο δίσκο ώστε να μη χαθούν
|
||||
σε καμμία περίπτωση. Η προηγούμενη υποστήριξη δεν ήταν επαρκής και γι αυτό δεν συμπεριλαμβανόταν, μια που έπρεπε να διπλασιαστεί ο αριθμός των nodes ώστε κάθε
|
||||
block device να έχει ένα **raw device node** (και αυτή είναι η υποστήριξη που παρέχουν πολλά εμπορικά Unix). Η παρούσα υποστήριξη χρησιμοποιεί μία δεξαμενή
|
||||
**device nodes** που μπορεί να συσχετισθεί με οποιαδήποτε συσκευή.
|
||||
|
||||
Μία μεγάλη περιοχή αλλαγών στο Linux 2.4 υπήρξε η εισαγωγή του υποσυστήματος **LVM (Logical Volume Manager)** μέσα στον πυρήνα. Αυτό είναι ένα σύστημα ανάλογο
|
||||
των **Unix HP-UX** και **Tru64 UNIX** που επανακαθορίζει πλήρως τον τρόπο που διαχειρίζονται τα συστήματα αρχείων και volumes. Το LVM επιτρέπει στα συστήματα
|
||||
αρχείων να εκτείνονται σε πολλούς δίσκους, να αλλάζουν μέγεθος και να διαχειρίζονται με ένα πιο ευέλικτο τρόπο απ\'ότι με τις παρούσες μεθόδους partition table.
|
||||
Κάποια από τα νέα χαρακτηριστικά του LVM αναπαράγονται με τον οδηγό md (multiple device) ή κάποια εργαλεία userspace. Πάντως, το υποσύστημα LVM προσφέρει αυτήν
|
||||
την υποστήριξη με ένα εκ των πραγμάτων συμβατό με στάνταρντ τρόπο που θα είναι οικείος σε χρήστες εμπορικών UNIX.
|
||||
|
||||
Επιπρόσθετα των αλλαγών στα άλλα block devices, το Linux 2.4 ακόμα υποστηρίζει ανανεωμένο loopback και οδηγούς ramdisk που διορθώνουν ορισμένα λάθη.
|
||||
|
||||
### [1.8 Συστήματα αρχείων και πίνακες κατατμήσεων]{#ss1.8}
|
||||
|
||||
Τα Block devices μπορούν να χρησιμοποιηθούν με διάφορους τρόπους. Ο ποιος συνήθης είναι να ενεργοποιήσουμε (mount) ένα σύστημα αρχείων πάνω τους (εσωτερικά, ο
|
||||
κώδικας των συστημάτων αρχείων είναι σαν ένα \'επίστρωμα\' του οδηγού του block device). 'λλοι τρόποι περιλαμβάνουν τη διαδικασία κατατμήσεων (partitioning) (το
|
||||
οποίο μοιάζει πολύ με ένα σύστημα αρχείωμ, μόνο που διαχειρίζεται με τε΄λείως διαφορετικό τρόπο), και η χρησιμοποίησή του ώς έχει (raw).
|
||||
|
||||
To Linux 2.4 περιλαμβάνει όλα τα συστήματα αρχείων του 2.2. Αυτά συμπεριλαμβάνουν το **FAT (για τα διάφορα DOS), το ΝΤFS (Windows NT), VFAT και FAT32 (Windows
|
||||
9x), HFS (MacOS), HPFS (OS/2)** και άλλα. Έχουν προστεθεί καινούργια συστήματα αρχείων, κυρίως το σύστημα **UDF** που χρησιμοποιείται στα **DVD** και το **XFS
|
||||
(ή EFS)** που χρησιμοποιείται από το **ΙRIX**. Όλα τα συστήματα έχουν ξαναγραφεί σε ένα βαθμό προκειμένου να υποστηρίζουν το καινούργιο σύστημα page caching και
|
||||
θα είναι πιο αποδοτικά εξαιτίτας αυτής της αλλαγής. Η μόνη εξαίρεση είναι αυτή του **ΝΤFS** που δεν συντηρείται ιδιαίτερα και δεν είναι σταθερό.
|
||||
|
||||
Υπάρχει ένας αριθμός αλλαγών που θα βελτιώσουν τη συμβατότητα με άλλα συστήματα. Οι χρήστες OS/2 θα μπορούν επιτέλους να γράψουν στα συστήματα αρχείων τους μέσα
|
||||
από το Linux. Οι χρήστες ΝΤ δεν έχουν αυτήν την πολυτέλεια ακόμη μια που ο οδηγός είναι ακόμα σε πειραματικό στάδιο. Οι χρήστες **NextStep** θα μπορούν να
|
||||
ενεργοποιούν (mount) τα CD-ROM τους κάτω από Linux, μια και αυτό υποστηρίζει μία επέκταση του UFS που χρησιμοποιεί το ΝextStep. Ας σημειωθεί ότι το **HFS+**, το
|
||||
νέο σύστημα αρχείων του Macintosh δεν υποστηρίζεται ακόμη από το Linux.
|
||||
|
||||
To Linux 2.4 δεν υποστηρίζει ακόμη ένα **journaling** σύστημα αρχείων, αν και διάφορα σχέδια είναι κοντά στο να παρέχουν αυτή τη λειτουργία με σταθερό τρόπο. Αν
|
||||
και είναι σχεδόν σίγουρο ότι ένα τέτοιο σύστημα δεν θα υποστηρίζεται από το Linux 2.4, αναμένεται ότι τουλάχιστον ένα τέτοιο θα προστεθεί στον κύκλο 2.4.
|
||||
|
||||
Επιπροσθέτως, ο κώδικας διαχείρισης του πίνακα κατατμήσεων έχει ξαναγραφεί και τώρα επιτρέπει να χρησιμοποιηθεί μία πολύ μεγαλύτερη επιλογή ξένων τύπων πινάκων.
|
||||
Αυτό θα ήταν χρήσιμο αν έχετε, για παράδειγμα, ένα εξωτερικό οδηγό **SCSI** από ένα Macintosh και θέλετε να τον χρησιμοποιήσετε στο PC σας. Έχει προστεθεί ένας
|
||||
αριθμός νέων τύπων πινάκων κατατμήσεων, συμπεριλαμβανομένου του format για μηχανήματα **ΙRIX**.
|
||||
|
||||
Δεν ενεργοποιούνται όλα τα συστήματα αρχείων πάνω από **block devices**. Μερικά, όπως το proc και το devfs είναι τελείως εικονικά. 'λλα ενεργοποιούνται στο
|
||||
δίκτυο. Υπάρχει ένας αριθμός τρόπων για να πραγματοποιηθεί αυτό και πολλά λειτουργικά προσφέρουν τις δικές τους μεθόδους.
|
||||
|
||||
Ο κόσμος των Windows χρησιμοποιεί το **Server Message Block (SMB)** για τα δικτυακά συστήματα αρχείων. Ο νέος πυρήνας Linux αφαιρεί την επιλογή του εάν θα
|
||||
ενεργοποιηθούν δίσκοι από Windows 9x ή NT κατά το compile. Θα μπορεί να ανιχνεύει αυτόματα τον τύπο του απομακρυσμένου συστήματος και να ενεργοποιεί διορθώσεις
|
||||
όταν χρειάζεται. Αυτό θα βελτιώσει σημαντικά την ικανότητα του Linux να λειτουργεί σε δίκτυα με διάφορες εκδόσεις Windows.
|
||||
|
||||
Στον κόσμο του UNIX, το πρωτόκολλο NFS είναι το προτιμητέο για διαμοίρασμα (share) αρχείων. Το Linux 2.4 περιλαμβάνει τη δυνατότητα πρόσβασης σε κοινά αρχεία με
|
||||
την τελευταία έκδοση του ΝFS, NFSv3. Αυτή έχει πολλά πλεονεκτήματα σε σχέση με προηγούμενες εκδόσεις και είναι από τα πλέον σητημένα χαρακτηριστικά . Θα πρέπει
|
||||
να σημειωθεί, πάντως, ότι ο δαίμονας του ΝFS θα εξάγει ακόμη μόνο NFSv2 από Linux (έχει ανακοινωθεί εξέλιξη υποστήριξης για NFSv4).
|
||||
|
||||
### [1.9 Συσκευές Χαρακτήρων - Πληκτρολόγια, Ποντίκια, Κονσόλες και Θύρες]{#ss1.9}
|
||||
|
||||
Οι συσκευές που μπορούν να προσπελασθούν σε σειρά είναι οι συσκευές χαρακτήρων. Αυτές είναι συσκευές, όπως οι σειριακές, που επιτρέπουν την ανάγνωσημίας
|
||||
αλληλουχίας δεδομένων ή την εισαγωγή δεδομένων σε αυτή, αλλά όχι και το \'τρέξιμο\' μπροστά ή πίσω. Αυτές περιλαμβάνουν τις σειριακές και παράλληλες θύρες, τα
|
||||
πληκτρολόγια, τα ποντίκια και τις τερματικές συσκευές (terminal devices). Υπάρχουν σημαντικές βελτιώσεις σε αυτόν τον τομέα στον τελευταίο πυρήνα.
|
||||
|
||||
Μία από τις μεγαλύτερες βελτιώσεις είναι στην υποστήριξη για πληκτρολόγια και ποντίκα. Προηγουμένως υπήρχε υποστήριξη για σειριακά και PS/2 πληκτρολόγια και
|
||||
ποντίκια (και ADB, για παράδειγμα, σε Macintosh). Το Linux 2.4 υποστηρίζει ποντίκια και πληκτρολόγια USB. Επιπροσθέτως, υποστηρίζει πληκτρολόγια σε συστήματα
|
||||
όπου το πληκτρολόγιο δεν αρχικοποιείται από το BIOS και συστήματα με προβλήματα στην ανίχνευση πληκτρολογίου. Και τέλως, το Linux 2.4 περιλαμβάνει εκτενή
|
||||
υποστήριξη για digitizer pads και υποστηρίζει προσωμοίωση για να χρησιμοποιηθούν ώς κανονικά ποντίκια, ακόμη και αν αυτό δεν υποστηρίζεται ευθέως από το υλικό.
|
||||
|
||||
Η υποστήριξη του Linux για σειριακές θύρες δεν έχει αλλάξει ιδιαίτερα από τις ημέρες του 2.2. Το Linux 2.4 υποστηρίζει διαμοιρασμένα ΙRQ σε PCI. Προηγουμένως,
|
||||
αυτό το χαρακτηριστικό περιοριζόταν σε ΙSA και on-board σειριακές πλακέτες. Επιπροσθέτως, το Linux 2.4 προσθέτει έναν αριθμό νέων οδηγών για σειριακές κάρτες
|
||||
πολλαπλών θυρών. Ελπίζεται ότι αυτές οι αλλαγές και άλλες θα κάνουν τη χρήση των σειριακών θυρών ευκολότερη από ποτέ.
|
||||
|
||||
Σε ένα ξεχωριστό τομέα, έχει γίνει δουλειά στην υποστήριξη των αποκαλούμενων **WinModems (ή Soft Modems)**. Aυτά είναι modem που υλοποιούνται ευρέως μέσω
|
||||
λογισμικού (συχνά το DSP και άλλα μέρη του υλικού πρέπει να προσομοιωθούν από λογισμικό). Αν και δεν έχει επιδοθεί κώδικας στον Linus για την υποστήριξη αυτή,
|
||||
διάφορα σχέδια είναι στα σκαριά για την υποστήριξη των modem αυτών και τα πρώτα δείγματα έχουν αρχίσει να φαίνονται έξω από το main tree. Αν και θα πάρει αρκετό
|
||||
καιρό πριν να υποστηριχθούν οι περισσότερες από αυτές τις συσκευές, φαίνεται πως για πρώτη φορά η χιονόμπαλλα του Οpen Source αρχίζει να κυλάει προς αυτή την
|
||||
κατεύθυνση.
|
||||
|
||||
Το Linux 2.4 ακόμη έχει ένα ευρέως ξαναγραμμένο υποσύστημα παράλληλης θύρας. Μία από τις μεγαλύτερες αλλαγές σε αυτόν τον τομέα είναι η υποστήριξη για
|
||||
\`\`generic\'\' παράλληλες συσκευές. Η λειτουργικότητα αυτή μπορεί να χρησιμοποιηθεί από προγράμματα που έχουν πρόσβαση στη θύρα με ασυνήθιστους τρόπους,
|
||||
περιλαμβανομένης της χρήσης UDMA για γρηγορότερο Ι/Ο αν αυτό υποστηρίζεται από το υλικό. Με τον νέο πηρήνα, είναι επίσης δυνατό το να κατευθύνονται όλα τα
|
||||
μηνύματα της κονσόλας σε μία παράλληλη συσκευή όπως ένας εκτυπωτής. Αυτό επιτρέπει στο Linux να έχει τη λειτουργικότητα πολλών εμπορικών UNIX βγάζοντας τα
|
||||
μηνύματα του πυρήνα και του debugging σε εκτυπωτές.
|
||||
|
||||
Η υποστήριξη για υπέρυθρες έχει βελτιωθεί από το 2.2 και έχουν γίνει πολλές αλλαγές, συμπεριλαμβανομένης καλύτερης δικτυακής υποστήριξης.
|
||||
|
||||
### [1.10 Πολυμέσα: Ήχος, Τηεόραση, Ραδιόφωνο κλπ]{#ss1.10}
|
||||
|
||||
Στην πλευρά των συσκευών χαρακτήρα έχουμε κάποιες από τις λιγότερο αναγκαίες για υποστήριξη συσκευές. Το Linux, ως αναδυόμενη λύση για πλατφόρμα desktop
|
||||
προσπαθεί πολύ σκληρά να υποστηρίξει κάρτες ήχου, τηλεόρασης και ραδιοφώνου και άλλες συσκευές εισόδου/εξόδου ήχου και εικόνας. Για να είμαστε ειλικρινείς, το
|
||||
2.4 δεν έχει τραγικές αλλαγές από τον 2.2. Όμως περιλαμβάνει ανανεώσεις και καινούργιους οδηγούς για διάφορες κάρτες ήχου και εικόνας καθώς και υποστήριξη για
|
||||
full duplex. Το 2.4 ακόμη περιλαμβάνει κώδικα που επιτρέπει σε κάποιες συσκευές ήχου να διαχειρίζονται ευκολότερα μνήμη στις αναγκαίες περιοχές. Αυτό θα
|
||||
διευκολύνει πολύ τη ρύθμιση και τη χρήση των καρτών
|
||||
|
||||
Ένα τελείως καινούργιο υποσύστημα ήχου είναι στα σκαριά και θα χρησιμοποιεί πολλά από τα πιο προχωρημένα χαρακτηριστικά των σημερινών καρτών ήχου. Αυτή η
|
||||
υποστήριξη θα ενσωματωθεί στον 2.6.
|
||||
|
||||
### [1.11 Κάρτες Video και συσκευές Framebuffer]{#ss1.11}
|
||||
|
||||
Μία άλλη, πιο περίπλοκη ποικιλία συσκευών είναι οι framebuffer. Μία τέτοια συσκευή είναι απλά μία περιοχή της μνήμης που αντιπροσωπεύει (ή είναι) μνήμη video σε
|
||||
τέτοιο βαθμό που η εγγραφή σε αυτή τη μνήμη επηρρεάζει τα χρώματα και τα pixel σε μία ιθόνη. Αυτό είναι πιο πολύπλοκο από άλλες συσκευές γιατή υποστηρίζει
|
||||
ioctls για την αλλαγή παλέττας και άλλες λειτουργίες σχετιζόμενες με το video. Το Linux 2.4 περιλαμβάνει νέους οδηγούς και βελτιώσεις στους παλιούς. Ιδιαίτερα
|
||||
σημαντηκή είναι η υποστήριξη για πολύ περισσότερες \'στάνταρντ\' κάρτες και διαρυθμίσεις VGA,τουλάχιστον σε ορισμένα modes (ακόμη και αν αυτόε ίναι μόνο 16
|
||||
χρωμάτων). Να θυμάστε ότι αυτό το χαρακτηριστικό μπορεί να προσπερασθεί και (σε i386) είναι χρήσιμό μόνο σε συστήματα που δεν μπορούν να υποστηριχθούν κατ\'
|
||||
άλλο τρόπο. Αυτή τη στιγμή, το Χfree προσφέρει υποστήριξη για πολύ περισσότερες κάρτες απ\' ό,τι ο πυρήνας και έτσι δεν είναι αναγκαία η χρήση αυτής της
|
||||
λειτουργίας για υποστήριξη για το σύστημα X Window (η **SVGALib** και άλλες libraries επιτρέπουν την άμεση διαχείριση εικόνας σε υποστηριζόμενο υλικό, αν και η
|
||||
χρήση αυτών πρέπει να γίνεται μετα προσοχής για λόγους ασφάλειας).
|
||||
|
||||
Μία από τις μεγαλύτερες αλλαγές εδώ είναι η προσθήκη του **Direct Rendering Manager** στον πυρήνα. Ο **DRM** ξεκαθαρίζει την πρόσβαση στο υλικό και δεν
|
||||
επιτρέπει καταστάσεις όπου πολλές διεργασίες που γράφουν στην κάρτα εικόνας προκαλλούν κρασάρισμα του συστήματος. Αυτό θα βελτιώσει την σταθερότητα σε πολλές
|
||||
περιπτώσεις. Ο DRM επίσης λειτουργεί σαν σημείο εισόδου για την πρόσβαση DMA καρτών video. Συνολικά, αυτές οι αλλαγές μαζί με τα Xfree4.x και άλλα συμβατά
|
||||
προγράμματα θα επιτρέψουν στο Linux να είναι πιο σταθερό και ασφαλές όταν διενεργεί δουλειά εντατικών γραφικών, όπως και την καλύτερη υποστήριξη καρτών
|
||||
τηλεόρασης.
|
||||
|
||||
### [1.12 Προσιτότητα - accessibility]{#ss1.12}
|
||||
|
||||
Όταν σκεφτόμαστε το Linux οι λέξεις \"user friendly\" γενικά δεν έρχονται αμέσως στο μυαλό. Έτσι, κάποιος μπορεί να εκπλαγεί μαθαίνοντας ότι το Linux 2.4
|
||||
υποστηρίζει κάρτες σύνθεσης ομιλίας. Αυτός ο οδηγός και το ανάλογο υλικό θα επιτρέψει σε χρήστες με μειωμένη ικανότητα όρασης να ακούνε όλα τα μηνύματα του
|
||||
Linux , ακόμη και αυτά πολύ νωρίς στη διαδικασία εκκίνησης. Πολύ λίγα συστήματα μπορούν να περηφανευθούν για τέτοια υποστήριξη σε τόσο βσαικό επίπεδο (θα
|
||||
υπάρξουν και άλλα προγράμματα και patches για τη πλήρη χρησιμοποίηση αυτών των συσκευών, μια που ο οδηγός του πυρήνα είναι μόνο ένα κομμάτι του συστήματος.)
|
||||
|
||||
### [1.13 Δικτύωση και πρωτόκολλα]{#ss1.13}
|
||||
|
||||
Η δικτύωση και το υλικό δικτύου είναι ένας από τους τομείς που το Linux πάντοτε τα πήγαινε περίφημα. Αυτές οι συσκευές δεν είναι ούτε \"character\" ούτε
|
||||
\"block\" αλλά καταλαμβάνουν έναν ειδικό χώρο που δεν χρειάζεται κόμβους (nodes)συσκευών. Το Linux 2.4 θα περιλαμβάνει πολλές βελτιώσεις σε αυτόν τον τομέα,
|
||||
όπως νέους οδηγούς, διορθώσεις και νέα λειτουργικότητα στους υπάρχοντες οδηγούς.
|
||||
|
||||
Το μοντέλο Linux για sockects δικτύου είναι ένα στανταρντ στις περισσότερες παραλλαγές Unix. Δυστυχώς όμως, έχει κάποια διορθώσιμα ελλατώματα. Στο Linux 2.2 και
|
||||
πριν, αν έχετε έναν αριθμό διεργασιών που περιμένουν για ένα γεγονός από το δίκτυο (web server, για παράδειγμα) θα \`\`ξυπνήσουν\'\' όλες όταν ανιχνευθεί
|
||||
δραστηριότητα. Έτσι, για κάθε αίτηση για σελίδα web το Linux θα \`\`ξύπναγε\'\' έναν αριθμό διεργασιών για την ίδια αίτηση. Μια που δεν έχει νόημα πολλαπλές
|
||||
διεργασίες να εξυπηρετούν την ίδια αίτηση, μόνο μία θα φτάσει στα δεδομένα, ενώ οι υπόλοιπες δεν θα βρουν τίποτα να επεξεργαστούν και θα ξανακοιμηθούν. Το Linux
|
||||
είναι αρκετά αποτελεσματικό και γρήγορο σε αυτό, αλλά θα μπορούσε να γίνει καλύτερο αν δεν γινόντουσαν τα μή απαραίτητα \`\`ξυπνήματα\'\'. Το Linux 2.4
|
||||
περιλαμβάνει αλλαγές που επιτρέπουν ακριβώς αυτό, δηλαδή μέσω του χαρακτηριστικού \`\`wake one\'\' να ξυπνάει μόνο μία διεργασία στην περίπτωση δραστηριότητας.
|
||||
Αυτό θα επιτρέψει σε εφαρμογές όπως ο Apache να είναι ακόμη πιο αποδοτικές και να γίνει το Linux ακόμα καλύτερη επιλογή ώς web server.
|
||||
|
||||
To Linux 2.4 ακόμη περιλαμβάνει ένα τελείως ξαναγραμμένο layer δικτύωσης. Έχει γίνει όσο πιο μή-σειριακό γίνεται για να προσαρμόζεται (scale) το δυνατόν
|
||||
καλύτερα από οποιαδήποτε προηγούμενη έκδοση. Επιπροσθέτωςμ ολόκληρο το υποσύστημα έχει ξανασχεδιασθεί για να είναι όσο πιο σταθερό γίνεται σε συστήματα
|
||||
πολλαπλών επεξεργαστών. Ακόμα, περιλαμβάνει πολλές βελτιώσεις που του επιτρέπουν να λειτουργεί με δικτυακές ιδιομορφίες πολλών λειτουργικών, όπως τα Windows. Θα
|
||||
πρέπει επίσης να υπενθυμισθεί εδώ ότι το Linux είναι ακόμα το μόνο λειτουργικό πλήρως συμβατό με το γράμμα των προδαγραφών ΙPv4 και το Linux 2.4 έχει να
|
||||
επιδείξει μία εφαρμογή αυτού πολύ πιο προσαρμόσιμή από αυτή του προκατόχου του.
|
||||
|
||||
Ώς μέρος αυτού του ξαναγραψίματος, η λειτουργικότητα του πυρήνα σε ό,τι αφορά σε **firewall** και **IP masquerading** έχει ξαναγραφτεί, όπως και στον 2.2. Το
|
||||
νέο υποσύστημα έχει χωριστεί σε δύο μέρη: ένα στρώμα φιλτραρίσματος πακέτων και ένα στρώμα μετάφρασης δικτυακών διευθύνσεων (**network address translation -
|
||||
NAT**). Αυτά τα νέα υποσυστήματα είναι σημαντικά πιο γενικά από τους προκατόχους τους, και τώρα είναι δυνατό να γίνεται και η πιο απαιτητική εργασία routing
|
||||
μέσω Linux. Προηγουμένως, αυτή η λειτουργικότητα ήταν διαθέσιμη με ειδικό υλικό. Δυστυχώς αυτό το ξαναγράψιμο περιλαμβάνει ένα νέο εργαλείο userspace για τη
|
||||
διαχείριση της υπάρχουσας λειτουργικότητας. Για συμβατότητα, υπάρχουν αρθρώματα που επιτρέπουν τη χρήση των εργαλείων είτε του **Linux 2.0 (ipfwadm)** είτε του
|
||||
Linux 2.2 (ipchains). Αυτό θα κάνει την αναβάθμιση πιο εύκολη.
|
||||
|
||||
Για τους χρήστες σε επιχειρήσεις, υπάρχει ένας αριθμός χαρακτηριστικών που θα επιτρέψουν στο Linux την καλύτερη ενσωμάτωση σε παλαιότερα και νεότερα στοιχεία
|
||||
υπαρχουσών δομών δικτύων. Μία σημαντική πρόσθεση εδώ είναι η νέα υποστήριξη για τα πρωτόκολλα και το υλικό **DECnet** και **ARCnet**. Αυτό επθιτρέπει την
|
||||
καλύτερη συνεργασίαμε εξειδικευμένα συστήματα, περιλαμβανομένων παλαιότερων συστημάτων **Digital/Compaq**. Επίσης ιδιαίτερα ενδιαφέρουσα θα είναι η υποστήριξη
|
||||
για **ATM network adapters** για δικτύωση υψηλών ταχυτήτων.
|
||||
|
||||
Για το μέσο χρήστη, το ΡΡΡ είναι σημαντικό μέρος της καθημερινής χρήσης. Το Linux 2.4 περιλαμβάνει μεγάλες βελτιώσεις και αρθρωματοποίηση μεγάλου ποσοστού του
|
||||
κώδικα, περιλαμβάνοντας ένα από καιρό αναμενόμενο συνδιασμό των στρωμάτων ΡΡΡ από το στρώμα ISDN kai PPP, όπως για τηλεφωνικές συνδέσεις με μόντεμ. Ακόμα, το
|
||||
ΙSDN έχει ανανεωθεί για να υποστηρίξει πολλές νέες κάρτες. Το **PLIP (ΡΡΡ σε παράλληλες θύρες)** έχει επίσης βελτιωθεί και χρησιμοποιεί το νέο **abstraction
|
||||
layer** της παράλληλης θύρας. Και τέλος, έχει προστεθεί υποστήριξη για **PPP μέσω Ethernet (PPPoE)** που χρησιμοποιείται από κάποιους παροχείς DSL.
|
||||
|
||||
### [1.14 Binary Types]{#ss1.14}
|
||||
|
||||
Ενα συνήθως παραμελημένο μέρος του πυρήνα είναι ο loader του προγράμματος: το κομμάτι που παίρνει τα προγράμματα, τα φορτώνει σωστά και τα τρέχει. Πολλοί δεν
|
||||
γνωρίζουν ότι στο Linux 2.2 προστέθηκε υποστήριξη για ένα δυαδικό φορτωτή \"διαφόρων\", ένα εύκαμπτο άρθρωμα σχεδιασμένο να επιτρέπει στο χρήστη να συσχετίζει
|
||||
τύπους δυαδικών αρχείων (βασιζόμενο στην κατάληξη ή σε πληροφορίες του header) με εφαρμογές \"helper\" περίπου όπως τα Windows. Αυτό θα μπορούσε να συσχετίσει,
|
||||
για παράδειγμα, όλες τις εφαρμογές Windows με τον WINE έτσι ώστε όταν γράψετε \"./notepad.exe\" να συμβεί το σωστό πράγμα. Αυτό θεωρήθηκε μεγάλη νίκη από
|
||||
πολλούς γιατί επιτρέπει σε πολλές ομάδες, όπως την ομάδα του **Wine (Windows non-Emulator)** και **Dosemu** να δημοσιεύσουν πληροφορίες για να τρέχουν τα
|
||||
προγράμματά τους \'native\' από τον πυρήνα.
|
||||
|
||||
Το Linux 2.2 και 2.0 περιλάμβαναν ενσωματωμένη υποστήριξη για την εκκίνηση ενός Java interpreter όταν εκτελούταν μία εφαρμογή Java (και ήταν από τα πρώτα
|
||||
λειτουργικά που το έκαναν αυτό σε επίπεδο πυρήνα). Το Linux 2.4 ακόμα περιλαμβάνει αυτή την υποστήριξη, αλλά ο ειδικός οδηγός έχει αφαιρεθεί και οι χρήστες θα
|
||||
πρέπει να ανανεώσουν τα συστήματά τους για να χρησιμοποιήσουν τον οδηγό \"Misc.\".
|
||||
|
||||
### [1.15 O Kernel Web Daemon]{#ss1.15}
|
||||
|
||||
Ένα από τα πιο χτυπητά χαρακτηριστικά στον πυρήνα 2.4 είναι ο the kernel web daemon, ή khttpd. Είναι αλήθεια, το Linux πραγματικά υποστηρίζει ένα άρθρωμα πυρήνα
|
||||
που μπορεί να επεξεργαστεί αιτήσεις HTTP χωρίς να χρειαστεί να επικοινωνήσει με κανέναν user space server (όπως ο Αpache). Αυτό το χαακτηριστικό συχνά
|
||||
παρερμηνεύεται - δεν έχει σχεδιαστεί για να αντικαταστήσει τον Apache ή οποιονδήποτε άλλο εξυπηρέτη και μπορεί να χρησιμοποιηθεί μόνο για raw αρχεία (όχι CGI).
|
||||
Αν λάβει μία αίτηση για κάτι που δεν μπορεί να χειρισθεί, θα την περάσει στον εξυπηρέτη χωρίς αυτός να καταλάβει τη διαφορά. Αυτό το χαρακτηριστικό θα κάνει το
|
||||
Linux μία ακόμη καλύτερη επιλογή για γρήγορη εξυπηρέτηση web στατικού περιεχομένου όπως οι **dedicated image servers**.
|
||||
|
||||
### [1.16 Κρυπτογραφία στον Πυρήνα]{#ss1.16}
|
||||
|
||||
Αν και οι νόμοι εξαγωγής στην Αμερική έχουν αλλάξει από τον 2.2, το Linux 2.4 μάλλον δεν θα περιλαμβάνει υποστήριξη για κρυπρογράφηση στην κύρια διανομή. Οι
|
||||
περιορισμοί στην εισαγωγή/εξαγωγή κρυπρογραφίας είναι διαφορετικοί σε όλο τον κόσμο. Ήδη όμως, είναι διαθέσιμα patches για την κρυπτογράφηση σε πολλά
|
||||
υποσυστήματα του πυρήνα. Μένει να ειδωθεί πόσο επίσημα θα είναι αυτά στο μέλλον.
|
||||
|
Φόρτωση…
Προσθήκη πίνακα
Προσθήκη υπερσυνδέσμου
Παράθεση σε νέο ζήτημα