Notice-pin.png Μέχρι να λύσουμε το σχετικό πρόβλημα, παρακαλούνται οι φίλοι που πραγματοποίησαν ή σκοπεύουν να πραγματοποιήσουν δημιουργία λογαριασμού να προσθέσουν το wiki[at]osarena[.]net στη λίστα των επιτρεπόμενων αποστολέων (no spam) στον client που χρησιμοποιούν. Ευχαριστούμε.

 Ενέργειες

Linux

Η συλλογική βιβλιοθήκη γνώσης για το Linux στα Ελληνικά

Το Linux είναι ένα Unix-like λειτουργικό σύστημα ανοιχτού κώδικα που δημιουργήθηκε αρχικά ως χόμπι από τον Φινλανδό προγραμματιστή Linus Torvalds, με την πρώτη ανακοίνωση να γίνεται στις 25 Αυγούστου 1991[1]. Από τότε έχει παρουσιάσει σημαντική εξέλιξη, καθώς η ανάπτυξή του συνεχίζεται αδιάκοπα μέχρι και σήμερα με τη συμμετοχή χιλιάδων προγραμματιστών από ολόκληρο τον κόσμο. Αναμφισβήτητα, αποτελεί το μεγαλύτερο συνεργατικό έργο στην ιστορία της τεχνολογίας· ένα από τα εξέχοντα χαρακτηριστικά του.

Ιστορία

Το Linux αντλεί τις επιρροές του από το προϋπάρχον κατά περίπου 20 χρόνια λειτουργικό σύστημα Unix, που όμως είχε μεταβληθεί σε ιδιοταγές εμπορικό προϊόν και δεν επέτρεπε την ελεύθερη τροποποίηση του κώδικά του. Αυτή η συγκυρία, σε συνδυασμό με την καθυστέρηση στην ανάπτυξη του πυρήνα GNU/Hurd αλλά και τη μη έγκαιρη διάθεση του λειτουργικού συστήματος 386BSD[2] οδήγησαν τον Torvalds στην απόφαση να δημιουργήσει κάτι δικό του.

Δημιουργία

Αξιοποιώντας ως βάση το MINIX, ένα άλλο Unix-like λειτουργικό σύστημα ανοιχτού κώδικα που σχεδιάστηκε από τον καθηγητή Επιστήμης Υπολογιστών Andrew S. Tanenbaum και η χρήση του περιοριζόταν τότε αποκλειστικά σε εκπαιδευτικούς σκοπούς, ο Torvalds πειραματίστηκε με τη δημιουργία ενός ελεύθερου λειτουργικού συστήματος για προσωπικούς υπολογιστές αρχιτεκτονικής Intel x86. Το τελικό αποτέλεσμα ήταν ένας πυρήνας λειτουργικού συστήματος.

Ονομασία

Ο όρος «Linux» αναφέρεται κυρίως στον ομώνυμο πυρήνα. Αρχικά, ο Torvalds είχε απορρίψει αυτήν την ονομασία θεωρώντας την εγωιστική και ονόμασε το έργο του «Freax», από τον συνδυασμό των λέξεων «free», «freak» και το «x» που υποδήλωνε τις Unix καταβολές. Αργότερα, ο Ari Lemmke, ένας εθελοντής διαχειριστής του εξυπηρετητή που φιλοξενούσε τον πηγαίο κώδικα του έργου στο Πανεπιστήμιο Τεχνολογίας του Ελσίνκι (HUT), το μετονόμασε σε «Linux» πιστεύοντας ότι ήταν καλύτερη αυτή η ονομασία. Τελικά, ο Torvalds την αποδέχτηκε.

Στην πορεία της εξέλιξης και μέχρι τις μέρες μας, το «Linux» χρησιμοποιείται καταχρηστικά για να προσδιορίσει οποιοδήποτε λειτουργικό σύστημα βασίζεται στον πυρήνα που δημιούργησε ο Torvalds και κυρίως τις διανομές Linux.

Ανάπτυξη

Σε αντίθεση με άλλα λειτουργικά συστήματα, το Linux επιτρέπει τις τροποποιήσεις στον κώδικά του, καθώς διατίθεται υπό τη Γενική Άδεια Δημόσιας Χρήσης GNU. Αυτό έχει ως συνέπεια να αναπτύσσεται συλλογικά από μια παγκόσμια κοινότητα προγραμματιστών, καθένας από τους οποίους συνεισφέρει σε ένα ή περισσότερα από τα συστατικά του. Το ίδιο συλλογικά λαμβάνονται και οι αποφάσεις για την πορεία του έργου, αφού κανένα μεμονωμένο άτομο δεν έχει τη δυνατότητα να πραγματοποιήσει αλλαγές που θα δεσμεύουν όλους τους συνεισφέροντες.

