Εισαγωγή στο UNIX

Τι είναι το UNIX;

UNIX® License PlateΤο UNIX είναι ένα λειτουργικό σύστημα που ξεκίνησε να αναπτύσσεται τη δεκαετία του 1960 και βρίσκεται από τότε σε διαρκή ανάπτυξη. Η έννοια του Λειτουργικού Συστήματος αναφέρεται σε ένα αριθμό προγραμμάτων που κάνει έναν υπολογιστή να λειτουργεί. Το UNIX είναι ένα σταθερό σύστημα το οποίο έχει την ικανότητα να εκτελεί πολλά προγράμματα ταυτόχρονα και να εξυπηρετεί πολλούς χρήστες την ίδια στιγμή. Είναι κατάλληλο για εξυπηρετητές (servers) μηχανήματα γραφείου (dekstops) σταθμούς εργασίας (workstations) και φορητούς υπολογιστές.

Τα συστήματα UNIX διαθέτουν και γραφικό περιβάλλον εργασίας (GUI) παρόμοιο με αυτό που χρησιμοποιείται στα Microsoft Windows. Το γραφικό περιβάλλον παρέχει ένα εύκολο τρόπο εργασίας. Ωστόσο ή γνώση του UNIX είναι απαραίτητη για εργασίες που δεν καλύπτονται από κάποιο γραφικό εργαλείο, ή όταν το γραφικό περιβάλλον δεν είναι διαθέσιμο, για παράδειγμα όταν είμαστε συνδεδεμένοι μέσω απομακρυσμένης πρόσβασης.

Τα Είδη του UNIX

The Linux PenguinΥπάρχουν αρκετές διαφορετικές εκδόσεις του UNIX, αν και οι περισσότερες έχουν αρκετές ομοιότητες. Οι πιο συνηθισμένες είναι το Sun Solaris, το GNU/Linux, διάφορες εκδόσεις BSD και το MacOS X.

Στο σχολείο μας χρησιμοποιούμε FreeBSD στο Εργαστήριο 1 και Debian Linux στο Εργαστήριο 2. Διαθέτουμε ακόμα ένα FreeBSD και ένα Debian εξυπηρετητή.

Το Λειτουργικό Σύστημα UNIX

Το λειτουργικό σύστημα UNIX αποτελείται από τρία βασικά τμήματα: Τον πυρήνα, το κέλυφος και τα υπόλοιπα προγράμματα.

Ο Πυρήνας

Ο πυρήνας του UNIX είναι το κέντρο του λειτουργικού συστήματος. Διαθέτει χρόνο και μνήμη στα προγράμματα και χειρίζεται το σύστημα αρχείων και τις επικοινωνίες, ανταποκρινόμενο στις κλήσεις συστήματος.

Ως παράδειγμα του τρόπου με τον οποίο συνεργάζονται το κέλυφος και ο πυρήνας, ας υποθέσουμε ότι ένας χρήστης γράφει την εντολή rm myfile (η οποία έχει ως αποτέλεσμα τη διαγραφή του αρχείου myfile). Το κέλυφος ψάχνει στο σύστημα αρχείων για το αρχείο που περιέχει το πρόγραμμα rm και έπειτα ζητάει από τον πυρήνα, μέσω κλήσεων συστήματος να εκτελέσει το rm στο myfile. Όταν ολοκληρωθεί η διεργασία rm myfile το κέλυφος επιστρέφει την προτροπή % στο χρήστη, δείχνοντας του έτσι ότι είναι έτοιμο να δεχθεί άλλες εντολές.

Το Κέλυφος

Το κέλυφος ενεργεί ως διεπαφή (ενδιάμεσος) μεταξύ του χρήστη και του πυρήνα. Όταν ο χρήστης εισέλθει στο σύστημα, το πρόγραμμα που είναι υπεύθυνο για την αναγνώριση του (το login) ελέγχει το όνομα χρήστη και τον κωδικό του και κατόπιν ξεκινάει το πρόγραμμα που είναι γνωστό ως κέλυφος. Το κέλυφος είναι ένα πρόγραμμα ερμηνείας εντολών (command line interpreter ή CLI). Ερμηνεύει τις εντολές που γράφει ο χρήστης και κανονίζει για την εκτέλεση τους. Οι εντολές του χρήστη είναι και αυτές προγράμματα: όταν τερματίζουν, το κέλυφος δείχνει ξανά την προτροπή (% ή $) στο χρήστη δείχνοντας ότι μπορεί να συνεχίσει με την εκτέλεση άλλων εντολών.

