ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 1ο: Εισαγωγή

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Κεφάλαιο 1ο: Εισαγωγή"

Transcript

1 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 1ο: Εισαγωγή 1

2 - 2 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα τι είναι το Λειτουργικό σύστημα? Είναι μια επεκτεταμένη μηχανή (Αφαίρεση) Κρύβει πολύπλοκες λεπτομέρειες από τα προγράμματα Παρέχει μια εικονική μηχανή εύκολη στην χρήση Είναι ένας διαχειριστής πόρων Δίνει χρόνο και χώρο στα προγράμματα για να εκτελεστούν Το Λ.Σ. είναι η καρδιά και ο εγκέφαλος ενός Η/Υ!!!

3 Βασικές λειτουργίες του Λειτουργικού Συστήματος Υλικό, προγράμματα και δεδομένα αποτελούν υπολογιστικούς πόρους Το Λειτουργικό σύστημα: Διευκολύνει το χρήστη να χρησιμοποιεί τους υπολογιστικούς πόρους, εργαλεία εισόδου/εξόδου, τη μνήμη, την κεντρική μονάδα επεξεργασίας, τα δεδομένα. Ελέγχει την κατανομή των πόρων με τρόπο φιλικό, αποδοτικό και δίκαιο Προστατεύει τους πόρους από ανεπιθύμητες καταστάσεις (σφάλμα εκτέλεσης προγράμματος, προσπέλαση σε μνήμη που ανήκει σε άλλο χρήστη του συστήματος κλπ) Απαλλάσει από τον προβληματισμό για πρόσβαση στα στοιχεία υλικού Παρέχει προστασία στους χρήστες 3

4 - 4 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Ο πυρήνας του Λ.Σ. (Kernel) O πυρήνας του Λ.Σ. αναφέρεται στο κύριο τμήμα του Λ.Σ. το οποίο υλοποιεί τις δύο βασικές οντότητες (processes και files) του Λ.Σ. καθώς και τη διαχείριση μνήμης του υπολογιστή. Αυτός ο κώδικας είναι προστατευμένος, με την έννοια ότι δεν ανήκει σε κανένα χρήστη (δεν είναι «user process»). Διαφορετικά, ο κάθε χρήστης θα μπορούσε να αλλάξει αυτόν τον κώδικα και έτσι να μονοπωλήσει τους πόρους του συστήματος, CPU, RAM, δίσκοι, τερματικά, κ.λπ. Αυτή η προστασία επιτυγχάνεται χρησιμοποιώντας δύο τρόπους λειτουργίας: user mode και kernel mode. Το σύστημα βρίσκεται υπό προστασία όταν βρίσκεται σε kernel mode. Δηλαδή, ειδικές εντολές που διαχειρίζονται τους πόρους του συστήματος μπορούν να εκτελεσθούν μόνο όταν το σύστημα λειτουργεί σε kernel mode. Το Λ.Σ. είναι το μόνο system s/w το οποίο εκτελείται σε kernel mode.

5 - 5 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Κλήσεις Συστήματος (System Calls) Για να μπορέσει μια διεργασία χρήστη (user process) να χρησιμοποιήσει τους πόρους πρέπει να καλέσει τις κατάλληλες ρουτίνες του kernel. Αυτό επιτυγχάνεται μέσω system calls. υπάρχουν system calls όπως fork(), exec(), malloc(), read(), printf() τα οποία αφορούν στη δημιουργία ενός process, sτην εκτέλεση από κάποιο process ενός προγράμματος, στην παροχή μνήμης, στην ανάκτηση τμήματος αρχείου, στην εκτύπωση στην οθόνη, κ.λπ. Το κάθε system call υλοποιείται μέσω μίας ρουτίνας η οποία βρίσκεται σε μία βιβλιοθήκη που συνδέεται (linked) με τον κώδικα της user process. Όλες οι ρουτίνες αυτής της βιβλιοθήκης εκτελούν μία ειδική εντολή, που ονομάζεται TRAP. Η εντολή TRAP είναι αυτή η οποία αλλάζει το σύστημα από user mode σε kernel mode, (αλλάζοντας ένα bit σε ένα CPU register το οποίο καταδεικνύει τον τρόπο λειτουργίας του συστήματος).

6 - 6 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Κλήσεις Συστήματος (System Calls) Επιπλέον, η ρουτίνα που καλεί TRAP είναι υπεύθυνη να τοποθετήσει τις παραμέτρους του system call σε μία προσυμφωνημένη διεύθυνση, (συνήθως, CPU registers ή ακόμα και στη στοίβα (stack)) όπου ο πυρήνας θα τις βρει. Όταν ο πυρήνας τελειώσει, τότε τοποθετεί επιστρεφόμενες πληροφορίες σε registers και εκτελεί ένα RETURN FROM TRAP ενεργοποιώντας πάλι τη ρουτίνα της βιβλιοθήκης. Αυτή η ρουτίνα, επιστρέφει την πληροφορία από τους registers στη user process.

7 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Κλήσεις Συστήματος (System Calls) 11 βήματα της κλήσης read(fd, buffer, nbytes) 7

8 - 8 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Διεργασίες (Processes). H κάθε διεργασία αντιπροσωπεύει ένα εκτελούμενο πρόγραμμα. Το Λ.Σ. προσπαθεί να οργανώσει την λειτουργία του με βάση το τι έχει κάνει και το τι πρέπει να κάνει για το κάθε process (multiprogramming). Οι βασικές πληροφορίες που αφορούν μία διεργασία είναι: ο «εκτελέσιμος κώδικας» (object code), τα δεδομένα του προγράμματος, το stack, το program counter, το stack pointer, και οι τιμές των άλλων βασικών καταχωρητών. Ο πυρήνας κρατάει αυτές τις πληροφορίες σε κατάλληλες δομές. Μία από αυτές τις δομές λέγεται Πίνακας Διεργασιών (process table). Σε αυτόν τον πίνακα, υπάρχει μία εγγραφή για κάθε process. Linux εντολή: ps e f Windows: Task manager

9 - 9 - Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Οι διεργασίες μπορούν να έχουν και μία ιεραρχική σχέση (πατέρας, παιδί, πρόγονος, κ.λπ.). Η σχέση αυτή δημιουργείται μέσω του system call fork() στο UNIX. Τυπικά system calls αφορούν την δημιουργία και τερματισμό διεργασιών (fork() και kill()). Επίσης, υπάρχουν και τα wait(), malloc(), exec(), κλπ. Τέλος, συχνά χρειάζεται να κοινοποιήσει ο kernel σε ένα process πληροφορία. Αυτό επιτυγχάνεται με την χρήση των signals. Για παράδειγμα, όταν μία διεργασία διαιρεί διά του 0, τότε ένα signal στέλνεται με αυτή τη πληροφορία.

10 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Δέντρο διεργασιών Η διεργασία Α δημιουργεί 2 διεργασίες-παιδιά την Β και C Η διεργασία Β δημιουργεί τις D, E και F Linux εντολή: pstree -A

11 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Αρχεία (Files). Η δεύτερη βασική οντότητα είναι τα αρχεία. Συνδέονται με κλήσεις συστήματος που δημιουργούν, διαγράφουν, διαβάζουν, ενημερώνουν, (create(), rm(), read(), write()), κ.λπ. αρχεία. Συνήθως, ένα αρχείο πρέπει πρώτα να «ανοιχτεί» (open()) πριν διαβαστεί ή ενημερωθεί και μετά να «κλειστεί» (close()). Τα αρχεία είναι οργανωμένα σε ομάδες που ονομάζονται κατάλογοι (directories). Ένας κατάλογος μπορεί να περιέχει έναν άλλο κατάλογο, και έτσι δημιουργείται ένα ιεραρχικό σύστημα διαχείρισης αρχείων (file system).

12 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Σύστημα αρχείων ενός πανεπιστημίου

13 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Με κάθε αρχείο συνδέεται επίσης και μία λίστα ελέγχου πρόσβασης (access control list) η οποία καθορίζει ποιος μπορεί να έχει πρόσβαση στο αρχείο. Όταν κάποιος επιχειρεί να ανοίξει ένα αρχείο, εξετάζεται η access control list και αν όλα είναι εντάξει, τότε το σύστημα επιστρέφει ένα δικαίωμα/εισητήριο» capability (που ονομάζεται επίσης file descriptor ή file handle). Οι εντολές read(), write(), και close() που θα ακολουθήσουν δέχονται σαν παράμετρο αυτό το descriptor και έτσι αποφεύγεται η χρονοβόρα διαδικασία επανεξέτασης των δικαιωμάτων πρόσβασης του χρήστη για κάθε system call στο αρχείο. Πέρα από την χρησιμοποίηση των αρχείων από τους χρήστες για μη-προσωρινά δεδομένα, τα αρχεία προσφέρουν και ένα τρόπο υψηλού-επιπέδου πρόσβασης σε περιφερειακές συσκευές (π.χ. δίσκους, τερματικά, κ.λπ). Οι συσκευές αυτές παρουσιάζονται σαν ειδικά αρχεία (device special files). Η διασύνδεση (interface) με τα device special files γίνεται με τον ίδιο τρόπο όπως και με τα παραδοσιακά αρχεία. Έτσι δημιουργείται μια αφαίρεση για αυτές τις συσκευές που κρύβει όλες τις πολύπλοκες λεπτομέρειες που αφορούν στη χρήση τους. Linux: \dev directory

