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

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

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

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

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

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

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

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

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

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

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

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

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

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

Το εσωτερικό ενός PC. Τεχνολογία Η/Υ & Πληροφοριών - 05 Κεντρική μονάδα Χουρδάκης Μανόλης

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

Το υλικό του υπολογιστή

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

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

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

Κεφάλαιο 1.6: Συσκευές αποθήκευσης

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

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

Μάθημα 3: Αρχιτεκτονική Υπολογιστών

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

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

ΗΛΕΚΤΡΟΝΙΚΟΙ ΥΠΟΛΟΓΙΣΤΕΣ

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Α Γενικού Λυκείου (Μάθημα Επιλογής)

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

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

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

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 5

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

ΓΕΩΠΟΝΙΚΗ ΣΧΟΛΗ ΑΠΘ Εργαστήριο Πληροφορικής στη Γεωργία

Γεωγραφικά Συστήµατα Πληροφοριών και Αρχές Τηλεπισκόπησης

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

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

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

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

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

Εφαρµογές Πληροφορικής Υπολογιστών. Κεφάλαιο 3 Το υλικό του υπολογιστή

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

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

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

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

Στοιχεία από την αρχιτεκτονική των μικροϋπολογιστών

ΠΛΗΡΟΦΟΡΙΚΗ: ΥΠΟΛΟΓΙΣΤΕΣ & ΤΕΧΝΟΛΟΓΙΕΣ ΔΙΑΔΙΚΤΥΟΥ

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

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

Βασικές Έννοιες της Πληροφορικής

ΑΡΧΙΤΕΚΤΟΝΙΚΗ ΥΠΟΛΟΓΙΣΤΩΝ. Σημειώσεις Θεωρίας

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

i Throughput: Ο ρυθμός ολοκλήρωσης έργου σε συγκεκριμένο χρόνο

Μάθημα 6 ο. Χρονοδρομολόγηση (Scheduling)

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

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

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

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

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

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

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

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

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

Β τάξη. ΕΝΟΤΗΤΑ 1 Κεφάλαιο 2: Το εσωτερικό του Υπολογιστή. Εικόνα 2.1: Η Κεντρική Μονάδα.

Κεφάλαιο Το υπολογιστικό σύστημα Η εξέλιξη του ανθρώπου πραγματοποιήθηκε χάρη στην ικανότητά στον χειρισμό εργαλείων.

Εισαγωγή στην Πληροφορική Προγραμματισμός-Λειτουργικά

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

Χαράλαμπος Καραγιαννίδης

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

Information Technology for Business

Σημειώσεις : Χρήστος Μουρατίδης. Κάντε κλικ για έναρξη

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

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

Κεφάλαιο 1.5: Τα βασικά μέρη ενός υπολογιστή

*Ένας υπολογιστής είναι στην πραγματικότητα ένα σύστημα πολλών μερών που συνεργάζονται μεταξύ τους.

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΑ ΣΥΣΤΗΜΑΤΑ

Τμήμα Λογιστικής. Εισαγωγή στους Ηλεκτρονικούς Υπολογιστές. Μάθημα 8. 1 Στέργιος Παλαμάς

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

ΕΦΑΡΜΟΓΕΣ ΠΛΗΡΟΦΟΡΙΚΗΣ Α ΤΑΞΗ

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

ΠΛΗ10 Κεφάλαιο 2. ΠΛΗ10 Εισαγωγή στην Πληροφορική: Τόμος Α Κεφάλαιο: 2 2.1: Bασική Δομή του Υπολογιστή

ΧΡΟΝΙΚΗ ΠΕΡΙΟΔΟΣ Γεωργία Πελέκη, Έλντα Μπάλι Τζαφέρι Τζένη, Αλεξία Παπαδοπούλου, Ντοριλέιν Γκαρσία

ΗΜΥ 100 Εισαγωγή στην Τεχνολογία ιάλεξη 9

Το «κλειστό» σύστημα. Ανοικτές επικοινωνίες... Εισαγωγή στην Τεχνολογία της Πληροφορικής. Εισαγωγή στην τεχνολογία της πληροφορικής

Οργάνωση Υπολογιστών (IΙI)

MULTIPLE CHOICE REVISION: ΜΑΘΗΜΑ 1-2

Πληροφορική Ι (Θεωρία)

ΕΙΔΙΚΟΤΗΤΑ: ΤΕΧΝΙΚΟΣ ΕΦΑΡΜΟΓΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ

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

Ηλεκτρονικός Υπολογιστής

ΜΑΘΗΜΑ 1- MULTIPLE CHOICE

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

Δομή Ηλεκτρονικού υπολογιστή

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

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

ΕΠΛ 001: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ. Επανάληψη

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

Transcript:

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

Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Διαφάνειες σύμφωνα με τις Πανεπιστημιακές Σημειώσεις του Καθηγητή Κ. Γιαννάκογλου Επιμέλεια: Επικ. Καθηγητής Ν. Πετρόπουλος Παρουσίαση 1 2

1. Βασικοί Ορισμοί Περιεχόμενα Παρουσίασης 1 "ΕΙΣΑΓΩΓΗ" 2. Ιστορική Αναδρομή 3. Λ/Σ Παράλληλων Υπολογιστών 4. Λ/Σ Πραγματικού Χρόνου 5. Εισαγωγή στις Διεργασίες 6. Λ/Σ και Κεντρική Μνήμη 7. Αρχεία και Αρχειοθέτηση Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 3

