Εργαστήριο Λειτουργικών Συστημάτων. Εισαγωγή



Σχετικά έγγραφα
Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ Σύντομη εισαγωγή στο εργαστήριο

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ

Εργαστήριο Λειτουργικών Συστημάτων. Εισαγωγή

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

Οδηγίες Εγκατάστασης tube & έναρξης δοκιμαστικών μαθημάτων

ΕΡΓΑΣΤΗΡΙΟ 3: Προγραμματιστικά Περιβάλλοντα και το Πρώτο Πρόγραμμα C

Μια εισαγωγή στο Linux με την διανομή Fedora. Βάιος Κολοφωτιάς MSc Informational Systems

1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ. Πληροφορική Α' Γυμν. Το Λειτουργικό Σύστημα του Υπολογιστή

Εισαγωγή στην Πληροφορική

Εισαγωγή στην Πληροφορική

Έγγραφο Προδιαγραφών Απαιτήσεων Λογισμικού για το παιχνίδι: Asylum : The Escape

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΥΠΕΠΘ / ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 11/10/07

ΥΠΕΠΘ / ΠΑΙΔΑΓΩΓΙΚΟ ΙΝΣΤΙΤΟΥΤΟ

ΕΓΧΕΙΡΙ ΙΟ ΕΓΚΑΤΑΣΤΑΣΗΣ KAI ΧΡΗΣΗΣ «ΓΛΩΣΣΑ Α-Γ ΓΥΜΝΑΣΙΟΥ»

qemu img create linux.img f raw 2G

ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΜΟΝΑΔΑ ΑΡΙΣΤΕΙΑΣ ΕΛ/ΛΑΚ

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ

Linux με τη χρήση κονσόλας

Κεφάλαιο 3 Λειτουργικά Συστήματα Β ΕΠΑΛ

Αγροτική Ανάπτυξη Περιβάλλον

Οργάνωση ενός σύγχρονου Υπολογιστικού Συστήματος ή Ηλεκτρονικού Υπολογιστή (Η/Υ) Τα σύγχρονα συστήματα Η/Υ έχουν την παρακάτω οργάνωση:

Κεφάλαιο 3.1: Λειτουργικά Συστήματα. Επιστήμη ΗΥ Κεφ. 3.1 Καραμαούνας Πολύκαρπος

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Περιγραφή Μαθήματος. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Οδηγίες για την εγκατάσταση του πακέτου Cygwin

ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Ερωτήσεις επανάληψης

Τίτλος Πλατφόρµα Ασύγχρονης Τηλεκπαίδευσης. Συντάκτης. Ακαδηµαϊκό ιαδίκτυο GUnet Οµάδα Ασύγχρονης Τηλεκπαίδευσης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Εργαστήριο Εγκατάσταση Ubuntu με VirtualBox Εγκατάσταση Ubuntu με Unetbootin Απομακρυσμένη πρόσβαση με Putty/WinSCP

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Μάθημα 10 ο ΔΙΑΧΕΙΡΙΣΗ ΕΙΣΟΔΟΥ ΕΞΟΔΟΥ (INPUT/OUTPUT)

ΕΛΑΧΙΣΤΕΣ ΑΠΑΙΤΗΣΕΙΣ ΕΞΟΠΛΙΣΜΟΥ ΕΠΙΚΟΙΝΩΝΙΑ... 23

Λειτουργικά Συστήµατα

Εισαγωγή στο περιβάλλον Code::Blocks

Εισαγωγή. Διαλέξεις στο μάθημα: Μεταφραστές Γιώργος Μανής

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

ADSL USB MODEM. Εγχειρίδιο Χρήστη

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1

Λειτουργικά. Τεχνολογικό Εκπαιδευτικό Ίδρυμα Δυτικής Μακεδονίας Σιώζιος Κων/νος - Πληροφορική Ι

Λειτουργικά Συστήματα (Λ/Σ)

