Διάλεξη 12: Προχωρημένη Είσοδος/Έξοδος Χαμηλού Επιπέδου (Advanced Low-Level I/O) Κεφάλαιο 4 Stevens & Rago
|
|
- ῾Ερμιόνη Ζάνος
- 7 χρόνια πριν
- Προβολές:
Transcript
1 ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 12: Προχωρημένη Είσοδος/Έξοδος Χαμηλού Επιπέδου (Advanced Low-Level I/O) Κεφάλαιο 4 Stevens & Rago Δημήτρης Ζεϊναλιπούρ 12-1
2 Περιεχόμενο Διάλεξης Στην προηγούμενη διάλεξη μελετήσαμε τις εξής βασικές κλήσεις συστήματος για διαχείριση αρχείων (open, creat, read, write, lseek, close) Σε αυτή την ενότητα θα μελετήσουμε επιπλέον δυνατότητες του υπό-συστήματος αρχείων του πυρήνα. Συγκεκριμένα θα μελετήσουμε A. Διαχείριση Μέτα-πληροφορίων Αρχείων (sys/stat.h) B. Διαχείριση Αρχείων C. Διαχείριση Καταλόγων (dirent.h) D. Παραδείγματα Χρήσης 12-2
3 Μέτα-πληροφορίες Αρχείων Το open, creat, read, write, lseek, close μας επιτρέπει να έχουμε πρόσβαση στο περιεχόμενο αρχείων. Τι γίνεται με τις υπόλοιπες πληροφορίες; (όπως π.χ., αυτές που επιστρέφονται από την ls al). δηλαδή filesize, permissions, last modification date, owner, κτλ.) Αυτές οι πληροφορίες ονομάζονται Μέτα- Δεδομένα (Meta-data) ή εναλλακτικά Μέτα- Πληροφορίες (Meta-information). Εδώ θα μελετήσουμε που αποθηκεύονται και πως ανακτώνται. 12-3
4 Μέτα-πληροφορίες Αρχείων Που αποθηκεύονται? Γνωρίζουμε ότι το inode (index node) είναι μια δομή δευτερεύουσας μνήμης η οποία φορτώνεται στην κύρια μνήμη από τον πυρήνα όταν ανοίγει ένα αρχείο και η οποία περιέχει δείκτες στα πραγματικά δεδομενα. Στην Μνήμη υπάρχει ένα I-node Table το οποίο περιέχει τις μέτα-πληροφορίες των ανοικτών αρχείων. Πρόσβαση σε αυτές τις μέτα-πληροφορίες έχουμε μέσω των εντολών συστήματος stat/fstat/lstat. DISK RAM KERNEL inode Table USER A) stat ή open filename C) fstat() B) Load inode See next slide D) 12-4
5 Μέτα-πληροφορίες Αρχείων Που αποθηκεύονται? H εντολές stat/fstat/lstat εκτυπώνουν αυτή την περιοχή πληροφοριών ενός i-node Τα υπόλοιπα έχουν σχέση με την ανάκτηση των blocks που περιέχουν την ΕΠΛ πραγματική 371 Προγραμματισμός πληροφορία Συστημάτων 12-5 του αρχείου.
6 Μέτα-πληροφορίες Αρχείων To system call Stat() Για πρόσβαση στις μέτα-πληροφορίες εκτελούμε την κλήση συστήματος #include <sys/stat.h> int stat(char *path, struct stat *buf) Returns: -1=Error, 0=Success η οποία συμπληρώνει τα πεδία της δομής buf με τις πληροφορίες που είναι καταχωρημένες στο i-node του κόμβου με to όνομα path Εάν έχουμε ήδη ανοίξει το αρχείο τότε χρησιμοποιούμε τον file descriptor του ανοικτού αρχείου με την εντολή fstat. int fstat(int fd, struct stat *buf) Υπάρχει και η lstat η οποία θα μελετηθεί σε λίγο. 12-6
7 Μέτα-πληροφορίες Αρχείων Εκτελώντας την stat μας επιστρέφετε Τύπος και Πεδίο Περιγραφή ino_t st_ino Αριθμός I-Node nlink_t st_nlink μεταξύ άλλων. (δείτε το sys/stat.h για περισσότερα) Αριθμός (σκληρών) συνδέσμων στο αρχείο (π.χ. ln oldfilename newfilename θα αυξήσει το nlink του oldfilename από 1 σε 2) uid_t st_uid UNIX userid (το ίδιο με αυτό στο /etc/passwd) gid_t st_gid UNIX groupid (το ίδιο με αυτό στο /etc/passwd) off_t st_size Μέγεθος Αρχείου σε bytes (εάν είναι regular αρχείο) Τα πιο κάτω είναι το πλήθος δευτερολέπτων που έχουν παρέλθει από την 1/1/1970. Μπορούμε να τα μορφοποιήσουμε σε μια πιο εύληπτη μορφή με τις συναρτήσεις της βιβλιοθήκης time.h (συγκεκριμένα ctime) (δες παράδειγμα 1 πιο κάτω) time_t st_atime time of last access (of the file s content) R time_t st_mtime time of last data modification (of the file s content) W or A time_t st_ctime time of status change (inode change) ctime & mtime usually same blksize_t st_blksize Συνιστάμενο I/O Block για το αντικείμενο το οποίο μπορεί να διαφέρει μεταξύ συστημάτων αρχείων (π.χ., 4096 Bytes) mode_t st_mode Δικαιώματα ΕΠΛ 371 Πρόσβασης Προγραμματισμός Αρχείου Συστημάτων 12-7 (επόμενη διαφάνεια& παράδειγμα 2)
8 File Creation Timestamps [atime, mtime, ctime and crtime/btime (ext4)] $ touch test.txt $ stat test.txt File: test.txt Size: 0 Blocks: 0 IO Block: regular empty file Device: 3fh/63d Inode: Links: 1 Access: (0600/-rw ) Uid: ( 1240/ dzeina) Gid: ( 231/ faculty) Context: system_u:object_r:nfs_t:s0 Access: :31: # time of last access (of the file s content) R Modify: :31: # time of last data modification (file s content) W or A Change: :31: # time of status change (inode change) Birth: - # ext4 newly introduced attribute to show when it appeared on filesystem $ echo "a" > test.txt $ stat test.txt File: test.txt Size: 2 Blocks: 8 IO Block: regular file Device: 3fh/63d Inode: Links: 1 Access: (0600/-rw ) Uid: ( 1240/ dzeina) Gid: ( 231/ faculty) Context: system_u:object_r:nfs_t:s0 Access: :31: Modify: :31: Change: :31: Birth:
9 File Creation Timestamps [atime, mtime, ctime and crtime/btime (ext4)] $ chmod 777 test.txt $ stat test.txt File: test.txt Size: 2 Blocks: 8 IO Block: regular file Device: 3fh/63d Inode: Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 1240/ dzeina) Gid: ( 231/ faculty) Context: system_u:object_r:nfs_t:s0 Access: :31: # time of last access (of the file s content) Read Modify: :31: # time of last data modification (file s content) Write or A Change: :33: # time of status change (inode change) Birth: - $ cat test.txt a $ stat test.txt File: test.txt Size: 2 Blocks: 8 IO Block: regular file Device: 3fh/63d Inode: Links: 1 Access: (0777/-rwxrwxrwx) Uid: ( 1240/ dzeina) Gid: ( 231/ faculty) Context: system_u:object_r:nfs_t:s0 Access: :33: Modify: :31: Change: :33: Birth:
10 Timestamps (Disabling atime) time updates are by far the biggest IO performance deficiency that Linux has today. To disable the writing of access times, you need to mount the filesystem(s) in question with the noatime option. mount /home -o remount,noatime To make the change permanent, update your /etc/fstab and add noatime to the options field. Before: /dev/mapper/sys-home /home xfs defaults 0 2 After: /dev/mapper/sys-home /home xfs nodev,nosuid,noatime 0 2 the nomtime mount option (on some unix) does *not* disable mtime updates, instead it performs a *lazy* mtime update - so the mtime is still updated, just ΕΠΛ delayed 371 Προγραμματισμός a little Συστημάτων nodev - Don't interpret block special devices on the filesystem. order in which filesystem checks are done at reboot time. nosuid - Block the operation of suid, and sgid bits
11 Μέτα-πληροφορίες Αρχείων To stat.st_mode μπορεί να αξιοποιηθεί με την χρήση των πιο κάτω macros (τα οποία ορίζονται μέσα στην sys/stat.h) S_ISLNK(st_mode) symbolic link S_ISREG(st_mode) regular file S_ISDIR(st_mode) directory S_ISCHR(st_mode) character device S_ISBLK(st_mode) block device S_ISFIFO(st_mode) fifo S_ISSOCK(st_mode) socket H sys/stat.h περιέχει πολλές άλλες σταθερές τις οποίες καλείστε να μελετήσετε (man -s2 stat) 12-11
12 Παράδειγμα 1: mystat Να υλοποιήσετε σε C και με χρήση κλήσεων συστήματος, ένα απλό πρόγραμμα το οποίο να εκτυπώνει τις μέτα-πληροφορίες κάποιου αρχείου το οποίο δίδεται σαν παράμετρος. π.χ../mystat /etc/passwd 12-12
13 Παράδειγμα 1: stat H εκτέλεση της εντολής stat του UNIX $ stat /etc/passwd File: `/etc/passwd' Μέγεθος Αρχείου σε bytes du -b /etc/passwd DeviceID (see man s2 stat) Size: 2005 Blocks: 8 IO Block: 4096 regular file Device: fd00h/64768d Inode: Links: 1 Access: (0644/-rw-r--r--) Uid: ( 0/ root) Gid: ( 0/ root) Access: :35: Modify: :46: Change: :46: Συνιστάμενο Block Size // Access Data // Change Data // Change Inode 12-13
14 Παράδειγμα 1: mystat #include <sys/stat.h> #include <unistd.h> // STDOUT_FILENO #include <stdio.h> // printf() #include <time.h> // ctime() int main(int argc, char *argv[]) { struct stat buf; printf("%s\n", argv[1]); if (stat(argv[1], &buf) < 0) { perror("lstat error"); exit(1); } } printf("+ I-Node: %li\n", buf.st_ino); printf("+ Size: %d\n", buf.st_size); printf("+ Hard Links: %d\n", buf.st_nlink); printf("+ User ID: %d\n", buf.st_uid); printf("+ Group ID: %d\n", buf.st_gid); printf("+ Last Content Access (atime): %s", ctime(&buf.st_atime)); printf("+ Last I-Node Change (ctime): %s", ctime(&buf.st_ctime)); printf("+ Last Content Change (mtime): %s", ctime(&buf.st_mtime)); printf("+ Preferred I/O Block: %d\n", buf.st_blksize); printf("+ Allocated Blocks: %d\n", buf.st_blocks); return 0; 12-14
15 Παράδειγμα 1: Eκτέλεση mystat $./mystat /etc/passwd /etc/passwd + I-Node: Size: 2005 Permissions, etc. + Hard Links: 1 + User ID: 0 + Group ID: 0 + Last Content Access (atime): Sat Jan 13 13:35: Last I-Node Change (ctime): Tue Mar 11 12:46: Last Content Change (mtime): Tue Mar 11 12:46: Preferred I/O Block: Allocated Blocks: 8 $ls -ial /etc/passwd rw-r--r-- 1 root root 2005 Mar /etc/passwd 12-15
16 Παράδειγμα 2: filetype Να υλοποιήσετε σε C και με χρήση κλήσεων συστήματος, ένα απλό πρόγραμμα filetype το οποίο εκτυπώνει για κάθε αρχείο το οποίο δίδεται σαν παράμετρο, τον τύπο του αρχείου (regular, directory, ). π.χ.,./filetype *./filetype /etc/passwd /etc /dev/initctl /dev/log /dev/tty /dev/cdrom 12-16
17 Παράδειγμα 2: filetype #include <sys/stat.h> // STAT related #include <unistd.h> // STDOUT_FILENO void printstat(struct stat *buf); int main(int argc, char *argv[]) { struct stat buf; int i; } for (i=1; i<argc; i++) { printf("%s:", argv[i]); if (lstat(argv[i], &buf) < 0) { perror("lstat error"); continue; } printstat(&buf); } return 0; void printstat(struct stat *buf) { char *ptr; if (S_ISREG(buf->st_mode)) ptr = "regular"; else if S_ISDIR(buf->st_mode) ptr = "directory"; else if S_ISCHR(buf->st_mode) ptr = "character special"; else if S_ISBLK(buf->st_mode) ptr = "block special"; else if S_ISFIFO(buf->st_mode) ptr = "fifo"; else if S_ISLNK(buf->st_mode) ptr = "symbolic link"; else if S_ISSOCK(buf->st_mode) ptr = "socket"; else ptr = "Unknown Mode"; printf("%s\n", ptr); } Γιατί lstat αντί stat? Σε περίπτωση symbolic link μας ενδιαφέρουν τα metadata του ίδιου του link (ότι ΕΠΛ είναι 371 symbolic Προγραμματισμός link δηλαδή) Συστημάτων και όχι του αρχείου στο οποίο δείχνει το link Περισσότερα στη συνέχεια 12-17
18 Παράδειγμα 1: Εκτέλεση filetype Αποτέλεσμα Εκτέλεσης $ # Σημειώστε ότι το /dev/cdrom είναι symbolic link στο /dev/hda. $ls -al /dev/cdrom lrwxrwxrwx 1 root root 8 Feb /dev/cdrom -> /dev/hda $./filetype /etc/passwd /etc /dev/initctl /dev/log /dev/tty /dev/cdrom /dev/hda /etc/passwd:regular /etc:directory /dev/initctl:fifo /dev/log:socket /dev/tty:character special /dev/cdrom:symbolic link /dev/hda:block special 12-18
19 Η Κλήση Συστήματος rename() int rename (char *oldpath, char *newpath) Returns: -1=Error, 0=Success Μετονομάζει τον κόμβο με το όνομα oldpath σε newpath. Ουσιαστικά η τροποποίηση γίνεται μέσα στο directory block το οποίο περιέχει το inode+όνομα του αρχείου Αλλαγή στο inode μόνο Το rename δουλεύει για οποιαδήποτε αρχεία (και καταλόγους) είτε δίδονται με σχετική ή με απόλυτη διεύθυνση
20 Η Κλήση Συστήματος chmod() int chmod (char *path, int mode) Returns: -1=Error, 0=Success Manipulate File Descriptor Αλλάζει τα δικαιώματα προστασίας του κόμβου με όνομα path σε αυτά που περιγράφονται από το mode κατά τον γνωστό τρόπο (σταθ. S_Ixxxx στο fcntl.h ή ακέραιο) Η αλλαγή γίνεται μέσα στο inode όπως φαίνεται πιο κάτω Υπάρχει και αντίστοιχη κλήση συστήματος fchmod, η οποία αντί για path περιμένει ένα file descriptor (περιγραφέα αρχείου) mode 12-20
21 Οι Κλήσεις Συστήματος link() / unlink() #include <unistd.h> int link(char *oldpath, char *newpath) int unlink(char *path) Returns: -1=Error, 0=Success Η link δημιουργεί ένα σκληρό σύνδεσμο newpath στο αρχείο FILE το οποίο έχει όνομα oldpath. Με αυτό τον τρόπο το FILE.st_nlink (πεδίο του INODE) αυξάνεται κατά ένα (δες επόμενη διαφάνεια). H unlink διαγράφει τον σκληρό σύνδεσμο. Ουσιαστικά απλά μειώνεται κατά ένα ο μετρητής FILE.st_nlink Εάν ο μετρητής γίνει ίσος με 0 τότε διαγράφονται τα blocks του αρχείου FILE από την δευτερεύουσα μνήμη
22 Οι Κλήση Συστήματος link() st_nlink st_nlink Αριστερά δείχνουμε ο αρχείο name1 με inode #12345 (το filename είναι εντελώς αχρείαστο πλέον!) το οποίο έχει stat.st_nlink=1. Δεξιά δείχνουμε την περίπτωση που έχει δημιουργηθεί ένα hard link μέσω της ln name name2 ή μέσω της link(). Τώρα το stat.st_nlink=
23 Οι Κλήσεις Συστήματος symlink() / readlink() #include <unistd.h> int symlink(char *oldpath, char *newpath) int readlink(char *path, char *buf, int size) Returns: -1=Error, 0=Success and readline returns the final number of bytes read to buf. Η symlink δημιουργεί ένα συμβολικό σύνδεσμο από την oldpath στην newpath (όπως η ln s oldpath newpath). H readlink επιστρέφει στο buf (μεγέθους size bytes), το όνομα στο οποίο δείχνει ο συμβολικός σύνδεσμος. oldpath -> newpath H συνάρτηση readlink επιστρέφει σαν τιμή εξόδου τον αριθμό των bytes που διαβάστηκαν στο buf. π.χ. char buffer[20]; int size = 0; symlink("/tmp/crawler", "mycrawler"); size = readlink("mycrawler", &buffer, 20); buffer[size]='\0'; printf("%s %d\n", buffer, size); => Εκτυπώνει /tmp/crawler
24 Συμβολικοί Σύνδεσμοι, symlink και stat.st_nlink Data Block DataBlock Δεξιά φαίνεται ότι το dirb/name2 είναι symbolic link στο /dira/name1 (μέσω της εντολής ``ln s /dira/name1 dirb/name2 ή symlink( /dira/name1, dirb/name2) Επειδή το symbolic link δημιουργεί ένα νέο inode#13579 με stat.st_nlink=1 Σημείωση: Εάν θέλουμε τις πληροφορίες για το inode ενός symbolic link (και όχι του αρχείου το οποίο αναφέρεται από το link) δηλαδή του inode#13579 αντί του inode#12345, τότε χρησιμοποιούμε: int lstat(char *path, struct stat *buf) Και OXI την int stat(char *path, struct stat *buf) 12-24
25 Διαχείριση Καταλόγων Οι Κλήσεις Συστήματος mkdir () / rmdir() #include <sys/stat.h> int mkdir (char *path, int mode) int rmdir(char *path) Returns: -1=Error, 0=Success H mkdir δημιουργεί ένα νέο κατάλογο με όνομα path και δικαιώματα προστασίας mode (π.χ., rwx = 700) To path είναι σχετικό (π.χ., tmp) ή απόλυτο (π.χ., /tmp/f1) Σημειώστε ότι δικαιώματα τα οποία δεν επιτρέπονται από την τρέχουσα τιμή του umask δε δίνονται στον κατάλογο. Π.χ. umask 022 => 755 (δηλαδή το umask περιορίζει την εντολή αυτή) Επομένως εάν δώσουμε 777 τότε η umask θα θέσει τελικά τα permissions όπως τα θέλει. Η rmdir διαγραφεί τον κατάλογο με το όνομα path, εφόσον ο κατάλογος είναι κενός. Αυτή η προϋπόθεση υπάρχει για να μην μένουν τα blocks αρχείων και τα inodes τους ορφανά! Ένα κοινό λάθος είναι να δώσουμε 600 (rw-) δικαιώματα. Οι κατάλογοι χρειάζονται τουλάχιστο (rwx) στο USER, δηλαδή 700 για παρουσίαση των αποτελεσμάτων της ls
26 Διαχείριση Καταλόγων Προσπέλαση Καταλόγων Τα περιεχόμενα καταλόγων τα οποία περιέχουν μια λίστα από (d_ino,d_name) μπορούν να προσπελασθούν μέσω των συναρτήσεων βιβλιοθήκης (όχι κλήσεις συστήματος) opendir, readdir και closedir (το d_name είναι συνήθως 255 chars) H πρόσβαση σε ένα κατάλογο γίνεται μέσω ενός δείκτη DIR * (ανάλογου με τον FILE *) που χρησιμοποιείται στην συνάρτηση βιβλιοθήκης stdio.h Ωστόσο μόνο ο πυρήνας μπορεί να γράψει στο περιεχόμενο ενός καταλόγου (εν αντίθεση με τα κοινά αρχεία). Αυτό συμβαίνει για να προστατέψει ο πυρήνας τον χρήστη από λάθη τα οποία θα καταστρέψουν το δένδρο καταλόγων d_ino d_name d_ino,d_name struct dirent 12-26
27 Διαχείριση Καταλόγων Προσπέλαση Καταλόγων Σημειώστε ότι κάθε αρχείο καταλόγου περιέχει στην αρχή του dir block τις i-node διευθύνσεις: «.» υφιστάμενου καταλόγου και «..» προηγουμένου καταλόγου Αυτό γίνεται για να είναι εφικτή η πλοήγηση προς τα πάνω στο κατάλογο του υποσυσ. αρχείων Γονικός κατάλογος 12-27
28 Προσπέλαση Καταλόγων Οι Κλήσεις βιβλιοθήκης opendir (), closedir(), readdir() #include <dirent.h> DIR *opendir (char *path) Returns: ΝULL=Error else pointer to DIR. int closedir(dir *dp) Returns: -1=Error, 0=Success struct dirent { ino_t d_ino; /* inode number */ char d_name[256]; /* filename */ }; H opendir ανοίγει τον κατάλογο με όνομα path και επιστρέφει ένα δείκτη σε DIR για την πρόσβαση στον κατάλογο. Η closedir κλείνει τον κατάλογο το οποίο έχει ανοίξει μέσω του *dp #include <dirent.h> struct dirent *readdir (DIR *dp) Διαβάζει το επόμενο entry του ανοικτού καταλόγου dp. Επιστρέφει ένα δείκτη σε δομή struct dirent που αντιστοιχεί στο τρέχον στοιχείο του περιεχομένου του καταλόγου (από τον δείκτη dp) Επιστρέφει NULL όταν δεν υπάρχουν άλλα στοιχεία για διάβασμα
29 Διαχείριση Καταλόγων Προσπέλαση Καταλόγων #include <unistd.h> int chdir(const char *path); και fchdir(int filedes) Return: -1=Error, 0=Success char *getcwd(char *buf, size_t size); Return: NULL=Error, buf=success Το chdir επιτρέπει σε ένα πρόγραμμα να αλλάξει τον τρέχων κατάλογο (όπως την εντολή cd). O τρέχον κατάλογος εδώ ορίζεται μέσα στις εσωτερικές δομές της διεργασίας και δεν αναφέρεται στο «.» του inode. Για να βρείτε τον τρέχων κατάλογο εκτελέστε την συνάρτηση συστήματος getcwd (δηλ., όμοιο με την "pwd") Η getcwd γράφει το όνομα του τρέχων καταλόγου στο buf (μεγέθους size) όπως η εντολή readlink που είδαμε προηγουμένως
30 Παράδειγμα 3: lsdirr Να υλοποιήσετε σε C και με χρήση κλήσεων συστήματος, ένα απλό πρόγραμμα lsdirr(pathname) το οποίο εκτυπώνει αναδρομικά όλα τα αρχεία τα οποία αναφέρονται μέσω του pathname. π.χ../lsdir ~/public_html/courses/epl
31 Παράδειγμα 3: lsdirr #include <stdio.h> // printf #include <sys/types.h> // opendir, readdir, closedir #include <dirent.h> #include <sys/stat.h> // lstat // function prototype void printdir(char *, int); int main(int argc, char *argv[]) { printf("directory scan of %s:\n", argv[1]); printdir(argv[1], 3); printf("done.\n"); exit(0); } Κενά παραγράφου void printdir(char *dir, int indent) { DIR *dp; struct dirent *entry; struct stat statbuf; if((dp = opendir(dir)) == NULL) { perror(dir); return; } chdir(dir); // change directory closedir(dp); } while((entry = readdir(dp))!= NULL) { lstat(entry->d_name,&statbuf); if(s_isdir(statbuf.st_mode)) { /* Found a directory, but ignore. and.. */ if(strcmp(".",entry->d_name) == 0 strcmp("..",entry->d_name) == 0) continue; printf("%*s%s/\n",indent,"",entry->d_name); /* Recurse using a new indent offset */ printdir(entry->d_name,indent); } else printf("%*s%s\n",indent,"",entry->d_name); } chdir(".."); 12-31
32 Παράδειγμα 1: Εκτέλεση lsdirr Αποτέλεσμα Εκτέλεσης $./ldirr ~/public_html/courses/epl111 Directory scan of /home/faculty/dzeina/public_html/courses/epl111: contract.pdf exercises/ ex1.pdf ex2.pdf exercises.html index.html lock.gif notes.html pdf.gif proofwriting.pdf rosen.png slides/ lect3.pdf lect1.pdf lect15.pdf ucy.gif ex-manual.pdf done. Σημείωση: Δεν υπάρχει κάποια συγκεκριμένα σειρά 12-32
Διάλεξη 12: Πποσωπημένη Είζοδορ/Έξοδορ Χαμηλού Επιπέδος (Advanced Low-Level I/O) Κεθάλαιο 4 Stevens & Rago
ΕΠΛ371 - Ππογπαμμαηιζμόρ Σςζηημάηων Διάλεξη 12: Πποσωπημένη Είζοδορ/Έξοδορ Χαμηλού Επιπέδος (Advanced Low-Level I/O) Κεθάλαιο 4 Stevens & Rago Δεκήηξεο Ζεϊλαιηπνύξ 12-1 Πεξηερόκελν Δηάιεμεο Σηελ πξνεγνύκελε
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. ΕΠΛ371 - Προγραµµατισµός Συστηµάτων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τµήµα Πληροφορικής ΕΠΛ371 - Προγραµµατισµός Συστηµάτων ΑΣΚΗΣΗ 3 Υλοποίηση προγράµµατος για την προσπέλαση δεδοµένων του συστήµατος αρχείων (ls -ialr) Ι. Στόχος Άσκησης Διδάσκων: Δηµήτρης
ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ. Εισαγωγή στο Unix
ΕΠΛ 003: ΕΠΙΣΤΗΜΗ ΤΗΣ ΠΛΗΡΟΦΟΡΙΚΗΣ ΚΑΙ ΠΛΗΡΟΦΟΡΙΑΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στο Unix Υπολογιστικά συστήματα: Στρώματα 1 επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Περιεχόμενα 2 Εισαγωγή
Εργαστήριο ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ & ΚΑΤΑΛΟΓΩΝ ΣΤΟ UNIX. Εισαγωγή
Εισαγωγή Εργαστήριο 2 ΔΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ & ΚΑΤΑΛΟΓΩΝ ΣΤΟ UNIX Συνεχίζουμε την εργαστηριακή μελέτη των Λειτουργικών Συστημάτων εξετάζοντας τις δομές των αρχείων και καταλόγων και τη διαχείρισή τους στο
Εργαστήριο Λειτουργικών Συστημάτων. File Systems
Εργαστήριο Λειτουργικών Συστημάτων File Systems Σύνοψη ιάλεξης Λειτουργικό Σύστημα Minix Λειτουργίες Συστήματος Αρχείων ομή Συστήματος Αρχείων Ανάγνωση Αρχείων 2 Filesystem στο MINIX 3 Οπως όλα τα Λ.Σ.,
Εργαστήριο 9: Αρχεία
Εργαστήριο 9: Αρχεία Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αρχεία, Είσοδος/Έξοδος από/προς αρχεία - Δυαδικά αρχεία - Παραδείγματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.
[11] Υπολογιστικά συστήματα: Στρώματα. Περιεχόμενα. Εισαγωγή. επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό
Υπολογιστικά συστήματα: Στρώματα 1 ΕΠΛ 003: ΕΙΣΑΓΩΓΗ ΣΤΗΝ ΕΠΙΣΤΗΜΗ ΤΗς ΠΛΗΡΟΦΟΡΙΚΗΣ επικοινωνία εφαρμογές λειτουργικό σύστημα προγράμματα υλικό δεδομένα Εισαγωγή στο Unix Περιεχόμενα Εισαγωγή 2 Εισαγωγή
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης. 8ο Εργαστήριο
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 8ο Εργαστήριο Χρήστες και Ομάδες Χρηστών Εντολές su και sudo Δικαιώματα Αρχείων Ειδικά Δικαιώματα
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη
Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ FILE SYSTEM >_ ΔΙΚΑΙΩΜΑΤΑ >_ ΔΙΚΑΙΩΜΑΤΑ? >_ ΜΕΤΑΒΟΛΗ ΔΙΚΑΙΩΜΑΤΩΝ +- chmod
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου
1 Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα 7ο εξάμηνο ΣΗΜΜΥ ακ έτος 2015-2016 http://wwwcslabecentuagr/courses/os CSLab National Technical University of Athens Εργαστήριο
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου. Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ Διαδικαστικά Λογαριασμοί (Accounts) Χρήστης: oslabxyy Αλλαγή password: yppasswd Μηχανήματα
Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες
Unix: Εντολές, οργάνωση και χειρισµός αρχείων, διεργασίες Σύνταξη εντολών Περιεχόµενα Οργάνωση και χειρισµός αρχείων Μπαλαντέρ ικαιώµατα χρήσης αρχείων και οµάδες χρηστών Έλεγχος διεργασιών Σύνταξη εντολών
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 4: Δείκτες και Πίνακες Στην ενότητα αυτή θα μελετηθούν τα εξής θέματα: Πίνακες Δεικτών, Παραδείγματα, Πολυδιάστατοι πίνακες Πέρασμα παραμέτρων σε προγράμματα C Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες:
Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
Πανεπιςτήμιο Πελοποννήςου Τμήμα Επιςτήμησ και Τεχνολογίασ Τηλεπικοινωνιών. Λειτουργικά Συςτήματα Προγραμματιςμόσ Συςτήματοσ.
Πανεπιςτήμιο Πελοποννήςου Τμήμα Επιςτήμησ και Τεχνολογίασ Τηλεπικοινωνιών Λειτουργικά Συςτήματα Προγραμματιςμόσ Συςτήματοσ Συςτήματα Αρχείων Μπλοκ Τα αρχεύα δεν αποθηκεύονται ςτο δύςκο χύμα, αλλϊ ςε μπλοκ
Προγραμματισμός συστημάτων UNIX/POSIX. Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes)
Προγραμματισμός συστημάτων UNIX/POSIX Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes) Επικοινωνία μεταξύ διεργασιών γονέα-παιδιού Κατά κάποιο τρόπο, θα δημιουργήσουμε ένα τύπο
Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών
Λειτουργικά Αριστείδης Ηλίας Συστήματα Ι Φ ρ ο ν τ ι σ τ ή ρ ι ο Shell Scripting Εισαγωγή Ένα shell script είναι μια λίστα εντολών που εκτελούνται ακολουθιακά Εκτελούνται ανάλογα με το κέλυφος και για
Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου
Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & Άνοιγμα αρχείου μέσα από τo SPIM, διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη (Διάλεξη 3) 1 Μετατροπή χαρακτήρων ASCII σε ακέραιο Ο πιο κάτω κώδικας
Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1
Πανεπιστήμιο Κύπρου Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη της Πληροφορικής και Πληροφοριακά Συστήματα Εργαστήριο - ΕΠΛ003 Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο UNIX Μέρος 1 Παναγιώτης
Προγραμματισμός συστημάτων UNIX/POSIX. Ανακατευθύνσεις (redirections)
Προγραμματισμός συστημάτων UNIX/POSIX Ανακατευθύνσεις (redirections) Shell & ανακατεύθυνση εισόδου Κατά την εκτέλεση ενός προγράμματος, η είσοδος και η έξοδος ενός προγράμματος μπορούν να ανακατευθυνθούν
Διάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Συστήματα Αρχείων (Σ.Α.)
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Συστήματα
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα
Φροντιςτήριο. Linked-List
Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ
Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ
Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 4ο Σύστημα αρχείων Μιχαηλίδης Παναγιώτης Περιεχόμενα Σύστημα αρχείων Εισαγωγή Μονοπάτια διαδρομής Φόρτωση και αποφόρτωση συστημάτων αρχείων Ιεραρχική οργάνωση
Προγραμματισμός Διαχείρισης Συστημάτων Ι
Προγραμματισμός Διαχείρισης Συστημάτων Ι Μάθημα 2ο Βασικές Εντολές Διαχείρισης Αρχείων και Καταλόγων Μιχαηλίδης Παναγιώτης Περιεχόμενα Σύστημα αρχείων Αρχεία και κατάλογοι Διαδρομές αρχείων και καταλόγων
% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul /usr/bin/wc
Κεφάλαιο 9: Δομή αρχείων συστήματος Έχουμε ήδη μιλήσει για τη δομή των καταλόγων στο Slackware Linux. Θα πρέπει λοιπόν να μπορείτε να βρείτε αρχεία και καταλόγους όπου χρειάζεστε. Υπάρχουν όμως πολλά περισσότερα
Προγραμματισμός Ι. Εγγραφές. Δημήτρης Μιχαήλ. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Εγγραφές Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Η Ανάγκη Ομαδοποίησης Πολλές φορές έχουμε πληροφορίες διαφορετικού τύπου οι οποίες όμως έχουν μεγάλη
1ο Εργαστήριο Σύστημα Αρχείων
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 1ο Εργαστήριο Σύστημα Αρχείων ΒΑΣΙΚΕΣ ΕΝΝΟΙΕΣ - ABSOLUTE KAI RELATIVE PATH Λειτουργικό Σύστημα
Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II
Τμήμα Πληροφορικής Πανεπιστήμιο Κύπρου ΕΠΛ132 Αρχές Προγραμματισμού II Διάλεξη 20: Χαμηλού Επιπέδου Προγραμματισμός II (Κεφάλαια 25.2, KNK-2ED) Δημήτρης Ζεϊναλιπούρ http://www.cs.ucy.ac.cy/courses/epl132
File Management και I/O στο UNIX
File Management και I/O στο UNIX Λειτουργικά Συστήματα Ντίρλης Νικόλαος- ΕΤΥ Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πάτρας Συστήματα 2013-2014 1 Εισαγωγή Ένα από τα βασικά στοιχεία της επιστήμης της Πληροφορικής
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Ορίσματα στο QtSpim (set parameters
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
Προγραμματισμός συστημάτων UNIX/POSIX
Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) Ανάγκη Ότι είδαμε μέχρι τώρα μπορεί
Μερικές άλλες χρήσιμες εντολές
1 Μερικές άλλες χρήσιμες εντολές whoami (Εμφανίζει το όνομα του τρέχοντος χρήστη) pwd (Εμφανίζει το όνομα του τρέχοντος καταλόγου) cat text file name (Παρουσιάζει στην οθόνη το περιεχόμενο ενός αρχείου
HY150a Φροντιστήριο 3 24/11/2017
HY150a Φροντιστήριο 3 24/11/2017 1 Assignment 3 Overview Το πρόγραμμα ζητείται να διαβάζει μια λίστα δεδομένων που περιγράφει τα διαθέσιμα τμήματα μνήμης (blocks) ενός ΗΥ. Το πρόγραμμα ζητείται να μεταφορτώνει
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ. Αρχεία και Μεταδεδομένα
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Αρχεία και Μεταδεδομένα ΣΗΜΕΙΩΣΕΙΣ Κάθε αρχείο χαρακτηρίζεται και αναφέρεται από ένα αριθμό
Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων (File Systems)
Λειτουργικά Συστήματα Ι Συστήματα Αρχείων (File Systems) Με μια ματιά File (Αρχείο) Περιλαμβάνει ένα σύνολο λογικά συσχετιζόμενων δεδομένων, μηπροσωρινής φύσης (συνήθως αποθηκευμένο σε δίσκους). File System
Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε
Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1
Δυναμική δέσμευση και αποδέσμευση μνήμης Προγραμματισμός II 1 lalis@inf.uth.gr Γιατί χρειάζεται η δυναμική μνήμη; Οι απαιτήσεις του προγράμματος σε μνήμη μπορεί να είναι άγνωστες την ώρα της συγγραφής
#include <stdlib.h> Α. [-128,127] Β. [-127,128] Γ. [-128,128]
ΕΙΣΑΓΩΓΗ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ Εξετάσεις Α Περιόδου 2017 (27/1/2017) ΟΝΟΜΑΤΕΠΩΝΥΜΟ:................................................................................ Α.Μ.:...............................................
Λειτουργικά Συστήματα
Λειτουργικά Συστήματα Ενότητα: ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ No:03 Δρ. Μηνάς Δασυγένης mdasyg@ieee.org Τμήμα Μηχανικών Πληροφορικής και Τηλεπικοινωνιών Εργαστήριο Ψηφιακών Συστημάτων και Αρχιτεκτονικής Υπολογιστών
Λειτουργικά Συστήματα (ΗΥ222)
Λειτουργικά Συστήματα (ΗΥ222) Διάλεξη 14: Οργάνωση Συστημάτων Αρχείων Αρχεία: Ονόματα Θέσεων στο Δίσκο Οπτική του χρήστη: Μια ακολουθία από bytes με συγκεκριμένο όνομα 2 oslab.c int main() { Οπτική του
Εισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα S E T Δ Ι Α Φ Α Ν Ε Ι Ω Ν 1 3 S H E L L S C R I P T S : T E S T, I F Α Ν Τ Ω Ν Η ς Σ Ι Δ Η Ρ Ο Π Ο Υ Λ Ο ς Διεργασίες: Γονείς και Παιδιά Κάθε διεργασία κάνοντας exit
Διδάσκων: Παναγιώτης Ανδρέου
Διάλεξη 10: Στοίβες:Υλοποίηση& Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης - Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις - Εφαρμογή
Λειτουργικά Συστήματα - Εργαστήριο 6. 6ο Εργαστήριο. Συμπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραμμή εντολών. Χρήστες και Ομάδες Χρηστών
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 6ο Εργαστήριο Συμπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραμμή εντολών Χρήστες και Ομάδες
υναµική έσµευση Μνήµης (συν.) ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 2 Εφαρµογή
υναµική έσµευση Μνήµης (συν.) Στην ενότητα αυτή θα µελετηθούν: Μια εφαρµογή συνδεδεµένων λιστών ιπλά συνδεδεµένες Λίστες ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Εφαρµογή Ζητούµενο: Πρόγραµµα που παίρνει σαν
Διάλεξη 17: Δυαδικά Δέντρα. Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 7: Δυαδικά Δέντρα Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυαδικά Δένδρα Δυαδικά Δένδρα Αναζήτησης Πράξεις Εισαγωγής, Εύρεσης Στοιχείου, Διαγραφής Μικρότερου Στοιχείου Διδάσκων:
Εισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα 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 Κάθε φορά που το κέλυφος
ιαφάνειες παρουσίασης #6 (β)
ΠΡΟΓΡΑΜΜΑΤΙΣΤΙΚΕΣ ΤΕΧΝΙΚΕΣ http://www.softlab.ntua.gr/~nickie/courses/progtech/ ιδάσκοντες: Γιάννης Μαΐστρος (maistros@cs.ntua.gr) Στάθης Ζάχος (zachos@cs.ntua.gr) (nickie@softlab.ntua.gr) ιαφάνειες παρουσίασης
Προγραμματισμό για ΗΜΥ
ΕΠΛ 34: Εισαγωγή στον Προγραμματισμό για ΗΜΥ Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 12 Πίνακες εικτών (Pointers Arrays) Θέματα ιάλεξης Στην ενότητα
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 9: Στοίβες:Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθεί η χρήση στοιβών στις εξής εφαρμογές: Υλοποίηση Στοιβών με Δυναμική Δέσμευση Μνήμης Εφαρμογή Στοιβών 1: Αναδρομικές συναρτήσεις Εφαρμογή
Επεξεργασία Αρχείων Κειµένου
Επεξεργασία Αρχείων Κειµένου Στην ενότητα αυτή θα µελετηθούν τα εξής επιµέρους θέµατα: Αρχεία Κειµένου Γενικά Συναρτήσεις Επεξεργασίας Αρχείων Κειµένου ΕΠΛ 132 Αρχές Προγραµµατισµού ΙΙ 1 Αρχεία Γενικά
Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX
Εισαγωγή στην Επιστήμη Υπολογιστών Εισαγωγή στο Λ.Σ. UNIX Εργαστηριακές Σημειώσεις Εισαγωγή στο UNIX Αρμοδιότητες των Λ.Σ. Διαχείριση πόρων o o Συσκευές I/O (disk, keyboard, mouse, terminal) Μνήμη Διαχείριση
Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης
Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Περίληψη Προηγούμενου Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file,
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις
Ενώσεις δεδομένων Απαριθμητές Ψηφιακοί τελεστές Αναδρομικές συναρτήσεις Ενώσεις δεδομένων (union) τι και γιατί Συσκευές με μικρή μνήμη => ανάγκη εξοικονόμησης πόρων Παρατήρηση: αχρησιμοποίητη μνήμη. Έστω
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ
ΑΡΧΕΣ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Κεφάλαιο 15 Επιμέλεια: Βασίλης Παλιουράς, Αναπληρωτής Καθηγητής Ευάγγελος Δερματάς, Αναπληρωτής Καθηγητής Σταύρος Νούσιας, Βοηθός Ερευνητή Πολυτεχνική Σχολή Τμήμα Ηλεκτρολόγων Μηχανικών
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 6: Διαχείριση Μνήμης & Δυναμικές Δομές Δεδομένων Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Δυναμικές Δομές Δεδομένων Γενικά Δυναμική Δέσμευση/Αποδέσμευση Μνήμης Δομή τύπου structure
Διάλεξη 22η: Επιπλέον στοιχεία της C
Διάλεξη 22η: Επιπλέον στοιχεία της C Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Extra CS100, 2018-2019 1 / 11 Οργάνωση του κώδικα Ένα πρόγραμμα
Ερµήνευση Boot Sector :
H δισκέτα 3.5 διαµορφώνεται µε 80 tracks, 18 sectors/track, 512 bytes/sector, 2 πλευρές (head 0,1). Σύνολο τοµέων 2880, σύνολο χωρητικότητας 2880 Χ 512 = 1.474.560 bytes. Οι πρώτοι 33 τοµείς καταλαµβάνονται
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ
ΕΘΝΙΚΟ ΜΕΤΣΟΒΙΟ ΠΟΛΥΤΕΧΝΕΙΟ ΤΜΗΜΑ ΗΛΕΚΤΡΟΛΟΓΩΝ ΜΗΧΑΝΙΚΩΝ & ΜΗΧΑΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΕΡΓΑΣΤΗΡΙΟ ΥΠΟΛΟΓΙΣΤΙΚΩΝ ΣΥΣΤΗΜΑΤΩΝ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Εισαγωγή στην χρήση πρωτογενών κλήσεων του UNIX Γ. ΠΑΠΑΚΩΝΣΤΑΝΤΙΝΟΥ
Βιβλιοθήκη stdio. Προγραμματισμός II 1
Βιβλιοθήκη 1 lalis@inf.uth.gr Δεδομένα και ερμηνεία (ξανά) Τα δεδομένα στον Η/Υ έχουν δυαδική μορφή (bytes) Η ερμηνεία των bytes εξαρτάται από το πρόγραμμα που παράγει/καταναλώνει τα δεδομένα Μια δημοφιλής
Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
Δομημένος Προγραμματισμός. Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων
Δομημένος Προγραμματισμός Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr Τμήμα Επιχειρηματικού Σχεδιασμού και Πληροφοριακών Συστημάτων www.bpis.teicrete.gr 2 Διαχείριση
3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX Αρχικός φάκελος χρήστη Home directory
Ενδεικτικές λύσεις και στατιστικά
Προγραμματισμός 1 Σύντομο Quiz 25/9/9 Ενδεικτικές λύσεις και στατιστικά Ερώτηση 1: Γράψτε παρακάτω συνάρτηση η οποία δέχεται ως παραμέτρους ένα string και ένα χαρακτήρα και επιστρέφει τον αριθμό των εμφανίσεων
Ανάπτυξη και Σχεδίαση Λογισμικού
Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Δυναμική Κατανομή Μνήμης Δυναμική εκχώρηση μνήμης Σωρός Συναρτήσεις malloc(), calloc(), realloc(), free() Δυναμικές δομές
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ. Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Διεργασίες και Νήματα Εργαστηριακές Ασκήσεις Υλικό από: Modern Operating Systems Laboratory Exercises, Shrivakan Mishra Σύνθεση Κ.Γ. Μαργαρίτης, Τμήμα Εφαρμοσμένης Πληροφορικής, Πανεπιστήμιο
Διδάσκων: Κωνσταντίνος Κώστα Διαφάνειες: Δημήτρης Ζεϊναλιπούρ
Διάλεξη 10: Λίστες Υλοποίηση & Εφαρμογές Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: Ευθύγραμμες Απλά Συνδεδεμένες Λίστες (εύρεση, εισαγωγή, διαγραφή) Σύγκριση Συνδεδεμένων Λιστών με Πίνακες
2ο Εργαστήριο. Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών
ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Τμήμα Μηχανικών Πληροφορικής ΤΕ Λειτουργικά Συστήματα (Εργαστήριο) Διδάσκων: I. Τσακνάκης 2ο Εργαστήριο Εισαγωγική στο Λ.Σ. LINUX Γενικές εντολές συστήματος και χρηστών Πίνακας Εντολών
Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)
Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Αρχεία Το γενικό πλαίσιο: data stream (ρεύμα δεδομένων). stdin, stdout, stderr data stream ως προς τα δεδομένα βάσει προσπέλασης
Προγραμματισμός Η/Υ (ΤΛ2007 )
Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Δέκατη-τρίτη (13 η ) τρίωρη διάλεξη. Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/
ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ
ΠΑΝΕΠΙΣΤΗΜΙΟ ΘΕΣΣΑΛΙΑΣ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΑΚΑΔΗΜΑΪΚΟ ΕΤΟΣ 2017-2018 ΧΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ ΜΑΘΗΜΑ: ΔΟΜΕΣ ΔΕΔΟΜΕΝΩΝ Εισαγωγή ΕΡΓΑΣΤΗΡΙΟ 1 - ΣΗΜΕΙΩΣΕΙΣ Ένα πρόγραμμα σε C περιλαμβάνει μια ή περισσότερες συναρτήσεις
Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI. Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης
Εισαγωγή στον Προγραμματισμό Εργαστήριο 3: Βοηθητικά προγράμματα του Linux CLI Οκτώβριος 2014 Χ. Αλεξανδράκη Γ. Δημητρακάκης Περίληψη Προηγούμενου Επισκόπηση αρχείων και επεξεργασία κειμένου Εντολές file,
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact: nifantop@unipi.gr Περιεχόμενα ενότητας Διεργασίες Κλήσεις δημιουργίας και τερματισμού διεργασιών Επικοινωνία διεργασιών μέσω
Βιβλιοθήκη stdio. Προγραμματισμός II 1
Βιβλιοθήκη 1 lalis@inf.uth.gr Σύνοψη Ορίστηκε από τον Dennis Ritchie το 1975 Μέρος του προτύπου ANSI C Λειτουργίες εισόδου/εξόδου υψηλού επίπεδου και ανεξάρτητες λειτουργικού συστήματος Υποστήριξη για
inotify system call interface του Linux [1, 2]. prompt >>./mirr source backup uoa.gr/fall2018/k22/home compilation.
ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ Τμήμα Πληροφορικής και Τηλεπικοινωνιών 4η Εργασία - Τμήμα: Περιττών Αριθμών Μητρώου Κ22: Λειτουργικά Συστήματα Χειμερινό Εξάμηνο 18 Ημερομηνία Ανακοίνωσης: Τετάρτη, 19/12 Ημερομηνία
Εισαγωγή στα Λειτουργικά Συστήματα
Εισαγωγή στα Λειτουργικά Συστήματα Ενότητα 8: Αρχεία Ι Γεώργιος Φ. Φραγκούλης Τμήμα Ηλεκτρολόγων Μηχανικών Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι. Λειτουργικά Συστήματα Ι. Συστήματα Αρχείων. Επ. Καθ. Κ. Λαμπρινουδάκης
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Μάθημα: Λειτουργικά Συστήματα Ι Συστήματα Αρχείων Διδάσκων: Επ. Καθ. Κ. Λαμπρινουδάκης clam@unipi.gr 1 Μακροχρόνια Αποθήκευση Πληροφοριών 1. Δυνατότητα αποθήκευσης μεγάλων ποσοτήτων
Αγωγοί/Σωλήνες (Pipes) Προγραμματισμός II 1
Αγωγοί/Σωλήνες (Pipes) Προγραμματισμός II 1 lalis@inf.uth.gr Τι είναι ένας αγωγός; Μηχανισμός/συσκευή επικοινωνίας διεργασιών Μετάδοση μιας ροής από bytes (μονής κατεύθυνσης) First-in-first-out (FIFO):
ΙΑΧΕΙΡΙΣΗ ΑΡΧΕΙΩΝ Στέφανος Γκρίτζαλης Αναπληρωτής Καθηγητής Κωνσταντίνος Καραφασούλης ιδάσκων (Π 407) Μαγνητικοί ίσκοι Τα δεδοµένα αποθηκεύονται στο µαγνητικό φιλµ του δίσκου Ο δίσκος περιστρέφεται µε
ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο)
ΕΠΛ232 Προγραμματιστικές Τεχνικές και Εργαλεία Δυναμική Δέσμευση Μνήμης και Δομές Δεδομένων (Φροντιστήριο) Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου http://www.cs.ucy.ac.cy/courses/epl232 Το μάθημα αυτό
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου
1 Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα 7ο εξάμηνο ΣΗΜΜΥ ακ έτος 2016-2017 http://wwwcslabecentuagr/courses/os CSLab National Technical University of Athens Εργαστήριο
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής
Πανεπιστήμιο Θεσσαλίας Τμήμα Πληροφορικής ΕΥ311-Διαδικτυακός και Ταυτόχρονος Προγραμματισμός Εργαστήριο: Παραδείγματα δημιουργίας διεργασιών στο Linux Ένα πρόγραμμα (το στιγμιότυπο της εκτέλεσης του οποίου
Εισαγωγή στον Προγραµµατισµό. Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ
Εισαγωγή στον Προγραµµατισµό Πανεπιστήµιο Θεσσαλίας Τµήµα Ηλεκτρολόγων Μηχανικών και Μηχανικών Η/Υ Συναρτήσεις 19.11.16 Β. Ντουφεξή 2 Προβλήματα: Οσο μεγαλώνουν τα προγράμματα, γίνονται πιο πολύπλοκα.
Privilege Separation. Dimitris Mitropoulos
Privilege Separation Dimitris Mitropoulos dimitro@di.uoa.gr πως μπορούμε να καθορίζουμε ποιός έχει πρόσβαση σε τι Separation Layers Επίπεδα Διαχωρισμού Ο διαχωρισμός αντικειμένων μπορεί να γίνει: 1. Σε
ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο
ΕΠΕΞΕΡΓΑΣΙΑ ΑΡΧΕΙΩΝ Λέµε αρχείο (File) τη συστηµατική συγκέντρωση δεδοµένων. Τα περισσότερα προγράµµατα στη γλώσσα C, τα οποία διαπραγµατεύονται είσοδο, αποθήκευση και επεξεργασία δεδοµένων χρησιµοποιούν
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι Λύβας Χρήστος chrislibas@ssl-unipi.gr Μανουσόπουλος Χρήστος cman@unipi.gr Αρχική επιμέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ ΔΕΣΜΕΥΜΕΝΑ ΟΝΟΜΑΤΑ +- Υπάρχουν ορισμένες
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 9.8
Δείκτες (Pointers) Ένας δείκτης είναι μια μεταβλητή με τιμή μια διεύθυνση μνήμης. 1000 1001 1002 1003 1004 1005 12 9.8 9976 3 1010 26 1006 1007 1008 1009 1010 1011 16 125 1299 a 13 1298 Δήλωση Δήλωση Τύπος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Μακροχρόνια
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4
ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Ακαδημαϊκό έτος 2001-2002 ΤΕΤΡΑΔΙΟ ΕΡΓΑΣΤΗΡΙΟΥ #4 «Προγραμματισμός Η/Υ» - Τετράδιο Εργαστηρίου #4 2 Γενικά Στο Τετράδιο #4 του Εργαστηρίου θα αναφερθούμε σε θέματα διαχείρισης πινάκων
Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)
Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:
Λειτουργικά Συστήματα (Λ/Σ)
Λειτουργικά Συστήματα (Λ/Σ) Βασικές Έννοιες Λειτουργικών Συστημάτων Βασίλης Σακκάς 13/11/2013 1 ΒασικέςΈννοιεςΛ/Σ Η επικοινωνία μεταξύ Λ/Σ και των προγραμμάτων του χρήστη γίνεται μέσω του συνόλου των «εκτεταμένων
Κεφάλαιο 8.7. Πολυδιάστατοι Πίνακες (Διάλεξη 19)
Κεφάλαιο 8.7 Πολυδιάστατοι Πίνακες (Διάλεξη 19) Πολυδιάστατοι πίνακες Μέχρι τώρα μιλούσαμε για Μονοδιάστατους Πίνακες. ή π.χ. int age[5]= {31,28,31,30,31; για Παράλληλους πίνακες, π.χ. int id[5] = {1029,1132,1031,9991,1513;
Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1
Διαδιεργασιακή επικοινωνία (inter-process communication IPC) Προγραμματισμός II 1 lalis@inf.uth.gr Συνεργασία ανάμεσα σε διεργασίες Για ασφάλεια/ανεξαρτησία, το ΛΣ εξασφαλίζει πλήρη απομόνωση ανάμεσα στις