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

Σχετικά έγγραφα
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Λειτουργικά Συστήματα

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

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

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


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Ιεραρχία Μνήμης. Εικονική μνήμη (virtual memory) Επεκτείνοντας την Ιεραρχία Μνήμης. Εικονική Μνήμη. Μ.Στεφανιδάκης

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

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

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

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

Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Αρχιτεκτονική Υπολογιστών Εικονική Μνήμη. (και ο ρόλος της στην ιεραρχία μνήμης)

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

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

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

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

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

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

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

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

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

Προγραμματισμός Η/Υ. Λογισμικό. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

ver Επεξεργαστές κειμένου, λογιστικών φύλλων, παρουσιάσεων Οδηγοί συσκευών (Device Drivers)

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

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

Μάθημα 8: Διαχείριση Μνήμης

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

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

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

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

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

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

Λειτουργικά Συστήματα. Ενότητα # 1: Εισαγωγή Διδάσκων: Γεώργιος Ξυλωμένος Τμήμα: Πληροφορικής

Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας

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

3. Σελιδοποίηση μνήμης 4. Τμηματοποίηση χώρου διευθύνσεων

Μαλούτα Θεανώ Σελίδα 1

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

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

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ H/Y

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III

Λειτουργικά συστήματα πραγματικού χρόνου

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

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

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

Συστήματα Πληροφοριών Διοίκησης Ενότητα 5: Λογισμικό Πληροφοριακών Συστημάτων

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

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

ΤΙ ΕΙΝΑΙ Ο ΥΠΟΛΟΓΙΣΤΗΣ

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

6. Εισαγωγή στον προγραµµατισµό

Transcript:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Μάθημα: Λειτουργικά Συστήματα Βιβλίο Μαθήματος: α) Tanenbaum, A.: Σύγχρονα Λειτουργικά Συστήματα, Εκδόσεις Κλειδάριθμος. β) Silberschatz, Α., Galvin, P. B., Gagne, G. (μτφ.) : Λειτουργικά Συστήματα, Εκδόσεις Ίων Τρόπος Αξιολόγησης: Τελική Γραπτή Εξέταση Διδάσκων: Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1

Ύλη του Μαθήματος Βασικές Έννοιες και Ιστορία των Λειτουργικών Συστημάτων. Δομή Λειτουργικών Συστημάτων. Διεργασίες: Ιδιότητες και Υλοποίηση Διεργασιών, Διαδιεργασιακή Επικοινωνία, Χρονοπρογραμματισμός Διεργασιών. Αδιέξοδα: Ο Αλγόριθμος της Στρουθοκαμήλου, Ανίχνευση, Ανάκαμψη, Αποφυγή, Πρόληψη. Διαχείριση Μνήμης: Εικονική Μνήμη, Σχεδίαση και Υλοποίηση Μηχανισμών Σελιδοποίησης, Αλγόριθμοι Αντικατάστασης Σελίδων, Τμηματοποίηση. Είσοδος/Έξοδος: Υλικό και Λογισμικό Εισόδου-Εξόδου, Δίσκοι, Τερματικά. Συστήματα Αρχείων: Αρχεία και Κατάλογοι, Υλοποίηση. 2

ΤΙ ΕΙΝΑΙ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Ένα Υπολογιστικό Σύστημα αποτελείται: Υλικό Επεξεργαστές Μνήμη Μαγνητικά Μέσα Τερματικά κ.α. Λογισμικό Προγράμματα Συστήματος Προγράμματα Εφαρμογών 3

ΤΙ ΕΙΝΑΙ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Φυσικές συσκευές Ολοκληρωμένα κυκλώματα, καλωδιώσεις, τροφοδοτικά, καθοδικοί σωλήνες κλπ. Μικροπρόγραμμα Το χαμηλότερο επίπεδο λογισμικού το οποίο: συνήθως τοποθετείται σε ROM ελέγχει άμεσα τις συσκευές δέχεται εντολές σε γλώσσα μηχανής και τις αναλύει σε σειρά μικρών βημάτων. Γλώσσα μηχανής Το σύνολο των εντολών που διερμηνεύει το μικροπρόγραμμα 4

