Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

Η παρουσίαση φορτώνεται. Παρακαλείστε να περιμένετε

ΔΙΕΡΓΑΣΙΕΣ ΣΤΟ LINUX ΕΡΓΑΣΙΑ ΤΗΣ ΜΑΘΗΤΡΙΑΣ ΒΙΚΤΩΡΙΑΣ ΜΑΡΓΑΡΙΤΗ.

Παρόμοιες παρουσιάσεις


Παρουσίαση με θέμα: "ΔΙΕΡΓΑΣΙΕΣ ΣΤΟ LINUX ΕΡΓΑΣΙΑ ΤΗΣ ΜΑΘΗΤΡΙΑΣ ΒΙΚΤΩΡΙΑΣ ΜΑΡΓΑΡΙΤΗ."— Μεταγράφημα παρουσίασης:

1

2 ΔΙΕΡΓΑΣΙΕΣ ΣΤΟ LINUX ΕΡΓΑΣΙΑ ΤΗΣ ΜΑΘΗΤΡΙΑΣ ΒΙΚΤΩΡΙΑΣ ΜΑΡΓΑΡΙΤΗ

3 Το Linux είναι ένα λειτουργικό σύστημα που έχει ως πρότυπο ανάπτυξης το σύστημα Unix. Το λειτουργικό σύστημα Unix σχεδιάστηκε και αναπτύχθηκε το 1969, από τους Κen Thompson, Dennis Ritchie, Douglas McIlroy και Joe Ossanna, για λογαριασμό της αμερικανικής εταιρείας AT&T. Κυκλοφόρησε για πρώτη φορά το 1971 και ήταν εξολοκλήρου γραμμένο σε συμβολική γλώσσα την assembly, κάτι που ήταν σύνηθες εκείνη την εποχή. Δύο χρόνια αργότερα, κυκλοφόρησε μια νέα, πρωτοποριακή έκδοση του Unix γραμμένη σε γλώσσα C από τον Dennis Ritchie. ¨Έτσι, επειδή το Unix βασιζόταν πλέον σε μια γλώσσα υψηλού επιπέδου έγινε πιο εύκολη η μεταφορά του σε περισσότερες πλατφόρμες υπολογιστών, καθιστώντας το πολύ δημοφιλές σε ακαδημαϊκά ιδρύματα και επιχειρήσεις.

4 Δημιουργός του πυρήνα Linux είναι ο Linus Torvalds, από το όνομα του οποίου προήλθε και η ονομασία Linux. O Torvalds άρχισε να αναπτύσσει έναν πυρήνα το 1991 εμπνευσμένος από το λειτουργικό MINIX (UNIX), και χρησιμοποιώντας πολλά προγράμματα και βιβλιοθήκες από το GNU του Richard Stallman. Πάνω στον αρχικό πυρήνα του Torvalds έχουν εργαστεί χιλιάδες χρήστες αλλά και εταιρείες. Λόγω των στενότατων σχέσεων μεταξύ Linux και GNU, πολλές φορές το σύστημα αυτό αναφέρεται ώς GNU/Linux, ονομασία που είναι πιο ακριβής και την προτιμά και το Ίδρυμα Ελεύθερου Λογισμικού. Σήμερα το Linux είναι πολύ δημοφιλές καθώς είναι ελεύθερο και ανοιχτού κώδικα λογισμικό. Από την προσχώρηση του Linux στο GNU μέχρι σήμερα, χιλιάδες προγραμματιστές από όλο τον κόσμο συνεισφέρουν κώδικα και αναπτύσσουν από κοινού το Linux.

5 Κάθε διανομή υποστηρίζεται από μια οργανωμένη κοινότητα χρηστών και προγραμματιστών, ενώ ορισμένες από τις διανομές υποστηρίζονται και από εταιρίες που πωλούν είτε εμπορικές εκδόσεις είτε τεχνική υποστήριξη για δωρεάν εκδόσεις. Επιπλέον, δεκάδες τρίτες εταιρίες έχουν συνεισφέρει τα τελευταία χρόνια στην ανάπτυξη του Linux, ανάμεσα στις οποίες και κάποιες πολύ γνωστές όπως η IBM, η Intel, η Google, η Hewlett Pacard, κυρίως για να αυξήσουν τις πωλήσεις των hardware τους, αφού είναι πλέον δεδομένη η διάδοση του Linux στην αγορά των διακομιστών, των κινητών τηλεφώνων και των netbooks. Το Linux αναπτύσσεται με βάση το πρότυπο POSIX, το οποίο είναι μία προσπάθεια τυποποίησης όλων των συστημάτων που βασίζονται ή προσομοιώνουν το σύστημα UNIX.

