Ενότητα 3 (Κεφάλαιο 4) Νήματα και Μικροπυρήνες

Μέγεθος: px
Εμφάνιση ξεκινά από τη σελίδα:

Download "Ενότητα 3 (Κεφάλαιο 4) Νήματα και Μικροπυρήνες"

Transcript

1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 3 (Κεφάλαιο 4) Νήματα και Μικροπυρήνες Οι διαφάνειες αυτές έχουν συμπληρωματικό και επεξηγηματικό χαρακτήρα και σε καμία περίπτωση δεν υποκαθιστούν το βιβλίο Γιώργος Α. Παπαδόπουλος Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου Περιεχόμενα Νήματα. Μικροπυρήνας. Υποστήριξη διεργασιών, νημάτων και πυρήνων στα Λ.Σ.: Windows. Solaris. Linux. Android. Mac OS X. 2 Διεργασίες και Νήματα Οι διεργασίες έχουν δύο χαρακτηριστικά: Κατοχή πόρων όπως αυτή καθορίζεται από τις πληροφορίες που υπάρχουν στο είδωλο της διεργασίας. Χρονοδρομολόγηση/Εκτέλεση μέσω της χρήσης της ΚΜΕ εναλλάξ με άλλες διεργασίες. Αυτά τα δύο χαρακτηριστικά είναι ανεξάρτητα το ένα από το άλλο. Σε κάποια Λ.Σ. η μονάδα εκτέλεσης κώδικα στην ΚΜΕ λέγεται νήμα ή υποδιεργασία (thread, lightweight process). Η μονάδα κατοχής πόρων λέγεται διεργασία ή δραστηριότητα (task). 3 1

2 Πολυνημάτωση Πολυνημάτωση (multithreading) είναι η δυνατότητα ενός Λ.Σ. να υποστηρίξει πολλαπλές ταυτόχρονες εκτελέσεις κώδικα, μέσα σε μία διεργασία. 4 1 διεργασία 1 νήμα Στο MS-DOS ο κάθε χρήστης είναι μία διεργασία που δεν μπορεί να διασπασθεί σε νήματα. Σε μερικά συστήματα UNIX, ο κάθε χρήστης μπορεί να δημιουργήσει περισσότερες από μία διεργασίες, αλλά η κάθε διεργασία και πάλι δεν μπορεί να διασπασθεί παραπέρα σε νήματα. 5 Πολυνημάτωση Το περιβάλλον της Java είναι ουσιαστικά μία διεργασία που διασπάται σε νήματα. Η υποστήριξη πολλαπλών διεργασιών και νημάτων υπάρχει στα Windows, Solaris και σε μερικά συστήματα τύπου UNIX. 6 2

3 Ορισμός της διεργασίας σε ένα πολυνηματικό περιβάλλον Είναι ένας ιδεατός χώρος μνήμης που αποθηκεύει το είδωλο της διεργασίας. Επίσης, είναι η οντότητα που διαφυλάττει την πρόσβαση σε: Επεξεργαστές. Άλλες διεργασίες. Αρχεία. Πόρους Εισόδου/Εξόδου. Με άλλα λόγια είναι η μονάδα προστασίας και διαμοίρασης πόρων, αλλά όχι και εκτέλεσης εντολών σε ένα πρόγραμμα. 7 Συστατικά ενός νήματος Το κάθε νήμα αποτελείται από τα εξής στοιχεία: Κατάσταση στην οποία βρίσκεται (εκτελούμενη, υπό αναστολή, κλπ.). Στοίβα με τιμές του περιβάλλοντός του. Μνήμη για τοπικές μεταβλητές. Δικαίωμα προσπέλασης και χρήσης στη μνήμη και πόρους αντίστοιχα της διεργασίας στην οποία ανήκει. 8 Νήματα vs. διεργασίες 9 3

4 Πλεονεκτήματα της χρήσης νημάτων Το κόστος δημιουργίας ενός νήματος είναι χαμηλότερο από αυτό της δημιουργίας μίας διεργασίας. Το κόστος τερματισμού ενός νήματος είναι χαμηλότερο από αυτό του τερματισμού μίας διεργασίας. Η μεταγωγή περιβάλλοντος έχει χαμηλότερο κόστος από αυτό της εναλλαγής διεργασιών. Τα νήματα μπορούν να επικοινωνούν μεταξύ τους χωρίς να απασχολούν τον πυρήνα. Όπου είναι δυνατόν, είναι προτιμότερο να υλοποιείται μία εφαρμογή ή εκτελέσιμη εργασία ως μία ομάδα από νήματα αντί ως μία ομάδα από διεργασίες. 10 Χρήση νημάτων σε Λ.Σ. ενός χρήστη Σε λειτουργίες προσκηνίου και παρασκηνίου, π.χ. σε ένα λογιστικό φύλλο ένα νήμα παρουσιάζει τα αποτελέσματα στην οθόνη ενώ ένα άλλο εκτελεί τις μαθηματικές πράξεις. Σε ασύγχρονη εκτέλεση, π.χ. ένα νήμα σε έναν επεξεργαστή κειμένου περιοδικά αποθηκεύει τα περιεχόμενα της κύριας μνήμης στο δίσκο. Για καλύτερη απόδοση, π.χ. ένα νήμα διαβάζει μία ομάδα δεδομένων από κάποια συσκευή εισόδου ενώ ταυτόχρονα ένα άλλο νήμα επεξεργάζεται μία άλλη ομάδα δεδομένων που έχει ήδη διαβασθεί. Για καλύτερη αρθρωτή δόμηση των προγραμμάτων, διότι τα νήματα διευκολύνουν τον σπονδυλωτό σχεδιασμό ενός προγράμματος που να αποτελείται από μία ομάδα από συστατικά, το καθένα από αυτά με ξεχωριστή αρμοδιότητα στην εκτέλεση των εντολών ενός προγράμματος. 11 Διαχείριση νημάτων από το Λ.Σ. Σε ένα Λ.Σ. που υποστηρίζει νήματα, η χρονοδρομολόγηση και χρήση της ΚΜΕ γίνεται σε επίπεδο νημάτων. Μερικές άλλες εργασίες όμως που επηρεάζουν όλα τα νήματα μίας διεργασίας γίνονται στο επίπεδο της διεργασίας. Παραδείγματα: Αν τεθεί υπό αναστολή μία διεργασία, τίθενται υπό αναστολή όλα τα νήματα της διεργασίας αυτής. Ο τερματισμός μίας διεργασίας τερματίζει αυτόματα όλα τα νήματα της διεργασίας αυτής. 12 4