Βασικοί Ορισμοί (1) Οι συνιστώσες ενός Υπολογιστικού Συστήματος (ενός Ηλεκτρονικού Υπολογιστή ή αλλιώς Η/Υ) είναι: Το Υλικό (Hardware) και το Λογισμικό (Software) Το λογισμικό αποτελείται από τα προγράμματα: Το Λειτουργικό Σύστημα (Λ/Σ, Operating System), τα Προγράμματα Συστήματος (System Programs), τα Προγράμματα Εφαρμογών (Applications) ή/και τα Προγράμματα Χρηστών (User Programs) Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 4

Βασικοί Ορισμοί (2) Το ΥΛΙΚΟ συμπεριλαμβάνει Την "ύλη" από την οποία αποτελείται ένας Η/Υ, δηλ. κυρίως την Κεντρική Μονάδα Επεξεργασίας (Central Processing Unit ή CPU), την Κεντρική Μνήμη (Core Memory) και τις Συσκευές (Devices) Συσκευές π.χ. μπορεί να είναι: Οι Μονάδες Αποθήκευσης Δεδομένων (Storage Units, π.χ. οι σκληροί δίσκοι), οι Μονάδες Εισόδου / Εξόδου (Input / Output ή I/O Units) και άλλες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 5

Βασικοί Ορισμοί (3) Ως ΠΡΟΓΡΑΜΜΑ μπορεί να ορίζεται: Η ακολουθία εντολών ή οδηγιών που κάποιος (ο προγραμματιστής - χρήστης ή η ομάδα προγραμματιστών - χρηστών) έχει καταστρώσει με σκοπό να εκτελεσθούν από το Υλικό ενός Η/Υ για να παραχθούν κάποια υπολογιστικά αποτελέσματα ή να καθοδηγήσουν τον Η/Υ να κάνει κάποια υπολογιστική εργασία. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 6

Βασικοί Ορισμοί (4) Γλώσσα Προγραμματισμού: Οι εντολές αυτές γράφονται σε διάφορες ειδικές και κατάλληλες γλώσσες με δική τους "γραμματική" και "συντακτικό", οι οποίες ονομάζονται Γλώσσες Προγραμματισμού (Programming Languages). Οι κανόνες της "γραμματικής" και του "συντακτικού" αυτών των γλωσσών είναι ΠΟΛΥ ΑΥΣΤΗΡΟΙ! Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 7

Βασικοί Ορισμοί (5) Μετάφραση Προγράμματος: Ένα Πρόγραμμα προκειμένου να εκτελεσθεί από έναν Η/Υ πρέπει να μεταφρασθεί σε Γλώσσα Προγραμματισμού μάλλον ακατανόητη από τον χρήστη αλλά πλήρως και καλά κατανοητή από το Υλικό του Η/Υ. Τη μετάφραση αυτή αναλαμβάνουν ειδικά Προγράμματα Εφαρμογών που ονομάζονται Μεταγλωττιστής (compiler) ή Διερμηνευτής (interpreter). Μεταγλωττιστές και Διερμηνευτές είναι ΔΙΑΦΟΡΕΤΙΚΑ Προγράμματα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 8

Βασικοί Ορισμοί (6) Τα Προγράμματα Εφαρμογών είναι π.χ.: Οι Επεξεργαστές Κειμένου (π.χ. MS Word), τα Λογιστικά Φύλλα (π.χ. MS Excel), οι Βάσεις Δεδομένων, τα Παιχνίδια (!) και άλλα. Ένα Λ/Σ μπορεί να ορίζεται ως το Λογισμικό (δηλ. το Πρόγραμμα) που ελέγχει και συντονίζει τη χρήση του Υλικού και των Προγραμμάτων Συστήματος από τα Προγράμματα Εφαρμογών και τους χρήστες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 9

Βασικοί Ορισμοί (7) Αλλιώς: Ένα Λ/Σ διαχειρίζεται τους Πόρους (Resources) ενός Ηλεκτρονικού Υπολογιστή και σύμφωνα με τις ανάγκες καθορίζει την αντιστοίχησή τους σε συγκεκριμένα προγράμματα και χρήστες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 10

Βασικοί Ορισμοί (8) Με ένα εποπτικό Σχήμα, δηλαδή: Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 11

Βασικοί Ορισμοί (9) Το ίδιο σχήμα σε πολικές συντεταγμένες (1): Το περιβάλλον αλληλεπίδρασης χρηστών και Η/Υ ως σύνολο, μπορεί να θεωρηθεί ως ομάδα από ομόκεντρες σφαίρες. Η μικρότερη σφαίρα στο κέντρο αντιπροσωπεύει το ΥΛΙΚΟ, η εξώτερη αντιπροσωπεύει τους χρήστες τις μονάδες Ι/Ο και τις άλλες συσκευές. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 12

