# Λειτουργικό σύστημα

Τυπική θέση του λειτουργικού συστήματος σε ένα υπολογιστικό σύστημα
**Λειτουργικό σύστημα** (αγγλικά: *Operating System ή OS*‎‎) ονομάζεται στην επιστήμη της πληροφορικής το λογισμικό του υπολογιστή που είναι υπεύθυνο για τη διαχείριση και τον συντονισμό των εργασιών, καθώς και την κατανομή των διαθέσιμων πόρων. Το λειτουργικό σύστημα παρέχει ένα θεμέλιο, ένα μεσολαβητικό επίπεδο λογικής διασύνδεσης μεταξύ λογισμικού και υλικού, διαμέσου του οποίου οι εφαρμογές αντιλαμβάνονται εμμέσως τον υπολογιστή. Μια από τις κεντρικές αρμοδιότητες του λειτουργικού συστήματος είναι η διαχείριση του υλικού, απαλλάσσοντας έτσι το λογισμικό του χρήστη από τον άμεσο και επίπονο χειρισμό του υπολογιστή και καθιστώντας ευκολότερο τον προγραμματισμό τους. Σχεδόν όλοι οι υπολογιστές (παλάμης, επιτραπέζιοι, υπερυπολογιστές, ακόμη και παιχνιδομηχανές) χρησιμοποιούν έναν τύπο λειτουργικού συστήματος. Ορισμένα παλαιότερα μοντέλα ωστόσο βασίζονται σε ένα ενσωματωμένο λειτουργικό σύστημα, το οποίο περιέχεται σε έναν οπτικό δίσκο ή άλλες συσκευές αποθήκευσης δεδομένων.

Ως λειτουργικό σύστημα (ΛΣ) χαρακτηρίζεται μία συλλογή βασικών προγραμμάτων , η οποία ελέγχει τη λειτουργία του υπολογιστή συνολικά και χρησιμοποιείται ως υπόβαθρο για την εκτέλεση όλων των υπόλοιπων προγραμμάτων, τη διαχείριση των περιφερειακών συσκευών και την εξασφάλιση της επικοινωνίας μεταξύ χρήστη και υπολογιστή. Στην πράξη πρόκειται για ένα επίπεδο λογισμικού που μεσολαβεί μεταξύ του υλικού και των εκτελούμενων προγραμμάτων σε έναν ηλεκτρονικό υπολογιστή. Αποτελείται από ένα σύνολο μηχανισμών μέσω των οποίων επιτυγχάνεται αυτόματη διαχείριση των πόρων ενός υπολογιστή και ελεγχόμενη κατανομή τους στις εκτελούμενες εφαρμογές, έτσι ώστε οι τελευταίες να είναι σε θέση να προσπελάσουν εύκολα τους πόρους και τις συσκευές του συστήματος χωρίς να χρειάζεται να γνωρίζουν με ακρίβεια τη δομή του υποκείμενου υλικού, αλλά και ώστε πολλαπλές εφαρμογές να μπορούν να εκτελούνται ταυτόχρονα χωρίς να έρχονται σε διένεξη μεταξύ τους ή με τον υπολογιστή.

Οι πρώιμοι υπολογιστές στερούνταν λειτουργικού συστήματος. Ένας άνθρωπος '**χειριστής'** (αγγλικά: *operator*‎‎) φόρτωνε τα προγράμματα στη μνήμη του υπολογιστή και φρόντιζε για την εκτέλεσή τους, εξ ου και το όνομα του λογισμικού συστήματος το οποίο αντικατέστησε τις ανθρώπινες αυτές ενέργειες (αγγλικά: *Operating System*‎‎). Με το μεσολαβητικό επίπεδο διασύνδεσης που προσφέρει το λειτουργικό σύστημα, οι εφαρμογές μπορούν να αξιοποιούν εύκολα τη μνήμη, τον επεξεργαστή, το σύστημα αρχείων και τις περιφερειακές συσκευές. Δηλαδή το λειτουργικό σύστημα δημιουργεί ένα απλουστευμένο εικονικό περιβάλλον μέσα στο οποίο εκτελούνται οι εφαρμογές. Οι τελευταίες, μέσα από κάποια συγκεκριμένη και τυποποιημένη προγραμματιστική διασύνδεση που τους προσφέρει το λειτουργικό σύστημα, τις κλήσεις συστήματος, διαμορφώνουν αυστηρά συμμορφούμενα με αυτήν τη διασύνδεση αιτήματα για να αποκτήσουν πόρους, προκειμένου να φέρουν εις πέρας τις εργασίες που ζητά ο χρήστης.