ΛΟΓΙΣΜΙΚΟ (software)

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 1 Εισαγωγή στη C. Σοφία Μπαλτζή s.mpaltzi@di.uoa.gr

Προγραμματισμός και Χρήση Ηλεκτρονικών Υπολογιστών - Βασικά Εργαλεία Λογισμικού

ΟΔΗΓΙΕΣ ΕΓΚΑΤΑΣΤΑΣΗΣ ΓΡΑΜΜΑΤΕΙΑΚΗΣ ΕΦΑΡΜΟΓΗΣ ESCHOOL

NB Sweex Card Reader 16 in 1 USB 2.0

Εγχειρίδιο Εγκατάστασης και Χρήσης Εκπαιδευτικής Εφαρμογής

Κεφάλαιο 5Β (επανάληψη) Εισαγωγή στην Πληροφορική. Τυπικοί χρόνοι πρόσβασης. Μέσος χρόνος πρόσβασης. Ταχύτητα µεταφοράς δεδοµένων

Σύντομη εισαγωγή στο λειτουργικό σύστημα Linux

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ, ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ

Το λειτουργικό σύστημα. Προγραμματισμός II 1

Οδηγίες εγκατάστασης Δορυφορικής κάρτας Technisat

Προγραμματισμός Ι. Εργαστήριο 1 ο Περιβάλλον Εργασίας. Νικόλαος Δ. Τσελίκας Κυριακή Θ. Σεκλού

Λειτουργικά Συστήματα Ι - Εργαστήριο

Computer Setup Οδηγός χρήσης

MICROBOT SERVER MICROBOT MONITOR ΕΦΑΡΜΟΓΕΣ ΕΛΕΓΧΟΥ ΚΑΙ ΠΑΡΑΚΟΛΟΥΘΗΣΗΣ ΓΙΑ ΣΥΣΤΗΜΑΤΑ MICROBOT

Εισαγωγή στον Προγραμματισμό

ΕΓΧΕΙΡΙ ΙΟ ΡΥΘΜΙΣΕΩΝ ΓΙΑ ΤΗΝ ΠΡΟΣΒΑΣΗ ΣΕ ΗΛΕΚΤΡΟΝΙΚΟΥΣ ΠΟΡΟΥΣ ΙΚΤΥΟ ΒΙΒΛΙΟΘΗΚΩΝ ΤΟΥ ΙΝΣΤΙΤΟΥΤΟΥ ΘΕΡΒΑΝΤΕΣ


Οδηγός Χρήστη. Καλώς ήλθατε στο Ηλεκτρονικό Περιβάλλον Μάθησης.

Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές Αλέξιος Δούβαλης Αναπληρωτής Καθηγητής Τμήμα Φυσικής Πανεπιστήμιο Ιωαννίνων

Εισαγωγή στο προγραμματιστικό περιβάλλον ANSI

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Οδηγίες EQL Desktop (rev ) ΣΥΝ ΕΣΗ S-710 ΜΕ ΚΑΛΩ ΙΟ USB ΠΡΟΚΑΤΑΡΚΤΙΚΕΣ ΕΡΓΑΣΙΕΣ

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

Προγραμματισμός Υπολογιστών με C++

Πως θα κατασκευάσω το πρώτο πρόγραμμα;

Ενηµερώσεις λογισµικού Οδηγός χρήσης

Περιεχόμενα. Λίγα λόγια από το συγγραφέα... 7 Κεφάλαιο 1: Windows XP Κεφάλαιο 2: Επιφάνεια εργασίας (desktop)... 15

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

Λιβανός Γιώργος Εξάμηνο 2017Β

ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ

Εισαγωγή Συμβόλαιο Μαθήματος

Βοηθητικό πρόγραµµα Setup

Αρχιτεκτονική Υπολογιστών

ECDL Module 2 Χρήση Υπολογιστή και ιαχείριση Αρχείων Εξεταστέα Ύλη, έκδοση 5.0 (Syllabus Version 5.0)