5 Παρόμοια συμπεριφορά νημάτων και διεργασιών Τα νήματα έχουν δύο κοινά σημεία με τις διεργασίες: Καταστάσεις. Συγχρονισμό μεταξύ τους. 13 Καταστάσεις νημάτων Δημιουργία ενός νήματος (από κάποιο άλλο). Αναστολή (οδηγεί αυτό στην αναστολή άλλων νημάτων της διεργασίας ή και της ίδιας της διεργασίας;). Επανεργοποίηση. Τερματισμός. 14 Παράδειγμα: RPC (Remote Procedure Call) Ένα πρόγραμμα χρησιμοποιεί το πρωτόκολλο επικοινωνίας RPC για να καλέσει δύο διαφορετικούς προσδέκτες (hosts) από τους οποίους θα παραλάβει ένα συνδυασμένο αποτέλεσμα. 15 5

6 Υλοποίηση RPC με χρήση ενός νήματος 16 Υλοποίηση RPC με χρήση ενός νήματος ανά εξυπηρετητή 17 Πολυνημάτωση σε συστήματα ενός επεξεργαστή 18 6

7 Τρόποι υλοποίησης νημάτων Στο επίπεδο του χρήστη. Στο επίπεδο του πυρήνα. 19 Υλοποίηση νημάτων στο επίπεδο του χρήστη Η διαχείριση των νημάτων γίνεται από την εφαρμογή και ο πυρήνας δεν γνωρίζει για την ύπαρξή τους. 20 Συσχέτιση μεταξύ νημάτων στο επίπεδο του χρήστη και διεργασιών 21 7

8 Πλεονεκτήματα υλοποίησης των νημάτων στο επίπεδο του χρήστη Η μεταγωγή περιβάλλοντος δεν χρειάζεται προνομιούχα δικαιώματα χρήσης του πυρήνα (το οποίο επιφέρει κόστος). Η χρονοδρομολόγηση των νημάτων μπορεί να αντιμετωπίσει τυχόν ιδιαιτερότητες της εφαρμογής στην οποία ανήκουν τα νήματα. Η πολυνημάτωση μπορεί να υποστηριχθεί από οποιοδήποτε Λ.Σ. 22 Μειονεκτήματα υλοποίησης των νημάτων στο επίπεδο του χρήστη Επειδή συνήθως σε ένα Λ.Σ. οι κλήσεις σε συναρτήσεις του συστήματος θέτουν τη διεργασία που έκανε την κλήση υπό αναστολή, αν ένα νήμα εκτελέσει μία τέτοια κλήση τότε όλα τα νήματα της διεργασίας τίθενται υπό αναστολή. Αν ο Η/Υ έχει πολλούς επεξεργαστές, δεν υποστηρίζεται η παράλληλη επεξεργασία μεταξύ των νημάτων μίας διεργασίας. 23 Υλοποίηση νημάτων στο επίπεδο του πυρήνα Ο πυρήνας διατηρεί πληροφορίες για το περιβάλλον και των διεργασιών και των νημάτων που υπάρχουν στις διεργασίες. Η διαχείριση των νημάτων δεν γίνεται από την εφαρμογή. Η χρονοδρομολόγηση γίνεται σε επίπεδο νημάτων. 24 8

9 Πλεονεκτήματα υλοποίησης των νημάτων στο επίπεδο του πυρήνα Αν το σύστημα υποστηρίζει πολλούς επεξεργαστές, τότε μπορούν να εκτελούνται παράλληλα πολλαπλά νήματα της ίδιας διεργασίας. Αν τεθεί υπό αναστολή ένα νήμα κάποιας διεργασίας, αυτό δεν εμποδίζει την εκτέλεση άλλων νημάτων της διεργασίας αυτής. Η τεχνική της πολυνημάτωσης μπορεί να εφαρμοσθεί στις ρουτίνες του ίδιου του πυρήνα. 25 Μειονεκτήματα υλοποίησης των νημάτων στο επίπεδο του πυρήνα Η μεταφορά του ελέγχου από ένα νήμα σε κάποιο άλλο στην ίδια διεργασία συνεπάγεται τη μεταφορά του ελέγχου από το επίπεδο της εφαρμογής στο επίπεδο του πυρήνα, κάτι το οποίο έχει κόστος. 26 Συνδυαστική προσέγγιση Η δημιουργία των νημάτων γίνεται στο επίπεδο του χρήστη. Η χρονοδρομολόγηση και ο συγχρονισμός των νημάτων γίνεται στο επίπεδο της εφαρμογής. Τα πολλαπλά νήματα μίας εφαρμογής απεικονίζονται στο επίπεδο του πυρήνα με ένα μικρότερο ή ίδιο αριθμό νημάτων. 27 9