Βασικοί Ορισμοί (10) Το ίδιο σχήμα σε πολικές συντεταγμένες (2): Η σφαίρα εσωτερικά της εξώτερης αντιπροσωπεύει τα Προγράμματα Εφαρμογών και τα Προγράμματα Συστήματος. Η σφαίρα που βρίσκεται μεταξύ των Προγραμμάτων και του Υλικού είναι το Λειτουργικό Σύστημα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 13

Βασικοί Ορισμοί (11) Το ίδιο σχήμα σε πολικές συντεταγμένες (3): Όλοι οι φλοιοί επικοινωνούν μεταξύ τους με τρόπο που καθορίζει ή επιτρέπει το Λειτουργικό Σύστημα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 14

Βασικοί Ορισμοί (12) Χαρακτηριστικά Λειτουργικού Συστήματος: 1. Είναι Λογισμικό (δηλ. συλλογή Προγραμμάτων Συστήματος) 2. Μεσολαβεί για την βολική, φιλική και αποδοτική διασύνδεση χρηστών με το Υλικό (τον Η/Υ) 3. Απαλλάσσει τον χρήστη από την κατανόηση της πολυπλοκότητας και των ιδιαιτεροτήτων του Υλικού που χρησιμοποιεί μέσω των Προγραμμάτων Εφαρμογών / Συστήματος 4. Θέτει στη διάθεσή του χρήστη ένα εύχρηστο σύνολο εντολών για να χρησιμοποιήσει τον Η/Υ 5. Διαχειρίζεται τους Πόρους του Η/Υ ανάλογα με το ποιος και τι ζητά Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 15

Βασικοί Ορισμοί (13) Με τη βοήθεια του Λ/Σ, ο χρήστης αντιλαμβάνεται τον Η/Υ που χρησιμοποιεί ως μία ιδεατή μηχανή (virtual machine), φιλική και εύκολη στην κατανόηση και στον προγραμματισμό. Υπάρχουν διαθέσιμα σήμερα αρκετά Λ/Σ. Για παράδειγμα αναφέρονται τα διάφορα MS Windows, οι ποικίλες εκδόσεις UNIX και άλλα. Όλα τα Λειτουργικά Συστήματα παρέχουν ορισμένες ΚΟΙΝΕΣ ΥΠΗΡΕΣΙΕΣ Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 16

Βασικοί Ορισμοί (14) Το ποιο Λειτουργικό Σύστημα θα επιλεγεί για έναν Ηλεκτρονικό Υπολογιστή εξαρτάται κυρίως από: 1. Τις υπηρεσίες που προσφέρει 2. Τα λειτουργικά υποσυστήματα του, και 3. Τους διαθέσιμους τρόπους επικοινωνίας με τους χρήστες Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 17

Βασικοί Ορισμοί (15) Ξεχνάμε τίποτα επίσης βασικό; Υπάρχει ένα επιπλέον τμήμα Λογισμικού, αυτό που ελέγχει άμεσα τον Η/Υ και τις λοιπές συσκευές του συστήματος. Αυτό συνήθως αναφέρεται ως Firmware ή microprogram (μικροπρόγραμμα) και τοποθετείται σε "μνήμη-ανάγνωσηςμόνο" (Read Only Memory, ROM) μέσα στις ίδιες τις συσκευές. Το Firmware μεσολαβεί ανάμεσα στο Λ/Σ και στις φυσικές συσκευές του Η/Υ. Το Firmware όμως λογίζεται ως τμήμα του Υλικού. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 18

Βασικοί Ορισμοί (16) Εκκίνηση Η/Υ Από τη στιγμή που ένας Η/Υ τροφοδοτηθεί με ηλεκτρική ισχύ, τα μικροπρογράμματα της CPU και των συσκευών αναζητούν αυτόματα την μονάδα Ι/Ο, στην οποία είναι αποθηκευμένο το Λ/Σ ως Λογισμικό. Στη συνέχεια μεταφέρουν αυτόματα το Λογισμικό αυτό στην Κεντρική Μνήμη (αλλιώς: το "φορτώνουν" στην Κεντρική Μνήμη) και έπειτα το εκτελούν. Η όλη διαδικασία ονομάζεται "βάζω την μπότα μου για να ξεκινήσω" ή απλά Boot. Μετά το Boot ο Η/Υ είναι έτοιμος για χρήση από τους χρήστες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 19

Βασικοί Ορισμοί (17) To "Τερματικό": Οι χρήστες πρέπει να διαθέτουν συσκευές με τις οποίες να αλληλεπιδρούν με τον Η/Υ, δηλ. να του δίνουν οδηγίες και να λαμβάνουν απαντήσεις. Για το σκοπό αυτό από το 1970 και μετά έχει διαμορφωθεί μία απλή μονάδα Ι/Ο που αποτελείται από ένα πληκτρολόγιο (keyboard), στο οποίο οι χρήστες πληκτρολογούν τις οδηγίες τους, και μία οθόνη (display) στην οποία απαντά ο Η/Υ. Αυτή η μονάδα ονομάζεται "τερματικό" (terminal). Με την πάροδο του χρόνου και την ανάπτυξη των προσωπικών H/Y το τερματικό ενισχύθηκε και με την μονάδα εισόδου που ονομάσθηκε "ποντίκι" (mouse). Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 20