14 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Αγωγοί (Pipes) Pipes είναι ένας μηχανισμός ο οποίος σχετίζεται με files και με processes. Χρησιμοποιείται ώστε δύο διεργασίες να ανταλλάξουν πληροφορίες. Ο τρόπος ανταλλαγής πληροφοριών γίνεται μέσω ενός file interface. το pipe παρουσιάζεται σαν ένα ειδικό αρχείο, το οποίο μπορεί να ανοιχτεί, ενημερωθεί/διαβαστεί, και να κλειστεί. Μία διεργασία Δ1 για να στείλει πληροφορίες σε μία άλλη Δ2, ανοίγει ένα pipe και το ενημερώνει. Η Δ2 επίσης το ανοίγει και το διαβάζει. Έτσι βλέπουμε ότι το «file» αποτελεί μια αφαίρεση (abstraction) για πολλά είδη I/O: με περιφερειακές συσκευές (π.χ., δίσκους, τερματικά) και με διαδιεργαστική επικοινωνία (interprocess communication).

15 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Αγωγοί (Pipes) Επικοινωνία μεταξύ 2 διεργασιών με αγωγούς.

16 Είδη υπολογιστικών συστημάτων Mainframe computer systems Καλή χρήση των πόρων μέσω τερματικών Σταθμοί εργασίας (workstations) Καλή χρήση των πόρων αλλά και ατομική ευχρηστία Προσωπικοί υπολογιστές (PC) Ευκολία χρήσης, έμφαση στην απόδοση και όχι στην καλή χρήση των πόρων Handheld υπολογιστές (υπολογιστές χειρός) Ατομική ευχρηστία και απόδοση με καλή χρήση της μπαταρίας 9/10/

17 Ταξινόμηση Λ/Σ Ομαδικής επεξεργασίας (Batch Systems) Στους πρώτους mainframe υπολογιστές Μια έννοια που αναπτύχθηκε περίπου στις αρχές της δεκαετίας του 60. Αφορά στην δημιουργία ομάδων προγραμμάτων τις οποίες ένας χειριστής «φόρτωνε» μαζί στον υπολογιστή των ημερών. Τα προγράμματα αυτά εκτελούνταν σειριακά (το ένα μετά το άλλο). Δεν υπάρχει αλληλεπίδραση ανάμεσα στο χρήστη και στο πρόγραμμά του κατά τη διάρκεια της επεξεργασίας Οι εργασίες του χρήστη υποβάλλονται στον υπολογιστή κατά ομάδες (batches) Ο έλεγχος απλά μεταφέρεται αυτόματα από τη μια εργασία στην άλλη. Η ΚΜΕ μένει αχρησιμοποίητη για αρκετό χρονικό διάστημα. Το λειτουργικό σύστημα βρίσκεται πάντα στη μνήμη 9/10/

18 Ταξινόμηση Λ/Σ Συστήματα πολυ-προγραμματισμού Λύνουν το πρόβλημα της ανεκμετάλλευτης ΚΜΕ των συστημάτων ομαδικής επεξεργασίας (batch sysstems) Πολλές εργασίες ταυτόχρονα στη μνήμη ΛΣ πρόγραμμα με την υψηλότερη προτεραιότητα στη χρήση της ΚΜΕ Χρονοδρομολογητής ΚΜΕ Πολιτικές διαχείρισης μνήμης Η εργασία που χρειάζεται να κάνει λειτουργίες εισόδου/εξόδου χάνει την ΚΜΕ και το λειτουργικό σύστημα επιλέγει την επόμενη εργασία που είναι έτοιμη για να εκτελεστεί.όταν η πρώτη εργασία τελειώσει με την αναμονή της εισόδου/εξόδου λαμβάνει ξανά την ΚΜΕ. 9/10/

19 Πολυπρογραμματισμός (2) Προγράμματα και δεδομένα για πολλές εργασίες στην ΚΜΕ την ίδια στιγμή Βελτιωμένη χρησιμοποίηση πόρων Ταυτόχρονη πρόσβαση χρηστών στον υπολογιστή C CPU CPU RUN!!! Ι/Ο CPU RUN!!! B CPU RUN!!! Ι/Ο RUN!!! A RUN!!! Ι/Ο CPU CPU RUN!!!

20 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Τρόπος εκτέλεσης: Multiprogramming Η υποστήριξη πολλων ταυτόχρονα εκτελούμενων διεργασιών από το σύστημα (που μπορεί να έχει έναν επεξεργαστή). Πολλά είδη προγραμμάτων περιέχουν αρκετή Ε/Ε (Ι/Ο -- ονομάζονται I/O bound σε αντίθεση με τα CPU-bound). Όταν καλούν κάποια Ι/Ο διαδικασία (π.χ. πρόσβαση σε δίσκο) δεν χρειάζονται τον κεντρικό επεξεργαστή Αν υπάρχει μόνο ένα πρόγραμμα που τρέχει στο σύστημα, τότε σπαταλείται χωρίς λόγο ένας σημαντικός πόρος (CPU cycles). Η έννοια του multiprogramming (πολυπρογραμματισμός) (που αναπτύχθηκε στα τέλη του 60) επιτρέπει τη «συμβίωση» πολλών προγραμμάτων που τρέχουν, που φορτώνονταν σε διαφορετικά τμήματα της μνήμης. Π.χ. όταν το ένα πρόγραμμα κάνει Ι/Ο, τότε το ΛΣ «δίνει» τη CPU σε κάποιο άλλο πρόγραμμα που τη χρειάζεται, κ.ο.κ. Έτσι αυξάνεται σημαντικά η απόδοση του συστήματος. Στην ουσία: τρέχω πολλά προγράμματα μαζί (!)

21 Υλοποίηση πολυπρογραμματισμού Διανομή (dispatching) Εναλλαγή εργασιών στην ΚΜΕ Χειρισμός διακοπών (interrupt handling) Ολοκλήρωση μεταφοράς εισόδου/εξόδου Εκχώρηση πόρων (resource allocation) Απόδοση μνήμης, συσκευές ε/ε Προστασία πόρων (resource protection) Χρονοδρομολόγηση (scheduling) Απόφαση για το ποια εργασία θα εκτελεστεί

22 Ταξινόμηση Λ/Σ Διαμοιρασμού χρόνου (time sharing) H εξέλιξη των πολυπρογραμματιστικών συστημάτων ομαδικής επεξεργασίας καθώς αυτά τώρα επιτρέπουν την ταυτόχρονη διάδραση με πολλούς χρήστες. Η ταυτόχρονη πρόσβαση είναι απατηλή Δίνεται απάντηση σε οποιαδήποτε απαίτηση του χρήστη μέσα σε λίγο χρόνο Ο υπολογιστής εκτελεί ένα μέρος της κάθε εργασίας για ένα μικρό χρονικό διάστημα. Τα ΛΣ συστήματα διαμοιρασμού χρησιμοποιούν τεχνικές πολυπρογραμματισμού και χρονοδρομολόγησης για ταυτόχρονη εξυπηρέτηση χρηστών 9/10/

23 Ταξινόμηση Λ/Σ Πραγματικού χρόνου (Real time systems) Εξυπηρετεί τις εργασίες που του υποβάλλονται μέσα σε αυστηρούς χρονικούς περιορισμούς Ο χρόνος απόκρισης του συστήματος είναι αυστηρά ορισμένος Αν η εργασία δεν πάρει τον υπολογιστικό πόρο σύντομα τότε μπορεί να αποτύχει ή να παραχθούν λάθος αποτελέσματα Συστήματα ελέγχου εναέριας κυκλοφορίας, συστήματα ελέγχου ιατρικών μηχανημάτων, ελεγκτές οικιακών συσκευών κλπ. Στην πράξη ένα λειτουργικό σύστημα μπορεί να ανήκει σε περισσότερες από μια κατηγορίες. 9/10/

24 Πολυ-προγραμματισμός και πολύεπεξεργασία Ο πολύ-προγραμματισμός είναι μέθοδος των σύγχρονων λειτουργικών συστημάτων Η πολυεπεξεργασία αναφέρεται σε αρχιτεκτονικά χαρακτηριστικά ενός υπολογιστικού συστήματος: Περισσότεροι από ένας επεξεργαστές (ΚΜΕ) Κεντρικές μονάδες επεξεργασίας, Επεξεργαστές εισόδου-εξόδου Κανάλια δεδομένων Επεξεργαστές ειδικών χρήσεων Λειτουργούν ανεξάρτητα και παράλληλα Μπορεί όλοι ισοδύναμοι ή με ρόλους master-slave Ο κάθε επεξεργαστής έχει το δικό του Λειτουργικό Σύστημα Τα σύγχρονα λειτουργικά συστήματα υποστηρίζουν τα πολυεπεξεργαστικά συστήματα με έμφαση στο δυναμικό διαμοιρασμό της μνήμης. 9/10/

25 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Τρόπος εκτέλεσης: Spooling Η τεχνική του multiprogramming συνδυάστηκε επιτυχώς με την τεχνική του spooling. Με αυτή τη τεχνική, προγράμματα διαβάζονταν κατ ευθείαν στο δίσκο του συστήματος, παράλληλα με το τρέξιμο των προγραμμάτων που βρίσκονταν στη μνήμη του υπολογιστή. Όταν κάποιο απ αυτά τα προγράμματα τελείωνε, τότε κάποιο άλλο διαβαζόταν από τον δίσκο στο τμήμα της μνήμης που έμεινε κενό, και άρχιζε να τρέχει. Το πρόβλημα με τα παραπάνω έγκειται στο μεγάλο χρόνο απόκρισης (από τη στιγμή που ο χρήστης έδινε το πρόγραμμα του στον χειριστή, μέχρι να πάρει τα αποτελέσματα). Δηλαδή το πρόβλημα είναι η σειριακή εκτέλεση των προγραμμάτων. Έτσι προέκυψε η έννοια του χρονομερισμού (timesharing). Στην ουσία: φέρνω το πρόγραμμα από τον δίσκο στην μνήμη (!)