10 Σχέση μεταξύ νημάτων και διεργασιών 28 Περιεχόμενα Νήματα. Μικροπυρήνας. Υποστήριξη διεργασιών, νημάτων και πυρήνων στα Λ.Σ.: Windows. Solaris. Linux. Android. Mac OS X. 29 Η έννοια του Μικροπυρήνα Σε πολλά μοντέρνα λειτουργικά συστήματα έχει αρχίσει να αναπτύσσεται ή έννοια του μικροπυρήνα (microkernel). H ιδέα εδώ είναι ότι ο πυρήνας του Λ.Σ. αποτελείται μόνο από την άκρως απαραίτητη λειτουργικότητα που χρειάζεται ένα Λ.Σ. Όλα τα υπόλοιπα υλοποιούνται με βάση τον πυρήνα αυτόν, αλλά εκτός αυτού ως διαφορετικά προγράμματα. Αυτό επιτρέπει την πιο εύκολη υποστήριξη ενός Λ.Σ. από πολλές πλατφόρμες (portability) αφού μόνο ο (σχετικά μικρός) πυρήνας χρειάζεται να τροποποιηθεί ανάλογα με τις απαιτήσεις της κάθε αρχιτεκτονικής. Το ερώτημα είναι πόσο μικρός πρέπει να είναι ένας πυρήνας για να θεωρείται μικροπυρήνας. Π.χ., οι οδηγοί συσκευών υλοποιούνται σε αυτό το επίπεδο ή το επίπεδο του χρήστη; 30 10

11 Αρχιτεκτονική μικροπυρήνα vs. πυρήνα 31 Σχεδιασμός μικροπυρήνα: διαχείριση μνήμης Οι περισσότερες δραστηριότητες για τη διαχείριση της μνήμης γίνονται στο επίπεδο του χρήστη. Ο μικροπυρήνας είναι υπεύθυνος μόνο για την μετατροπή των ιδεατών διευθύνσεων μνήμης σε φυσικές. 32 Σχεδιασμός μικροπυρήνα: επικοινωνία μεταξύ των διεργασιών Η επικοινωνία μεταξύ διεργασιών ή νημάτων γίνεται μέσω μηνυμάτων. Ένα μήνυμα αποτελείται από την κεφαλή που καθορίζει τον αποστολέα και παραλήπτη του μηνύματος και από το κυρίως μέρος που αποτελείται από τα δεδομένα του μηνύματος, πληροφορίες ελέγχου, κλπ

12 Σχεδιασμός μικροπυρήνα: διαχείριση πράξεων Ε/Ε και διακοπτών Οι διακόπτες υλοποιούνται ως μηνύματα. Ο μικροπυρήνας αναγνωρίζει ένα διακόπτη αλλά δεν το χειρίζεται ο ίδιος: δημιουργεί ένα μήνυμα και το στέλνει στη διεργασία που χειρίζεται το διακόπτη στο επίπεδο του χρήστη. Η διαχείριση πράξεων Ε/Ε γίνεται με την εισαγωγή θυρών Ε/Ε στο χώρο μνήμης. 34 Πλεονεκτήματα της χρήσης μικροπυρήνα Ομοιόμορφη αντιμετώπιση μέσω μηνυμάτων όλων των διαφορετικών αιτήσεων μίας διεργασίας, έτσι ώστε οι διεργασίες να μην χρειάζεται να διαφοροποιήσουν τις αιτήσεις στο επίπεδο του χρήστη από αυτές στο επίπεδο του πυρήνα. Επεκτασιμότητα με νέες υπηρεσίες γίνεται πιο εύκολα γιατί επηρεάζεται ένα σχετικά μικρό μέρος του Λ.Σ. Ευελιξία στη δυνατότητα αφαίρεσης μη χρήσιμων υπηρεσιών οι οποίες καθίστανται πλέον επιλέξιμες και όχι αναγκαίες και το εναπομείναν σύστημα γίνεται πιο αποδεκτό σε περισσότερους χρήστες. Πιο εύκολη μεταφερσιμότητα (portability), λόγω του ότι ο κώδικας που σχετίζεται με την αρχιτεκτονική του κάθε επεξεργαστή είναι περιορισμένος μέσα στον μικροπυρήνα. Μεγαλύτερη αξιοπιστία, προερχόμενη από την πιο εύκολη αποσφαλμάτωση του κώδικα του μικροπυρήνα, λόγω του μικρού του σχετικά μεγέθους. Πιο εύκολη υποστήριξη κατανεμημένων συστημάτων (λόγω χρήσης μηνυμάτων) και αντικειμενοστρεφών τεχνικών. 35 Περιεχόμενα Νήματα. Μικροπυρήνας. Υποστήριξη διεργασιών, νημάτων και πυρήνων στα Λ.Σ.: Windows. Solaris. Linux. Android. Mac OS X

13 Διαφορετικές προσεγγίσεις Οι διαφορετικές προσεγγίσεις μεταξύ των Λ.Σ. εστιάζονται στα εξής σημεία: Ονοματολογία των διεργασιών. Υποστήριξη ή όχι νημάτων. Απεικόνιση των διεργασιών. Προστασία των πόρων των διεργασιών. Μηχανισμοί επικοινωνίας και συγχρονισμού μεταξύ των διεργασιών. Συσχέτιση μεταξύ των διεργασιών. 37 Διεργασίες στα Windows Οι διεργασίες και οι υπηρεσίες που παρέχει ο πυρήνας είναι σχετικά απλού τύπου και γενικής χρήσης. Υλοποιούνται ως αντικείμενα (objects). Μία διεργασία μπορεί να περιέχει ένα ή περισσότερα νήματα. Οι διεργασίες και τα νήματα έχουν ενσωματωμένους μηχανισμούς συντονισμού. Οι διεργασίες αντιστοιχούν σε εργασίες του χρήστη ή εφαρμογές και κατέχουν πόρους. Τα νήματα είναι αυτόνομα μέρη κώδικα τα οποία εκτελούνται σειριακά και η εκτέλεσή τους μπορεί να διακοπεί. 38 Σχέση μεταξύ διεργασιών και των πόρων τους στα Windows 39 13