Ιστορική Αναδρομή (1) 1 η γενιά Η/Υ: Αναπτύχθηκαν κατά ή αμέσως μετά τον Β' ΠΠ. Κατασκευαστές, συντηρητές και χρήστες ήταν η ίδια ομάδα ανθρώπων. Επρόκειτο για σύνολο απλών (με τα σημερινά κριτήρια) ηλεκτρονικών κυκλωμάτων με βάση τις ηλεκτρονικές λυχνίες και καλώδια που εκτελούσαν απλές εντολές βασισμένες στην Άλγεβρα Boole. Δεν είχαν Λ/Σ ούτε Γλώσσες ούτε άλλα Προγράμματα με τα σημερινά ποιοτικά χαρακτηριστικά. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 21

Ιστορική Αναδρομή (2) 2 η γενιά Η/Υ (1): Αναπτύχθηκαν γύρω στο 1960. Επρόκειτο για σύνολο απλών (με τα σημερινά κριτήρια) ηλεκτρονικών κυκλωμάτων με βάση το transistor και το τυπωμένο κύκλωμα. Εμφανίζεται η έννοια του χειριστή (που αργότερα θα εξελιχθεί στον υπερ-χρήστη super user ή administrator) και των προγραμματιστών (που αργότερα θα εξελιχθούν γενικά στους χρήστες users). Αυτοί είναι πλέον διαφορετικοί από τον κατασκευαστή και τον συντηρητή. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 22

Ιστορική Αναδρομή (3) 2 η γενιά Η/Υ (2): Οι υπολογιστές αυτοί ήταν μηχανές μεγάλων διαστάσεων. Τυπικές μονάδες εισόδου / εξόδου ήταν οι μονάδες ανάγνωσης / διάτρησης διάτρητων καρτών και οι μονάδες ανάγνωσης / εγγραφής μαγνητικών ταινιών. Το ποιες διάτρητες κάρτες και μαγνητικές ταινίες θα χρησιμοποιούνταν καθορίζονταν από τον χειριστή που είχε στη διάθεσή του κατάλληλη κονσόλα για το σκοπό αυτό. Τα τυχόν αποτελέσματα τυπώνονταν σε εκτυπωτές γραμμής (line printers) τεχνολογίας ακίδας (dot matrix). Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 23

Ιστορική Αναδρομή (4) 2 η γενιά Η/Υ (3): Ο προγραμματισμός γίνονταν με Γλώσσες και η ακολουθία των εντολών και τα δεδομένα τροφοδοτούνται στον Η/Υ με διάτρητες κάρτες. Ο προγραμματιστής προετοίμαζε το πρόγραμμά του, τα δεδομένα του προγράμματος και μία αλληλουχία εντολών ελέγχου (το λεγόμενο job), συνήθως στη μορφή ενός πακέτου διάτρητων καρτών (το ονομαζόμενο deck) και το παρέδιδε στον χειριστή, από τον οποίο αργότερα παρελάμβανε τα αποτελέσματα του προγράμματος (ή / και ενδείξεις σφάλματος) σε κάποια από τις μονάδες εξόδου (συνήθως τον εκτυπωτή). Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 24

Ιστορική Αναδρομή (4) 2 η γενιά Η/Υ (5): Σε έναν τέτοιο Η/Υ το Λ/Σ ήταν σχετικά απλό, αφού η κυριότερη εργασία του ήταν να κανονίζει την αλληλουχία των Διεργασιών. Σε περίπτωση που ένα πρόγραμμα ζητούσε να χρησιμοποιήσει ένα Πρόγραμμα Εφαρμογής ή Συστήματος που δεν ήταν μέρος του Λ/Σ που ήταν φορτωμένο και εκτελούνταν στη μνήμη, ο χειριστής αναλάμβανε να το προσθέσει ("φορτώσει", όπως λέγεται) "με το χέρι" με συνέπεια άσκοπη σπατάλη χρόνου. Πάντως τέτοιοι ήταν οι πρώτοι αξιόπιστοι και εμπορικοί Η/Υ. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 25

Ιστορική Αναδρομή (5) 2 η + γενιά Η/Υ (1): Άμεση εξέλιξη, σχετική με το παραπάνω πρόβλημα, ήταν τα Λ/Σ Μαζικής Επεξεργασίας (Batch Operating Systems). Σε αυτά μπορούσε να προγραμματισθεί μία ομάδα Διεργασιών (Batch Job), να γραφθεί, συνήθως, σε μια μαγνητική ταινία ή διάτρητες κάρτες και να μεταφερθεί στην αντίστοιχη μονάδα εισόδου. Το κέρδος από τη μαζική επεξεργασία ήταν σημαντικό, αφού ο άσκοπα χαμένος χρόνος μειώθηκε σημαντικά. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 26

Ιστορική Αναδρομή (7) 2 η + γενιά Η/Υ (2): Οι μεγάλοι H/Y δεύτερης γενιάς χρησιμοποιήθηκαν κυρίως για επιστημονικούς και τεχνικούς υπολογισμούς, όπως για παράδειγμα η επίλυση μερικών διαφορικών εξισώσεων και τότε πρωτοεμφανίστηκε η FORTRAN ως Γλώσσα Προγραμματισμού. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 27

