ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Ορισμοί Πληροφορική I Πρόγραμμα: ένα σύνολο εντολών που κατευθύνουν τον Η/Υ και απαιτούνται για τη μετατροπή των δεδομένων σε πληροφορίες Εργασία: ένα πρόγραμμα που πρόκειται να εκτελεστεί Διεργασία: ένα πρόγραμμα που βρίσκεται στη μνήμη και περιμένει πόρους ΠΡΟΓΡΑΜΜΑ = ΑΛΓΟΡΙΘΜΟΙ + ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ "Λογισμικό (Software)" Λειτουργικό σύστημα (Operating System OS): μία διεπαφή (interface) μεταξύ του υλικού ενός Η/Υ και του χρήστη Διευκολύνει την εκτέλεση άλλων προγραμμάτων και την πρόσβαση σε υλικό και λογισμικό B. Φερεντίνος ver. 071114 Είδη λογισμικού Λογισμικό Συστημάτων Λογισμικό Εφαρμογών (Πακέτα) Λειτουργικά Συστήματα (Operating Systems) Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers) Προγράμματα επεξεργασίας εικόνας, ήχου, βίντεο Utilities Βάσεις δεδομένων Εξυπηρετητές (Servers) Προγράμματα εκπαιδευτικού λογισμικού Συστήματα παραθυρικού περιβάλλοντος (Windowing systems) Προγράμματα προσομοίωσης Επιστημονικά προγράμματα Βιομηχανικά προγράμματα Λογισμικό Προγραμματισμού Μεταγλωττιστές (Compilers) Προγράμματα λήψης αποφάσεων Διερμηνευτές (Interpreters) Προγράμματα επικοινωνιών (Internet) Debuggers Παιχνίδια (video games) Linkers Κειμενογράφοι (Text editors) Λειτουργικά Συστήματα Είδη λογισμικού (συν.) Προγράμματα και δεδομένα που διαχειρίζονται το hardware και φροντίζουν για την εκτέλεση των υπόλοιπων εφαρμογών του Η/Υ Το ΛΣ (Operating System OS) ενεργοποιείται κατά την εκκίνηση του Η/Υ και δραστηριοποιείται καθ' όλη τη διάρκεια λειτουργίας του κτλ. Βασικές λειτουργίες ενός ΛΣ Έλεγχος των ηλεκτρονικών μερών του Η/Υ Παροχή κοινών λειτουργικών υπορουτίνων στα προγράμματα Διαχείριση της αποθήκευσης δεδομένων Παροχή διεπαφής (κυρίως γραφικής: Graphical User Interface GUI) για τη χρήση του Η/Υ από το χρήστη
Βασικά χαρακτηριστικά ενός ΛΣ Ιστορία λειτουργικών συστημάτων Multitasking: ταυτόχρονη λειτουργία πολλών προγραμμάτων σε έναν επεξεργαστή Multi-user: ταυτόχρονη χρήση του Η/Υ από πολλούς χρήστες Πρώτοι υπολογιστές: χωρίς Λ.Σ. 1964: το πρώτο ΛΣ: OS/360 της IBM 1969: Unix (AT&T Bell Labs) 1980: 86-DOS (QDOS Quick & Dirty OS) 1981: MS-DOS (εξαγορά του QDOS από τη Microsoft) Multi-processing: ταυτόχρονη χρήση πολλαπλών επεξεργαστών Ιστορία λειτουργικών συστημάτων 1984: Mac OS (στοιχεία από τους: Xerox Alto (1973) και Xerox Star (1981) ο πρώτος εμπορικός Η/Υ με GUI) 1985: 1.0 (το πρώτο multitasking GUI σε PC) 1991: (Η βασικότερη παραλλαγή του Unix) 1992: 3.1 (κυριαρχία της Microsoft) 2001: XP 2001: Mac OS X (το πιο διαδεδομένο Mac OS) Δημιουργήθηκε για τον 8086 Δημιουργήθηκε για το IBM PC (PC-DOS) Βασικά ΛΣ σήμερα 2004: Ubuntu (η πιο διαδεδομένη διανομή του ) 2009: 7 (το πιο διαδεδομένο Λ.Σ. Σήμερα) 2012: 8 (με έμφαση και σε φορητές συσκευές) 2015: 10 (να επιτύχει εκεί που απέτυχαν τα 8) Ubuntu Fedora Debian SUSE Mandriva Mac OS X XP 7 Snow Leopard Lion Mobile OS Android ios Εξέλιξη των Unix-like ΛΣ 1.0 3.1 XP (Ubuntu 10.10) Δημιουργήθηκε για mainframes και minicomputers Mac OS X Δημιουργήθηκε για τα mainframes της IBM
Πλεονεκτήματα του (Ubuntu) ως προς τα Διανομές Debian (1993) Δωρεάν (λειτουργικό ανοιχτού κώδικα) Πολύ πιο ασφαλές (δεν υπάρχουν ιοί) Πολύ πιο σταθερό Knoppix (2000) Ubuntu (2004) Slackware (1993) SUSE ('94 & '03) Red Hat (1993) Πιο γρήγοροι χρόνοι εκκίνησης και τερματισμού του Λ.Σ. Πιο παραμετροποιήσιμο GUI Πιο ανεπτυγμένη διαχείριση αρχείων Δυνατότητα χρήσης γραμμής εντολών Unix Mandriva (2005) Τεράστια ποικιλία δωρεάν εφαρμογών ανοιχτού κώδικα Βασικά μέρη ενός ΛΣ Πυρήνας (Kernel) Έλλειψη κάποιων οδηγών (drivers) ορισμένων μεμονωμένων συσκευών Πιο δύσκολο στη χρήση για τον αρχάριο και μέσο χρήστη, λόγω προβλημάτων που μπορεί να προκαλέσει το προηγούμενο μειονέκτημα Βασικά μέρη ενός ΛΣ (συν.) Πιο εύκολη αναζήτηση και εγκατάσταση προγραμμάτων Fedora ('03 & '07) Μειονεκτήματα του (Ubuntu) ως προς τα Πιο γρήγορο (δεν γίνεται πιο αργό με την πάροδο του χρόνου, δεν χρειάζεται defragmentation) Κέλυφος ή φλοιός (Shell) Επιτρέπει την επικοινωνία του χρήστη με τον Η/Υ, μέσω της Διεπαφής Χρήστη (User interface) Command line interface CLI (γραμμή εντολών): μέθοδος ελέγχου ενός ΛΣ μέσω γραπτών εντολών π.χ. Unix, MS-DOS, Graphical user interface GUI (γραφική διεπαφή/διασύνδεση): μέθοδος ελέγχου ενός ΛΣ μέσω γραφικού περιβάλλοντος π.χ.,, Mac OS Η γέφυρα μεταξύ των εφαρμογών και της επεξεργασίας δεδομένων που γίνεται στο hardware Διαχειρίζεται: Την ΚΜΕ (CPU) Τη μνήμη (RAM) Τις συσκευές εισόδου/εξόδου (I/O) GUI Τα παλιότερα ΛΣ είχαν το GUI ενσωματωμένο στον πυρήνα τους ( μέχρι και τα XP, Mac OS) Τα πιο εξελιγμένα ΛΣ ξεχωρίζουν το υποσύστημα γραφικών από τον πυρήνα αλλά και από το ίδιο το ΛΣ (πλήρως: Unix,, Mac OS X, σε μεγάλο ποσοστό: Vista και 7) Π.χ., τα ΛΣ που χρησιμοποιούν το X Window System μπορούν να λειτουργούν με διάφορα GUI ανάλογα με τις προτιμήσεις του χρήστη ή τις δυνατότητες του κάθε Η/Υ (π.χ., GNOME, KDE, Xfce κτλ.)
Βασικές λειτουργίες ενός ΛΣ Διαχείριση της ΚΜΕ (CPU) Χρήση χρονοπρογράμματος (scheduler) για το βέλτιστο προγραμματισμό των εργασιών της ΚΜΕ multitasking Διαχείριση εκτέλεσης προγραμμάτων Κατανομή της μνήμης στο κάθε ενεργό πρόγραμμα Χρήση εικονικής μνήμης (virtual memory) όταν είναι απαραίτητο Πρόγραμμα υπολογιστή: σύνολο ανενεργών οδηγιών που κατευθύνουν τον Η/Υ και απαιτούνται για να μετατραπούν τα δεδομένα σε πληροφορίες Εργασία υπολογιστή: ένα πρόγραμμα που πρόκειται να εκτελεστεί Διεργασία υπολογιστή: ένα πρόγραμμα που βρίσκεται στη μνήμη και περιμένει πόρους Διάγραμμα καταστάσεων: παρουσιάζει τις δυνατές καταστάσεις ενός προγράμματος, μιας εργασίας ή διεργασίας και απεικονίζει τη μεταξύ τους σχέση. Υπάρχουν 3 δυνατές καταστάσεις: Διαχείριση συσκευών εισόδου/εξόδου Διαχείριση ασφάλειας (ως προς την εκτέλεση προγραμμάτων) Κατάσταση διατήρησης (hold state) Κατάσταση ετοιμότητας (ready state) Κατάσταση εκτέλεσης (running state) Διαχείριση αρχείων (σύστημα αρχείων filesystem) Διαχείριση της ΚΜΕ Διαχείριση διεργασιών Ορισμοί Συντονισμός διεργασιών Προσθέτει νέες διεργασίες στον πίνακα διεργασιών Αφαιρεί διεργασίες που έχουν διεκπεραιωθεί Δύο κατηγορίες ΛΣ ως προς τη διαχείριση μνήμης: Μονο-προγραμματισμός Πολυ-προγραμματισμός Διεκπεραιωτής (Process Dispatcher) Ελέγχει την κατανομή των χρονοθυρίδων στις διεργασίες του πίνακα διεργασιών Το τέλος κάθε χρονοθυρίδας (χρονομερίδιο) δηλώνεται με ένα σήμα διακοπής (interrupt) Χρήση ουράς Χρησιμοποιείται για την ταυτόχρονη διαχείριση πολλών διεργασιών Ο διαχειριστής μνήμης: Συντονίζει την κύρια μνήμη Στον μονο-προγραμματισμό: Χρονοπρογραμματιστής Εργασιών (Job Scheduler) Το πρόγραμμα πρέπει να χωράει στη μνήμη. Αν είναι μεγαλύτερο, δεν εκτελείται Όταν εκτελείται ένα πρόγραμμα, δεν μπορεί να εκτελεστεί κάποιο άλλο Κατά την ανταλλαγή δεδομένων του προγράμματος που εκτελείται με συσκευές εισόδου/εξόδου, η ΚΜΕ ενδέχεται να μένει αδρανής (λόγω της μεγαλύτερης ταχύτητάς της από τις συσκευές αυτές) Στον πολυ-προγραμματισμό (multiprogramming): στη μνήμη βρίσκονται πολλά προγράμματα που εκτελούνται ταυτόχρονα multitasking Γρήγορες εναλλαγές μεταξύ εκτελούμενων διεργασιών όταν παρουσιαστεί κάποια καθυστέρηση (πχ πρόσβαση σε μονάδα I/O) Μεγιστοποίηση της χρήσης της ΚΜΕ Άλλοι τρόποι επίτευξης του multitasking: Time-sharing systems: εναλλαγή όταν είναι προγραμματισμένο ή όταν ζητηθεί Real-time systems: εγγύηση παροχής χρόνου στην ΚΜΕ σε ορισμένες διεργασίες (πχ, σε βιομηχανικές εφαρμογές)
Διαχείριση συσκευών Οδηγοί συσκευών (Device Drivers): Μονάδες λογισμικού που επικοινωνούν με τους ελεγκτές ή τις περιφερειακές συσκευές για να διεκπεραιώσουν συγκεκριμένες λειτουργίες Διαχείριση αρχείων Οργανώνει αρχεία σε βάση δεδομένων για: Ο διαχειριστής συσκευών: Παρακολουθεί κάθε συσκευή I/O και ελέγχει συνεχώς τη σωστή λειτουργία της Προετοιμάζει και επιβλέπει την ολοκλήρωση κάποιας διεργασίας και την εξυπηρέτηση της επόμενης από τη συσκευή I/O Διατηρεί ουρά διεργασιών για κάθε συσκευή I/O Ελέγχει εναλλακτικές πολιτικές για την προσπέλαση των συσκευών I/O Δενδρική δομή αρχείων Filesystem: μέθοδος αποθήκευσης και οργάνωσης αρχείων και των δεδομένων τους. αποθήκευση οργάνωση διαχείριση ανάκτηση από το ΛΣ. Για το χρήστη: οργάνωση αρχείων σε δενδρική δομή με φακέλους / υποφακέλους (καταλόγους / υποκαταλόγους) Συστήματα αρχείων Ημ/νία δημ/ργίας Στοιχεία υπόλοιπου λογισμικού Αρχιτεκτονική Εγχειρίδιο χρήσης Διαθέσιμες βιβλιοθήκες Ύπαρξη κάποιου standard Ποιότητα και αξιοπιστία Άδεια / πατέντες Max μέγεθος αρχείου Max μέγεθος δίσκου Υποστηριζόμενα ΛΣ FAT12 1980 QDOS 32MB FAT16 1987 DOS3.31 2GB- FAT32 1996 Win 95 2TB-8TB NTFS 1993 Win NT 16TB-16EB 256TB exfat 2006 Win CE 512TB-64ZB 512TB-64ZB ext2 1993 16GB-2TB 2TB-32TB ext3 2001 16GB-2TB 2TB-16TB ext4 2008 16TB 16TB-1EB HFS+ 1998 Mac OS 8.1 8EB 8EB WinNT, WinXP-7, MacOSX, WinXP-7, MacOS, MacOSX Κατηγορίες διάθεσης λογισμικού Δομή του προγράμματος Στοιχεία του προγράμματος Σχέσεις μεταξύ τους και ιδιότητές τους Λειτουργικό Σύστημα Proprietary software (Ιδιόκτητο λογισμικό κλειστού κώδικα) Νομικά αδειοδοτημένο λογισμικό που ανήκει στον ιδιοκτήτη του και είτε πωλείται είτε παρέχεται δωρεάν (freeware) Public domain software Χωρίς ιδιοκτήτη (δηλ. χωρίς copyright), αλλά κλειστού κώδικα. Παρέχεται δωρεάν (freeware) Open source software (Λογισμικό ανοιχτού κώδικα) Ο κώδικας είναι ανοιχτός για όλους. Συνήθως δωρεάν, αλλά όχι απαραίτητα Free software (Δωρεάν λογισμικό) Δωρεάν και ανοιχτού κώδικα, ελεύθερο στην οποιαδήποτε τροποποίηση. Το copyright μπορεί να ανήκει στο δημιουργό