6 Κάθε διανομή (έκδοση) υποστηρίζεται από μια οργανωμένη κοινότητα χρηστών και προγραμματιστών, ενώ ορισμένες από τις διανομές υποστηρίζονται και από εταιρίες που πωλούν είτε εμπορικές εκδόσεις είτε τεχνική υποστήριξη για δωρεάν εκδόσεις. Επιπλέον, δεκάδες τρίτες εταιρίες έχουν συνεισφέρει τα τελευταία χρόνια στην ανάπτυξη του Linux, ανάμεσα στις οποίες και κάποιες πολύ γνωστές όπως η IBM, η Intel, η Google, η Hewlett Pacard, κυρίως για να αυξήσουν τις πωλήσεις των hardware τους, αφού είναι πλέον δεδομένη η διάδοση του Linux στην αγορά των διακομιστών, των κινητών τηλεφώνων και των netbooks. Το Linux αναπτύσσεται με βάση το πρότυπο POSIX, το οποίο είναι μία προσπάθεια τυποποίησης όλων των συστημάτων που βασίζονται ή προσομοιώνουν το σύστημα UNIX.

7 ΔΙΕΡΓΑΣΙΕΣ

8

9 Όσο αφορά τις διεργασίες, αυτές μπορούμε να τις θεωρήσουμε ως προγράμματα που εκτελούνται στο σύστημα μας. Π.χ., η εκτέλεση μιας εφαρμογής, είναι ένα τυπικό παράδειγμα μιας διεργασίας. Επίσης διεργασίες συναντάμε και στους δαίμονες που τρέχουν στους διακομιστές. (Οι δαίμονες είναι ειδικές εφαρμογές συστήματος η οποίες τυπικά εκτελούνται συνεχώς στο παρασκήνιο και περιμένουν αιτήματα για τις λειτουργίες που παρέχουν από άλλες εφαρμογές. Πολλοί δαίμονες είναι δίκτυο-κεντρικοί, αυτό σημαίνει ότι, ένας μεγάλος αριθμός δαιμόνων που εκτελούνται στο παρασκήνιο σε ένα σύστημα Ubuntu μπορεί να παρέχει λειτουργικότητα σχετική με το δίκτυο.

10 Μερικά παραδείγματα περιλαμβάνουν το Δαίμονα Πρωτοκόλλου Μεταφοράς Υπερκειμένου (httpd), ο οποίος παρέχει λειτουργικότητα διακομιστή ιστού, το Δαίμονα Ασφαλούς Κελύφους (sshd), ο οποίος παρέχει ασφαλή απομακρυσμένη είσοδο κελύφους και δυνατότητες μεταφοράς αρχείων, και το Δαίμονα Πρωτοκόλλου Πρόσβασης Μηνυμάτων Διαδικτύου (imapd), οποίος παρέχει υπηρεσίες Ηλεκτρονικής Αλληλογραφίας). Στην ουσία και οι δαίμονες ειναι διεργασίες οι οποίες εκτελούνται συνεχώς στο παρασκήνιο. Στα συστήματα του UNIX & του Linux κάθε πρόγραμμα που εκτελείται ειναι μια διεργασία. Επίσης περισσότεροι απο ένας χρήστες μπορούν να τρέχουν προγράμματα την ίδια χρονική στιγμή και έτσι περισσότερες απο μια διεργασίες μπορούν να εκτελούνται την ίδια χρονική στιγμή. Για τον λόγο αυτό τα συστήματα του UNIX και του Linux, χαρακτηρίζονται ως Multiuser - MUltitasking.