ΤΙ ΕΙΝΑΙ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Λογισμικό: προγράμματα συστήματος (system software) π.χ. λειτουργικό σύστημα (το κυριότερο από το λογισμικό συστήματος) μεταγλωττιστές προγράμματα εφαρμογών (application software) π.χ. τραπεζικές εφαρμογές, προγράμματα παιχνιδιών 5

ΤΙ ΕΙΝΑΙ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Καταστάσεις στις οποίες μπορεί να εκτελείται το λογισμικό: κατάσταση πυρήνα (kernel mode) ή κατάσταση επόπτη (supervisor mode) το Λ.Σ. προστατεύεται, με τη βοήθεια υλικού, από αδεξιότητα του χρήστη κατάσταση χρήστη (user mode) π.χ. Μεταγλωτιστές, εφαρμογές 6

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

ΤΙ ΕΙΝΑΙ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Λειτουργικό Σύστημα (operating system) αποκρύπτει την πολυπλοκότητα του συστήματος παρέχει εύχρηστο σύνολο εντολών για εργασία. Διερμηνευτής εντολών (command interpreter or shell) Μεταγλωττιστές (compilers) Επιμελητές κειμένου (editors) 8

Λειτουργικό Σύστημα: Διαχειριστής Πόρων Το Λ.Σ. αποκρύπτει από τους προγραμματιστές και τους χρήστες την πολυπλοκότητα του υλικού και παρουσιάζει μια απλή μηχανή. Το Λ.Σ. παρέχει μια συστηματοποιημένη και ελεγχόμενη κατανομή των επεξεργαστών, των μνημών και των άλλων συσκευών εισόδου/εξόδου, στα διάφορα ανταγωνιζόμενα προγράμματα που επιθυμούν να τα χρησιμοποιήσουν. Αποκρύπτεται πλήθος ενεργειών που αφορούν σε διακοπές (interrupts), χρονομετρητές (timers), διαχείριση μνήμης (memory management), αρχεία (files) κλπ. 9

Λειτουργικό Σύστημα: Διαχειριστής Πόρων Το Λ.Σ. έχει ως κύρια φροντίδα: τον έλεγχο χρήσης πόρων από διάφορες οντότητες τη διαβάθμιση των απαιτήσεων για πόρους τη χρέωση για τη χρήση των πόρων την ικανοποίηση αντικρουόμενων διεκδικήσεων πόρων από προγράμματα και χρήστες 10

ΠΡΟ-ΙΣΤΟΡΙΑ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μηχανική ή Ηλεκτρομαγνητική κατασκευή Babbage difference engine 11

Η ΙΣΤΟΡΙΑ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Πρώτη γενιά Η/Υ (1945-1955) Λυχνίες κενού Κάρτες καλωδιακών συνδέσεων Προγραμματισμός σε γλώσσα μηχανής Απουσία Λ.Σ. 12

Η ΙΣΤΟΡΙΑ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Δεύτερη γενιά Η/Υ (1955-1965) Κρυσταλλοτρίοδοι (transistors) Συστήματα μαζικής επεξεργασίας (batch systems) Εργασίες (jobs) Συμβολικές γλώσσες (assembly), εξελιγμένες γλώσσες (FORTRAN) Εκτυπώσεις χωρίς άμεση παρακολούθηση (off line printing) Τυπικό Λ.Σ.: IBSYS για IBM 7094 13

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

Η ΙΣΤΟΡΙΑ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τρίτη γενιά Η/Υ (1965-1989) Αξιοποίηση ολοκληρωμένων κυκλωμάτων (IC) IBM 360 Πολυπρογραμματισμός (multiprogramming) με διαμερισμό μνήμης Ετεροχρονισμός (SPOOLing - Simultaneous Peripheral Operation OnLine) Καταμερισμός χρόνου (timesharing) (CTSS) Λ.Σ. MULTICS (MULTiplexed Information and Computing Service) σχεδιασμένο από M.I.T., Bell Labs, General Electric Mini υπολογιστές MULTICS σε PDP-7 για ένα χρήστη από K.Thompson - προπομπός του Λ.Σ. UNIX 15