14 Αλλαγές στα Windows 8 Τροποποιείται ο παραδοσιακός τρόπος εκτέλεσης διεργασιών και εφαρμογών. Ο δημιουργός μίας εφαρμογής (και όχι ο χρήστης) είναι τώρα υπεύθυνος για τη διαχείριση της κατάστασης της εφαρμογής του. Στις προηγούμενες εκδόσεις των Windows, ο χρήστης έχει πλήρη έλεγχο μίας εφαρμογής και είναι υπεύθυνος για το κλείσιμό της. Στο καινούργιο σύστημα διεπαφής Metro, τα Windows 8 αναλαμβάνουν αυτόν το ρόλο και μέσω της λειτουργικότητας Live Tiles δίνεται η εντύπωση ότι οι εφαρμογές εκτελούνται συνέχεια, αν και αυτό δεν ισχύει και δεν καταναλώνονται πόροι του συστήματος. 40 Η διεπαφή Metro Η εφαρμογή που τρέχει στο σύστημα έχει πρόσβαση στους πόρους (επεξεργαστή, δίκτυο και δίσκο) που είναι διαθέσιμοι για τον χρήστη. Όλες οι άλλες εφαρμογές βρίσκονται υπό αναστολή και δεν έχουν πρόσβαση σε αυτούς τους πόρους. Όταν μία εφαρμογή τίθεται υπό αναστολή, η κατάσταση της εφαρμογής πρέπει να αποθηκευθεί. Αυτό είναι ευθύνη του δημιουργού της εφαρμογής. Τα Windows 8 δύναται να τερματίσουν μία διεργασία που βρίσκεται υπό αναστολή. Γι αυτό και η κατάσταση της διεργασίας πρέπει να αποθηκευθεί. Όταν η διεργασία ενεργοποιηθεί πάλι, η κατάστασή της θα αποκατασταθεί. 41 Η δομή μίας διεργασίας στα Windows 42 14

15 Η δομή ενός νήματος στα Windows 43 Οι ιδιότητες μίας διεργασίας στα Windows Process ID Security descriptor Base priority Default processor affinity Quota limits Execution time I/O counters VM operation counters A unique value that identifies the process to the operating system. Describes who created an object, who can gain access to or use the object, and who is denied access to the object. A baseline execution priority for the process's threads. The default set of processors on which the process's threads can run. The maximum amount of paged and nonpaged system memory, paging file space, and processor time a user's processes can use. The total amount of time all threads in the process have executed. Variables that record the number and type of I/O operations that the process's threads have performed. Variables that record the number and types of virtual memory operations that the process's threads have performed. Exception/debugging ports Interprocess communication channels to which the process manager sends a message when one of the process's threads causes an exception. Normally, these are connected to environment subsystem and debugger processes, respectively. Exit status The reason for a process's termination. 44 Οι ιδιότητες ενός νήματος στα Windows Thread ID A unique value that identifies a thread when it calls a server. Thread context Dynamic priority Base priority Thread processor affinity Thread execution time Alert status Suspension count Impersonation token Termination port Thread exit status The set of register values and other volatile data that defines the execution state of a thread. The thread's execution priority at any given moment. The lower limit of the thread's dynamic priority. The set of processors on which the thread can run, which is a subset or all of the processor affinity of the thread's process. The cumulative amount of time a thread has executed in user mode and in kernel mode. A flag that indicates whether a waiting thread may execute an asynchronous procedure call. The number of times the thread's execution has been suspended without being resumed. A temporary access token allowing a thread to perform operations on behalf of another process (used by subsystems). An interprocess communication channel to which the process manager sends a message when the thread terminates (used by subsystems). The reason for a thread's termination

16 Πολυνηματικές διεργασίες στα Windows Επιτρέπουν την ταυτόχρονη εκτέλεση εργασιών χωρίς το κόστος της εναλλαγής διεργασιών. Τα νήματα σε μία διεργασία μπορούν να ανταλλάξουν πληροφορίες μέσω του κοινού χώρου μνήμης της διεργασίας και έχουν πρόσβαση στους κοινούς πόρους της διεργασίας. Νήματα που ανήκουν σε διαφορετικές διεργασίες μπορούν επίσης να ανταλλάξουν πληροφορίες μέσω κοινού χώρου μνήμης που έχει δημιουργηθεί μεταξύ αυτών των διεργασιών. 46 Runnable Καταστάσεις νημάτων στα Windows Pick to Run Standby Switch Ready Preempted Running Resource Available Unblock/Resume Resource Available Block/ Suspend Terminate Transition Unblock Waiting Resource Not Available Not Runnable Terminated Figure 4.11 Windows Thread States 47 Διεργασίες στο Solaris Το Λ.Σ. Solaris υποστηρίζει νήματα μέσω της συνδυαστικής προσέγγισης για να έχει ευελιξία στη διαχείριση των επεξεργαστών. Οι διεργασίες εμπεριέχουν το χώρο μνήμης του χρήστη, στοίβες και περιγραφέα της διεργασίας. Σε επίπεδο χρήστη, τα νήματα υλοποιούνται μέσω βιβλιοθήκης στο χώρο μνήμης μίας διεργασίας (αόρατα για το Λ.Σ.). Αυτά τα νήματα απεικονίζονται στο επίπεδο του πυρήνα ένα προς ένα και τα νήματα του πυρήνα εκτελούνται στους επεξεργαστές του συστήματος

17 Σχέση μεταξύ διεργασιών και νημάτων στο Solaris Process user thread user thread syscal l ( ) Lightweight process (LWP) Lightweight process (LWP) syscal l ( ) Kernel thread Kernel thread System calls Kernel Hardware Figure 4.12 Processes and Threads in Solaris 49 Παραδοσιακό Unix vs. Solaris UNIX Process Structure Solaris Process Structur e Pr ocess I D User IDs Process I D User IDs Signal Dispatch Table Signal Dispatch Table Memory Map Memory Map Priority Signal M ask Registers STACK File Descriptors File Descriptors Processor State Μία διεργασία αντικαθίσταται με μία ομάδα από νήματα LWP 2 LWP I D Priority Signal M ask Registers STACK LWP 1 LWP I D Priority Signal M ask Registers STACK 50 Figure 4.13 Process Structure in Traditional UNIX and Solaris [LEWI96] Η δομή ενός νήματος στο Solaris Ταυτότητα. Προτεραιότητα. Λίστα με τα σήματα που δέχεται. Τιμές καταχωρητών (όταν δεν εκτελείται). Στοίβες. Πληροφορίες για χρήση πόρων. Δείκτη στη διεργασία του νήματος