26 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Τρόπος εκτέλεσης: Timesharing (χρονομερισμός) Πρόκειται για μία μορφή multiprogramming. Παρατηρήθηκε ότι πολλοί χρήστες συνήθως «σκεφτόντουσαν» επόμενες κινήσεις τους και έτσι δεν χρειάζονταν τη CPU. τις Η CPU μοιραζόταν στους χρήστες περιοδικά. Σε κάθε περίοδο ένας χρήστης είχε τη CPU μέχρι να τελειώσει η περίοδος, ή μέχρι να προκύψει Ι/Ο, ή να αρχίσει να «σκέφτεται». Στην ουσία: έχω πολλούς ταυτόχρονους χρήστες

27 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Είδη Μοντέρνων Λειτουργικών Συστημάτων Μοντέρνα Συστήματα. Αυτά τα συστήματα εκμεταλλεύονται κυρίως τις δυνατότητες ενός δικτύου υπολογιστών. Υπάρχουν δύο βασικές έννοιες: network operating systems και distributed operating systems. Λ.Σ. Δικτύων (Network operating systems). Σε αυτά τα συστήματα το Λ.Σ. δίνει την δυνατότητα επικοινωνίας με άλλες μηχανές συνδεδεμένες με το ίδιο δίκτυο. Για παράδειγμα, διεργασίες σε ένα υπολογιστή μπορούν να ζητήσουν αρχεία να μεταφερθούν από ένα άλλο υπολογιστή (ftp). Ακόμα μπορούν να κάνουν remote login σε άλλους υπολογιστές και να χρησιμοποιήσουν τους πόρους τους. Κατανεμημένα Λ.Σ. (Distributed operating systems). Τα κατανεμημένα Λ.Σ. παρέχουν επίσης τις παραπάνω δυνατότητες. Αλλά με τρόπο διαφανή. ο χρήστης δεν χρειάζεται να γνωρίζει ποιο αρχείο έχει αποθηκευτεί σε ποίον υπολογιστή κ.λπ. ή γενικά να γνωρίζει τίποτα περί κατανομής. Έτσι φαίνεται ότι το Λ.Σ. είναι ένα κεντρικό και όχι κατανεμημένο Λ.Σ. Ο τρόπος πρόσβασης σε όλους τους υλικούς και λογισμικούς πόρους είναι ανεξάρτητος της κατανομής

28 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Είδη Λειτουργικών Συστημάτων Λ.Σ. Πολυμέσων Βασική έννοια η υποστήριξη βίντεο και ήχου ροών (continuous media). Ιδιαιτερότητες στον χρονοπρογραμματισμό / χρονομερισμό για την ευαισθησία στον χρονισμό παρουσίασης... Λ.Σ. Πραγματικού χρόνου Ιδιαιτερότητες στον χρονοπρογραμματισμό / χρονομερισμό «επιεικείς ή αυστηρές προθεσμίες» (soft ή hard deadlines) διαφοροποίηση σχετικά με τις συνέπειες μη ικανοποίησης προθεσμιών.

29 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.7 Δομή του Λ.Σ Το Λ.Σ. αποτελείται από ένα αριθμό διαδικασιών/ρουτινών (procedures). Η θεμελιώδης ερώτηση εδώ είναι αν υπάρχει κάποια δομή/οργάνωση αυτών των ρουτινών, με βάση τις υπηρεσίες που προσφέρουν. Για παράδειγμα, όλες οι ρουτίνες που σχετίζονται με την παροχή πρόσβασης σε αρχεία μπορούν να αποτελέσουν ένα module (λειτουργική μονάδα -- το «Σύστημα Διαχείρισης Αρχείων») του Λ.Σ. Σε αυτή τη περίπτωση, η μονάδα παρέχει μόνο ένα interface στα άλλα modules του Λ.Σ. - δηλαδή, για παράδειγμα, μία ρουτίνα του module «διαχείρισης μνήμης» δεν μπορεί να καλέσει άμεσα μία ρουτίνα του module «σύστημα αρχείου», αλλά πρέπει να χρησιμοποιήσει το interface που παρέχει το module.

30 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Μονολιθικά Λ.Σ. Σε αυτά τα συστήματα δεν υπάρχει καμία δομή όσον αφορά την οργάνωση των ρουτινών του Λ.Σ. Οποιαδήποτε ρουτίνα μπορεί να κληθεί από οποιαδήποτε άλλη. Για να χτιστεί το εκτελέσιμο (object code) του Λ.Σ. κάθε ρουτίνα μεταφράζεται ξεχωριστά και μετά συνδέεται σε ένα ενιαίο εκτελέσιμο «executable image». Η διαδικασία κλήσης των ρουτινών του πυρήνα του Λ.Σ. που προαναφέραμε (μέσω system calls που αλλάζουν τον τρόπο λειτουργίας του συστήματος από user mode σε kernel mode) ισχύει εδώ. Παραδείγματα μονολιθικών συστημάτων είναι το UNIX (ATT και BSD).

31 Layered Approach The operating system is divided into a number of layers (levels), each built on top of lower layers. The bottom layer (layer 0), is the hardware; the highest (layer N) is the user interface. With modularity, layers are selected such that each uses functions (operations) and services of only lower-level layers

32 Layered Operating System

33 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Μικρο-Πυρήνες. Αυτή η προσέγγιση βασίζεται στη φιλοσοφία ο πυρήνας του Λ.Σ. να είναι όσο τον δυνατόν μικρότερος. Ρουτίνες οι οποίες παραδοσιακά βρίσκονταν στον πυρήνα (kernel) τώρα βρίσκονται έξω απ αυτόν. δημιουργούνται ξεχωριστές διεργασίες, αποτελούμενες από λογικά σχετιζόμενες ρουτίνες. Οι διεργασίες αυτές τρέχουν σε user mode και παρέχουν υπηρεσίες (και γι αυτό ονομάζονται server processes - εξυπηρετητές) στις διεργασίες των χρηστών, οι οποίες ονομάζονται client processes - πελάτες. Οι διεργασίες πελατών (client processes) επικοινωνούν με τις διεργασίες εξυπηρετών (server processes) μέσω ρουτινών που παρέχονται από ένα επικοινωνιακό πακέτο λογισμικού (interprocess communication - IPC). Ο kernel έτσι υλοποιεί κυρίως μόνο τις ρουτίνες του IPC πακέτου π.χ. send_msg() και recv_msg() και προσφέρει πρόσβαση στο υλικό.

34 Προσέξτε, ότι εφ όσον λειτουργίες του Λ.Σ. παρέχονται τώρα από user-mode processes οι χρήστες μπορούν να γράψουν τους δικούς τους servers, αν δεν είναι ικανοποιημένοι με τους servers που παρέχει το Λ.Σ. Επιπλέον, παραπάνω του ενός server μπορούν να συμβιώνουν στο σύστημα. Για παράδειγμα, μπορεί να προκύψουν συστήματα με δύο διαφορετικούς file servers Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Modular programming, reliability και transparency Τα πλεονεκτήματα αυτής της προσέγγισης απορρέουν πρώτα από το modular programming. Κάθε υπηρεσία του Λ.Σ. απομονώνεται και έτσι κατανοείται καλύτερα. Επιπλέον, δεν υπάρχει ένα και μοναδικό object code του Λ.Σ., πράγμα που οδηγεί σε μεγαλύτερη αξιοπιστία (reliability). Έτσι, αν υπάρχει σε κάποια ρουτίνα ένα σφάλμα/λάθος (bug), τότε μόνο ο server που περιέχει την ρουτίνα θα πέσει και όχι όλο το Λ.Σ. Επίσης, έτσι προσφέρεται διαφάνεια κατανομής - distribution transparency. Δηλαδή, ο file server, για παράδειγμα, μπορεί να μετακινηθεί σε άλλο Σ.Ε. που συνδέεται με ένα δίκτυο υπολογιστών, χωρίς να χρειαστεί να αλλαχθεί κανένα πρόγραμμα επειδή το interface παραμένει το ίδιο (στείλε μήνυμα, λάβε μήνυμα, κ.λπ).

35 Microkernels Structure of the MINIX 3 system. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

36 Client-Server Model The client-server model over a network. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

37 Virtual Machines A virtual machine takes the layered approach to its logical conclusion. It treats hardware and the operating system kernel as though they were all hardware A virtual machine provides an interface identical to the underlying bare hardware The operating system creates the illusion of multiple processes, each executing on its own processor with its own (virtual) memory

38 Εκτέλεση πολλών λειτουργικών συστημάτων ταυτόχρονα Εκτελείτε λογισμικό που γράφεται για ένα λειτουργικό σύστημα σε ένα άλλο (π.χ. λογισμικό Windows σε Linux ή Mac) χωρίς να χρειάζεται επανεκκίνηση Δεδομένου ότι μπορείτε να ρυθμίσετε τι είδους «εικονικό» υλικό θα πρέπει να παρουσιαστεί σε κάθε λειτουργικό σύστημα, μπορείτε να εγκαταστήσετε ένα παλιό λειτουργικό σύστημα όπως DOS ή OS/2, ακόμη και αν το πραγματικό υλικό του υπολογιστή σας δεν υποστηρίζεται πλέον από το εν λόγω λειτουργικό σύστημα. Εύκολη εγκατάσταση λογισμικών που η κανονική τους εγκατάσταση είναι επίπονη γιατί εξαρτάται από τη μηχανή (π.χ. διακομιστή ηλεκτρονικού ταχυδρομείου) Εύκολη «διαγραφή» της εικονικής μηχανής Δοκιμές και disaster recovery. Μόλις εγκατασταθεί, μια εικονική μηχανή και εικονικούς σκληρούς δίσκους του μπορεί να θεωρηθεί ως «δοχείο» που μπορεί να παγώσει αυθαίρετα, να ξυπνήσει, να αντιγράφει, κ.ο.κ. Δημιουργία των στιγμιότυπων, επιτρέποντάς την επαναφορά σε παλιότερη εικονική μηχανή εάν κάτι πάει στραβά Διαγράφη στιγμιότυπων ενώ το VM τρέχει για να ανακτήσετε χώρο στο δίσκο 39