Όποιος χρήστης διαθέτει ικανές γνώσεις μπορεί να προσαρμόσει τη συμπεριφορά του κελύφους του. Υπάρχει ακόμα η δυνατότητα χρήσης διαφορετικού κελύφους ακόμα και σε ένα μόνο μηχάνημα. Στο σχολείο μας το κέλυφος που χρησιμοποιούμε από προεπιλογή είναι το bash.

To bash έχει κάποια χαρακτηριστικά που βοηθούν το χρήστη όταν εισάγει εντολές:

Αυτόματη συμπλήρωση ονόματος αρχείου - Πληκτρολογώντας μόνο ένα μέρος μιας εντολής ή ενός ονόματος αρχείου και πιέζοντας το Tab, το κέλυφος θα συμπληρώσει αυτόματα το υπόλοιπο μέρος. Αν το κέλυφος βρει περισσότερα από ένα ονόματα που να ταιριάζουν με τα γράμματα που έχουν πληκτρολογηθεί, θα ακουστεί ένας χαρακτηριστικός ήχος (beep) που σημαίνει ότι πρέπει να γράψετε ακόμα μερικά γράμματα και να πιέσετε ξανά το tab.

Ιστορικό - Το κέλυφος διατηρεί μια λίστα των εντολών που έχετε πληκτρολογήσει. Αν πρέπει να επαναλάβετε μια εντολή μπορείτε να χρησιμοποιήσετε τα πάνω και κάτω βελάκια στο πληκτρολόγιο για να δείτε και να εκτελέσετε ξανά τις προηγούμενες εντολές. Μπορείτε επίσης να γράψετε την εντολή history για να δείτε μια λίστα με τις προηγούμενες εντολές σας.

Αρχεία και Διεργασίες

Στο UNIX τα πάντα είναι είτε αρχείο είτε διεργασία.

Μια διεργασία είναι ένα πρόγραμμα που εκτελείται τη δεδομένη στιγμή και μπορεί να αναγνωριστεί από ένα μοναδικό αριθμό διεργασίας, PID (process identifier).

Ένα αρχείο είναι μια συλλογή δεδομένων. Τα αρχεία δημιουργούνται από τους χρήστες με την βοήθεια συντακτών κειμένου, μεταγλωττιστών κ.λ.π.

Παραδείγματα αρχείων:

Δομή Καταλόγων

Τα αρχεία ομαδοποιούνται σε μια δομή καταλόγων. Το σύστημα αρχείων έχει ιεραρχική δομή, όπως ένα ανάστροφο δέντρο. Η κορυφή της ιεραρχίας κατά παράδοση ονομάζεται root (και γράφεται ως μια κάθετος / )

Unix File Structure

Στο παραπάνω διάγραμμα, βλέπουμε ότι ο προσωπικός κατάλογος (home) του προπτυχιακού φοιτητή "ee51vn" περιέχει δύο υποκαταλόγους (docs και pics) και ένα αρχείο, το report.doc.

Η πλήρης διαδρομή για το αρχείο report.doc είναι "/home/its/ug1/ee51vn/report.doc"

Ξεκινώντας Ένα Τερματικό του UNIX

Για να ανοίξετε ένα τερματικό του UNIX, κάντε click στο εικονίδιο "Terminal" icon στο μενού Applications/Accessories (Η ακριβής τοποθεσία μπορεί να είναι διαφορετική ανάλογα με το γραφικό περιβάλλον που χρησιμοποιείτε).

Gnome Menus

 

Θα εμφανιστεί ένα παράθυρο τερματικού με μια προτροπή (% ή $) στο οποίο μπορείτε να αρχίσετε να γράφετε εντολές.

Unix Terminal window

 

M.Stonebank@surrey.ac.uk, © 9th October 2000