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

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

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

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

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

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

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

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

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

Οργάνωση επεξεργαστή (1 ο μέρος) ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

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

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

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

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

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

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

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

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

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

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

Κεφάλαιο 1 Αφαιρετικότητα και Τεχνολογία Υπολογιστών (Computer Abstractions and Technology)

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

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

Μετάφραση ενός Προγράμματος Εξαιρέσεις

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual

Μικροεπεξεργαστές - Μικροελεγκτές Ψηφιακά Συστήματα

Αρχιτεκτονικη υπολογιστων

Εικονικοποίηση. Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο,

Είναι το «μυαλό» του υπολογιστή μας. Αυτός κάνει όλους τους υπολογισμούς και τις πράξεις. Έχει δική του ενσωματωμένη μνήμη, τη λεγόμενη κρυφή

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

ΠΛΗΡΟΦΟΡΙΚΗ Ι JAVA Τμήμα θεωρίας με Α.Μ. σε 8 & 9 18/10/07

Είναι μια αλληλουχία κατάλληλων οδηγιών(εντολών) που εκτελεί ο υπολογιστής για την επίλυση ενός προβλήματος.

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

Αρχιτεκτονική Υπολογιστών Ι (ένα)

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

2.1 Αντικειµενοστρεφής προγραµµατισµός

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

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

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

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

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

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

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

Ενσωµατωµένα Υπολογιστικά Συστήµατα (Embedded Computer Systems)

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

Κεντρική Μονάδα Επεξεργασίας

Το mic1 διανέμεται με τους όρους της GNU General Public License. Ο πηγαίος κώδικας περιέχεται στην έκδοση.

Εισαγωγή στη γλώσσα προγραμματισμού JAVA. Δομές Δεδομένων Διδάσκων: Π.Α. Μήτκας Τομέας Ηλεκτρονικής και Υπολογιστών

Αντικειμενοστρεφής Προγραμματισμός

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

Αντικειμενοστρεφής Προγραμματισμός

Κεφάλαιο 3 Αρχιτεκτονική Ηλεκτρονικού Τμήματος (hardware) των Υπολογιστικών Συστημάτων ΕΡΩΤΗΣΕΙΣ ΑΣΚΗΣΕΙΣ

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

Μηχανοτρονική. Τμήμα Μηχανικών Παραγωγής και Διοίκησης 7 ο Εξάμηνο,

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

Εργαστήριο Java. Διδάσκουσα: Εργαστηριακοί Συνεργάτες:

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

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

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

Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) Τμήματα ΚΜΕ (CPU) Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (Ι)

SIMATIC MANAGER SIMATIC MANAGER

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

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

ΑρχιτεκτονικήΥπολογιστών. Ι (ένα) Δημήτρης Γκιζόπουλος. Καθηγητής

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

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

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

Προηγμένοι Μικροεπεξεργαστές. Paging & Segmentation

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

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

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

ΤΕΧΝΙΚΕΣ ΑΥΞΗΣΗΣ ΤΗΣ ΑΠΟΔΟΣΗΣ ΤΩΝ ΥΠΟΛΟΓΙΣΤΩΝ I

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

Αρχιτεκτονική Eckert-von Neumann. Πως λειτουργεί η ΚΜΕ; Κεντρική μονάδα επεξεργασίας [3] ΕΠΛ 031: ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

ΤΕΧΝΙΚΕΣ ΑΝΤΙΚΕΙΜΕΝΟΣΤΡΑΦΟΥΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ. Εισαγωγή στη Java

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

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

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

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

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

Μικροαρχιτεκτονική του LC3

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

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

Αρχιτεκτονικές Συνόλου Εντολών

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

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

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

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

Εργαστήριο Αρ. 1. Εισαγωγή στην Αρχιτεκτονική MIPS. Πέτρος Παναγή Σελ. 1

Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

Αρχιτεκτονική x86(-64) 32-bit και 64-bit λειτουργία. Αρχιτεκτονική x86(-64) Αρχιτεκτονική επεξεργαστών x86(-64) Αρχιτεκτονικές Συνόλου Εντολών (ΙΙ)

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

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

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

Οντοκεντρικός Προγραμματισμός

Βασικές συσκευές Ε/Ε. Είσοδος Έξοδος στον υπολογιστή. Ένα τυπικό υπολογιστικό σύστημα σήμερα. Οργάνωση Υπολογιστών (IΙI) Μ.

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