39 Πληθώρα λογισμικών (Xen, VirtualBox, VMWare, KVM, Qemu, Microsoft Virtual PC, Parallels, κ.ά.) 40

40 VMware Architecture

41 Virtual Machines (2) (a) A type 1 hypervisor. (b) A type 2 hypervisor. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

42 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.9 Ερευνα και Λ.Σ.: Το Μέλλον Πολυπύρηνα Λ.Σ. (μέχρι χιλιάδες πυρήνες) Λ.Σ. και ο Παγκόσμιος Ιστός (WebOS) Κατανεμημένα Λ.Σ. Παρατήρηση: Σύγκλιση Δικτύων / Λ.Σ. / Συστ. Διαχείριση Δεδομένων Μεγάλης κλίμακας... Clouds ο νέος κόσμος χτισμένος σε παραδοσιακά συστήματα..

43 System Calls (1) Process Management Figure 1-9. The MINIX system calls. fd is a file descriptor; and n is a byte count. Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved

44 System Calls (2) Signals Figure 1-9. The MINIX system calls. fd is a file descriptor; and n is a byte count. Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights

45 System Calls (3) File Management Figure 1-9. The MINIX system calls. fd is a file descriptor; and n is a byte count.

46 System Calls (4) Figure 1-9. The MINIX system calls. fd is a file descriptor; and n is a byte count. Dir. & File System Mgmt. Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved

47 System Calls (5) Figure 1-9. The MINIX system calls. fd is a file descriptor; and n is a byte count. Protection Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights

48 System Calls (6) Figure 1-9. The MIllNIX system calls. fd is a file descriptor; Time Management and n is a byte count. Tanenbaum & Woodhull, Operating Systems: Design and Implementation, (c) 2006 Prentice-Hall, Inc. All rights reserved

49 ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Κεφάλαιο 2ο: Διεργασίες 50

50 2.1 Εισαγωγή Μια διεργασία είναι ένα πρόγραμμα (στιγμιότυπο) που εκτελείται σε κάποια δεδομένα. Μια διεργασία για να εκτελεστεί απαιτεί συγκεκριμένους πόρους, όπως CPU, μνήμη, αρχεία, συσκευές Ε/Ε. Οι περισσότερες απαιτήσεις που πρέπει να αντιμετωπίσει το λειτουργικό σύστημα εκφράζονται με αναφορά στις διεργασίες, π.χ. εκχώρηση CPU, μνήμης, κ.ο.κ. Ο ίδιος ο χρήστης αποτελεί- μέσω των εντολών κελύφους- μια διεργασία. Το λειτουργικό σύστημα είναι υπεύθυνο για: δημιουργία και τερματισμό, εκτέλεση, αναστολή και επανεκτέλεση, δρομολόγηση, συγχρονισμό, επικοινωνία διεργασιών, επίλυση προβλημάτων ανταγωνισμού και αδιεξόδων Ο πολυπρογραμματισμός και ο χρονομερισμός βασίζονται στις διεργασίες. Μέσω της έννοιας και των χαρακτηριστικών της διεργασίας αποκρύπτουμε όλες τις δυσκολίες της διαχείρισης διακοπών. Τα ανώτερα επίπεδα 'βλέπουν' ακολουθιακές διεργασίες που επικοινωνούν και όχι διακοπές. 51

51 Διεργασία: Μία από τις δύο κεντρικές έννοιες και abstractions ενός Λ.Σ. Αποτελεί ένα μοντέλο για ένα πρόγραμμα που εκτελείται Οι διεργασίες εκτελούνται "παράλληλα (ψευδοπαράλληλα): δηλ. όχι σειριακά. Υπάρχουν δύο τρόποι: Όσο μια περιφερειακή συσκευή (π.χ. δίσκος) εκτελεί μια εντολή, το Λ.Σ. "δίνει" (dispatches) τη CPU σ' ένα άλλο "έτοιμο" (ready) πρόγραμμα. Όταν η CPU "δίνεται" σ' ένα process, το process συνήθως δεν κρατάει τη CPU μέχρι να τελειώσει, ακόμα και όταν το process δεν κάνει I/O. Κάθε λίγο (π.χ. 100ms) το CPU δίνεται σ' άλλο process. Αυτός ο χρόνος = time slice / quantum. σε κάθε «στιγμή» σ' έναν υπολογιστή εκτελούνται πολλές παράλληλες ενέργειες. Για ν' αντιμετωπίσουν τις δυσκολίες που προκύπτουν, τα Λ.Σ. χρησιμοποιούν την έννοια του process. Προσέξτε: και οι 2 τρόποι δεν είναι δεδομένοι απαιτείται υποστήριξη από υλικό (Direct mem access, 1 ος τρόπος) και 52 από τον αλγόριθμο χρονοπρογραμματισμού!

52 2.1 Εισαγωγή multiprogramming: αφορά στο γεγονός ότι πολλές διεργασίες τρέχουν ανά πάσα στιγμή. Ποια η διαφορά μεταξύ «διεργασίας» & "προγράμματος"; Μια διεργασία αντιπροσωπεύει ένα πρόγραμμα που εκτελείται έχει input/output και έχει και μια κατάσταση (state - δηλ. οι τιμές των μεταβλητών του προγράμματος, CPU registers, PC, SP, stack,...) Η διεργασία που αντιστοιχίζεται σε ένα πρόγραμμα, είναι μια δομή του ΛΣ όπου αποθηκεύονται όλες οι πληροφορίες που χρειάζεται το ΛΣ για να τρέξει το πρόγραμμα σε ένα περιβάλλον πολυπρογραμματισμού. Οι διεργασίες σχηματίζουν μια ιεραρχία πατέρα-παιδιού (ή πρόγονου-απόγονου) (π.χ. Στο UNIX μέσω του fork system call). 53

53 Χώρος Μνήμης Διεργασίας Οι διεργασίες έχουν τρία τμήματα: text, data, και stack. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

54 Fork Pid=fork( ) Αντιγράφει πλήρως τη γονική διεργασία. Όλα αντιγράφονται-data,registers,fd s Η fork επιστρέφει μία τιμή (pid) Ο στο παιδί το PID του παιδιού στον πατέρα Διαφοροποιείται παιδί από πατέρα Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

55 Execve Αντικαθιστά της διεργασίας το core image από το αρχείο που καλεί κατά την κλήση της συνάρτησης Execve(name,arg,environp) έχει 3 παράμετρους Όνομα αρχείου (λ.χ. cp εντολή) Arg-pointer στο argument array Environp-pointer στο environment array Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

56 Shell 57

57 Multiprogramming (a) Multiprogramming of four programs. (b) Conceptual model of four independent, sequential processes. (c) Only one program is active at once. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

58 Δημιουργία Διεργασιών Γεγονότα που μπορεί να οδηγήσουν σε δημιουργία διεργασίας Αρχικοποίηση συστήματος. Εκτέλεση ενός process creation system call από μία διεργασία που εκτελείται. Μία αίτηση χρήστη για τη δημιουργία νέας διεργασίας Εκκίνηση μίας εργασίας δέσμης batch job. Ένα σύνολο διεργασιών μπορεί να ξεκινήσει σε μία υπάρχουσα διεργασία. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

59 Τερματισμός Δειργασίας Γεγόνότα που μπορεί να οδηγήσουνε σε τερματισμό: Κανονική έξοδος (εκούσια). Έξοδος που προκλήθηκε από σφάλμα (εκούσια). Μοιραίο σφάλμα (ακούσια). Θανάτωση από άλλη διεργασία (ακούσια). Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

60 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Οι διεργασίες μπορούν να έχουν και μία ιεραρχική σχέση (πατέρας, παιδί, πρόγονος, κ.λπ.). Η σχέση αυτή δημιουργείται μέσω του system call fork() στο UNIX. Τυπικά system calls αφορούν την δημιουργία και τερματισμό διεργασιών (fork() και kill()). Επίσης, υπάρχουν και τα wait(), malloc(), exec(), κλπ. Τέλος, συχνά χρειάζεται να κοινοποιήσει ο kernel σε ένα process πληροφορία. Αυτό επιτυγχάνεται με την χρήση των signals. Για παράδειγμα, όταν μία διεργασία διαιρεί διά του 0, τότε ένα signal στέλνεται με αυτή τη πληροφορία. Oταν δημιουργείται με fork, αντιγράφεται ο χώρος μνήμης, με κοινό χώρο ίσως τον κώδικα, και μπορεί και άλλους πόρους (αρχεία).

61 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα 1.5 Βασικές Οντότητες: Processes και Files Δέντρο διεργασιών Η διεργασία Α δημιουργεί 2 διεργασίες-παιδιά την Β και C Η διεργασία Β δημιουργεί τις D, E και F Linux εντολή: pstree A (shows command line arguments)