Η ΙΣΤΟΡΙΑ ΤΩΝ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τέταρτη γενιά Η/Υ (1980-1990) Προσωπικοί Υπολογιστές (personal computers) και Σταθμοί Εργασίας (workstations) Φιλικό περιβάλλον χρήστη MS-DOS / UNIX Λ.Σ. δικτύων Κατανεμημένα Λ.Σ. 16

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η επικοινωνία μεταξύ προγραμμάτων χρήστη και λειτουργικού συστήματος γίνεται μέσω του εκτεταμένου συνόλου εντολών του Λ.Σ. (Κλήσεις Συστήματος-system calls) Οι κλήσεις συστήματος δημιουργούν, καταστρέφουν και χρησιμοποιούν οντότητες λογισμικού Οι σημαντικότερες είναι: Διεργασίες (processes) Αρχεία (files) 17

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σε συστήματα καταμερισμού χρόνου (timesharing systems) απαιτείται η ύπαρξη διαδικασίας διακοπής και επανεκτέλεσης διεργασιών. Πίνακας διεργασιών (process table) είναι ένας πίνακας ή μία συνδεδεμένη λίστα από δομές, μία για κάθε διεργασία, με πληροφορίες απαραίτητες για τη διαχείρισή τους από το Λ.Σ. 19

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ο Πίνακας Διεργασιών, για κάθε διεργασία, περιλαμβάνει: την τρέχουσα κατάσταση της διεργασίας το όνομα της διεργασίας την ταυτότητα του ιδιοκτήτη (uid) της διεργασίας την προτεραιότητα (priority) της διεργασίας δείκτες για προσπέλαση στο χώρο μνήμης που καταλαμβάνει η διεργασία απαιτούμενους πόρους από τη διεργασία πληροφορίες απαραίτητες για την επανεκκίνηση της διεργασίας. 20

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Μία υπό αναστολή (suspended) διεργασία αποτελείται από: το χώρο διευθύνσεων (address space or core image) πληροφορίες που την αφορούν στον πίνακα διεργασιών (process table entry) 21

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η δημιουργία και ο τερματισμός των διεργασιών υποστηρίζονται από τη λειτουργία των θεμελιακών κλήσεων του Λ.Σ. Στη δενδροειδή δομή διεργασιών (tree structure), κάθε διεργασία (parent process) μπορεί να δημιουργήσει νέα - θυγατρική διεργασία (child process). 22

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Όταν το σύστημα δημιουργεί μία διεργασία: της δίνει ένα όνομα την παρεμβάλει στη λίστα των διεργασιών της δίνει μία προτεραιότητα της δημιουργεί είσοδο στον Πίνακα Διεργασιών της παραχωρεί τμήμα των αγαθών που χρειάζεται για τη λειτουργία της 23

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Παράδειγμα 2. Η διεργασία κέλυφος ή φλοιός (shell) στο UNIX διαβάζει εντολές από ένα τερματικό για μεταγλώττιση προγραμμάτων. Ο φλοιός δημιουργεί νέα διεργασία-παιδί, η οποία θα εκτελέσει το πρόγραμμα μεταγλώττισης. Όταν η διεργασία-παιδί ολοκληρώσει τη μεταγλώττιση, εκτελεί μία κλήση συστήματος για τερματισμό του εαυτού της. 25

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σήματα (signals) Σήματα είναι λογισμικό που λειτουργεί αντίστοιχα με τις διακοπές υλικού (hardware interrupts). Μηχανισμός επικοινωνίας διεργασιών (εν γένει) 26

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Τα σήματα προκαλούνται από: προγραμματιστικά σφάλματα που ανιχνεύονται από το υλικό (π.χ. χρησιμοποίηση λανθασμένης διεύθυνσης, εκτέλεση μη επιτρεπόμενης εντολής) εκπνοή χρόνου σε χρονομετρητή πρόβλημα στη διαδιεργασιακή επικοινωνία (interprocess communication). 27

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Στα συστήματα πολυπρογραμματισμού, κάθε διεργασία έχει έναν ιδιοκτήτη, ο οποίος χαρακτηρίζεται από ένα μοναδικό uid (user identification). Οι χρήστες κατανέμονται σε ομάδες (groups) με αριθμό ταυτότητας gid (group identification). Οι αριθμοί uid και gid αξιοποιούνται σε θέματα ασφάλειας πληροφοριών στο σύστημα. 29

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Αρχεία Σύστημα αρχείων (file system) είναι το τμήμα του Λ.Σ. που ασχολείται με τη διαχείριση των αρχείων. Το Λ.Σ. προσφέρει ένα αφηρημένο μοντέλο από αρχεία ανεξάρτητα συσκευής. 30

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Χρήσιμες έννοιες για την υλοποίηση ενός συστήματος αρχείων είναι: κατάλογος (directory) κατάλογος εργασίας (working directory) δενδροειδής δομή (tree structure) όνομα διαδρομής (pathname) περιγραφέας αρχείου (file descriptor) ειδικά αρχεία μπλοκ (block special files) (δίσκοι) ειδικά αρχεία χαρακτήρα (character special files) (terminals, line printers, network ports) προστασία (protection) (RWXD) σωληνώσεις (pipes). 31

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Ομοιότητες διεργασιών - αρχείων οι ιεραρχίες διεργασιών και οι ιεραρχίες αρχείων οργανώνονται σε δενδροειδή μορφή 33

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

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Κλήσεις συστήματος (system calls) Κλήσεις συστήματος είναι το σύνολο των εκτεταμένων εντολών (extended instructions) που παρέχει το Λ.Σ., οι οποίες βοηθούν την επικοινωνία μεταξύ Λ.Σ. και προγραμμάτων του χρήστη. Οι κλήσεις συστήματος δημιουργούν, καταστρέφουν και χρησιμοποιούν οντότητες λογισμικού (π.χ. διεργασίες, αρχεία) τις οποίες διαχειρίζεται το Λ.Σ. 35

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Οι κλήσεις συστήματος μπορεί να κληθούν για: να ζητηθεί περισσότερη μνήμη να απελευθερωθεί αχρησιμοποίητη μνήμη τη δημιουργία διεργασιών τη δημιουργία αρχείων το άνοιγμα/κλείσιμο αρχείων τη μεταφορά αρχείου την εκτύπωση αρχείου τη διαγραφή αρχείου τη δημιουργία/διαγραφή καταλόγου τη μετακίνηση καταλόγου. 36

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Σε κάθε κλήση συστήματος αντιστοιχεί μία διαδικασία βιβλιοθήκης - Δ.Β. (library procedure), την οποία καλούν τα προγράμματα του χρήστη. Άρα: Η διαδικασία βιβλιοθήκης καλείται από το πρόγραμμα του χρήστη. Η κλήση συστήματος προκαλείται από την κλήση της διαδικασίας βιβλιοθήκης. 37

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η διαδικασία, συνολικά περιλαμβάνει τα εξής βήματα (1/2): το πρόγραμμα του χρήστη καλεί τη διαδικασία βιβλιοθήκης η διαδικασία βιβλιοθήκης τοποθετεί παραμέτρους κλήσης σε προκαθορισμένο χώρο - καταχωρητές μνήμης η διαδικασία βιβλιοθήκης εκπέμπει εντολή TRAP για να ξεκινήσει το Λ.Σ. (σκοπός της διαδικασίας βιβλιοθήκης είναι να αποκρύψει τις λεπτομέρειες μιας εντολής TRAP και να κάνει τις κλήσεις συστήματος να μοιάζουν με κλήσεις κανονικών διαδικασιών) το Λ.Σ. εξετάζει τις παραμέτρους κλήσης αν είναι αποδεκτές 38

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Η διαδικασία, συνολικά περιλαμβάνει τα εξής βήματα (2/2): το Λ.Σ. εκτελεί λειτουργίες της αίτησης το Λ.Σ. τοποθετεί κωδικό κατάστασης (status code) σε καταχωρητή (επιτυχία ή αποτυχία εκτέλεσης) το Λ.Σ. εκτελεί RETURN FROM TRAP (επιστροφή ελέγχου στη Διαδικασία Βιβλιοθήκης) η Διαδικασία Βιβλιοθήκης επιστρέφει τον έλεγχο στο πρόγραμμα, επιστρέφοντας τον κωδικό κατάστασης ως τιμή μιας συνάρτησης. 39

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Φλοιός Φλοιός (shell) ή διερμηνευτής εντολών (command interpreter) είναι η κύρια διασύνδεση ανάμεσα στο χρήστη ή προγραμματιστή και στο Λ.Σ. Ο φλοιός δεν αποτελεί τμήμα του Λ.Σ. Όταν ένας χρήστης συνδεθεί στο σύστημα, ο φλοιός είναι η συνήθης αρχική εντολή εκτέλεσης (initial command). 40

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εκτέλεση εντολής στο προσκήνιο (foreground) Στην εκτέλεση μιας εντολής (π.χ. date) κατά κανόνα ο φλοιός δημιουργεί διεργασία-παιδί, η οποία και εκτελεί την εντολή. Μετά την ολοκλήρωσή της, ο φλοιός ενεργοποιείται εκ νέου και τυπώνει το προκαθορισμένο prompt. 41

ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ ΛΕΙΤΟΥΡΓΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ Εκτέλεση εντολής στο παρασκήνιο (background) Η εντολή αρχίζει να εκτελείται, αλλά το τερματικό είναι διαθέσιμο για αξιοποίηση πριν τη συμπλήρωση εκτέλεσης της εντολής, π.χ.: $ cat file1 file2 file3 sort > /dev/lp & 42

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία" (the big mess). Το Λ.Σ. είναι μία συλλογή διαδικασιών, οι οποίες μεταγλωττίζονται ξεχωριστά και με τη βοήθεια του προγράμματος σύνδεσης (linker) ενοποιούνται σε ένα μοναδικό εκτελέσιμο αρχείο. Κάθε επιμέρους διαδικασία στο σύστημα έχει καλά καθορισμένη ενδοσυνεννόηση, ως προς τις παραμέτρους που δέχεται και τα αποτελέσματα που παράγει. Κάθε διαδικασία είναι ορατή σε οποιαδήποτε άλλη. 43

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Η ελάχιστη δομή ενός Λ.Σ. περιλαμβάνει υπηρεσίες - κλήσεις συστήματος, οι οποίες καλούνται ως εξής (1/2): τοποθετούνται οι παράμετροι σε καλά καθορισμένες θέσεις (καταχωρητές, στοίβα) εκτελείται η ειδική εντολή κλήσης πυρήνα (kernel call) ή κλήσης επόπτη (supervisor call) η εντολή υποχρεώνει τη μηχανή να μεταπέσει από κατάσταση χρήστη σε κατάσταση πυρήνα 44

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Η ελάχιστη δομή ενός Λ.Σ. περιλαμβάνει υπηρεσίες - κλήσεις συστήματος, οι οποίες καλούνται ως εξής (2/2): μεταφέρεται ο έλεγχος στο Λ.Σ. το Λ.Σ. εξετάζει τις παραμέτρους κλήσης για να καθορίσει ποια κλήση συστήματος θα πρέπει να ενεργοποιηθεί για την εξυπηρέτηση το Λ.Σ. εντοπίζει και καλεί τη διαδικασία εξυπηρέτησης η κλήση συστήματος τερματίζεται και ο έλεγχος επιστρέφεται στο πρόγραμμα του χρήστη. 45

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Η οργάνωση αυτή προτείνει μια βασική δομή για το Λ.Σ. ένα κύριο πρόγραμμα, που ενεργοποιεί τη ζητηθείσα διαδικασία εξυπηρέτησης (service procedure) ένα σύνολο διαδικασιών εξυπηρέτησης που υλοποιούν τις κλήσεις συστήματος ένα σύνολο βοηθητικών προγραμμάτων (utility procedures) που υποβοηθούν τις διαδικασίες εξυπηρέτησης (π.χ. φροντίζουν να έλθουν τα δεδομένα από τα προγράμματα του χρήστη) Στο μοντέλο αυτό, για κάθε κλήση συστήματος, υπάρχει μια διαδικασία εξυπηρέτησης που φροντίζει γι' αυτήν. 46

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Πολυεπίπεδα Συστήματα Το Λ.Σ. οργανώνεται ως μία ιεραρχία επιπέδων, καθένα από τα οποία δομείται στο υποκείμενο επίπεδό του. 47

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Παράδειγμα Ι: Σύστημα ΤΗΕ (Technische Hogeschool Eindhoven, Dijkstra, 1968) Σύστημα μαζικής επεξεργασίας το οποίο διέθετε 6 επίπεδα. Το επίπεδο 0 ασχολούνταν με τη χορήγηση του επεξεργαστή, την εναλλαγή του επεξεργαστή μεταξύ διεργασιών. Το επίπεδο 1 αναλάμβανε τη διαχείριση κύριας και δευτερεύουσας μνήμης. Το επίπεδο 2 χειριζόταν την επικοινωνία μεταξύ διεργασίας και χειριστή. Το επίπεδο 3 φρόντιζε για τη διαχείριση των συσκευών εισόδου/εξόδου και τη ροή των πληροφοριών από και προς αυτές. Το επίπεδο 4 ασχολείται με τα προγράμματα του χρήστη. Το επίπεδο 5 ασχολείται με τις διεργασίες του χειριστή του συστήματος. Τα επίπεδα του συστήματος δεν είναι πραγματικά συνδεδεμένα μεταξύ τους σε ένα μοναδικό εκτελέσιμο πρόγραμμα. 48

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Παράδειγμα ΙI: Σύστημα MULTICS Το Λ.Σ. οργανώνεται ως μια σειρά από ομόκεντρους δακτυλίους, στους οποίους οι εσωτερικοί δακτύλιοι είναι περισσότερο προνομιούχοι από ότι οι εξωτερικοί. Όταν μία διαδικασία βρίσκεται σε εξωτερικό δακτύλιο και αιτείται την κλήση μιας διαδικασίας σε εσωτερικό δακτύλιο, δημιουργείται το ισοδύναμο μιας κλήσης συστήματος (μια εντολή TRAP), αφού ελεγχθούν οι παράμετροι της εντολής, πριν επιτραπεί στην κλήση να προχωρήσει. r0 r4 r5 r3 r2 r1 49

