Διεργασίες - Σύνοψη. Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος. Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής
|
|
- θάνα Ζερβός
- 7 χρόνια πριν
- Προβολές:
Transcript
1
2 Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς.
3 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
4 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
5 Οργάνωση ενός ΛΣ Διεργασία 1 Διεργασία 2 Διεργασία 3 κλήσεις συστήματος Χώρος Χρήστη Υπηρεσίες ΛΣ Οδηγοί Συσκευών Υλικό Χώρος Πυρήνα Υλικό
6 Λειτουργία ενός Σύγχρονου Συστήματος (1) Βασισμένη σε αιτήματα / συμβάντα / διακοπές Το ΛΣ ενεργοποιείται όταν γίνει κάτι από τα παρακάτω: Αίτηση διακοπής από το λογισμικό (trap, software interrupt) Ολοκλήρωση λειτουργίας Ε/Ε (διακοπή υλικού, hardware interrupt) Εσφαλμένη ή μη επιτρεπόμενη εντολή, π.χ. διαίρεση με το μηδέν, (exception, εξαίρεση ) Ο έλεγχος περνάει σε προκαθορισμένο κώδικα του ΛΣ, ανάλογα με τη διακοπή (άνυσμα διακοπών), την αίτηση ή την εξαίρεση Ρουτίνα εξυπηρέτησης διακοπής Μετά το τέλος της, επιστροφή στο προηγούμενο σημείο, υπό προϋποθέσεις
7 Λειτουργία ενός Σύγχρονου Συστήματος (2) νήματα εκτέλεσης Ν CPU(s) κρυφή μνήμη εκτέλεση εντολών εντολές και δεδομένα μνήμη αίτηση Ε/Ε δεδομένα διακοπή Απευθείας Πρόσβαση στη Μνήμη (DMA) μονάδες Ε/Ε
8 Λειτουργία ενός Σύγχρονου Συστήματος (3) Ανάγκη για Προστασία / Απομόνωση Των υπόλοιπων προγραμμάτων Των δομών του ΛΣ Από κακογραμμένο / κακόβουλο κώδικα Λύση: Δύο καταστάσεις λειτουργίας Κατάσταση Χρήστη User Mode Κατάσταση Επόπτη Supervisor / Kernel Mode Πρέπει να παρέχεται από το Υλικό (x86;) Ορισμένες εντολές είναι προνομιούχες (privileged) Οι ρουτίνες εξυπηρέτησης διακοπών τρέχουν σε κατάσταση επόπτη
9 Οργάνωση ενός ΛΣ Διεργασία 1 Διεργασία 2 Διεργασία 3 κλήσεις συστήματος Χώρος Χρήστη Υπηρεσίες ΛΣ Οδηγοί Συσκευών Υλικό Χώρος Πυρήνα Υλικό
10 Κλήση Συστήματος Χώρος Χρήστη compute Init syscall ret from syscall compute trap return from interrupt t service syscall Χώρος Πυρήνα Αίτηση προς το ΛΣ (π.χ. Ε/Ε από συσκευή ή αρχείο, αναμονή συμβάντος, διαχείριση διεργασιών) Μετάβαση από κατάσταση χρήστη σε κατάσταση πυρήνα (privileged mode) Κι αν χρειάζεται να περιμένει έως ότου ολοκληρωθεί μια λειτουργία Ε/Ε; Πόσο είναι το κόστος της κλήσης; Υπάρχουν κι άλλοι τρόποι. SYSENTER / SYSEXIT interrupt User Kernel
11 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
12 Διεργασία Process Διεργασία: ένα πρόγραμμα υπό εκτέλεση Ένα ζωντανό πρόγραμμα, φορτωμένο στη μνήμη Διεργασία = κώδικας + κατάσταση Πολλές διεργασίες μπορεί να έχουν κοινό πρόγραμμα, κοινό κώδικα Κάθε μία έχει τη δική της, χωριστή κατάσταση Πολλές διεργασίες εκτελούνται ταυτόχρονα κάτω από ΛΣ καταμερισμού χρόνου Multiprogramming με time sharing Αναγνωρίζεται από μοναδικό Process ID (PID)
13 Τι είναι μια Διεργασία; κώδικας - program text Αρχιτεκτονική κατάσταση Μετρητής προγράμματος (PC) Καταχωρητές CPU (%eax, %ebx, %ecx) Ιδιωτικός, απομονωμένος χώρος μνήμης Τμήμα δεδομένων (data segment) μεταβλητές Σωρός (heap) Στοίβα (stack) Χρησιμοποιούμενοι πόροι του συστήματος Ανοιχτά αρχεία, δικτυακές συνδέσεις
14 Στιγμιότυπο Διεργασίας στη Μνήμη 2ΤΒ Στοίβα Σωρός Δεδομένα 0 Κείμενο
15 Σύγχρονα ΛΣ καταμερισμού χρόνου Διεργασία: η βασική μονάδα εκτέλεσης σε σύγχρονα ΛΣ καταμερισμού χρόνου Ταυτόχρονη, απομονωμένη εκτέλεση Με τη δική της αρχιτεκτονική κατάσταση Σε δικό της, απομονωμένο χώρο μνήμης Αλληλεπίδραση με τον έξω κόσμο κλήσεις συστήματος Το ΛΣ δημιουργεί και συντηρεί την ψευδαίσθηση της αποκλειστικής χρήσης της μηχανής καταμερισμός χρόνου ανάμεσα στις υπό εκτέλεση διεργασίες Ανάγκη για χρονοδρομολόγηση (CPU Scheduling) Δυνητικά σε πολλούς επεξεργαστές (SMP/multicore) Με δίκαιη κατανομή πόρων ανάμεσα στις διεργασίες
16 Καταμερισμός Χρόνου: η γενική ιδέα tq CPU P 1 S P 2 S P 3 S P 1 timer timer timer t Ο υπολογιστικός χρόνος κατανέμεται ανάμεσα στις διεργασίες που είναι έτοιμες να τρέξουν (P1, P2, P3) Κάθε διεργασία τρέχει για χρόνο <= του κβάντου χρόνου (time quantum) Το χρονοδρομολογητή ενεργοποιούν διακοπές χρονιστή (timer interrupts) interrupt User Kernel
17 Κατάσταση Διεργασίας Μεταβάσεις Κάθε διεργασία μεταβαίνει από κατάσταση σε κατάσταση (process state) Νέα (New) δημιουργείται Υπό Εκτέλεση (Running) εκτελείται τώρα στη CPU Έτοιμη (Ready) έτοιμη προς εκτέλεση σε CPU, χρειάζεται χρόνο CPU Σε Αναμονή (Waiting) περιμένει να ολοκληρωθεί E/E, αναμονή συμβάντος, δεν είναι υποψήφια για εκτέλεση σε CPU Τερματισμένη (Terminated) η εκτέλεσή της έχει ολοκληρωθεί
18 Κύκλος Ζωής μιας Διεργασίας (1) Νέα (New) αποδοχή εκπνοή κβάντου χρόνου Τερματισμένη (Terminated) έξοδος Έτοιμη (Ready) Υπό Εκτέλεση (Running) επιλογή από χρονοδρομολογητή ολοκλήρωση Ε/Ε ή συμβάντος Σε Αναμονή (Waiting) αίτηση Ε/Ε ή αναμονή συμβάντος
19 Πίνακας Ελέγχου Διεργασίας (1) Process Control Block (PCB) Ταυτότητα διεργασίας (PID) Κατάσταση διεργασίας (process state) Νέα, Έτοιμη, Υπό Εκτέλεση, Σε Αναμονή, Τερματισμένη Αρχιτεκτονική κατάσταση (architectural state) Μετρητής προγράμματος, καταχωρητές CPU Πληροφορίες χρονοδρομολόγησης Προτεραιότητα, δείκτες σε ουρές χρονοδρομολογητή Πληροφορίες διαχείρισης μνήμης Δεσμευμένες περιοχές μνήμης, είδος και όρια πρόσβασης Πληροφορίες για έλεγχο πρόσβασης Ταυτότητα χρήστη, δικαιώματα πρόσβασης, δυνατότητες Πληροφορίες για τρέχουσα κατάσταση λειτουργιών Ε/Ε Πίνακας ανοιχτών αρχείων
20 Πίνακας Ελέγχου Διεργασίας (2) $ cat /usr/src/linux/include/linux/sched.h PCB... struct task_struct { ταυτότητα διεργασίας κατάσταση διεργασίας volatile long state; /* -1 unrunnable, 0 runnable, >0 stopped */ void *stack;... μετρητής προγράμματος int prio, static_prio, normal_prio; καταχωρητές CPU unsigned int rt_priority;... struct mm_struct *mm, *active_mm;... pid_t pid;... const struct cred *cred;... δεδομένα διαχείρισης μνήμης (περιοχές, όρια) πίνακας ανοιχτών αρχείων /* effective (overridable) subjective task * credentials (COW) */ δικαιώματα πρόσβασης (αριθμός χρήστη, δυνατότητες) /* open file information */ struct files_struct *files;... }; real-life Linux PCB in C
21 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
22 Καταμερισμός Χρόνου: η γενική ιδέα tq CPU P 1 S P 2 S P 3 S P 1 timer timer timer t Ο υπολογιστικός χρόνος κατανέμεται ανάμεσα στις διεργασίες που είναι έτοιμες να τρέξουν (P1, P2, P3) Κάθε διεργασία τρέχει για χρόνο <= του κβάντου χρόνου (time quantum) Το χρονοδρομολογητή ενεργοποιούν διακοπές χρονιστή (timer interrupts) interrupt User Kernel
23 Εναλλαγή Περιβάλλοντος Λειτουργίας (1) Context Switch: Η CPU αλλάζει από διεργασία σε διεργασία Αποθήκευση κατάστασης παλιάς (στο PCB της) Επαναφορά νέας διεργασίας (από το PCB της) Πόσο διαρκεί; Είναι χαμένος χρόνος για τη CPU Πόσο συχνά; το σύστημα πρέπει να είναι αποκρίσιμο
24 Εναλλαγή Περιβάλλοντος Λειτουργίας (2) P 0 P 1 διακοπή ή κλήση συστήματος Αποθήκευση κατάστασης στο PCB P 0 Επαναφορά κατάστασης από PCB P 1 Τι ποσοστό του χρόνου χάνεται στο context switch; διακοπή ή κλήση συστήματος Αποθήκευση κατάστασης στο PCB P 1 Επαναφορά κατάστασης από PCB P 0 interrupt User Kernel
25 Κύκλος Ζωής μιας Διεργασίας (2) create() / fork() Ουρά Έτοιμων Διεργασιών (Ready List) CPU exit() Εκπνοή κβάντου χρόνου I/O read() / write() Αίτηση I/Ο Διακοπή / άλλο συμβάν sleep() / wait() Αναμονή για συμβάν
26 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
27 Λειτουργίες Διεργασιών Δημιουργία και καταστροφή διεργασιών Δυναμική, κατά τη λειτουργία του συστήματος (fork()) Μέσω κλήσεων συστήματος Ιεραρχία διεργασιών Μια γονική διεργασία δημιουργεί διεργασίες-παιδιά (parent και children processes) Προκύπτει ιεραρχική οργάνωση, σε δέντρο διεργασιών Τερματισμός διεργασίας Οικειοθελής, όταν ολοκληρώσει το έργο της (exit()) Βίαιος, λόγω εξωτερικού παράγοντα Αποστολή σήματος (kill()) από άλλη διεργασία τερματισμός από το λειτουργικό λόγω εσφαλμένης λειτουργίας ( This program has performed an illegal operation στα Windows) Ο γονέας ενημερώνεται (wait()) Κι αν πεθάνει πριν από το παιδί του;
28 Δέντρο Διεργασιών στο Linux init (1) syslogd (2781) cupsd (3043) smbd (2978) smbd (3018) sshd (20484) sshd (678) bash (1835) vi (1892) firefox (1903) pstree (2001)
29 Δημιουργία στο μοντέλο του UNIX: fork() Δεδομένα : p =? mypid =? Κείμενο: pid_t p, mypid; p = fork(); p = -1, 987 errno = if (p < 0) { ENOMEM perror( fork ); exit(1); } else if (p == 0) { mypid = getpid(); child(); } else { father(); } PID=981 Δεδομένα : 0 p =? mypid =? Κείμενο: pid_t p, mypid; p = fork(); p = 0 if (p < 0) { perror( fork ); exit(1); } else if (p == 0) { mypid = getpid(); child(); } else { father(); } PID=
30 Δημιουργία στο μοντέλο του UNIX: fork() Όλες οι διεργασίες προκύπτουν με fork() [σχεδόν όλες] Ίδιο πρόγραμμα με γονική διεργασία, αντίγραφο χώρου μνήμης, κληρονομεί ανοιχτά αρχεία, συνδέσεις, δικαιώματα πρόσβασης Αντικατάσταση προγράμματος διεργασίας: execve() Η γονική διεργασία ενημερώνεται για το θάνατο του παιδιού με wait() συλλογή τιμής τερματισμού (exit status) Μέχρι τότε, παιδί που έχει καλέσει την exit() είναι zombie Αν ο γονέας πεθάνει πρώτα, η διεργασία γίνεται παιδί της init (PID = 1), που κάνει συνεχώς wait() prog-a 981 fork Prog-A 981 wait Prog-A 987 execve Prog-B 987 Prog-B exit 987 (zombie)
31 Διεργασίες - Σύνοψη Οργάνωση ενός σύγχρονου ΛΣ Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος Διεργασία Process Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής Πίνακας Ελέγχου Διεργασίας Χρονοδρομολόγηση σε συστήματα καταμερισμού χρόνου Λειτουργίες διεργασιών Δημιουργία διεργασιών - το μοντέλο του UNIX Διαδιεργασιακή Επικοινωνία
32 Διαδιεργασιακή Επικοινωνία (IPC) Inter-Process Communication (IPC) Διεργασίες που συνεργάζονται. Γιατί; Παράλληλη εκτέλεση, επιτάχυνση Δομημένη σχεδίαση, διαχωρισμός προνομίων Ταυτόχρονη πρόσβαση σε κοινά δεδομένα Διαφορετικοί Μηχανισμοί από ΛΣ σε ΛΣ Μοιραζόμενη Μνήμη (Shared Memory Segments) Μηνύματα (Microkernels - Mach, POSIX messages) Σήματα (UNIX) Pipes (UNIX, Win32)
33 Μοιραζόμενη Μνήμη Εικονική μνήμη P0 Εικονική μνήμη P1 Φυσική Μνήμη Πρόσβαση σε κοινό τμήμα μνήμης (shared memory segment) Για περισσότερες από μία διεργασίες Άμεση αλληλεπίδραση, με εντολές load/store Χωρίς κλήσεις συστήματος Ενημέρωση για αλλαγές; έλεγχος (polling) Πώς εξασφαλίζεται ότι δεν γράφουν στο ίδιο σημείο ταυτόχρονα; Το κοινό τμήμα απεικονίζεται στο χώρο εικονικής μνήμης των διεργασιών
34 Επικοινωνία με πέρασμα μηνυμάτων (1) Διεργασία 1 Μ Διεργασία 2 Μ Χώρος Χρήστη sendmsg() recvmsg() Μ Πυρήνας Χώρος Πυρήνα Επικοινωνία χωρίς μοιραζόμενη μνήμη μέσω κλήσεων συστήματος
35 Επικοινωνία με πέρασμα μηνυμάτων (2) Σχεδιαστικές αποφάσεις Άμεση ή έμμεση επικοινωνία; Σύγχρονη ή ασύγχρονη επικοινωνία; Προσωρινή αποθήκευση μηνυμάτων σε απομονωτές (buffering)
36 Επικοινωνία με πέρασμα μηνυμάτων (2) Ονοματολογία Άμεσα, συμμετρικά send(p, message); receive(q, message) όπου P, Q είναι Process IDs Άμεσα, ασύμμετρα send(p, message); receive(id, message) όπου το P δίνεται, το id τίθεται από την receive() Έμμεσα, με χρήση γραμματοθυρίδων (mailboxes) / θυρών (ports) send(a, message); receive(a, message) όπου Α το αναγνωριστικό της θυρίδας (π.χ. ένας ακέραιος) δημιουργία και καταστροφή θυρίδων;
37 Επικοινωνία με πέρασμα μηνυμάτων (3) Συγχρονισμός Αποστολές με ή χωρίς αναμονή (blocking / non-blocking send) Λήψη με ή χωρίς αναμονή (blocking / non-blocking receive) Σύγχρονος ή ασύγχρονος τρόπος λειτουργίας (rendez-vous) Προσωρινή αποθήκευση σε απομονωτές Χωρίς προσωρινή αποθήκευση (σύγχρονα) Πεπερασμένη χωρητικότητα ο αποστολέας μπλοκάρει όταν ο απομονωτής γεμίσει Απεριόριστη χωρητικότητα με δυναμική δέσμευση χώρου
38 Σήματα στο UNIX (1) Ενσωματωμένα ήδη από τις πρώτες εκδόσεις του UNIX (Έκδοση 7) Ασύγχρονη Ειδοποίηση για Εξωτερικό Γεγονός Κάθε σήμα έχει ένα συμβολικό όνομα SIGINT, SIGTSTP, SIGCONT, SIGSTOP, SIGFPE, SIGSEGV, SIGABRT, SIGQUIT, SIGWINCH, SIGTERM, SIGKILL Και διαφορετική σημασία, π.χ. Διακοπή Πληκτρολογίου, Ctrl-C (SIGINT) Αναστολή από το πληκτρολόγιο (SIGTSTP) Τερματισμός (SIGTERM) Βίαιος Τερματισμός (SIGKILL) Κάποια αποστέλλονται αυτόματα από το ΛΣ, κάποια από άλλη διεργασία (kill())
39 Σήματα στο UNIX (2) Για εισερχόμενο σήμα, εκτελείται προκαθορισμένη ενέργεια (συνήθως τερματισμός) Η wait() επιστρέφει ανάλογο status Το σήμα μπορεί να συλληφθεί, οπότε εκτελείται συνάρτηση χειρισμού του (signal(), sigaction()) π.χ., όταν πατηθεί Ctrl-C, σώσε το ανοιχτό αρχείο Τα SIGSTOP και SIGKILL δεν πιάνονται Αναξιόπιστος μηχανισμός επικοινωνίας Ασύγχρονος, με race conditions Το POSIX προβλέπει αξιόπιστα σήματα (sigprocmask(), sigsuspend())
40 Σωληνώσεις στο UNIX (1) Διεργασία write fd[1] άκρο εγγραφής M read fd[0] Χώρος Χρήστη Χώρος Πυρήνα άκρο ανάγνωσης int fd[2]; Ένας από τους βασικότερους μηχανισμούς στο UNIX int num1, num2; Μονόδρομη μεταφορά δεδομένων Από το άκρο εγγραφής στο άκρο ανάγνωσης pipe(fd); Δημιουργία με pipe(), επικοινωνία με write() και read() write(fd[1], &num1, sizeof(num1)); Αν η σωλήνωση είναι άδεια; η read() μπλοκάρει read(fd[0], &num2, sizeof(num2));
41 Σωληνώσεις στο UNIX (2) Διεργασία πατέρας write fd[1] read fd[0] άκρο εγγραφής M Διεργασία παιδί write fd[1] read fd[0] Χώρος Χρήστη Χώρος Πυρήνα άκρο ανάγνωσης pipe(fd); fork(); ο πατέρας κλείνει το άκρο ανάγνωσης το παιδί κλείνει το άκρο εγγραφής
42 Νήματα - Σύνοψη Ορισμός νημάτων, σχέση με διεργασίες Πλεονεκτήματα πολυνηματισμού Μοντέλα πολυνηματισμού Υλοποίηση σε χώρο χρήστη, πυρήνα, συνδυασμού τους Βιβλιοθήκες και APIs πολυνηματισμού POSIX Threads, Win32, Java Threads
43 Νήματα - Σύνοψη Ορισμός νημάτων, σχέση με διεργασίες Πλεονεκτήματα πολυνηματισμού Μοντέλα πολυνηματισμού Υλοποίηση σε χώρο χρήστη, πυρήνα, συνδυασμού τους Βιβλιοθήκες και APIs πολυνηματισμού POSIX Threads, Win32, Java Threads
44 Νήματα Threads Νήματα: χωριστές ροές εκτέλεσης μέσα στην ίδια διεργασία Κατάσταση διεργασίας = αρχιτεκτονική κατάσταση + πόροι ΛΣ Χωριστή αρχιτεκτονική κατάσταση για κάθε νήμα Μετρητής Προγράμματος, Καταχωρητές CPU, Στοίβα Όλα τα νήματα ζουν μέσα στην ίδια διεργασία Μοιράζονται τους πόρους του ΛΣ Κοινή μνήμη, κοινά ανοιχτά αρχεία, κοινά δικαιώματα Άμεση πρόσβαση σε κοινά δεδομένα
45 Πολυνηματική Διεργασία Κείμενο Δεδομένα Πόροι ΛΣ (π.χ. ανοιχτά αρχεία) Κείμενο Δεδομένα Πόροι ΛΣ (π.χ. ανοιχτά αρχεία) Καταχωρητές Καταχωρητές Καταχωρητές Καταχωρητές Μετρητής Προγράμματος Στοίβα PC PC PC Στοίβα Στοίβα Στοίβα νήμα εκτέλεσης νήμα 1 νήμα 2 νήμα 3
46 Νήματα - Σύνοψη Ορισμός νημάτων, σχέση με διεργασίες Πλεονεκτήματα πολυνηματισμού Μοντέλα πολυνηματισμού Υλοποίηση σε χώρο χρήστη, πυρήνα, συνδυασμού τους Βιβλιοθήκες και APIs πολυνηματισμού POSIX Threads, Win32, Java Threads
47 Νήματα Γιατί; Αποκρισιμότητα Διαφορετικά νήματα κάνουν διαφορετικά πράγματα, π.χ. νήμα αλληλεπίδρασης με χρήστη και νήματα υπολογισμού Οικονομία πόρων Μικρότερο κόστος δημιουργίας/καταστροφής νημάτων Ένα νήμα θέλει λιγότερους πόρους ΛΣ από μια διεργασία Παράλληλος υπολογισμός Μικρό κόστος επικοινωνίας ανάμεσα σε νήματα Χρονοδρομολόγηση νημάτων προσαρμοσμένη στην εφαρμογή Ευκολότερος προγραμματισμός Πολυνηματικοί εξυπηρετητές Κάθε νήμα έχει τη δική του κατάσταση νήμα ανά πελάτη Ασύγχρονη λειτουργία με σύγχρονες κλήσεις συστήματος Κάθε νήμα αναστέλλεται ανεξάρτητα από τα υπόλοιπα
48 Νήματα - Σύνοψη Ορισμός νημάτων, σχέση με διεργασίες Πλεονεκτήματα πολυνηματισμού Μοντέλα πολυνηματισμού Υλοποίηση σε χώρο χρήστη, πυρήνα, συνδυασμού τους Βιβλιοθήκες και APIs πολυνηματισμού POSIX Threads, Win32, Java Threads
49 Μοντέλα Πολυνηματισμού Προγραμματιστικά μοντέλα και APIs για πολυνηματισμό POSIX Threads, Win32 API, Java threads, OpenMP Πώς υλοποιείται η υποστήριξη νημάτων; Στο χώρο πυρήνα, στο χώρο χρήστη, με συνεργασία και των δύο; Νήματα χώρου χρήστη νήματα χώρου πυρήνα Ο χρονοδρομολογητής του ΛΣ βλέπει μόνο νήματα πυρήνα Πλεονεκτήματα / μειονεκτήματα της κάθε προσέγγισης;
50 Ν:1 - Νήματα σε επίπεδο χρήστη (1) user thread Χώρος Χρήστη k kernel thread Χώρος Πυρήνα Δημιουργία νημάτων σε επίπεδο χρήστη Με φορητό τρόπο, πχ. swapcontext(), setjmp/longjmp() Ο πυρήνας δεν γνωρίζει τίποτε για αυτά Η χρονοδρομολόγηση γίνεται από κώδικα χρήστη Είτε με διακοπτό (SIGALRM) είτε συνεργατικά, με μη-διακοπτό τρόπο
51 Ν:1 - Νήματα σε επίπεδο χρήστη (2) user thread Χώρος Χρήστη k kernel thread Χώρος Πυρήνα Μικρό κόστος διαχείρισης νημάτων Χρονοδρομολόγηση προσαρμοσμένη στην εφαρμογή Τι γίνεται με κλήσεις συστήματος που προκαλούν αναστολή της εκτέλεσης; Αν ένα νήμα μπλοκάρει σε read(), όλη η διεργασία μπλοκάρει
52 Παράδειγμα υλοποίησης Ν:1 - GNU Pth Πολυνηματική βιβλιοθήκη σε επίπεδο χρήστη, με υποστήριξη και του Pthreads API Μη-διακοπτός καταμερισμός χρόνου (non-preemptive multitasking) Δεν χρειάζεται υποστήριξη από τον πυρήνα Διαχείριση νημάτων με κλήσεις POSIX makecontext() / swapcontext(), setjmp()/longjmp() Φορητότητα, μικρό κόστος διαχείρισης νημάτων Προσαρμοσμένη σε πολυνηματικούς εξυπηρετητές, όχι παράλληλο υπολογισμό Προβλήματα: διαχείριση κλήσεων συστήματος, υποστήριξη πολυπεξεργαστών; On the other hand, it cannot benefit from the existence of multiprocessors, because for this, kernel support would be needed. In practice, this is no problem, because multiprocessor systems are rare [GNU Pth manual]
53 1:1 - Νήματα σε επίπεδο πυρήνα user thread Χώρος Χρήστη k k k kernel thread Χώρος Πυρήνα Υποστήριξη πολυεπεξεργαστών, χωριστά νήματα σε χωριστούς πυρήνες πολυπύρηνων επεξεργαστών Ακριβότερη διαχείριση νημάτων Απλούστερη υλοποίηση Linux NPTL, Win32 σε Windows NT/XP/2k, Solaris 9+
54 Παράδειγμα υλοποίησης 1:1 Linux NPTL Linux Native POSIX Threads Library Υλοποίηση της POSIX c σε επίπεδο πυρήνα Βασισμένη στο μηχανισμό συγχρονισμού futex και την κλήση συστήματος clone() Διάφορα clone() flags: CLONE_FILES, CLONE_SIGHAND, CLONE_VM Η fork() υλοποιείται ως clone() Ο πυρήνας βλέπει tasks, που μοιράζονται σχεδόν τα πάντα (νήματα) ή τίποτε (διεργασίες)
55 Μ:Ν Συνδυασμός νημάτων χρήστη/πυρήνα user thread Χώρος Χρήστη k k k kernel thread Χώρος Πυρήνα Ένας αριθμός από νήματα χρήστη τρέχει πάνω σε περισσότερα του ενός νήματα πυρήνα Διεπίπεδη χρονοδρομολόγηση Πολύπλοκη υλοποίηση Solaris έκδοσης < 9
56 Παράδειγμα υλοποίησης Μ:Ν Solaris user thread Χώρος Χρήστη LWP LWP LWP PCB πολυνηματικής διεργασίας k k k kernel thread Χώρος Πυρήνα Μια πολυνηματική διεργασία αποτελείται από πολλές ελαφρές διεργασίες LightWeight Processes (LWPs) Ο χρονοδρομολογητής χώρου χρήστη βλέπει εικονικούς επεξεργαστές Ο χρονοδρομολογητής χώρου πυρήνα βλέπει νήματα πυρήνα Ανάγκη για upcalls: Ο πυρήνας ενημερώνει το χώρο χρήστη όταν ένα LWP πρόκειται να μπλοκάρει εκτέλεση έτοιμου νήματος σε νέο LWP
57 Νήματα - Σύνοψη Ορισμός νημάτων, σχέση με διεργασίες Πλεονεκτήματα πολυνηματισμού Μοντέλα πολυνηματισμού Υλοποίηση σε χώρο χρήστη, πυρήνα, συνδυασμού τους Βιβλιοθήκες και APIs πολυνηματισμού POSIX Threads, Win32, Java Threads
58 Δημιουργία νημάτων στα POSIX Threads Δημιουργία με pthread_create() int pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *), void * arg); π.χ. pthread_create(&tid, &attr, thread_fn, arg) Αναμονή για τερματισμό (pthread_exit()) με pthread_join() thread1 pthread_create thread1 pthread_join thread1 thread2 Compute thread2 pthread_exit thread2 (stopped)
59 Ερωτήσεις; και στη λίστα:
60 Χρηματοδότηση Το παρόν εκπαιδευτικό υλικό έχει αναπτυχθεί στα πλαίσια του εκπαιδευτικού έργου του διδάσκοντα. Το έργο «Ανοικτά Ακαδημαϊκά Μαθήματα» του ΕΜΠ έχει χρηματοδοτήσει μόνο την αναδιαμόρφωση του υλικού. Το έργο υλοποιείται στο πλαίσιο του Επιχειρησιακού Προγράμματος «Εκπαίδευση και Δια Βίου Μάθηση» και συγχρηματοδοτείται από την Ευρωπαϊκή Ένωση (Ευρωπαϊκό Κοινωνικό Ταμείο) και από εθνικούς πόρους.
Διεργασίες και Νήματα (2/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (2/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Νήματα
Διαβάστε περισσότεραΔιεργασίες και Νήματα (1/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διεργασίες και Νήματα (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Διεργασίες
Διαβάστε περισσότεραΧρονοδρομολογητής Κυκλικής Επαναφοράς
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών
Διαβάστε περισσότεραΔιαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 2 η Εργαστηριακή Άσκηση: Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Λειτουργικά
Διαβάστε περισσότεραΔιαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 2 η Εργαστηριακή Άσκηση: Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Λειτουργικά
Διαβάστε περισσότεραΠαράλληλη Επεξεργασία
Παράλληλη Επεξεργασία Φροντιστήριο: Εισαγωγή στα Πολυεπεξεργαστικά Συστήματα Διερασίες και Νήματα σε Πολυεπεξεργαστικά Συστήματα Εργαστήριο Πληροφοριακών Συστημάτων Υψηλής Επίδοσης Parallel and Distributed
Διαβάστε περισσότεραUNIX System Programming
UNIX System Programming Processes Objectives look at how to program UNIX processes fork( ), wait( ) Overview 1. What is a Process? 2. fork() 3. wait() 4. Process Data 1. What is a Process? A process is
Διαβάστε περισσότεραΣκελετός Παρουσίασης
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Σκελετός
Διαβάστε περισσότεραΛειτουργικά Συστήματα (ΗΥ321)
Λειτουργικά Συστήματα (ΗΥ321) Διάλεξη 2: Διεργασίες και Νήματα Διαδικαστικά 2 Γραφτήκατε στη λίστα; Σχηματίστε ομάδες (για το project)! Στο προηγούμενο επεισόδιο 3 Τι είναι λειτουργικό; Γενιές ΛΣ Βασικές
Διαβάστε περισσότεραΠεριγραφή και Έλεγχος ιεργασιών
Περιγραφή και Έλεγχος ιεργασιών Περίληψη ιεργασίες Πολυπρογραµµατισµός Καταστάσεις ιεργασιών Περιγραφή διεργασιών στο ΛΣ Έλεγχος διεργασιών Το ΛΣ Linux 1 ιεργασία (process) ιεργασία είναι κάθε πρόγραµµα
Διαβάστε περισσότεραιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr
ιεργασίες και νήµατα Προγραµµατισµός ΙΙΙ 1 lalis@inf.uth.gr Η έννοια της διεργασίας ιεργασία (process) είναι ο µηχανισµός εκτέλεσης ενός προγράµµατος σε ένα λειτουργικό σύστηµα. Η διεργασία είναι µια ενεργή
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω
Διαβάστε περισσότεραΕργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ
Εργαστήριο ΔΙΕΡΓΑΣΙΕΣ - ΔΙΑΧΕΙΡΙΣΗ Εισαγωγή Σκοπός τόσο αυτού του εργαστηρίου, όσο και των εργαστηρίων που ακολουθούν, είναι να γνωρίσουμε τους τρόπους δημιουργίας και διαχείρισης των διεργασιών (processes)
Διαβάστε περισσότερα1. Εισαγωγή. Λειτουργικά Συστήματα Η/Υ. Διεργασίες. Ορισμός ΚΕΦΑΛΑΙΟ 3 - ΔΙΕΡΓΑΣΙΕΣ. Κεφάλαιο 3 «Διεργασίες»
1. Εισαγωγή Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 3 «Διεργασίες» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας Η έννοια της διεργασίας (process) είναι θεμελιώδης για την κατανόηση του τρόπου με τον οποίο
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΕΡΓΑΣΙΕΣ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΕΡΓΑΣΙΕΣ Πολυεπεξεργασία Διεργασία (process) Νήμα (thread) Εργασία (task/job) Διεργασίες Διεργασία είναι μια (συγκεκριμένη) εκτέλεση κάποιου προγράμματος για λογαριασμό κάποιου
Διαβάστε περισσότεραΛύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΙΕΡΓΑΣΙΕΣ +- Με τον όρο διεργασία στο UNIX εννοούμε τη δυναμικη πράξη της
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Ο κώδικας δεν εκτελείται «μόνος του» Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΕικονική Μνήμη (1/2)
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Εικονική Μνήμη (1/2) Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Εικονική Μνήμη
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Ανοικτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ιονίων Νήσων Εισαγωγή στην Πληροφορική Ενότητα 8: Λειτουργικά Συστήματα Το περιεχόμενο του μαθήματος διατίθεται με άδεια Creative Commons εκτός και αν αναφέρεται διαφορετικά
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΛειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων
Διαβάστε περισσότεραΕ-85: Ειδικά Θέµατα Λογισµικού
Ε-85: Ειδικά Θέµατα Λογισµικού Προγραµµατισµός Συστηµάτων Υψηλών Επιδόσεων Χειµερινό Εξάµηνο 2009-10 «ιεργασίες και Νήµατα» Παναγιώτης Χατζηδούκας (Π.Δ. 407/80) E-85: Ε.Θ.Λ: Προγραµµατισµός Συστηµάτων
Διαβάστε περισσότεραΛειτουργικά Συστήματα. Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα
Λειτουργικά Συστήματα Τ.Ε.Ι. Ιονίων Νήσων Σχολή Διοίκησης και Οικονομίας - Λευκάδα Στέργιος Παλαμάς, Υλικό Μαθήματος «Λειτουργικά Συστήματα», 2015-2016 Κεφάλαιο 4: Διεργασίες Πρόγραμμα Πρόγραμμα 1 Πρόγραμμα
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος 2010-2011
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΕισαγωγικά & Βασικές Έννοιες
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΛειτουργικά Συστήματα (διαχείριση επεξεργαστή, μνήμης και Ε/Ε)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΤι είναι ένα λειτουργικό σύστημα (ΛΣ); Μια άλλη απεικόνιση. Το Λειτουργικό Σύστημα ως μέρος του υπολογιστή
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Λειτουργικά Συστήματα (διαχείριση επεξεργαστή, και Ε/Ε) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Τι είναι
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος 2011-2012
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΛειτουργικά Συστήματα Η/Υ
Λειτουργικά Συστήματα Η/Υ Κεφάλαιο 4 «Αρχιτεκτονικές ΛΣ» Διδάσκων: Δ Λιαροκάπης Διαφάνειες: Π. Χατζηδούκας 1 1. Μονολιθικά συστήματα Αρχιτεκτονικές ΛΣ 2. Στρωματοποιημένη αρχιτεκτονική 3. Αρχιτεκτονική
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 3 : Διεργασίες Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΕισαγωγή εκτελέσιμου κώδικα σε διεργασίες
0x375 - Thessaloniki Tech Talks Sessions Event 0x2 19 Μαρτίου 2010 Περιεχόμενα 1 Εισαγωγή 2 Η κλήση συστήματος ptrace 3 Νήματα 4 Το πρόγραμμα εισαγωγής κώδικα prez 5 Επίλογος Γιατί; Πολλές φορές θέλουμε
Διαβάστε περισσότεραΔίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals
Δίκτυα Επικοινωνιών ΙΙ: Network Programming UDP Sockets, Signals Δρ. Απόστολος Γκάμας Διδάσκων 407/80 gkamas@uop.gr Δίκτυα Επικοινωνιών ΙΙ Διαφάνεια 1 1 UDP vs TCP Το UDP είναι ένα connectionless, μη αξιόπιστο,
Διαβάστε περισσότεραΠρογραμματισμός Ταυτόχρονος Προγραμματισμός
Εισαγωγικά & Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Γιατί πολλές διεργασίες/νήματα; Επίπεδο εφαρμογής Καλύτερη δόμηση κώδικα Αποφυγή μπλοκαρίσματος / περιοδικών ελέγχων Φυσική έκφραση παραλληλισμού Επίπεδο
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος 2010-2011
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Θέμα
Διαβάστε περισσότεραΛειτουργικά Συστήματα Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Μ.Στεφανιδάκης Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα
Διαβάστε περισσότεραΔημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Διαβάστε περισσότεραΤο λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
Διαβάστε περισσότεραΔημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Διαβάστε περισσότεραΠρογραμματισμός συστημάτων UNIX/POSIX. Σήματα (signals)
Προγραμματισμός συστημάτων UNIX/POSIX Σήματα (signals) Σήματα (signals) Τα σήματα είναι «διακοπές» λογισμικού (software interrupts) οι οποίες διακόπτουν την κανονική λειτουργία μίας διεργασίας. Προκαλούνται
Διαβάστε περισσότεραΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα
ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3.1 Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός ανταγωνισµού µεταξύ
Διαβάστε περισσότεραΤο μάθημα. Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες 6. Ενσωματωμένα Συστήματα (embedded systems) Παραδείγματα
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Βασικές Έννοιες Το μάθημα ΛΣ Πραγματικού Χρόνου Θεωρητικό υπόβαθρο Αρχές Προγραμματισμού Παραδείγματα ΛΣ Εργασίες
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος 2011-2012
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΒασικές Έννοιες Πρ Ταο υγρ τόα χ μ ρ μ ο α ν τισμ ος Π ό ρ ςο ΙΙΙ γραμματισμός 1
Βασικές Έννοιες ΙΙΙ 1 lalis@inf.uth.gr Μονονηματική / πολυνηματική εκτέλεση Μονονηματικό μοντέλο εκτέλεσης (συμβατικό) Οι εντολές του κώδικα εκτελούνται σειριακά Ένα μοναδικό νήμα εκτέλεσης (execution
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος Κανονική Εξέταση Λύσεις
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότερα2. Σκοποί και Λειτουργίες των ΛΣ. Λειτουργικά Συστήματα Η/Υ. Περίληψη. Ι. Προστασία Υλικού ΚΕΦΑΛΑΙΟ 2 - ΕΞΕΛΙΞΗ ΚΑΙ ΣΚΟΠΟΙ ΛΣ
2. Σκοποί και Λειτουργίες των ΛΣ Λειτουργικά Συστήματα Η/Υ I. Προστασία του υλικού II. Επικοινωνία με τον χρήστη III. Διαχείριση, αξιοποίηση και έλεγχος πόρων IV. Ικανότητα και ευκολία εξέλιξης Κεφάλαιο
Διαβάστε περισσότεραΥποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική
Υποστήριξη Λ.Σ. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Επικοινωνία με περιφερειακά Αρτηρία εισόδου-εξόδου, διευθύνσεις, εγγραφές αναγνώσεις Διαδικασία εξόδου έλεγχος κατάστασης περιφερειακού περίμενε
Διαβάστε περισσότεραΛειτουργικά Συστήματα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες. Καταστάσεις Διεργασιών. PCB. Νήματα. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΟΡΓΑΝΩΣΗ Η/Υ ΔΟΜΗ ΤΟΥ Η/Υ (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
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Αρχιτεκτονική Υπολογιστών Υποσύστημα μνήμης Διδάσκων: Επίκουρος Καθηγητής Αριστείδης Ευθυμίου Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες
Διαβάστε περισσότεραΕισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για
Διαβάστε περισσότεραΛειτουργικά Συστήματα
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Λειτουργικά Συστήματα Ενότητα 3: Διεργασίες. Καταστάσεις Διεργασιών. PCB. Νήματα. Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότεραΛειτουργικά Συστήματα
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΧΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Λειτουργικά Συστήματα Ενότητα 2β: Αθηνά Βακάλη Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons.
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 4 : Αρχιτεκτονικές ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότεραΕργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο
Διαβάστε περισσότεραΕπιτεύγµατα των Λ.Σ.
Επιτεύγµατα των Λ.Σ. ιεργασίες ιαχείριση Μνήµης Ασφάλεια και προστασία δεδοµένων Χρονοπρογραµµατισµός & ιαχείρηση Πόρων οµή Συστήµατος ιεργασίες Ένα πρόγραµµα σε εκτέλεση Ένα στιγµιότυπο ενός προγράµµατος
Διαβάστε περισσότεραΝτίρλης Νικόλαος- ΕΤΥ 2 ο Φροντιστήριο Παρασκευή, 18/10/2013 Β4. Λειτουργικά Συστήματα- Φροντιστήριο 2
Ντίρλης Νικόλαος- ΕΤΥ 2 ο Φροντιστήριο Παρασκευή, 18/10/2013 Β4 Φροντιστήριο 2 1 Λειτουργικό Σύστημα -> Multitasking Κάθε διεργασία μπορεί να ειδωθεί σαν μία δέσμη στοιχείων που διατηρούνται από τον πυρήνα
Διαβάστε περισσότεραΜάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES)
Μάθημα 3 ο ΔΙΕΡΓΑΣΙΕΣ (PROCESSES) Εισαγωγή H κεντρική μονάδα επεξεργασίας (ΚΜΕ) και η κύρια μνήμη αποτελούν τα βασικά δομικά στοιχεία ενός υπολογιστικού συστήματος. Η πρώτη εκτελεί εντολές χειρισμού δεδομένων
Διαβάστε περισσότεραΚεφάλαιο 3. Διδακτικοί Στόχοι
Κεφάλαιο 3 Σε ένα υπολογιστικό σύστημα η Κεντρική Μονάδα Επεξεργασίας (ΚΜΕ) εκτελεί τις εντολές που βρίσκονται στην κύρια μνήμη του. Οι εντολές αυτές ανήκουν σε προγράμματα τα οποία, όταν εκτελούνται,
Διαβάστε περισσότεραΤρόποςΑξιολόγησης: α) Εργαστήρια (Προαιρετικάµε 20% - 35% βαρύτητα µόνοθετικά) β) Τελική Γραπτή Εξέταση
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Ύλη του Μαθήµατος Μάθηµα: Λειτουργικά Συστήµατα ΙΙ UNIX Βιβλίο Μαθήµατος: α) Tanenbaum, A.:ΣύγχροναΛειτουργικάΣυστήµατα, 2ηΈκδοση, Εκδόσεις Κλειδάριθµος. β) Wrightson, K.,
Διαβάστε περισσότεραΔιεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1
Διεργασίες (μοντέλο μνήμης & εκτέλεσης) Προγραμματισμός II 1 lalis@inf.uth.gr Πρόγραμμα και εκτέλεση προγράμματος Ο εκτελέσιμος κώδικας αποθηκεύεται σε ένα αρχείο Το αρχείο είναι μια «παθητική» οντότητα
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 13: Ταυτόχρονος Προγραμματισμός Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν
Διαβάστε περισσότεραΛειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία
Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 Ηλεκτρονικός Υπολογιστής αποτελείται: 1. Από Υλικό Hardware (CPUs, RAM, Δίσκοι), & 2. Λογισμικό - Software Και μπορεί να εκτελέσει διάφορες
Διαβάστε περισσότεραΔιάλεξη Εισαγωγή στη Java, Μέρος Γ
Τμήμα Πληροφορικής και Τηλεπικοινωνιών Ανάπτυξη Λογισμικού για Δίκτυα και Τηλεπικοινωνίες Χειμερινό Εξάμηνο 2017-2018 Διάλεξη Εισαγωγή στη Java, Μέρος Γ Νήματα (Threads) στην Java Συγχρονισμός Producer-Consumer
Διαβάστε περισσότεραΕργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση
Διαβάστε περισσότεραΛειτουργικά συστήματα πραγματικού χρόνου
Λειτουργικά συστήματα πραγματικού χρόνου Τι είναι λειτουργικό σύστημα πραγματικού χρόνου; Λειτουργικό Σύστημα Πραγματικού Χρόνου (ΛΣΠΧ) είναι ένα λειτουργικό σύστημα που προορίζεται για εφαρμογές πραγματικού
Διαβάστε περισσότεραΕνότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος Διεργασιών. Περιεχόμενα. Ανάγκη ύπαρξης διεργασιών 1
ΕΠΛ222: Λειτουργικά Συστήματα (μετάφραση στα ελληνικά των διαφανειών του βιβλίου Operating Systems: Internals and Design Principles, 8/E, William Stallings) Ενότητα 2 (Κεφάλαιο 3) Περιγραφή και Έλεγχος
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Λειτουργικά Συστήματα Ενότητα 13 : Δρομολόγηση Διεργασιών 3/3 Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΜάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή
Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.
Διαβάστε περισσότεραΕισαγωγή στην Πληροφορική & τον Προγραμματισμό
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Εισαγωγή στην Πληροφορική & τον Προγραμματισμό Ενότητα 2 η : Λειτουργία Η/Υ Ι. Ψαρομήλιγκος Χ. Κυτάγιας Τμήμα Διοίκησης Επιχειρήσεων
Διαβάστε περισσότεραΛειτουργικά Συστήματα
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου Λειτουργικά Συστήματα Ενότητα 2 : Σκοποί ΛΣ Δημήτριος Λιαροκάπης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Ηπείρου Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΛΟΓΙΣΜΙΚΟ (software)
ΛΟΓΙΣΜΙΚΟ (software) Το Λογισµικό του Ηλεκτρονικού Υπολογιστή Περιεχόµενα Ορισµός Λογισµικού Κατηγορίες Λογισµικό Συστήµατος Λογισµικό Εφαρµογών Το λογισµικό είναι: Το λογισµικό Το σύνολο των προγραµµάτων
Διαβάστε περισσότεραΘοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο
Θοδωρής Ανδρόνικος Τμήμα Πληροφορικής, Ιόνιο Πανεπιστήμιο Για το μάθημα «Διαχείριση Λειτουργικών Συστημάτων» του ακαδημαϊκού έτους 2015 2016, το προτεινόμενο σύγγραμμα είναι το: Operating Systems: Internals
Διαβάστε περισσότεραΔιαχείριση Κύριας Μνήμης
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων Διαχείριση Κύριας Μνήμης Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017 Διαχείριση
Διαβάστε περισσότεραΠρογραμματισμός συστημάτων UNIX/POSIX
Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) σήματα (signals) Ανάγκη Ότι είδαμε
Διαβάστε περισσότεραΔομημένος Προγραμματισμός
ΕΛΛΗΝΙΚΗ ΔΗΜΟΚΡΑΤΙΑ Ανώτατο Εκπαιδευτικό Ίδρυμα Πειραιά Τεχνολογικού Τομέα Δομημένος Προγραμματισμός Ενότητα: Συναρτήσεις θεωρία Δ. Ε. Μετάφας Τμ. Ηλεκτρονικών Μηχ. Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΛειτουργικά Συστήματα Πραγματικού Χρόνου
Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system
Διαβάστε περισσότεραΤο λειτουργικό σύστημα. Προγραμματισμός II 1
Το λειτουργικό σύστημα Προγραμματισμός II 1 lalis@inf.uth.gr Συστήματα υπολογιστών Ειδικού σκοπού συστήματα για μια συγκεκριμένη εφαρμογή η εφαρμογή είναι γνωστή εκ των προτέρων περιορισμένοι υπολογιστικοί
Διαβάστε περισσότεραΛειτουργικά Συστήματα
Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Διαβάστε περισσότεραΕθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 3 η Εργαστηριακή Άσκηση: Συγχρονισμός Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2017-2018
Διαβάστε περισσότεραΑντικειμενοστρεφής Προγραμματισμός
ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό
Διαβάστε περισσότεραΛειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά
Διαβάστε περισσότερα3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα
ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα 3. Λειτουργικό Σύστηµα 3. Η εξέλιξη των λειτουργικών συστηµάτων 3.2 Αρχιτεκτονική λειτουργικών συστηµάτων 3.3 Συντονισµός των δραστηριοτήτων του υπολογιστή 3.4 Χειρισµός
Διαβάστε περισσότεραΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ ΚΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ www.cslab.ece.ntua.gr Διπλωματικές
Διαβάστε περισσότεραΕισαγωγή στα Λειτουργικά συστήματα Ι. Καθηγητής Κώστας Αναγνωστόπουλος
Εισαγωγή στα Λειτουργικά συστήματα Ι Καθηγητής Κώστας Αναγνωστόπουλος Τι είναι Λειτουργικό Σύστημα Ένα πρόγραμμα ή συλλογή προγραμμάτων που ελέγχει και διαχειρίζεται το υλικό μιας υπολογιστικής μηχανής
Διαβάστε περισσότεραΑρχιτεκτονική υπολογιστών
1 Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Αρχιτεκτονική υπολογιστών Ενότητα 11 : Δομή και Λειτουργία της CPU 1/2 Φώτης Βαρζιώτης 2 Ανοιχτά Ακαδημαϊκά Μαθήματα στο ΤΕΙ Τμήμα Μηχανικών Πληροφορικής
Διαβάστε περισσότεραΝήµατα. ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων. Κατανεµηµένα Συστήµατα 10-1
Νήµατα ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων Κατανεµηµένα Συστήµατα 10-1 ιεργασίεςκαι νήµατα ιεργασία 1 Μνήµη ιεργασία 2 Μνήµη ιεργασία 3 Μνήµη Λειτουργικό Σύστηµα
Διαβάστε περισσότεραΣχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης
Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Αναστάσιος Α. Νάνος ananos@cslab.ntua.gr Επιβλέπων: Νεκτάριος
Διαβάστε περισσότεραΔιαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1
Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1 lalis@inf.uth.gr Συνεργασία ανάμεσα σε διεργασίες Για ασφάλεια/ανεξαρτησία, το ΛΣ εξασφαλίζει πλήρη απομόνωση ανάμεσα στις
Διαβάστε περισσότεραΕθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός
Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 3 η Εργαστηριακή Άσκηση: Συγχρονισμός Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2016-2017
Διαβάστε περισσότεραΟργάνωση Υπολογιστών (IΙI)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2016-17 Οργάνωση Υπολογιστών (IΙI) (συσκευές εισόδου-εξόδου) http://mixstef.github.io/courses/csintro/ Μ.Στεφανιδάκης Ένα τυπικό
Διαβάστε περισσότεραΙ.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ. Σημειώσεις Θεωρίας
Ι.Ε.Κ. Χαϊδαρίου ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ Σημειώσεις Θεωρίας Αθήνα 2015 Μάθημα 1: Λειτουργικά Συστήματα 1.1 Γενικά Κάθε υπολογιστικό σύστημα αποτελείται από: Υπολογιστικό Σύστημα Υλικό (Hardware) Λογισμικό
Διαβάστε περισσότεραΘέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας
Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Το επίπεδο προτεραιότητας µιας διεργασίας µπορεί να αλλάξει µε χρήση της συνάρτησης nice. Κάθε διεργασία διαθέτει µια τιµή που καλείται
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΝΗΜΑΤΑ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 3 ΝΗΜΑΤΑ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που αποτελεί
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Διαβάστε περισσότεραΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΕΙΣΑΓΩΓΗ
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διάλεξη 1 ΕΙΣΑΓΩΓΗ Οι διαφάνειες έχουν καθαρά επικουρικό χαρακτήρα στην παρουσίαση των διαλέξεων του μαθήματος. Δεν αντικαθιστούν σε καμία περίπτωση την παρακάτω βιβλιογραφία που
Διαβάστε περισσότεραΑρχιτεκτονική Υπολογιστών
Τμήμα Μηχανικών Πληροφορικής & Τηλεπικοινωνιών Αρχιτεκτονική Υπολογιστών Ενότητα 13: (Μέρος Β ) Λειτουργικό Σύστημα Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής
Διαβάστε περισσότερα