Linux για αρχάριους : Τί είναι τo 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 είναι το πιο επιτυχημένο από τα ελεύθερα λειτουργικά συστήματα με βάση τη δημοτικότητα και τον αριθμό των εφαρμογών που αναπτύσσονται για αυτό. Στην καθιέρωσή του βοήθησε το γεγονός ότι ο πυρήνας του λειτουργικού συστήματος συνοδεύτηκε από τα GNU tools, μια συλλογή ελεύθερων εργαλείων αναπτυγμένων από το πρόγραμμα GNU για το λειτουργικό GNU Hurd που δεν ολοκληρώθηκε, προσφέροντας έτσι ένα σχετικά ολοκληρωμένο περιβάλλον εφαρμογών.

Έκτοτε, διάφορες εταιρείες και εθελοντές κατασκεύασαν και οργάνωσαν διανομές, δηλαδή συλλογές προγραμμάτων που συνοδεύουν έναν πυρήνα Linux. Μια διανομή αποτελείται συνήθως:
  • από έναν πυρήνα Linux, το τμήμα του λειτουργικού δηλαδή που αναλαμβάνει το καθαρά ?υπολογιστικό? μέρος της λειτουργίας και την επικοινωνία hardware-software
  • ένα γραφικό περιβάλλον, συνήθως το X Window System, για την ?παραθυροποίηση? της λειτουργίας του υπολογιστή
  • ένα περιβάλλον εργασίας χρήστη όπως GNOME, KDE, Xfce κλπ που οργανώνει την αλληλεπίδραση χρήστη-υπολογιστή
  • μια συλλογή εφαρμογών και προγραμμάτων
Σήμερα υπάρχουν πολλές διαφορετικές διανομές που καλύπτουν διαφορετικές ανάγκες. Ορισμένες υποστηρίζονται στην ανάπτυξη και την τεχνική υποστήριξη από εταιρίες, (όπως π.χ. το Suse από τη Novell, το Ubuntu από την Canonical) ενώ άλλες μπορεί να βασίζονται στη δουλειά ακόμα και ενός ατόμου (όπως π.χ. το Sabayon Linux). Σχεδόν όλες οι διανομές όμως, ανεξάρτητα από τον κύριο υποστηρικτή, διαθέτουν κοινότητες εθελοντών χρηστών που ασχολούνται με την ανάπτυξη και την βελτιστοποίηση της κάθε διανομής.

Μερικές χαρακτηριστικές διανομές είναι:
  • Debian GNU/Linux: Οργανωμένο από μια ομάδα εθελοντών, και είναι η διανομή με τα περισσότερα πακέτα σήμερα. Η διανομή που αποτελείται μόνο από ελεύθερα πακέτα.
  • Ubuntu : Από τις πιο δημοφιλείς διανομές αυτή τη στιγμή. Βασίζεται στο Debian και είναι πολύ φιλική προς το χρήστη, ενώ επιτρέπει και την εγκατάσταση μη-ελεύθερων προγραμμάτων οδήγησης.
  • PClinuxOS: Δομημένο ούτως ώστε να προσφέρει ευκολότερο χειρισμό. Έχει αρχίσει να γίνεται πολύ δημοφιλές στην κοινότητα του Λίνουξ.
  • Knoppix Linux: Live διανομή, που δεν χρειάζεται εγκατάσταση αλλά λειτουργεί απ?ευθείας από το CD, που βασίζεται στο Debian. Πολύ χρήσιμη διανομή σε περιπτώσεις ανάκτησης δεδομένων όταν το κυρίως λειτουργικό σύστημα του υπολογιστή δεν μπορεί να ξεκινήσει. Η ελληνική διανομή βασισμένη στο Knoppix Linux είναι το Knoppel Linux.
  • Damn Small Linux: Ακόμα μια διανομή βασισμένη στο Knoppix Linux που καταλαμβάνει μόνο 50MB χώρου και περιλαμβάνει πλήρες σετ εφαρμογών. Λόγω της ταχύτητας της μπορεί να χρησιμοποιηθεί άνετα σε παλιούς υπολογιστές.
  • Slackware Linux: Το αγαπημένο αυτών που ξεκίνησαν με το Linux στις αρχές της δεκαετίας του ?90. Είναι η διανομή που έκανε το Linux αγαπητό στους διαχειριστές συστημάτων.
  • Redhat Linux: μία από τις πρώτες εταιρείες που αντιμετώπισαν σοβαρά το Linux. Σήμερα κατέχει ένα μεγάλο ποσοστό της αγοράς. Διατίθεται μόνο σε εμπορική, μη-ελεύθερη έκδοση.
  • Fedora: Διανομή που προήλθε από το Redhat Linux και υποστηρίζεται από τη Redhat. Λειτουργεί ως δοκιμαστικό πεδίο για τις σταθερές εκδόσεις του Redhat Linux αλλά αποτελεί και η ίδια μια πολύ σταθερή και στιβαρή διανομή. Σε αντίθεση με το Redhat Linux διατίθεται ελεύθερα προς χρήση.
  • SuSe Linux: Έγινε ιδιαίτερα δημοφιλής λόγω της φιλικότητάς της προς τον χρήστη και των πολλών πακέτων που διαθέτει.
  • Mandriva Linux: Βασισμένο στο Redhat, αλλά με ιδιαίτερα προσεγμένο γραφικό περιβάλλον. Μέχρι πρότινος ήταν γνωστό ως Mandrake.
  • Gentoo Linux: Διανομή που μπορεί να παραμετροποιηθεί στο έπακρο αφού όλα τα προγράμματα, αλλά και το ίδιο το λειτουργικό, μπορούν να ?χτίζονται? κατά την εγκατάσταση τους. Γι? αυτό το λόγο αποτελεί μια από τις ταχύτερες διανομές.