Στα PC το λειτουργικό σύστημα είναι το πρώτο λογισμικό που «φορτώνεται» στη μνήμη του υπολογιστή μετά την εκτέλεση του BIOS. Οποιοδήποτε λογισμικό φορτωθεί στη συνέχεια βασίζεται στο λειτουργικό σύστημα για την παροχή όλων των υπηρεσιών οι οποίες απαιτούν πρόσβαση στο υλικό.

## Υπηρεσίες

Το λειτουργικό σύστημα περιέχει κώδικα χαμηλού επιπέδου, αποκλειστικά για την αρχιτεκτονική του επεξεργαστή στην οποία εκτελείται (γραμμένο είτε σε κάποια κατάλληλη γλώσσα προγραμματισμού υψηλού επιπέδου, όπως η C, είτε απευθείας σε συμβολική γλώσσα), ο οποίος αναλαμβάνει την υλοποίηση όλων αυτών των μηχανισμών. Ο εν λόγω κώδικας, ο οποίος κατά την κανονική λειτουργία του υπολογιστή είναι αποθηκευμένος στη μνήμη, ονομάζεται «πυρήνας» και ο κώδικας των εκτελούμενων εφαρμογών («κώδικας χρήστη») δεν έχει άμεση πρόσβαση σε αυτόν. Ο πυρήνας όμως παρέχει μία προγραμματιστική διασύνδεση, τις κλήσεις συστήματος που προαναφέρθηκαν, με την οποία τα προγράμματα χρήστη μπορούν να καλούν με ελεγχόμενο τρόπο διαδικασίες που εξάγει ο πυρήνας και παρέχουν υπηρεσίες στον καλούντα. Η σύνταξη, η σημασιολογία και η ονοματολογία των κλήσεων συστήματος διαφέρει από λειτουργικό σύστημα σε λειτουργικό σύστημα, με αποτέλεσμα ένα εκτελέσιμο πρόγραμμα συνήθως να μπορεί να τρέξει μόνο σε Ο κώδικας χρήστη δεν μπορεί να προσπελάσει μόνος του τους πόρους του υπολογιστή (π.χ. δίσκους, μνήμη συστήματος, περιφερειακά, δίκτυο κλπ.) αλλά μπορεί να ζητήσει ό,τι χρειάζεται (π.χ. άνοιγμα ενός αρχείου στον δίσκο) από τον πυρήνα μέσω των κλήσεων συστήματος.

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

### Διαχείριση διεργασιών

Ένα πρόγραμμα που εκτελείται στον υπολογιστή συνιστά μία ή περισσότερες *διεργασίες*. Πρόκειται για το βασικό μέσο εκτέλεσης προγραμμάτων σε ένα συνηθισμένο λειτουργικό σύστημα. Ο ίδιος κώδικας / πρόγραμμα μπορεί να εκτελείται ταυτόχρονα μέσα από πολλές διαφορετικές διεργασίες οι οποίες μπορεί να ανήκουν σε διαφορετικούς χρήστες. Στα πλαίσια της σειριακής αρχιτεκτονικής φον Νόιμαν και των υπολογιστών που έχουν οικοδομηθεί με βάση αυτήν, μόνο μια διεργασία μπορεί να εκτελείται στην ΚΜΕ (Κεντρική Μονάδα Επεξεργασίας) οποιαδήποτε χρονική στιγμή· επομένως οι ποικίλες διεργασίες οι οποίες είναι ταυτόχρονα ενεργές εκτελούνται ψευδοπαράλληλα, με διαδοχική εναλλαγή του επεξεργαστή μεταξύ τους κάθε λίγη ώρα. Σε ένα παράλληλο σύστημα, όπου υπάρχουν πολλαπλοί επεξεργαστές, ο ταυτοχρονισμός / πολυδιεργασία μπορούν να υλοποιηθούν πραγματικά παράλληλα. Σε κάθε περίπτωση, το τμήμα του πυρήνα το οποίο λαμβάνει διάφορες αποφάσεις σχετικά με την ανάθεση των ΚΜΕ στις διάφορες διεργασίες ονομάζεται *χρονοπρογραμματιστής*.