Προστατευτικοί Δακτύλιοι Λειτουργικό Σύστημα Multics Ο αριθμός των Προστατευτικών Δακτυλίων που υποστηρίζει το συγκεκριμένο λειτουργικό σύστημα είναι 64 (0 έως 63). Ας υποθέσουμε ότι κάποια διαδικασία που εκτελείται στο δακτύλιο r, χρειάζεται να προσπελάσει κάποιο τμήμα δεδομένων. Για κάθε τμήμα δεδομένων, το Multics ορίζει ένα ζεύγος δακτυλίων (r1, r2) με r1<= r2, το οποίο ονομάζεται αγκύλη προσπέλασης. Επίσης ας υποθέσουμε, ότι τα δικαιώματα προσπέλασης (Ανάγνωση, Εγγραφή, Εκτέλεση, Προσθήκη) του τμήματος δεδομένων, τα οποία εκχωρούνται μέσω σχετικής λίστας ελέγχου δικαιωμάτων προσπέλασης, επιτρέπουν στη συγκεκριμένη διαδικασία να εκτελέσει τις λειτουργίες προσπέλασης που επιθυμεί. Οι προστατευτικοί δακτύλιοι, μέσω της αγκύλης προσπέλασης, εισάγουν έναν ακόμα περιορισμό. Συγκεκριμένα αν: 50

