Εισαγωγή στον Προγραμματισμό Θεωρία 2 η Διάλεξη: Λογισμικό ΗΥ και Αποθήκευση Αρχείων

Σχετικά έγγραφα
ΛΟΓΙΣΜΙΚΟ (software)

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

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

Σύστηµα Αρχείων και Καταλόγων

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

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

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

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

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

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

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

12/5/18. συστημάτων. Το λογισµικό συστηµάτων. Κεφάλαιο 5

Σχολ.έτος Κεφάλαιο 5 ο Γνωριμία με το Λογισμικό του Υπολογιστή.

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

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

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

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

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

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

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

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

Μάθημα 2 ο ΟΡΓΑΝΩΣΗ ΣΥΣΤΗΜΑΤΟΣ ΑΡΧΕΙΩΝ

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

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

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

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

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

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

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

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

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

ΚΕΦΑΛΑΙΟ 1 Ψηφιακός Κόσμος

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Συστήματα αρχείων

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

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

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

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

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

[5] Στόχοι. Σύστημα αρχείων. Υπολογιστικά συστήματα: Στρώματα

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

ΕΙΣΑΓΩΓΗ ΣΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ Microsoft WINDOWS (95-98-NT-2000-XP)

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

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

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

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

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

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

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

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

Το Λειτουργικό Σύστημα MS-DOS

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

Γενική οργάνωση υπολογιστή «ΑΒΑΚΑ»

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

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

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

Βασική δοµή και Λειτουργία Υπολογιστή

Εφαρμογές Υπολογιστών. Κεφάλαιο 4 Λογισμικό Συστήματος

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

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

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

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

Σχεδίαση με Ηλεκτρονικούς Υπολογιστές (ΗΥ)

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

Λογισμικό - Προγράμματα

Το εσωτερικό του Υπολογιστή. Χρήστος Ρέτσας 1

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

Μεθόδων Επίλυσης Προβλημάτων

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

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


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

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

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

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

Τεχνολογία Υπολογιστικών Συστηµάτων & Λειτουργικά Συστήµατα Κεφάλαιο 10

Αναπαράσταση Μη Αριθμητικών Δεδομένων

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1

Γενικά Στοιχεία Ηλεκτρονικού Υπολογιστή

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

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

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

ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ B.2.M3 Κύρια και Βοηθητική Μνήμη

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

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

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

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

ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΠΛΗΡΟΦΟΡΙΚΗ (TP-105)

Μικροεπεξεργαστές. Σημειώσεις Μαθήματος Υπεύθυνος: Δρ Άρης Παπακώστας,

Transcript:

Θεωρία 2 η Διάλεξη: Λογισμικό ΗΥ και Αποθήκευση Αρχείων Χ. Αλεξανδράκη Τμήμα Μηχανικών Μουσικής Τεχνολογίας και Ακουστικής

Περίληψη Προηγούμενου Μαθήματος Η αρχιτεκτονική von Neumann: O διαχωρισμός ανάμεσα σε επεξεργασία και αποθήκευση Δομικά Στοιχεία ΗΥ: Περιφερειακές συσκευές (εισόδου εξόδου πληροφορίας) Κεντρική Μονάδα ΗΥ Motherboard CPU Control Unit Arithmetic and Logical Unit Registers Memory Main Memory RAM, ROM Secondary Memory (Storage Memory) 2

Δομικά Στοιχεία ΗΥ ΗΥ Κεντρική Μονάδα Περιφερειακές Συσκευές Motherboard CPU Memory Εισόδου Εξόδου Υβριδικές Ports Control Unit Main Memory Secondary Memory (Storage) Keyboard Ηχεία Οθόνη Αφής Buses Arithmetic Logical Unit ROM Mouse Οθόνη Headset Registers RAM Joystick Εκτυπωτής Force-Feedback Devices Microphone κλπ κλπ κλπ 3

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

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