Πέρα από τον Linus Torvalds, ορισμένες σημαντικές προσωπικότητες για το έργο είναι ο Greg Kroah-Hartman, βασικός συντηρητής για τον πυρήνα και αρκετά από τα υποσυστήματά του, ο Theodore Ts'o, συντηρητής του e2fsprogs και του συστήματος αρχείων Ext4, ο Matthew Garrett που συνεισφέρει στην ανάπτυξη του πυρήνα αλλά και στα Secure Boot και UEFI, και ο Andrew Morton, συντηρητής του συστήματος αρχείων Ext3 και του στρώματος journaling για συσκευές τύπου block.

Ακολουθώντας ορθές πρακτικές ανάπτυξης, δίνεται έμφαση στην τήρηση των τεχνολογικών προτύπων όπου αυτό είναι εφικτό. Τα πιο γνωστά πρότυπα που ακολουθούνται στο Linux είναι τα POSIX, LSB, ANSI, ISO και SUS.

Τεχνικός σχεδιασμός

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

Οποιαδήποτε διεργασία εκτελείται έξω από τον πυρήνα ανήκει στο λεγόμενο «userland». Αυτό περιλαμβάνει λογισμικό που διαχειρίζεται την είσοδο/έξοδο, εφαρμογές λογισμικού, διαχείριση των συστημάτων αρχείων και άλλα προγράμματα και βιβλιοθήκες με τις οποίες το λειτουργικό σύστημα αλληλεπιδρά με τον πυρήνα.

Το πιο γνωστό userland που χρησιμοποιείται στο Linux είναι το GNU από το Έργο GNU, το οποίο παρέχει μια υλοποίηση της βιβλιοθήκης C (glibc) που λειτουργεί ως περιτύλιγμα για τις απαραίτητες κλήσεις συστήματος του πυρήνα Linux, μια σειρά αναγκαίων προγραμματιστικών εργαλείων για την ανάπτυξη του Linux, βασικά βοηθητικά προγράμματα (coreutils) που εφαρμόζουν αρκετά από τα εργαλεία του Unix και ένα κέλυφος διεπαφής γραμμής εντολών (bash).

Επιπλέον, στο λειτουργικό σύστημα Linux μπορούν να περιλαμβάνονται:

  • Ένας φορτωτής εκκίνησης (bootloader), όπως το GNU GRUB, το rEFInd, το SYSLINUX και το systemd-boot. Αυτά είναι προγράμματα που φορτώνουν τον πυρήνα Linux στην κύρια μνήμη του συστήματος κατά την εκκίνηση.
  • Ένα σύστημα εκκίνησης, όπως τα systemd, OpenRC και runit, που αποτελεί την πρώτη διεργασία η οποία εκτελείται από τον πυρήνα Linux, με όλες τις υπόλοιπες να εκτελούνται από αυτή.
  • Βιβλιοθήκες λογισμικού που περιλαμβάνουν κώδικα ο οποίος χρησιμοποιείται από τις τρέχουσες διεργασίες, όπως οι ELF, SDL και Mesa.
  • Βασικές εντολές Unix, μέσω υλοποιήσεων όπως τα coreutils και το BusyBox.
  • Εργαλειοθήκες γραφικής διεπαφής χρήστη, όπως τα GTK+, Qt, EFL και Clutter.
  • Ένα σύστημα διαχείρισης πακέτων, όπως τα dpkg, RPM, portage, pacman.
  • Άλλα προγράμματα διεπαφής χρήστη (κέλυφος διεπαφής γραμμής εντολών, διαχειριστής παραθύρων κ.ά.).

Χρήσεις

Η χρήση του Linux είναι εύρυτατη σε διάφορους τομείς της τεχνολογίας και περιλαμβάνει διανομές γενικής χρήσης για επιτραπέζιους και φορητούς υπολογιστές, διανομές για εξυπηρετητές, διανομές με υποστήριξη συγκεκριμένων αρχιτεκτονικών επεξεργαστή και άλλες εξειδικευμένες διανομές, εκδοχές για ενσωματωμένα συστήματα και έξυπνες συσκευές, και αρκετές ακόμα υλοποιήσεις. Ορισμένες διανομές χρησιμοποιούν αποκλειστικά ελεύθερο λογισμικό.

Επιπλέον, το Linux κυριαρχεί και στους υπερυπολογιστές, καθώς είναι το μοναδικό λειτουργικό σύστημα[3] που χρησιμοποιείται από όλους όσους συμπεριλαμβάνονται στη λίστα «Top500».

Παραπομπές

  1. Linus Torvalds (25 Αυγ. 1991), What would you like to see most in minix?, comp.os.minix
  2. An Interview With Linus Torvalds (1993), The Choice of a GNU Generation, Meta Magazine
  3. TOP500 Supercomputer Sites (Νοε. 2019), Operating system Family / Linux, top500.org