ΟΔΗΓΙΕΣ ΧΡΗΣΗΣ ΣΥΣΤΗΜΑΤΟΣ ΑΣΥΓΧΡΟΝΗΣ ΕΚΠΑΙΔΕΥΣΗΣ

Υλοποίηση ενός προγραμματιστικού κελύφους εργασίας

Μεθόδων Επίλυσης Προβλημάτων

ΟΔΗΓΙΕΣ ΓΙΑ ΤΗΝ ΥΠΗΡΕΣΙΑ OTE TV GO ΣΕ ΥΠΟΛΟΓΙΣΤΗ (PC/LAPTOP)

Οδηγός αναβάθμισης των Windows 8 βήμα προς βήμα ΕΜΠΙΣΤΕΥΤ ΚΟ 1/53

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Εφαρμογές Πληροφορικής

MK Prosopsis Ltd - Assistive Technology Products & Services

ηµιουργία αντιγράφων ασφαλείας και επαναφορά

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System)

Διαδικαστικά. Εισαγωγή στο Λειτουργικό Σύστημα UNIX. Διαδικαστικά. Τι είναι το Λειτουργικό Σύστημα

Βοηθητικό πρόγραµµα Setup

ΚΕΦΑΛΑΙΟ 1. Εισαγωγή στην Python. 1.1 Εισαγωγή

Special edition of the Technical Chamber of Greece on Video Conference Services on the Internet, 2000 IRIS PHONE

Κεφάλαιο 4. Λογισμικό Συστήματος

Transcript:

Εργαστήριο Λειτουργικών Συστημάτων Εισαγωγή

Εισαγωγικά Ο σκοπός του μαθήματος: Εξοικείωση με τη χρήση λειτουργικών συστημάτων τύπου UNIX Επαφή με τον προγραμματισμό των συστημάτων Εξοικείωση με τον πυρήνα του λειτουργικού συστήματος Μελέτη ορισμένων χαρακτηριστικών μηχανισμών Μελέτη του πηγαίου κώδικα του πυρήνα του λειτουργικού Παρέμβαση, μετατροπή, προσθήκη συγκεκριμένων λειτουργιών στο λειτουργικό σύστημα Το μάθημα θα βασιστεί στο λειτουργικό σύστημα ανοικτού κώδικα MINIX version 3.0 Το μάθημα θα διεξαχθεί σε δύο άξονες Παραδόσεις Διαλέξεις Ασκήσεις 2

Διαδικαστικά Παραδόσεις ιαλέξεις 3 ώρες την εβδομάδα Τρίτη 19:00-21:00, Β4 Πέμπτη 11:00-12:00, Β4 4 θεματικές ενότητες Αντίστοιχα με τα θέματα που καλύφθηκαν στο προηγούμενο εξάμηνο Ασκήσεις 4 ασκήσεις Βαθμολογία 100% από τις ασκήσεις 3

Ασκήσεις - Εξέταση Ασκήσεις Ομαδικές (1-3 άτομα) Συνολικά 4 μικρές ασκήσεις Κώδικας Εξέταση εν θα υπάρχει εξέταση Βαθμός 100% από ασκήσεις Καθυστέρηση στην παράδοση = 10% μείωση βαθμού (ανά μέρα καθυστέρησης) Αντιγραφή σε μία άσκηση = μηδενισμός στο μάθημα 4

Για απορίες Μέσω e-mail: spyros+os@ceid Μέσω forum του μαθήματος στο my.ceid.upatras.gr 5

Ύλη Μαθήματος Λειτουργικό Σύστημα MINIX 3 Περιβάλλον προγραμματισμού ιεργασίες ιαχείριση ιεργασιών Επικοινωνία ιεργασιών ιαχείριση Μνήμης Συστήματα Αρχείων ιαχείριση Αρχείων Μονάδες Εισόδου - Εξόδου Device Drivers 6