62 Κεφάλαιο 1ο Εισαγωγή σε Λειτουργικά Συστήματα Τρόπος εκτέλεσης: Multiprogramming Η υποστήριξη πολλων ταυτόχρονα εκτελούμενων διεργασιών από το σύστημα (που μπορεί να έχει έναν επεξεργαστή). Πολλά είδη προγραμμάτων περιέχουν αρκετή Ε/Ε (Ι/Ο -- ονομάζονται I/O bound σε αντίθεση με τα CPU-bound). Όταν καλούν κάποια Ι/Ο διαδικασία (π.χ. πρόσβαση σε δίσκο) δεν χρειάζονται τον κεντρικό επεξεργαστή Αν υπάρχει μόνο ένα πρόγραμμα που τρέχει στο σύστημα, τότε σπαταλείται χωρίς λόγο ένας σημαντικός πόρος (CPU cycles). Η έννοια του multiprogramming (πολυπρογραμματισμός) (που αναπτύχθηκε στα τέλη του 60) επιτρέπει τη «συμβίωση» πολλών προγραμμάτων που τρέχουν, που φορτώνονταν σε διαφορετικά τμήματα της μνήμης. Π.χ. όταν το ένα πρόγραμμα κάνει Ι/Ο, τότε το ΛΣ «δίνει» τη CPU σε κάποιο άλλο πρόγραμμα που τη χρειάζεται, κ.ο.κ. Έτσι αυξάνεται σημαντικά η απόδοση του συστήματος. Στην ουσία: τρέχω πολλά προγράμματα μαζί (!)

63 Καταστάσεις Διεργασιών Διάρκεια ζωής μιας διεργασίας = το χρονικό διάστημα μεταξύ της δημιουργίας και τερματισμού της από το λειτουργικό σύστημα Κατά τη διάρκεια ζωής της κάθε διεργασία μπορεί να βρεθεί σε μια σειρά από διακριτές καταστάσεις, με τρείς βασικότερες: έτοιμη προς εκτέλεση (ready) σε εκτέλεση (running) σε αναστολή (blocked). Μια διεργασία όταν δημιουργείται εισάγεται στη λίστα των έτοιμων διεργασιών. Σταδιακά προωθείται προς την κεφαλή της λίστας και μόλις ο επεξεργαστής γίνει διαθέσιμος η διεργασία ανατίθεται στον επεξεργαστή και η κατάστασή της αλλάζει σε εκτελούμενη. Η διαδικασία της ανάθεσης της πρώτης διεργασίας από τη λίστα των έτοιμων διεργασιών στον επεξεργαστή ονομάζεται διεκπεραίωση και υλοποιείται από τον διεκπεραιωτή (dispatcher), που είναι τμήμα του χρονοδρομολογητή (scheduler).

64 Η εκτελούμενη διεργασία αναστέλλεται μέσω δύο βασικών κατηγοριών συμβάντων (events). Κατά τη διάρκεια της εκτέλεσης η διεργασία εκτελεί λειτουργία Ε/Ε, ή κάποια άλλη που απαιτεί privileged λειτουργία (kernel mode), οπότε καλεί το λειτουργικό σύστημα μέσω κλήσης συστήματος. Για να αποφευχθεί η μονοπώληση της χρήσης του επεξεργαστή, το λειτουργικό σύστημα χρησιμοποιεί έναν χρονιστή που παράγει μια χρονοδιακοπή (timeout) μετά από την πάροδο ενός προκαθορισμένου χρονικού ορίου, που ονομάζεται κβάντο χρόνου (quantum). Και στις δύο περιπτώσεις το λειτουργικό σύστημα αναλαμβάνει τον έλεγχο του επεξεργαστή. Η κατάσταση της εκτελούμενης διεργασίας αλλάζει κατάλληλα είτε σε αναστολή είτε έτοιμη και προωθείται προς εκτέλεση η αμέσως επόμενη διεργασία στη λίστα των έτοιμων. Έτσι επιτυγχάνεται εναλλαγή διεργασιών. 65

65 2.1 Εισαγωγή Κατάσταση μιας διεργασίας (ως προς την εκτελεσή της) τρέχει (running): έχει τη CPU έτοιμο (ready): μπορεί να τρέξει, αλλά η CPU δόθηκε αλλού. μπλοκαρισμένη (blocked): περιμένει «εξωτερικό» γεγονός. 1. περιμένει I/O 2. CPU δίνεται σ' άλλο process 3. CPU δίνεται σ' αυτό το process 4. I/O έγινε Για την μετάβαση (1) υπάρχει συνήθως ένα block system call ή pipe χωρίς δεδομένα, οι μεταβάσεις (2) και (3) προκύπτουν από παρεμβάσεις του scheduler (δρομολογητή/χρονοπρογραμματιστή) του Λ.Σ. Η μετάβαση (4) προκύπτει μετά από διακοπή περιφερειακής συσκευής. 66

66 Five-State Process Model Slides from Williams Stalling, Operating Systems, Internals and design

67 Using Two Queues Slides from Williams Stalling, Operating Systems, Internals and design

68 Multiple Blocked Queues Slides from Williams Stalling, Operating Systems, Internals and design

69 One Suspend State Slides from Williams Stalling, Operating Systems, Internals and design

70 Two Suspend States Slides from Williams Stalling, Operating Systems, Internals and design

71 Slides from Williams Stalling, Operating Systems, Internals and design 72

72 Διάγραμμα έξι καταστάσεων Συνήθως οι λειτουργίες Ε/Ε είναι πολύ πιο αργές από τη λειτουργία της CPU. Το λειτουργικό σύστημα μπορεί να διαχωρίζει τις λειτουργίες Ε/Ε σε 'αργά' και 'γρήγορα' ή σε περισσότερες κατηγορίες ανά τύπο γεγονότος και να δημιουργεί δυο διαφορετικές καταστάσεις αναστολής, blocked και suspended. Η διαφορά τους έγκειται στο ότι όταν μια διεργασία θεωρείται suspended τότε ο χώρος διευθύνσεών της μεταφέρεται στη δευτερεύουσα μνήμη, στη περιοχή εναλλαγής. Έτσι ελευθερώνεται χώρος στη κύρια μνήμη είτε για τη μεταφορά άλλων διεργασιών από τη δευτερεύουσα μνήμη, είτε για τη δημιουργία νέων διεργασιών. Το γεγονός suspend αντιστοιχεί στην απόφαση του λειτουργικού συστήματος να μεταφέρει τη διεργασία στη δευτερεύουσα μνήμη λόγω έλλειψης χώρου. Το γεγονός activate αντιστοιχεί στο event occurs. 73

73 Reason Swapping Other OS Reason Interactive User Request Timing Parent Process Request Comment The OS needs to release sufficient main memory to bring in a process that is ready to execute. OS suspects process of causing a problem. e.g. debugging or in connection with the use of a resource. A process may be executed periodically (e.g., an accounting or system monitoring process) and may be suspended while waiting for the next time. A parent process may wish to suspend execution of a descendent to examine or modify the suspended process, or to coordinate the activity of various descendants. 74

74 2.1 Εισαγωγή Πώς και πότε τρέχει ο χρονοπρογραμματιστής; (ποιός τον χρονοπρογραμματίζει;) clock interrupts: αν το time slice του process έχει παρέλθει. block: όταν το τωρινό process μπλοκάρει. Χρησιμοποιώντας το μοντέλο των διεργασιών μπορούμε ευκολότερα ν' αναπαριστούμε τις ενέργειες που εκτελούνται κάθε στιγμή σ' ένα σύστημα. Σ' αυτό το μοντέλο ο χρονοπρογραμματιστής είναι το κατώτερο επίπεδο του Λ.Σ. και κρύβει λεπτομέρειες που αφορούν το σταμάτημα και τρέξιμο διεργασιών και διαχείριση διακοπών (interrupts). 75

75 2.2 Υλοποίηση του PROCESS Μια διεργασία υλοποιείται από το λειτουργικό σύστημα με δύο βασικές δομές: το Χώρο Διευθύνσεων και το Process Control Block ι διεργασίες έχουν στο χώρο ιευθύνσεων τρία τμήματα: text, data, και stack. 76

76 Το μπλοκ ελέγχου της διαδικασίας (PCB) Δομή δεδομένων που αποθηκεύεται στη μνήμη Κάθε διαδικασία έχει ένα μπλοκ ελέγχου Περιέχει πληροφορίες για τη διαδικασία όπως: τρέχουσα κατάσταση,ταυτότητα,ταυτότητα της διαδικασίας γονέα,προτεραιότητα και παραμέτρους χρονοδρομολόγησης Λίστα ανοικτών αρχείων Περιεχόμενο μετρητή προγράμματος Περιεχόμενο καταχωρητών Χρόνος εκκίνησης της διαδικασίας, χρόνος χρήσης της ΚΜΕ και άλλα λογιστικά στοιχεία Χρήσιμες διευθύνσεις και όρια μνήμης Χρησιμοποιούμενοι πόροι Ο διανομέας (dispatcher) ρυθμίζει την εναλλαγή των διαδικασιών στην ΚΜΕ καθώς και την αποθήκευση και ανάκτηση του μπλοκ ελέγχου 77

77 2.2 Υλοποίηση του PROCESS Περίληψη πληροφορίας για κάθε process: PC, SP, CPU registers, PSW, signals Πίνακες σελίδων (Page Tables) και άλλες πληροφορίες που αφορούν μνήμη (π.χ. swap space), pointers στα text, data τμήματα της διεργασίας... pid, parent pid, uid, gid, κατάσταση εκτελεσιμότητας root dir, file descriptors για open files. Υπάρχει ένας πίνακας (process table) που συνήθως (στα συστήματα UNIX) υλοποιείται σαν ένας πίνακας (ή μια συνδεδεμένη λίστα) (of structs). Υπάρχει ένα struct για το κάθε process και καθένα έχει τις παραπάνω πληροφορίες σε διάφορα πεδία του. 78