Το μόνιμο πρόβλημα - (1) όλων των Λειτουργικών Συστημάτων Κατά την εκτέλεση προγραμμάτων που απαιτούν είσοδο εντολών και δεδομένων και έξοδο αποτελεσμάτων, η CPU παραμένει συχνά ανενεργή, αφού η ταχύτητα των μονάδων Ι/Ο υπολείπεται πάντοτε αυτής των ηλεκτρονικών μερών. Το πρόβλημα, μάλιστα, έγινε εντονότερο με την εξέλιξη των Η/Υ αφού, ενώ αυξανόταν η ταχύτητα λειτουργίας των μονάδων Ι/Ο, συγχρόνως αυξάνονταν ακόμα περισσότερο η ταχύτητα της CPU! Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 28

Ιστορική Αναδρομή (8) 3 η γενιά Η/Υ: Αναπτύχθηκαν από το 1970 και μετά. Επρόκειτο για σύνολο σημαντικά πολύπλοκων ηλεκτρονικών κυκλωμάτων με βάση το ολοκληρωμένο κύκλωμα και το τυπωμένο κύκλωμα. Οι σημερινοί υπολογιστές είναι ουσιαστικά Η/Υ 3 ης γενιάς. Σε αυτούς τους Η/Υ ορίζονται πλέον σαφώς ο χειριστής υπερχρήστης, οι προγραμματιστές χρήστες, το Λ/Σ, τα Προγράμματα Συστήματος και Εφαρμογών όπως εννοούνται και σήμερα. Τα Λ/Σ που αναπτύσσονται για αυτούς τους Η/Υ προσπαθούν να αντιμετωπίσουν το "μόνιμο πρόβλημα". Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 29

Το μόνιμο πρόβλημα (2) Λύσεις από την 3 η γενιά Η/Υ: 1. Ετεροχρονισμός (Spooling) 2. Πολυπρογραμματισμός (Multiprogramming) 3. Καταμερισμός χρόνου (Time Sharing) Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 30

Παράδειγμα Ετεροχρονισμού (1) Spooling από τα αρχικά SPOOL = Simultaneous Peripheral Operation On-Line Αντί λ.χ. οι διάτρητες κάρτες να διαβάζονται και το περιεχόμενο τους να φορτώνεται απευθείας στη μνήμη, αυτό αποθηκεύεται σε σκληρό δίσκο. Κατά την εκτέλεση της εργασίας, το Λ/Σ αναζητά δεδομένα στο δίσκο και όχι στην πολύ αργότερη μονάδα ανάγνωσης διάτρητων καρτών. Όμοια, τα αποτελέσματα μιας Διεργασίας αποθηκεύονται αρχικά σε σκληρό δίσκο και από εκεί στέλνονται στον (αργότερο) εκτυπωτή. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 31

Παράδειγμα Ετεροχρονισμού (2) Αυτός ο τρόπος επεξεργασίας ονομάστηκε Ετεροχρονισμός και ουσιαστικά βασίζεται στη χρήση του σκληρού δίσκου ως τεράστιου ενδιάμεσου (δευτερεύοντος) αποθηκευτικού χώρου. Με τη δαπάνη χώρου αποθήκευσης στο δίσκο, η CPU μπορεί να παραμένει ανενεργή για πολύ λιγότερο χρονικό διάστημα από ότι πριν. Με τον ετεροχρονισμό λ.χ., η χρήση της CPU για την εκτέλεση των υπολογισμών που απαιτεί μια Διεργασία μπορεί να συμπίπτει χρονικά με την είσοδο και την έξοδο δεδομένων στον δίσκο στα πλαίσια άλλης ή άλλων Διεργασιών. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 32

Παράδειγμα Ετεροχρονισμού (3) Με ένα εποπτικό Σχήμα, δηλαδή: Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 33

Παράδειγμα Πολυπρογραμματισμού (1) Αποτελεί μια από τις σημαντικότερες εξελίξεις που χαρακτηρίζουν τη λεγόμενη 3 η γενιά Η/Υ. Βασίζεται στο διαμερισμό της μνήμης σε τμήματα ώστε διαφορετικές Διεργασίες να καταλαμβάνουν συγχρόνως διαφορετικά διαμερίσματα (προφανώς, ένα από αυτά καταλαμβάνεται από το ίδιο το Λ/Σ). Οι διαφορετικές αυτές Διεργασίες είναι ενδεχόμενα υποσύνολο αυτών που "περιμένουν" στο σκληρό δίσκο στα πλαίσια Ετεροχρονισμού. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 34

Παράδειγμα Πολυπρογραμματισμού (2) Έχοντας ταυτόχρονα στη μνήμη πολλαπλές Διεργασίες, απαιτείται ειδικό Υλικό ώστε κάθε Διεργασία να προστατεύεται από επικαλύψεις και καταστροφές που μπορεί να δημιουργήσουν οι υπόλοιπες. Έτσι, η εξέλιξη των Η/Υ 3 ης γενιάς συνοδεύτηκε με την ανάπτυξη τέτοιου Υλικού. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 35

Παράδειγμα Πολυπρογραμματισμού (3) Με ένα εποπτικό Σχήμα, δηλαδή: Εικόνα της κεντρικής μνήμης σε ένα σύστημα που υποστηρίζει πολυπρογραμματισμό. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 36