11 Οι διεργασίες περιμένουν για σήματα, καθένα απο τα οποία ωθεί τις διεργασίες να κάνουν μια συγκεκριμένη λειτουργία. Τα σήματα αναπαρίστανται με αριθμούς και ονόματα. Π.x.: (SIG = SIGNAL) ΑΡΙΘΜΟΣ -> 1 ΟΝΟΜΑ -> SIGHUP (ΣΗΜΑΣΙΑ: Hang UP (Κλείσιμο διεργασίας). ΑΡΙΘΜΟΣ -> 9 ΟΝΟΜΑ -> SIGKILL ( ΣΗΜΑΣΙΑ: Οριστικός τερματισμός που δεν μπορεί να αγνοηθεί).

12 Οι διεργασίες, είναι απόλυτα συνδεδεμένες με το λειτουργικό Σύστημα. Ο πυρήνας του λειτουργικού μας συστήματος είναι αποκλειστικά υπεύθυνος για την προώθηση των σημάτων στις διεργασίες. Πιο συγκεκριμένα, ο χρονοδρομολογητής, είναι εκείνο το τμήμα του πυρήνα που παίρνει αποφάσεις σχετικά με την ανάθεση προς την CPU, για τις διάφορες διεργασίες. Συμπερασματικά, μπορούμε να πούμε οτι η διεργασία είναι ένα στιγμιότυπο του προγράμματος στην RAM, το οποίο υπάρχει εγκατεστημένο μόνιμα στον σκληρό δίσκο.

13

14 Για να υπάρχει λοιπόν καλύτερος χρόνος στην προσπέλαση ενός οποιουδήποτε προγράμματος και να μην πέφτει η απόδοση του συστήματος μας, τα προγράμματα, μόλις φορτώσει ο υπολογιστής τις πληροφορίες απο τον σκληρό, περνάνε στην μνήμη RAM σαν στιγμιότυπα που θα διαγραφούν μόλις η παροχή ρεύματος διακοπεί. Για τις διεργασίες όμως, μεγάλο ρόλο παίζει και ο επεξεργαστής, αφού οι διεργασίες ανταγωνίζονται για τον χρόνο του. Κάτι τέτοιο μπορεί να δημιουργήσει προβλήματα στην απόδοση καθώς ορισμένες από τις διεργασίες πιθανόν να έχουν μεγαλύτερες απαιτήσεις σε επεξεργαστική ισχύ απο άλλες. Έτσι, έχει ορισθεί ένα σύστημα διαχείρισης προτεραιοτήτων, στο οποίο, διεργασίες με υψηλότερη προτεραιότητα θα εκτελούνται πρώτες στην σειρά, ενώ όλες οι υπόλοιπες παίρνουν τον χρόνο της CPU που εναπομένει.

15 Όλες οι διεργασίες έχουν έναν αριθμό «προτεραιότητας», που τον ονομάζουμε PID. Η διεργασία init, είναι η σημαντικότερη διεργασία στο σύστημα μας και παίρνει πάντοτε τον αριθμό 1 ως PID. Είναι μια διαδικασία δαίμονα, η οποία είναι η άμεση ή έμμεση πρόγονος, όλων των άλλων διεργασιών. Υιοθετεί αυτόματα όλες τις ορφανές διαδικασίες. Η init είναι η πρώτη διαδικασία που ξεκινά κατά την εκκίνηση. Έχει ξεκινήσει από τον πυρήνα χρησιμοποιώντας ένα σκληρό κωδικοποιημένο όνομα αρχείου, και αν ο πυρήνας δεν είναι σε θέση να ξεκινήσει, αυτό θα έχει ως αποτέλεσμα τον πανικό του πυρήνα. Η διεργασία Init συνεχίζει να λειτουργεί έως ότου το σύστημα κλείσει.

16 Ο κατάλογος της εντολής init είναι ο παρακάτω: victoria@victoria-SSL:~$ cd /etc/init.d victoria@victoria-SSL:/etc/init.d$ ls acpid hwclock rsyslog acpi-support hwclock-save rwhod alsa-mixer-save irqbalance saned anacron kerneloops screen-cleanup apache2 killprocs sendsigs apparmor lm-sensors single apport module-init-tools skeleton atd mysql smartmontools avahi-daemon networking snmpd binfmt-support network-interface speech-dispatcher bluetooth network-interface-security stop-bootlogd bootlogd ondemand stop-bootlogd-single brltty pcmciautils sudo console-setup plymouth udev cron plymouth-log udev-finish cups plymouth-splash udevmonitor dbus plymouth-stop udevtrigger dmesg pppd-dns ufw dns-clean procps umountfs

17 Failsafe-x pulseaudio umountnfs.sh fancontrol rc umountroot gdm rc.local unattended-upgrades grub-common rcS urandom halt README x11-common hddtemp reboot hostname rsync

18 ΕΝΤΟΛΕΣ ΣΧΕΤΙΚΕΣ ΜΕ ΤΙΣ ΔΙΕΡΓΑΣΙΕΣ

19

20 Στο Linux (και εφόσον ο κέρσορας αναβοσβήνει στο terminal), μπορούμε με απλές εντολές να τερματίσουμε ή να επανεκκινήσουμε οποιαδήποτε διεργασία υπάρχει στον κατάλογο της init. Π.χ.: victoria@victoria-SSL:~$ sudo /etc/init.d/bluetooth stop (για να σταματήσουμε μια διεργασία) victoria@victoria-SSL:~$ sudo /etc/init.d/bluetooth start (για να ξεκινήσουμε μια διεργασία).

21 Άλλη μια πολύ χρήσιμη εντολή με την οποία μπορούμε να εμφανίσουμε διάφορα πράγματα για τις διεργασίες είναι η εντολή ps. Π.x.: victoria@victoria-SSL:~$ ps PID TTY TIME CMD 1922 pts/0 00:00:00 bash 2020 pts/0 00:00:00 ps

22 Πληκτρολογούμε την εντολή ps χωρίς ορίσματα και επισημάνσεις. Εμφανίζεται ο κατάλογος που βλέπουμε επάνω. Όπως αναφέραμε πρίν, το PID είναι ο αναγνωριστικός αριθμός κάθε διεργασίας και αποτελεί την ταυτότητα της, η στήλη TTY δείχνει την συσκευή του τερματικού μας, ενώ το CMD αναφέρεται στην εντολή που εκτελούμε κάθε φορά.

23 Εάν θέλουμε να δούμε τις διεργασίες που σχετίζονται με το τερματικό, απλά χρησιμοποιούμε την σήμανση -a στην ps. Π.χ.: victoria@victoria-SSL:~$ ps -a PID TTY TIME CMD 1683 pts/0 00:00:00 ps

24 Επειδή στο τερματικό μας τρέχει μόνο η διεργασία για την εντολή ps, θα εμφανιστεί η παρακάτω οθόνη: victoria@victoria-SSL:~$ ps -u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME CMD victoria 1659 0.1 0.2 22544 3976 pts/0 Ss 01:12 0:00 bash victoria 1684 0.0 0.0 17768 1200 pts/0 R+ 01:15 0:00 ps –u

25 Το πεδίο USER είναι ο χρήστης του συστήματος. Το PID αποτελεί την ταυτότητα της διεργασίας, το %CPU και το %MEM είναι το ποσοστό χρησιμοποιούμενης CPU και μνήμης αντίστοιχα, το VSZ είναι για την εικονική μνήμη του συστήματος, το RSS αναφέρεται στην πραγματική μνήμη που χρησιμοποιούμε, το ΤΤΥ είναι η συσκευή του τερματικού μας, το STAT αναφέρεται στην κατάσταση της συγκεκριμένης διεργασίας +R σε κατάσταση Running, τo START έχει να κάνει με την ώρα εκκίνησης της εντολής ή διεργασίας, το TIME με τον χρόνο χρήσης της CPU, ενώ τέλος, το CMD με την εντολή που εκτελείται.

26 Η εντολή ps έχει τις περισσότερες σημάνσεις. Οπότε αν θέλουμε να δούμε όλες τις σημάνσεις της μπορούμε να δώσουμε: man ps και αυτό θα μας δώσει έναν κατάλογο 1137 γραμμών που εξηγεί την κάθε σήμανση.

27 KILLALL

28 Άλλη μια πολύ χρήσιμη εντολή είναι η kill, την οποία μπορούμε να χρησιμοποιήσουμε για να τερματίσουμε μια εφαρμογή που έχει κολλήσει, ή που εμείς θέλουμε να «σκοτώσουμε». Μπορούμε να την χρησιμοποιήσουμε με τρείς τρόπους:

29 1)Πληκτρολογώντας την εντολή και το PID της διεργασίας. Πχ.: victoria@victoria-SSL:~$ κill -PID1593