### Διαχείριση μνήμης

Στις σύγχρονες αρχιτεκτονικές υπολογιστών η μνήμη είναι οργανωμένη ιεραρχικά.
Αρχίζοντας από την ταχύτερη: καταχωρητές, κρυφή μνήμη, κύρια μνήμη και δευτερεύουσα μνήμη (π. χ. σκληροί δίσκοι). Το τμήμα εκείνο του λειτουργικού συστήματος που καλείται *διαχειριστής μνήμης* συντονίζει τη χρήση των διαφόρων τύπων μνήμης, καταγράφοντας ποια τμήματά τους είναι διαθέσιμα, ποια είναι δεσμευμένα και, αναλόγως με τις απαιτήσεις των διεργασιών, εκχωρεί ή απελευθερώνει τμήματα για να τα χρησιμοποιήσουν οι τελευταίες. Αυτή η δραστηριότητα λέγεται διαχείριση εικονικής μνήμης, αφού η συνολική μνήμη που είναι σε θέση να αξιοποιήσουν οι διεργασίες κατά την εκτέλεσή τους μπορεί να υπερβαίνει το μέγεθος της κύριας μνήμης (της φυσικής μνήμης RAM), μέσω της δέσμευσης ενός τμήματος του σκληρού δίσκου από τον πυρήνα το οποίο χρησιμοποιείται από τον τελευταίο σαν επέκταση της κύριας μνήμης. Τα προηγμένα Λ.Σ. αποφεύγουν, όπου και όταν είναι δυνατό, τη χρήση αυτής της τεχνικής, επειδή η χρήση δευτερεύουσας μνήμης ως κύριας μειώνει την ταχύτητα του συστήματος.

### Συστήματα αρχείων

Το τμήμα του λειτουργικού συστήματος που ονομάζεται διαχειριστής συστήματος αρχείων δημιουργεί την αφαιρετική έννοια των αρχείων και των δένδρων καταλόγων. Έτσι ο χρήστης και οι εφαρμογές του έχουν τη δυνατότητα να βλέπουν τη δευτερεύουσα μνήμη σαν ένα σύνολο από αρχεία, τα οποία μπορούν να δημιουργούν, να τροποποιούν, να διαγράφουν, να μετακινούν και να αντιγράφουν.

### Δικτύωση

Τα περισσότερα σύγχρονα λειτουργικά συστήματα επιτρέπουν τη σύνδεση ενός υπολογιστή τόσο σε τοπικά δίκτυα όσο και στο διαδίκτυο, ενσωματώνοντας στον κώδικά τους την υλοποίηση των απαιτούμενων αντίστοιχων πρωτοκόλλων.

### Εσωτερική ασφάλεια

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

### Εξωτερική ασφάλεια

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

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

Οι συνηθέστεροι μηχανισμοί οι οποίοι εν μέρει προσφέρουν ασφάλεια σε ένα λειτουργικό σύστημα είναι, οι βιομετρικοί μέθοδοι, αγνωστικά πρωτόκολλα, μηχανισμοί δημοσίου κλειδιού και σύνθετα συνθηματικά. Ενώ, οι συνηθέστερες τεχνικές οι οποίες υιοθετούνται για την προστασία και την ακεραιότητα των λειτουργικών συστημάτων είναι, οι μέθοδοι φραγμών, μέθοδοι καταχωρητών, σύνολα ελέγχου και συνόψεις αρχείων, μηχανισμοί ανοχής σφαλμάτων, αναχώματα ασφαλείας (Firewalls) και σύστημα ανίχνευσης εισβολών(Intrusion Detection System).