Λογισμικό Συστήματος (2/3) Όλα τα τμήματα του λογισμικού συστήματος παραδίδονται προεγκατεστημένα σε ένα νέο υπολογιστή, και περιλαμβάνουν: Το λειτουργικό σύστημα (operating system) Π.χ. Windows, Unix, Linux, MacOS, DOS Τους οδηγούς υλικού (device drivers) Καθώς κάθε συσκευή υλικού προέρχεται από διαφορετικό κατασκευαστή, ο κατασκευαστής αυτός παρέχει και ένα πρόγραμμα-οδηγό που επιτρέπει στο λειτουργικό σύστημα να επικοινωνεί με τη συσκευή αυτή πρόκειται για μικρά προγράμματα που περιέχουν τις οδηγίες για το πώς μία συγκεκριμένη συσκευή αποστέλλει και παραλαμβάνει δεδομένα Π.χ. σε windows 7 μπορείς να δεις τους drivers με: Control Panel -> System -> Device Manager Τους μεταγλωττιστές (compilers) και μεταφραστές (interpreters) μαζί με κάποια ακόμα προγράμματα, που όλα μαζί αναφέρονται συνήθως ως λογισμικό μετάφρασης γλωσσών προγραμματισμού Αυτά τα προγράμματα παρέχουν στους προγραμματιστές τα απαραίτητα «εργαλεία» για την ανάπτυξη και δημιουργία νέων προγραμμάτων Τα προγράμματα υπηρεσιών ή βοηθητικά προγράμματα (utilities) τα οποία είναι υπεύθυνα για την εκτέλεση συνηθισμένων και επαναλαμβανόμενων εργασιών (όπως είναι η δημιουργία ενός φακέλου) 6

Λογισμικό Συστήματος (2/3) Application Software Operating System Device Drivers Compilers & Interpreters Utility Programs System Software 7

Λογισμικό Εφαρμογών (1/2) Το λογισμικό εφαρμογών περιλαμβάνει ολοκληρωμένα προγράμματα που επιτελούν μία συγκεκριμένη εργασία Τα προγράμματα αυτά έχουν κατασκευαστεί από εξειδικευμένους προγραμματιστές, προκειμένου να καλύψουν και να επιλύσουν συγκεκριμένες ανάγκες και απαιτήσεις των χρηστών Κάποια χαρακτηριστικά παραδείγματα λογισμικού εφαρμογών είναι τα εξής: προγράμματα επεξεργασίας κειμένου επεξεργασίας εικόνων σχεδίασης γραφικών διαχείρισης βάσεων δεδομένων παιχνίδια λογιστικά φύλλα εφαρμογές αναπαραγωγής πολυμέσων (audio, video, κλπ) 8

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

Λειτουργικό Σύστημα Το λειτουργικό σύστημα (Operating System OS) είναι ένα πρόγραμμα λογισμικού το οποίο είναι υπεύθυνο για τη διαχείριση του υλικού και του λογισμικού ενός ΗΥ. Κατά κανόνα, όλες οι ηλεκτρονικές συσκευές απαιτείται να εκτελούν κάποιου είδους λειτουργικό σύστημα για να μπορέσουν να διαχειριστούν εφαρμογές/προγράμματα λογισμικού Λειτουργικά συστήματα υπάρχουν για κάθε σχεδόν συσκευή που περιλαμβάνει ένα ΗΥ (δηλ. μονάδες επεξεργασίας και αποθήκευσης) Π.χ. κινητά τηλέφωνα, tablets, παιχνιδομηχανές, υπερ-υπολογιστές και εξυπηρετητές Διαδικτύου Σήμερα, παραδείγματα δημοφιλών OS είναι: Android, ios, Linux, Mac OS, Microsoft Windows, Windows Phone, Unix 10

Λειτουργικό Σύστημα Εκτός από το υλικό, αλληλεπιδρά και με τις εφαρμογές, στις οποίες επιτρέπει να έχουν πρόσβαση στους πόρους του συστήματος, είτε άμεσα είτε μέσω άλλων προγραμμάτων του λογισμικού συστήματος Αυτά τα «άλλα προγράμματα» του λογισμικού συστήματος είναι συνήθως υπεύθυνα για μια συγκεκριμένη εργασία όπως είναι η βιβλιοθήκη γραφικών που δίνει εικόνα στην οθόνη ή οι οδηγοί συσκευών Το λειτουργικό σύστημα μεσολαβεί μεταξύ αυτών των προγραμμάτων και των εφαρμογών, όταν απαιτείται επικοινωνία μεταξύ τους, για την επίτευξη αυτής Χρήστες Εφαρμογές Λειτουργικό Σύστημα Άλλα Προγράμματα Λογισμικού Συστήματος Υλικό 11