30 2) Πληκτρολογώντας την εντολή και το σήμα SIGHUP της διεργασίας. Πχ.: victoria@victoria-SSL:~$ κillSIGHUP1593

31 3) Τέλος, υπάρχει μια παραλλαγή της εντολής kill, η killall, που «σκοτώνει» όλες τις διεργασίες που τρέχουν και έχουν ένα συγκεκριμένο όνομα, η χρήση της οποίας θα πρέπει να γίνεται με προσοχή, καθώς το οτι παρέχει κάποιον βαθμό ευκολίας στον τερματισμό μιας ομάδας διεργασιών με το ίδιο όνομα, δεν ειναι πάντα τόσο αθώο.

32 Το απλό kill δεν σκοτώνει εντελώς και άμεσα μια εργασία. Τής στέλνει σήμα να τερματίσει και αναλαμβάνει η ίδια να το κάνει. Συνήθως αυτό είναι αρκετό. Υπάρχουν όμως περιπτώσεις που μια εργασία μπορεί να έχει «κρεμάσει» τόσο άσχημα, που να μην αντιδρά καθόλου ούτε καν σε αυτό το σήμα. Με την σήμανση -9 μετά την εντολή, το σήμα δεν στέλνεται στην εργασία, αλλά στον ίδιο τον πυρήνα που αναλαμβάνει να την «σκοτώσει».

