Διεργασίες - Σύνοψη. Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος. Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής

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

Download "Διεργασίες - Σύνοψη. Διακοπές, προνομιούχος κατάσταση Κλήσεις συστήματος. Ορισμός, μεταβάσεις κατάστασης κύκλος ζωής"

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

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

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

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

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

Χρονοδρομολογητής Κυκλικής Επαναφοράς

Χρονοδρομολογητής Κυκλικής Επαναφοράς Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 4 η Εργαστηριακή Άσκηση: Χρονοδρομολογητής Κυκλικής Επαναφοράς Λειτουργικά Συστήματα Υπολογιστών

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

Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία

Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 2 η Εργαστηριακή Άσκηση: Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Λειτουργικά

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

Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία

Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 2 η Εργαστηριακή Άσκηση: Διαχείριση Διεργασιών και Διαδιεργασιακή Επικοινωνία Λειτουργικά

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

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

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

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

UNIX System Programming

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω

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

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

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

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΕΡΓΑΣΙΕΣ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΔΙΕΡΓΑΣΙΕΣ Πολυεπεξεργασία Διεργασία (process) Νήμα (thread) Εργασία (task/job) Διεργασίες Διεργασία είναι μια (συγκεκριμένη) εκτέλεση κάποιου προγράμματος για λογαριασμό κάποιου

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΙΕΡΓΑΣΙΕΣ +- Με τον όρο διεργασία στο UNIX εννοούμε τη δυναμικη πράξη της

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Εικονική Μνήμη (1/2)

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος 2010-2011

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος 2010-2011 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 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

Λειτουργικά Συστήματα 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 Δίκτυα Επικοινωνιών ΙΙ: 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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος 2010-2011 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Θέμα

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός συστημάτων UNIX/POSIX. Σήματα (signals)

Προγραμματισμός συστημάτων UNIX/POSIX. Σήματα (signals) Προγραμματισμός συστημάτων UNIX/POSIX Σήματα (signals) Σήματα (signals) Τα σήματα είναι «διακοπές» λογισμικού (software interrupts) οι οποίες διακόπτουν την κανονική λειτουργία μίας διεργασίας. Προκαλούνται

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

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

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

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος 2011-2012

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος 2011-2012 ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

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

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

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος Κανονική Εξέταση Λύσεις

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος Κανονική Εξέταση Λύσεις ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

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

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

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

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

Υποστήριξη Λ.Σ. ΜΥΥ-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ο εξάμηνο, Ακαδημαϊκή περίοδος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος

Εργαστήριο Λειτουργικών Συστημάτων 8ο εξάμηνο, Ακαδημαϊκή περίοδος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Εργαστήριο

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ

Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ Σχολή Ηλεκτρολόγων Μηχανικών και Μηχανικών Υπολογιστών Εργαστήριο Λειτουργικών Συστημάτων 8o εξάμηνο, Ροή Υ, ΗΜΜΥ Σχεδιασμός και υλοποίηση υποδομής σημείωσης διεργασιών στον

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

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

Εισαγωγή στην Πληροφορική Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Αγρονόµων Τοπογράφων Μηχανικών Εισαγωγή στην Πληροφορική Αστροφυσικός Αναπλ. Καθηγητής ΕΜΠ romylos@survey.ntua.gr Λειτουργικά συστήµατα, διεργασίες και δροµολόγηση Σύνδεση

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

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

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

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

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

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

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

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

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

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

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή

Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή Μάθημα 8: Επικοινωνία Συσκευών με τον Επεξεργαστή 8.1 Τακτική σάρωση (Polling) Ας υποθέσουμε ότι έχουμε ένα πληκτρολόγιο συνδεδεμένο σε ένα υπολογιστικό σύστημα. Το πληκτρολόγιο είναι μια μονάδα εισόδου.

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

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

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

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

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

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

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

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

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

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

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

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

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

Διαχείριση Κύριας Μνήμης

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

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

Προγραμματισμός συστημάτων UNIX/POSIX

Προγραμματισμός συστημάτων UNIX/POSIX Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) σήματα (signals) Ανάγκη Ότι είδαμε

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

Δομημένος Προγραμματισμός

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

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

Λειτουργικά Συστήματα Πραγματικού Χρόνου

Λειτουργικά Συστήματα Πραγματικού Χρόνου Λειτουργικά Συστήματα Πραγματικού Χρόνου 2006-07 Λειτουργικά Συστήματα Πραγματικού Χρόνου Η χρήση του χρόνου Μ.Στεφανιδάκης Συστήματα πραγματικού χρόνου: ελεγκτής και ελεγχόμενο σύστημα real-time system

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

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

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

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

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

Λειτουργικά Συστήματα Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:09 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων 3 η Εργαστηριακή Άσκηση: Συγχρονισμός Λειτουργικά Συστήματα Υπολογιστών 7ο Εξάμηνο, 2017-2018

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

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

Αντικειμενοστρεφής Προγραμματισμός ΑΡΙΣΤΟΤΕΛΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΟΝΙΚΗΣ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΙΚΑ ΜΑΘΗΜΑΤΑ Αντικειμενοστρεφής Προγραμματισμός Ενότητα 11: Χειρισμός Σφαλμάτων Γρηγόρης Τσουμάκας, Επικ. Καθηγητής Άδειες Χρήσης Το παρόν εκπαιδευτικό

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

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος

Λειτουργικά Συστήματα 7ο εξάμηνο, Ακαδημαϊκό Έτος ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΣΧΟΛΗ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ KΑΙ ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΤΟΜΕΑΣ ΤΕΧΝΟΛΟΓΙΑΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ http://www.cslab.ece.ntua.gr Λειτουργικά

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

3.1 Λειτουργικό Σύστηµα. Λειτουργικό Σύστηµα (2) ΚΕΦΑΛΑΙΟ 3: Λειτουργικά Συστήµατα. Ο υπολογιστής σαν σκέτο hardware έχει περιορισµένη χρησιµότητα

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 Νήµατα ιεργασίες και νήµατα Υλοποίηση νηµάτων Ελαφριές διεργασίες Αξιοποίηση νηµάτων Κατανεµηµένα Συστήµατα 10-1 ιεργασίεςκαι νήµατα ιεργασία 1 Μνήµη ιεργασία 2 Μνήµη ιεργασία 3 Μνήµη Λειτουργικό Σύστηµα

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

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης

Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Σχεδίαση και Υλοποίηση Μηχανισμού Μεταφοράς Δεδομένων από Συσκευές Αποθήκευσης σε Δίκτυο Myrinet, Χωρίς τη Μεσολάβηση της Ιεραρχίας Μνήμης Αναστάσιος Α. Νάνος ananos@cslab.ntua.gr Επιβλέπων: Νεκτάριος

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

Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1

Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1 Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1 lalis@inf.uth.gr Συνεργασία ανάμεσα σε διεργασίες Για ασφάλεια/ανεξαρτησία, το ΛΣ εξασφαλίζει πλήρη απομόνωση ανάμεσα στις

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

Εθνικό Μετσόβιο Πολυτεχνείο Σχολή Ηλεκτρολόγων Μηχ. και Μηχανικών Υπολογιστών Εργαστήριο Υπολογιστικών Συστημάτων. Συγχρονισμός

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

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

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

Οργάνωση Υπολογιστών (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 Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής

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