Παράδειγμα Timesharing (1) Ο καταμερισμός του χρόνου (timesharing), αποτελεί μια παραλλαγή του πολυπρογραμματισμού, και επιτρέπει π.χ. σε πολλούς χρήστες να είναι συνδεδεμένοι σε έναν Η/Υ μέσω μιας δικής τους μονάδας Ι/Ο. Σε έναν Η/Υ που υποστηρίζει timesharing, ανάλογα με το τι κάνουν κάθε στιγμή, άλλοι από τους χρήστες που είναι συνδεδεμένοι χρησιμοποιούν τη CPU, ενώ άλλοι μπορούν στιγμιαία να ασχολούνται με άλλες άσχετες Διεργασίες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 37

Παράδειγμα Timesharing (2) Ο καταμερισμός χρόνου σηματοδοτεί την εποχή της ταυτόχρονης διαλογικής εξυπηρέτησης μεγάλου αριθμού χρηστών, την ίδια ώρα που μπορεί να εκτελούνται μεγάλες μαζικές Διεργασίες, σε τρόπο ώστε να μένει η CPU ανενεργή το λιγότερο δυνατό χρονικό διάστημα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 38

Ιστορική Αναδρομή (9) 4 η γενιά Η/Υ (1): Αναπτύχθηκαν από το 1980 και μετά. Επρόκειτο για σύνολο σημαντικά πολύπλοκων ηλεκτρονικών κυκλωμάτων με βάση το ολοκληρωμένο κύκλωμα και το τυπωμένο κύκλωμα. Οι υπολογιστές 4 ης γενιάς έχουν πολύ μεγάλη τάξη ηλεκτρονικής ολοκλήρωσης (αριθμός transistor ανά ολοκληρωμένο κύκλωμα), πράγμα που επέτρεψε να παράγονται σε μικρό μέγεθος. Άμεση συνέπεια ήταν η παραγωγή του Προσωπικού Υπολογιστή (Personal Computer ή PC) για έναν κατ' αρχήν χρήστη. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 39

Ιστορική Αναδρομή (10) 4 η γενιά Η/Υ (2): Οι ισχυροί H/Y ενός χρήστη που χρησιμοποιούνται κυρίως στις επιχειρήσεις και τα πανεπιστήμια καλούνται σταθμοί εργασίας (workstations), αλλά στην πραγματικότητα είναι ισχυροί Προσωπικοί Υπολογιστές. Όλοι οι Προσωπικοί Υπολογιστές συνοδεύτηκαν από κατάλληλες μονάδες Ι/Ο, δηλ. με πληκτρολόγια τύπου γραφομηχανής, οθόνες, ποντίκια και γρήγορους μικρούς εκτυπωτές. Πριν την εξάπλωση των Windows, δύο Λ/Σ κυριάρχησαν στο χώρο των Προσωπικών Υπολογιστών και των σταθμών εργασίας. Αυτά είναι το MS-DOS και το UNIX. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 40

Ιστορική Αναδρομή (11) 4 η γενιά Η/Υ (3): Στην αρχή, οι CPUs των PC στερούνταν δυνατοτήτων προστασίας του Λ/Σ από τα Προγράμματα Εφαρμογών που έτρεχαν οι χρήστες. Για το λόγο αυτό δεν επιτρεπόταν η ταυτόχρονη υποστήριξη πολλών Προγραμμάτων Εφαρμογών. Το αρχικό Λ/Σ των PC, το MS-DOS, σύντομα παραχώρησε τη θέση του στα Λ/Σ τύπου MS Windows, αφού ο κύριος στόχος κατά την εξέλιξη των Λ/Σ ήταν η ευκολία και η φιλικότητα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 41

Λ/Σ Παράλληλων Η/Υ (1) Κατανεμημένοι Η/Υ (distributed computer systems): Ένα κατανεμημένο υπολογιστικό σύστημα (distributed computer system) αποτελείται από μία σύνθεση αριθμού αυτόνομων Η/Υ με δυνατότητες επικοινωνίας και συνεργασίας που εξασφαλίζεται είτε σε επίπεδο Λογισμικού ή/και σε επίπεδο Υλικού. Τα κατανεμημένα υπολογιστικά συστήματα στερούνται κοινής μνήμης και υπόκεινται πιθανά σε απρόβλεπτες καθυστερήσεις στην επικοινωνία των συστημάτων επεξεργαστών που τα συνθέτουν. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 42

Λ/Σ Παράλληλων Η/Υ (2) Κατανεμημένα Λ/Σ (distributed operating systems): Τα κατανεμημένα Λ/Σ (distributed operating systems) εξυπηρετούν τη λειτουργία των κατανεμημένων υπολογιστικών συστημάτων, επιτυγχάνοντας να δώσουν στο χρήστη την εντύπωση μιας ενιαίας μηχανής. Βασικό χαρακτηριστικό των κατανεμημένων Λ/Σ είναι η διαφάνεια (transparency), το να κρύβουν δηλαδή από το χρήστη την ύπαρξη πολλών διακριτών συστημάτων που συνεργάζονται, εκτός αν ο ίδιος ο χρήστης ορίσει διαφορετικά. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 43

