Διάλεξη 5 Προχωρημένες εντολές Unix και Εργαλεία Ωφελιμότητας (System Utilities)

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

Download "Διάλεξη 5 Προχωρημένες εντολές Unix και Εργαλεία Ωφελιμότητας (System Utilities)"

Transcript

1 ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 5 Προχωρημένες εντολές Unix και Εργαλεία Ωφελιμότητας (System Utilities) Δημήτρης Ζεϊναλιπούρ 5-1

2 Περιεχόμενο Διάλεξης Έλεγχος Διεργασιών (jobs, ps, fg, bg, kill, top), Εύρεση Αρχείων και Προγραμμάτων (which, whereis, find, exec, xargs), Εντολές UNIX (alias, cut, tr, tee, mail, comm, diff, crontab). 5-2

3 Έλεγχος Διεργασιών Διεργασία: Εάν πρόγραμμα υπό εκτέλεση Η εκτέλεση εντολών και προγραμμάτων προσθέτει διεργασίες στο σύστημα. Π.χ., κάθε (υπό-)κέλυφος είναι μια διεργασία Ανά πάσα στιγμή στο UNIX εκτελούνται πολλαπλές διεργασίες (όχι κατ ανάγκη ενεργές). Κάθε διεργασία αναγνωρίζεται από τον πυρήνα με το Process IDentifier (PID) αριθμό που ανατίθεται κατά την δημιουργία μιας διεργασίας. 5-3

4 Έλεγχος Διεργασιών (H εντολή ps) Μαθαίνοντας ποιες διεργασίες τρέχουν Εντολή ps (process status) τυπώνει μια λίστα από όλες τις διεργασίες που βρίσκονται υπό εκτέλεση στο σύστημα. δίνει μεταξύ άλλων το αναγνωριστικό διεργασίας (PID), το PPID parent PID που υποδηλώνει την διεργασία γονέα (που δημιούργησε την PID) Για να δούμε ΚAΘΕ (EVERY) διεργασία με standard σύνταξη: ps e ή ps A Για να δούμε ΚAΘΕ (EVERY) διεργασία με BSD σύνταξη: ps ax (x: να περιλαμβάνει αυτές που δεν έχουν terminal) * Οι επιλογές μεταξύ των συντάξεων μπορεί να αναμειγνύονται αλλά μπορεί να προκύψουν conflicts. 5-4

5 Έλεγχος Διεργασιών (H εντολή ps) f: Full column format Εκτέλεση από το κέλυφος: $ps -ef head -15 (στο linux) Userid, processid, parentprocessid, cpu%, systemtime, command UID PID PPID C STIME TTY TIME CMD root Feb15? 00:00:24 init root Feb15? 00:00:00 [keventd] root Feb15? 00:00:26 [ksoftirqd_cpu0] root Feb15? 00:00:00 [ksoftirqd_cpu1] root Feb15? 00:00:00 [ksoftirqd_cpu2] root Feb15? 00:00:00 [ksoftirqd_cpu3] root Feb15? 00:12:49 [kswapd] root Feb15? 13:10:36 [kscand] root Feb15? 00:00:00 [bdflush] root Feb15? 00:00:32 [kupdated] root Feb15? 00:00:00 [mdrecoveryd] b) Όλες οι διεργασίες root Feb15? 00:00:00 [scsi_eh_0] «γεννιούνται» από την Init η root Feb15? 00:00:00 [scsi_eh_1] οποια εχει PID#1 root Feb15? 00:02:59 [kjournald] a) Η init γεννιέται από τον χρονοδρομολογητή του πυρήνα PID#0 c) Οι διεργασίες αυτές εκτελούνται ΕΠΛ 371 στο Προγραμματισμός background και Συστημάτων ονομάζονται daemon processes. Για αυτό τον λόγο δεν έχουν controlling terminal (stdin,out,err). 5-5

6 Flag a u x Έλεγχος Διεργασιών (H εντολή ps) Χρήσιμες επιλογές της ps εντολής Για περισσότερα δείτε εγχειρίδιο (man) Meaning All (BSD-syntax): Shows all processes associated with terminals attached to the system User-Only (BSD-syntax): Produces output only for current user. Terminal-Not-Necessary (BSD-syntax): Shows processes in the system including those with NO terminal. -e -A Every (Standard Syntax): Shows every processes on the system (same with ax option) -f Full (Standard Syntax): Gives full output format 5-6

7 Έλεγχος Διεργασιών (H εντολή ps) See own processes with full-format output Percent of Percent of RAM used Virtual memory used Real memory bash-3.1$ ps fu CPU used USER PID %CPU %MEM VSZ used RSS TTY STAT START TIME COMMAND cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 \_ bash cspgcc pts/1 R+ 18:53 0:00 \_ ps fu See ALL processes on the machine Associated Terminal Status (will study next) Time process started CPU Time used Command Executed bash-3.1$ ps aux USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND root ? Ss Jan30 0:01 init [5] root ? S Jan30 0:00 [migration/0] cs05ni f ? Ssl Feb02 0:00 dbus-daemon -- cs05mp1 f ? Ssl Feb02 0:00 dbus-daemon -- ee06nn1 f ? Ssl Feb02 0:00 dbus-daemon -- cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 bash cspgcc1 f ? Ssl 12:22 0:00 dbus-daemon -- cspgcc pts/1 R+ 19:07 0:00 ps aux 5-7

8 Έλεγχος Διεργασιών Status value R Meaning (H εντολή ps) Process Status field with ps aux Running or runnable (on run queue) T R X S,D T S D X Z Stopped, either by a job control signal (CTRL-Z (20) or signal19) or because it is being traced. Interruptible sleep (Blocked) (waiting for an event to complete) Uninterruptible sleep (usually IO) Dead (Terminated): Should never be seen Zombie process (the process has ended but hasn t returned the EXIT code to its parent, thus has not freed up its resources) Θα επεξηγηθεί στην διάλεξη 13! * Οι πιο πάνω κωδικοί ΕΠΛ μπορεί 371 να Προγραμματισμός συνοδεύονται Συστημάτων από BSD-syntax κωδικούς, π.χ., Ss σημαίνει Blocked command + session leader 5-9