Βιβλιογραφιά Βιβλία B.Kernighan, R.Pike: Το περιβάλλον Προγραμματισμού UNIX A.Tanenbaum: Σύγχρονα Λειτουργικά Συστήματα" A.Tanenbaum, A.Woodhull: Operating Systems Design and Implementation, 3rd Edition" Πανεπιστημιακές Σημειώσεις Π.Τριανταφύλλου: «Εργαστήριο Λειτουργικών Συστημάτων» ιαδίκτυο Ιστοσελίδα Λειτουργικού Συστήματος MINIX 3 7

Ιστοσελι δα και Ανακοινω σεις Η ιστοσελίδα του μαθήματος σύντομα θα ανανεωθεί Θα περιέχει: ιαφάνειες των διαλέξεων Συμπληρωματικές σημειώσεις Το υλικό των ασκήσεων Υλικό από προηγούμενα έτη Όλες οι ανακοινώσεις θα γίνονται στο forum του μαθήματος στο my.ceid.upatras.gr 8

Σύνοψη 1ης ιάλεξης Θέματα Μαθήματος Γενικά ιαδικασία Υλικό Λειτουργικό Σύστημα MINIX 3 Εισαγωγή Εγκατάσταση Βασικές Εντολές Κονσόλας Σύνοψη Μαθήματος Σύνοψη Μαθήματος Βιβλιογραφία Επόμενη ιάλεξη 9

Γενικα Χαρακτηριστικα Στόχοι σχεδιασμού Αξιοπιστία Ευελιξία Ασφάλεια Λογισμικό Ανοιχτού Κώδικα Ο κώδικας για τις λειτουργίες του συστήματος και όλες τις εντολές και εργαλεία προσφέρεται ελεύθερα μαζί με την εγκατάσταση των εκτελέσιμων Απευθύνεται σε Ενσωματωμένα συστήματα Συστήματα υψηλής αξιοπιστίας Συστήματα μικρού κόστους (π.χ. OLPC) Συστήματα όπου η άδεια GPL είναι ιδιαίτερα περιοριστική Εκπαίδευση 10

Χαρακτηριστικά Συστήματος Minimal Unix = MINIX Ακολουθεί το μοντέλο μικρο-πυρήνα (microkernel) Ο πυρήνας αποτελείται από 4000 γραμμές κώδικα Συνολικά είναι ένα λειτουργικό μικρού μεγέθους περίπου 25000 γραμμές κώδικα Οι λειτουργίες του συστήματος είναι χωρισμένες σε modules τρέχουν σε user mode επικοινωνούν με τον πυρήνα μέσω μηνυμάτων αν πάει κάτι λάθος απλά γίνεται επανεκκίνηση του συγκεκριμένου module Είναι συμβατό με POSIX (Portable OS Interface) Υποστηρίζει όλες τις γνωστές γλώσσες προγραμματισμού Προσφέρει περιβάλλον εργασίας X Windows 11

Ιστορική Αναδρομή Η πρώτη έκδοση εμφανίστηκε το 1987 περίπου 12000 γραμμές κώδικα Το πρώτο λειτουργικό ελεύθερου κώδικα βασισμένο στο UNIX Version 7 Πολλά πανεπιστήμια δημιούργησαν Εργαστήρια Λειτουργικών Ενας από τους βασικούς στόχους ήταν ο εκπαιδευτικός χαρακτήρας Στόχευε σε συστήματα 8088 με 256k μνήμη, χωρίς σκληρό δίσκο απλά με δισκέτα Η δεύτερη έκδοση εμφανίστηκε το 1997 Έγινε συμβατό με POSIX (IEEE 1003.1, ISO 9945-1) Επέκταση προς συστήματα 32-bit Υποστήριξη σκληρού δίσκου και μεγαλύτερης μνήμης Υποστήριξη TCP/IP 12