Λ/Σ Παράλληλων Η/Υ (3) Δικτυακά Λ/Σ (network operating systems): Ένα δικτυακό Λ/Σ δίνει τη δυνατότητα στο χρήστη να προβαίνει σε εργασίες εκ του μακρόθεν (remote operations) ή στο να διαχειρίζεται αρχεία που γνωρίζει ότι βρίσκονται σε ένα απομακρυσμένο σύστημα (remote file access). Αυτό όμως γίνεται με πλήρη επίγνωση του ότι το μηχάνημα που προσεγγίζει είναι μακριά και για αυτό δίνει κατάλληλες εντολές. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 44

Λ/Σ Πραγματικού Χρόνου (1) Τα Λ/Σ πραγματικού χρόνου (Real Time Systems) αποτελούν ειδικά Λ/Σ που σχετίζονται με εφαρμογές στις οποίες υπάρχουν αυστηρές και συγκεκριμένες απαιτήσεις ως προς τη χρονική στιγμή στην οποία ολοκληρώνεται ένας υπολογισμός ή πραγματοποιείται η είσοδος ή η έξοδος (Ι/Ο) δεδομένων. Οι Η/Υ που υποστηρίζουν συλλογή μετρήσεων από πειράματα ή που πραγματοποιούν τον αυτόματο έλεγχο συσκευών ή ακόμα που αναλαμβάνουν συγκεκριμένες γραφικές απεικονίσεις τη χρονική στιγμή ακριβώς που ζητάει ο χρήστης (πραγματικός χρόνος) είναι Η/Υ πραγματικού χρόνου και φέρουν Λ/Σ αντίστοιχου τύπου. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 45

Εισαγωγή στις Διεργασίες (1) Διεργασία (process) ονομάζεται κάθε πρόγραμμα που εκτελείται (ή πιο πρόχειρα "τρέχει") μαζί με κάθε πληροφορία που απαιτείται για να εκτελεσθεί. Έτσι, ένα πρόγραμμα που "τρέχει" μαζί με τα δεδομένα του και κάθε οργανωτικού τύπου πληροφορία για την εκτέλεση του είναι μία Διεργασία. Μια Διεργασία απαιτεί κάποιους από τους Πόρους του Η/Υ, όπως είναι για παράδειγμα χρόνο εκτέλεσης στη CPU, μνήμη, ένα ή περισσότερα αρχεία και συνήθως συσκευές Ι/Ο. Οι Πόροι αυτοί άλλοτε δίνονται σε μια Διεργασία κατά τη φάση δημιουργίας της και άλλοτε κατά τη διάρκεια που αυτή εκτελείται. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 46

Εισαγωγή στις Διεργασίες (2) Η Διεργασία διαφέρει από το Πρόγραμμα, είναι πολύ ευρύτερη έννοια. Ένα Πρόγραμμα είναι μια παθητική οντότητα ενώ μία Διεργασία είναι πάντοτε ενεργητική, αφού με τη βοήθεια κατάλληλου δείκτη καθορίζεται πάντοτε η εντολή που εκτελείται αλλά και αυτή την οποία θα εκτελεσθεί μετά. Η εκτέλεση μιας Διεργασίας γίνεται με σειριακό τρόπο, όπου η μια εντολή της εκτελείται στη συνέχεια της προηγούμενης μέχρι να εκτελεσθούν όλες. Συμβαίνει να έχουμε πολλές Διεργασίες που ξεκινούν δημιουργούνται από το ίδιο Πρόγραμμα, αλλά πάντα αυτές πρέπει να θεωρούνται ως ξεχωριστές σειριακές αλληλουχίες. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 47

Εισαγωγή στις Διεργασίες (3) Η Διεργασία είναι η "μονάδα εργασίας" που χαρακτηρίζει ένα Λ/Σ. Ένα Λ/Σ που εκτελείται αποτελείται κάθε στιγμή από μια συλλογή Διεργασιών, κάποιες από τις οποίες είναι Διεργασίες του συστήματος (system processes, δηλ. Διεργασίες που προκαλούνται από Προγράμματα Συστήματος) και κάποιες άλλες είναι Διεργασίες των χρηστών (user processes, δηλ. αυτές που προκαλούνται από Προγράμματα Εφαρμογών που εκτελούν οι χρήστες). Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 48

Εισαγωγή στις Διεργασίες (4) Το Λ/Σ είναι υπεύθυνο για τη διαχείριση των διεργασιών, ως εξής: 1. Τη δημιουργία και την καταστροφή των Διεργασιών του συστήματος ή των χρηστών 2. Την αναστολή και την επανεκκίνηση των Διεργασιών 3. Την δημιουργία μηχανισμών για το συγχρονισμό των Διεργασιών, και 4. Τη δημιουργία μηχανισμών για την επικοινωνία των Διεργασιών. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 49

