Professional Documents
Culture Documents
(Μέρος 2ο)
Νικόλαος Παπαδάκης
Ελεύθερο Λογισμικό
Το Ελεύθερο Λογισμικό, όπως ορίζεται στον ορισμό του Ελεύθερου
Λογισμικού από το Ίδρυμα Ελευθέρου Λογισμικού, είναι λογισμικό
που μπορεί να χρησιμοποιηθεί, αντιγραφεί, μελετηθεί,
τροποποιηθεί και αναδιανεμηθεί χωρίς περιορισμό.
(Πηγή Βικιπαίδεια)
●
Freedom 0: Freedom to run the program for any purpos”e
●
Freedom 1: Freedom to s”tudy and change the program;
acces”s” to underlying s”ource code
●
Freedom 2: Freedom to s”hare copies” to help your neighbor
●
Freedom 3: Freedom to dis”tribute copies” of modified vers”ions”
for others”
• It is an OS based on UNIX
• 1991 (Linus Torvalds)
• Linux: kernel + GNU project =(GNU/Linux)
• GNU Project: Free software fooundation Richard
Stallman, 1983
●
Το GNU/Linux αποτελείται από τον πυρήνα και μια φαρέτρα
εφαρμογών που ενημερώνεται από τον εκάστοτε διανομέα.
●
Ο πυρήνας (το kernel) διανέμεται με την GNU General
Public Licens”e (GPL) άδεια.
●
Το Free Software Foundation ορίζει ότι:
●
Το λογισμικό ΔΕΝ μπορεί να διανέμεται ΜΟΝΟ σε binary έκδοση
●
Πρέπει να συνοδεύεται ΚΑΙ από τον πηγαίο κώδικα
●
Μεγάλη έμφαση στην ΑΣΦΑΛΕΙΑ και στην ΕΛΕΥΘΕΡΙΑ
●
Δωρεάν για λήψη, δεν υπάρχουν ζητήματα αδειοδότησης ή
δαπάνες για την απόκτησή του
●
Ελευθερία να το μοιράζεστε με τον πλησίον σας
●
Αδιαπέρατο από ιούς
●
Πλήρης σειρά εφαρμογών λογισμικού
●
Χαμηλή χρήση πόρων στην πλευρά υλικού
●
Μεταφέρονται σε μεγάλο αριθμό πλατφορμών υλικού: x86, x64,
ARM, PowerPC, MIPS, S/390, Super H, AMD x86-Εισαγωγή64, VAX
●
Εύχρηστο και φιλικό
●
Διατίθεται σχεδόν σε όλες τις γλώσσες (ομιλούμενες και μη)
●
Ευέλικτο: μπορεί να τρέξει σε πληθώρα υλικού από ρολόγια έως
s”upercomputers”
●
Ubuntu (ubuntu.com) και XUbuntu (όλες οι παράγωγες διανομές)
●
Φιλικό, σταθερό και συνεχώς ενημερωμένο
●
RedHat (www.redhat.com)
●
Πλούσιο, επαγγελματικό, ευρέως χρησιμοποιούμενο
●
Debian (www.debian.org/)
●
Ανοιχτό μοντέλο ανάπτυξης, εξαιρετικό σύστημα συσκευασίας (packaging s”ys”tem)
●
Mandrake (www.mandrakes”oft.com)
●
Σκοπεύει να είναι πολύ εύκολο στην εγκατάσταση και τη χρήση
●
Gentoo (www.gentoo.org)
●
Για προχωρημένους μέγιστοι βαθμοί προσαρμογής
●
Slackware (www.s”lackware.com/)
●
Από τα πιο παραδοσιακά, λίγη επιπλέον βοήθεια
●
Υπάρχουν διανομές με έμφαση πχ στην ασφάλεια:
●
Όπως το https”://tails”.boum.org/ Tails” το αγαπημένο λειτουργικό του Snowden
●
το OpenBSD που σε αντίθεση με άλλα λειτουργικά συστήματα, τα οποία θεωρούν
την ασφάλεια ένα χαρακτηριστικό όπως την απόδοση ή η φιλικότητα, η ομάδα
του OpenBSD δεν θα προσθέσει καμιά γραμμή κώδικα αν δεν είναι απόλυτα
σίγουρο ότι δεν θα επιφέρει κενά ασφαλείας https”://www.openbs”d.org/
●
Ή το freeBSD https”://www.freebs”d.org/ το αγαπημένο των τραπεζών μιας και
όλα τα τραπεζικά συστήματα στηρίζονται σε αυτό το ΛΣ
●
KolibriOS, The fas”tes”t GUI OS in exis”tence?
●
www.kolibrios”.org
●
Ο KolibriOS, είναι γραμμένο εξ ολοκλήρου στη as”s”embly και είναι
πολύ μικρό σε μέγεθος (4,9MB για το ISO) με εκκίνηση μερικά
δευτερόλεπτα. Παρ 'όλα αυτά, περιλαμβάνει πρόγραμμα
περιήγησης ιστού, πρόγραμμα-Εισαγωγήπελάτη ηλεκτρονικού ταχυδρομείου,
παιχνίδια, εργαλεία γραφείου, εντυπωσιακά demos” και πολλά
άλλα, όλα λειτουργούν με ταχύτητα φωτός
I’m doing a (free) operating system (just a hobby, won’t be big and
professional like gnu) for 386(486) AT clones. This has been brewing
since april, and is starting to get ready. I’d like any feedback on
things people like/dislike in minix, as my OS resembles it somewhat
(same physical layout of the file-system (due to practical reasons)
among other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work.
Linux και Unix
●
Το Linux κληρονόμησε πολλά χαρακτηριστικά από άλλα UNIXes”,
όπως:
●
Sys”tem V Releas”e 4 (SVR4) -Εισαγωγή AT&T
●
4.4 BSD releas”e -Εισαγωγή Univers”ity of California at Berkeley (4.4BSD),
●
Digital Unix -Εισαγωγή DEC -ΕισαγωγήCompaq-Εισαγωγή HP,
●
AIX -Εισαγωγή IBM,
●
HP-ΕισαγωγήUX -Εισαγωγή Hewlett-ΕισαγωγήPackard,
●
Solaris” -Εισαγωγή Sun Micros”ys”tems”
Embedded
Devices Raspberry
Pi Tablets
Watches
Laptops Phones
Και στο διάστημα!
March, 2012
Η IBM και η HP έχουν έσοδα με βάση το Linux
της τάξης των δισεκατομμύριων
Πλήθος κερδοφόρων εταιρειών
του Linux
Linux: Περιβάλλον Εργασίας
Linux: Περιβάλλον Εργασίας
●
Πάρα πολλά περιβάλλοντα εργασίας (ακόμα και ταυτόχρονα):
●
GUI, Graphic Us”er Interface with us”age of the X Window Sys”tem, Window
Manager and Des”ktop
●
Command Line, Terminal, Cons”ole
●
Remote acces”s” by us”ing (eg the SSH s”erver and client)
●
Σύστημα X(11) για τα γραφικά, ακόμη και απομακρυσμένα μέσω
s”tandard πρωτοκόλλων.
●
Διαφορές με παραθυριακά λειτουργικά συστήματα (windows”,
Haiku, ReactOS, κλπ)
●
Διάφορα s”hell(s”):
●
Bourne s”hell (s”h)
●
Bourne-ΕισαγωγήAgain s”hell (Bas”h)
●
C s”hell (cs”h)
●
Korn s”hell (ks”h)
●
Z s”hell (zs”h)
●
Cas”e Sens”itive (διαφορά μεταξύ του “Four Freedoms”nick” & “Four Freedoms”Nick”)
●
Prompt ●
CTRL-L clear screen
●
$ απλός χρήστης ●
clear clear screen
●
# root ●
CTRL-D exit terminal
●
reset reset terminal
27
GUIs”
●
Περιλαμβάνει:
●
X Window Sys”tem ("X11") ένα
πρωτόκολλο για την απεικόνιση των
παραθύρων
●
X Window Manager που ελέγχει
ρυθμίσεις παραθύρων
●
Περιβάλλον επιφάνειας εργασίας που
περιλαμβάνει το Διαχειριστή
παραθύρων
●
Εφαρμογές .. εφαρμογές
●
X Window Managers” (FVWM)
●
X Window Managers” (Fluxbox)
●
X Window Managers” (Icewm)
●
X Window Managers” (Openbox)
●
X Des”ktop Environment (Openbox)
●
X Des”ktop Environment (Gnome)
●
X Des”ktop Environment (KDE)
37
Λειτουργικά Συστήματα (ΛΣ)
●
Λειτουργικό σύστημα ή ΛΣ (Operating Sys”tem ή OS) ονομάζεται
το λογισμικό που είναι υπεύθυνο για τη διαχείριση και τον
συντονισμό των εργασιών, καθώς και την κατανομή των
διαθέσιμων πόρων του συστήματος
●
Το λειτουργικό σύστημα παρέχει ένα μεσολαβητικό επίπεδο
λογικής διασύνδεσης μεταξύ λογισμικού και υλικού, διαμέσου του
οποίου οι εφαρμογές αντιλαμβάνονται εμμέσως τον υπολογιστή
●
Μια από τις κεντρικές αρμοδιότητες του λειτουργικού συστήματος
είναι η διαχείριση του υλικού, απαλλάσσοντας έτσι το λογισμικό
του χρήστη από τον άμεσο και επίπονο χειρισμό του υπολογιστή
και καθιστώντας ευκολότερο τον προγραμματισμό τους.
●
Μονολιθικοί πυρήνες (ανήκει το Linux)
●
Στρωματοποιημένη αρχιτεκτονική
●
Αρχιτεκτονική μικροπυρήνα
Applications
Desktop Environment
X11 GUI
Shell/CLI
Kernel
Hardware
Linux Kernel
η καρδιά του συστήματος
Χαρακτηριστικά του πυρήνα του Linux
●
Το module είναι ένα χαρακτηριστικό του πυρήνα ενσωματώνει
αποτελεσματικά πολλά από τα θεωρητικά πλεονεκτήματα των
μικροπυρήνων χωρίς να μειώνουν την απόδοση τουσ συτήματος.
●
Ένα module είναι μια λειτουργική μονάδα (π.χ. ένα σύστημα
αρχείων ή ένας οδηγός συσκευής ή και άλλα χαρακτηριστικά του
ανώτερου επιπέδου του πυρήνα) ο κώδικας του οποίου μπορεί να
συνδεθεί δυναμικά ή να αποσυνδεθεί με (από) τον πυρήνα, κατά
τη διάρκεια του χρόνου εκτέλεσης.
●
Μπορεί επίσης να απομακρυνθεί από τον πυρήνα οποιαδήποτε στιγμή εφόσον δεν
χρειάζεται
●
Ένα module δεν εκτελείται ως μια ειδική διεργασία, όπως
συμβαίνει με τα εξωτερικά επίπεδα των ΛΣ μικροπυρήνα, αλλά
εκτελείται σε κατάσταση πυρήνα εκ μέρους της τρέχουσας
διεργασίας όπως μια οποιαδήποτε στατικά συνδεδεμένη συνάρτηση
πυρήνα (δηλαδή από τη στιγμή που φορτώνεται είναι ό,τι και ο
πυρήνας)
●
Το αποτέλεσμα είναι ένας μικρός σε μέγεθος και συμπαγής
πυρήνας
●
Modularized προσέγγιση
●
Οι προγραμματιστές συστήματος πρέπει να χρησιμοποιούν διεπαφές λογισμικού για
να έχουν πρόσβαση στις δομές δεδομένων που διαχειρίζονται τα modules”. Έτσι
είναι εύκολη η ανάπτυξη νέων modules”
●
Η διεπαφή μέσω modules” επιτρέπει σε ανεξάρτητους κατασκευαστές λογισμικού να
γράφουν και να διανέμουν οδηγούς συσκευών ή συστήματα αρχείων που δεν
μπορούν να διανεμηθούν εξ αρχής.
●
Ανεξαρτησία πλατφόρμας
●
Ένα module παρότι βασίζεται σε κάποια εξειδικευμένα χαρακτηριστικά του υλικού,
δεν είναι εξαρτώμενο από μια συγκεκριμένη πλατφόρμα υλικού π.χ. ένα dis”k
drive module που βασίζεται στο πρότυπο SCSI θα δουλεύει εξίσου καλά σε
πολλές πλατφόρμες
●
Οικονομική χρήση της κεντρικής μνήμης
●
Ένα module συνδέεται στον τρέχοντα πυρήνα όταν απαιτείται και αποσυνδέεται όταν
ολοκληρωθεί η χρήση του. Η διαδικασία αυτή δεν γίνεται άμεσα αντιληπτή από
το χρήστη καθώς η σύνδεση και η αποσύνδεση γίνονται αυτόματα από τον
πυρήνα.
●
Ανυπαρξία επιπτώσεων στην απόδοση
●
Από τη στιγμή που θα συνδεθεί ο object code ενός module είναι ισοδύναμος με τον
object code του στατικά συνδεδεμένου πυρήνα. Δεν υπάρχει απαίτηση για
μεταβίβαση μηνυμάτων όταν οι συναρτήσεις του module ενσωματώνονται στον
πυρήνα.
51
Σύστημα Αρχείων (ΣΑ)
●
Ένα σύστημα αρχείων (ΣΑ, file s”ys”tem ή files”ys”tem ή FS)
είναι μια μέθοδος για την αποθήκευση και την οργάνωση
των δεδομένων των αρχείων που χρησιμοποιούνται σε ένα
σύστημα
●
Ουσιαστικά, τηρεί αυτά τα αρχεία σε μια βάση δεδομένων
με σκοπό την αποθήκευση, την οργάνωση, τη διαχείριση,
και την ανάκτηση τους από το λειτουργικό σύστημα.
●
Ενδεικτικά συστήματα αρχείων δίσκου είναι τα:
●
FAT (FAT12, FAT16, FAT32, exFAT),
●
NTFS,
●
HFS και HFS+,
●
HPFS,
●
UFS,
●
ext2, ext3, ext4,
●
btrfs”,
●
ISO 9660,
●
Rais”erFS,
●
Veritas” File Sys”tem,
●
UDF
●
ZFS.
54
Δομή καταλόγου
●
Κάθε κατάλογος/αρχείο ανήκει σε ένα χρήστη (us”er) και μία
ομάδα χρηστών (group)
●
Κάθε κατάλογος/αρχείο έχει 12 δικαιώματα (Permis”s”ions”)
χωρισμένα σε 4 κατηγορίες:
●
1. Δικαιώματα ιδιοκτήτη (u, owner)
●
2. Δικαιώματα ομάδας (g, group)
●
3. Δικαιώματα υπολοίπων χρηστών (o, other)
●
4. Άλλα δικαιώματα
65
Hard Dis”k Partitioning – κατανομές και δίσκοι
●
Η κατανομή είναι ένας τρόπος υποδιαίρεσης ενός σκληρού δίσκου.
●
Ένας σκληρός δίσκος πρέπει να περιέχει τουλάχιστον ένα διαμέρισμα.
●
Υπάρχουν δύο τύποι διαμερισμάτων -Εισαγωγή πρωταρχικός και εκτεταμένος.
●
Ένας δίσκος μπορεί να περιέχει μέχρι 4 κύρια διαμερίσματα ή έως 3
κύρια και 1 εκτεταμένη κατάτμηση.
●
Ένα πρωτεύον διαμέρισμα μπορεί να χαρακτηριστεί ως ενεργό, αυτό θα
χρησιμοποιηθεί για την εκκίνηση του υπολογιστή.
●
Διαφορετικά λειτουργικά συστήματα μπορούν να εγκατασταθούν σε
διαφορετικά πρωτεύοντα διαμερίσματα -Εισαγωγή επιτρέποντας πολλαπλές
εκκινήσεις.
●
Ένα εκτεταμένο διαμέρισμα δεν μπορεί να προσπελαστεί απευθείας από
το λειτουργικό σύστημα αλλά, αντίθετα, υποδιαιρείται σε λογικές μονάδες
δίσκου.
●
Προκειμένου να είναι χρησιμοποιήσιμο από το λειτουργικό
σύστημα, πρέπει να αρχίσει ένα διαμέρισμα.
●
Στο UNIX / Linux χρησιμοποιείται η εντολή mkfs”, στα
Windows” η εντολή είναι FORMAT.
●
Η διαδικασία αρχικοποίησης δημιουργεί τις απαραίτητες δομές
σε ένα διαμέρισμα δίσκου.
●
Στο UNIX / Linux ένα αρχικό διαμέρισμα αναφέρεται ως
σύστημα αρχείων στα Windows” ονομάζεται μονάδα δίσκου.
●
Separate Έτος file Έτος systems
●
After Έτος mounting
(a) (b)