Minix 3 Ανακοινώθηκε τον Οκτώβριο του 2005 ACM Symposium on Operating Systems Principles (SOSP 2005) Βασίζεται στην παρατήρηση ότι τα Λ.Σ. έχουν διογκωθεί, είναι αργά και αναξιόπιστα Συνήθως όλο το Λ.Σ. είναι γραμμένο σε C++ μεταγλωττισμένο σε ένα εκτελέσιμο που τρέχει μέσα στον πυρήνα Ένα bug σε μία από τις εκατομμύρια γραμμές είναι ικανό να οδηγήσει το σύστημα σε κατάρρευση Το να διορθώσεις όλα τα bugs είναι αδύνατο όσο χρόνο και αν διαθέσεις Έρευνα έδειξε ότι τα bugs που έχουν εντοπιστεί είναι 6... 16 ανά 1000 γραμμές κώδικα Έρευνα έδειξε ότι μετά από τις δέκα πρώτες εκδόσεις, το 6% των αρχείων του κώδικα εξακολουθούν να περιέχουν bugs 13

Minix 3 Συνήθως το 70% του κώδικα αφορά I/O devices και τους αντίστοιχους drivers υλοποιημένα από τρίτους Έρευνες σε σταθερές εκδόσεις Linux και OpenBSD εντόπισαν εκατοντάδες bugs στον πυρήνα και κυρίως στους οδηγούς Για αυτόν τον λόγο, στο Minix οι οδηγοί είναι έξω από τον πυρήνα Ένας ειδικός δαίμονας παρακολουθεί την κατάσταση των οδηγών και τους επανεκκινεί εάν διαπιστώσει ότι υπάρχει κάποιο πρόβλημα Υλοποιεί τεχνικές αυτό-ίασης (self-healing) ή αλλιώς τεχνικές αυτό-σταθεροποίησης (self-stabilizatio) -- για τις οποίες μίλησε για πρώτη φορά ο Dijkstra περίπου το 1960 14

Linus Benedict Torvalds Κατά την διάρκεια των σπουδών του εγκατέστησε το Minix 1.5 άρχισε τους πειραματισμούς μελετώντας τον κώδικα Παρατήρησε ότι κάποια βασικά χαρακτηριστικά απουσίαζαν Άρχισε να υλοποιεί τα προγράμματα... ιαπίστωσε ότι χρειαζόταν διαφορετικό οδηγό για το τερματικό του, οπότε άρχισε να τον υλοποιεί... Μετά αποφάσισε ότι χρειάζεται να σώσει τα μηνύματα της συζήτησης για το MINIX στο USENIX... Οπότε άρχισε να γράφει έναν οδηγό για τον σκληρό δίσκο Στην συνέχεια υλοποίησε ένα απλό σύστημα αρχείων Τον Αύγουστο του 1991 δημιούργησε την πρώτη έκδοση του πυρήνα του LINUX Το ανακοίνωσε στο USENIX και με την συνδρομή άλλων προγραμματιστών η πρώτη έκδοση του LINUX ανακοινώθηκε τον Μάρτιο του 1994 15

MINIX vs. LINUX Το Linux είναι ένα μονολιθικό σύστημα Καμία δομή όσον αφορά την οργάνωση των λειτουργιών Ο Tanenbaum ισχυρίστηκε ότι τα συστήματα μικροπυρήνα είναι ανώτερα από τα μονολιθικά... το Linux βασίζεται σε παρωχημένες τεχνολογίες το να προγραμματίζεις έναν μονολιθικό πυρήνα το 1991 είναι a giant step back into the 1970s Το MINIX σχεδιάστηκε κυρίως για εκπαιδευτικό χαρακτήρα Οφείλει να χρησιμοποιεί καλά σχολιασμένο κώδικα Υλοποιήσεις αναφοράς Προσφέρει τα θεμέλια τις αποδεκτές αρχές της ερευνητικής περιοχής Το LINUX δεν έχει τέτοιου είδους στόχους Πρέπει να είναι ένα πραγματικό λειτουργικό σύστημα Να βασίζεται σε συγκεκριμένες τεχνολογίες και αρχιτεκτονικές 16