9 Έλεγχος Διεργασιών (Η εντολή top) Μαθαίνοντας ποιες διεργασίες τρέχουν Εντολή top Τυπώνει τις διεργασίες που χρησιμοποιούν το μεγαλύτερο CPU χρόνο (την πρώτη οθόνη μόνο η οποία ενημερώνεται περιοδικά) bash-3.1$ top top - 19:38:10 up 5 days, 5:10, 2 users, load average: 0.04, 0.01, 0.00 Tasks: 115 total, 1 running, 113 sleeping, 1 stopped, 0 zombie Cpu(s): 0.0% us, 0.2% sy, 0.0% ni, 99.8% id, 0.0% wa, 0.0% hi, 0.0% si, Mem: k total, k used, 99520k free, k buffers Swap: k total, 0k used, k free, k cached PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 1 root S :01.31 init 2 root RT S :00.00 migration/0 3 root S :00.00 ksoftirqd/0 4 root RT S :00.00 watchdog/0 +20 (highest priority) (lowest priority nice -n 19 ΕΠΛ command 371 (run Προγραμματισμός command with certain Συστημάτων nice level) renice 19 -p 1024 (set nice level of running process 5-10

10 Τερματισμός Διεργασιών (Η εντολή kill) Τερματίζοντας διεργασίες Εντολή kill <options-number> <PID> στέλvει σήμα (μέσω πυρήνα) σε διεργασία που τρέχει εξ ορισμού, στέλνεται το σήμα τερματισμού SIGINT (TERM, Signal-2, Ctrl-C).» To σήμα-2 μπορεί να αγνοηθεί από την υπό εκτέλεση διεργασία. Εάν θέλουμε οπωσδήποτε να τερματίσουμε μια διεργασία μπορούμε να στείλουμε το σήμα SIGKILL (KILL, Signal- 9).» Το σήμα-9 ΔΕΝ μπορεί να αγνοηθεί από μια διεργασία 5-11

11 Έλεγχος Διεργασιών bash-3.1$ ls -l ~ grep test sort uniq more & [1] 3771 bash-3.1$ [1]+ Stopped ls -l ~ grep test sort uniq more bash-3.1$ bash-3.1$ ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 bash cspgcc pts/1 T 20:14 0:00 ls -l /u/studen cspgcc pts/1 T 20:14 0:00 grep test cspgcc pts/1 T 20:14 0:00 sort cspgcc pts/1 T 20:14 0:00 uniq cspgcc pts/1 T 20:14 0:00 more cspgcc pts/1 R+ 20:15 0:00 ps u bash-3.1$ bash-3.1$ kill bash-3.1$ ps u Τι κάνει η εντολή kill -9-1 και γιατί; USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 bash cspgcc pts/1 T 20:14 0:00 grep test cspgcc pts/1 T 20:14 0:00 sort cspgcc pts/1 T 20:14 0:00 uniq cspgcc pts/1 T 20:14 0:00 more cspgcc pts/1 R+ 20:15 0:00 ps u Τοποθέτηση εντολής στο background (sleep) [1]+ Stopped ls -l ~ grep test sort uniq more Αναμονή enter 5-12

12 Τερματισμός Διεργασιών (Η εντολή kill) Η kill δεν είναι απλά εντολή τερματισμού μιας διεργασίας αλλά εντολή αποστολής σήματος σε μια διεργασία. Παραδείγματα Σημάτων (θα δούμε κάποια από αυτά αργότερα στο μάθημα) SIGHUP (1) terminal line got hung-up (θυμηθείτε nohup) SIGINT (2) interrupt (Control^C) SIGKILL (9) kill SIGUSR1 (10) user-defined signal 1 SIGSEGV (11) Segm. Viol. invalid memory reference SIGUSR2 (12) user-defined signal 2 SIGALRM (14) alarm clock SIGTERM (15) software termination signal (like 2) SIGCONT (18) continue after stop SIGSTOP (19) stop (cannot be caught or ignored). SIGTSTP (20) stop signal from keyboard (Control^Z)

13 Διακοπή/Επαναφορά Διεργασιών (Η εντολή fg) Μπορούμε να σταματήσουμε (προσωρινά) μια εργασία (εντολή γραμμής) που τρέχει στο προσκήνιο επιλέγοντας το Ctrl-z (σήμα-20) Όταν μια εργασία έχει σταματήσει, μπορούμε να την επαναφέρουμε με: Εντολή fg (foreground) Ξεκινά (resume) ένα πρόγραμμα που είχε σταματήσει Αναφέρεται στο πρόγραμμα που έχει έλεγχο του κελύφους 5-14

14 Διακοπή/Επαναφορά Διεργασιών Παράδειγμα (Η εντολή fg) $ vi file.txt # Εδώ ανοίγει ο vi editor με το αρχείο file.txt ~ ~ Ctrl-Z # Εδώ το διακόπτουμε και επιστρέφουμε στο κέλυφος $ fg # Το επαναφέρουμε ξανά στο προσκήνιο ~ ~ Μπορούμε να διακόψουμε πολλαπλές διεργασίες και να τις επαναφέρουμε μια-μια; NAI (δες επόμενη διαφάνεια) 5-15

15 Διακοπή/Επαναφορά Διεργασιών Παράδειγμα (Η εντολή fg) $ vi file1.txt # Εδώ ανοίγει ο vi editor με το αρχείο file1.txt ~ Ctrl-Z # Suspend $ bg $ vi file2.txt # Εδώ ανοίγει ο vi editor με το αρχείο file2.txt ~ Ctrl-Z # Suspend $ bg $ fg # επαναφέρει το αρχείο file2 (ανασύρεται από μια στοίβα!) --- Εδώ κλείνουμε το αρχείο file2 με ESC-:-q! $ fg # επαναφέρει το αρχείο file1 (ανασύρεται από μια στοίβα!) --- Εδώ κλείνουμε το αρχείο file1 με ESC-:-q! 5-16

16 Διακοπή/Επαναφορά Διεργασιών (Η εντολή bg και το &) Εντολή bg (background) Τοποθετεί μια διεργασία στο background. Χρήση του &: Μια διαφορετική προσέγγιση είναι να ξεκινήσουμε ένα πρόγραμμα στο παρασκήνιο και να αφήσουμε το UNIX σύστημα να το διαχειριστεί. Ένα πρόγραμμα (ή διοχέτευση) αυτόματα μπαίνει στο παρασκήνιο, τοποθετώντας ένα & στο τέλος της γραμμής εντολής. Εάν το πρόγραμμα χρειάζεται κάποια είσοδο ή έξοδο, τότε σταματάει, όπως οι εργασίες που έχουμε βάλει στο παρασκήνιο με την εντολή bg μετά που έχουν ήδη ξεκινήσει να τρέχουν. 5-17

17 Διακοπή/Επαναφορά Διεργασιών (Η εντολή bg και το &) bash-3.1$ ls -l ~ grep test sort uniq more & [1] 2723 bash-3.1$ [1]+ Stopped ls -l ~ grep test sort uniq more bash-3.1$ bash-3.1$ fg ls -l ~ grep test sort uniq more -rw-r--r-- 1 cspgcc1 cspg 0 Feb 1 00:22 test-cut.txt~ -rw-r--r-- 1 cspgcc1 cspg 0 Feb 1 00:30 test-tr~ -rw-r--r-- 1 cspgcc1 cspg 0 Jan 24 09:08 test1.txt 5-18

18 Ακολουθιακή vs. Παράλληλη Εκτέλεση Εντολών Τρέχοντας πολλαπλές διεργασίες Ακολουθιακά Είναι δυνατό να υποδείξουμε στο UNIX να εκτελέσει μια σειρά εντολών χρησιμοποιώντας μια γραμμή εντολής κάνοντας χρήση του τελεστή «;» π.χ. ls ; more *.txt ; cd Παράλληλα π.χ. ls & cat file.txt & grep pattern file.txt 5-19

19 Διεργασίες (Process) vs. Εργασίες (Jobs) Διεργασία (Process): Πώς το λειτουργικό σύστημα UNIX αναφέρεται σ ένα πρόγραμμα που βρίσκεται υπό εκτέλεση. Αναγνώριση από PID: τυχαίος αριθμός από τον πυρήνα του ΛΣ. Εργασία (Job): Πώς το κέλυφος βλέπει τα προγράμματα που τρέχουν που έχουν ξεκινήσει από το κέλυφος Αναγνώριση από JobID: αύξων αριθμός κελύφους Μια ολοκληρωμένη εντολή στη γραμμή εντολών του UNIX είναι μια εργασία. 5-20

20 Έλεγχος Εργασιών (Jobs) (H εντολή jobs) Μαθαίνοντας ποιες εργασίες τρέχουν Εντολή jobs τυπώνει μια λίστα από όλες τις εργασίες που τρέχουν στο παρασκήνιο του κελύφους δίνει τον αριθμό ελέγχου εργασίας (job ID) και την γραμμή εντολής που τρέχει. 5-21

21 Έλεγχος Εργασιών (Jobs) JOB 1 bash-3.1$ grep '^c.*h$' /usr/share/dict/words > output.txt & [1]+ Stopped grep '^c.*h$' /usr/share/dict/words >output.txt + υποδηλώνει την πιο πρόσφατη εργασία JOB 2 bash-3.1$ ls -l ~ grep test sort uniq more & [2] 3035 bash-3.1$ [2]+ Stopped ls -l ~ grep test sort uniq more bash-3.1$ jobs [1]- Stopped grep '^c.*h$' /usr/share/dict/words sort -r >output.txt [2]+ Stopped ls -l ~ grep test sort uniq more 5-22

22 Έλεγχος Εργασιών (Jobs) (fg %, bg %, kill %) Στέλλοντας εργασίες στο προσκήνιο Εντολή fg %<job_id> Η εντολή fg χωρίς παραμέτρους χειρίζεται την πιο πρόσφατη εργασία («σημαδεμένη» με ένα + στη λίστα των εργασιών) Στέλλοντας εργασίες στο παρασκήνο Εντολή bg %<job_id> Η εντολή bg χωρίς παραμέτρους χειρίζεται την πιο πρόσφατη εργασία («σημαδεμένη» με ένα + στη λίστα των εργασιών) 5-23

23 Έλεγχος Εργασιών (Jobs) (fg %, bg %, kill %) Μετά bash-3.1$ fg %1 grep '^c.*h$' /usr/share/dict/words sort -r >output.txt bash-3.1$ bg %1 [1]- grep '^c.*h$' /usr/share/dict/words sort -r >output.txt & bash-3.1$ [1]- Done grep '^c.*h$' /usr/share/dict/words sort -r >output.txt # Εδώ ολοκληρώνει η εκτέλεση της εργασίας 1. bash-3.1$ jobs [2]+ Stopped ls -l ~ grep test sort uniq more 5-24

24 Έλεγχος Εργασιών (Jobs) (fg %, bg %, kill %) Τερματίζοντας εργασίες Εντολή kill % <job_id> bash-3.1$ ls -l ~ grep test sort uniq more & [1] 3650 bash-3.1$ jobs [1]+ Stopped ls -l ~ grep test sort uniq more bash-3.1$ bash-3.1$ ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND JOB 1 cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 bash cspgcc pts/1 T 19:47 0:00 ls -l /u/studen cspgcc pts/1 T 19:47 0:00 grep test cspgcc pts/1 T 19:47 0:00 sort cspgcc pts/1 T 19:47 0:00 uniq cspgcc pts/1 T 19:47 0:00 more cspgcc pts/1 R+ 19:47 0:00 ps u bash-3.1$ bash-3.1$ kill %1 bash-3.1$ ps u USER PID %CPU %MEM VSZ RSS TTY STAT START TIME COMMAND cspgcc pts/1 Ss 12:11 0:00 -ksh cspgcc pts/1 S 12:11 0:00 bash cspgcc pts/1 R+ 19:47 0:00 ps u [1]+ Terminated ls -l ~ grep test sort uniq more bash-3.1$ jobs bash-3.1$ jobs -l [1] Stopped (tty output) ls --colo 9857 grep test 9858 sort 9859 uniq 9860 more 5-25

25 Διακρίβωση Ταυτότητας Εντολής (H εντολή which) Εντολή which <ProgramName> Αναφέρει ποιο εκτελέσιμο τρέχει όταν καλείς ένα πρόγραμμα (μπορεί να υπάρχουν πολλαπλά εκτελέσιμα εγκατεστημένα στο σύστημα) Ψάχνει στο δικό PATH του χρήστη bash-3.1$ which more /bin/more bash-3.1$ which ls /bin/ls bash-3.1$ which gran which: no gran in (/usr/local/bin:/bin/:/usr/bin:/etc:/usr/sbin:/ usr/ucb:/u/students/cs/pgrad/cspgcc1/bin:/usr/b in/x11:/sbin:.) 5-26

26 Εύρεση Εντολών / Προγραμμάτων (H εντολή whereis) Εντολή whereis <ProgramName> Εντοπίζει i) το εκτελέσιμο, ii) τον πηγαίο κώδικα και iii) τη σελίδα εγχειριδίου για μια εντολή bash-3.1$ whereis ls ls: /bin/ls /usr/share/man/man1/ls.1.gz /usr/share/man/man1p/ls.1p.gz 5-27