Γραφικό περιβάλλον στο 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
Συχνά, στην αγγλική γλώσσα, συγχέεται η έννοια του ελεύθερου με εκείνη του δωρεάν (free). Το γεγονός ότι μια διανομή μπορεί να διατίθεται δωρεάν, είναι μόνο ένα από τα πλεονεκτήματα του Linux, αφού επίσης δωρεάν μπορεί να διανέμει μια εταιρία το λειτουργικό της για να αυξήσει τη βάση των χρηστών της, ώστε να τους αξιοποιήσει αργότερα ως πελάτες. Το Linux διανέμεται επίσης ελεύθερα, με τον πηγαίο κώδικά του διαθέσιμο στον καθένα, και αυτό δίνει την δυνατότητα όχι μόνο της χρησιμοποίησης του λειτουργικού, αλλά και της αναδιανομής του, της πώλησης του, τροποποίησής του, της επέκτασής του, πρόσβασης στον πηγαίο κώδικα και συνήθως εκτενούς τεκμηρίωσης. Παρέχει συνεπώς πλήρη πρόσβαση στη γνώση που εσωκλείει.

Το Linux, καθώς και τα περισσότερα συνοδευτικά προγράμματα, διανέμεται υπό τους όρους του GNU General Public License. Η άδεια αυτή δημιουργήθηκε για να παράγει προγράμματα που θα διανεμηθούν ελεύθερα, αλλά και για να διατηρήσει αυτή την ελευθερία των προγραμμάτων. Έτσι κάποιο πρόγραμμα κάτω από την GNU GPL πρέπει υποχρεωτικά να συνοδεύεται από τον πηγαίο κώδικα του, ενώ στην περίπτωση που κάποιος τροποποιήσει ένα τέτοιο πρόγραμμα και θέλει να το διανέμει είναι υποχρεωμένος να διανέμει τον αρχικό κώδικα καθώς και τις δικές του τις αλλαγές στον κώδικα.

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

Το καθεστώς ελεύθερης διανομής του Linux
Το λογισμικό του Linux που υπόκειται στην άδεια GNU GPL μπορεί να αντιγραφεί, να παραχωρηθεί ή ακόμη και να πωληθεί ελεύθερα. Το αν αυτό ισχύει για ολόκληρες διανομές του Linux, εξαρτάται πρωτίστως από την συγκεκριμένη διανομή. Αν η διανομή αυτή είναι η Debian GNU/Linux ή το Slackware, τότε όλα τα παραπάνω επιτρέπονται (μιας και δεν συμπεριλαμβάνει, στη βασική διανομή, μη ελεύθερα προγράμματα). Οι υπόλοιπες διανομές μπορεί να περιέχουν και μη ελεύθερο λογισμικό. Σε αυτές τις διανομές επιτρέπονται τα παραπάνω μόνο στα ελεύθερα προγράμματα τα οποία πρέπει να ξεχωρίσει ο ενδιαφερόμενος (συνήθως η κάθε διανομή δίνει μια ελεύθερη έκδοσή της, ή έχει σε ξεχωριστά 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 όρος ιδιόκτητο λογισμικό χρησιμοποιείται αντί του εμπορικού λογισμικού (ή προγράμματος), μιας και το ελεύθερο λογισμικό δεν αποκλείει κάποιο πρόγραμμα να είναι εμπορικό. Υπάρχουν παραδείγματα πολλών εταιριών που αναπτύσσουν και πωλούν ελεύθερο λογισμικό.

ΠΗΓΗ
Share on Google Plus

About mario1985

Καλώς ορίσατε στο Παπαγάλο Του Διαδικτύου! Ο σκοπός δημιουργίας αυτού του blog είναι η συγκέντρωση αναρτήσεων που βρίσκουμε κατά καιρούς στο διαδίκτυο και μας κινούν το ενδιαφέρον, αλλά δεν αποτελούν απαραίτητα θέση και άποψη του παρόντος ιστολογίου. Ελπίζουμε να βρείτε θέματα που σας ενδιαφέρουν και να μας επισκέπτεστε συχνά!

0 comments:

Δημοσίευση σχολίου