Σχεδίαση Εφαρμογών και Υπηρεσιών Διαδικτύου 7 η Διάλεξη: Σύντομη εισαγωγή στην Java

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

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

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

Transcript:

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

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

Languages, Levels and Virtual Machines

Language translation Τι συμβαίνει όταν τρέχεις αυτό; javac Foo.java Το πρόγραμμα Foo.java (γραμμένο σε Java) μεταγλωττίζεται (translated ή compiled) στο πρόγραμμα Foo.class (που είναι πρόγραμμα σε Java Bytecode) Πρόκειται για δύο διαφορετικές γλώσσες Java: υψηλότερου επιπέδου (L1) καλή για να λύνεις προβλήματα Java Bytecode χαμηλότερου επιπέδου (L0) πιο λιτή, απλή, με λιγότερα abstractions, πιο κοντά στην λογική των transistors. Κάθε εντολή L1 αντικαθίσταται από μία ή περισσότερες εντολές L0 Το πρόγραμμα τελικά εκτελείται στη γλώσσα L0 Μια γλώσσα μπορεί επίσης να διερμηνευτεί (interpreted) Διαβάζεις μία-μία τις εντολές της L1 Εκτελείς τις αντίστοιχες εντολές της L0 Αυτό κάνει άλλωστε και το JVM (Java Virtual Machine) 4

Translating & Interpreting L2 Java Translated (compiled) by javac L1 Java bytecode Interpreted by java L0 machine code 5

Virtual Machines Σκεφτείτε έναν υπολογιστή που εκτελεί προγράμματα σε γλώσσα L1 Μπορεί να είναι κατασκευασμένος σε hardware Αν η L1 είναι υψηλού επιπέδου πολύ περίπλοκος ο σχεδιασμός του Όταν η L1 αλλάζει Πρέπει να ξανασχεδιάσουμε το μηχάνημα από την αρχή Όλα τα προγράμματα πρέπει να γράφονται σε L1 Εναλλακτικά, θα μπορούσαμε να υλοποιήσουμε σε software ένα virtual machine που εκτελεί προγράμματα σε L1 Το L1 virtual machine τρέχει στο μηχάνημα L0 και το L0 μπορεί επίσης να είναι virtual! Όταν αλλάζει η L1 αλλάζουμε μόνο το virtual machine software Για να υποστηρίξουμε τη γλώσσα L2, φτιάχνουμε απλά ένα νέο VM Σε L0 ή ακόμα και σε L1 Οι σημερινοί υπολογιστές έχουν πολλά επίπεδα virtual machines Συνήθως περίπου 6 6

Layered view of computer organization 7

Layered view of computer organization 8

Από τη Java στα Transistors

Running a Java program public class Foo { public static void main(string[] args) { int i = 18; int j = 21; int k = i + j; System.out.println( 18+21= + k); } } $ javac Foo $ $ java Foo 18+21=39 $ Magic!!! 10

L6: Problem-oriented language L6 L5 L4 L3 L2 L1 L0 Java public class Foo { public static void main(string[] args) { int i = 18; int j = 21; int k = i + j; System.out.println( 18+21= + k); } } 11

L5: Java Bytecode L6 L5 L4 L3 L2 L1 L0 Open the Java Bytecode (class file) in a text editor: 12

L5: Java Bytecode L6 L5 L4 L3 L2 L1 L0 Open it in binary mode: 13

L5: Java Bytecode L6 L5 L4 L3 L2 L1 L0 Use a Java Bytecode editor: http://www.ej-technologies.com/products/jclasslib/overview.html 14

L4: Assembly Language L6 L5 L4 L3 L2 L1 L0 Ποια η σχέση machine code και assembly;;; Αν και είναι πολύ κοντά σε machine code, η assembly εξακολουθεί να είναι μια γλώσσα κατανοητή σε ανθρώπους (σχετικά ) Ένα πρόγραμμα assembly πρέπει να γίνει compiled σε machine code από έναν assembler για να τρέξει Το JVM κάνει interpretation του προγράμματος Foo.class από Java Bytecode σε machine code Το JVM είναι γραμμένο σε machine code (εκτελέσιμο) Χαμηλότερου επιπέδου από το Java Bytecode Πολύ χαμηλότερου επιπέδου απο την ίδια τη Java! 15