Προστατευτικοί Δακτύλιοι Λειτουργικό Σύστημα Multics r <= r1, η προσπέλαση επιτρέπεται r1 < r <= r2, επιτρέπεται μόνο η προσπέλαση για Ανάγνωση και Εκτέλεση r2 < r, η προσπέλαση απαγορεύεται Αν η ίδια διαδικασία εκτελείται ξανά στο δακτύλιο r και χρειάζεται να προσπελάσει κάποια άλλη διαδικασία, σε αντιστοιχία με τα τμήματα δεδομένων, το λειτουργικό σύστημα ορίζει για κάθε διαδικασία μία αγκύλη προσπέλασης και επιπροσθέτως μπορεί να ορίσει και μία αγκύλη κλήσης (c1, c2) με c1<= c2 και c1 = r2. Όταν για μία διαδικασία έχει οριστεί αγκύλη κλήσης, χρησιμοποιείται ο συμβολισμός (r1, r2, r3) όπου (r1, r2) είναι η αγκύλη προσπέλασης και (r2, r3) είναι η αγκύλη κλήσης (άρα c2 = r3). 51

Προστατευτικοί Δακτύλιοι Λειτουργικό Σύστημα Multics Οι περιορισμοί δικαιωμάτων προσπέλασης που προκύπτουν στην περίπτωση αυτή διαφοροποιούνται ελαφρά από τους αντίστοιχους για προσπέλαση σε τμήμα δεδομένων. Συγκεκριμένα, αν: r < r1, η προσπέλαση επιτρέπεται, αλλά ταυτόχρονα σηματοδοτείται ένα λάθος διασταύρωσης δακτυλίων r1 <= r <= r2, η προσπέλαση επιτρέπεται r2 < r <= r3, η προσπέλαση επιτρέπεται μόνον αν διενεργηθεί μέσω μιας έγκυρης πύλης r3 < r, η προσπέλαση απαγορεύεται 52