Κατηγορίες Λειτουργικών Συστημάτων Υπάρχουν διάφοροι τρόποι κατηγοριοποίησης των λειτουργικών συστημάτων, π.χ. Single User vs. Multi-User Single Application vs. Multi-tasking Microsoft OS vs. Unix 12

Single User vs. Multi-User Όσον αφορά τον αριθμό των χρηστών τα λειτουργικά συστήματα διακρίνονται Ενός χρήστη σύστημα (single user) είναι αυτό όπου μόνο ένας χρήστης μπορεί να χρησιμοποιεί τον υπολογιστή σε μια δεδομένη χρονική στιγμή χρησιμοποιείται ευρέως σε φορητές συσκευές Χαρακτηριστικά παράδειγμα είναι τα λειτουργικά που απαντώνται σε φορητές συσκευές (π.χ. τηλέφωνα, tablets) καθώς και αυτά που απαντώνται σε συσκευές ψηφιακής τηλεόρασης Πολλών χρηστών (multi-user) επιτρέπουν την ταυτόχρονη χρήση του υπολογιστή από πολλούς χρήστες τέτοια συστήματα απαντώνται στους προσωπικούς υπολογιστές Αυτά τα λειτουργικά έχουν τη δυνατότητα να διατηρούν ένα ξεχωριστό προφίλ (profile) για κάθε χρήστη, δηλ. ένα σύνολο προσωπικών ρυθμίσεων χαρακτηριστικά παραδείγματα είναι τα Unix, Linux, Windows, MacOS 13

Single Tasking vs. Multi-tasking Όσον αφορά τον αριθμό των εργασιών τα λειτουργικά συστήματα διαχωρίζονται σε συστήματα μίας εργασίας (single tasking) είναι αυτά που μπορούν να διεκπεραιώνουν μία εργασία τη φορά, π.χ. στα smartphones συστήματα πολλών εργασιών (multi-tasking) έχουν τη δυνατότητα να εκτελούν πολλές εφαρμογές ταυτόχρονα, όπως τα Unix, Linux, Windows, MacOS 14

MS Windows vs. Unix-like OS Στην πλειοψηφία τους, τα λειτουργικά συστήματα βασίζονται στο Unix, Linux και τις παραλλαγές τους. Μόνη εξαίρεση αποτελούν τα λειτουργικά της Microsoft. Unix-based Λειτουργικά Linux, σε όλες τις διανομές (distributions) Berkley Software Foundation (BSD) MAC OS Google Android (βασίζεται στο Linux) ios (είναι πολύ παρόμοιο με Unix) 15

MS Windows και Linux GUI 16

Διεργασία (Process) Ο όρος διεργασία (process) αναφέρεται σε ένα πρόγραμμα ενόσω αυτό εκτελείται, και περιλαμβάνει όλες τις πληροφορίες της τρέχουσας κατάστασής του Σε ένα σύστημα που υποστηρίζει multi-tasking μπορούμε να έχουμε πολλές διεργασίες να εκτελούνται παράλληλα και οι οποίες θέλουν να αποκτήσουν τον έλεγχο στον επεξεργαστή και να εκτελεστούν Τη διαχείριση αυτή, για το πότε και πόσο θα εκτελείται μία διεργασία, την καθορίζει το λειτουργικό σύστημα Μία διεργασία από τη στιγμή που θα δημιουργηθεί μέχρι να ολοκληρωθεί και να τερματίσει τη λειτουργία της περνάει από διάφορες καταστάσεις 17

Διαχείριση Διεργασιών Συγκεκριμένα, μία διεργασία μπορεί να βρίσκεται σε μία από 3 πιθανές καταστάσεις: Εκτελείται (running): Χρησιμοποιεί πραγματικά τον επεξεργαστή την τρέχουσα στιγμή, καθώς οι εντολές της επεξεργάζονται από τον Φέρε- Εκτέλεσε κύκλο Είναι έτοιμη για εκτέλεση (ready): Έχει διακοπεί προσωρινά προκειμένου να εκτελεστεί κάποια άλλη, και περιμένει τη σειρά της για να χρησιμοποιήσει την κεντρική μονάδα επεξεργασίας Έχει μπλοκαριστεί (blocked): Δεν μπορεί να συνεχίσει την εκτέλεσή της καθώς περιμένει για πόρους (συνήθως περιμένει για είσοδο δεδομένων) Έχει μπλοκαριστεί (Blocked) Εκτελείται (Running) Έτοιμη για εκτέλεση (Ready) 18 Εισαγωγή στην Πληροφορκή

