Linux
Από τη Βικιπαίδεια, την ελεύθερη εγκυκλοπαίδεια
Το Linux (Λίνουξ) είναι ένας πυρήνας λειτουργικού συστήματος που μοιάζει με τον πυρήνα του AT&T UNIX. Είναι μία πρωτότυπη υλοποίηση πυρήνα λειτουργικού συστήματος και δεν χρησιμοποιεί κώδικα του UNIX. Μπορεί να θεωρηθεί κλώνος του UNIX, αφού διαθέτει τις περισσότερες εντολές του, ενώ η φιλοσοφία της σχεδίασής του πλησιάζει περισσότερο το UNIX από οποιοδήποτε άλλο λειτουργικό σύστημα. Το Linux αναπτύσσεται με βάση το POSIX πρότυπο, το οποίο είναι μία προσπάθεια τυποποίησης όλων των κλώνων του UNIX.
Παρ' όλο που το Linux είναι ο πυρήνας του λειτουργικού συστήματος, πολλές φορές αναφερόμαστε σε αυτό εννοώντας όλο το λειτουργικό σύστημα, που περιλαμβάνει και το περιβάλλον εργασίας, και το συνοδευτικό λογισμικό (κάτι το οποίο συνήθως οδηγεί σε παρανοήσεις).
Πίνακας περιεχομένων |
[Επεξεργασία] Ανάπτυξη
Η ανάπτυξη του πυρήνα Linux ξεκίνησε περίπου το 1991 από τον Φινλανδό Linus Torvalds (τότε φοιτητή ακόμη), ο οποίος με βοήθεια πολλών εθελοντών προγραμματιστών (από χόμπι ή επαγγελματίες) μέσω του Internet, κατάφερε να δημιουργήσει έναν πυρήνα που ανταγωνίζεται πυρήνες λογισμικού μεγάλων εταιριών. Αρχικά είχε σαν πρότυπο το Minix, ένα άλλο λειτουργικό τύπου Unix, το οποίο είχε αναπτύξει ο Άντριου Τάνενμπαουμ για εκπαιδευτικούς σκοπούς. Ο τελευταίος δεν επέτρεψε την τροποποίηση και επέκταση του Minix και για το λόγο αυτό, ο Τόρβαλντς δημιούργησε εξαρχής έναν πυρήνα για το αντικαταστήσει. Αρχικά ο πυρήνας αυτός ονομάστηκε FreaX (από τους όρους free και freak, με την κατάληξη X να υποδηλώνει ένα σύστημα τύπου Unix) αλλά αργότερα έλαβε την ονομασία Linux, ένα όρο που επινόησε ο Άρι Λέμκε (Ari Lemmke).
Σήμερα το Linux παρέχει όλα όσα θεωρούνται αναγκαία για ένα σύγχρονο πυρήνα λειτουργικού, όπως:
- υποστήριξη πολυεπεξεργαστικών συστημάτων (SMP)
- πραγματική πολυδιεργασία
- εικονική μνήμη
- διαμοιραζόμενες βιβλιοθήκες
- σωστή διαχείριση μνήμης
- δικτύωση μέσω TCP/IP κ.α.
- Ο πυρήνας Linux αρχικά σχεδιάστηκε για επεξεργαστές της οικογένειας x86 (386/486/Pentium), αλλά σήμερα τρέχει σε πολύ μεγάλη ποικιλία επεξεργαστών, όπως οι Alpha (64 bit), οι Motorola 68000 (Amiga), PowerPC, MIPS κ.α.
Αν και η προσπάθεια δημιουργίας του Linux πυρήνα άρχισε το 1990, η δημιουργία ενός ελεύθερου λειτουργικού συστήματος χωρίς περιορισμούς στον τελικό χρήστη, είχε ξεκινήσει παλαιότερα από τον Ρίτσαρντ Στώλλμαν, ιδρυτή του Free Software Foundation και του GNU project. Έτσι, το Linux είχε στο ξεκίνημά του ένα ολόκληρο σύστημα να βασιστεί. Το GNU σχέδιο είχε ήδη δημιουργήσει ένα C μεταγλωττιστή (τον gcc) και μια πλειάδα υψηλής ποιότητας προγραμματιστικών εργαλείων, ενώ είχε έτοιμα προγράμματα που αντικαθιστούσαν όλα τα βασικά προγράμματα σε ένα *NIX σύστημα. Το μόνο που έλειπε ήταν ένας σταθερός πυρήνας. Έτσι το GNU βρήκε έναν πυρήνα για να λειτουργήσει, και το Linux βρήκε έτοιμη μια μεγάλη ποικιλία προγραμμάτων. (Το GNU σχέδιο συνεχίζει σήμερα και με το υπό κατασκευή λειτουργικό σύστημα, Hurd, το οποίο βασίζεται στον μικροπυρήνα Mach)
[Επεξεργασία] Διανομές
Το Linux είναι το πιο επιτυχημένο από τα ελεύθερα λειτουργικά συστήματα, ενώ ανταγωνίζεται και τα υπόλοιπα. Στην καθιέρωσή του βοήθησαν πολύ εταιρείες και εθελοντές που κατασκεύασαν και οργάνωσαν διανομές, δηλαδή συγκέντρωσαν συλλογές προγραμμάτων που συνόδευαν τον πυρήνα. Σήμερα υπάρχουν πολλές διαφορετικές διανομές που καλύπτουν διαφορετικές ανάγκες. Μερικές χαρακτηριστικές είναι:
- Debian GNU/Linux: Οργανωμένο από μια ομάδα εθελοντών, και είναι η διανομή με τα περισσότερα πακέτα σήμερα. Είναι η μοναδική διανομή που αποτελείται μόνο από ελεύθερα πακέτα.
- Ubuntu Linux : Ίσως η πιο δημοφιλής διανομή αυτή τη στιγμή. Βασίζεται στο Debian και είναι πολύ φιλική προς το χρήστη. Κάθε έξι μήνες διατίθεται καινούρια έκδοση, ενώ μπορείτε να παραγγείλετε εντελώς δωρεάν CD εγκατάστασης από την αντίστοιχη ιστοσελίδα.
- Knoppix Linux : Live διανομή, που δεν χρειάζεται εγκατάσταση αλλά λειτουργεί απ'ευθείας από το CD, που βασίζεται στο Debian. Πολύ χρήσιμη διανομή σε περιπτώσεις ανάκτησης δεδομένων όταν το κυρίως λειτουργικό σύστημα του υπολογιστή δεν μπορεί να ξεκινήσει.
- Knoppel Linux : Αξιόλογη Ελληνική προσπάθεια βασισμένη στο Knoppix Linux.
- Damn Small Linux : Ακόμα μια διανομή βασισμένη στο Knoppix Linux που καταλαμβάνει μόνο 50MB χώρου και περιλαμβάνει πλήρες σετ εφαρμογών. Λόγω της ταχύτητας της μπορεί να χρησιμοποιηθεί άνετα σε παλιούς υπολογιστές.
- Slackware Linux : Το αγαπημένο αυτών που ξεκίνησαν με το Linux στις αρχές της δεκαετίας του '90. Είναι η διανομή που έκανε το Linux αγαπητό στους διαχειριστές συστημάτων.
- Redhat Linux: μία από τις πρώτες εταιρείες που αντιμετώπισαν σοβαρά το Linux. Σήμερα κατέχει ένα μεγάλο ποσοστό της αγοράς. Διατίθεται μόνο σε εμπορική έκδοση.
- Fedora Core : Διανομή που προήλθε από το Redhat Linux και υποστηρίζεται από τη Redhat. Λειτουργεί ως δοκιμαστικό πεδίο για τις σταθερές εκδόσεις του Redhat Linux αλλά αποτελεί και η ίδια μια πολύ σταθερή και στιβαρή διανομή. Σε αντίθεση με το Redhat Linux διατίθεται ελεύθερα προς χρήση.
- SuSe Linux: Έγινε ιδιαίτερα δημοφιλής λόγω της φιλικότητάς της προς τον χρήστη και των πολλών πακέτων που διαθέτει.
- Mandriva Linux: Βασισμένο στο Redhat, αλλά με ιδιαίτερα προσεγμένο γραφικό περιβάλλον. Μέχρι πρότινος ήταν γνωστό ως Mandrake.
- Gentoo Linux : Διανομή που μπορεί να παραμετροποιηθεί στο έπακρο αφού όλα τα προγράμματα, αλλά και το ίδιο το λειτουργικό, μπορούν να "χτίζονται" κατά την εγκατάσταση τους. Γι' αυτό το λόγο αποτελεί μια από τις ταχύτερες διανομές.
Κάποιος μπορεί εύλογα να αναρωτηθεί, πώς μπορεί ένα λειτουργικό σύστημα που διατίθεται δωρεάν να είναι καλό και αξιόπιστο; Σε αυτό το ερώτημα λίγοι μπορούν να απαντήσουν, όπως επίσης και στο ερώτημα για το πώς απόκτησε τόσο μεγάλη βάση χρηστών τόσο γρήγορα. Είναι απίστευτο για πολλούς το πώς μπορεί μια ομάδα από "hackers" να κυριαρχήσει σε ένα τομέα που μέχρι σήμερα κυριαρχούσαν κολοσσοί της πληροφορικής. Το Linux μπορεί να χαρακτηριστεί σαν ένα φαινόμενο του Internet, είναι ένα πείραμα που πέτυχε.
[Επεξεργασία] Γραφικό περιβάλλον στο Linux
Το Linux όπως προαναφέραμε είναι ο πυρήνας, και πάνω σε αυτόν μπορεί να εκτελεστεί οποιοδήποτε περιβάλλον εργασίας. Το πιο διαδεδομένο παραθυρικό σύστημα όμως είναι το X Window System και πιο συγκεκριμένα η υλοποίηση από την Xfree86 ομάδα. Το X Window System (ή πιο απλά τα Χ), είναι ένα γραφικό σύστημα που συντηρείται και αναπτύσσεται σήμερα από το OpenGroup και πέρα από της συνήθεις λειτουργίες ενός παραθυρικού συστήματος, είναι κατασκευασμένο για δικτυακή λειτουργία. Δηλαδή μπορεί πολύ απλά μια παραθυρική εφαρμογή να εκτελείται στον Α υπολογιστή, και η έξοδος (τα παράθυρα) να εμφανίζονται στον δικό μας υπολογιστή.
Πέρα όμως από αυτές τις χαμηλού επιπέδου λειτουργίες του διακομιστή Χ, δεν διαθέτει τίποτα παραπάνω. Αυτό το κενό καλύπτουν τα λεγόμενα περιβάλλοντα εργασίας (Desktop Environments), τα οποία μπορεί να περιέχουν γραμμές εργασιών (Taskbars), εικονίδια στην επιφάνεια εργασίας, εικόνες φόντου (backgrounds), προφύλαξη οθόνης (screensaver), Panels, καθώς και ένα αριθμό προγραμμάτων που διευκολύνουν την διαχείριση της επιφάνειας εργασίας ή και του συστήματος. Τα πιο υψηλού επιπέδου περιβάλλοντα εργασίας για Linux είναι τα KDE και GNOME, τα οποία έχουν ήδη φτάσει (αν όχι ξεπεράσει) τα αντίστοιχα περιβάλλοντα εργασίας σε άλλα *NIX workstations.
[Επεξεργασία] Χρήστες στους οποίους απευθύνεται το Linux
Υπάρχει μία μεγάλη σύγχυση σε αυτό το θέμα. Είναι διαδεδομένη η άποψη ότι δεν ενδείκνυται η χρήση του από νέους χρήστες των υπολογιστών, ή από χρήστες χωρίς ιδιαίτερες γνώσεις στους υπολογιστές. Ωστόσο, σήμερα, υπάρχει μια εξαιρετικά μεγάλη βάση υψηλού επιπέδου προγραμμάτων, που επιτρέπουν την διαχείριση του συστήματος χωρίς την γνώση των βασικών εντολών του UNIX.
Βέβαια, πολύ δύσκολα με αυτόν τον τρόπο θα καταφέρει κάποιος να κάνει κάτι περισσότερο από τα βασικά, αλλά η δυναμική υπάρχει, τα προγράμματα αναπτύσσονται συνεχώς, ενώ όλο και περισσότερες εταιρείες συμμετέχουν στην διαδικασία της ανάπτυξης τους. Παρ' όλα αυτά κανείς δεν υποχρεώνει κανέναν να χρησιμοποιήσει το Linux.
Το Linux εξαπλώθηκε χωρίς επαγγελματική διαφήμιση, εμπορικά τεχνάσματα και μονοπώλια (μολονότι το διαδίκτυο όπου αναπτύχθηκε μπορεί να ιδωθεί ως χώρος διάδοσης και διαφήμισης νέων ιδεών). Αυτό που το κάνει να διαφέρει από τα υπόλοιπα λειτουργικά συστήματα, είναι η ευκολία με την οποία μπορεί να επεκταθεί για να καλύψει και τις πιο απαιτητικές ανάγκες. Ακόμα και αν δεν έχει κάποιος γνώσεις προγραμματισμού, μπορεί να προτείνει βελτιώσεις στους αρχικούς προγραμματιστές ή ακόμα να χρημματοδοτήσει κάποιον για να υλοποιήσει αυτές τις βελτιώσεις (πολλά ελεύθερα προγράμματα χρημματοδοτούνται και αναπτύσονται με αυτόν τον τρόπο). Το λειτουργικό αυτό, παρέχει αυτή την δυνατότητα και είναι επομένως στο χέρι των ίδιων των χρηστών να την εκμεταλευτούν.
[Επεξεργασία] Η άδεια χρήσης του Linux
Πρέπει ίσως να ξεκαθαρίσουμε την διαφορά του δωρεάν απο το ελεύθερο. Δυστυχώς, λόγω του ότι η αγγλική γλώσσα εμπεριέχει ασάφεια στην έννοια αυτή (το free σημαίνει και ελεύθερο και δωρεάν), έχουν δημιουργηθεί παρανοήσεις σχετικά με το Linux. Το γεγονός ότι είναι δωρεάν, είναι μόνο ένα από τα πλεονεκτήματα του Linux, αφού επίσης δωρεάν μπορεί να διανέμει μια εταιρία το λειτουργικό της για να αυξήσει την βάση χρηστών της, ώστε να τους αξιοποιήσει αργότερα ως πελάτες. Η διαφορά τους είναι ότι το Linux διανέμεται ελεύθερα, με τον πηγαίο κώδικά του διαθέσιμο στον καθένα, και αυτό δίνει την δυνατότητα όχι μόνο της χρησιμοποίησης του λειτουργικού, αλλά και της αναδιανομής του, της πώλησης του, τροποποίησής του, της επέκτασής του, πρόσβαση στον πηγαίο κώδικα και συνήθως σε εκτενή τεκμηρίωση. Με λίγα λόγια δίνει πλήρη πρόσβαση στη γνώση που εσωκλείει. Το γεγονός ότι ορισμένοι δεν μπορούν είτε να την εκτιμήσουν, είτε καν να την διακρίνουν δεν αναιρεί το γεγονός ότι η πρόσβαση σε αυτήν είναι πλεονέκτημα. Έστω και αν δεν έχουμε μηχανικές γνώσεις, θα θέλαμε τα σχέδια της μηχανής του αυτοκινήτου μας να είναι διαθέσιμα στον μηχανικό μας ώστε να μπορεί να την συντηρήσει και να διορθώσει οποιοδήποτε πρόβλημα της.
Το Linux, καθώς και τα περισσότερα συνοδευτικά προγράμματα, διανέμεται υπό τους όρους του GNU General Public License. Η άδεια αυτή δημιουργήθηκε για να παράγει προγράμματα που θα διανεμηθούν ελεύθερα, αλλά και για να διατηρήσει αυτή την ελευθερία των προγραμμάτων. Έτσι κάποιο πρόγραμμα κάτω από την GNU GPL πρέπει υποχρεωτικά να συνοδεύεται από τον πηγαίο κώδικα του, ενώ στην περίπτωση που κάποιος τροποποιήσει ένα τέτοιο πρόγραμμα και θέλει να το διανέμει είναι υποχρεωμένος να διανέμει τον αρχικό κώδικα καθώς και τις δικές του τις αλλαγές στον κώδικα.
Δυστυχώς ή ευτυχώς δεν είναι όλα τα προγράμματα κάτω από την GNU GPL, υπάρχουν πολλά κάτω από μία άδεια παρόμοια με την άδεια του BSD λειτουργικού συστήματος (μία άδεια πιο χαλαρή από την GNU GPL), ενώ μερικές διανομές έχουν συμπεριλάβει και προγράμματα κάτω από διάφορες δικές τους άδειες που καμία σχέση δεν έχουν με τις παραπάνω.
[Επεξεργασία] Το καθεστώς ελεύθερης διανομής του Linux
Το λογισμικό του Linux που υπόκειται στην άδεια GNU GPL μπορεί να αντιγραφεί, να παραχωρηθεί ή ακόμη και να πωληθεί ελεύθερα. Το αν αυτό ισχύει για ολόκληρες διανομές του Linux, εξαρτάται πρωτίστως από την συγκεκριμένη διανομή. Εαν η διανομή αυτή είναι η Debian GNU/Linux ή το Slackware, τότε όλα τα παραπάνω επιτρέπονται (μιας και δεν συμπεριλαμβάνει, στη βασική διανομή, μη ελεύθερα προγράμματα). Δυστυχώς, οι υπόλοιπες διανομές μπορεί να περιέχουν και μη ελεύθερo λογισμικό. Σε αυτές τις διανομές επιτρέπονται τα παραπάνω μόνο στα ελεύθερα προγράμματα τα οποία πρεπει να ξεχωρίσει ο ενδιαφερόμενος (συνήθως η κάθε διανομή δίνει μια ελεύθερη έκδοσή της, ή έχει σε ξεχωριστά CD's τα μη ελεύθερα προγράμματα).
[Επεξεργασία] Διαθέσιμες εφαρμογές του Linux
Οι διανομές συνήθως διαθέτουν πολύ μεγάλη ποικιλία προγραμμάτων. Υπάρχουν τα ελεύθερα προγράμματα τα οποία έρχονται με άδεια παρόμοια με του Linux (ή χαλαρότερη), τα οποία δεν υστερούν (κάποιες φορές εκτιμάται ότι ξεπερνούν) σε ποιότητα τα αντίστοιχα ιδιόκτητα. Ίσως παλαιότερα να ήταν εύκολο να αριθμήσει κάποιος τις κατηγορίες προγραμμάτων για τις οποίες υπάρχει ελεύθερο λογισμικό. Σήμερα συντηρούνται μεγάλες βάσεις δεδομένων ώστε να ταξινομηθούν αυτά τα προγράμματα. Περισσότερες πληροφορίες για υπάρχοντα προγράμματα θα βρείτε στις ιστοσελίδες:
Ιδιόκτητα (proprietary) προγράμματα υπάρχουν και στο Linux και καλύπτουν αρκετούς τομείς εξειδικευμένου λογισμικού (παιχνίδια, βάσεις δεδομένων, εφαρμογές γραφείου, οδηγοί συσκευών κ.α.).
Πέρα από την μεγάλη ποικιλία εφαρμογών που έχουν δημιουργηθεί για το Linux, υπάρχει επίσης η δυνατότητα (όχι πάντα) να χρησιμοποιηθούν σε περιβάλλον Linux και προγράμματα που έχουν κατασκευαστεί για MS Windows. Αυτό γίνεται χρησιμοποιώντας κάποια "ενδιάμεση" εφαρμογή όπως είναι π.χ. το Wine, το οποίο είναι μία ελεύθερη υλοποίηση του API των Windows, και η οποία αναλαμβάνει να γεφυρώσει το χάσμα.
[Επεξεργασία] Οδηγοί συσκευών και ζητήματα συμβατότητας υλικού
Σε ιδιαίτερη κατηγορία ανήκουν οι οδηγοί συσκευών (drivers). Λόγω της ιδιαίτερης φύσης τους, μπορεί να απαιτούνται για τη συγγραφή τους συγκεκριμένες πληροφορίες για τις προδιαγραφές και το σχεδιασμό της ελεγχόμενης συσκευής. Οι πληροφορίες αυτές δεν είναι πάντοτε διαθέσιμες, καθώς οι κατασκευαστές πολλές φορές διστάζουν να τις κοινοποιήσουν, επικαλούμενοι τα ιδιοκτησιακά τους δικαιώματα. Μερικές φορές είναι δυνατόν να δημιουργηθεί ένας "ελεύθερος" οδηγός με τη χρήση reverse engineering, και πράγματι για πολλά περιφερειακά υπάρχουν σήμερα τέτοιοι οδηγοί που λειτουργούν ικανοποιητικά. Σε άλλες περιπτώσεις, οι κατασκευαστές παρέχουν τις απαραίτητες πληροφορίες, αποβλέποντας στη διάδοση του προϊόντος τους στην επεκτεινόμενη κοινότητα των χρηστών του Linux. Δυστυχώς, με μερικές συσκευές οι χρήστες του Linux είναι υποχρεωμένοι να χρησιμοποιήσουν ιδιόκτητους οδηγούς. Αυτό δημιουργεί μεγάλα προβλήματα στη διάδοση του ελεύθερου λογισμικού, καθώς οι οδηγοί αυτοί δεν μπορούν να διανεμηθούν ελεύθερα, ούτε και να τροποποιηθούν κατάλληλα, ακολουθώντας την εξέλιξη του Linux, και οι χρήστες τους εξαρτώνται ουσιαστικά από την καλή θέληση των κατασκευαστών. Το πρόβλημα αυτό είναι ιδιαίτερα έντονο σε σχέση με τα μόντεμ, διότι πολλά μόντεμ (software modems) είναι σχεδιασμένα να λειτουργούν με οδηγούς που είναι διαθέσιμοι μόνο για MS Windows. Τα μόντεμ αυτά καλούνται συνήθως "winmodems", ενώ για όσα από αυτά καθίσταται δυνατό να λειτουργήσουν με ελεύθερους οδηγούς έχει επικρατήσει ο όρος "linmodems". Επίσης αντίστοιχο πρόβλημα υπάρχει και με τις σύγχρονες κάρτες γραφικών, όπου ο χρήστης για να μπορέσει να εκμεταλλευτεί πλήρως τις 3D ικανότητες της κάρτας του, είναι αναγκασμένος να κατεβάσει τον κατάλληλο οδηγό του κατασκευαστή. Οι ανάλογοι οδηγοί ελεύθερου λογισμικού περιορίζονται μόνο στην υποστήριξη των 2D ικανοτήτων της κάρτας ή υποστηρίζουν ένα μικρό σύνολο των 3D δυνατοτήτων τους.
Οι περισσότεροι διανομείς του Linux καταρτίζουν σε τακτά διαστήματα έναν κατάλογο συσκευών που είναι "συμβατές" με τη διανομή τους του Linux. Αυτές οι λίστες ονομάζονται "λίστες συμβατότητας υλικού" (Hardware Compatibility Lists) ή HCL για συντομία.
[Επεξεργασία] Γλωσσάρι
- Πυρήνας: είναι το κομμάτι του λειτουργικού συστήματος που επικοινωνεί με τις συσκευές, τον επεξεργαστή, παρέχει το σύστημα αρχείων, τη δικτύωση και γενικά είναι υπεύθυνος για όλες τις χαμηλού επιπέδου λειτουργίες.
- Ιδιόκτητα: o όρος ιδιόκτητο λογισμικό χρησιμοποιείται αντί του εμπορικού λογισμικού (ή προγράμματος), μιας και το ελεύθερο λογισμικό δεν αποκλείει κάποιο πρόγραμμα να είναι εμπορικό. Υπάρχουν παραδείγματα πολλών εταιριών που αναπτύσσουν και πωλούν ελεύθερο λογισμικό.
[Επεξεργασία] Εξωτερικοί σύνδεσμοι
- CYLUG (Cyprus Linux User Group)
- HELLUG (Hellenic Linux User Group)
- tux gr
- linux gr
- Techteam.gr Linux section
- Linux Home
- Linux Distribution Chooser
- Linux Distribution Screenshots
- Μήνυμα του Linus Torvalds στην ομάδα συζητήσεων comp.os.minix το 1991 που ανακοινώνει το Linux
- Η διάσημη συζήτηση μεταξύ του L. Torvalds και A. Tanenbaum για το Linux και το Minix στην ομάδα συζήτησης comp.os.minix