Από την άλλη πλευρά, το «**content spoofing**» ή διαφορετικά η αλλοίωση περιεχομένου, χαρακτηρίζει την τεχνική της επίθεσης η οποία επιτρέπει σε έναν εισβολέα να εισφέρει κακόβουλο ωφέλιμο φορτίο το οποίο παραποιείται αργότερα, ως νόμιμο περιεχόμενο ενός ιστού (Web). Το γεγονός αυτό ενδέχεται να εκδηλωθεί σε πολλές διαφορετικές μορφές και συμπεριλαμβάνεται στη λίστα των πιο συχνών επιθέσεων. Παράλληλα, σε πολλές περιπτώσεις ο εισβολέας αποκτά πρόσβαση σε μία υπάρχουσα ιστοσελίδα (website), παραποιώντας τον πηγαίο κώδικα των προγραμμάτων αλλοιώνοντας το περιεχόμενο του ιστού.

### Γραφική διασύνδεση χρήστη

Η εξωτερική απεικόνιση (συνήθως στην οθόνη) του λειτουργικού συστήματος, ώστε ο χρήστης να μπορεί να αλληλεπιδράσει με αυτό και να διαχειριστεί τα προγράμματα και τις εργασίες του, δεν ταυτίζεται με το ίδιο το λειτουργικό σύστημα. Στην πραγματικότητα το **κέλυφος** (αγγλικά: *shell*‎‎, εναλλακτικά στα ελληνικά είναι γνωστό και ως *φλοιός*), όπως λέγεται το εν λόγω τμήμα του λειτουργικού συστήματος το οποίο παρέχει μία οπτική και αλληλεπιδραστική διασύνδεση προς τους χρήστες, είναι απολύτως δευτερεύον σε σχέση με τον πυρήνα και τους μηχανισμούς του, παρόλο που πρόκειται για το μόνο συστατικό ενός λειτουργικού συστήματος το οποίο είναι άμεσα ορατό από έναν απλό χρήστη.

Υπάρχουν δύο βασικοί τύποι κελύφους: οι γραμμές εντολών, όπου οι χρήστες απλώς πληκτρολογούν εντολές για να διαχειριστούν τα αρχεία και τα προγράμματά τους, και οι γραφικές διασυνδέσεις χρήστη (GUI), όπου οι χρήστες χειρίζονται ένα γραφικό περιβάλλον στηριζόμενο στο ποντίκι και σε οπτικές μεταφορές (εικονίδια, παράθυρα κλπ). Τα σύγχρονα λειτουργικά συστήματα παρέχουν τη δυνατότητα στον χρήστη να επικοινωνεί γραφικά με τον Η/Υ μέσω ποντικιού, παραθύρων, εικονιδίων, δείκτη ποντικιού, γραμμές εργασιών κλπ.

### Οδηγοί συσκευών

Ένα λειτουργικό σύστημα περιλαμβάνει και πολλούς οδηγούς συσκευών (*drivers*). Συνοπτικά, ένας οδηγός συσκευής είναι το λογισμικό συστήματος που χρησιμοποιεί το λειτουργικό σύστημα και οι διεργασίες των χρηστών κάθε φορά που πρέπει να ανταλλάξουν δεδομένα με τη συγκεκριμένη συσκευή. Συνήθως οι οδηγοί συσκευών περιλαμβάνονται στο λογισμικό που συνοδεύει την περιφερειακή συσκευή κατά την αγορά της. Ωστόσο τα περισσότερα λειτουργικά συστήματα διατίθενται και με ορισμένους προκατασκευασμένους, γενικής χρήσης οδηγούς συσκευών, συνήθως όχι τόσο βελτιστοποιημένους από άποψη ταχύτητας.

## Πυρήνας