78 Usually split in 3 blocks Some of the fields of a typical process table entry. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

79 2.2 Υλοποίηση του PROCESS Πώς επιτυγχάνεται ο παραλληλισμός (concurrency - δηλ. ότι υπάρχουν πολλές διεργασίες που τρέχουν) όταν υπάρχει ένα και μοναδικό CPU ; Λόγω του (πιθανού) διαμοιρασμού CPU μέσω των time slices (δηλ. Του χρονομερισμού (timesharing) -- αν εξετάσουμε το σύστημα για μια χρονική στιγμή μεγαλύτερη ενός time slice θα δούμε ότι σ' αυτή τη χρονική στιγμή "τρέχουν" > 1 διεργασίες. Πολλές συσκευές περιφέρειας (peripheral devices) (συνήθως) έχουν δικούς τους επεξεργαστές. Eτσι, όσο ένα I/O (π.χ. σε δίσκο) εκτελείται εκ μέρους μιας διεργασίας, μια άλλη εκτελείται από τη CPU 80

80 ΔΙΑΚΟΠΕΣ 81 ιακοπές κλήσεις επόπτη. Πραγµατοποιούνται κάθε φορά που µια διεργασία καλεί µια κλήση συστήµατος (για την εκτέλεση μιας προνομιακής εντολής από το ΛΣ, π.χ. απόκτηση περισσότερης μνήμης). ιακοπές ελέγχου προγράµµατος. Πραγµατοποιούνται κάθε φορά που η εκτέλεση ενός προγράµµατος οδηγεί σε λάθη, όπως π.χ., στην περίπτωση διαίρεσης µε το µηδέν. ιακοπές που προκαλούνται από το ρολόι του συστήµατος, διακοπές ελέγχου του υλικού του συστήµατος, κ.α. ιακοπές Ε/Ε. Είναι διακοπές που προκαλούνται από τις συσκευές Ε/Ε, όταν µια λειτουργία Ε/Ε περατωθεί, όταν συµβεί ένα λάθος, όταν ένα περιφερειακό είναι έτοιµο για λειτουργία, κλπ. ιακοπές που προκαλούνται από τον χρήστη µε την πίεση κάποιων πλήκτρων, όπως π.χ., το restart και το INT.

81 Το PCB µιας διεργασίας Κατάσταση διεργασίας Στοιχεία ταυτοποίησης Περιεχόµενα µετρητή προγράµµατος και άλλων καταχωρητών Παράµετροι χρονοδροµολόγησης Χρήσιµες διευθύνσεις και όρια µνήµης Λίστα ανοιχτών αρχείων Χρησιµοποιούµενοι πόροι Λογιστικά στοιχεία και άλλες χρήσιµες πληροφορίες 82

82 ΔΙΑΚΟΠΕΣ ΚΑΙ ΧΡΗΣΗ PCB Στην πραγµατικότητα, τα πράγµατα είναι πιο σύνθετα. Στο PCB δεν φυλάσσονται τιµές µεταβλητών, αφού αυτές φυλάσσονται στη µνήµη, αλλά τιµές καταχωρητών του επεξεργαστή. Φυλάσσονται επίσης πληροφορίες για το ποιες είναι οι διευθύνσεις µνήµης της διεργασίας, ώστε να µη χαθεί η πρόσβαση στις σωστές µεταβλητές. Το βασικό σηµείο ωστόσο είναι να κατανοήσουµε ότι η επανεκτέλεση µιας διεργασίας που είχε διακοπεί, προϋποθέτει τη λήψη µιας ακριβούς φωτογραφίας της κατάστασης της διεργασίας την ώρα της διακοπής. 83

83 2.2 Υλοποίηση του PROCESS Διαχείριση Διακοπών (interrupts): Interrupt Vector: Καλύπτει τις "χαμηλότερες" διευθύνσεις της μνήμης. Αποτελείται από μια σειρά διευθύνσεων, μια για κάθε συσκευή, που "δείχνουν" στις ρουτίνες που πρέπει να κληθούν για να εξυπηρετηθεί το interrupt της κάθε συσκευής ( δηλ. μια ρουτίνα για δίσκο, άλλη για τερματικό, άλλη για το ρολόι, κ.λπ). Αυτές οι ρουτίνες λέγονται interrupt service routines (ISR). 84

84 2.2 Υλοποίηση του PROCESS Αλγόριθμος για μεταχείριση interrupt: 1. Hardware: τοποθέτησε (push) στο stack τις τιμές των PC, SP, PSW, και κάποιων CPU registers βρες την κατάλληλη διεύθυνση στο interupt vector και "φόρτωσε" την στο PC. Έτσι, εκτελείται η ISR. 85

85 2.2 Υλοποίηση του PROCESS Αλγόριθμος για μεταχείριση interrupt: 2. Software: Η ISR σώζει/αποθηκεύει τα CPU registers στο κατάλληλο struct του Process Table (assembly lang). Μετά, το SP ενημερώνεται να "δείχνει" σ' ένα άλλο προσωρινό stack (assembly lang) Μετά, καλείται μια C ρουτίνα που βρίσκει σε ποιο process αφορά αυτό το interrupt. Αυτό το process τώρα γίνεται "έτοιμο" (δηλ. το process struct φεύγει από την Sleep λίστα και πηγαίνει στην Ready λίστα). Καλείται ο scheduler να διαλέξει ένα Process Η C ρουτίνα επιστρέφει στην assembly lang. ρουτίνα που φορτώνει τα CPU Register και Page Tables του process που διάλεξε ο scheduler. 86

86 OS processes an interrupt Skeleton of what the lowest level of the operating system does when an interrupt occurs. Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

87 Μοντέλο Πολυπρογραμματισμού Εάν μια διεργασία καταναλώνει ένα κλάσμα p του χρόνου της αναμένοντας την ολοκλήρωση μιας λειτουργίας Ι/Ο και υπάρχουν n διεργασίες στη μνήμη, τότε η πιθανότητα αναμονής και των n διεργασιών είναι p n και η αξιοποίηση της CPU είναι: Αξιοποίηση CPU = 1 p n

88 2.3 Επικοινωνία Διεργασιών Συνθήκες Ανταγωνισμού (Race Conditions): περιγράφει καταστάσεις όπου >1 διεργασίες διαβάζουν ή γράφουν σε κοινά δεδομένα και το τελικό αποτέλεσμα εξαρτάται από το πότε τρέχει η κάθε διεργασία. Το πρόβλημα είναι: έλεγχος πρόσβασης σε κοινή μνήμη. Παράδειγμα: Δύο διεργασίες (P1, P2) κάνουν και οι δύο αναλήψεις από ένα τραπεζικό λογαριασμό (κοινό) - η μία ανήκει π.χ. στο σύζυγο και η άλλη αντίστοιχα στη σύζυγο. Η ρουτίνα ΑΝΑΛΗΨΗ καλείται και από τις δύο διεργασίες. ΑΝΑΛΗΨΗ: read (υπολοιπο); if υπολοιπο>ποσό_ανάληψης write (υπολοιπο υπολοιπο ποσό_ανάληψης); 89

89 2.3 Επικοινωνία Διεργασιών Το P1 εκτελεί το read() και μετά η CPU δίνεται στο P2 το οποίο εκτελεί read() και write(). Μετά, η CPU δίνεται στο P1 που εκτελεί το write(). μόνο η μία ανάληψη φαίνεται - η άλλη "χάθηκε". Αυτό είναι ένα "τυπικό" race condition. Κρίσιμες περιοχές (Critical Sections): Πώς μπορούμε ν' αποφύγουμε τα race conditions; Πρέπει να βρούμε ένα τρόπο ούτως ώστε μόνο ένα process να έχει πρόσβαση στα κοινά δεδομένα σε κάθε στιγμή. Αυτή η ιδιότητα λέγεται και mutual exclusion (αμοιβαίος αποκλεισμός). ν' απομονώσουμε/κλειδώσουμε το τμήμα του κώδικα το οποίο γράφει/διαβάζει κοινή μνήμη. Αυτό το τμήμα ονομάζεται critical section. 90

90 Κρίσιμη περιοχή Race conditions (συνθήκες ανταγωνισμού) Όταν δύο ή περισσότερες διεργασίες προσπελάζουν έναν κοινό πόρο (π.χ., διαβάζουν ή γράφουν μια κοινή μεταβλητή) και το τελικό αποτέλεσμα εξαρτάται από τη σειρά με την οποία εκτελείται η κάθε μια. Κρίσιμη περιοχή Το τμήμα ενός προγράμματος στο οποίο γίνεται προσπέλαση κάποιου κοινού πόρου (π.χ., κάποιων κοινών μεταβλητών) ονομάζεται κρίσιμη περιοχή. Το υπόλοιπο μέρος του προγράμματος ονομάζεται μη-κρίσιμο τμήμα. Ατομική εκτέλεση του κώδικα της κρίσιμης περιοχής 9/10/2018

91 Κρίσιμη περιοχή - Ιδιότητες Μια κρίσιμη περιοχή πρέπει να εξασφαλίζει τις παρακάτω ιδιότητες: 1. Το πολύ μια διεργασία βρίσκεται στην κρίσιμη περιοχή (αμοιβαίος αποκλεισμός). 2. Δεν πρέπει να υπάρχει παρατεταμένη στέρηση της κρίσιμης περιοχής για μια διεργασία. Συνδεδεμένο με την παραπάνω απαίτηση είναι και το (προαιρετικό) κριτήριο της δικαιοσύνης : 3. H προσπέλαση στην κρίσιμη περιοχή πρέπει να είναι δίκαιη μεταξύ των διεργασιών που ανταγωνίζονται. Mία διεργασία που θέλει να μπει στη κρισιμή περιοχή, δεν μπορεί να μπλοκάρεται από διεργασία που είναι εκτός της κρίσιμης περιοχής. 4. Η λύση δεν πρέπει να εξαρτάται από πλήθος και ταχύτητα επεξεργαστών. 92

92 What we are trying to do Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

93 Διαδιεργασιακή Επικοινωνία Αμοιβαίος Αποκλεισμός μέσω αναμονής με απασχόληση Απενεργοποίηση διακοπών Μεταβλητές κλειδώματος Η λύση του Peterson (Decker και Lamport-bakery) Η εντολή TSL Λήθαργος και αφύπνιση Πρόβλημα Παραγωγού-Καταναλωτή Σημαφόροι Λύση του πρόβλημα Παραγωγού-Καταναλωτή Mutex Ελεγκτές Μεταβίβαση Μηνυμάτων Φράγματα 94

94 2.3 Επικοινωνία Διεργασιών Απενεργοποίηση (Disabling) Διακοπών (Interrupts) Παρατήρηση 1: Ας υποθέσουμε ότι ένα process δεν μπορεί να μπλοκάρει μέσα στο critical section. Τότε ο μόνος τρόπος για να δοθεί το CPU σ' ένα άλλο process είναι μέσω ενός clock interrupt που θα σημάνει το τέλος του time slice του process. Παρατήρηση 2: Αν απενεργοποιήσουμε τις διακοπές μόλις μπούμε στο critical section και ενεργοποιήσουμε (enabling) μόλις πριν βγούμε, τότε κανένα άλλο process δεν θα βρεθεί ταυτόχρονα στο critical section του. Γιατί; Αλλά: δίνοντας τη δυνατότητα σε user process να κάνει interrupt disabling είναι επικίνδυνο (π.χ. Σφάλματα => interrupts μένουν disabled...) αυτή η λύση στο mutual exclusion δεν είναι αποδεκτή. επίσης δεν δουλεύει σε πολυπύρηνα 95

95 2.3 Επικοινωνία Διεργασιών Μεταβλητές κλειδώματος (Locks) Μια άλλη λύση μπορεί να βασισθεί σε lock vars. Πριν ένα process μπει στο critical section, εξετάζει/διαβάζει ένα lock var. Αν η τιμή της είναι 1, τότε περιμένει [μπλοκάρει;] μέχρι να γίνει 0. Αν η τιμή είναι 0, τότε την κάνει 1 και μετά εισβάλλει στο critical section του. Το πρόβλημα όμως δεν λύθηκε, απλώς "μετατέθηκε". Τι γίνεται αν 2 process διαβάσουν την τιμή του lock var «την ίδια στιγμή» ; Πως χειριζόμαστε πολυεπεξεργαστικά συστήματα? 96

96 Strict Alternation First me, then you Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

97 Problems with strict alternation Employs busy waiting-while waiting for the cr, a process spins If one process is outside the cr and it is its turn, then other process has to wait until outside guy finishes both outside AND inside (cr) work Tanenbaum, Modern Operating Systems 3 e, (c) 2008 Prentice-Hall, Inc. All rights reserved

98 2.3 Επικοινωνία Διεργασιών Η λύση του Peterson. (για 2 διεργασίες) Το σενάριο περιλαμβάνει 2 διεργασίες. Υπάρχουν 2 ρουτίνες που καλούνται για να μπούν και να βγούν οι διεργασίες σε/από critical section: enter_region(process) και leave_region(process). Υπάρχει επίσης μια μεταβλητή (flag), "turn", που χρησιμοποιείται για να δώσει την σειρά σε ένα μόνο ενδιαφερόμενο process, και ένας πίνακας από flags, "interested[]" που δείχνει την επιθυμία ενός process να μπεί στο critical section του. enter_region(process) leave_region (process) { { other = 1 - process; interested[process] = TRUE; } interested[process]=false; turn = process; while (turn == process && interested[other] == TRUE) ; } 99

99 2.3 Επικοινωνία Διεργασιών Αν η P1 εκτελέσει enter_region() πρώτη, μιας και το interested [other] δεν είναι TRUE δεν θα περιμένει (με busy waiting) και θα συνεχίσει. Οταν μετά ενδιαφερθεί η P2, το interested[p2] = TRUE και το P2 θα συνεχίζει να εκτελεί το while loop. Αν και οι δύο διεργασίες καλέσουν enter_region() (σχεδόν) ταυτόχρονα, τότε, μιας και έχουμε ένα CPU, κάποια από τις 2 θα εκτελέσει τελευταία την εντολή turn=process. Αυτή δε θα μπορέσει να μπεί στο critical section και θα κάνει busy wait στο βρόχο (loop) while. Ετσι, μόνο η άλλη process θα μπορέσει να μπεί στο critical section της. 100

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

Διαβάστε περισσότερα

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 1 ΕΙΣΑΓΩΓΗ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Περιγραφή και Έλεγχος ιεργασιών

Περιγραφή και Έλεγχος ιεργασιών Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός

Διαβάστε περισσότερα

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

Διαβάστε περισσότερα

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών

Τμήμα Οικιακής Οικονομίας και Οικολογίας. Οργάνωση Υπολογιστών Οργάνωση Υπολογιστών Υπολογιστικό Σύστημα Λειτουργικό Σύστημα Αποτελεί τη διασύνδεση μεταξύ του υλικού ενός υπολογιστή και του χρήστη (προγραμμάτων ή ανθρώπων). Είναι ένα πρόγραμμα (ή ένα σύνολο προγραμμάτων)

Διαβάστε περισσότερα

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1

Λειτουργικά συστήµατα. Λογισμικό Συστήματος 1 Λειτουργικά συστήµατα Λογισμικό Συστήματος 1 Figure 3.1 Batch processing 0-2 Λογισμικό Συστήματος Figure 3.2 Interactive processing 0-3 Λογισμικό Συστήματος Figure 3.3 Software classification 0-4 Λογισμικό

Διαβάστε περισσότερα

Επιτεύγµατα των Λ.Σ.

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Το Λ.Σ. είναι υπεύθυνο για την κατανομή των πόρων του συστήματος (επεξεργαστές, μνήμη, αποθηκευτικά μέσα και συσκευές εισόδου/εξόδου) στα διάφορα ανταγωνιζόμενα προγράμματα

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής

Διαβάστε περισσότερα

Κεφάλαιο 3. Διδακτικοί Στόχοι

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών.

ΕΙΣΑΓΩΓΗ. Παρέχει µια διεπαφή (interface) ανάµεσα στο υλισµικό και στα προγράµµατα εφαρµογών/χρηστών. ΕΙΣΑΓΩΓΗ Υλισµικό (Hardware) Επεξεργαστής-ΚΜΕ (Processor, CPU): εκτέλεση εντολών Μνήµη (Memory): προσωρινή αποθήκευση πληροφοριών Μονάδες ε/ε (I/O devices): Μονάδες δίσκων: Μόνιµη αποθήκευση πληροφοριών

Διαβάστε περισσότερα

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή»

Σκοπός Μαθήματος. Λειτουργικά Συστήματα Η/Υ. Γενικές Πληροφορίες. Στόχοι Μαθήματος ΚΕΦΑΛΑΙΟ 1 - ΕΙΣΑΓΩΓΗ. Θεωρία: Εργαστήριο: Κεφάλαιο 1 «Εισαγωγή» Σκοπός Μαθήματος Λειτουργικά Συστήματα Η/Υ Θεωρία: Βασικές έννοιες των λειτουργικών συστημάτων Βασικές αρχές σχεδιασμού τους Κεφάλαιο 1 «Εισαγωγή» Εργαστήριο: Πρακτική εξάσκηση στη χρήση των λειτουργικών

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 4: Διεργασίες ΙΙ Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor

Προηγμένοι Μικροεπεξεργαστές. Εργαστήριο 4 - Editor Προηγμένοι Μικροεπεξεργαστές Εργαστήριο 4 - Editor Περιγραφή Υλοποίηση ενός υποτυπώδους editor που θα: Διαβάζει ένα προκαθορισμένο αρχείο Θα το απεικονίζει στην οθόνη Θα κάνει highlight με έναν ελεγχόμενο

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ 2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Κλειώ Σγουροπούλου Λειτουργικό Σύστημα Ένα πρόγραμμα που διαχειρίζεται τους πόρους ενός υπολογιστικού συστήματος και ενεργεί ως μεσάζων μεταξύ του χρήστη και των πόρων αυτών user

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Κεντρικής Μονάδας Επεξεργασίας (CPU) Βασίλης Σακκάς 4/12/2013 1 Xρονοδρομολόγηση Διεργασιών 1 Η χρονοδρομολόγηση σε ένα Λ/Σ αποφασίζει ποια διεργασία θα χρησιμοποιεί

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"

Διαβάστε περισσότερα

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

Διαβάστε περισσότερα

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

Εισαγωγικά & Βασικές Έννοιες

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Λειτουργικά Συστήματα Ι Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Δομή Η/Υ Ο Η/Υ αποτελείται από δυο βασικά στοιχεία: Υλικό (το ηλεκτρονικό-μηχανικό μέρος πχ συσκευές, πλακέτες κλπ) Λογισμικό

Διαβάστε περισσότερα

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Λειτουργικά Συστήματα Ι. Διδάσκων: Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Εισαγωγή Λειτουργικά Συστήματα Εισαγωγή Λειτουργικά Συστήματα Ι 4/10/2016 Περιληπτικά Στο σημερινό μάθημα θα δούμε ποια είναι η θέση του Λειτουργικού Συστήματος στην οργάνωση ενός ηλεκτρονικού υπολογιστή. Σπύρος

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές

Διαβάστε περισσότερα

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή

Διαβάστε περισσότερα

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19

Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών. Κοντογιάννης Βασίλειος ΠΕ19 Ενότητα 3 - Θέματα Εφαρμοσμένης Επιστήμης Υπολογιστών 3.1.1 Λογισμικό και Υπολογιστικό Σύστημα Τι είναι το υλικό ενός υπολογιστικού συστήματος; Το σύνολο των ηλεκτρονικών και μηχανικών μερών του που έχουν

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) 1 Συμβαίνει συχνά πολλές διεργασίες να ανταγωνίζονται για τον έλεγχο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Κεφάλαιο 3: Λειτουργικά Συστήματα