27 Γενική Αναζήτηση στο Filesystem (H εντολή find) find <path> <options> <expression> Ανεύρεση αρχείων με βάση διαφόρων στοιχείων (δέστε man find) Όνομα Χρόνος τροποποίησης Δικαιώματα πρόσβασης Μέγεθος αρχείου 5-28

28 Γενική Αναζήτηση στο Filesystem Παράδεγμα: (H εντολή find) bash-3.1$ find ~ -name "test*.txt" /home/faculty/cchrys/test/test1/test1.txt /home/faculty/cchrys/test/test2/test2.txt /home/faculty/cchrys/test/test.txt Εντολές Δράσης: -print Απλά εκτυπώνει το όνομα του αρχείου που έχει βρεθεί -exec <COMMAND> \; Εκτελεί την εντολή (COMMAND) για κάθε αρχείο που ταιριάζει 5-29

29 Γενική Αναζήτηση στο Filesystem (H εντολή find) Επιλογές -name Ταιριάζει το όνομα ενός αρχείου -iname Case-insensitive -type d directory f regular file L symbolic link -atime N Τελευταία πρόσβαση στο αρχείο Ν μέρες πριν. -mtime N Τελευταία τροποποίηση στο αρχείο Ν μέρες πριν. Ν+ : Περισσότερες από Ν μέρες πριν Ν- : Λιγότερες από Ν μέρες πριν 5-30

