LINUX

= =

= LINUX =

Το Linux είναι ένα ελεύθερο τύπου-Unix λειτουργικό σύστημα που αρχικά δημιουργήθηκε από τον Linus Torvalds και στη συνέχεια αναπτύχθηκε με τη βοήθεια προγραμματιστών από όλον τον κόσμο. To Linux είναι μιά ανεξάρτητη POSIX υλοποίηση και στα χαρακτηριστικά του συμπεριλαμβάνει πραγματικό multitasking, πραγματικό πολυχρηστικό περιβάλλον, virtual memory, shared libraries, demand loading, TCP/IP networking και πολλά άλλα χαρακτηριστικά που δικαιολογούν τον τίτλο "//τύπου-Unix//". Είναι κατασκευασμένο υπό την GPL άδεια, δηλαδή ο πηγαίος κώδικάς του είναι διαθέσιμος στον καθένα (opensource).



= Ιστορικό =

Το εγχείρημα GNU, που εκπόνησε ο Ρίτσαρντ Στώλλμαν το 1983, έχει ως στόχο την δημιουργία ενός ολοκληρωμένου πακέτου με ελεύθερο λογισμικό συμβατό με το Unix. Η ανάπτυξη του GNU ξεκίνησε το 1984, ενώ ο Stallman ίδρυσε το Ίδρυμα Ελεύθερου Λογισμικού το 1985 και το 1989 εξέδωσε την άδεια χρήσης GNU General Public License (GNU GPL). Στις αρχές του '90, είχε ολοκληρωθεί η ανάπτυξη χρήσιμων εργαλείων που απαιτούνται από ένα λειτουργικό (όπως βιβλιοθήκες, μεταγλωττιστές, επεξεργαστές κειμένου, κέλυφος, παραθυρικό περιβάλλον), αλλά είχε καθυστερήσει η ανάπτυξη βασικών και αναγκαίων εργαλείων όπως οι οδηγοί υλικού, οι δαίμονες εργασιών αλλά και ο πυρήνας του λειτουργικού. Αυτή η καθυστέρηση εξώθησε τον Φινλανδό Linus Torvalds να δημιουργήσει τον δικό του πυρήνα το 1991. Ο Torvalds ξεκίνησε την ανάπτυξη ενός μη-εμπορικού unix-οειδές λειτουργικού το 1991,ενώ φοιτούσε ακόμα στο Πανεπιστήμιο του Ελσίνκι. Επηρεάστηκε από το επίσης unix-οειδές λειτουργικό MINIX, και άρχισε να αναπτύσσει αυτό που αργότερα έγινε γνωστό ως πυρήνας Linux. Το MINIX, είναι ένα μινιμαλιστικό λειτουργικό παρόμοιο με το Unix, που αναπτύχθηκε από τον Άντριου Τανενμπάουμ για εκπαιδευτικούς σκοπούς. Ο Torvalds αρχικά έγραφε προγράμματα που έτρεχαν και στο MINIX έως ότου το Linux έφτασε σε ένα στάδιο ανάπτυξης όπου δεν ήταν πλέον απαραίτητοι οι δεσμοί μεταξύ των δυο λειτουργικών. Έπειτα, ο Tovalds αποφάσισε να αλλάξει την άδεια χρήσης, που μέχρι τότε δεν επέτρεπε την αναδιανομή για εμπορικούς σκοπούς, κάνοντας διαθέσιμο το Linux υπό την άδεια GNU GPL. Έτσι το GNU βρήκε έναν πυρήνα για να λειτουργήσει, και το Linux βρήκε έτοιμη μια μεγάλη ποικιλία προγραμμάτων. Εντάσσοντας το εγχείρημά του στο GNU, η ανάπτυξη του Linux ήταν αλματώδης και γρήγορα ξεπέρασε το MINIX.

[[image:713px-Unix_history.svg.png width="556" height="433"]]
= Χρήσεις =