Ελάχιστες Απαιτήσεις Αρχιτεκτονική IA-32 (386, 486, Pentium or compatible) 16MB μνήμη CDROM ή USB -- χρήση έκδοσης LiveCD Αν θέλετε να το εγκαταστήσετε στον σκληρό τότε απαιτεί 50MB RAM Για την χρήση του περιβάλλοντος X Windows -- χρειάζεται 256MB RAM Για την εγκατάσταση όλου του κώδικα (εφαρμογές κλπ) χρειάζεται 600MB στον δίσκο 17

Εγκατάσταση: Εύκολη Λύση Καμία αλλαγή στον σκληρό δίσκο Χρήση του LiveCD Κατέβασμα του image (.iso) από την ιστοσελίδα του συστήματος -- www.minix3.org ημιουργία ενός bootable CD-ROM Επανεκκίνηση του συστήματος με την χρήση του CD-ROM Χρήση USB Memory Stick Κατέβασμα του usb_image (.zip) από την ιστοσελίδα του συστήματος -- www.minix3.org Τοποθέτηση αρχείων στο USB Memory Stick Επανεκκίνηση του συστήματος με την χρήση του USB Memory Stick Sector by sector copy του.iso στο USB (π.χ., YUMI, XBOOT κτλ.) Επιλέγουμε ρυθμίσεις regular Κάντε login ως root (δεν χρειάζεται password) 18

Εγκατάσταση: Πολύ Εύκολη Λύση Με την προηγούμενη λύση δεν μπορούμε να κάνουμε αλλαγές στο σύστημα Καμία αλλαγή στον σκληρό δίσκο / λειτουργικό σύστημα Χρήση ενός Εξομοιωτή VirtualBox VMWare Player -- www.vmware.com QEMU -- www.qemu.org Bochs -- bochs.sourceforge.net Virtual PC Παράδειγμα: http://wiki.minix3.org/en/usersguide/runningminixonvmware 19

Πλήρης Εγκατάσταση Με την προηγούμενη λύση μπορεί το σύστημα να λειτουργεί αργά (εξαρτάται από το υλικό) Απαιτεί αλλαγές στον σκληρό δίσκο Εκτός αν μπορούμε να αφιερώσουμε έναν άλλο δίσκο μόνο για το MINIX Χρειαζόμαστε ένα partitioτο πολύ 1 GB Υπάρχουν προγράμματα που μπορούν να αλλάξουν το μέγεθος ενός partitio χωρίς να το σβήσουν ημιουργήστε αντίγραφα ασφαλείας (backup) Ξεκινήστε το σύστημα με το LiveCD (ή USB) Επιλέγουμε ρυθμίσεις regular Κάντε login ως root (δεν χρειάζεται password) Εκτελέστε την εντολή setup 20

Ξεκινώντας ένα Session Για να ξεκινήσουμε, αρχικά κάνουμε login Μόλις ξεκινήσει το σύστημα εμφανίζεται το μήνυμα login Σε άλλα συστήματα το περιβάλλον είναι ποιο φιλικό (π.χ. πλούσια γραφικά) Εισάγοντας σωστό login/password ξεκινάει ένα νέο session Μια νέα κονσόλα δημιουργείται Ενα πολύ βασικό περιβάλλον εκτέλεσης εντολών 21

Εκτέλεση Εντολών Το # είναι το prompt Στο prompt γράφουμε το όνομα της εντολής και πατάμε Return Πατώντας απλά Return εμφανίζεται μια νέα γραμμή 22

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