Προστατευτικοί Δακτύλιοι Λειτουργικό Σύστημα Multics Yπάρχουν περιπτώσεις που οι διαδικασίες μπορούν να διασταυρώσουν τα όρια των δακτυλίων. Στη περίπτωση, μάλιστα, που ο δακτύλιος r της εκτελούμενης διαδικασίας βρίσκεται εσωτερικά της αγκύλης προσπέλασης της καλούμενης διαδικασίας, σηματοδοτείται το λάθος διασταύρωσης δακτυλίων το οποίο εξετάζεται από τον πυρήνα του λειτουργικού συστήματος με στόχο την τελική αποδοχή ή απόρριψη της επιχειρούμενης προσπέλασης. Ένας ακόμα περιορισμός είναι όταν ο δακτύλιος r της εκτελούμενης διαδικασίας βρίσκεται μέσα στην αγκύλη κλήσης της καλούμενης διαδικασίας. Η προσπέλαση θα επιτραπεί μόνον αν διενεργηθεί μέσω κάποιου συγκεκριμένου σημείου εισόδου, που πρέπει να έχει δηλωθεί στον πηγαίο κώδικα της καλούμενης διαδικασίας, γνωστό ως πύλη. 53

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Εικονικές Μηχανές Απόλυτες αντιγραφές του βασικού υλικού που μπορεί να προσομοιώσει οποιοδήποτε Λ.Σ DOS σε επεξεργαστές Pentium JAVA Virtual machine 54

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Μοντέλο εξυπηρετούμενου / εξυπηρέτη (client/server model) Τα σύγχρονα Λ.Σ. υιοθετούν τη βασική ιδέα για μετατόπιση κώδικα σε υψηλότερο επίπεδο, αφήνοντας ελάχιστη λειτουργικότητα στον πυρήνα. Στο μοντέλο εξυπηρετούμενου / εξυπηρέτη, η διεργασία εξυπηρετούμενου (client process) αποστέλλει αίτηση εξυπηρέτησης στη διεργασία εξυπηρέτη (server process), η οποία επιτελεί την εργασία και επιστρέφει την απάντηση. 55

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Ο πυρήνας χειρίζεται: την επικοινωνία μεταξύ εξυπηρετούμενων και εξυπηρετών τις λειτουργίες του Λ.Σ. που δεν είναι εφικτό να υλοποιηθούν σε επίπεδο χρήστη (π.χ. φόρτωση εντολών σε καταχωρητές συσκευών Ε/Ε). 56

ΔΟΜΗ ΕΝΟΣ ΛΕΙΤΟΥΡΓΙΚΟΥ ΣΥΣΤΗΜΑΤΟΣ Πλεονεκτήματα του μοντέλου: τα επιμέρους τμήματα του Λ.Σ. (εξυπηρέτες διεργασιών, αρχείων, μνήμης κλπ.) γίνονται μικρότερα και ευκολόχρηστα οι εξυπηρέτες τρέχουν σε κατάσταση χρήστη (user mode) και όχι σε κατάσταση πυρήνα (kernel mode), συνεπώς αποφεύγεται η προσπέλαση στο υλικό κατά συνέπεια αποφεύγεται και η διακοπή της λειτουργίας της μηχανής από κατάρρευση ενός εξυπηρέτη υπάρχει δυνατότητα προσαρμογής σε κατανεμημένα συστήματα, αφού ένας εξυπηρετούμενος δε γνωρίζει αν το μήνυμα εξυπηρέτησης που έστειλε διαχειρίζεται τοπικά ή απομακρυσμένα. 57