Διαχείριση Διεργασιών Το λειτουργικό σύστημα είναι υπεύθυνο για τη διαχείριση των διεργασιών Οι αρμοδιότητές του μεταξύ άλλων περιλαμβάνουν: τη δημιουργία και τον τερματισμό τη διακοπή και την επανεκκίνηση καθώς και το συγχρονισμό των διεργασιών ώστε να μπορούν να τρέχουν όλες ομαλά και να αξιοποιούν τους πόρους του συστήματος κατά τον καλύτερο δυνατό τρόπο 19

Διαχείριση διεργασιών και Πόρων 20

Σύστημα Αρχείων (File System) Η κύρια μνήμη είναι η μνήμη που διατηρεί τα προγράμματα που εκτελούνται και τα δεδομένα τους Όλες οι πληροφορίες αποθηκεύονται προσωρινά και χάνονται όταν σταματήσει η παροχή ηλεκτρικού ρεύματος Σε αντίθεση, η δευτερεύουσα μνήμη διατηρεί τις πληροφορίες ακόμα και μετά τη διακοπή του ηλεκτρικού ρεύματος Επίσης, έχει τη δυνατότητα αποθήκευσης μεγάλου όγκου δεδομένων Έτσι, η δευτερεύουσα μνήμη είναι αυτή που χρησιμοποιείται για τη μόνιμη αποθήκευση των δεδομένων μας, με επικρατέστερη συσκευή τον σκληρό δίσκο Τα δεδομένα και οι πληροφορίες μας αποθηκεύονται σε δίσκους οργανωμένες σε μονάδες που ονομάζονται αρχεία Το αρχείο (file) είναι μία συλλογή δεδομένων που σχετίζονται μεταξύ τους Τα αρχεία οργανώνονται σε φακέλους (directories) Πρόκειται για έναν μηχανισμό που χρησιμοποιούμε για να οργανώσουμε τα δεδομένα μας στη δευτερεύουσα μνήμη Κάθε αρχείο έχει ένα μοναδικό όνομα που το διακρίνει από τα υπόλοιπα και βρίσκεται σε συγκεκριμένο σημείο στην ιεραρχία αρχείων 21

Τα αρχεία κειμένου και δυαδικά αρχεία Τα αρχεία του ΗΥ διακρίνονται σε δύο μεγάλα είδη: Τα αρχεία κειμένου (Text Files ή ASCII files) Τα δυαδικά αρχεία (Binary Files) 22