Κεφάλαιο 3: Λειτουργικά Συστήματα Κεφάλαιο 3: Λειτουργικά Συστήματα (από το βιβλίο του Brookshear) B Μέρος Συντονισμός Δραστηριοτήτων Υπολογιστή Εισαγωγή Σήμερα θα περιγράψουμε πως ένα λειτουργικό σύστημα συντονίζει την εκτέλεση Λογισμικού

Διαβάστε περισσότερα

Προγραμματισμός Ταυτόχρονος Προγραμματισμός

Προγραμματισμός Ταυτόχρονος Προγραμματισμός Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ, ΤΜΗΥΠ ΤΟΜΕΑΣ ΛΟΓΙΚΟΥ ΤΩΝ Η/Υ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ, ΤΜΗΥΠ ΤΟΜΕΑΣ ΛΟΓΙΚΟΥ ΤΩΝ Η/Υ ΕΙΣΑΓΩΓΙΚΗ ΔΙΑΛΕΞΗ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Σ.ΣΙΟΥΤΑΣ, Χ. ΜΑΚΡΗΣ, Α.ΗΛΙΑΣ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ, ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ, ΤΜΗΥΠ ΤΟΜΕΑΣ ΛΟΓΙΚΟΥ

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) Υλικό Hardware Λογισμικό Software... κώδικας ΥΛΙΚΟ Κάθε ηλεκτρονικό, ηλεκτρικό και μηχανικό μέρος του Η/Υ. ΛΟΓΙΣΜΙΚΟ Προγράμματα,δηλαδή οδηγίες γιατοτιπρέπεινακάνειοη/υ. Λειτουργικό Σύστημα Είναι ένα βασικό

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 2: Δομή λειτουργικών συστημάτων Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative

Διαβάστε περισσότερα

ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστηµάτων

ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστηµάτων ΗΜΥ 313: Τεχνολογία Λειτουργικών Συστηµάτων ιδάσκων: Χρίστος Παναγιώτου Υπολογιστικό Σύστηµα Ένα υπολογιστικό σύστηµα αποτελείται από Πώς καταφέρνουν και λειτουργούν όπως αναµένει ο χρήστης; 1 Τι είναι

Διαβάστε περισσότερα

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

Διαβάστε περισσότερα

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός

Διαβάστε περισσότερα

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1 Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Μονονηματική / πολυνηματική εκτέλεση Μονονηματικό μοντέλο εκτέλεσης (συμβατικό) Οι εντολές του κώδικα εκτελούνται σειριακά Ένα μοναδικό νήμα εκτέλεσης (execution

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 1 : Εισαγωγή Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του Λ.Σ.

Διαβάστε περισσότερα

Εικονική Μνήμη (1/2)

Εικονική Μνήμη (1/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

Διαβάστε περισσότερα

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

Κεφάλαιο 4. Λογισμικό Συστήματος Κεφάλαιο 4 Λογισμικό Συστήματος 4.1 Λογισμικό συστήματος Λογισμικό εφαρμογών (application software):προγράμματα για την αντιμετώπιση εξειδικευμένων προβλημάτων π.χ. επεξεργασία κειμένου, μισθοδοσία κλπ.

Διαβάστε περισσότερα

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (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

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

Διαβάστε περισσότερα

Πληροφορική 2. Λειτουργικά Συστήματα

Πληροφορική 2. Λειτουργικά Συστήματα Πληροφορική 2 Λειτουργικά Συστήματα 1 2 Λογισμικό Υπολογιστών Υπολογιστής Υλικό Λογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών 3 Λειτουργικό Σύστημα (Operating System) Λειτουργικό Σύστημα (ΛΣ) είναι

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Χρονοπρογραμματισμός Εργαστηριακές Ασκήσεις Υλικό από: Κ Διαμαντάρας, Λειτουργικά Συστήματα, Τμήμα Πληροφορικής ΤΕΙΘ Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 2 1 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Διαφάνειες σύμφωνα με

Διαβάστε περισσότερα

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

Διαβάστε περισσότερα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ. Επ. Καθ. Κ. Λαμπρινουδάκης ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΔΙΑΧΕΙΡΙΣΗ ΜΝΗΜΗΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 ΕΙΣΑΓΩΓΗ Μνήμη : Πόρος ζωτικής σημασίας του οποίου η διαχείριση απαιτεί ιδιαίτερη

Διαβάστε περισσότερα

Εισαγωγή στα Λειτουργικά

Εισαγωγή στα Λειτουργικά Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 6: Διαχείριση Μνήμης Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σεάδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)

Διαβάστε περισσότερα

Πληροφορική I. "Λογισμικό (Software)" B. Φερεντίνος

Πληροφορική I. Λογισμικό (Software) B. Φερεντίνος ΤΕΙ ΙΟΝΙΩΝ ΝΗΣΩΝ ΣΧΟΛΗ ΔΙΟΙΚΗΣΗΣ ΚΑΙ ΟΙΚΟΝΟΜΙΑΣ ΤΜΗΜΑ ΔΙΟΙΚΗΣΗΣ ΕΠΙΧΕΙΡΗΣΕΩΝ - ΕΙΣ. ΚΑΤΕΥΘΥΝΣΗ ΔΙΟΙΚΗΣΗΣ ΤΟΥΡΙΣΤΙΚΩΝ ΕΠΙΧΕΙΡΗΣΕΩΝ ΚΑΙ ΕΠΙΧΕΙΡΗΣΕΩΝ ΦΙΛΟΞΕΝΙΑΣ Πληροφορική I "Λογισμικό (Software)" B. Φερεντίνος

Διαβάστε περισσότερα

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 2 : Σκοποί ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ Κεφάλαιο 4 Σύνδεση Μικροεπεξεργαστών και Μικροελεγκτών ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ 1. Παρακάτω δίνονται μερικοί από τους ακροδέκτες που συναντάμε στην πλειοψηφία των μικροεπεξεργαστών. Φτιάξτε έναν πίνακα που να

Διαβάστε περισσότερα

Εικονική Μνήμη (Virtual Μemory)

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ

ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι ΧΡΟΝΟΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Χρονοδρομολογητής ή χρονοπρογραμματιστής (scheduler) είναι το τμήμα του

Διαβάστε περισσότερα

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

Λειτουργικά Συστήµατα Λειτουργικά Συστήµατα Περιεχόµενα Ορισµός Βασικές Λειτουργίες Κατηγορίες Κύρια Συστατικά ιαχείριση ιεργασιών Παραδείγµατα Λειτουργικά Συστήµατα Το λειτουργικό σύστηµα: Είναι ένα σύνολο προγραµµάτων που

Διαβάστε περισσότερα

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 12 Σχεδιασμός Ανάπτυξη Λειτουργία Π.Σ. 1. ΑΡΧΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ 1.1 Δυνατότητες Λειτουργικών Συστημάτων 1.1.1 Εισαγωγή Ο όρος Λειτουργικό Σύστημα (Operating System), εκφράζει το σύνολο των προγραμμάτων

Διαβάστε περισσότερα

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ

Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μάθημα 1 ο ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τι είναι Λειτουργικό Σύστημα Κάθε Η/Υ αποτελείται από το Υλικό (Hardware) και το Λογισμικό (Software). Το Υλικό είναι το ηλεκτρικό, ηλεκτρονικό και

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Εισαγωγή στην Πληροφορική Λογισμικό Συστήματος & Εφαρμογών ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Συντήρησης Πολιτισμικής Κληρονομιάς Γενική Δομή Υπολογιστών Λειτουργικό σύστημα Υπολογιστής

Διαβάστε περισσότερα

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 5 «Αμοιβαίος Αποκλεισμός» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 Αμοιβαίος Αποκλεισμός 1. Εισαγωγή 2. Κρίσιμα τμήματα (Critical Sections) 3. Υλοποίηση του

Διαβάστε περισσότερα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 1: Βασικές Έννοιες Λειτουργικών Συστημάτων

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου

Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου ΣΥΣΤΗΜΑΤΑ ΠΡΑΓΜΑΤΙΚΟΥ ΧΡΟΝΟΥ Μάθημα Επιλογής Ανάλυση Επιδόσεων Συστημάτων Πραγματικού Χρόνου Δρ. Γεώργιος Κεραμίδας e-mail: gkeramidas@teimes.gr 1 Διεργασίες: Κατάσταση Εκτέλεσης (3-σταδίων) Κατάσταση

Διαβάστε περισσότερα

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο,

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, Εικονικοποίηση Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 1: Εισαγωγικές Έννοιες. Ιστορία ΛΣ. Ιεραρχία Εφαρμογών. Ρυθμοί Λειτουργίας kernel/user. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org

Διαβάστε περισσότερα