30 Γενική Αναζήτηση στο Filesystem (H εντολή find) Παράδεγμα (με ίδιο αποτέλεσμα): bash-3.1$ find ~ -name "test*.txt" -print /home/faculty/cchrys/test/test1/test1.txt /home/faculty/cchrys/test/test2/test2.txt /home/faculty/cchrys/test/test.txt bash-3.1$ find ~ -name "test*.txt" -exec echo {} \; /home/faculty/cchrys/test/test1/test1.txt /home/faculty/cchrys/test/test2/test2.txt /home/faculty/cchrys/test/test.txt {} αντικαθίσταται από το όνομα του αρχείου που ανευρίσκεται από την find. Η επιλογή -exec επιτρέπει την εκτέλεση μιας εντολής σε όλα τα αρχεία που ταιριάζουν σε συγκεκριμένα κριτήρια. 5-31

31 Ορίσματα Γραμμής Εισόδου (H εντολή xargs) Εντολή xargs <COMMAND> Παίρνει τιμές από το ρεύμα εισόδου και τις μετατρέπει σε ορίσματα γραμμής εντολής (command line parameters) Χρησιμοποιείται όταν ένα πρόγραμμα εμφανίζει στην έξοδο μια λίστα, η οποία θα χρησιμοποιηθεί ως είσοδος σ άλλο πρόγραμμα Παράδειγμα: find. name *.txt xargs grep Markus find. name *.txt -exec grep Markus {} \; Τρέχει μια φορά για κάθε αποτέλεσμα της find. περισσότερες φορές από το xargs! 5-32

32 Άλλες Εντολές UNIX (H εντολή alias) Εντολή alias <NAME>= COMMAND «συντόμευση» εντολής με ένα όνομα bash-3.1$ alias ll='ls -l' bash-3.1$ ll test/ total 4 drwxr-xr-x 2 cspgcc1 cspg 22 Jan 24 10:42 test2 -rwxrwxr-x 1 cspgcc1 cspg 0 Jan 30 19:40 test.txt bash-3.1$ alias alias ll='ls -l bash-3.1$ unalias ll bash-3.1$ alias 5-33