Όπως αναφέρθηκε, ο όρος *πυρήνας* αφορά τα πιο βασικά μέρη ενός λειτουργικού συστήματος τα οποία αλληλεπιδρούν στενά με το υλικό. Αντιθέτως, τμήματα του λειτουργικού συστήματος που δεν ανήκουν στον πυρήνα μπορούν να θεωρηθούν π.χ. η διασύνδεση με τον χρήστη, τα πρωτόκολλα επικοινωνίας ανάμεσα στις εφαρμογές, τα πρωτόκολλα διαχείρισης περιόδων εργασιών χρηστών, τα πρωτόκολλα δικτύου κτλ. Μια ενδιαφέρουσα ανάλυση σχετικά με τη διαφορά λειτουργικού συστήματος και πυρήνα μπορεί να βρεθεί εδώ (Linux και GNU). Πάντως δεν επικρατεί κάποια γενική συναίνεση σχετικά με το θέμα αυτό στην κοινότητα της πληροφορικής.

## Σύγχρονα λειτουργικά συστήματα

Στις μέρες μας (2012), τα δημοφιλέστερα λειτουργικά συστήματα στους μικροϋπολογιστές, (συμπεριλαμβανομένων των προσωπικών υπολογιστών), έχουν διαμορφωθεί σε δύο μεγάλες οικογένειες: αυτή των Unix-συμβατών και την οικογένεια των Microsoft Windows. Οι κεντρικοί υπολογιστές και τα ενσωματωμένα συστήματα χρησιμοποιούν μια ποικιλία άλλων λειτουργικών συστημάτων, τα περισσότερα από τα οποία δεν έχουν άμεση συγγένεια με τα Windows ή με το Unix.

Τα *Unix-συμβατά* Λειτουργικά Συστήματα αποτελούν μια πολυποίκιλη ομάδα, με πολλές κύριες υποκατηγορίες συμπεριλαμβανομένων των System V, BSD, και GNU/Linux. Το εμπορικό σήμα Unix χρησιμοποιείται από πολλά λειτουργικά συστήματα που έχουν πολλά κοινά με το αρχικό Unix. Τα Unix Λ.Σ. τρέχουν σε μια μεγάλη γκάμα από αρχιτεκτονικές υπολογιστών. Χρησιμοποιούνται πολύ σαν συστήματα εξυπηρετητές στις επιχειρήσεις και σε σταθμούς εργασίας σε ακαδημαϊκούς και μηχανολογικούς χώρους εργασίας.

Παραλλαγές του Unix που διακινούνται ως Ελεύθερο λογισμικό, όπως το GNU/Linux και BSD αυξάνουν σε δημοτικότητα στο χώρο των σταθμών εργασίας και των προσωπικών υπολογιστών. Παραλλαγές που διακινούνται με κλειστές άδειες χρήσης όπως το HP-UX της Hewlett-Packard, το Irix της Silicon Graphics και το AIX της IBM έχουν σχεδιαστεί να τρέχουν μόνο στο υλικό των συγκεκριμένων εταιρειών ενώ άλλες παραλλαγές μπορούν να τρέξουν και σε προσωπικούς υπολογιστές. Το Solaris της Sun (που άλλαξε άδεια χρήσης σε λογισμικό ανοιχτού κώδικα υπό την CDDL άδεια) είναι ένα τέτοιο πολύμορφο αλλά αληθινό Unix και μπορεί να τρέχει στους σταθμούς εργασίας της Sun αλλά και στον μικρότερο υπολογιστή αρχιτεκτονικής x86. Το λειτουργικό σύστημα Mac OS X της Apple είναι μια παραλλαγή του BSD, και έχει αντικαταστήσει τα προηγούμενα (μη-unix) MacOS λειτουργικά συστήματα της Apple σε μια σχετικά μικρή αλλά αφοσιωμένη αγορά, έχοντας γίνει ένα πολύ δημοφιλές Unix.

Η οικογένεια των *Microsoft Windows* λειτουργικών συστημάτων ξεκίνησε σαν ένα επίπεδο γραφικής διασύνδεσης πάνω από το παλιότερο MS-DOS περιβάλλον για τους IBM PC. Οι σύγχρονες εκδόσεις των Windows βασίζονται στον καινούργιο πυρήνα των Windows NT που πρωτοδιαμορφώθηκε στο OS/2, με πιο πρόσφατη έκδοση εν έτει 2010 τα Windows 7. Τα Windows τρέχουν πάνω σε 32- και 64-bit Intel και AMD υπολογιστές, αν και προηγούμενες εκδόσεις έτρεχαν και σε DEC Alpha, MIPS και PowerPC αρχιτεκτονικές (και υπήρξε και προσπάθεια να μεταφερθεί και σε αρχιτεκτονική SPARC).