Τερματισμός εντολών Για να διακόψουμε την εκτέλεση μιας εντολής χρησιμοποιούμε το ctrl-c Για να παγώσουμε την έξοδο μιας εντολής χρησιμοποιούμε το ctrl-s Για να ξεπαγώσουμε την έξοδο χρησιμοποιούμε το ctrl-q Προσοχή με αυτόν τον τρόπο μόνο η έξοδος παγώνει, όχι η εκτέλεση Για να κλείσουμε την κονσόλα να ολοκληρώσουμε το session χρησιμοποιούμε το ctrl-d Πατάμε συνεχόμενες φορές το ctrl-q Τερματίζουν όλα τα προγράμματα που τρέχουν και στο τέλος εμφανίζεται πάλι η αρχική οθόνη login Αυτός είναι ο μοναδικός σωστός τρόπος για να κλείνουμε ένα session 24

Επικοινωνία με άλλους χειριστές Με την εντολή write μπορούμε να στείλουμε ένα μήνυμα σε μια άλλη κονσόλα Αποστολη μηνύματος # write akomninos hello there ˆD EOT Παραλαβη μηνύματος Message from root (ttyc1) Sat Apr 21 17:09:17 2007.. hello there EOT 25

Οδηγίες Προγραμματισμού UNIX Με την εντολή man μπορούμε να προσπελάσουμε τις σελίδες βοήθειας Υπάρχουν διάφορες κατηγορίες σελίδων Εντολές Χειριστών -- ls, cp, grep Κλήσεις Συστήματος -- fork, exit Ρουτίνες Βιβλιοθηκών Αρχεία Συσκευών Ε/Ε Τύποι/Κωδικοποιήσεις Αρχείων Παιχνίδια ιάφορα Εντολές ιαχειριστή Συστήματος Εγγραφα περισσότερες πληροφορίες για τις ορισμένες σελίδες που ανήκουν στις παραπάνω κατηγορίες Για να προσδιορίσουμε σε ποια κατηγορία αναφερόμαστε: man [category] [topic] 26

#man fork 27

Εγκατάσταση προγρ. στο MINIX Εντολή packman (<3.1.7) Απαιτεί το LiveCD ή να έχουμε πρόσβαση στο ιαδίκτυο Μπορεί να εγκαταστήσει και τον πηγαίο κώδικα Αντικαταστάθηκε από το pkgin / pkgsrc 28

Σύνοψη 1ης ιάλεξης Θέματα Μαθήματος Γενικά ιαδικασία Υλικό Λειτουργικό Σύστημα MINIX 3 Εισαγωγή Εγκατάσταση Βασικές Εντολές Κονσόλας Σύνοψη Μαθήματος Σύνοψη Μαθήματος Βιβλιογραφία Επόμενη ιάλεξη 29

Συ νοψη Μαθη ματος ιαδικασία Μαθήματος Συνοπτική παρουσίαση των Σητημάτων και προβλημάτων που θα μελετηθούν Σύντομη παρουσίαση του MINIX 3 Θέματα εγκατάστασης MINIX 3 Περιβάλλον MINIX Εισαγωγή στις γενικές έννοιες της κονσόλας 30

Βιβλιογραφιά Βιβλίο Σύγχρονα Λειτουργικά Συστήματα" (A.Tanenbaum) Κεφάλαιο 1: Εισαγωγή Κεφάλαιο 10: Μελέτη Περίπτωσης 1 Unix και Linux Βιβλίο Το περιβάλλον Προγραμματισμού UNIX (B.Kernighan, R.Pike) Κεφάλαιο 1: Εισαγωγή Βιβλίο Operating Systems: Design and Implementation" (A.Tanenbaum, A.Woodhull) Κεφάλαιο 1: Introduction Appendix A: Installing MINIX 3 Πανεπιστημιακές Σημειώσεις (Π.Τριανταφύλλου) Κεφάλαιο 1: Εισαγωγή σε Λειτουργικά Συστήματα 31