33 Άλλες Εντολές UNIX (H εντολή cut) Εντολή cut (επιλογές -d, -f) Εμφανίζει επιλεγμένα πεδία των γραμμών αρχείου στην έξοδο Επιλογή d (delimiter) καθορισμός νέας οριοθέτησης πεδίων στις γραμμές, αντί του tab (π.χ.,, ή άλλος χαρακτήρας) Επιλογή f[1,][2,]...[#n] (field) Επιλογή συγκεκριμένων πεδίων Αργότερα θα δούμε τον πιο ισχυρό επεξεργαστή πεδίων ροών awk 5-34

34 Άλλες Εντολές UNIX (H εντολή cut) bash-3.1$ more test-cut.txt Line number 1 Line number 2 Line number 3 Line number 4 bash-3.1$ cut -d' ' -f3 test-cut.txt bash-3.1$ cut -d' ' --field=1,3 test-cut.txt Line 1 Line 2 Line 3 Line

35 Άλλες Εντολές UNIX (H εντολή tr) Εντολή tr (επιλογές -d, -s) - Translate Μεταφράζει, συμπιέζει ή/και διαγράφει χαρακτήρες της εισόδου. Μετατροπή του FROM string σε TO string. Χρήση: tr [option] <FROM> <TO> Επιλογή d (delete) Διαγράφει τους χαρακτήρες εισόδου που ορίζονται στο FROM. Επιλογή s (suppress repetition) Αντικαθιστά κάθε συνεχόμενο επαναλαμβανόμενο χαρακτήρα της εισόδου που ορίζεται στο FROM 5-36

36 Άλλες Εντολές UNIX (H εντολή tr) bash-3.1$ more test-tr.txt Thiss is the start of the novel i wrote. bash-3.1$ tr 'i' 'I' < test-tr.txt ThIss Is the start of the novel I wrote. bash-3.1$ tr -d 'is' < test-tr.txt Th the tart of the novel wrote bash-3.1$ tr -s 's' < test-tr.txt This is the start of the novel i wrote. Αργότερα θα δούμε πιο δυναμικούς τρόπους αντικατάστασης σε ρεύματα με sed. 5-37

37 Άλλες Εντολές UNIX (H εντολή tee) Εντολή tee Διαβάζει από το ρεύμα εισόδου και γράφει στο ρεύμα εξόδου ΚΑΙ σε αρχείο ταυτόχρονα Τοποθετείς την tee εντολή οπουδήποτε σε μια διοχέτευση για αντιγράψει το ρεύμα εισόδου της tee εντολής σε αρχείο και στο ρεύμα εξόδου ή στο επόμενο βήμα της διοχέτευσης. sort somefile.txt tee sorted_file.txt uniq -c 5-38

38 Άλλες Εντολές UNIX (H εντολή mail) Εντολή mail (επιλογές -s, -cc) Αποστολή και παραλαβή ηλεκτρονικών μηνυμάτων Επιλογή -s Θέμα (Subject) Επιλογή -cc cc-address mail s EPL371 cc dzeina epl371@cs.ucy.ac.cy < elp371_syllabus.pdf 5-39

39 Άλλες Εντολές UNIX (H εντολή comm) Εντολή comm Συγκρίνει δυο ταξινομημένα αρχεία γραμμή-γραμμή Χωρίς επιλογές, παράγει ως έξοδο τρεις στήλες. Στήλη 1 περιέχει γραμμές μοναδικές του αρχείου 1 Στήλη 2 περιέχει γραμμές μοναδικές του αρχείου 2 Στήλη 3 περιέχει γραμμές κοινές των δυο αρχείων $cat file1 a b c $cat file2 a b b c $ comm file1 file2* a b b c (2 nd occurrence) Eπιλογή -1 Καταστέλλει (suppress) τις γραμμές μοναδικές για αρχείο 1 Επιλογή -2 Καταστέλλει (suppress) τις γραμμές μοναδικές για αρχείο 2 Επιλογή -3 Καταστέλλει (suppress) τις γραμμές που εμφανίζονται και στα δυο αρχεία * Όνομα ΕΠΛ 371 αρχείου Προγραμματισμός «-» σημαίνει Συστημάτων να διαβάσουμε από το ρεύμα εισόδου 5-40

40 Εντολή diff Άλλες Εντολές UNIX (H εντολή diff) Βρίσκει διαφορές μεταξύ δυο αρχείων Επιλογή i (case insensitive) $cat file1 x y z $cat file2 x y y z $ diff file1 file2 2a3 > y Explanation: a:added, d:deleted, c:changed <Original Line Number> a/d/c <Modified Line Number> > Added Text < Deleted Text Examples:

41 Άλλες Εντολές UNIX (H εντολή diff) Η λειτουργία της diff στηρίζεται στην επίλυση του προβλήματος longest common subsequence. Σε αυτό το πρόβλημα υπάρχουν 2 ακολουθίες: a b c d f g h j q z a b c d e f g i j k r x y z Το ζητούμενο είναι βρεθεί η μακρύτερη ακολουθία η όποια εμφανίζεται και στις 2 ακολουθίες (ενδέχεται να υπάρχουν πολλές LCSS ακολουθίες), π.χ., a b c d f g j z Η diff κατ' επέκταση δηλώνει με'-' ή '+' ποια αντικείμενα δεν εμφανίζονται ή εμφανίζονται στη LCSS ακολουθία e h i q k r x y

42 Άλλες Εντολές UNIX (H εντολή crontab) Εντολή crontab Χρησιμοποιείται για χρονοδρομολόγηση (scheduling) εκτέλεσης εντολών, περιοδικά. Οι εντολές μαζεύονται σε αρχείο γνωστό ως «crontab», το οποίο διαβάζεται και του οποίου οι εντολές τρέχουν στο παρασκήνιο από το cron daemon το οποίο τρέχει σταθερά στο παρασκήνιο και ελέγχει κάθε λεπτό να δει αν υπάρχουν εργασίες που πρέπει να εκτελεστούν. Αυτές οι εντολές ονομάζονται cron jobs. Για να χρονοδρομολογήσεις τις εργασίες που θέλεις, πρέπει να τις αποστείλεις στο cron daemon χρησιμοποιώντας την εντολή crontab. Η επόμενη διαφάνεια δείχνει πως 5-43

43 Άλλες Εντολές UNIX (H εντολή crontab) crontab -e Edit your crontab file, or create one if it doesn't already exist. crontab -l Display your contab file Crontab σύνταξη : Ορίζει πότε να εκτελείται η εργασία και ποια εργασία. Ένα crontab αρχείο έχει πέντε πεδία για ορισμό μέρας, ημερομηνίας και χρόνου, ακολουθούμενο από την εντολή που θα τρέχει στο καθορισμένο διάστημα * * * * * «command to be executed» day of week (0-6) (Sunday=0) month (1-12) day of month (1-31) hour (0-23) min (0-59) 5-44

44 Άλλες Εντολές UNIX (H εντολή crontab) Παράδειγμα Crontab Μια γραμμή στο crontab αρχείο: Κάθε μέρα στις 6.32 μ.μ γράφει το περιεχόμενο του home καταλόγου σε αρχείο με τίτλο /home/someuser/tmp12342.out, όπου είναι το processid, που διεκπεραίωσε την εγγραφή * * * ls al ~ > /home/someuser/tmp$$.out ΤΙP: Εάν δεν δουλεύει μια cron εργασία μπορείτε να την ανακατευθύνεται το stdout, stderr σε αρχείο για να βρείτε το λάθος 5-45

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

Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΕΚΤΕΛΕΣΗ ΕΝΤΟΛΩΝ ΣΕ ΣΥΓΚΕΚΡΙΜΕΝΗ ΩΡΑ (1/2) +- Στις 13:00 το μεσημέρι θέλουμε

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr It seems very simple. It is very simple. But if you don t know what the key is its virtually indecipherable.

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

Κεφάλαιο 11 Διαχείριση Διεργασιών

Κεφάλαιο 11 Διαχείριση Διεργασιών Κεφάλαιο 11 Διαχείριση Διεργασιών Κάθε πρόγραμμα που τρέχει λέγεται διεργασία. Οι διεργασίες ποικίλουν από πράγματα σαν το X παραθυρικό σύστημα εως προγράμματα συστήματος (δαίμονες) που ξεκινούν με την

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

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές 1 Μερικές άλλες χρήσιμες εντολές whoami (Εμφανίζει το όνομα του τρέχοντος χρήστη) pwd (Εμφανίζει το όνομα του τρέχοντος καταλόγου) cat text file name (Παρουσιάζει στην οθόνη το περιεχόμενο ενός αρχείου

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

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

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

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

head head n n L file standard output Παράδειγμα: head n n 10 test Σε συνδυασμό με την την tail,

head head n n L file standard output Παράδειγμα: head n n 10 test Σε συνδυασμό με την την tail, head n n L file head Παραθέτει τις L πρώτες γραμμές του αρχείου file στο standard output Παράδειγμα: head n n 10 test Θα εμφανίσει τις πρώτες 10 γραμμές του αρχείου test Σε συνδυασμό με την την tail, μπορεί

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

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 3ο Έλεγχος διεργασιών και Χρονοπρογραμματισμός εργασιών Μιχαηλίδης Παναγιώτης Περιεχόμενα Έλεγχος διεργασιών Συστατικά μιας διεργασίας Κύκλος ζωής μιας

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

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Περίληψη Προηγούμενου Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file,

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

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης

Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Περίληψη Προηγούμενου Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file,

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

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο

Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο Λειτουργικά Συστήματα (ΗΥ-345) Χειμερινό Εξάμηνο 2018-2019 Άσκηση 1 Φροντιστήριο: 05/10/2018 Παράδοση: 18/10/2018 Υλοποίηση Linux C Shell ΤΑ : shevtsov(shevtsov@csd.uoc.gr) Ώρες Γραφείου : Δευτέρα 14:00-16:00

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

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input).

$./jms console -w <jms in> -r <jms out> -o <operations file> namedpipe. (standard input). Κ24: Προγραμματισμός Συστήματος 2η Εργασία Εαρινό Εξάμηνο 2017 Προθεσμία Υποβολής: Κυριακή 30 Απριλίου 2017 Ωρα 23:59 Εισαγωγή στην Εργασία: Ο στόχος της εργασίας αυτής είναι να εξοικειωθείτε με την δημιουργία

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

Προγραµµατισµός 2 The shell

Προγραµµατισµός 2 The shell Προγραµµατισµός 2 The shell 1 CLI vs GUI! CLI (Command Line Interface) Μεγαλύτερη ευελιξία και ταχύτητα Πιο εύκολο να γίνουν πολύπλοκες λειτουργίες. find. -mtime -2 -name '*.txt' -exec sed -i.bak 's/hi/bye/g'

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

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX

Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX Εργαστήριο ΤΟ ΛΕΙΤΟΥΡΓΙΚΟ ΣΥΣΤΗΜΑ UNIX Εισαγωγή Ξεκινάμε την εργαστηριακή μελέτη των Λειτουργικών Συστημάτων των Υπολογιστικών Συστημάτων εξετάζοντας αρχικά το λειτουργικό σύστημα Unix. Σκοπός του εργαστηρίου

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

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

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

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

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 6o ΕΡΓΑΣΤΗΡΙΟ 6o ΕΡΓΑΣΤΗΡΙΟ ΣΤΟΧΟΣ Διεργασίες, ανακατεύθυνση, διασωλήνωση, φίλτρα. ΑΣΚΗΣΗ 1 1. Να χρησιμοποιήσετε την εντολή ps για να δείτε τις διεργασίες που εκτελούνται στο σύστημα με όλες τις δυνατές επιλογές (π.χ.

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

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

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

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

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

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

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

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές 1 Μερικές άλλες χρήσιμες εντολές whoami (Εμφανίζει το όνομα του τρέχοντος χρήστη) pwd (Εμφανίζει το όνομα του τρέχοντος καταλόγου) less (Το ίδιο με την εντολή «cat», αλλά επιτρέπει την κύλιση στο κείμενο.

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

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής

Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής ΕΥ311-Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Εργαστήριο: Παραδείγματα δημιουργίας διεργασιών στο Linux Ένα πρόγραμμα (το στιγμιότυπο της εκτέλεσης του οποίου

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

Εργαστήριο 5 fork(), exec(), signals

Εργαστήριο 5 fork(), exec(), signals Εργαστήριο 5 fork(), exec(), signals Στο εργαστήριο θα μελετηθούν: Παραδείγματα χρήσης των συναρτήσεων fork και exec Συνάρτηση waitpid Συνάρτηση WIFEXITED Συνάρτηση WEXITSTATUS Παράδειγμα χρήσης σημάτων

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

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ

ΠΕΡΙΕΧΟΜΕΝΑ ΜΕΡΟΣ I. 1. Εισαγωγή 3 ΠΡΟΛΟΓΟΣ ΠΕΡΙΕΧΟΜΕΝΑ ΠΡΟΛΟΓΟΣ xiii ΜΕΡΟΣ I 1. Εισαγωγή 3 1.1 Περί Λειτουργικών Συστημάτων 3 1.1.1 Τι είναι Λειτουργικό Σύστημα (Operating System) 3 1.1.2 To UNIX 4 1.1.3 Η δομή ενός Λειτουργικού Συστήματος 5 1.2

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

Linux με τη χρήση κονσόλας

Linux με τη χρήση κονσόλας Linux με τη χρήση κονσόλας Κεφάλαιο 2 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009 Το υλικό διατίθεται

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

Εργαστήριο 7 fork(), exec(), signals

Εργαστήριο 7 fork(), exec(), signals Εργαστήριο 7 fork(), exec(), signals Στο εργαστήριο θα μελετηθούν: Παραδείγματα χρήσης των συναρτήσεων fork και exec Συνάρτηση waitpid Συνάρτηση WIFEXITED Συνάρτηση WEXITSTATUS Παράδειγμα χρήσης σημάτων

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

Αβδέλαρου Κωνσταντίνα

Αβδέλαρου Κωνσταντίνα ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΜΑΤΙΚΗΣ Αβδέλαρου Κωνσταντίνα 1 η Εργασία στο μάθημα Λειτουργικά Συστήματα Ταύρος, 9 Δεκεμβρίου 2014 Άσκηση 1.1 Το shell script που δημιουργήθηκε είναι:

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

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση

Στο εργαστήριο θα μελετηθούν: Διδάσκων: Γιώργος Χατζηπολλάς. Εργαστήριο 2: Εργαλεία Συστήματος UNIX. Ομάδες για παρουσίαση Εργαστήριο 2: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Ομάδες για παρουσίαση sed (Stream EDitor) Παραδείγματα χρήσης sed Διδάσκων: Γιώργος Χατζηπολλάς 2-1 Ομάδες Παρουσίασης Group Name Description

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

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες

Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες Σύνταξη εντολών Περιεχόµενα Οργάνωση και χειρισµός αρχείων Μπαλαντέρ ικαιώµατα χρήσης αρχείων και οµάδες χρηστών Έλεγχος διεργασιών Σύνταξη εντολών

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

Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk

Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 7 Εργαλεία Ωφελιμότητας Unix: Αwk Δημήτρης Ζεϊναλιπούρ 7-1 Επεξεργασία Ρεύματος sed (Stream EDitor) awk (Alfred Aho, Peter Weinberger, and Brian Kernighan) Δημιουργείται

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

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

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

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

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix

ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στο Unix Υπολογιστικά συστήματα: Στρώματα 1 επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Περιεχόμενα 2 Εισαγωγή

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

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ Τμημα Πληροφορικης και Τηλεματικης Τσάμη Παναγιώτα ΑΜ: 20833 ΚΑΤΑΝΕΜΗΜΕΝΑ ΣΥΣΤΗΜΑΤΑ Άσκηση 1 Αθήνα 13-12-2011 Αναφορά Ενότητα 1 A Δημιουργήστε στο φλοιό 3 εντολές (alias) που η

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

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

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

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

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8 Τελευταίες σημειώσεις - 2016 Μεταβλητές Βάζουμε μεταβλητές πχ για πιο ευκρινές πρόγραμμα (προτιμήστε μικρά γράμματα και όχι ονόματα εντολών) πχ. filename="$1" (αποφύγετε το file="$1" υπάρχει εντολή file

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

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

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

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

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας

Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Θέτοντας και επιστρέφοντας την τιµή της προτεραιότητας διεργασίας Το επίπεδο προτεραιότητας µιας διεργασίας µπορεί να αλλάξει µε χρήση της συνάρτησης nice. Κάθε διεργασία διαθέτει µια τιµή που καλείται

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

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

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

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

2.Shell, users, groups και privilegies

2.Shell, users, groups και privilegies 2.Shell, users, groups και privilegies 2.0 Εισαγωγή Όλα τα σύγχρονα λειτουργικά συστήματα έχουν γραφικό περιβάλλον που τα κάνουν πολύ φιλικά προς το χρήστη. Το ίδιο ισχύει και στις διανομές του Linux,

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

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

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

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

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

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

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

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

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

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

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

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

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

Προγραμματισμός Διαχείρισης Συστημάτων Ι

Προγραμματισμός Διαχείρισης Συστημάτων Ι Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 5ο Φλοιούς Linux Μιχαηλίδης Παναγιώτης Φλοιός O φλοιός (shell) είναι ένα πρόγραμμα που παρέχει μια διεπαφή επικοινωνίας γραμμής εντολών ανάμεσα στον χρήστη

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr If at first you don't succeed, call it version

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

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

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

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

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

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

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

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι

Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Αρχιτεκτονικές Δικτύων & Πρωτόκολλα Ι Ενότητα : Εισαγωγή στο λειτουργικό σύστημα Linux. Όνομα Καθηγητή : Δημήτριος Λυμπερόπουλος, Σπύρος Δενάζης Τμήμα : Ηλεκτρολόγων Μηχανικών και Τεχνολογίας Υπολογιστών

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

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

[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό Υπολογιστικά συστήματα: Στρώματα 1 ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Εισαγωγή στο Unix Περιεχόμενα Εισαγωγή 2 Εισαγωγή

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

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

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

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

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στο Λ.Σ. UNIX Εργαστηριακές Σημειώσεις Εισαγωγή στο UNIX Αρμοδιότητες των Λ.Σ. Διαχείριση πόρων o o Συσκευές I/O (disk, keyboard, mouse, terminal) Μνήμη Διαχείριση

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

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX Αρχικός φάκελος χρήστη Home directory

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

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 10 S C R I P T S Α Ν Τ Ω Ν Η Σ Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο Σ Φλοιός (Shell) 2 Είναι το πρόγραμμα που διερμηνεύει (interpreter) τις εντολές που εισάγονται

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

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

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

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

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

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

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

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

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

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

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 2 S H E L L S C R I P T S A R G U M E N T S + F O R Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Χρήση Command-Line Parameters Κάθε φορά που το κέλυφος

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

Linux με τη χρήση κονσόλας

Linux με τη χρήση κονσόλας Linux με τη χρήση κονσόλας Κεφάλαιο 5 Κείμενα Χρυσούλα Παπάζογλου Πανεπιστήμιο Μακεδονίας, Βιβλιοθήκη και Κέντρο Πληροφόρησης Υπηρεσία Ασύγχρονης Τηλεκπαίδευσης Θεσσαλονίκη, Μάρτης 2009 Το υλικό διατίθεται

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

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους: Αρχεία Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους: Με την εντολή touch: touch test.txt δημιουργούμε ένα κενό αρχείο test.txt. Mε την εντολή echo: Η echo λειτουργεί σαν αντίλαλος, δηλαδή

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

CS 150 Assignment 2. Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A

CS 150 Assignment 2. Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A CS 150 Assignment 2 Assignment 2 Overview Opening Files Arrays ( and a little bit of pointers ) Strings and Comparison Q/A CS 150 Assignment 2 Overview Ζητείται ένα πρόγραμμα το διαβάζει από ένα αρχείο

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

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1 Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 1 Παναγιώτης

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

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς

PERL. Δήμος Παύλου Δημήτρης Κουζαπάς PERL Δήμος Παύλου Δημήτρης Κουζαπάς Perl Η Perl είναι μια διερμηνευομένη δυναμική γλώσσα προγραμματισμού. Συνδυάζει χαρακτηριστικά από διάφορες γλώσσες. (C/C++, Awk, Lisp κλπ) Διαδόθηκε λόγω της μεγάλης

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

Εργαστήριο 4: Εργαλεία Συστήματος UNIX. Διδάσκων: Γιώργος Χατζηπολλάς. Στο εργαστήριο θα μελετηθούν: Εργαστηριακή Άσκηση 2 Παραδείγματα χρήσης awk

Εργαστήριο 4: Εργαλεία Συστήματος UNIX. Διδάσκων: Γιώργος Χατζηπολλάς. Στο εργαστήριο θα μελετηθούν: Εργαστηριακή Άσκηση 2 Παραδείγματα χρήσης awk Εργαστήριο 4: Εργαλεία Συστήματος UNIX Στο εργαστήριο θα μελετηθούν: Εργαστηριακή Άσκηση 2 Παραδείγματα χρήσης awk Αρίθμηση και Μαθηματικοί Υπολογισμοί Βρόγχοι Πίνακες Διδάσκων: Γιώργος Χατζηπολλάς 3-1

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

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

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

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

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

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

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

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών

2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 2ο Εργαστήριο Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών Πίνακας Εντολών

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

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

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

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

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

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

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

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Προχωρημένα Θέματα. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Προχωρημένα Θέματα Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ανακατεύθυνση Εισόδου/Εξόδου Συνήθως η τυπική είσοδος ενός προγράμματος (stdin) προέρχεται

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

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Shell Scripting Εισαγωγή Ένα shell script είναι μια λίστα εντολών που εκτελούνται ακολουθιακά Εκτελούνται ανάλογα με το κέλυφος και για

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

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

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

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

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

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

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

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:] Directories και αρχεία... /bin bin../bin current/ένα πιο πάνω/root bin/current bin/ ένα πιο πάνω και bin mkdir bin rmdir bin (άδειο) cd bin touch f f1 bin/f2 cat >a1 vi a1 vi +10 a1 cp a1 a2 a3 bin cp

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

Basic Missions

Basic Missions www.hackthissite.org Basic Missions Προγουλάκης Νίκος Α.Μ.: 2582 2010-2011 (Ε) www.hackthissite.org 1 www.hackthissite.org www.hackthissite.org 2 www.hackthissite.org www.hackthissite.org 3 www.hackthissite.org

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

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τµήµα Πληροφορικής

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τµήµα Πληροφορικής ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τµήµα Πληροφορικής ΕΠΛ 371 - Προγραµµατισµός Συστηµάτων ΑΣΚΗΣΗ 1 Βασικές Εντολές UNIX (σε Virtual Private CentOS Servers) Διδάσκων: Δηµήτρης Ζεϊναλιπούρ Υπεύθυνος Εργαστηρίου: Παύλος

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΠΛΗΡΟΦΟΡΙΕΣ ΥΛΙΚΟΥ ΗΥ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΑΣΚΗΣΗ 1 (ΘΕΩΡΙΑ) - ΕΙΣΑΓΩΓΗ Επεξεργαστής (CPU) : (ταχύτητα, εταιρία, μοντέλο, πυρήνες) Windows XP : (ταχύτητα, εταιρία, μοντέλο) : Πηγαίνουμε Έναρξη / Πίνακας

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

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές

ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές ΕΡΓΑΣΤΗΡΙΟ 1: 1 Εισαγωγή, Χρήσιμες Εφαρμογές Σκοπός του εργαστηρίου αυτού είναι η εξοικείωση με κάποιες εφαρμογές που θα μας φανούν πολύ χρήσιμες κατά τη διάρκεια του μαθήματος της Εισαγωγής στον Προγραμματισμό.

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 24/3/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Όλοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα μικρότεροι του 10000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Αν κάπου κάνετε κάποιες υποθέσεις

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

Εισαγωγή στο UNIX. Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων

Εισαγωγή στο UNIX. Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων Εισαγωγή στο UNIX Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Τµήµα Μηχανικών Πληροφοριακών και Επικοινωνιακών Συστηµάτων 1 Περίγραµµα Αναζητώντας βοήθεια από το σύστηµα Το κέλυφος (Shell) Αρχεία και Κατάλογοι

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

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

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

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

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI Οκτώβριος 2016 Χ. Αλεξανδράκη Command Line Interface Τα περισσότερα λειτουργικά συστήματα είναι φτιαγμένα ώστε να παρέχουν δύο περιβάλλοντα

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΟΜΗ ΚΑΤΑΛΟΓΩΝ (1/5) +- / Ριζικός κατάλογος

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

Το Shell. Προγραμματισμός II 1

Το Shell. Προγραμματισμός II 1 Το Shell Προγραμματισμός II 1 lalis@inf.uth.gr CLI vs. GUI CLI (Command Line Interface) Μεγαλύτερη ευελιξία και ταχύτητα Πιο εύκολο να γίνουν πολύπλοκες λειτουργίες που συνδυάζουν διαφορετικά προγράμματα/εργαλεία

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

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I Πιτροπάκης Νικόλαος Υποψήφιος Διδάκτορας Contact: npitrop@unipi.gr Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Life would be so much easier if we only

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

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ

Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ Διάλεξη 9: Στοίβες:Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις Εφαρμογή

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 19/5/2007 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Αν κάπου κάνετε κάποιες υποθέσεις να αναφερθούν στη σχετική ερώτηση. Όλα τα αρχεία που αναφέρονται στα προβλήματα βρίσκονται στον ίδιο φάκελο με το εκτελέσιμο

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

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

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

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

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ -n δεν αφήνει γραμμή SCRIPTS FILES ΟΛΑ ΤΑ SCRIPT les πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: chmod +x myscript Παράδειγμα ενός απλού script με όνομα myscript "This is my rst script" -n "I am the user: " whoami Summary7

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

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

Εισαγωγή στα Λειτουργικά Συστήματα Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 3 S H E L L S C R I P T S : T E S T, I F Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Διεργασίες: Γονείς και Παιδιά Κάθε διεργασία κάνοντας exit

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

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

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

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

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ 9o ΕΡΓΑΣΤΗΡΙΟ ΣΤΟΧΟΣ σενάρια φλοιού ΑΣΚΗΣΗ 1 Να γράψετε ένα σενάριο φλοιού (shell script) που : 1. θα δέχεται ως ορίσματα εισόδου : το όνομα ενός καταλόγου (να ελέγξετε την ύπαρξη του καταλόγου). μια επέκταση

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

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

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

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

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

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

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

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment

HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment HY555 Παράλληλα Συστήματα και Grids Χειμερινό εξάμηνο 2007 Άσκηση 3 Εξοικείωση με το EGEE GRID Environment Σκοπός της άσκησης αυτής είναι η εξοικείωση με ένα πραγματικό περιβάλλον Grids. Θα χρησιμοποιήσετε

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

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

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

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

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006

ΚΥΠΡΙΑΚΗ ΕΤΑΙΡΕΙΑ ΠΛΗΡΟΦΟΡΙΚΗΣ CYPRUS COMPUTER SOCIETY ΠΑΓΚΥΠΡΙΟΣ ΜΑΘΗΤΙΚΟΣ ΔΙΑΓΩΝΙΣΜΟΣ ΠΛΗΡΟΦΟΡΙΚΗΣ 6/5/2006 Οδηγίες: Να απαντηθούν όλες οι ερωτήσεις. Ολοι οι αριθμοί που αναφέρονται σε όλα τα ερωτήματα είναι μικρότεροι το 1000 εκτός αν ορίζεται διαφορετικά στη διατύπωση του προβλήματος. Διάρκεια: 3,5 ώρες Καλή

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

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

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

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

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής

Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Πρόβλημα 1: Αναζήτηση Ελάχιστης/Μέγιστης Τιμής Να γραφεί πρόγραμμα το οποίο δέχεται ως είσοδο μια ακολουθία S από n (n 40) ακέραιους αριθμούς και επιστρέφει ως έξοδο δύο ακολουθίες από θετικούς ακέραιους

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

«Εγχειρίδιο Προγράμματος Hope (version 2)»

«Εγχειρίδιο Προγράμματος Hope (version 2)» ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ Η/Υ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ «Εγχειρίδιο Προγράμματος Hope (version 2)» Μαργαρίτα Κουτσουπιά Μηχ. Η/Υ και Πληροφορικής ΠΑΤΡΑ 2009 Το Hope αποτελεί έναν Παράλληλο

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

ΕΡΓΑΣΤΗΡΙΟ 1: Εισαγωγή, Χρήσιμες Εφαρμογές

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

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