Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
|
|
- Φοῖνιξ Γιάνναρης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος Οδηγός προγραμματισμού σε περιβάλλον QEMU-KVM Εργαστήριο Υπολογιστικών Συστημάτων Ε.Μ.Π. Μάρτιος 2016
2 Περιεχόμενα 1 Εισαγωγή Χώρος πυρήνα και χώρος χρήστη 3 2 Virtualization (Εικονικοποίηση) 4 3 Προετοιμασία host μηχανήματος Έλεγχος για CPU virtualization extensions Φόρτωση KVM modules Εγκατάσταση του QEMU Χρήση του QEMU - εικονική μηχανή ανάπτυξης 10 5 (Προαιρετικά) Μεταγλώττιση πυρήνα για το VM 12 6 Συχνές ερωτήσεις 15 7 Μία κλήση συστήματος Hello, World! στο Linux 16 8 Περισσότερες πληροφορίες 19 Επιμέλεια: Δ. Σιακαβάρας, Β. Καρακάσης, Γ. Κουβέλη, Ευ. Κούκης 2
3 1 Εισαγωγή Χώρος πυρήνα και χώρος χρήστη Το Linux είναι ένα σύγχρονο λειτουργικό σύστημα που ακολουθεί την παράδοση του Unix. Υποστηρίζει πολλούς ταυτόχρονους χρήστες (είναι δηλαδή multi-user) και πολλές ταυτόχρονες διεργασίες (είναι multi-tasking), οι οποίες μοιράζονται το χρόνο της CPU. Η οργάνωση του λογισμικού ενός υπολογιστικού συστήματος όταν χρησιμοποιείται το Linux παρουσιάζεται στο παρακάτω σχήμα. userspace kernelspace system calls Linux Σχήμα 1: Οργάνωση σε χώρους πυρήνα και χρήστη Εφόσον πολλές διαφορετικές διεργασίες πολλών διαφορετικών χρηστών εκτελούνται στο ίδιο υπολογιστικό σύστημα, είναι ανάγκη να υπάρχουν συγκεκριμένοι μηχανισμοί απομόνωσης και ελέγχου πρόσβασης, ώστε διεργασίες που ανήκουν σε κάποιον χρήστη να μην έχουν πρόσβαση σε δεδομένα άλλων χρηστών, μία διεργασία που δυσλειτουργεί να μην επηρεάζει τη λειτουργία των υπολοίπων αλλά και να εξασφαλίζεται η δίκαιη κατανομή των πόρων του συστήματος ανάμεσα στις διεργασίες (χρόνος CPU, μνήμη, πρόσβαση σε συσκευές Ι/Ο). Για να ικανοποιηθούν οι παραπάνω περιορισμοί, κάθε διεργασία εκτελείται απομονωμένη από τις υπόλοιπες, στον δικό της εικονικό χώρο διευθύνσεων αλλά και απομονωμένη από το hardware (δεν επιτρέπεται η εκτέλεση εντολών I/O). Για να μπορέσει να χρησιμοποιήσει τους πόρους του υπολογιστικού συστήματος, χρησιμοποιεί τις υπηρεσίες του πυρήνα του Linux μέσα από τον μηχανισμό των κλήσεων συστήματος. Ο πυρήνας είναι το μόνο πρόγραμμα που έχει τη δυνατότητα για απευθείας προσπέλαση στο υλικό. Ελέγχει κάθε κλήση συστήματος και αν επιτρέπεται η πρόσβαση στη συγκεκριμένη διεργασία, ικανοποιεί το αίτημά της και επιστρέφει τα αποτελέσματα. Είναι φανερή λοιπόν η διάκριση ανάμεσα στο χώρο πυρήνα (kernelspace) και το χώρο χρήση (userspace). Ο κώδικας των διεργασιών, που εκτελείται στο userspace, δεν επιτρέπεται να προσπελάσει απευθείας το υλικό και δεν έχει πρόσβαση στο χώρο μνήμης άλλων διεργασιών. Αντίθετα, ο κώδικας του πυρήνα, που εκτελείται στο kernelspace έχει ελεύθερη πρόσβαση στο υλικό και στη μνήμη του συστήματος. 3
4 Επιπλέον, πιθανή δυσλειτουργία του μπορεί να αποβεί μοιραία για τη λειτουργία του υπολογιστικού συστήματος. 2 Virtualization (Εικονικοποίηση) Στις ασκήσεις του Εργαστηρίου Λειτουργικών Συστημάτων σας ζητείται η τροποποίηση του πυρήνα του Linux, ώστε να προστεθούν νέες λειτουργίες (κλήση συστήματος, υποστήριξη συσκευών). Παρόλο που για την διαδικασία ανάπτυξης (τροποποίηση κώδικα, μεταγλώττιση) δεν χρειάζονται αυξημένα δικαιώματα, μόνο ο διαχειριστής του συστήματος (χρήστης root) έχει το δικαίωμα τόσο να εγκαταστήσει ένα νέο πυρήνα όσο και να εισαγάγει κάποιο kernel module στον πυρήνα που ήδη τρέχει. Ο λόγος πίσω από αυτό τον περιορισμό είναι λίγο-πολύ προφανής: ο,τιδήποτε τρέχει στον χώρο πυρήνα, μπορεί να κάνει τα πάντα σε ένα σύστημα. Επομένως, εάν όλοι οι χρήστες είχαν αυτό το δικαίωμα, τότε η ασφάλεια και η σταθερότητα του συστήματος θα είχαν καταστρατηγηθεί. Ακόμη όμως και αν κανείς είναι ο διαχειριστής ενός συστήματος, δεν είναι σοφή ιδέα να δοκιμάζει τις αλλαγές που έκανε στον πυρήνα απευθείας σε ένα μηχάνημα, ειδικά εάν αυτό το χρησιμοποιούν και άλλοι χρήστες, γιατί και με αυτό τον τρόπο διακυβεύεται η ασφάλεια και η σταθερότητα του συστήματος. Η λύση στα παραπάνω ζητήματα που αφορούν στον προγραμματισμό του πυρήνα του Linux, είναι η χρήση εικονικοποίησης, η οποία αναλύεται στην συνέχεια. Με τον όρο εικονικοποίηση (virtualization), αναφερόμαστε συνήθως σε με μεθόδους και τεχνικές για τη δημιουργία «εικονικών» αντικειμένων, αντίστοιχων των «φυσικών», τα οποία μπορούν να χρησιμοποιηθούν με ισοδύναμο τρόπο. Στην περίπτωσή μας αναφερόμαστε σε εικονικοποίηση υλικού (full virtualization), όπου ο τελικός στόχος είναι η κατασκευή ολόκληρων εικονικών μηχανών (virtual machines): προσομοιώνουμε τη λειτουργία ενός ολόκληρου υπολογιστικού συστήματος σε λογισμικό. Μέσα στην εικονική μηχανή που προκύπτει, ο χρήστης μπορεί να τρέχει το Λειτουργικό Σύστημα και εφαρμογές με τον ίδιο ακριβώς τρόπο όπως και στο πραγματικό μηχάνημα. Τα πλεονεκτήματα είναι πολλά, ανάμεσα στα άλλα: (i) ευελιξία ταυτόχρονη εκτέλεση πολλών διαφορετικών ΛΣ στο ίδιο φυσικό σύστημα, (ii) φορητότητα προγράμματα εκτελούνται σε σε διαφορετικό υλικό από αυτό για το ποίο έχουν γραφτεί/μεταγλωττιστεί, (iii) ασφάλεια κάθε εικονική μηχανή εκτελείται απομονωμένα από όλες τις υπόλοιπες και από το φυσικό υλικό, (iv) αποδοτικότερη χρήση των φυσικών πόρων μεγάλο πλήθος εικονικών μηχανών μπορεί να μοιράζεται περιορισμένους φυσικούς πόρους, (v) βελτιωμένη αξιοπιστία η εικονική μηχανή μπορεί να μεταφερθεί σε διαφορετικό φυσικό σύστημα, ώστε να συνεχίσει τη λειτουργία χωρίς διακοπή, ξεπερνώντας προβλήματα του υλικού, π.χ. μια επερχόμενη διακοπή ρεύματος. 4
5 Η προσομοίωση της λειτουργίας ενός υπολογιστικού συστήματος εξ ολοκλήρου σε λογισμικό είναι μια υπολογιστικά απαιτητική διαδικασία. Η ανάγκη για μετάφραση από το σύνολο εντολών της εικονικής μηχανής ( guest ) στο σύνολο εντολών του φυσικούς μηχανήματος ( host ) εισάγει σημαντική επιβάρυνση στην ταχύτητα εκτέλεσης της εικονικής μηχανής. Για το λόγο αυτό, συνήθως δεν γίνεται μετάφραση κάθε εντολής, αλλά η εικονική μηχανή εκτελείται σε φυσικό σύστημα με το ίδιο σύνολο εντολών. Έτσι, τα πράγματα απλοποιούνται σημαντικά: το λογισμικό δεν χρειάζεται να μεταφράζει κάθε εντολή, αλλά χρειάζεται να παρεμβαίνει για να συντηρήσει την ψευδαίσθηση μόνο όταν η εικονική μηχανή χρειάζεται να εκτελέσει μια προνομιούχο εντολή. Επιπλέον, η αυξημένη ζήτηση για αποδοτική εκτέλεση εικονικών μηχανών, οδήγησαν στην ανάπτυξη ειδικών επεκτάσεων υλικού (π.χ. ειδικές εντολές στο σύνολο εντολών των σύγχρονων επεξεργαστών), έτσι ώστε το υλικό να υποστηρίζει αποδοτικότερα λειτουργίες εικονικοποίησης. Οι νεότεροι επεξεργαστές x86, τόσο από την AMD όσο και από την Intel, διαθέτουν τέτοιες επεκτάσεις, επιτρέποντας την εκτέλεση εικονικών μηχανών με απόδοση που προσεγγίζει αυτή του πραγματικού μηχανήματος. Παραδείγματα λογισμικού virtualization αποτελούν τα VMWare ESXi, Microso Hyper-V, Oracle VM VirtualBox, Xen και QEMU. Στο εργαστήριο θα χρησιμοποιήσουμε για τη δημιουργία εικονικών μηχανών το QEMU-KVM, δηλαδή το λογισμικό QEMU σε συνδυασμό με το υποσύστημα KVM του πυρήνα του Linux. Το KVM (Kernel-based Virtual Machine) είναι ένα υποσύστημα εικονικοποίησης που έχει ενσωματωθεί στον πηγαίο κώδικα του πυρήνα του Linux από την έκδοση , το οποίο προσφέρει έναν ενιαίο τρόπο για χρήση των επεκτάσεων εικονικοποίησης του επεξεργαστή. Αποτελείται από δύο modules, το kvm.ko και το kvm_intel.ko ή το kvm_amd.ko ανάλογα με το μοντέλο του επεξεργαστή του φυσικού μηχανήματος. Το QEMU (Quick EMUlator) είναι μία πλατφόρμα για τη δημιουργία και διαχείριση εικονικών μηχανών. Το QEMU εκτελείται σε επίπεδο χρήστη και υποστηρίζει εικονικοποίηση είτε αμιγώς μέσω λογισμικού, είτε εικονικοποίηση μέσω υλικού. Στην πρώτη περίπτωση δεν απαιτεί ειδική υποστήριξη από το υλικό αλλά είναι πολύ αργό, ειδικά αν το σύνολο εντολών της εικονικής μηχανής διαφέρει από το σύνολο εντολών του φυσικού μηχανήματος. Στη δεύτερη περίπτωση, χρησιμοποιεί το KVM που είδαμε προηγουμένως ώστε να έχει πρόσβαση στις επεκτάσεις εικονικοποίησης του επεξεργαστή. Τότε, η εικονική μηχανή είναι απαραίτητο να είναι της ίδιας αρχιτεκτονικής με το μηχάνημα στο οποίο εκτελείται. Εκτελώντας μία διεργασία qemu στο χώρο χρήστη του πραγματικού συστήματος, θα μπορείτε να έχετε τη δική σας εικονική μηχανή, στην οποία θα έχετε πλήρες δι- 5
6 καίωμα διαχειριστή και δυνατότητα για οποιαδήποτε μεταβολή στο σύστημα. Ταυτόχρονα όμως θα είστε περιορισμένοι στο χώρο χρήστη του πραγματικού συστήματος. Το πώς ακριβώς γίνεται αυτό, αναλύεται στη συνέχεια. Στις επόμενες ενότητες θα αναφερόμαστε με τον όρο host στο πραγματικό μας μηχάνημα στο οποίο εκτελείται το QEMU, ενώ με τον όρο guest θα εννοούμε την εικονική μηχανή. 3 Προετοιμασία host μηχανήματος Για την εκτέλεση του QEMU-KVM όπως περιγράφεται στον παρόντα οδηγό, θα χρειαστείτε πρόσβαση σε κάποιο μηχάνημα το οποίο διαθέτει επεξεργαστή με δυνατότητες εικονικοποίησης και τρέχει κάποια διανομή Linux. Μπορείτε να χρησιμοποιήσετε ένα δικό σας μηχάνημα, ή, αν θέλετε να ακολουθήσετε ακριβώς τις οδηγίες του παρόντος οδηγού, να δημιουργήσετε μία εικονική μηχανή στην υπηρεσία okeanos ( βλ. ενότητα 6). Στο σημείο αυτό μπορείτε να αποκτήσετε πλήρη γραφική πρόσβαση στο host μηχάνημά σας, αλλά και στο guest VM αργότερα, χρησιμοποιώντας το σύστημα X2Go. Ο server του X2Go είναι ήδη εγκατεστημένος στις υποστηριζόμενες εικόνες μηχανών του okeanos, αλλά και στο root filesystem που σας δίνεται για την εικονική μηχανή ανάπτυξης. Η σύνδεση X2Go πραγματοποιείται πάνω από κρυπτογραφημένο κανάλι ssh. Ακολουθήστε τις οδηγίες σύνδεσης όπως περιγράφονται στην ενότητα 6. ΠΡΟΣΟΧΗ: Στα ακόλουθα υποθέτουμε μια διανομή Debian ή βασισμένη στο Debian. Οι οδηγίες έχουν δοκιμαστεί πλήρως σε διανομή Ubuntu LTS bit. Θεωρούμε ότι υπάρχει λογαριασμός απλού χρήστη user κι εκτελείτε τις εντολές ως user. Η εικόνα της εικονικής μηχανής που σας δίνεται (cslab_rootfs) είναι μηχάνημα Debian Wheezy x86-64, οπότε απαιτείται κι ο host να είναι εγκατάσταση x86-64 για να εκτελέσει εικονική μηχανή αυτού του τύπου με KVM. Πριν ξεκινήσετε, βεβαιωθείτε ότι έχετε θέσει το password του root, και μπορείτε να αποκτήσετε root shell, δίνοντας su -. Για το σκοπό αυτό: $ sudo su -... enter user's password here, if requested... # passwd... change password for root, pick a STRONG password... # exit $ su -... enter password for root again... #... you are now the superuser, note the different prompt. 6
7 # exit $... back to unprivileged user shell. Το πρώτο πράγμα που πρέπει να κάνουμε στο μηχάνημα αυτό που θα χρησιμοποιηθεί ως host για τις εικονικές μηχανές μας, είναι να εγκαταστήσουμε κάποια πακέτα από τα repositories της διανομής μας τα οποία απαιτούνται. Για αυτό το σκοπό δίνουμε ως root την επόμενη εντολή¹ # apt-get install gcc make vim socat bzip2 # apt-get install zlib1g-dev libglib2.0-dev xtightvncviewer # apt-get install autoconf libtool flex bison # apt-get install libncurses5-dev 3.1 Έλεγχος για CPU virtualization extensions Για να ελέγξετε αν ο υπολογιστής σας παρέχει επεκτάσεις εικονικοποίησης ανοίξτε ένα τερματικό και δώστε την παρακάτω εντολή: $ egrep '(vmx svm)' /proc/cpuinfo Σε περίπτωση που η εντολή εκτυπώσει έξοδο που περιλαμβάνει τις λέξεις vmx (Intel) ή svm (AMD) σημαίνει ότι ο επεξεργαστής σας παρέχει δυνατότητες εικονικοποίησης. Για παράδειγμα, η έξοδος της παραπάνω εντολής για επεξεργαστή Intel δίνει έξοδο παρόμοια με την παρακάτω: flags : fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe nx lm constant_tsc arch_perfmon pebs bts aperfmperf pni dtes64 monitor ds_cpl vmx smx est tm2 ssse3 cx16 xtpr pdcm sse4_1 xsave lahf_lm dtherm tpr_shadow vnmi flexpriority 3.2 Φόρτωση KVM modules Αφού έχουμε βεβαιωθεί ότι ο επεξεργαστής μας παρέχει τις επεκτάσεις εικονικοποίησης, πρέπει να ελέγξουμε αν ο πυρήνας Linux που τρέχουμε περιλαμβάνει τα modules του KVM. Αν η εντολή $ lsmod grep kvm ¹Στα επόμενα παραδείγματα υποθέτουμε ότι $ είναι το πρωτεύον prompt (PS1) του χρήστη, # του root, > το δευτερεύον (PS2). 7
8 δε δώσει κάποια έξοδο σημαίνει ότι τα modules είτε δεν περιλαμβάνονται στον πυρήνα μας είτε ότι απλά δεν έχουν φορτωθεί. Στην πρώτη περίπτωση θα πρέπει να κάνουμε χειροκίνητη εγκατάσταση του KVM αλλά κάτι τέτοιο δεν είναι στα πλαίσια αυτού του μαθήματος και παραλείπεται. Στην δεύτερη περίπτωση αρκεί να δώσουμε ώς root (εντολή su) # modprobe kvm_amd (ή kvm_intel, ανάλογα με την αρχιτεκτονική) η οποία θα φορτώσει αυτόματα και το module kvm, απ όπου εξαρτώνται τα kvm_{amd, intel}. Τέλος, με $ lsmod grep kvm πρέπει να βλέπουμε τα δύο φορτωμένα modules του πυρήνα. Σε περίπτωση που χρειάστηκε να φορτώσουμε τα modules με το χέρι μπορούμε να ρυθμίσουμε τον πυρήνα να τα φορτώνει κατά την εκκίνηση του υπολογιστή. Για να γίνει αυτό χρειάζεται να προσθέσουμε στο αρχείο /etc/modules τις γραμμές kvm και kvm_{intel, ή kvm_amd}. Αυτό μπορεί να γίνει με την εντολή # echo -e "kvm\nkvm_amd" >> /etc/modules Σε αυτό το σημείο αφού έχουμε φορτώσει τα modules του KVM στον πυρήνα μας, πρέπει να βλέπουμε το ειδικό αρχείο /dev/kvm το οποίο χρησιμοποιεί όποιο πρόγραμμα θέλει να χρησιμοποιήσει τις επεκτάσεις εικονικοποίησης ώστε να καλέσει τις υπηρεσίες του KVM. Για να σηκώσουμε μία εικονική μηχανή με χρήση QEMU- KVM πρέπει να έχουμε δικαιώματα εγγραφής-ανάγνωσης σε αυτό το αρχείο. Αρχικά, το αρχείο αυτό δημιουργείται με δικαιώματα ανάγνωσης-εγγραφής (rw) για το χρήστη root και το group root. Επειδή θέλουμε για λόγους ασφάλειας κι απομόνωσης οι εικονικές μας μηχανές να εκτελούνται με δικαιώματα χρηστών εκτός του root, θα δημιουργήσουμε ένα group kvm, αν δεν υπάρχει, στο οποίο θα προσθέσουμε τον χρήστη με τον οποίο εμείς χρησιμοποιούμε το σύστημα (π.χ. user), και θα ρυθμίσουμε το αρχείο /dev/kvm να δημιουργείται με δικαιώματα στο group αυτό. Αυτό γίνεται ως εξής: $ su # groupadd kvm # usermod -ag kvm user # echo KERNEL==\"kvm\", GROUP=\"kvm\" >> \ > /etc/udev/rules.d/40-permissions.rules # modprobe -r kvm_amd # modprobe -r kvm # modprobe kvm_amd 8
9 # exit $ groups user adm cdrom sudo dip plugdev lpadmin sambashare Επειδή μόλις προσθέσαμε τον χρήστη user στο group kvm, ο τρέχων φλοιός του χρήστη εκτελείται χωρίς δικαίωμα στο group kvm. Για να αποκτήσει δικαίωμα στο group kvm, ο απλούστερος τρόπος είναι ο χρήστης να αποσυνδεθεί (logout) και να συνδεθεί εκ νέου. Οπότε ανήκει στο group, κι έχει δικαίωμα εγγραφής στο /dev/ kvm: $ groups user adm cdrom sudo dip plugdev lpadmin sambashare kvm $ ls -l /dev/kvm crw-rw root kvm 10, 232 Mar 9 19:53 /dev/kvm 3.3 Εγκατάσταση του QEMU Το QEMU είναι διαθέσιμο από τα repositories των περισσότερων διανομών αλλά σε αυτήν την ενότητα θα δείξουμε πως μπορούμε να κάνουμε τη μεταγλώττιση του κατευθείαν από τον πηγαίο κώδικά του, καθώς θα μας φανεί χρήσιμο και για επόμενες εργαστηριακές ασκήσεις. Για το σκοπό αυτό, κατεβάζουμε τον πηγαίο κώδικα ( τον αποσυμπιέζουμε και τον μεταγλωττίζουμε. Στα επόμενα, υποθέτουμε ότι χτίζουμε την έκδοση QEMU 2.0.0: $ wget $ tar xjvf qemu tar.bz2 $ cd qemu $./configure --prefix=/path/to/qemu/build/dir --enable-kvm \ > --target-list=x86_64-softmmu $ make $ make install Ως μονοπάτι εγκατάστασης του QEMU επιλέγουμε ένα μονοπάτι στο οποίο ο χρήστης μας έχει δικαίωμα εγγραφής, π.χ. το /home/user/opt/qemu, δημιουργώντας το αν χρειαστεί εκ των προτέρων. Το χτίσιμο του QEMU θα πάρει λίγη ώρα. Αν όλα πάνε καλά, με το τέλος διαδικασίας στο /path/to/qemu/build/dir/ θα έχουμε το build tree του QEMU. Σε αυτό το σημείο το μηχάνημα το οποίο θα χρησιμοποιηθεί ως host για τις εικονικές μηχανές μας είναι έτοιμο. 9
10 4 Χρήση του QEMU - εικονική μηχανή ανάπτυξης Για τη δική σας ευκολία, σας παρέχονται δύο αρχεία για να να ξεκινήσετε τη λειτουργία της εικονικής σας μηχανής για ανάπτυξη του κώδικά σας: (i) utopia.sh, το οποίο εκκινεί την εικονική μηχανή, και (ii) utopia.config, το οποία περιέχει τις απαραίτητες ρυθμίσεις ώστε να μπορέσει να εκκινήσει σωστά η εικονική μηχανή. Το script utopia.sh διαβάζει τις παραμέτρους στο utopia.config και ξεκινά την εικονική μηχανή. Εάν συμβεί κάποιο λάθος, θα το επισημάνει και θα προτείνει κάποια πιθανή λύση. Αρχικά, όλες οι παράμετροι στο utopia.config είναι σε σχόλια, οπότε θα πρέπει να τις ενεργοποιήσετε για να τρέξει επιτυχώς το utopia.sh. Το utopia.config περιέχει στην ουσία μία σειρά από μεταβλητές περιβάλλοντος που χρησιμοποιεί το utopia.sh κατά τη λειτουργία του. Οι μεταβλητές αυτές είναι: QEMU_BUILD_DIR Αυτός είναι ο κατάλογος στον οποίο έχει γίνει η εγκατάσταση του QEMU. Αν ο κατάλογος υπάρχει, τo utopia.sh θα ψάξει εκεί για το εκτελέσιμο bin/qemu-system-x86_64, το οποίο και θα χρησιμοποιήσει για να εκκινήσει την εικονική μηχανή. QCOW2_BACKING_FILE Αυτό είναι το αρχικό Image που θα χρησιμοποιήσει η εικονική μηχανή για να τρέξει ένα πλήρες σύστημα Linux. Στο filesystem που σας παρέχεται στο εργαστήριο, υπάρχει εγκατεστημένο Debian 6.0 (Squeeze). Τίποτε δεν γράφεται σε αυτό το αρχείο. Όλες οι αλλαγές σας, καταλήγουν στο αρχείο $QCOW2_PRIVATE_FILE, δηλ. στο private.qcow2 Σβήνοντάς το, η μηχανή επαναφέρεται στην αρχική της κατάσταση. Για να ξεκινήσετε, κατεβάστε το root filesystem της εικονικής σας μηχανής από το site του μαθήματος, έστω cslab_rootfs_ raw.gz, αποσυμπιέστε το, με χρήση του εργαλείου gunzip, και μετακινήστε το σε φάκελο της επιλογής σας, έστω ~/utopia: $ mkdir ~/utopia $ wget \ > / cslab_rootfs_ raw.gz $ gunzip cslab_rootfs_ raw.gz $ mv cslab_rootfs_ raw ~/utopia Αφού πλέον έχετε ρυθμίσει σωστά την εικονική σας μηχανή, μπορείτε να την εκκινήσετε εκτελώντας το utopia.sh. $./utopia.sh Η εικονική μηχανή θα ξεκινήσει και θα τυπωθούν διαγνωστικά μηνύματα σχετικά με το πώς μπορείτε να συνδεθείτε σε αυτήν. Η εικονική μηχανή που σας δίνεται 10
11 έχει ρυθμισμένους δύο χρήστες, τους user και root, με passwords user και root αντίστοιχα. Υπάρχουν οι εξής τρόποι σύνδεσης στην εικονική σας μηχανή: Με VNC viewer, από το φυσικό μηχάνημα, ή το εξωτερικό VM: vncviewer localhost:0. Είναι αργός τρόπος, αλλά διευκολύνει πολύ το debugging, γιατί μπορείτε να δείτε την εκκίνηση της μηχανής από την πρώτη στιγμή. Υπόδειξη: Πατήστε F8 στο παράθυρο του VNC viewer για να μπορέσετε να στείλετε τον συνδυασμό πλήκτρων Ctrl-Alt-Del στην εικονική μηχανή. Με ssh από τον host / εξωτερική εικονική μηχανή, στο port 22223, με χρήση της εντολής ssh -p root@localhost. Η εσωτερική εικονική μηχανή ακούει στο TCP port του localhost (εξωτερικού VM). Με χρήση του x2goclient από την εξωτερική μηχανή στην εσωτερική μηχανή, πάλι με σύνδεση ssh στο port του localhost. Μπορείτε να αλλάξετε τη μεταβλητή UTOPIA_SSH_INTERFACE στο utopia.config, ώστε η εικονική μηχανή ανάπτυξης να επιτρέπει συνδέσεις από οπουδήποτε. Με το τρόπο αυτό θα μπορείτε να συνδέεστε απευθείας προς αυτή, από οποιοδήποτε εξωτερικό μηχάνημα, στη θύρα του εξωτερικού μηχανήματος, π.χ. snf-xxxx. vm.okeanos.grnet.gr. ΠΡΟΣΟΧΗ: Βεβαιωθείτε ότι έχετε θέσει ισχυρά passwords και για τους δύο χρήστες, user και root, πριν ενεργοποιήσετε μια τέτοια επιλογή. Ακριβώς όπως και για ένα πραγματικό μηχάνημα, η λειτουργία της εικονικής μηχανής πρέπει να τερματίζεται σωστά. Ως root, χρησιμοποιήστε την εντολή halt ή poweroff για να «σβήσετε» την εικονική μηχανή, ή την εντολή reboot για να κάνετε επανεκκίνηση. Εάν για κάποιο λόγο η εικονική μηχανή δεν αποκρίνεται, π.χ. ο τροποποιημένος πυρήνας σας εκτελέσει κάποια εσφαλμένη λειτουργία, μπορείτε να τραβήξετε στην ουσία την εικονική μηχανή από την πρίζα, δίνοντας Ctrl-C στο τερματικό που εκτελείται το utopia.sh. Αν δεν υπάρξει αποτέλεσμα, εκτελέστε στο host killall qemu-system-x86_64 ή killall -9 qemu-system-x86_64. Για να κρατάτε τα αρχεία σας έξω από την εικονική μηχανή και να είναι ασφαλή ακόμη και σε περίπτωση που το σύστημα αρχείων της εικονικής μηχανής πάθει κάποια βλάβη (π.χ., λόγω προγραμματιστικού σφάλματος κατά την εκτέλεση του πυρήνα σας ή «βίαιου» shutdown της εικονικής μηχανής), συνιστούμε να χρησιμοποιήσετε το σύστημα αρχείων sshfs. Το sshfs επιτρέπει πρόσβαση σε κατάλογο απομακρυσμένου μηχανήματος, προσαρτώντας τον στο τοπικό μηχάνημα με χρήση του 11
12 πρωτοκόλλου ssh. Ουσιαστικά, κάθε πρόσβαση στο τοπικό σημείο προσάρτησης μεταφράζεται σε λειτουργίες Εισόδου/Εξόδου πάνω από κρυπτογραφημένο κανάλι ssh. Θα το χρησιμοποιήσουμε ως εξής: Στην εικονική μηχανή ανάπτυξης, θα προσαρτήσουμε τον κατάλογο /home/user/ του host, στο σημείο /home/user/host της εσωτερικής εικονικής μηχανής. Έτσι, μπορείτε να κρατάτε τα αρχεία σας στο /home/ user/host/ask1 της εσωτερικής εικονικής μηχανής, που θα είναι το /home/user/ ask1 στον host. Για την προσάρτηση καταλόγου του host, μπορείτε στην εσωτερική μηχανή να εκτελέσετε: $ mkdir /home/user/host $ sshfs -o allow_other user@ :/ home/user /home/user/host Έτσι διευκολύνεται και η μεταφορά αρχείων από και προς την εικονική μηχανή. Σας προτείνουμε να κρατάτε ολόκληρο τον πηγαίο κώδικα της άσκησης σε κάποιο directory το οποίο είναι mounted μέσω sshfs στον host έτσι ώστε αν αναγκαστείτε να επαναφέρετε την εικονική μηχανή στην αρχική της κατάσταση διαγράφοντας το τοπικό COW αρχείο (private.qcow2), τα αρχεία αυτά να μην επηρεαστούν. Η παραπάνω διαδικασία υποθέτει ότι στον host υπάρχει χρήστης user κι ότι είναι ενεργοποιημένη η πρόσβαση μέσω SSH. Αν όχι, χρειάζεται να εγκαταστήσετε (apt-get install) το πακέτο ssh. ΠΡΟΣΟΧΗ: Για τις ανάγκες της 2ης άσκησης το επόμενο βήμα της μεταγλώττισης νέου πυρήνα είναι προαιρετικό. Αντί να μεταγλωττίσετε το δικό σας πυρήνα, μπορείτε να εγκαταστήσετε, με apt-get το πακέτο linux-headers-amd64 μέσα στην εικονική μηχανή. Το πακέτο αυτό εγκαθιστά τα απολύτως απαραίτητα κάτω από τον κατάλογο /lib/modules/ ώστε να έχετε κατάλληλο $KERNELDIR για τη μεταγλώττιση δικών σας kernel modules. 5 (Προαιρετικά) Μεταγλώττιση πυρήνα για το VM Προαιρετικά, μπορείτε να μεταγλωττίσετε το δικό σας πυρήνα Linux για την εικονική μηχανή του QEMU. Η διαδικασία που θα ακολουθηθεί είναι ακριβώς η ίδια διαδικασία που θα ακολουθούσαμε για τη μεταγλώττιση του πυρήνα για ένα πραγματικό μηχάνημα. ΠΡΟΣΟΧΗ: Ο πυρήνας αποτελείται από πάρα πολλά αρχεία και η διαδικασία μεταγλώττισης του είναι πολύ επίπονη και χρονοβόρα διαδικασία. Για αυτό το λόγο 12
13 θα μεταγλωττίσετε τον πυρήνα στο host μηχάνημα και όχι στο utopia VM. Έτσι τα βήματα της ρύθμισης και της μεταγλώττισης του πυρήνα θα γίνουν στο host και στη συνέχεια αφού έχετε συνδεθεί στο VM σας και έχετε κάνει mount τον φάκελο του πυρήνα με sshfs θα εκτελέσετε τις εντολές που αφορούν την εγκατάσταση του νέου πυρήνα. Συγκεκριμένα, για τη μεταγλώττιση και εγκατάσταση του πυρήνα απαιτούνται τα επόμενα βήματα: Λήψη του κώδικα Αρχικά, θα πρέπει να ανακτήσετε τον κώδικα του πυρήνα από την επίσημη ιστοσελίδα του πυρήνα του Linux ( Ανακτήστε την τελευταία έκδοση. Οι ακόλουθες οδηγίες έχουν δοκιμαστεί με την έκδοση Linux $ wget > v3.x/linux tar.xz Αποσυμπίεση του κώδικα Ο κώδικας που μόλις ανακτήσατε είναι σε συμπιεσμένη μορφή, οπότε θα πρέπει να τον αποσυμπιέσετε, ώστε να μπορέσετε να εργαστείτε σε αυτόν. $ tar xf linux tar.xz Ολόκληρος ο κώδικας του πυρήνα έχει αποσυμπιεστεί στον κατάλογο linux , στον οποίο μπορείτε πλέον να μεταβείτε και να περιηγηθείτε ή κάνετε τις αλλάγες σας στον πυρήνα. Ρύθμιση του πυρήνα Προτού ξεκινήσετε την μεταγλώττιση του πυρήνα, θα πρέπει να πρώτα να κάνετε κάποιες ρυθμίσεις. Ο πιo γρήγορος τρόπος είναι να χρησιμοποιήσετε τις προκαθορισμένες ρυθμίσεις οι οποίες ενεργοποιούνται μέσω της εντολής $ make defconfig Στις περισσότερες περιπτώσεις αυτές οι ρυθμίσεις είναι αρκετές ώστε να έχετε έναν λειτουργικό πυρήνα. Στην περίπτωσή μας, χρειάζεται μικρή τροποποίηση στις προκαθορισμένες ρυθμίσεις. Ο πιο απλός και φιλικός προς το χρήστη τρόπος για να το κάνετε αυτό είναι μέσω της εντολής $ make menuconfig Η εντολή αυτή θα ανοίξει ένα μενού στο τερματικό σας, απ όπου θα μπορέσετε να κάνετε μία πληθώρα ρυθμίσεων για τον πυρήνα που πρόκειται να μεταγλωττίσετε. Για την εκτέλεση στο utopia, θα χρειαστεί να ενεργοποιήσετε (i) τα modules για την αναγνώριση των δίσκων virtio (virtual IO), που 13
14 χρησιμοποιεί το VM σας, (ii) το module που θα σας επιτρέψει να χρησιμοποιήσετε το sshfs (FUSE), (iii) το filesystem devtmpfs. (iv) τις βελτιστοποίησεις του πυρήνα για καλύτερες επιδόσεις όταν τρέχει ως guest. Πιο συγκεκριμένα, περιηγηθείτε στο μενού και ενεργοποιήστε τις παρακάτω επιλογές. Έχετε υπόψη πως ορισμένες από αυτές εξαρτώνται από άλλες και δεν εμφανίζονται μέχρι να ενεργοποιηθούν οι εξαρτήσεις τους. Συνεπώς, αν κάποια επιλογή δεν είναι διαθέσιμη άμεσα, προχωρήστε στις επόμενες και επιστρέψτε για να την ενεργοποιήσετε αργότερα. Virtualization->Host kernel accelerator for virtio net <M> Virtualization->Virtio balloon driver <M> Device Drivers->Virtio drivers->pci driver for virtio devices <M> Device Drivers->Block Devices->Virtio block driver <M> File systems->fuse (Filesystem in Userspace) support <M> Device Drivers->Generic Driver Options-> Maintain a devtmpfs filesystem to mount at /dev [*] Processor type and features->linux guest support [*] Processor type and features->linux guest support-> Enable paravirtualization code [*] Processor type and features->linux guest support-> Enable paravirtualization code-> Paravirtualization layer for spinlocks [*] Processor type and features->linux guest support-> KVM Guest support (including kvmclock) [*] Τέλος, πατήστε στο Exit και στην επόμενη ερώτηση για την αποθήκευση των ρυθμίσεων απαντήστε καταφατικά. Μεταγλώττιση του πυρήνα Τώρα είστε έτοιμοι να μεταγλωττίσετε τον πυρήνα! $ make To βήμα αυτό μπορεί να πάρει αρκετή ώρα. Στο τέλος, θα έχει δημιουργηθεί ένα συμπιεσμένο binary image που φορτώνεται στην μνήμη από τον bootloader κατά την διαδικασία εκκίνησης του συστήματος, αποσυμπιέζεται και, τελικά, αναλαμβάνει τον πλήρη έλεγχο του συστήματος. Εκτός από τον πυρήνα, χρειάζεται μεταγλωττίσουμε τα συνοδευτικά modules του, με την εντολή $ make modules 14
15 Εγκατάσταση νέου πυρήνα και επανεκκίνηση εικονικής μηχανής Για να ξεκινήσει το μηχάνημα με το νέο πυρήνα που μόλις μεταγλωττίσαμε, χρειάζεται να αντιγράψουμε το συμπιεσμένο binary image του στον κατάλογο /boot. Κατά σύμβαση, ο πυρήνας ακολουθείται κι από το αντίστοιχο αρχείο ρυθμίσεών του. Αυτό το βήμα το εκτελείται μέσα στην εικονική μηχανή, έχοντας πρόσβαση μέσω sshfs στον κατάλογο στον οποίο έχετε μεταγλωττίσει τον πυρήνα. $ su - # cd /host/directory/where/you/compiled/the/kernel # make modules_install # make install Σε αυτό το σημείο έχουμε αντιγράψει τον πυρήνα στην τελική του θέση. Χρειάζεται επιπλέον να ενημερώσουμε το περιεχόμενου του αρχείου initrd, το οποίο αναλαμβάνει την προσάρτηση του ριζικού καταλόγου κατά την εκκίνηση του συστήματος και να ανανεώσουμε τη λίστα επιλογών του bootloader(grub), του προγράμματος που αναλαμβάνει την φόρτωση του πυρήνα στη μνήμη κατά την εκκίνηση του συστήματος: $ su - # mkinitramfs -o /boot/initrd.img v # update-grub Σε αυτό το σημείο και αν όλα έχουν πάει καλά με τη μεταγλώττιση του πυρήνα είμαστε έτοιμοι να εκκινήσουμε το μηχάνημα με το νέο πυρήνα. Κατά την εκκίνηση, ο grub μας ζητάει να επιλέξουμε τον πυρήνα που θα χρησιμοποιηθεί. Αν o νέος μας πυρήνας αποτυγχάνει, μπορούμε να επαναφέρουμε τον παλιό απλά επιλέγοντας την αντίστοιχη εγγραφή στο μενού του grub. 6 Συχνές ερωτήσεις Κατά την διαδικασία υλοποίησης της άσκησης μπορούν προκύψουν διάφορα τεχνικά προβλήματα, τα πιο συχνά από τα οποία αναφέρονται στην συνέχεια. Ερώτηση: Τι είναι ο okeanos και πως μπορώ να δημιουργήσω μία εικονική μηχανή εκεί; Απάντηση: Πληροφορίες σχετικά με την υπηρεσία okeanos και τη δημιουργία και χρήση VM εκεί μπορείτε να βρείτε στο site της υπηρεσίας 15
16 Μπορείτε να βρείτε απαντήσεις σε συχνές ερωτήσεις για την υπηρεσία στο https: //okeanos.grnet.gr/support/faq, καθώς και οδηγό για τη δημιουργία εικονικής μηχανής: Ερώτηση: Πώς μπορώ να συνδεθώ με γραφικό περιβάλλον στην εικονική μου μηχανή; Απάντηση: Ακολουθήστε τις οδηγίες σύνδεσης με χρήση του συστήματος X2Go, τις οποίες μπορείτε να βρείτε στον οδηγό χρήσης του okeanos: Ερώτηση: Πώς μπορώ να δημιουργήσω το δικό μου root filesystem; Απάντηση: Αυτή είναι μια αρκετά επίπονη διαδικασία. Αν θέλετε να πειραματιστείτε, μπορείτε να βρείτε οδηγίες στα installing_debian_in_it, 7 Μία κλήση συστήματος Hello, World! στο Linux Οι διεργασίες χρήστη δεν είναι δυνατόν να εκτελέσουν κώδικα του πυρήνα απευθείας με κλήση συναρτήσεων του πυρήνα, γιατί ο κώδικας και τα δεδομένα του πυρήνα βρίσκονται σε προστατευμένες θέσεις μνήμης. Όταν λοιπόν κάποιο πρόγραμμα χρήστη πρέπει να ζητήσει την εκτέλεση μιας λειτουργίας από τον πυρήνα, για παράδειγμα Ε/Ε από κάποιο αρχείο, πρέπει να εκτελέσει μια κλήση συστήματος. Ο μηχανισμός με τον οποίο το πρόγραμμα ενημερώνει τον πυρήνα ότι θέλει να εκτελέσει μια κλήση συστήματος, είναι μια διακοπή λογισμικού (so ware interrupt). Ο χειριστής της διακοπής αυτής είναι ο χειριστής κλήσεων συστήματος (συνάρτηση system_call:arch/x86/kernel/entry_32.s), η υλοποίηση του οποίου εξαρτάται από την αρχιτεκτονική του συστήματος. Η διακοπή αυτή στην αρχιτεκτονική x86 είναι η $0x80. Με την εκτέλεση αυτής της διακοπής πραγματοποιείται μετάβαση από το χώρο χρήστη στο χώρο πυρήνα και εξυπηρείται η αίτηση του προγράμματος χρήστη. 16
17 Μιας και ο μηχανισμός μετάβασης σε χώρο πυρήνα είναι κοινός για όλες τις κλήσεις συστήματος, πρέπει ο πυρήνας να έχει τρόπο να διαχωρίζει τις κλήσεις συστήματος μεταξύ τους. Για το λόγο αυτό, στο Linux σε κάθε κλήση συστήματος αντιστοιχίζεται ένας αριθμό (syscall number). Όταν ένα πρόγραμμα χρήστη εκτελεί μια κλήση συστήματος, αναφέρεται σε αυτή με βάση τον αριθμό αυτό (περνώντας τον ως όρισμα, συνήθως μέσω κάποιου καταχωρητή) και όχι με βάση το όνομα της κλήσης συστήματος. Ο πυρήνας του Linux διατηρεί μια λίστα με όλες τις καταχωρημένες κλήσεις συστήματος στον πίνακα κλήσεων συστήματος (sys_call_table). Ο πίνακας αυτός εξαρτάται από την αρχιτεκτονική του συστήματος και για την αρχιτεκτονική x86 (32-bit) ορίζεται στο αρχείο arch/x86/kernel/syscall_table_32.s. Η συνάρτηση system_call (system call handler) ελέγχει ότι ο αριθμός της κλήσης συστήματος είναι έγκυρος συγκρίνοντάς τον με μια σταθερά που δηλώνει τον συνολικό αριθμό των registered κλήσεων συστήματος NR_syscalls. Αν ο αριθμός είναι έγκυρος, καλείται η αντίστοιχη συνάρτηση από τον πίνακα κλήσεων συστήματος (sys_call_table). Με βάση τα παραπάνω, για την προσθήκη μιας κλήσης συστήματος σε ένα σύστημα Linux x86 32-bit πρέπει να ακολουθηθούν τα εξής βήματα: (1) Προσθέτουμε στο αρχείο arch/x86/include/asm/unistd_32.h τον ορισμό του αριθμού της κλήσης συστήματος που θέλουμε να υλοποιήσουμε, αυξάνοντας κατά ένα τον τελευταίο ήδη ορισμένο αριθμό. Για παράδειγμα, προσθέτουμε τη γραμμή: #define NR_foo 341 Στο ίδιο αρχείο, αυξάνουμε κατά ένα την τιμή της σταθεράς NR_syscalls. (2) Προσθέτουμε στο αρχείο arch/x86/kernel/syscall_table_32.s για κάθε κλήση συστήματος που υλοποιούμε μια γραμμή σαν την εξής:.long sys_foo Με τη γραμμή αυτή προσθέτουμε στην ουσία στον πίνακα κλήσεων συστήματος (sys_call_table) την συνάρτηση που θα υλοποιεί την κλήση συστήματος που προσθέτουμε. (3) Προσθέτουμε στο αρχείο include/linux/syscalls.h για κάθε κλήση συστήματος που υλοποιούμε τη δήλωση της συνάρτησης που θα την υλοποιεί: asmlinkage long sys_foo(int flag); (4) Προσθέτουμε στον κατάλογο kernel/ (ή οπουδήποτε αλλού κρίνουμε κατάλληλο) ένα αρχείο με την υλοποίηση της συνάρτησης που υλοποιεί την κλήση 17
18 συστήματος. Μπορούμε επίσης να την προσθέσουμε σε ένα ήδη υπάρχον αρχείο. Ένα παράδειγμα είναι το ακόλουθο (προστίθεται στο νέο αρχείο kernel/ foo.c): #include "linux/kernel.h" asmlinkage long sys_foo(int flag) { printk(kern_debug "Hello from foo! flag=%d.\n", flag); return 0; } Η κλήση συστήματος foo() απλώς τυπώνει στο log αρχείο του πυρήνα (/var/ log/kern.log) ένα string και το όρισμά της, μέσω της συνάρτησης printk(). (5) Αν κατά το προηγούμενο βήμα δημιουργήσαμε νέο αρχείο, προσθέτουμε μια γραμμή σαν την ακόλουθη στο Makefile του καταλόγου όπου το προσθέσαμε (στην συγκεκριμένη περίπτωση, στο kernel/makefile): obj-y += foo.o (6) Μεταγλωττίζουμε ξανά τον πυρήνα. $ make (7) Ένα απλό πρόγραμμα (στον χώρο χρήστη) που καλεί την κλήση συστήματος που μόλις φτιάξαμε είναι το ακόλουθο: #define _GNU_SOURCE #include <stdio.h> #include <unistd.h> #include <sys/syscall.h> #define NR_foo 341 int main() { long ret; ret = syscall( NR_foo, 100); printf("ret=%lu\n", ret); return 0; } 18
19 Εκτελώντας το συγκεκριμένο παράδειγμα, καλούμε την νέα κλήση συστήματος foo(). Μπορούμε να δούμε το απλό μήνυμα που τυπώνει στα logs του πυρήνα δίνοντας την εντολή dmesg στον φλοιό. 8 Περισσότερες πληροφορίες Περισσότερα για το QEMU, το KVM, το σχεδιασμό, την εγκατάσταση και τη χρήση τους μπορείτε να μάθετε στις σελίδες Περισσότερα στοιχεία για την υπηρεσία okeanos και το open source λογισμικό Synnefo που την υποστηρίζει μπορείτε να βρείτε στις σελίδες
20 Linux Guest Windows Guest Διεργασία 1 Διεργασία 2 Διεργασία 1 Διεργασία 2 userspace kernelspace system calls userspace kernelspace Win32 / Win64 Πυρήνας Linux Πυρήνας Windows Υλικό (Virtual Machine) Υλικό (Virtual Machine) Άλλες διεργασίες Διεργασία QEMU Διεργασία QEMU userspace kernelspace system calls Πυρήνας Linux KVM Module (kvm_intel, kvm_amd) Υλικό CPU Virtualization Extensions Σχήμα 2: Δημιουργία εικονικών μηχανών με χρήση των εργαλείων QEMU και KVM. 20
Εργαστήριο Λειτουργικών Συστήματων 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,
Εικονικοποίηση Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Παραδείγματα συστημάτων
Ενσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ANDROID-DEVKIT No:01 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,
Εικονικοποίηση Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση
Εργαστήριο Λειτουργικών Συστήματων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει
Εισαγωγή στην Πληροφορική
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi. Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016
Εγκατάσταση του PiNet για διαχείριση εργαστηρίου με Raspberry Pi Συγγραφέας: Τριχόπουλος Γιώργος Δεκέμβριος 2016 Το σύστημα PiNet εξυπηρετεί στη διαχείριση των υπολογιστών Raspberry Pi σε μία σχολική τάξη.
Linux με τη χρήση κονσόλας
Linux με τη χρήση κονσόλας Κεφάλαιο 2 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009 Το υλικό διατίθεται
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΟΝΑΔΑ ΑΡΙΣΤΕΙΑΣ ΕΛ/ΛΑΚ
ΕΓΚΑΤΑΣΤΑΣΗ ΕΙΚΟΝΙΚΗΣ ΜΗΧΑΝΗΣ Το VirtualBox είναι μια εφαρμογή εικονικοποίησης (virtualization) που επιτρέπει την εγκατάσταση και την ταυτόχρονη λειτουργία ενός ή περισσότερων λειτουργικών συστημάτων στο
Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού
Προγραμματισμός Ι Εργαστήριο 1 ο Περιβάλλον Εργασίας Νικόλαος Δ. Τσελίκας ntsel@uop.gr Κυριακή Θ. Σεκλού kseklou@uop.gr Εργαστήριο στον Προγραμματισμό Ι - Τμήμα Πληροφορικής και Τηλεπικοινωνιών - Πανεπιστήμιο
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
Λειτουργικά. Συστήματα Ι. Εγκατάσταση Ιδεατής Μηχανής. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών
Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Εγκατάσταση Ιδεατής Μηχανής Linux Εισαγωγή στα Λειτουργικά Συστήματα Εγκατάσταση Ιδεατής Μηχανής Linux Συστήματα Αρχείων Χειρισμός και Διαχείριση
MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual
MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory
Λιβανός Γιώργος Εξάμηνο 2017Β
Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!
Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
ιεργασία Α Πυρήνας Linux Υλικό
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Υλοποίηση Οδηγού Συσκευής Σε Εικονική
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα της γλώσσας C, το Dev-C++, το οποίο είναι εφαρμογή που τρέχει
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο Στο φετινό εργαστήριο του μαθήματος, έχετε τη δυνατότητα να δουλέψετε σε 2 περιβάλλοντα. Ένα σε περιβάλλον UNIX μέσω απομακρυσμένης σύνδεσης σε
Ενημερωτικός οδηγός για τον εξυπηρετητή Ada
17 Ιουλίου 2018 Ενημερωτικός οδηγός για τον εξυπηρετητή Ada Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Μαρία Τσιολάκκη Ομάδα Τεχνικής Υποστήριξης Έκδοση 3.0 Πίνακας περιεχομένων Γενικά... 2 1. Υπηρεσίες πρόσβασης
Κρυπτογραφική συσκευή VirtIO για QEMU-KVM
Κρυπτογραφική συσκευή VirtIO για QEMU-KVM Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, ΣΗΜΜΥ Εργαστήριο Υπολογιστικών Συστημάτων (CSLab) Μάιος 2017 Βασικό Πλαίσιο Node A Δικτυακή διεργασία (πχ chat)
Δίκτυα Η/Υ στην Επιχείρηση
Δίκτυα Η/Υ στην Επιχείρηση Εισαγωγή στο λειτουργικό σύστημα Unix Γκάμας Βασίλειος, Εργαστηριακός Συνεργάτης Λειτουργικό Σύστημα (ΛΣ) Λογισμικό συστήματος, το οποίο αποτελεί τη διασύνδεση μεταξύ του υλικού
Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux
1 Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux Το Linux είναι ένα λειτουργικό σύστημα όμοιο με το Unix που αναπτύχθηκε από έναν πυρήνα (kernel, Εικ.1) τον οποίο δημιούργησε το 1991 ο Linus Torvalds όντας
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων
Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι
Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Ενότητα : Εισαγωγή στο λειτουργικό σύστημα Linux. Όνομα Καθηγητή : Δημήτριος Λυμπερόπουλος, Σπύρος Δενάζης Τμήμα : Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών
qemu img create linux.img f raw 2G
Τρέξτε Linux μέσα από Windows P.I.K. panoskrt@gmail.com Δεν είναι λίγοι αυτοί οι οποίοι χρησιμοποιούν ως κύριο λειτουργικό τα Windows και θα ήθελαν για να εγκαταστήσουν Linux αλλά οποιοδήποτε λόγο... φοβούνται
Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI
Εργαστήριο 1ο Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI Σε αυτό το κεφάλαιο θα ασχοληθούμε με την περιγραφή της διαδικασίας μεταγλώττισης ενός προγράμματος C κάνοντας χρήση του μεταγλωττιστή gcc σε
Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης
Open eclass 2.2 - Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 30 Σεπτεμβρίου 2009 Εισαγωγή Η πλατφόρμα Open eclass
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C
ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C Στο εργαστήριο αυτό, θα ασχοληθούμε με δύο προγραμματιστικά περιβάλλοντα για τη γλώσσα C: τον gcc μεταγλωττιστή της C σε περιβάλλον
ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013. Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών
ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013 Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών Εγκατάσταση Linux Server/Samba/Web Server (Apache)/MySQL Database Server/Joomla/Moodle/Word Press (Blog)/Email Server/File
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας
Συστήματα Παράλληλης και Κατανεμημένης Επεξεργασίας Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:00 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ ΠΜΣ ΕΠΙΣΤΗΜΗ ΚΑΙ ΤΕΧΝΟΛΟΓΙΑ Η/Υ ΟΔΗΓΟΣ ΕΓΚΑΤΑΣΤΑΣΗΣ Γλώσσας Quipper ΚΟΥΒΕΛΑΣ ΘΕΟΔΩΡΟΣ ΚΥΤΕΑ ΚΩΝΣΤΑΝΤΙΝΑ ΧΡΗΣΤΙΔΗ ΑΓΓΕΛΙΚΗ-ΜΑΡΙΑ
Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος
Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής Βασιλάκης Βασίλειος Τζανάκης Δημήτριος Εισαγωγή Σκοπός Να παρουσιαστούν προτάσεις αξιοποίησης
Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα
Εισαγωγή στο Λειτουργικό Σύστημα UNIX Τμήμα Τεχνολογίας Πληροφορικής και Τηλεπικοινωνιών ΤΕΙ Ηπείρου Γρηγόριος Τζώρτζης Ακ. Έτος 2010-2011 Διαδικαστικά Στο εργαστήριο θα διδαχθούν βασικές εντολές του λειτουργικού
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 00Β
Συστήματα Παράλληλης & Κατανεμημένης Επεξεργασίας Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Πολυτεχνική Σχολή Κοζάνης Πανεπιστήμιο Δυτικής Μακεδονίας ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 00Β Σκοπός της Άσκησης: Εναλλακτική
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"
ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++
ΑΣΚΗΣΗ 1: TO ΠΕΡΙΒΑΛΛΟΝ ΕΡΓΑΣΙΑΣ DEV-C++ Σκοπός της Άσκησης Ο σκοπός αυτής της εργαστηριακής άσκησης είναι η εξοικείωση με τη χρήση του περιβάλλοντος Dev C++ το οποίο θα χρησιμοποιηθεί για την υλοποίηση
Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ
Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 4ο Σύστημα αρχείων Μιχαηλίδης Παναγιώτης Περιεχόμενα Σύστημα αρχείων Εισαγωγή Μονοπάτια διαδρομής Φόρτωση και αποφόρτωση συστημάτων αρχείων Ιεραρχική οργάνωση
Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:
Αρχεία Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους: Με την εντολή touch: touch test.txt δημιουργούμε ένα κενό αρχείο test.txt. Mε την εντολή echo: Η echo λειτουργεί σαν αντίλαλος, δηλαδή
Κοινή χρήση πόρων με τα Windows XP
Κοινή χρήση πόρων με τα Windows XP Α. Κοινή χρήση αρχείων και φακέλων Θα μάθετε: Να θέτετε σε κοινή χρήση ένα αρχείο ή ένα φάκελο του υπολογιστή με τα Windows XP. Να θέτετε σε κοινή χρήση στο δίκτυο μουσική,
Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview
Εργαστήριο Λειτουργικών Συστημάτων Minix Overview Σύνοψη 5ης ιάλεξης Λειτουργικό Σύστημα Minix Οργάνωση του Λειτουργικού Συστήματος Οργάνωση πηγαίου κώδικα Minix recompilation Σύνοψη Μαθήματος Σύνοψη Μαθήματος
ProcSim οδηγίες χρήσης.
ProcSim οδηγίες χρήσης. Το ProcSim είναι ένα εργαλείο προσομοίωσης Οπτικοποίησης του Datapath του απλού επεξεργαστή που περιγράφεται στο μάθημα (και στο βιβλίο). Το εργαλείο αυτό εκτελεί προγράμματα γραμμένα
ProcSim οδηγίες χρήσης.
ProcSim οδηγίες χρήσης. Το ProcSim είναι ένα εργαλείο προσομοίωσης Οπτικοποίησης του Datapath του απλού επεξεργαστή που περιγράφεται στο μάθημα (και στο βιβλίο). Το εργαλείο αυτό εκτελεί προγράμματα γραμμένα
Εδώ υπάρχει ένα παράδειγμα από ένα φανταστικό πρόγραμμα και το πακέτο του:
Κεφάλαιο 18: Διαχείριση Πακέτων στο Slackware Ένα πακέτο λογισμικού (software package) είναι ένα σύνολο από σχετικά προγράμματα που είναι έτοιμα για εγκατάσταση. Όταν κατεβάζετε ένα αρχείου πηγαίου κώδικα,
Server Virtualization με εργαλεία ΕΛ/ΛΑΚ. ΛΑΚ Δήμος Ρεθύμνης. www.rethymno.gr
Server Virtualization με εργαλεία ΕΛ/ΛΑΚ ΛΑΚ Μαθηνός Παναγιώτης Λ. Κουντουριώτη 80, τ.κ. 74100, Ρέθυμνο Τηλ: 28313 41310 e mail: mathinos@rethymno.gr www.linkedin.com/in/pmathinos Πληροφορική Μηχανοργάνωση
ΑΝΑΠΤΥΞΗ ΔΙΑΝΟΜΗΣ LINUX ΠΡΟΣΑΡΜΟΣΜΕΝΗΣ ΣΤΙΣ ΑΝΑΓΚΕΣ ΤΟΥ ΤΜΗΜΑΤΟΣ Η.Υ.Σ.
Ανώτατο Τεχνολογικό Εκπαιδευτικό Ίδρυμα Πειραιά ΑΝΑΠΤΥΞΗ ΔΙΑΝΟΜΗΣ LINUX ΠΡΟΣΑΡΜΟΣΜΕΝΗΣ ΣΤΙΣ ΑΝΑΓΚΕΣ ΤΟΥ ΤΜΗΜΑΤΟΣ Η.Υ.Σ. Σπουδαστής: Τσεσμελής Θεόδωρος Εισηγητής Καθηγητής: Πρεζεράκος Γεώργιος Ανάπτυξη
Εισαγωγή στην Πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση
ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές
ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.
Hase οδηγίες χρήσης.
Hase οδηγίες χρήσης. Το Hase είναι ένα πρόγραμμα προσομοίωσης που έχει αναπτυχθεί στο πανεπιστήμιο του Εδιμβούργου (http://www.icsa.inf.ed.ac.uk/research/groups/hase/) και μπορεί να χρησιμοποιηθεί για
Μανώλης Κιαγιάς, MSc. Aiolos Project. Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI
Μανώλης Κιαγιάς, MSc Aiolos Project Αρχικές Ρυθμίσεις SSH και εγκατάσταση OpenMPI Χανιά, 2015 2 (C) 2014 Μανώλης Κιαγιάς, manolis@freebsd.org Το παρόν έργο διατίθεται υπό τους όρους της Άδειας: Αναφορά
Εικονική Μνήμη (1/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη
Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι
Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Ενότητα : Δίκτυα υπολογιστών - Βασικά εργαλεία δικτύων στο Linux. Όνομα Καθηγητή : Δημήτριος Λυμπερόπουλος, Σπύρος Δενάζης Τμήμα : Ηλεκτρολόγων Μηχανικών και Τεχνολογίας
Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run
Unity Editor #02 Κεντρικό Μενού: File, Build Settings και Build & Run Καλώς ήλθες. Στο προηγούμενο μάθημα είδαμε τις λειτουργίες του μενού File του Editor της Unity. Όπως είπαμε οι δύο επιλογές που διαφέρουν
Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:
Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση: Page 1 Χρήστης Εφαρμογή Λειτουργικό Σύστημα Υλικό Γνωστά Λειτουργικά
Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr
Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Εργαστήριο 1 Εισαγωγή στη C Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr Διαδικαστικά Ιστοσελίδα μαθήματος: http://eclass.uoa.gr/courses/f30/ Υποχρεωτική παρακολούθηση: Παρασκευή 14:00 16:00 στην
Εμφάνιση μηνυμάτων ή ενεργοποίηση και απενεργοποίηση της ηχούς εντολών.
ECHO [ON OFF] ECHO [μήνυμα] Εμφάνιση μηνυμάτων ή ενεργοποίηση και απενεργοποίηση της ηχούς εντολών. Πληκτρολογήστε ECHO χωρίς παράμετρο για εμφάνιση της τρέχουσας ρύθμισης. Παραδείγματα: echo this is a
Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος
Κεφάλαιο 3.1: Λειτουργικά Συστήματα 1 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Ένα σύγχρονο υπολογιστικό σύστημα αποτελείται από: το υλικό: τα ηλεκτρονικά μέρη του υπολογιστή και το λογισμικό: το σύνολο
2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)
Πανεπιστήµιο Θεσσαλίας Τµήµα Πληροφορικής µε Εφαρµογές στην Βιοϊατρική Εισαγωγή στον Προγραµµατισµό (εργαστήριο) Εισαγωγή στο λειτουργικό σύστηµα UNIX 1. Σύνδεση στο Εικονικό Ιδιωτικό Δίκτυο (VPN) 1.1.
Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7. Οδηγίες Αναβάθμισης (Upgrade) - 1 - Αθήνα, 16 Μαρτίου 2007. 1. Εισαγωγή
Πλατφόρμα Ασύγχρονης Τηλεκπαίδευσης eclass 1.7 Οδηγίες Αναβάθμισης (Upgrade) Ομάδα Εργασίας: Τσιμπάνης Κωνσταντίνος, Εξηνταρίδης Γιάννης Αθήνα, 16 Μαρτίου 2007 1. Εισαγωγή Η πλατφόρμα eclass είναι ένα
Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας
Τ.Ε.Ι ΗΠΕΙΡΟΥ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ & ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΤΗΛΕΠΛΗΡΟΦΟΡΙΚΗΣ & ΔΙΟΙΚΗΣΗΣ Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας Πτυχιακή εργασία του φοιτητή Γιαννακίδη Αποστόλη Επιβλέπων καθηγητής Τσούλος
ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL
ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL 1 Βεβαιωθείτε ότι το μηχάνημα έχει τουλάχιστον 1 GB μνήμη RAM (2GB μνήμη RAM αν χρησιμοποιηθεί σαν λειτουργικό σύστημα τα WindowsVista ή Windows 7).
Ενσωματωμένα Συστήματα
Ενσωματωμένα Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ ANDROID-DEVKIT No:02 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Ενημέρωση σε Windows 8.1 από τα Windows 8
Ενημέρωση σε Windows 8.1 από τα Windows 8 Τα Windows 8.1 και τα Windows RT 8.1 είναι βασισμένα στα Windows 8 και στα Windows RT, για να σας προσφέρουν βελτιώσεις στην εξατομίκευση, την αναζήτηση, τις εφαρμογές,
Computer Setup Οδηγός χρήσης
Computer Setup Οδηγός χρήσης Copyright 2007 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο παρόν έγγραφο μπορεί
Βασική εγκατάσταση Asterisk σε Linux
Βασική εγκατάσταση Asterisk σε Linux 1 Πι νακας περιεχομε νων ΓΕΝΙΚΆ... 3 ΕΓΚΑΤΆΣΤΑΣΗ ΛΟΓΙΣΜΙΚΟΎ... 4 LINUX MYSQL ASTERISK - UTILITIES... 4 ACCS (ALTEC CALL CENTER SERVER)... 5 Εγκατάσταση σε περιβάλλον
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ
Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΔΟΜΗ ΤΟΥ Η/Υ (PC compatibles) RAM CPU PCI Bridge PCI Bridges P2P Bridge RAM CPU PCI Bridge PCI2ISA Bridge Δομή της CPU Register file IP CPU TLB Level-1 cache RAM SP MMU
Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find)
Εργαστήριο 4 Ασκήσεις: Διαχείριση Δικτύου (nmap, iptables) και Προχωρημένες Εντολές Unix (grep, ps, cut, find) 1) Δώστε την εντολή που δείχνει τις ανοιχτές εισερχόμενες θύρες (ports) της μηχανής σας. Χρησιμοποιήστε
Android Studio για Windows
Android Studio για Windows 1. Οδηγίες Εγκατάστασης: 1. Κατεβάστε το Android Studio από εδώ (τελευταία έκδοση 0.4.6, 496 MB): http://developer.android.com/sdk/installing/studio.html 2. Εγκαταστήστε το αρχείο
Μια καλή επιλογή θα ήταν www.epipla-onomasas.gr (χωρίζοντας τις λέξεις με παύλα -) ή
Τι είναι ένα CMS CMS ή Σύστημα Διαχείρισης Περιεχομένου (Content Management System) ονομάζουμε ένα λογισμικό που μας βοηθά να ελέγχουμε και να διαχειριζόμαστε έναν ιστότοπο δημόσιας ή περιορισμένης πρόσβασης.
Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον
Hase οδηγίες χρήσης.
Hase οδηγίες χρήσης. Το Hase είναι ένα πρόγραμμα προσομοίωσης που έχει αναπτυχθεί στο πανεπιστήμιο του Εδιμβούργου (http://www.icsa.inf.ed.ac.uk/research/groups/hase/) και μπορεί να χρησιμοποιηθεί για
Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53
Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53 Περιεχόμενα 1. 1. Διαδικασία των Windows 8 2. Απαιτήσεις συστήματος 3. Προετοιμασία 2. 3. 4. 5. με τη 6. 1. Εξατομίκευση 2. Ασύρματο 3.
ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 2012-2013. Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών
ΠΡΟΑΙΡΕΤΙΚΑ ΣΕΜΙΝΑΡΙΑ 0-03 Πληροφορική και Επιστήμη Ηλεκτρονικών Υπολογιστών Εγκατάσταση Linux Server/Samba/Web Server (Apache)/MySQL Database Server/Joomla/Moodle/Word Press (Blog)/Email Server/File Server/Advanced
Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε
Εισαγωγή στο Λειτουργικό Σύστημα UNIX
Εισαγωγή στο Λειτουργικό Σύστημα UNIX Τμήμα Μηχανικών Πληροφορικής ΤΕ ΤΕΙ Ηπείρου Διδάσκων: Δημήτριος Λιαροκάπης Διαφάνειες: Γρηγόριος Τζώρτζης Ακ. Έτος 2013-2014 Διαδικαστικά Στο εργαστήριο θα διδαχθούν
Για τους Χρήστες του RICOH Smart Device Connector: Διαμόρφωση του Μηχανήματος
Για τους Χρήστες του RICOH Smart Device Connector: Διαμόρφωση του Μηχανήματος ΠΙΝΑΚΑΣ ΠΕΡΙΕΧΟΜΕΝΩΝ 1. Για όλους τους χρήστες Εισαγωγή... 3 Τρόπος ανάγνωσης του παρόντος εγχειριδίου...3 Εμπορικά σήματα...4
Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap
Σύντομη παρουσίαση των εργαλείων/εντολών telnet, ping, traceroute nslookup και nmap, zenmap Version 2.00 Επιμέλεια Σημειώσεων: Δημήτρης Κόγιας Πατρικάκης Χαράλαμπος Πίνακας περιεχομένων TELNET... 2 PING...
ProcSim οδηγίες χρήσης.
ProcSim οδηγίες χρήσης. Το ProcSim είναι ένα εργαλείο προσομοίωσης Οπτικοποίησης του Datapath του απλού επεξεργαστή που περιγράφεται στο μάθημα (και στο βιβλίο). Το εργαλείο αυτό εκτελεί προγράμματα γραμμένα
Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία
Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες
Εισαγωγή στην εφαρμογή Βασική Σελίδα (Activity) Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10
Περιεχόμενα Εισαγωγή στην εφαρμογή... 2 Βασική Σελίδα (Activity)... 3 Ρυθμίσεις... 3 Πελάτες... 6 Αναζήτηση Πελάτη... 6 Προβολή Πελάτη... 7 Επεξεργασία Πελάτη... 10 Αποθήκη... 11 Αναζήτηση προϊόντος...
Αξιοποίηση Εικονικών Μηχανών στην διδασκαλία εξειδικευμένων εκπαιδευτικών αντικειμένων
Αξιοποίηση Εικονικών Μηχανών στην διδασκαλία εξειδικευμένων εκπαιδευτικών αντικειμένων Γιώργος Αυγέρης MSc, Καθηγητής Πληροφορικής Β θμιας Εκπσης 2010 VMware Inc. All rights reserved Overview Η ανάγκη
Ενημερώσεις λογισμικού Οδηγός χρήσης
Ενημερώσεις λογισμικού Οδηγός χρήσης Copyright 2009 Hewlett-Packard Development Company, L.P. Η ονομασία Windows είναι σήμα κατατεθέν της Microsoft Corporation στις Η.Π.Α. Οι πληροφορίες στο παρόν έγγραφο
CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας)
Γενικά CYGWIN Οδηγίες Χρήσης (Συγγραφέας: Γιώργος ούκας) Το cygwin είναι ένα περιβάλλον προσοµοίωσης του UNIX/Linux στα Windows. Παρέχει στον χρήστη την δυνατότητα να δηµιουργεί προγράµµατα κάνοντας χρήση
2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 2ο Εργαστήριο Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών Πίνακας Εντολών
Περιεχόμενα. Μέρος 1: Βασικές έννοιες της πληροφορικής... 13. Πρόλογος... 11
Περιεχόμενα Πρόλογος... 11 Μέρος 1: Βασικές έννοιες της πληροφορικής... 13 1.1 Windows XP... 15 1.2 Επιφάνεια εργασίας... 19 1.3 Γραμμή εργασιών... 24 1.4 Χειρισμός παραθύρων... 30 1.5 Μενού... 36 1.6
Εφαρμογές Πληροφορικής
Εφαρμογές Πληροφορικής Εγκατάσταση λογισμικού (προγραμμάτων) Ορισμοί Ο ηλεκτρονικός υπολογιστής χωρίζεται σε δύο μέρη, το υλικό και το λογισμικό. Το υλικό αποτελείται από όλα τα εξαρτήματα τα οποία έχουν
Ενημερωτικός οδηγός για τον εξυπηρετητή Ada
27 Φεβρουαρίου 2015 Ενημερωτικός οδηγός για τον εξυπηρετητή Ada Πανεπιστήμιο Κύπρου, Τμήμα Πληροφορικής Μαρία Τσιολάκκη Ομάδα Τεχνικής Υποστήριξης Έκδοση 2.0 Πίνακας περιεχομένων Γενικά... 2 1. Υπηρεσίες
Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr It seems very simple. It is very simple. But if you don t know what the key is its virtually indecipherable.
Tο περιβάλλον Code::Blocks
Tο περιβάλλον Code::Blocks Το Code::Blocks αποτελεί ένα πλήρες περιβάλλον ανάπτυξης εφαρμογών για την γλώσσα C και C++. Το περιβάλλον είναι ελεύθερο λογισμικό και χρησιμοποιεί μια ειδική έκδοση του μεταγλωττιστή
Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής
Εισαγωγή Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής Μεταγλωττιστής Αρχικό πρόγραμμα (source program) Μεταγλωττιστής Τελικό πρόγραμμα (object program) Διαγνωστικά μηνύματα Μεταγλωττιστής Παίρνει σαν
Epsilon Net PYLON Platform
Epsilon Net PYLON Platform Οδηγίες Εγκατάστασης Top 1 / 31 Περιεχόμενα 1 ΠΡΟΑΠΑΙΤΟΥΜΕΝΑ... 3 2 ΕΓΚΑΤΑΣΤΑΣΗ ΕΦΑΡΜΟΓΗΣ... 5 3 ΕΓΚΑΤΑΣΤΑΣΗ DEMO... 7 4 ΕΓΚΑΤΑΣΤΑΣΗ ΠΡΟΤΥΠΗΣ ΒΑΣΗΣ... 8 4.1 Φόρτωση πρότυπης
Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1
Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 1 Παναγιώτης