Λ/Σ και Κεντρική Μνήμη (1) Η Κεντρική Μνήμη είναι ο βασικός πρωτεύον αποθηκευτικός χώρος του Η/Υ, στον οποίο φυλάσσονται δεδομένα για γρήγορη πρόσβαση από τη CPU και τις συσκευές Ι/Ο. Η Κεντρική Μνήμη είναι γενικά η μοναδική συσκευή αποθήκευσης δεδομένων στην οποία η CPU έχει απευθείας πρόσβαση. Για παράδειγμα, για να επεξεργαστεί η CPU δεδομένα που βρίσκονται στο σκληρό δίσκο, αυτά τα δεδομένα πρέπει πρώτα να μεταφερθούν στην Κεντρική Μνήμη με τη βοήθεια Κλήσεων Συστήματος που γεννά η CPU. Επίσης, για να εκτελεστεί ένα πρόγραμμα πρέπει πρώτα να "φορτωθεί" στην Κεντρική Μνήμη. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 50

Λ/Σ και Κεντρική Μνήμη (2) Με την ολοκλήρωση της εκτέλεσης ενός Προγράμματος, ο χώρος που απασχολούσε στην Κεντρική Μνήμη γίνεται ξανά διαθέσιμος και επιτρέπεται να χρησιμοποιηθεί από το επόμενο Πρόγραμμα που "φορτώνεται" και εκτελείται. Για να εκμεταλλευτούμε στο μέγιστο βαθμό τη χρήση της CPU και να μεγιστοποιήσουμε την ταχύτητα απόκρισης του Η/Υ στους χρήστες αρκετά Προγράμματα Συστήματος πρέπει να διατηρούνται "φορτωμένα" στην Κεντρική Μνήμη, ακόμα και αν δεν πρόκειται να χρησιμοποιηθούν άμεσα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 51

Λ/Σ και Κεντρική Μνήμη (3) Το Λ/Σ είναι υπεύθυνο για τη διαχείριση της Κεντρικής Μνήμης, ως εξής: 1. Για την παρακολούθηση και συνεχή ενημέρωση ως προς τα τμήματα της Κεντρικής Μνήμης που χρησιμοποιούνται αλλά και το από ποιους χρησιμοποιούνται, 2. Για τη λήψη αποφάσεων ως προς το ποια Διεργασία θα φορτωθεί στη μνήμη στην επόμενη διαθεσιμότητα χώρου της, και 3. Για την ανάθεση και ακύρωση ανάθεσης χώρου μνήμης στις Διεργασίες, σύμφωνα με τις ανάγκες τους Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 52

Λ/Σ και Κεντρική Μνήμη (4) Σύντομα οι τεχνολογικές εξελίξεις θα οδηγήσουν στην κατάργηση των αποθηκευτικών χώρων όπως οι σκληροί δίσκοι και η Κεντρική Μνήμη θα επεκταθεί τόσο πολύ ώστε κα καλύψει και αυτές τις ανάγκες. Το πρακτικό αποτέλεσμα θα είναι ότι η CPU θα έχει άμεση και ταχύτατη πρόσβαση σε όλο το Λογισμικό και τα δεδομένα του Λ/Σ και των Προγραμμάτων, με αποτέλεσμα η διαδικασία φόρτωσης Προγραμμάτων στην Κεντρική Μνήμη να γίνει πολύ ταχύτερη και οι Η/Υ ακόμα πιο γρήγοροι. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 53

Λ/Σ και Κεντρική Μνήμη (5) Σήμερα (2015) η χωρητικότητα της Κεντρικής Μνήμης είναι ακόμα μικρή για να χωρέσει όλα τα δεδομένα και τα Προγράμματα. Επιπλέον (σήμερα), τα περιεχόμενα της γενικά χάνονται με τη διακοπή παροχής ηλεκτρικής ισχύος. Το πρόβλημα αυτό λύνεται με τη χρησιμοποίηση των σκληρών δίσκων ως δευτερεύον αποθηκευτικό σύστημα. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 54

Αρχεία και Αρχειοθέτηση (1) Ως αρχείο (file) ορίζεται μια λογική αποθηκευτική μονάδα την οποία το Λ/Σ αντιστοιχεί σε φυσικά αποθηκευτικά μέσα. Ένας Η/Υ αποθηκεύει πληροφορίες και δεδομένα σε πολλά διαφορετικά φυσικά μέσα, μαγνητικές ταινίες, σκληρούς δίσκους κλπ. Καθένα από αυτά έχει τα δικά του φυσικά χαρακτηριστικά και τις δικές του ιδιαιτερότητες και πολυπλοκότητες. Το Λ/Σ όμως αναλαμβάνει να κρύψει από το χρήστη αυτές τις ιδιότητες των μέσων αποθήκευσης και αυτό το επιτυγχάνει με ένα Πρόγραμμα Συστήματος που ονομάζεται Σύστημα Αρχείων (file system). Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 55

Αρχεία και Αρχειοθέτηση (2) Το Λ/Σ αναλαμβάνει κυρίως: 1. Τη δημιουργία και το σβήσιμο αρχείων, 2. Τη δημιουργία και το σβήσιμο καταλόγων αρχείων, 3. Την υποστήριξη κατάλληλων εντολών για τη διαχείριση αρχείων και καταλόγων, 4. Τη διαχείριση του ελεύθερου χώρου του σκληρού δίσκου, 5. Τη διαχείριση και οργάνωση της αποθήκευσης δεδομένων στο σκληρό δίσκο, και 6. Το χρονοπρογραμματισμό της πρόσβασης στο σκληρό δίσκο. Λειτουργικά Συστήματα και Γλώσσες Προγραμματισμού 56