Κάθε διανομή Linux ακολουθεί την δική της φιλοσοφία, άλλες είναι γενικού σκοπού και άλλες πιο εξειδικευμένες. Πολλές διανομές στοχεύουν σε συγκεκριμένο τύπο χρηστών ή λειτουργούν μόνο σε συγκεκριμένο υλικό υπολογιστών. Επιπλέον κάθε διανομή δίνει έμφαση σε ένα διαφορετικό τομέα του συστήματος, όπως η ευχρηστία, η ασφάλεια, η σταθερότητα, η πολυγλωσσία, η υψηλή απόδοση του συστήματος κ.α. Αξίζει να αναφέρουμε ότι ορισμένες διανομές περιλαμβάνουν βάση σχεδιασμού μόνο ελεύθερο λογισμικό. Περίπου τριακόσιες διανομές βρίσκονται σήμερα υπό ενεργή ανάπτυξη, ενώ δώδεκα πιο δημοφιλείς από αυτές είναι διανομές γενικού σκοπού. Το Linux είναι ένα εξαιρετικά μεταφέρσιμο λειτουργικό σύστημα. Ο πυρήνας του, μπορεί να εκτελεστεί σε μια μεγάλη ποικιλία υπολογιστικών αρχιτεκτονικών, όπως οι πλατφόρμες ARM, iPAQ, IBM System z9 και System z10, και σε συσκευές από κινητά τηλέφωνα μέχρι υπερυπολογιστές. Δεν υπάρχουν πολλές εξειδικευμένες διανομές για τις ευρέος χρησιμοποιούμενες αρχιτεκτονικές. Ο πυρήνας ELKS μπορεί να εκτελεστεί στούς 16-bitους επεξεργαστές Intel 8086 και Intel 80286, ενώ ο πυρήνας µClinux μπορεί να εκτελεστεί σε συστήματα που δεν διαθέτουν μονάδα διαχείρισης μνήμης. Και οι δύο αυτοί πυρήνες αποτελούν fork του αρχικού πυρήνα Linux. Ο πυρήνας Linux λειτουργεί επίσης σε κλειστές αρχιτεκτονικές όπου προορίζονται για αποκλειστική εκμετάλλευση από τον κατασκευαστή, όπως οι υπολογιστές Macintosh (με PowerPC και Intel επεξεργαστές), διάφορα PDAs, παιχνιδομηχανές, φορητές συσκευές αναπαραγωγής πολυμέσων και κινητά τηλέφωνα. Αυτό που το κάνει να διαφέρει από τα υπόλοιπα λειτουργικά συστήματα, είναι η ευκολία με την οποία μπορεί να επεκταθεί για να καλύψει και τις πιο απαιτητικές ανάγκες. Ακόμα και αν δεν έχει κάποιος γνώσεις προγραμματισμού, μπορεί να προτείνει βελτιώσεις στους αρχικούς προγραμματιστές ή ακόμα να χρηματοδοτήσει κάποιον για να υλοποιήσει αυτές τις βελτιώσεις (πολλά ελεύθερα προγράμματα χρηματοδοτούνται και αναπτύσσονται με αυτόν τον τρόπο). Υπάρχουν αρκετές βιομηχανικές ενώσεις και συνέδρια hardware διατηρούν και βελτιώνουν την υποστήριξη των συσκευών στο Linux, όπως το FreedomHEC.

media type="youtube" key="Fk4wYBmHO7g?feature=player_embedded" height="360" width="640"

= = = Τεχνικά Χαρακτηριστικά =

> > > > = Βιβλιογραφία = > > > > > >
 * 32 ή 64 bit, ανάλογα με την αρχιτεκτονική
 * Multitasking: πολλά προγράμματα μπορούν να τρέχουν ταυτόχρονα
 * Multiuser: πολλοί χρήστες μπορούν να το χρησιμοποιούν ταυτόχρονα
 * Multiplatform: μπορεί να τρέξει σε μια πληθώρα επεξεργαστών
 * Multiprocessing: Παράλληλη επεξεργασία μέχρι και 16 επεξεργαστές
 * Clustering: μπορεί να στηθεί σε συστοιχία υπολογιστών
 * Προστασία μνήμης ώστε κάποιο πρόγραμμα να μην μπορεί να κολλήσει τον υπολογιστή
 * Εκτελέσιμα με την τεχνολογία Load on Demand: φορτώνονται μόνο τα τμήματα των προγραμμάτων που χρησιμοποιούνται
 * Σελιδοποίηση της Virtual Μνήμης
 * Δυναμικά διασυνδεδεμένες βιβλιοθήκες (DLLs) καθώς και στατικές επίσης
 * Συμβατό με το Unix (POSIX, System V και BSD) σε επίπεδο κώδικα.
 * POSIX έλεγχος διεργασιών. Επίσης, είναι δυνατή η χρήση του QNX στύλ scheduling
 * Υποστήριξη μιας πληθώρας από filesystems, μεταξύ των οποίων τα FAT32, NTFS, BSD ufs, HFS, QNX fs κ.α.
 * Μέχρι και 64 εικονικές κονσόλες
 * Ο πηγαίος κώδικας είναι διαθέσιμος, συμπεριλαμβανομένου του πυρήνα και των drivers
 * Πιθανότατα ο πιο γρήγορος 100Mbit-Ethernet TCP/IP κώδικας
 * Σε σχέση με τα άλλα Unix, έχει τους περισσότερους drivers για περιφερειακά, μεταξύ των οποίων είναι κάρτες ήχου, κάρτες δικτύου ethernet, κάρτες ΑΤΜ, κάρτες ISDN κ.α.
 * Πρωτόκολλα δικτύου, όπως TCP/IP v4 και v6, IPX/SPX, TokenRing, Ethertalk, Appletalk κ.α.
 * Πληθώρα δικτυακών χαρακτηριστικών, όπως masquerading, tunneling, forwarding, routing, firewalls κ.α.
 * http://www.linux.gr/page/whatislinux
 * http://el.wikipedia.org/wiki/Linux