L4: Assembly Language L6 L5 L4 L3 L2 L1 L0 Note -- You can get the Assembly language of a C program by: $ gcc S foo.c $ 16

L3: Operating System L6 L5 L4 L3 L2 L1 L0 user and system both take large percentages of CPU time 17

L3: Operating System L6 L5 L4 L3 L2 L1 L0 Τα εκτελέσιμα προγράμματα «πατάνε» σε δύο χαμηλότερα επίπεδα: Στο Λειτουργικό Σύστημα Και στο επίπεδο ISA (Instruction Set Architecture) 18

L3: Operating System L6 L5 L4 L3 L2 L1 L0 Note You can see which system calls a program makes by: $ strace <prog> 19

L2: Instruction Set Architecture L6 L5 L4 L3 L2 L1 L0 Ο κάθε επεξεργαστής έχει ένα σετ εντολών μηχανής (machine code), που λέγεται Instruction Set Architecture. Π.χ., x86, SPARC, ARM,... Οι compilers μεταγλωτίζουν ένα πρόγραμμα υψηλότερου επιπέδου σε machine code του εκάστοτε επεξεργαστή 20

L1: Microarchitecture L6 L5 L4 L3 L2 L1 L0 Πως «ξέρει» ένας επεξεργαστής να εκτελέσει μια εντολή; Οι εντολές μηχανής είναι υλοποιημένες σε ένα χαμηλότερο επίπεδο, αυτό του μικροπρογράμματος (micro-program) Το micro-program επίπεδο ουσιαστικά υλοποιεί ένα virtual machine που επιτρέπει την εκτέλεση machine code (ISA level) Γιατί να μην υλοποιήσουμε τις εντολές machine code απευθείας σε hardware; Γιατί είναι απλούστερο να έχουμε ένα ακόμα επίπεδο! Επίσης βοηθάει στην υλοποίηση CPU pipelinining Αλλά γι αυτά παρακολουθήστε ένα μάθημα αρχιτεκτονικής υπολογιστών 21

L0: Digital gates L6 L5 L4 L3 L2 L1 L0 Το hardware κάνει όλο το hard work! Store data in memory, read/write memory, copy data Arithmetic operations (add, subtract, multiply, ) Issue I/O operations Αυτά εκτελούνται με ψηφιακές πύλες (digital gates) Digital gates manipulate only boolean values (either 0 or 1) a AND b a OR b NOT a Οι ψηφιακές πύλες υλοποιούνται με transistors Transistors are magic! Ρωτήστε τον Ηλεκτρολόγο Μηχανικό της γειτονιάς σας για το πως δουλεύουν...! 22

Operating System 23

The Operating System Layer

Λειτουργικά Συστήματα Ι 4/10/2016 The Operating System Layer Ας δούμε λοιπόν ποια είναι η θέση του Λειτουργικού Συστήματος μέσα στην οργάνωση ενός ηλεκτρονικού υπολογιστή Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 25

Λειτουργικά Συστήματα Ι 4/10/2016 Τι είναι το Λειτουργικό Σύστημα; Το ΛΣ αποτελεί μια επέκταση του υπολογιστή Παρέχει λειτουργίες υψηλότερου επιπέδου από τον κώδικα μηχανής Οι λειτουργίες αυτές είναι στην ουσία functions Ονομάζονται system calls Το επίπεδο του ΛΣ είναι «υβριδικό» Τα εκτελέσιμα προγράμματα βασίζονται και σε αυτό, και στο από κάτω επίπεδο (ISA layer machine code) Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 26

Λειτουργικά Συστήματα Ι 4/10/2016 Τι είναι το Λειτουργικό Σύστημα; Δεν υπάρχει ένας καθολικός ορισμός του Λειτουργικού Συστήματος... Ερώτηση: Εσείς, όμως, πώς θα το ορίζατε;;; Το ΛΣ είναι ουσιαστικά ένας διαχειριστής πόρων του συστήματος! Ίσως ο πιο «ασφαλής» ορισμός Εξασφαλίζει ότι πολλά προγράμματα (διεργασίες) μπορούν να τρέχουν ταυτόχρονα χωρίς να παρεμβαίνει το ένα στο άλλο έχοντας το καθένα την «ψευδαίσθηση» πλήρους κυριότητας του μηχανήματος Διαχειρίζεται τις περιφερειακές συσκευές Επιτρέποντας τη χρήση τους στις διεργασίες που τις χρειάζονται Παρέχοντας ένα ομοιόμορφο interface για την προσπέλασή τους Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 27