33 Κλείνοντας, να πούμε ότι, επειδή αρκετές φορές τυχαίνει να πρέπει να εκτελέσουμε μια εφαρμογή η κάτι άλλο, μέσω τερματικού, πράγμα που σημαίνει πως αν κλείσουμε το τερματικό μας, θα κλείσει και η εφαρμογή που τρέχουμε μέσω αυτού, αφού πρώτα μας δώσει ένα προειδοποιητικό μήνυμα. Μπορούμε βέβαια να ελαχιστοποιήσουμε το τερματικό μας. Όμως, δεν θα ήταν πολύ καλύτερα να το κλείσουμε τελείως, χωρίς όμως να κλείσει η εφαρμογή που έχουμε ανοίξει μέσω αυτού;

34

35 Το μονό που πρέπει να κάνουμε, είναι, αφού έχουμε ήδη ξεκινήσει την εφαρμογή που θέλουμε από το τερματικό μας, να πατήσουμε μέσα σε αυτό με το mouse, επάνω του, συγχρόνως τα πλήκτρα Ctrl και z. Θα συμβεί ένα “πάγωμα” της εφαρμογής και η σχετική ένδειξη στο τερματικό μας, οπότε, αρκεί να δώσουμε την εντολή disown -h %1/ bg 1πατώντας στη συνέχεια Enter. Τώρα, μπορούμε πλέον να κλείσουμε το τερματικό, χωρίς όμως να κλείσει και η εφαρμογή.

36 Είναι κάτι που θα δουλέψει σε όλες τις διανομές και ασχέτως του γραφικού περιβάλλοντος που έχουμε. Φυσικά, η καλύτερη λύση για να μην ξεχνάμε τέτοιες εντολές, αλλά να μπορούμε να τις έχουμε στην διάθεση μας, με ένα κλικ, είναι το CLI companion, το οποίο είναι ένα τερματικό με γραφικό περιβάλλον!

37 Υπάρχουν πάρα πολλές εντολές στο Linux που σχετίζονται με τις διεργασίες. Είδαμε εδώ μερικές από αυτές καθώς θα ήταν αδύνατον να μπορέσουμε να τις απαριθμήσουμε όλες σε μια εργασία τόσο μικρής έκτασης.

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

39


Κατέβασμα ppt "ΔΙΕΡΓΑΣΙΕΣ ΣΤΟ LINUX ΕΡΓΑΣΙΑ ΤΗΣ ΜΑΘΗΤΡΙΑΣ ΒΙΚΤΩΡΙΑΣ ΜΑΡΓΑΡΙΤΗ."

Παρόμοιες παρουσιάσεις


Διαφημίσεις Google