18 Καταστάσεις νημάτων στο Solaris IDLE PI NNED t hr ead_cr eat e( ) i nt r ( ) RUN swt ch( ) ONPROC syscal l ( ) SLEEP pr eempt ( ) wakeup( ) STOP ZOMBIE FREE pr un( ) pst op( ) exi t ( ) r eap( ) Figure 4.14 Solaris Thread States 52 Διεργασίες στο Linux Μία διεργασία στο Linux αναπαρίσταται με τη δομή δεδομένων task_struct. Αυτή περιλαμβάνει (μεταξύ άλλων) πληροφορίες για: Την τρέχουσα κατάσταση στην οποία βρίσκεται. Χρονοδρομολόγηση. Επικοινωνία με άλλες διεργασίες. 53 Σχέση και καταστάσεις μεταξύ διεργασιών και νημάτων στο Linux Stopped signal signal creation Ready Running State scheduling Executing termination Zombie signal or event event Uninterruptible I nterruptible Figure 4.15 Linux Process/Thread M odel 54 18

19 Νήματα στο Linux Στο Linux δεν υπάρχει ουσιαστική διαφοροποίηση μεταξύ διεργασιών και νημάτων. Τα νήματα στο επίπεδο του χρήστη απεικονίζονται σε διεργασίες στο επίπεδο του πυρήνα. Μία νέα διεργασία δημιουργείται με την αντιγραφή των ιδιοτήτων της τρέχουσας διεργασίας. Η καινούργια διεργασία μπορεί να κλωνοποιηθεί για να διαμοιρασθεί πόρους. Η εντολή clone() δημιουργεί διαφορετικούς χώρους στοιβών για κάθε διεργασία, αντικαθιστά την παραδοσιακή εντολή fork() του Unix και έχει ένα αριθμό από παραμέτρους. 55 Παράμετροι της εντολής clone CLONE_CLEARID Clear the task ID. CLONE_DETACHED The parent does not want a SIGCHLD signal sent on exit. CLONE_FILES CLONE_FS Shares the table that identifies the open files. Shares the table that identifies the root directory and the current working directory, as well as the value of the bit mask used to mask the initial file permissions of a new file. CLONE_IDLETASK Set PID to zero, which refers to an idle task. The idle task is employed when all available tasks are blocked waiting for resources. CLONE_NEWNS CLONE_PARENT CLONE_PTRACE CLONE_SETTID CLONE_SETTLS CLONE_SIGHAND CLONE_SYSVSEM CLONE_THREAD CLONE_VFORK CLONE_VM Create a new namespace for the child. Caller and new task share the same parent process. If the parent process is being traced, the child process will also be traced. Write the TID back to user space. Create a new TLS for the child. Shares the table that identifies the signal handlers. Shares System V SEM_UNDO semantics. Inserts this process into the same thread group of the parent. If this flag is true, it implicitly enforces CLONE_PARENT. If set, the parent does not get scheduled for execution until the child invokes the execve() system call. Shares the address space (memory descriptor and all page tables). 56 Διαχείριση διεργασιών και νημάτων στο Android Μία εφαρμογή Android είναι το λογισμικό που υλοποιεί ένα app. Αποτελείται από ένα ή περισσότερα στιγμιότυπα ενός ή περισσοτέρων από τα ακόλουθα είδη συστατικών εφαρμογών: Δραστηριότητες (activities), που αντιστοιχούν σε διαφορετικές οθόνες (π.χ. μία εφαρμογή για μπορεί να έχει μία δραστηριότητα που δείχνει τη λίστα με καινούργια s, άλλη δραστηριότητα για τη δημιουργία ενός , κλπ.). Υπηρεσίες, που συνήθως εκτελούν στο background λειτουργίες που χρειάζονται πολύ χρόνο (π.χ. μία υπηρεσία που παίζει μουσική στο background την ίδια ώρα που ο χρήστης ασχολείται με κάτι άλλο). Παροχείς περιεχομένου, που λειτουργούν ως διεπαφές μεταξύ εφαρμογών και δεδομένων που χρησιμοποιούν αυτές οι εφαρμογές (π.χ. μία εφαρμογή NotePad χρησιμοποιεί ένα παροχέα για να αποθηκεύσει σημειώσεις). Δέκτες εκπομπών, που ανταποκρίνονται σε μηνύματα που στέλνει το σύστημα ή άλλες εφαρμογές (π.χ. η μπαταρία του συστήματος έχει σχεδόν αδειάσει)

20 Η δομή μίας εφαρμογής Android Dedicated Process Broadcast Receiver Application Content Provider Activity Service Dedicated Virtual Machine 58 Figure 4.16 Android Application Καταστάσεις των δραστηριοτήτων στο Android Activity launched oncreate() User navigates to the activity App process killed Apps with higher priority need memory Entire Lifetime onstart() Visible Lifetime onresume() Foreground Lifetime Resumed User returns to the activity onrestart() onpause() Paused User navigates to the activity onstop() Stopped ondestroy() Activity shut down 59 Figure 4.17 Activity State Transition Diagram Διεργασίες και νήματα στο Mac OS X (10.6 και πάνω) Υποστηρίζονται από το μηχανισμό Grand Central Dispatch (GCD). Ο προγραμματιστής δηλώνει τα μέρη του προγράμματός του τα οποία μπορούν να εκτελεστούν παράλληλα, τα οποία ονομάζονται blocks. Ένα block είναι μία αυτόνομη μονάδα εργασίας, με τον κώδικά της και τα δεδομένα της. Π.χ. x=^{printf( hello world\n );} Το GCD θα δημιουργήσει μία ομάδα από νήματα τα οποία θα εκτελεστούν σε διαφορετικούς επεξεργαστές του Mac

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

Περιγραφή και Έλεγχος ιεργασιών Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα

Διαβάστε περισσότερα

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

Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1 ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική

Διαβάστε περισσότερα

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

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

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

ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά

Διαβάστε περισσότερα

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

1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες» 1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων

Διαβάστε περισσότερα

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

Διεργασίες και Νήματα (2/2)

Διεργασίες και Νήματα (2/2) Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα

Διαβάστε περισσότερα

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

Επιτεύγµατα των Λ.Σ. Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος

Διαβάστε περισσότερα

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

Εισαγωγικά & Βασικές Έννοιες Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Τι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 4 : Αρχιτεκτονικές ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Δομή Λειτουργικών Συστημάτων Βασίλης Σακκάς 20/11/2013 1 Δομή ενός Λ/Σ -1 Μονολιθικά συστήματα (monolithic systems) Λειτουργικά συστήματα με ανυπαρξία δομής: "η μεγάλη ακαταστασία"

Διαβάστε περισσότερα

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1

Βασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1 Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Μονονηματική / πολυνηματική εκτέλεση Μονονηματικό μοντέλο εκτέλεσης (συμβατικό) Οι εντολές του κώδικα εκτελούνται σειριακά Ένα μοναδικό νήμα εκτέλεσης (execution

Διαβάστε περισσότερα

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

ΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,

Διαβάστε περισσότερα

Προγραμματισμός Ταυτόχρονος Προγραμματισμός

Προγραμματισμός Ταυτόχρονος Προγραμματισμός Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες

Διαβάστε περισσότερα

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

ΛΟΓΙΣΜΙΚΟ (software) ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

Ε-85: Ειδικά Θέµατα Λογισµικού

Ε-85: Ειδικά Θέµατα Λογισµικού Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής

Διαβάστε περισσότερα

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

Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΔΟΜΗ ΤΟΥ Η/Υ (PC compatibles) RAM CPU PCI Bridge PCI Bridges P2P Bridge RAM CPU PCI Bridge PCI2ISA Bridge Δομή της CPU Register file IP CPU TLB Level-1 cache RAM SP MMU

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα (ΗΥ321) Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές

Διαβάστε περισσότερα

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

Κεφάλαιο 1ο. 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων Κεφάλαιο 1ο 1.1.5 Πολυπρογραμματισμός 1.1.6 Πολυδιεργασία 1.2.2. Κατηγορίες Λειτουργικών Συστημάτων http://leitourgika-systhmata-epal-b.ggia.info Creative Commons License 3.0 Share-Alike Πολυπρογραμματισμός

Διαβάστε περισσότερα

Παράλληλη Επεξεργασία

Παράλληλη Επεξεργασία Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed

Διαβάστε περισσότερα

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

Εισαγωγή στην Πληροφορική & τον Προγραμματισμό ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων

Διαβάστε περισσότερα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα

Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα ΝΗΜΑΤΑ ΣΤΗ JAVA (1) Ορισµός Νήµα (thread) είναι µια ακολουθιακή ροή ελέγχου (δηλ. κάτι που έχει αρχή, ακολουθία εντολών και τέλος) σ ένα πρόγραµµα. Αιτία Η δυνατότητα αποµόνωσης (ή αυτονόµησης) κάποιων

Διαβάστε περισσότερα

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για

Διαβάστε περισσότερα

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο

Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals

Διαβάστε περισσότερα

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

Διαβάστε περισσότερα

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες

Εισαγωγή εκτελέσιμου κώδικα σε διεργασίες 0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 431 Αρχιτεκτονική Παραλλήλων Συστημάτων Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

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

Λειτουργικά συστήματα πραγματικού χρόνου Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού

Διαβάστε περισσότερα

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals

Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,

Διαβάστε περισσότερα

Ντίρλης Νικόλαος- ΕΤΥ 2 ο Φροντιστήριο Παρασκευή, 18/10/2013 Β4. Λειτουργικά Συστήματα- Φροντιστήριο 2

Ντίρλης Νικόλαος- ΕΤΥ 2 ο Φροντιστήριο Παρασκευή, 18/10/2013 Β4. Λειτουργικά Συστήματα- Φροντιστήριο 2 Ντίρλης Νικόλαος- ΕΤΥ 2 ο Φροντιστήριο Παρασκευή, 18/10/2013 Β4 Φροντιστήριο 2 1 Λειτουργικό Σύστημα -> Multitasking Κάθε διεργασία μπορεί να ειδωθεί σαν μία δέσμη στοιχείων που διατηρούνται από τον πυρήνα

Διαβάστε περισσότερα

Κατανεμημένα Συστήματα

Κατανεμημένα Συστήματα Κατανεμημένα Συστήματα Σημειώσεις εργαστηρίου Lab#7 - Διεργασίες, Nήματα, Πολυνημάτωση στη Python Νεβράντζας Βάιος-Γερμανός Λάρισα, Φεβρουάριος 2013 Lab#7 - Διεργασιές, Νη ματα, Πολυνημα τωση στη Python,

Διαβάστε περισσότερα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα

Η Υλοποίηση της Επικοινωνίας. Κατανεµηµένα Συστήµατα Η Υλοποίηση της Επικοινωνίας στα Κατανεµηµένα Συστήµατα ιαφάνειες στα πλαίσια του µαθήµατος: Κατανεµηµένα Συστήµατα Ε Εξάµηνο, Τµήµα Πληροφορικής και Τεχνολογίας Υπολογιστών, ΤΕΙ Λαµίας Πέτρος Λάµψας 2002

Διαβάστε περισσότερα

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

2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ 2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο

Διαβάστε περισσότερα

Instruction Execution Times

Instruction Execution Times 1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών

Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών Βιβλιογραφία: Ανάπτυξη Διεπαφών Χρήστη σε Λειτουργικά Συστήματα Κινητών Συσκευών Προγραμματισμός Android Ian Clifton. AndroidTM User Interface Design, Addison-Wesley, 2013 P. Deitel. H. Deitel, A. Deitel.

Διαβάστε περισσότερα

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

Κεφάλαιο 4: Λογισμικό Συστήματος Κεφάλαιο 4: Λογισμικό Συστήματος Ερωτήσεις 1. Να αναφέρετε συνοπτικά τις κατηγορίες στις οποίες διακρίνεται το λογισμικό συστήματος. Σε ποια ευρύτερη κατηγορία εντάσσεται αυτό; Το λογισμικό συστήματος

Διαβάστε περισσότερα

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής

Επίπεδο Μεταφοράς. (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς (ανεβαίνουμε προς τα πάνω) Εργαστήριο Δικτύων Υπολογιστών 2014-2015 Τμήμα Μηχανικών Η/Υ και Πληροφορικής Επίπεδο Μεταφοράς(Transport layer) Επίπεδο εφαρμογής (Application layer): Συντονισμός

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί

Διαβάστε περισσότερα

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

Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)

Διαβάστε περισσότερα

Διάλεξη Εισαγωγή στη Java, Μέρος Γ

Διάλεξη Εισαγωγή στη Java, Μέρος Γ Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες Χειμερινό Εξάμηνο 2017-2018 Διάλεξη Εισαγωγή στη Java, Μέρος Γ Νήματα (Threads) στην Java Συγχρονισμός Producer-Consumer

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Κεφάλαιο 4 Λογισμικό συστήματος. Εφαρμογές Πληροφορικής Κεφ.4 Καραμαούνας Πολύκαρπος 1 Κεφάλαιο 4 Λογισμικό συστήματος Καραμαούνας Πολύκαρπος 1 4.1 Λογισμικό συστήματος (application software) Καραμαούνας Πολύκαρπος 2 Λογισμικό εφαρμογών (application software): προγράμματα για την αντιμετώπιση

Διαβάστε περισσότερα

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο

Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων. Εξάμηνο 7 ο Εργαστήριο Ανάπτυξης Εφαρμογών Βάσεων Δεδομένων Εξάμηνο 7 ο Procedures and Functions Stored procedures and functions are named blocks of code that enable you to group and organize a series of SQL and PL/SQL

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διαχείριση μνήμης III ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διαχείριση μνήμης III Υλικό από: Tanenbaum, Modern Operating Systems,Structured Computer Organization Stallings, Operating Systems: Internals and Design Principles. Silberschatz,

Διαβάστε περισσότερα

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

Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ Ιστορική Αναδρομή Λειτουργικών Συστημάτων (ΛΣ) Εισαγωγή : ο πυρήνας (kernel) / ο φλοιός (shell) Β ΕΠΑΛ http://leitourgika-systhmata-epal-b.ggia.info/ Σύγχρονο Λειτουργικό Σύστημα - ΛΣ Λειτουργικό Σύστημα:

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

MIPS Interactive Learning Environment. MILE Simulator. Version 1.0. User's Manual MILE Simulator Version 1.0 User's Manual Νοέμβριος, 2011 Περιεχόμενα 1. Εισαγωγή στον προσομοιωτή...2 1.1 Εγκατάσταση...2 1.2 Βοήθεια Διευκρινήσεις...2 2. Ξεκινώντας με τον προσομοιωτή...3 2.1 Το memory

Διαβάστε περισσότερα

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

Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα

Διαβάστε περισσότερα

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

Εργαστήριο Λειτουργικών Συστημάτων. Minix Overview Εργαστήριο Λειτουργικών Συστημάτων Minix Overview Σύνοψη 5ης ιάλεξης Λειτουργικό Σύστημα Minix Οργάνωση του Λειτουργικού Συστήματος Οργάνωση πηγαίου κώδικα Minix recompilation Σύνοψη Μαθήματος Σύνοψη Μαθήματος

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες. Καταστάσεις Διεργασιών. PCB. Νήματα. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

Διαβάστε περισσότερα

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

Το λειτουργικό σύστημα. Προγραμματισμός II 1 Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή περιορισμένοι υπολογιστικοί / αποθηκευτικοί πόροι δεν τίθεται θέμα

Διαβάστε περισσότερα

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών

Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Επικοινωνία Client/Server Απομακρυσμένη Κλήση Διαδικασιών Χάρης Μανιφάβας Τμήμα Εφ. Πληροφορικής & Πολυμέσων ΤΕΙ Κρήτης Επικοινωνία -RPC 1 Υλοποίηση RPC Προκειμένου να επιτευχθεί διαφάνεια στην κλήση RPC,

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

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

Εικονική Μνήμη (Virtual Μemory) ΗΥ 232 Οργάνωση και Σχεδίαση Υπολογιστών Διάλεξη 16 Εικονική Μνήμη (Virtual Μemory) Νίκος Μπέλλας Τμήμα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Απλό πείραμα int *data = malloc((1

Διαβάστε περισσότερα

Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή

Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Ζητήματα Σχεδίασης Λογισμικού Εξυπηρετητή Διαδικτυακός και Ταυτόχρονος Προγραμματισμός 1 Ταυτόχρονοι και Επαναληπτικοί Εξυπηρετητές Επαναληπτικός εξυπηρετητής: επεξεργάζεται μόνο μία αίτηση τη φορά. Ταυτόχρονος

Διαβάστε περισσότερα

Σκελετός Παρουσίασης

Σκελετός Παρουσίασης Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) Υλικό Hardware Λογισμικό Software... κώδικας ΥΛΙΚΟ Κάθε ηλεκτρονικό, ηλεκτρικό και μηχανικό μέρος του Η/Υ. ΛΟΓΙΣΜΙΚΟ Προγράμματα,δηλαδή οδηγίες γιατοτιπρέπεινακάνειοη/υ. Λειτουργικό Σύστημα Είναι ένα βασικό

Διαβάστε περισσότερα

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1

Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1 Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας

Διαβάστε περισσότερα

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

Πληροφορική 2. Λειτουργικά Συστήματα Πληροφορική 2 Λειτουργικά Συστήματα 1 2 Λογισμικό Υπολογιστών Υπολογιστής Υλικό Λογισμικό Λειτουργικό Σύστημα Προγράμματα Εφαρμογών 3 Λειτουργικό Σύστημα (Operating System) Λειτουργικό Σύστημα (ΛΣ) είναι

Διαβάστε περισσότερα

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

Εικονικοποίηση. Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, Εικονικοποίηση Αρχιτεκτονική Υπολογιστών 5ο Εξάμηνο, 2016-2017 Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση VMM Τεχνικές Εικονικοποίησης Εικονικοποίηση Μνήμης Live Migration Εικονικοποίηση - Σύνοψη Γενικά Οργάνωση

Διαβάστε περισσότερα

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

ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ

Διαβάστε περισσότερα

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση

Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 6 (Κεφάλαιο 9) Χρονοδρομολόγηση Οι διαφάνειες

Διαβάστε περισσότερα

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

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

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

Προσομοίωση BP με το Bizagi Modeler

Προσομοίωση BP με το Bizagi Modeler Προσομοίωση BP με το Bizagi Modeler Α. Τσαλγατίδου - Γ.-Δ. Κάπος Πρόγραμμα Μεταπτυχιακών Σπουδών Τεχνολογία Διοίκησης Επιχειρησιακών Διαδικασιών 2017-2018 BPMN Simulation with Bizagi Modeler: 4 Levels

Διαβάστε περισσότερα

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος

Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής. Βασιλάκης Βασίλειος Τζανάκης Δημήτριος Αξιοποίηση της Τεχνολογίας των Εικονικών Μηχανών στην Επαγγελματική Εκπαίδευση και την Κατάρτιση Πληροφορικής Βασιλάκης Βασίλειος Τζανάκης Δημήτριος Εισαγωγή Σκοπός Να παρουσιαστούν προτάσεις αξιοποίησης

Διαβάστε περισσότερα

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη

ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη ΗY335: Δίκτυα Υπολογιστών Χειμερινό Εξάμηνο 2012-2013 Τμήμα Επιστήμης Υπολογιστών Πανεπιστήμιο Κρήτης Διδάσκουσα: Μαρία Παπαδοπούλη Project 2012-2013 Υλοποίηση ενός chat server-client Παράδοση: 7/2/2013

Διαβάστε περισσότερα

Βασικές έννοιες. Κατανεμημένα Συστήματα 1

Βασικές έννοιες. Κατανεμημένα Συστήματα 1 Βασικές έννοιες Κατανεμημένα Συστήματα 1 lalis@inf.uth.gr Ορισμός κατανεμημένου συστήματος Ένα σύστημα από ξεχωριστές ενεργές οντότητες (ονομάζονται «κόμβοι» ή «διεργασίες») που εκτελούνται ταυτόχρονα/ανεξάρτητα

Διαβάστε περισσότερα

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

Κεφάλαιο 3. Διδακτικοί Στόχοι Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Ι. Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Λειτουργικά Συστήματα Ι Κεφάλαιο 1 Βασικές Έννοιες Λειτουργικών Συστημάτων Δομή Η/Υ Ο Η/Υ αποτελείται από δυο βασικά στοιχεία: Υλικό (το ηλεκτρονικό-μηχανικό μέρος πχ συσκευές, πλακέτες κλπ) Λογισμικό

Διαβάστε περισσότερα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα

Το μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες

Διαβάστε περισσότερα

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων

Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό

Διαβάστε περισσότερα

Ένα πρόγραμμα σε εκτέλεση, Μια ασύγχρονη δραστηριότητα,

Ένα πρόγραμμα σε εκτέλεση, Μια ασύγχρονη δραστηριότητα, Διεργασίες 1. Εισαγωγή - ορισμοί 2. Καταστάσεις διεργασίας 3. Διαγράμματα καταστάσεων 4. Μπλοκ ελέγχου διεργασίας PCB 5. Υπηρεσίες Λ.Σ. για διαχείριση διεργασιών 6. Εναλλαγή Πλαισίου (Context Switch) 7.

Διαβάστε περισσότερα

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

Αρχιτεκτονική Υπολογιστών ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

Διαβάστε περισσότερα

Προγραμματισμός ΙΙ (Java) 10. Πολυνηματικές εφαρμογές

Προγραμματισμός ΙΙ (Java) 10. Πολυνηματικές εφαρμογές Προγραμματισμός ΙΙ (Java) 10. Πολυνηματικές εφαρμογές Multithreading Μulti-processing Πολλές διεργασίες ταυτόχρονα Κάθε διεργασία έχει το δικό της χώρο μνήμης ή ενδέχεται όλες να μοιράζονται και κάποιο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα 1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 2 : Σκοποί ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής

Διαβάστε περισσότερα

Διαφορές single-processor αρχιτεκτονικών και SoCs

Διαφορές single-processor αρχιτεκτονικών και SoCs 13.1 Τα συστήματα και η επικοινωνία μεταξύ τους γίνονται όλο και περισσότερο πολύπλοκα. Δεν μπορούν να περιγραφούνε επαρκώς στο επίπεδο RTL καθώς αυτή η διαδικασία γίνεται πλέον αρκετά χρονοβόρα. Για αυτό

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διαχείριση Διεργασιών Ένα σημαντικό εργαλείο

Διαβάστε περισσότερα

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

Λειτουργικά Συστήματα Η/Υ Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 8 «Ιδεατή Μνήμη» Διδάσκων: Δ. Λιαροκαπης Διαφάνειες: Π. Χατζηδούκας Ιδεατή Μνήμη Οργάνωση. Εισαγωγή. Ιδεατές και πραγματικές διευθύνσεις. Λογική οργάνωση. Τμηματοποίηση

Διαβάστε περισσότερα

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade

Εγκατάσταση λογισμικού και αναβάθμιση συσκευής Device software installation and software upgrade Για να ελέγξετε το λογισμικό που έχει τώρα η συσκευή κάντε κλικ Menu > Options > Device > About Device Versions. Στο πιο κάτω παράδειγμα η συσκευή έχει έκδοση λογισμικού 6.0.0.546 με πλατφόρμα 6.6.0.207.

Διαβάστε περισσότερα