Λειτουργικά Συστήματα Ι 4/10/2016 Processes (Διεργασίες) Ένα process είναι το πλαίσιο στο οποίο εκτελείται ένα πρόγραμμα Διαθέτει ιδιωτικό memory address space (ξεχωριστό από άλλες διεργασίες) Διαθέτει ιδιωτικό stack, PC & SP registers, κ.τ.λ. Το ΛΣ αναλαμβάνει το process scheduling (χρονοπρογραμματισμό διεργασιών) Ανά πάσα στιγμή μόνο ένα process μπορεί να τρέχει σε ένα CPU core Το ΛΣ φροντίζει να εναλλάσονται πολλά processes στα διεθέσιμα cores Δίνει την ψευδαίσθηση ότι όλα τρέχουν ταυτόχρονα, ακόμα κι όταν είναι περισσότερα από τον αριθμό των cores (το οποία πρακτικά συμβαίνει πάντα) Φροντίζει να κατανέμει τους πόρους και τον χρόνο εκτέλεσης δίκαια Οι διεργασίες είναι isolated Κάθε διεργασία τρέχει «μόνη της» Έχει την ψευδαίσθηση ότι έχει όλο το μηχάνημα στην αποκλειστική διάθεσή της Προαιρετικά, οι διεργασίες μπορούν να επικοινωνήσουν μεταξύ τους Αυτό γίνεται μέσω τεχνικών Inter-Process Communication (IPC) που προσφέρονται επίσης από το ΛΣ Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 28

Λειτουργικά Συστήματα Ι 4/10/2016 Input/Output Οι διεργασίες θέλουν να αλληλεπιδράσουν με διάφορες συσκευές Οθόνη, πληκτρολόγιο, δίσκο, εκτυπωτές, δίκτυο, κάρτα ήχου, USB, κ.τ.λ. Κάθε συσκευή είναι διαφορετική! Όχι μόνο οι διαφορετικού τύπου (π.χ., εκτυπωτής και δίσκος) Αλλά και οι συσκευές ίδιου τύπου Π.χ., εκατοντάδες μοντέλα εκτυπωτών Π.χ., εκατοντάδες μοντέλα δίσκων κ.τ.λ. Διαφορετικοί κατασκευαστές Διαφορετικές ταχύτητες Το ΛΣ προσφέρει Ομοιογενές interface σε όλα τα είδη διαφορετικών συσκευών Διαιτησία (arbitration) ανάμεσα στις διεργασίες που θέλουν να χρησιμοποιήσουν την ίδια συσκευή ταυτόχρονα Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 29

Λειτουργικά Συστήματα Ι 4/10/2016 Memory Management Οι διεργασίες χρειάζονται μνήμη Αλλά θέλουμε η κάθε διεργασία να είναι απομονωμένη από τις άλλες Καλύτερα: Δώσε σε κάθε διεργασία την ψευδαίσθηση ότι έχει όλη τη μνήμη του υπολογιστή στη διάθεσή της Ακόμα καλύτερα: Δώσε σε κάθε διεργασία την ψευδαίσθηση ότι έχει στη διάθεσή της όλον τον χώρο διευθύνσεων (address space), άσχετα με το πόσο λιγότερη μνήμη έχει ο υπολογιστής στην πραγματικότητα Για να πετύχει τα παραπάνω, το ΛΣ πρέπει να παρέχει: Memory isolation Paging (δηλ., να μεταφέρει κομμάτια της μνήμης στον δίσκο όταν δεν χωράνε όλα στη μνήμη) Virtual Memory (δηλ., να δίνει στην κάθε διεργασία την ψευδαίσθηση πλήρους κυριότητας σε όλο το address space) Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 30

Λειτουργικά Συστήματα Ι 4/10/2016 File Systems Η αποθήκευση δεδομένων σε πιο μόνιμη βάση απαιτεί τη χρήση file systems Το ΛΣ διαχειρίζεται: Την δημιουργία, προσπέλαση, και διαχείριση files, directories, permissions, κ.τ.λ. Κάποια αρχεία είναι ειδικής σημασίας Π.χ., κάποιες συσκευές, καθώς και μηχανισμοί επικοινωνίας (sockets, pipes) εμφανίζονται ως αρχεία Σπύρος Βούλγαρης Πανεπιστήμιο Πατρών 31