Αρχεία Κειμένου (Text ή ASCII Files) Περιέχουν δεδομένα σε bytes, τα οποία αποτελούν χαρακτήρες του πίνακα χαρακτήρων ASCII ή Unicode Ο ASCII (American Standard Code of Information Exchange) ή αλφαριθμητικός κώδικας αντιστοιχεί κάθε byte (8 bits) σε: ένα γράμμα (μικρό ή κεφαλαίο) Ένα αριθμό Ένα σύμβολο (π.χ.!@#$%^&**- =) Για ανάγνωση τροποποίηση των ASCII αρχείων χρησιμοποιούμε ένα επεξεργαστή κειμένου Π.χ. Wordpad, notepad, sublime, vi, emacs Παράδειγμα αρχείων κειμένου είναι τα αρχεία πηγαίου κώδικα (source code) των προγραμμάτων που είναι γραμμένα σε κάποια γλώσσα προγραμματισμού 23

Ο κωδικός ASCII για τους χαρακτήρες ενός text file 24

Δυαδικά Αρχεία (Binary files) Ένα ψηφιακό/δυαδικό αρχείο (binary file) περιέχει δεδομένα σε ειδική μορφή Η αποκωδικοποίηση και ερμηνεία των bits δε γίνεται βάση κάποιου γνωστού πίνακα, όπως συμβαίνει με τα αρχεία κειμένου, αλλά βάση κανόνων που ορίζονται μέσα στο ίδιο το αρχείο Καθώς αυτά τα αρχεία έχουν ειδική εσωτερική μορφή, έχουν κατασκευαστεί ειδικά προγράμματα για την ανάγνωση, προβολή και επεξεργασία τους Συγκεκριμένα, μπορούμε να έχουμε πολλούς διαφορετικούς τύπους τέτοιων αρχείων, επομένως και τα αντίστοιχα προγράμματα για καθέναν από αυτούς Π.χ. μία εικόνα μπορεί να αποθηκευτεί με διάφορες μορφές, όπως JPEG, GIF, TIFF Ένα συγκεκριμένο πρόγραμμα μπορεί να ανοίξει μία εικόνα JPEG, αλλά όχι απαραίτητα και μία εικόνα TIFF Επίσης ένα πρόγραμμα λογισμικού είναι πάντοτε ένα δυαδικό αρχείο 25

Text vs. Binary Files Τόσο στα αρχεία κειμένου, όσο και στα ψηφιακά/δυαδικά αρχεία όλα τα δεδομένα αποθηκεύονται προφανώς σε ψηφιακή μορφή ως δυαδικά ψηφία μηδέν και ένα Ο παραπάνω διαχωρισμός των αρχείων αναφέρεται στην ερμηνεία των bits, τα οποία μπορούν να ερμηνευτούν ως χαρακτήρες (αρχεία κειμένου) ή με κάποια άλλη ειδική μορφή (ψηφιακά/δυαδικά αρχεία) Επίσης, κάποια αρχεία μπορεί να «μοιάζουν» με αρχεία κειμένου, αλλά στην πραγματικότητα δεν είναι Π.χ. τα προγράμματα επεξεργασίας κειμένου που επιτρέπουν πέρα από την αποθήκευση των χαρακτήρων διάφορες μορφοποιήσεις, όπως χρώματα, στυλ γραφικά και πλαίσια, αποθηκεύουν τις πληροφορίες ως δυαδικά/ψηφιακά αρχεία και όχι ως αρχεία κειμένου Αυτό είναι απαραίτητο για την αποθήκευση όλων των επιπρόσθετων πληροφοριών που μπορεί να περιέχει το αρχείο πέραν των χαρακτήρων 26

Τύπος αρχείου (1/3) Τα περισσότερα λειτουργικά συστήματα υποστηρίζουν διάφορους τύπους αρχείων Ο τύπος αρχείου (file type) δηλώνει το είδος της πληροφορίας που περιέχει το αρχείο Κάθε αρχείο, είτε κειμένου, είτε ψηφιακό περιέχει ένα συγκεκριμένο, ειδικό τύπο πληροφορίας Π.χ. μία εικόνα αποθηκευμένη σε μορφή JIF ή ένα μουσικό κομμάτι αποθηκευμένο σε μορφή mp3 Κάθε αρχείο συνοδεύεται από ένα μοναδικό όνομα Το όνομα αυτό αποτελείται από δύο μέρη τα οποία διαχωρίζονται από μία τελεία Το πρώτο μέρος (αριστερά) είναι το κυρίως όνομα, δηλαδή το όνομα που καθορίζει ο χρήστης κατά την αποθήκευση του αρχείου Το δεύτερο μέρος (δεξιά) είναι η κατάληξη ή προέκταση του αρχείου (file extension) και δίνει κάποιες πληροφορίες για το αρχείο, όπως ο τύπος του 27

Τύπος Αρχείου (2/3) Ο τύπος του αρχείου επιτρέπει στο λειτουργικό σύστημα να λειτουργεί πάνω στο αρχείο με τέτοιο τρόπο που να έχει νόημα για το αρχείο Το λειτουργικό σύστημα από την πλευρά του, διατηρεί μία λίστα από τους διάφορους τύπους αρχείων που μπορεί να αναγνωρίσει και συσχετίζει καθέναν από αυτούς με ένα κατάλληλο πρόγραμμα εφαρμογής, το οποίο μπορεί να «ανοίξει» το αρχείο Τύπος Αρχείου Κατάληξη Απλά αρχεία κειμένου ASCII Αρχεία ήχου Αρχεία εικόνων Αρχεία κειμένου με μορφοποίηση Αρχεία πηγαίου κώδικα (προγράμματα) txt mp3, mp4, wav jpeg, gif, jpg, tiff doc, docx, wp3 java, c, cpp 28

Λειτουργίες Αρχείων (File Operations) Τα αρχεία χρησιμοποιούνται για την αποθήκευση πληροφοριών και την ανάκτησή τους σε κάποια μελλοντική στιγμή Οι βασικότερες λειτουργίες που μπορούν να επιτελεστούν σε ένα αρχείο είναι οι εξής: Δημιουργία αρχείου (Create) Διαγραφή αρχείου (Delete) Άνοιγμα αρχείου (Open) Κλείσιμο αρχείου (Close) Διάβασμα δεδομένων (Read) Εγγραφή δεδομένων (Write) Εγγραφή δεδομένων στο τέλος του αρχείου (Append) Μετονομασία αρχείου (Rename) Αντιγραφή αρχείου (Copy) 29

Ιεραρχία ή Δέντρο Αρχείων (File Hierarchy) Για την καλύτερη οργάνωση των αρχείων μας, αυτά ταξινομούνται σε φακέλους Ένας φάκελος (directory) είναι μια δομή που ομαδοποιεί ένα σύνολο αρχείων Μπορεί να περιέχει αρχεία ή άλλους φακέλους (οποιουδήποτε πλήθους) Έτσι, δημιουργείται μία ιεραρχική δομή μεταξύ των φακέλων του συστήματος, η οποία αναπαριστά την οργάνωση των εμφωλευμένων φακέλων ενός συστήματος αρχείων Η δομή αυτή ονομάζεται ιεραρχία ή δένδρο φακέλων (directory tree) Ο κατάλογος που βρίσκεται στο πιο υψηλό επίπεδο είναι μοναδικός κα ονομάζεται φάκελος ρίζα (root directory) Μεταξύ δύο φακέλων που ο ένας βρίσκεται μέσα στον άλλον, ο φάκελος που περιέχει τον άλλον ονομάζεται πατρικός φάκελος (parent directory), ενώ αυτός που εμπεριέχεται στον πρώτο ονομάζεται υποφάκελος (subdirectory) 30

Ιεραρχία Αρχείων στα Windows 31

Ιεραρχία Αρχείων στο Unix 32

Φυσική Αποθήκευση Αρχείων στο Δίσκο Τα αρχεία αποθηκεύονται συνήθως στο σκληρό δίσκο, επομένως η διαχείριση του χώρου του δίσκου και η αποθήκευση των αρχείων με αποδοτικό τρόπο είναι ένα εξαιρετικά σημαντικό θέμα Παρόλο που εμείς έχουμε την αίσθηση ότι το κάθε αρχείο είναι αποθηκευμένο στο δίσκο σε συνεχείς θέσεις μνήμης, αυτό δεν συμβαίνει τις περισσότερες φορές Στην πραγματικότητα, οι εγγραφές των αρχείων καταλαμβάνουν διάφορες περιοχές του δίσκου, οι οποίες συχνά απέχουν αρκετά μεταξύ τους Συγκεκριμένα, η αποθήκευση ξεκινά με τις εγγραφές να αποθηκεύονται στις θέσεις ενός τομέα (sector) και μόλις αυτός συμπληρωθεί, οι επόμενες εγγραφές παίρνουν θέσεις και αποθηκεύονται στον επόμενο διαθέσιμο τομέα Όταν συμπληρωθεί η περιοχή ενός ίχνους (track), συνεχίζουμε στον τομέα του επόμενου ίχνους με τον ίδιο ακριβώς τρόπο Επομένως, αρκετά συχνά ένα αρχείο δεδομένων μπορεί να είναι αποθηκευμένο σε διάσπαρτες θέσεις στο δίσκο 33

Φυσική Αποθήκευση Αρχείων στο Δίσκο ίχνος (track) τομέας (sector) 34

Φυσική Αποθήκευση Αρχείων στο Δίσκο Τροχιά ή Ίχνος (Track): ομόκεντρη τροχιά πάνω στο μαγνητικό δίσκο Τομέας (Sector): Η στοιχειώδης μονάδα στην οποία μπορούν να αποθηκεύονται δεδομένα Συστοιχία (Cluster): μια ομάδα από τομείς που αντιστοιχούν στην αποθήκευση ενός αρχείου 35

Μορφοποίηση Δίσκου (Disk Format) Η διαδικασία δημιουργίας της παραπάνω δομής σε ένα σκληρό δίσκο καλείται μορφοποίηση (format) ή διαμόρφωση και είναι απαραίτητο να γίνει πριν ο δίσκος μπορέσει να χρησιμοποιηθεί. Μονάδα Εκχώρησης (Allocation Unit Size): Το μέγεθος μιας συστοιχίας δηλαδή το ελάχιστο μέγεθος που μπορεί να αντιστοιχισθεί σε ένα αρχείο. 36

Φυσική Αποθήκευση Αρχείων στο Δίσκο Το λειτουργικό σύστημα είναι υπεύθυνο για την ψευδαίσθηση που δημιουργείται στο χρήστη (και τις εφαρμογές) ότι το αρχείο βρίσκεται σε συνεχόμενες θέσης στη μνήμη Αυτό είναι και ένα χαρακτηριστικό παράδειγμα αφαιρετικότητας (abstraction), δηλαδή απομόνωσης των τεχνικών υλοποίησης και απλοποίησης της εικόνας του προβλήματος 37

Κατακερματισμός Δίσκου(Disk Fragmentation) Έπειτα από πολλαπλές διαδικασίες δημιουργίας και διαγραφής αρχείων είναι αναμενόμενο ότι τα μπλοκ του κάθε αρχείου θα βρίσκονται διασκορπισμένα στον δίσκο Το φαινόμενο αυτό είναι γνωστό ως κατακερματισμός (fragmentation) Ο κατακερματισμός έχει σαν αποτέλεσμα να γίνεται πιο αργή η ανάγνωση/εγγραφή αρχείων στο σκληρό δίσκο καθώς απαιτούνται πολλαπλές μετακινήσεις της κεφαλής ανάγνωσης/εγγραφής κατά τις διαδικασίες αυτές Για το λόγο αυτό είναι απαραίτητο να εκτελείται τακτικά μια διεργασία επανασυγκρότησης/defragmentation δίσκου Κατ αυτήν τα μπλοκ των αρχείων τοποθετούνται σε γειτονικές θέσεις στο δίσκο 38

Προστασία Αρχείων Σε ένα σύστημα πολλαπλών χρηστών η προστασία των αρχείων είναι ένα πολύ σημαντικό ζήτημα Τα αρχεία ενός χρήστη πρέπει να προστατεύονται από παρεμβάσεις άλλων χρηστών (δηλαδή ένας χρήστης δεν θα πρέπει να μπορεί να διαβάζει ή να επεξεργάζεται τα αρχεία ενός άλλου χρήστη) εκτός και αν ο κάτοχος (δημιουργός του αρχείου) το επιτρέπει Γι αυτό το λόγο έχει αναπτυχθεί ένας μηχανισμός προστασίας των αρχείων ο οποίος ελέγχει ποιος χρήστης θα έχει πρόσβαση σε ένα αρχείο και για ποιο σκοπό 39

Δικαιώματα Πρόσβασης Στο λειτουργικό σύστημα Unix η προστασία ορίζεται αυτόματα σε τρεις κατηγορίες, όπου για κάθε μία μπορούν να οριστούν διαφορετικά δικαιώματα: Χρήστης (User) είναι ο δημιουργός του αρχείου, π.χ. std-ta1234 Ομάδα (Group) είναι η λίστα χρηστών στην οποία ανήκει ο χρήστης, π.χ. students Υπόλοιποι (Others) είναι οι υπόλοιποι χρήστες του συστήματος Δικαιώματα Ανάγνωση Εγγραφή/Διαγραφή Εκτέλεση Χρήστης Ναι Ναι Όχι Ομάδα Ναι Όχι Όχι Υπόλοιποι Όχι Όχι Όχι 40

Περίληψη Κατηγορίες Λογισμικού Λογισμικό Συστήματος Λειτουργικό Σύστημα, Οδηγοί, Compilers/Interpreters, Utilities Λογισμικό Εφαρμογών Είδη Λειτουργικών Συστημάτων Διεργασίες και Διαχείριση διεργασιών Σύστημα Αρχείων Είδη (ASCII vs. Binary) και τύποι αρχείων Ιεραρχία αρχείων Φυσική αποθήκευση αρχείων Προστασία αρχείων και δικαιώματα πρόσβασης 41