Σήμερα, τα Windows είναι το δημοφιλέστερο λειτουργικό σύστημα προσωπικών υπολογιστών απολαμβάνοντας ένα σχεδόν μονοπώλιο του 90% του παγκόσμιου μεριδίου αγοράς των προσωπικών υπολογιστών. Επίσης χρησιμοποιείται ευρέως και στους εξυπηρετητές υποστηρίζοντας εφαρμογές όπως Web εξυπηρετητές (Web Servers) και εξυπηρετητές βάσεων δεδομένων (DBMS Servers).

Τα λειτουργικά συστήματα μεγάλων υπολογιστών, όπως της IBM z/OS και ενσωματωμένων λειτουργικών συστημάτων όπως QNX, eCos, Symbian και Palm OS, είναι συνήθως άσχετα με το Unix και τα Windows. Τα λειτουργικά συστήματα Windows CE, Windows NT Embedded 4.0 και Windows XP Embedded σχετίζονται με τα Windows.

Παλιότερα λειτουργικά συστήματα που ακόμα χρησιμοποιούνται σε κλειστές αγορές περιλαμβάνουν το παρόμοιο με τα Windows OS/2 της IBM, το VMS της Hewlett-Packard (πρώην DEC), το Mac OS, το όχι-Unix προηγούμενο του Mac OS της Apple X και το AmigaOS, το πρώτο με γραφική διασύνδεση χρήστη λειτουργικό σύστημα με αναπτυγμένες δυνατότητες πολυμέσων που έγινε διαθέσιμο στο κοινό. Παλαιότερο, επίσης, λειτουργικό σύστημα που χρησιμοποιείται ακόμη σε πολύ περιορισμένες εφαρμογές, είναι ο πρόγονος των Windows στους Προσωπικούς υπολογιστές, το MS-DOS. Η έρευνα και η ανάπτυξη νέων τύπων λειτουργικών συστημάτων συνεχίζεται και αποτελεί ένα ενεργό πεδίο της πληροφορικής.

### Παραδείγματα λειτουργικών συστημάτων

* UNIX - που περιλαμβάνει όλα τα UNIX BSD (FreeBSD, OpenBSD, NetBSD), το Solaris (και το OpenSolaris), το GNU/Linux και το Mac OS X
* Mac OS (μέχρι την έκδοση 9)
* Microsoft Windows
* MS-DOS
* CP/M
* AmigaOS

#### Ερευνητικά λειτουργικά συστήματα

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

* Multics
* Sprite (λειτουργικό σύστημα)
* MenuetOS
* Plan 9
* Sortix
* ToaruOS
* EMPIX του ΕΜΠ

Για μια πιο πλήρη λίστα δείτε εδώ:

## Παραπομπές

## Πηγές

* *Αρχιτεκτονική Υπολογιστών: Μια Δομημένη Προσέγγιση*, Tanenbaum Andrew S., Εκδ. Κλειδάριθμος
* *Σύγχρονα Λειτουργικά Συστήματα*, Tanenbaum Andrew S., Εκδ. Κλειδάριθμος
* *Principles of Information Security*,[Whitman M., Mattord Η (2011), 4th Edition]

## Βιβλιογραφία

* "ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ",Γ.Κ.ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ, Ν.Α.ΜΠΙΛΑΛΗΣ, Π.Α.ΤΣΑΝΑΚΑΣ, Εκδ. Συμμετρία 1986.
* "Fundamentals of Operating Systems",A.M.Lister,5th ed. with R.D.Eager, Springer 1993.

## Εξωτερικοί σύνδεσμοι

* Ιστορική αναδρομή λειτουργικών συστημάτων Αρχειοθετήθηκε 2011-05-19 στο Wayback Machine.
* Εισαγωγή στα λειτουργικά συστήματα Αρχειοθετήθηκε 2011-07-21 στο Wayback Machine.
* ΕΑΠ - Λειτουργικά Συστήματα Αρχειοθετήθηκε 2011-05-19 στο Wayback Machine.