Γηάιεμε 11: Δίζνδνο/Έμνδνο Φακεινύ Δπηπέδνπ (Low-Level I/O) Κεθάιαην 3 (Stevens & Rago) Κεθάιαην 5 (Stevens & Rago γηα επαλάιευε) Δεκήηξεο Ζετλαιηπνχξ
|
|
- Ἄννα Δουρέντης
- 8 χρόνια πριν
- Προβολές:
Transcript
1 ΔΠΛ371 - Πξνγξακκαηηζκόο Σπζηεκάησλ Γηάιεμε 11: Δίζνδνο/Έμνδνο Φακεινύ Δπηπέδνπ (Low-Level I/O) Κεθάιαην 3 (Stevens & Rago) Κεθάιαην 5 (Stevens & Rago γηα επαλάιευε) Δεκήηξεο Ζετλαιηπνχξ 11-1
2 Πεξηερφκελν Δηάιεμεο Δηαρείξηζε Λαζψλ κε ηελ <errno.h> Εηζαγσγή ζηα Αξρεία θαη Σπζηήκαηα Αξρείσλ ζην Unix (Σχπνη Αξρείσλ, Partitions, i-nodes, blocks) Μέζνδνη Δπεμεξγαζίαο Αξρείσλ: Standard I/O vs. Υακεινχ Επηπέδνπ Θ/Ο Φακεινύ Δπηπέδνπ Ι/Ο (System Calls I/O): Θεσξία θαη Πξαθηηθή. Παξαδείγκαηα Υξήζεο 11-2
3 Δηαρείξηζε Λαζψλ ζηελ C Πφς δηατεηρίδεζηε ηα ιάζε ζηελ C εάλ ασηά είλαη Run-time Errors? Με printf? debugging? Είλαη γεληθά απνδεθηφ φηη δελ κπνξνχκε λα γλσξίδνπκε ηελ αηηία φισλ ησλ ιαζψλ εάλ απηά δελ νθείινληαη ζηελ ινγηθή ηνπ πξνγξάκκαηνο καο. π.ρ., έλα ιάζνο ζην ζχζηεκα αξρείσλ, ν δίζθνο έρεη ραιάζεη, ην αξρείν ζην νπνίν πξνζπαζνχκε λα γξάςνπκε είλαη θιεηδσκέλν απφ άιιν ρξήζηε, θηι ) Νόκος ηοσ Murphy: If anything can go wrong, it will Σηόρνο: Εάλ ζπκβεί θάπνην ιάζνο λα δψζνπκε ζηνλ ρξήζηε έλα κήλπκα ιάζνπο ην νπνίν λα αληηθαηνπηξίδεη ηελ πξαγκαηηθή αηηία. 11-3
4 Δηαρείξηζε Λαζψλ #include <errno.h> Η βηβιηνζήθε <errno.h> : System Error Numbers (/usr/include/errno.h) Μεηά απφ θάζε θιήζε ζπλάξηεζεο, ε errno πεξηέρεη έλα αθέξαην (errno), ην νπνίν εθθξάδεη ηη ιάζνο έρεη πξνεγεζεί. Τπάξρνπλ πεξηζζόηεξα από 100 errno (αθέξαηνη, δεο man errno ) νη νπνίνη πξνζδηνξίδνπλ ηα δηάθνξα είδε ιαζψλ. To errno ηίζεηαη απφ ηηο ζπλαξηήζεηο πνπ θαινχκε (π.ρ., fopen). Εάλ κηα ζπλάξηεζε δελ ην ζέηεη ξεηά ηφηε ην errno δηαηεξεί ηελ πθηζηάκελε ηνπ ηηκή κέρξη λα ην ζέζεη θάπνηα εληνιή ζην πξφγξακκα καο (errno=0;) ηελ ζπλέρεηα εθηππψλνπκε απηά ιάζε κε ηελ ζπλάξηεζε: void perror(char *str) Εθηππψλεη ηελ ζπκβνινζεηξά str θαη ηελ πεξηγξαθή ηνπ errno Εάλ ζέιεηε λα εθηππψζεηε θάπνην κνξθνπνηεκέλν str, ρξεζηκνπνηήζεηε ηελ γλσζηή sprintf(), π.ρ., char string[50]; int file_number = 0; sprintf( string, "file.%d", file_number ); perror(string); 11-4
5 Δηαρείξηζε Λαζψλ #include <errno.h> Σα αθφινπζα πξνγξάκκαηα πξνζπαζνχλ λα αλνίμνπλ έλα αξρείν ζε write mode κε ηελ Standard I/O. Πξνθαλψο ππάξρνπλ πάξα πνιιά ελδερφκελα ιάζε: δηθαηψκαηα πξφζβαζεο, πξνβιήκαηα πξφζβαζεο, ην αξρείν δελ ππάξρεη, θηι. To αξηζηεξφ πξφγξακκα δελ δίλεη θάπνην θαηαηνπηζηηθφ κήλπκα ιάζνπο ελψ ην δεμηά (κε ηελ perror) επηζηξέθεη ηελ αθξηβή αηηία. #include <stdio.h> int main () { FILE * pfile; char *filename= /home/a.txt"; pfile = fopen (filename,"w"); if (pfile==null) { printf( Unable to open %s, filename); exit(1); return 0; #include <stdio.h> #include <errno.h> int main () { FILE * pfile; char *filename= /home/a.txt"; pfile = fopen (filename,"w"); if (pfile==null) { perror(filename); exit(1); return 0; ΔΠΛ 371 Πξνγξακκαηηζκόο Σπζηεκάησλ Σεκείσζε: Εάλ ην errno==0 ηφηε ε perror(filename) εθηππψλεη Νν Error ; Δάλ δελ κπνξεί λα δεκηνπξγεζεί ην αξρείν ηόηε εθηππώλεη (θσδηθό 13) : $./program /home/a.txt: Permission Denied 11-5
6 Δηαρείξηζε Λαζψλ #include <errno.h> Μεξηθέο, απφ ηηο πάξα πνιιέο, ζηαζεξέο πνπ βξίζθνληαη κέζα ζην αξρείν header errno.h. EPERM: Operation not permitted ENOENT (2): No such file or directory EINTR: Interrupted system call EIO: I/O Error EBUSY: Device or resource busy EEXIST: File exists EINVAL: Invalid argument EMFILE: Too many open files ENODEV: No such device EISDIR: Is a directory ENOTDIR: Isn t a directory
7 Δηαρείξηζε Λαζψλ Παξάδεηγκα Εθηέιεζεο /* File: errors_demo.c */ #include <stdio.h> /* For fopen, printf */ #include <errno.h> /* For errno variable */ main() { FILE *fp; char *p; int stat; # Δληνιή Α fp = fopen("non_existent_file", "r"); if (fp == NULL) { /* Check for error */ printf("errno = %d\n", errno); perror("fopen"); Σπλέρεηα Απνηέιεζκα Δθηέιεζεο errno = 2 fopen: No such file or directory errno = 12 malloc: Not enough space errno = 13 unlink: Permission denied Σπλέρεηα # Δληνιή Β p = (char *) malloc( ); // ~400MB if (p == NULL) { /* Check for error */ printf("errno = %d\n", errno); perror("malloc"); # Δληνιή Γ /***** BE CAREFUL: unlink tries to remove a file so do not run this under root*/ stat = unlink("/etc/motd"); if (stat == -1) { /* Check for error */ printf("errno = %d\n", errno); perror("unlink"); /etc/motd: greeting displayed whenever a user logs on to the system Απηό ηζρύεη κόλν ζηνλ aias@, ελώ ζηηο κεραλέο ΔΠΛ ηνπ 371 εξγαζηεξίνπ Πξνγξακκαηηζκόο δελ ππάξρεη Σπζηεκάησλ όξην ζηελ malloc 11-7
8 Σα φξηα ησλ πξνγξακκάησλ Έιεγρνο κε ηελ ulimit Αλ θαη δελ έρεη άκεζε ζρέζε κε ηελ ζπδήηεζε, ηα φξηα κηαο δηεξγαζίαο είλαη ελδηαθέξνλ θαη πνιχ ρξήζηκα. Η εληνιή ulimit (bash built-in) ζέηεη/δηαβάδεη ηα φξηα (limitations) ζηηο πεγέο ηνπ ζπζηήκαηνο πνπ είλαη δηαζέζηκεο ζε θάζε δηεξγαζία ηνπ ζπζηήκαηνο ulimit -a core file size (blocks, -c) data seg size (kbytes, -d) file size (blocks, -f) max memory size (kbytes, -m) open files (-n) 2000 pipe size (512 bytes, -p) 64 stack size (kbytes, -s) cpu time (seconds, -t) unlimited max user processes (-u) 128 virtual memory (kbytes, -v) unlimited ulimit -a core file size (blocks, -c) 0 data seg size (kbytes, -d) unlimited max nice (-e) 0 file size (blocks, -f) unlimited pending signals (-i) max locked memory (kbytes, -l) 32 max memory size (kbytes, -m) unlimited open files (-n) 1024 pipe size (512 bytes, -p) 8 POSIX message queues (bytes, -q) max rt priority (-r) 0 stack size (kbytes, -s) cpu time (seconds, -t) unlimited max user processes (-u) ΔΠΛ 371 Πξνγξακκαηηζκόο virtual memory Σπζηεκάησλ(kbytes, -v) unlimited 11-8
9 Εηζαγσγή ζηα Αξρεία θαη ηα πζηήκαηα Αξρείσλ Τώξα αο κειεηήζνπκε αλαιπηηθόηεξα ηα ζσζηήκαηα αρτείφλ (filesystem) θαη ηελ δηατείρηζε αρτείφλ ζην UNIX. Αληίζηοητες αξρέο ηζρύνπλ θαη ζε άιια ιεηηνπξγηθά ζπζηήκαηα, επνκέλωο MHN ζεωξήζεηε όηη απηά βξίζθνπλ εθαξκνγή κόλν ζην UNIX. 11-9
10 Ση είλαη έλα Αξρείν; Μηα αθνινπζία από bytes, ρσξίο θακηά δνκή φζν αθνξά ην ιεηηνπξγηθφ ζχζηεκα (δει., ην Λ δελ αληηιακβάλεηαη ηελ ζεκαζηνινγία απηψλ ησλ bytes). Οη βαζηθέο ιεηηνπξγίεο είλαη απηέο ηεο αλάγλσζεο read() δεδνκέλσλ θαη ηεο γξαθήο write() δεδνκέλσλ. File Structure: Η αλαγλψξηζε ηεο δνκήο ησλ δεδνκέλσλ ελαπφθεηηαη απνθιεηζηηθά ζηελ εθαξκνγή (π.ρ. ην Acrobat γλσξίδεη ηελ εζσηεξηθή δνκή ελφο PDF αιιά φρη ελφο DOC)
11 Ση είλαη έλα Αξρείν: Παξάδεηγκα GIF Αο δνχκε πσο είλαη θσδηθνπνηεκέλν έλα αξρείν εηθφλαο GIF (Graphics Interchange Format). Π.ρ., ην PDF.gif $od -c pdf.gif # dump contents of file as characters rest in octal Αξρή 20 8 = G I F 8 9 a - \0 - \0 Δ \0 \ \0 377 \ \0 \0 \ \0 377 \0 \ \0 377 \0 \0 \ \0 ή ή ή Ξ Ξ Ξ Ζ Ζ Ζ s s s R R R \b \b \b \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \ \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \ \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0 \0! σ \0 \0 021 \0, \0 \0 \0 \0 \0 \0 \ ` $ 216 Ρ a 236 h κ x $ p, Ο ? 252 ν f 215 ά p H, ή 034 Magic number Σν ζρήκα δείρλεη φηη νη εηθφλεο (φπσο θαη ΌΛΑ ηα αξρεία) είλαη νπζηαζηηθά κηα ζεηξά απφ bytes απνζεθεπκέλα ζηνλ καγλεηηθφ δίζθν
12 Σχπνη Αξρείν ζην Unix Everything in Unix is a File Regular Files: Αξρεία Δεδνκέλσλ (txt, pdf, jpg, ) $ ls -al ~/.profile -rwxr dzeina faculty 281 Jan 19 12:46. profile Directory Files: Αξρεία ζπζηήκαηνο γηα ηελ δηαηήξεζε ηεο δνκήο ηνπ ζπζηήκαηνο αξρείσλ. $ ls -al ~ grep public_html drwxr-sr-x 8 dzeina faculty 4096 Feb 19 22:53 public_html Character-Special Files: Υξεζηκνπνηνχληαη γηα λα αλαπαξαζηήζνπλ Serial I/O ζπζθεπέο (terminals, printers θαη networks) $ ls -al `tty` crw--w dzeina tty 136, 1 Feb 21 11:36 /dev/pts/1 Block Special Files : Υξεζηκνπνηνχληαη γηα λα αλαπαξαζηήζνπλ Μαγλεηηθνχο Δίζθνπο, Cdroms, flash drives ζηα νπνία ε αλάγλσζε/γξαθή δεδνκέλσλ γίλεηαη ζε Blocks (π.ρ bytes) $ ls -al /dev/hdc # ην /dev/cdrom brw-rw root disk 22, 0 Feb 21 10:09 /dev/hdc Symbolic link Files: Σo αξρείν είλαη έλαο ζχλδεζκνο πνπ δείρλεη ζε θάπνην άιιν αξρείν $ ln -s public_html/index.html index.lnk ; ls -al index.lnk lrwxrwxrwx 1 dzeina faculty 22 Feb 21 12:07 index.lnk -> public_html/index.html Νamed Pipes (FIFO): Υξεζηκνπνηείηαη γηα επηθνηλσλία κεηαμχ δηεξγαζηψλ Θα ηα δνχκε αξγφηεξα ζην κάζεκα. $ mkfifo pipef; ls -al ΔΠΛ grep 371 pipef Πξνγξακκαηηζκόο Σπζηεκάησλ prw-r--r-- 1 dzeina faculty 0 Feb 21 11:42 pipef 11-12
13 Πσο απνζεθεχνληαη ηα αξρεία? Σα αξρεία απνζεθεχνληαη πάλσ ζηηο ζπζθεπέο απνζήθεπζεο (Μαγλεηηθνχο Δίζθνπο, FLASH, Σαηλίεο, Cdrom, DVDs, etc). File-System (Σύζηεκα Αξρείσλ): Μέξνο ηνπ ππξήλα ην νπνην πινπνηεί έλα ζχλνιν απφ δνκέο δεδνκέλσλ θπξίαο θαη δεπηεξεύνπζαο κλήκεο γηα ηελ απνζήθεπζε, ηεξαξρηθή νξγάλσζε, αλάθηεζε θαη επεμεξγαζία δεδνκέλσλ. To file system ζε κεξηθά Λ. Windows NT,2000,XP,Vista,7: FAT, FAT32, NTFS, Windows Future Storage (WinFS: File Org. with DBs!) Linux Local Ext2, Ext3, Ext4, Linux Distributed: NFS, AFS, MacOS: Hierarchical FS+, Google s Non-kernel: MacFuse CDROMs: ISO9960, Φσηνγξαθηθέο & Κηλεηά κε Flash Memory : FAT 512 bytes : Master Boot Record (or Volume Boot Record) 11-13
14 Disk Partitions Ο δίζθνο ρσξίδεηαη ζε partitions Γηα λα βξνχκε ηα partitions ζην UNIX ρξεζηκνπνηνχκε ηελ εληνιή df $ df Filesystem 1K-blocks Used Available Use% Mounted on /dev/mapper/volgroup00-logvolroot % / /dev/mapper/volgroup00-logvoltmp % /tmp /dev/mapper/volgroup00-logvolvar % /var /dev/mapper/volgroup00-logvolusr % /usr /dev/mapper/volgroup00-logvolopt % /opt /dev/mapper/volgroup00-logvolusrlocal % /usr/local /dev/sda % /boot tmpfs % /dev/shm csfs7.cs.ucy.ac.cy:/home/students NFS-mounted (Network File System) drives! % /home/students csfs1.cs.ucy.ac.cy:/home/faculty % /home/faculty 11-14
15 Partitions Δηαθνξεηηθά partitions κπνξνχλ λα έρνπλ δηαθνξεηηθά ζπζηήκαηα αξρείσλ. Έλα partition ζην UNIX έρεη ηελ πην θάησ κνξθή: Super block (Filesystem Metadata) File system type, Size, Status Information about other metadata structures 11-15
16 i-nodes ηελ αξρή θάζε partition βξίζθεηαη κηα ιίζηα κε i-nodes, ηα νπνία αλαγλσξίδνπλ κνλαδηθά ηα αξρεία ηνπ ζπγθεθξηκέλνπ partition. Έλα i-node πεξηέρεη ηηο πιεξνθνξίεο (κηα ζπιινγή απφ δηεπζχλζεηο δίζθνπ) έηζη ψζηε λα γλσξίδεη ν ππξήλαο απφ πνχ λα αλαθηήζεη ηα data/directory blocks θάπνηνπ αξρείνπ Γηα λα βξείηε ην i-node number ελφο αξρείνπ δψζηε ηελ εληνιή "ls -i". Απφ έλα πξφγξακκα κπνξνχκε λα βξνχκε ην i-node κέζσ ηνπ system call stat() αξγφηεξα
17 Data/Directory Blocks Έλα αξρείν (regular ή directory) απνηειείηαη απφ κηα ζεηξά "blocks" θαη νλνκάδεηαη "data block" θαη "directory block" αληίζηνηρα. Σν data-block απνζεθεχεη Μέξνο ησλ πξαγκαηηθψλ δεδνκέλσλ ελφο αξρείνπ. Σν directory-block απνζεθεχεη Θ-node number θαη filename γηα θάζε αξρείν ή ππνθαηάινγν. Data Block Directory Block 11-17
18 Παξάδεηγκα Εχξεζεο Αξρείνπ κε i-nodes Πσο βξίζθεη ην ιεηηνπξγηθό ζύζηεκα (ην ππνζύζηεκα αξρείσλ) ηα πεξηερόκελα ελόο αξρείνπ /usr/test.c? Ξεθηλά απφ ην directory block κε i- node 2 (πξψην δηαζέζηκν i-node ζην i-list, ην νπνίν αληηζηνηρεί ζην / folder) Απφ εθεί βξίζθεη φηη ην usr έρεη σο i-node to 200. ηελ ζπλέρεηα => 4 => 202 => 6 => Σέινο βξίζθεη φηη ηα data blocks κε i-nodes 204 θαη 206 πεξηέρνπλ ηα δεδνκέλα ηνπ αξρείνπ. Data Block (rest are Directory Blocks 11-18
19 Παξάδεηγκα Εχξεζεο Αξρείνπ κε i-nodes ην πξνεγνχκελν παξάδεηγκα ην αξρείν /usr/test.c κε i-node 6 πεξηείρε κνλάρα 2 blocks (κε i-node 204 θαη 206). Τη γίλεηαη εάλ έλα αξρείν έρεη πνιιά blocks; Τπάξρεη αξθεηόο ρώξνο γηα λα απνζεθεπηνχλ όια ηα i-nodes ησλ blocks πνπ ζπζρεηίδνληαη κε ην αξρείν; Σν Τπνζχζηεκα Αξρείσλ ρξεζηκνπνηεί έλα ηεξαξρηθό ζρήκα ην νπνίν απνηειείηαη απφ δέλδξα δεηθηψλ βάζνπο 0 (direct, απηφ ην νπνίν είδακε ήδε), 1 (single), 2 (double), θαη 3 (triple) 2KB block <24ΚΒ <1ΜΒ <512ΜΒ < max supported file size Ι-Ννde Structure (πεξηζζφηεξα γηα ηελ δνκή απηή ζηελ επφκελε δηάιεμε) 11-19
20 Μέζνδνη Επεμεξγαζίαο Αξρείσλ Σψξα ζα δνχκε κεζφδνπο επεμεξγαζίαο ηνπ πεξηερνκέλνπ ησλ αξρείσλ. Σν ρακεινχ επηπέδνπ I/O δηεθπεξαηψλεηαη εθηειψληαο system calls (θιήζεης ζσζηήκαηος). Ι/Ο System Call: θιήζεηο πξνο ηνλ ππξήλα ηνπ ιεηηνπξγηθνύ ζπζηήκαηνο ν νπνίνο καο επηζηξέθεη έλα File Descriptor (FD) (νξνινγία Unix) ή File Handle (νξνινγία Windows). Όιε ε επεμεξγαζία ζηελ ζπλέρεηα γίλεηαη κέζω ηνπ FD. Ι-Ννde Structure on Disk c b d a Ι-Ννde Structure in Memory 11-20
21 Δηεξγαζίεο θαη Αξρεία Μέζα ζηελ Γηεξγαζία File Descriptor Table: Έλα γηα θάζε δηεξγαζία. Κάζε εγγξαθή ηνπ, ή νπνία αλαγλσξίδεηαη απφ ην fd (0,1, ), πεξηέρεη έλα δείθηε ζην open files table. (ειέγμεηε ην /proc/$$/fd/) Μέζα ζηνλ Ππξήλα Οpen Files Table: Μηα εγγξαθή δεκηνπξγείηαη φπνηε εθηειέζνπκε open(). Η εγγξαθή πεξηέρεη i) δείθηε ζην inode table, ii) offset κέζα ζην αξρείν (ην επνκελν read εθηειεηηαη απφ ην offset); iii) status (π.ρ. read, write, append) κε ην νπνίν αλνίμακε ην αξρείν. Inode Table: Κάζε αξρείν εκθαλίδεηαη κφλν κηα θνξά ζε απηφ ηνλ πίλαθα
22 Μέζνδνη Επεμεξγαζίαο Αξρείσλ Απφ ηα πξνγξάκκαηα εθαξκνγψλ κπνξνχκε λα αλαθηήζνπκε ηα δεδνκέλα ησλ αξρείσλ κε δπν ηξφπνπο: α) Standard I/O Library (Procedure) Calls fopen, fclose, fread, putc, readc, etc. απηά ηα νπνία ρξεζηκνπνηνχζαηε κέρξη ηψξα ζηα δηάθνξα καζήκαηα πξνγξακκαηηζκνχ κε ρξήζε δνκήο FILE Απηή ε κέζνδνο ζπληζηάηαη κφλν γηα ηα regular αξρεία (φρη άιινπο ηχπνπο) β) Κιήζεηο Σπζηήκαηνο (System Calls) (e.g., open, close, read, write, lseek) κέζσ File Handler (int) Σα νπνία κνηάδνπλ κε library calls (θιήζεηο ζπλαξηήζεσλ βηβιηνζήθεο), κε ηελ δηαθνξά φηη ηα system calls εθηεινχληαη κέζα ζην kernel space αληί ζην user space. Επνκέλσο θιήζε ζε έλα system call δελ ζεκαίλεη απιά φηη ζα θάλνπκε jump ζε κηα άιιε εληνιή νξηζκέλε αιινχ ζην πξφγξακκα αιιά φηη ζα γίλεη context switching (ελαιιαγή δηεξγαζηψλ), έηζη ψζηε λα εθηειέζεη ΔΠΛ ην 371 kernel Πξνγξακκαηηζκόο ηελ αίηεζε Σπζηεκάησλ ζαο
23 Standard IO vs. Systems Calls Τα Standard I/O stdio.h (ANSI C99) είλαη κηα βηβιηνζήθε ζπλαξηήζεσλ γηα πξφζβαζε ζε αξρεία απφ πξνγξάκκαηα C (ρξεζηκνπνηείηαη πέξα απφ ην UNIX) Σα Standard I/O θάλνπλ θιήζε ζπλάξηεζεο ηεο ηδίαο ηεο δηεξγαζίαο ελψ ηα System Calls θαινχλ ιεηηνπξγίεο ηνπ ππξήλα. Σα Standard I/O calls πινπνηνύληαη θαη απηά κέζσ ησλ System Calls! Σα Standard I/O είλαη πην εύθνια H Standard I/O δεκηνπξγεί έλα Stream (FILE *) ελψ ηα System Calls έλα File Descriptor H Standard I/O θάλεη buffering (BUFSIZE ηελ stdio.h).. αιιά δίδνπλ ιηγόηεξε ειεπζεξία, ή νπνία ρξεηάδεηαη ζην Systems Programming System Call Standard I/O call open fopen Δπαλάιεςε Standard I/O Calls: Κεθάιαην 5 Stevens & Rago Man stdio close fclose read/write fread/fwrite // used for binary I/O chunks of bytes rather char or line getchar/putchar // read a character from STDIN getc/putc // >> >>..from file fgetc/fputc // identical to getc/putc gets/puts // read a string from STDIN fgets/fputs // >> > > > > > from file scanf/printf // read formatted input from STDIN fscanf/fprintf // >> > > > > > from file lseek fseek // move to a specific location in a file 11-23
24 Πιενλέθηεκα ησλ System Calls USER SPACE KERNEL SPACE Πιενλέθηεκα System Call: Πιήξεο Έιεγρνο! Τινπνίεζε Λεηηνπξγηψλ πνπ δελ πξνζθέξνληαη απφ ηα Standard I/O (locking, buffering, IPC) Έιεγρνο ηνπ Buffering: Σν νπνίν είλαη πνιχ ζεκαληηθφ ζε ζπζηήκαηα βάζεσλ δεδνκέλσλ νπνπ ζέινπκε λα ρεηξηζηνχκε ην buffering κέζα ζηελ ηδία ηελ εθαξκνγή θαη φρη ην standard I/O. Interprocess Communication: Όηαλ πξνγξακκαηίδεηαη επηθνηλσλία κεηαμχ δηεξγαζηψλ κε ρξήζε ζσιήλσλ θαη ππνδνρψλ (ζα καο απαζρνιήζνπλ αξγφηεξα ζην κάζεκα ) 11-24
25 Μεηνλεθηήκαηα ησλ System Calls Δίλαη Πνιύ Αθξηβά! : Ελψ έλα procedure call ζέιεη κφλν κεξηθέο εληνιέο κεραλήο ελψ έλα system call ζα θάλεη ηα εμήο: Η ππφ εθηέιεζε δηεξγαζία δηαθφπηεηαη θαη ην state ηεο θπιάγεηαη. Σν Kernel (Λ) παίξλεη ηνλ έιεγρν ηνπ CPU θαη εθηειεί ην system call. To Kernel (Λ) δηαθφπηεηαη θαη ην state ηεο θπιάγεηαη ελψ ηαπηφρξνλα δίδεη ηνλ έιεγρν πίζσ ζηελ δηεξγαζία. Όκσο, ε νξζνινγηζηηθή ρξήζε ησλ system calls νδεγεί ζε απμεκέλε Απόδνζε θάηη ην νπνίν είλαη πνιύ ζεκαληηθό. System Dependent: Δηαθνξεηηθέο Τινπνηήζεηο Λ. ππνζηεξίδνπλ δηαθνξεηηθέο ιεηηνπξγίεο. Οπφηαλ ηίζεηαη ζέκα κεηαθεξζηκόηεηαο (Portability) ηνπ πεγαίνπ θψδηθα κε ηα system calls. Γπζθνιόηεξνο Πξνγξακκαηηζκόο: Με ηελ standard I/O, ε βηβιηνζήθε νξγαλψλεη ηηο θιήζεηο πξνο ηνλ ππξήλα κε έηζη ηξφπν πνπ ηα δεδνκέλα ζα κεηαθέξνληαη ζε πιήξε blocks απφ ηνλ δίζθν ζηελ κλήκε, ελψ κε ηα System Calls πξέπεη λα ην ρεηξηζηνχκε κφλνη καο
26 System Calls for I/O Τπάξρνπλ 5 βαζηθά system calls ηα νπνία παξέρεη ην Unix γηα file I/O (ειέγμεηε ην man s 2 open) int open(char *path, int flags [, int mode ] ); int close(int fd); int read(int fd, void *buf, int size); int write(int fd, void *buf, int size); off_t lseek(int fd, off_t offset, int whence); Γηα λα έρνπκε πξφζβαζε ζε απηέο ηηο ζπλαξηήζεηο κέζσ ησλ πξνγξακκάησλ εθαξκνγψλ ρξεηάδεηαη λα ζπκπεξηιάβνπκε ηηο αθφινπζεο βηβιηνζήθεο // file control options: #include <fcntl.h> // standard symbolic constants and types for unix #include <unistd.h> 11-26
27 1) System Calls: Open()/Close() Άλοηγκα Αρτείοσ γηα αλάγλφζε/γραθή δεδοκέλφλ # Returns: File Descriptor if OK, -1 on error int open(const char *path, int flags [, int mode ] ) # Returns: 0 if OK, -1 on error int close(int filedes); 'path : Απφιπην ε ζρεηηθφ κνλνπάηη πξνο ην αξρείν Σα flags θαη mode δειψλνπλ πσο ζέινπκε λα ρξεζηκνπνηήζνπκε ην αξρείν (επφκελε δηαθάλεηα) Εάλ ν ππξήλαο απνδερζεί ηελ αίηεζε καο, ηφηε δεκηνπξγείηαη ν κηθξφηεξνο δπλαηφ ``file descriptor (FD)'' (ην νπνίν είλαη κηα αθέξαηα ηηκή γηα αξρείν). Οπνηεζδήπνηε κειινληηθέο αλαθνξέο ζην αξρείν γίλνληαη κέζσ ηνπ FD. (ζα εμεγεζεί αλαιπηηθφηεξα ζηελ ζπλέρεηα) To Linux ζέηεη έλα hard limit απφ 1,048,576 FDs αλά δηεξγαζία. Απηφ νξίδεηαη απφ ηελ ζηαζεξά OPEN_MAX ζηελ βηβιηνζήθε limits.h (φπσο ηελ εληνιή $ulimit n) Εάλ ε open επηζηξέςεη -1, ηφηε δελ ηθαλνπνηήζεθε ε αίηεζε θαη κπνξνχκε λα ειέγμνπκε ηελ ηηκή ηεο κεηαβιεηήο "errno" γηα λα βξνχκε γηαηί (κε ηελ perror()). Θπκεζείηε φηη ΔΠΛ φηαλ 371 αλνίγεη Πξνγξακκαηηζκόο έλα πξφγξακκα Σπζηεκάησλ ηφηε ηξεηο FDs είλαη ήδε αλνηθηνί (0:stdin, 1:stdout, 2:stderr)
28 1) System Calls: Open()/Close() Flags (ζηαζεξέο κέζα ζηε fcntl.h) : Τπνρξεσηηθέο θαη πξναηξεηηθέο επηινγέο. Υπνρξεσηηθέο: O_RDONLY (open for reading only),o_wronly (writing), O_RDWR (read/write) Πξναηξεηηθέο: O_APPEND (append to the end of file), O_TRUNC (if file exists in WR or RDWR then truncate its size to 0), O_CREAT (create if file does not exist we have to set MODE variables see below), Mode (ζηαζεξέο sys/stat.h) : Πξνζδηνξίδεη ηα δηθαηψκαηα εάλ δεκηνπξγνχκε αξρείν. Σν mode είλαη αθέξαηνο (ηδία ινγηθή κε Unix file permissions). Mode S_IRUSR: Read permission, owner εκείσζε: Tα Flags θαη ην Mode εθθξάδνληαη S_IWUSR: Write permission, owner κπνξνχλ λα δνζνχλ ζαλ δηάδεπμε ζπκβνιηθψλ S_IXUSR: Execute permission, owner νλνκάησλ, π.ρ., S_IRGRP: Read permission, group open("test.txt", O_WRONLY O_CREAT, S_IWGRP: Write permission, group S_IRUSR S_IWUSR S_IRGRP S_IROTH); S_IXGRP: Execute permission, group S_IROTH: Read permission, others Δμήγεζε: Τν ORing ζεηεη ηα bits : S_IWOTH: Write permission, others rwxrwxrwx = S_IXOTH: Execute permission, ΔΠΛ 371 others Πξνγξακκαηηζκόο (δει Σπζηεκάησλ ) 11-28
29 Open/close: Απιφ Παξάδεηγκα #include <fcntl.h> #include <stdio.h> // for printf int main(){ int fd1, fd2; if(( fd1 = open("foo.txt", O_RDONLY)) < 0){ perror("opening file"); exit(1); printf("the File Descriptor is : %d", fd1); if (close(fd1) < 0) { perror("closing file"); exit(1); 11-29
30 1) System Calls: Open()/Close() Μεραληζκφο Εθηέιεζεο Opening myfile (Inode:13) B) Entry 13 from that data structure is read from the disk and copied into the kernel s open files table. Σhat consists of data blocks 5 and 8. Inode 13 on Disk Inode 13 in RAM A) The file system reads the current directory, and finds that myfile is represented internally by entry 13 in the list of files maintained on the disk. Otherfile 18 C) User s access rights are checked (through Inode attributes) and the user s ΔΠΛ 371 Πξνγξακκαηηζκόο variable Σπζηεκάησλ fd is made to point to the allocated entry in the open files table
31 2) System Call: Creat() Δεκηοσργία Αρτείοσ int creat(const char * filename, int mode); ή ελαιιαθηηθά open(filename, O_WRONLY O_CREAT O_TRUNC, mode); # Returns: File Descriptor for Ο_WRONLY if OK, -1 on error Ο Dennis Ritchie εξσηήζεθε θάπνηε πην είλαη ην κνλαδηθφ πξάγκα πνπ έρεη κεηαληψζεη γηα ηελ C. Απηφο απάληεζε leaving off the e on creat(). Μεηνλέθηεκα ηεο creat() είλαη φηη δελ κπνξνχκε λα δηαβάζνπκε απφ ην αξρείν πνπ δεκηνπξγήζακε. Γηα λα ην δηνξζψζνπκε θαη λα έρνπκε Δεκηνπξγία + Read/Write ρξεζηκνπνηήζηε ην αθφινπζν: open(filename, O_RDWR O_CREAT O_TRUNC, mode); 11-31
32 3) System Call: Read() Αλάγλσζε από θάπνην FD int read(int fd, void *buf, int size) Returns: αξηζκφ bytes πνπ δηαβάζηεθαλ, 0:EOF, -1:ERROR Δηαβάδεη size bytes απφ ηελ νληφηεηα (αξρείν, ζπζθεπή, άθξν ζσιήλα ή ππνδνρή) πνπ αληηζηνηρεί ζηνλ πεξηγξάθεη fd θαη ηα αληηγξαθεί ζην buf. Πεξηκέλεη (blocking wait) κέρξη ζπκπιεξσζεί ην buf ε κέρξη θηάζεη ην EOF. Πξνυπνζέηεη φηη ε εθαξκνγή ζαο έρεη δεζκεχζεη αξθεηφ ρψξν (malloc) ζην buf. Ση ζα ζπκβεί ζηελ αληίζεηε πεξίπησζε? εκεηψζηε φηη ην buf είλαη Posix-compliant (void *) παξά ηνλ παξαδνζηαθό νξηζκό char *buf) 11-32
33 3) System Call: Read() Μεραληζκφο Εθηέιεζεο B) the system gains access to the list of blocks that contain the file s data. A) The argument fd identifies the open file by pointing into the kernel s open files table. C) The file system therefore reads disk block number 5 into its buffer cache, then block number 8. D) the desired range of 100 bytes is copied into the user s memory at the address indicated by buf.
34 4) System Call: Write() Αλάγλσζε από θάπνην FD int write(int fd, void *buf, int size) Returns: αξηζκφ bytes πνπ γξάθηεθαλ, -1:ERROR Γξάθεη size bytes απφ ην buf ζηελ νληφηεηα (αξρείν, ζπζθεπή, άθξν ζσιήλα ή ππνδνρή) πνπ αληηζηνηρεί ζηνλ πεξηγξάθεη fd. Δπηζηξέθεη ηνλ αξηζκφ απφ bytes πνπ γξαθηήθαλ. Απηφ κπνξεί λα είλαη ιηγφηεξν απφ ηελ αίηεζε (size) εάλ ππήξμε θάπνην πξφβιεκα κε ηνλ file descriptor Π.ρ., size=100 αιιά ε write θαηαθέξλεη λα γξάςεη κφλν 10. Εάλ επηζηξέςεη 0, ηφηε δελ γξάθηεθε ηίπνηα. Εάλ επηζηξέςεη -1, ηφηε ειέγμεηε ηνλ θσδηθφ ιάζνπο errno
35 4) System Call: Write() Μεραληζκφο Εθηέιεζεο β) The kernel then flushes the newly written data to disk (assuming that block#8 has adequate space). Else a new block is allocated and the data is written there as well. α) Our program calls write(fd,buf, sizeof(buf)); and the data is copied to kernel space 11-35
36 Παξάδεηγκα 1: Τινπνίεζε ηνπ cat Να πινπνηήζεηε ζε C θαη κε ρξήζε θιήζεωλ ζπζηήκαηνο, έλα απιό πξόγξακκα ην νπνίν λα πξνζνκνηώλεη ηελ εληνιή cat (ρωξίο παξακέηξνπο) π.ρ../mycat < filename ls./mycat./mycat (επαλαιακβάλεη όηη γξάθνπκε) 11-36
37 Παξάδεηγκα 1: Τινπνίεζε ηνπ cat // Η βηβιηνζήθε stdio.h πεξηιακβάλεηαη κφλν γηα ηελ κεηαβιεηή BUFSIZE (αλ θάλακε θαη printf/scanf επίζεο), ε νπνία παίξλεη ηελ πην θαιή ηηκή (κε βάζε ην ππάξρσλ ζχζηεκα), παξά λα ηελ ζέηακε κφλνη καο. #include <unistd.h> // STDIN_FILENO, STDOUT_FILENO #include <stdio.h> // BUFSIZE #include <error.h> // perror int main(int argc, char * argv []) { char buf[bufsiz]; // BUFSIZE 8192 int n; while((n = read(stdin_fileno, buf, sizeof(buf))) > 0) if ( write(stdout_fileno, buf, n)!= n ) perror ("write error"); if (n < 0) perror("read error"); return 0; Εξψηεζε: Γηαηί δελ ρξεηαζηήθακε λα αλνίμνπκε ηνπο πεξηγξαθείο FD#0 θαη FD#1? 11-37
38 Παξάδεηγκα 2: Read/Write Demo Να πινπνηήζεηε ζε C θαη κε ρξήζε θιήζεωλ ζπζηήκαηνο, έλα απιό πξόγξακκα ην νπνίν i) δεκηοσργεί έλα, αξρείν, ii) γράθεη θάπνηα ζπκβνινζεηξά, iii) θιείλεη ην αξρείν, iv) αλοίγεη θαη γράθεη θάπνηα άιιε ζπκβνινζεηξά, v) θιείλεη ην αξρείν θαη ηέινο vi) δηαβάδεη ην αξρείν θαη ην εθησπώλεη ζηελ νζόλε. Κάζε βήκα λα ηππώλεη ηνλ αξηζκό ηωλ bytes
39 Παξάδεηγκα 2: Read/Write Demo /* File: io_demo.c */ #include <stdio.h> /* For printf, BUFSIZE*/ #include <fcntl.h> /* For O_RDONLY, O_WRONLY,O_CREAT, O_APPEND */ #include <string.h> /* strlen */ main() { int fd, bytes; char buf[bufsiz]; char *filename = "temp.txt"; char *line1 = "First write. \n"; char *line2 = "Second write. \n"; // 0600 <==> S_IRUSR S_IWUSR <==> -,rw-,---,--- if ((fd = open(filename, O_WRONLY O_CREAT O_TRUNC, 0600)) == -1) { perror("open"); exit(1); Create file and enable us to write to the file // Πξνζνρή: Γξάθνπκε κόλν ην strlen(line1), αληί strlen(line1)+1 γηα λα // απνθύγνπκε ηα αλεπηζύκεηα \0 ( First write. \n\0 Second write. \n\0 ) bytes = write(fd, line1, strlen(line1)); /* Data out */ printf("%d bytes were written\n", bytes); Αλεπηζχκεην close(fd); 11-39
40 Παξάδεηγκα 2: Read/Write Demo if ((fd = open(filename, O_WRONLY O_APPEND)) == -1) { perror("open"); exit(1); bytes = write(fd, line2, strlen(line2)); /* Data out */ printf("%d bytes were written\n", bytes); close(fd); if ((fd = open(filename, O_RDONLY)) == -1) { perror("open"); exit(1); bytes = read(fd, buf, sizeof(buf)); /* Data in */ printf("%d bytes were read\n", bytes); close(fd); buf[bytes] = '\0'; printf("%s", buf); $./a.exe 14 bytes were written 15 bytes were written 29 bytes were read First write. Second write
41 Παξάδεηγκα 3: Τινπνίεζε Concat Αξρείσλ Να πινπνηήζεηε ζε C θαη κε ρξήζε θιήζεωλ ζπζηήκαηνο, έλα απιό πξόγξακκα ην νπνίν λα πξνζνκνηώλεη ηελ ιεηηνπξγία ηεο πην θάηω εληνιήο θειύθνπο cat file1 >> file2 Τν πξόγξακκα ζαο εθηειείηαη κε ηνλ αθόινπζν ηξόπν. $concat file1 file
42 Παξάδεηγκα 3: Τινπνίεζε Concat Αξρείσλ /* File: append_file.c */ #include <fcntl.h> /* For O_RDONLY. O_WRONLY, O_CREAT, O_APPEND */ #include <unistd.h> // STDERR_FILENO #include <string.h> // strlen main(int argc, char *argv[]) { int n, fromfd, tofd; char buf[1024]={; if (argc!= 3) { /* Check for proper usage */ sprintf(buf, "Usage: %s from-file to-file", argv[0]) ; write(stderr_fileno, buf, strlen(buf)); exit(1); 11-42
43 Παξάδεηγκα 3: Τινπνίεζε Concat Αξρείσλ if ((fromfd = open(argv[1], O_RDONLY)) < 0) { /* Open from-file */ perror("open"); exit(1); Append mode if ((tofd = open(argv[2], O_WRONLY O_CREAT O_APPEND, 0660)) < 0) { /* Open to-file */ perror("open"); exit(1); while ((n = read(fromfd, buf, sizeof(buf))) > 0) if (write(tofd, buf, n)!= n) { /* Copy data */ perror("copy error"); close(fromfd); /* Close from-file */ close(tofd); /* Close to-file */ $ cat file1 First write. $cat file 2 Second write. $concat file1 file2 $cat file2 First write. Second write
44 5) System Call: lseek() Σπραία (Random) Μεηαθίλεζε κέζα ζην Αξρείν off_t lseek(int fd, off_t offset, int whence) Returns: new file offset if OK, -1 on error off_t δειψλεηαη κέζα ζην sys/types.h Offset (από πνύ): Οξίδεη ηελ ζέζε (position) Whence : Οξίδεη πσο ρξεζηκνπνηείηαη ην offset. SEEK_SET: relative to beginning of file SEEK_CUR: relative to the current position SEEK_END: relative to end of file Η ζπλάξηεζε lseek καο επηηξέπεη λα κεηαθηλεζνχκε κέζα ζην αξρείν κε ηπραίν ηξφπν. (Random Access). Κάζε αξρείν έρεη έλα «current file offset» ην νπνίν είλαη έλαο ζεηηθφο αθέξαηνο ν νπνίνο κεηξά ηνλ αξηζκφ απφ bytes απφ ηελ αξρή ηνπ αξρείνπ. Εάλ αλνίμεη ην αξρείν ην offset είλαη 0. Μεηά απφ αλάγλσζε m bytes, ην offset γίλεηαη m. To l seek πξνέξρεηαη απφ ην long seek δηφηη ην offset είλαη έλαο long integer
45 5) System Call: lseek() Σπραία (Random) Μεηαθίλεζε κέζα ζην Αξρείν Σν lseek δειψλεη ην offset κέζα ζην kernel ρσξίο λα πξνθαιέζεη νπνηνλδήπνηε I/O. Tν Θ/Ο ζα γίλεη κφλν ζην επφκελν write. Εάλ εθηειέζνπκε ην πην θάησ εληνιή ηφηε ε επφκελε γξαθή (ή αλάγλσζε) ζα γίλεη 100 bytes δεμηφηεξα απφ ηελ παξφλ ζέζε: lseek(filedesc, 100, SET_CUR); Επνκέλσο έλα αξρείν κπνξεί λα έρεη «ηξχπεο» κε θελά. Απηέο νη ηξχπεο είλαη νπζηαζηηθά ζπλερφκελα 0 (NULLs) θαη θαηαιακβάλνπλ 1 byte αλά Null. Σν offset κπνξεί λα πάξεη ζεηηθέο θαη αξλεηηθέο ηηκέο, εάλ θαη εθφζνλ νη ζπζθεπέο ην ππνζηεξίδνπλ (π.ρ. ζε έλα αξρείν γίλεηαη άιια φρη ζε έλα socket)
46 Παξάδεηγκα 4: Τινπνίεζε Απινχ Database Να πινπνηήζεηε ζε C θαη κε ρξήζε θιήζεωλ ζπζηήκαηνο, κηα απιή δπαδηθή βάζε δεδνκέλωλ ή νπνία γξάθεη πέληε εγγξαθέο ηεο κνξθήο typedef struct person{ int id; char sex; char name[40]; attribute ((packed)) PERSON; Σν attribute ((packed)) ηνπ ζεκαίλεη φηη δελ ζέινπκε ν GCC compiler λα πξνζζέζεη padding ζηελ δνκή γηα λα ηελ θάλεη align ζηελ κλήκε. Εάλ δελ ην ρξεζηκνπνηήζνπκε πξέπεη λα θάλνπκε ηηο εγγξαθέο ησλ ζηνηρείσλ κηα-κηα ζπλερόκελα ζε έλα αξρείν user.db, ζηελ ζπλέρεηα αθήλεη 3 εγγξαθέο θελέο θαη κεηά γξάθεη αθόκε 5 εγγξαθέο. Τέινο δηαβάδεη από ην αξρείν όιεο ηηο εγγξαθέο θαη ηηο ηππώλεη ζηελ νζόλε
47 Παξάδεηγκα 4: Τινπνίεζε Απινχ Database main(int argc, char *argv[]) { int n, fd, i; PERSON p; char *filename="users.db"; int offset; if ((fd = open(filename, O_RDWR O_CREAT, 0660)) < 0) { /* Open to-file */ perror("open db"); exit(1); // set the values in the p structure p.sex = 'm'; strcpy(p.name, "Costas"); // write 5 tuples to the file for (i=0; i<5; i++) { p.id = i; write(fd, (void *) &p, sizeof(p)); 11-47
48 Παξάδεηγκα 4: Τινπνίεζε Απινχ Database // seek the file descriptor three sizeof(p) positions to the right (from SEEK_CUR) lseek(fd, 3*sizeof(p), SEEK_CUR); // write another 5 tuples to the file for (i=0; i<5; i++) { p.id = i; write(fd, (void *) &p, sizeof(p)); // rewind the file descriptor to the beginning of the file lseek(fd, 0, SEEK_SET); // Now read and print the respective tuples while((n = read(fd, (void *) &p, sizeof(p))) > 0) { if ( sizeof(p)!= n ) perror ("read error"); printf("<%d,%c,%s>\n", p.id, p.sex, p.name); close(fd); 11-48
49 Παξάδεηγκα 4: Τινπνίεζε Απινχ $dbtest <0,m,Costas> <1,m,Costas> <2,m,Costas> <3,m,Costas> <4,m,Costas> <0,,> <0,,> <0,,> <0,m,Costas> <1,m,Costas> <2,m,Costas> <3,m,Costas> <4,m,Costas> Database Τν κέγεζνο ηνπ αξρείνπ είλαη 585 bytes (13 records * 45 bytes) 11-49
Διάλεξη 11: Είσοδος/Έξοδος Χαμηλού Επιπέδου (Low-Level I/O) Κεφάλαιο 3 (Stevens & Rago) Κεφάλαιο 5 (Stevens & Rago για επανάληψη) Δημήτρης Ζεϊναλιπούρ
ΕΠΛ371 - Προγραμματισμός Συστημάτων Διάλεξη 11: Είσοδος/Έξοδος Χαμηλού Επιπέδου (Low-Level I/O) Κεφάλαιο 3 (Stevens & Rago) Κεφάλαιο 5 (Stevens & Rago για επανάληψη) Δημήτρης Ζεϊναλιπούρ 11-1 Περιεχόμενο
Προγραμματισμός συστημάτων UNIX/POSIX. Ανακατευθύνσεις (redirections)
Προγραμματισμός συστημάτων UNIX/POSIX Ανακατευθύνσεις (redirections) Shell & ανακατεύθυνση εισόδου Κατά την εκτέλεση ενός προγράμματος, η είσοδος και η έξοδος ενός προγράμματος μπορούν να ανακατευθυνθούν
File Management και I/O στο UNIX
File Management και I/O στο UNIX Λειτουργικά Συστήματα Ντίρλης Νικόλαος- ΕΤΥ Τμήμα Μηχανικών Η/Υ και Πληροφορικής Πάτρας Συστήματα 2013-2014 1 Εισαγωγή Ένα από τα βασικά στοιχεία της επιστήμης της Πληροφορικής
Απαντήσεις θέματος 2. Παξαθάησ αθνινπζεί αλαιπηηθή επίιπζε ησλ εξσηεκάησλ.
Απαντήσεις θέματος 2 Απηά πνπ έπξεπε λα γξάςεηε (δελ ρξεηαδόηαλ δηθαηνιόγεζε εθηόο από ην Γ) Α return a*b; Β 0:acegf2, 1: acegf23, 2: acegf234, 3:acegf2345, 4:acegf23456, 5:acegf234567, 6:acegf2345678,
ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ Ρέππα Μαξγαξίηα
ΣΕΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΕΥΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΥΕΙΜΕΡΙΝΟ ΕΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα FORMAT, UNFORMAT Format format , όποσ = a:, b: Μνξθνπνηεί, δειαδή πξνεηνηκάδεη
Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ
Αιγόξηζκνη 2.2.7.4 Γοκή επαλάιευες Δληοιές Όζο & Μέτρης_όηοσ Εηζαγσγή ζηηο Αξρέο ηεο Επηζηήκεο ησλ Η/Υ 1 Άζθεζε 34 ζει 53 Έλα ςεθηαθό θσηνγξαθηθό άικπνπκ έρεη απνζεθεπηηθό ρώξν N Mbytes. Να αλαπηύμεηε
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου
1 Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα 7ο εξάμηνο ΣΗΜΜΥ ακ έτος 2015-2016 http://wwwcslabecentuagr/courses/os CSLab National Technical University of Athens Εργαστήριο
Αιγόξηζκνη Γνκή επηινγήο. Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο. Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ. introcsprinciples.wordpress.
Αιγόξηζκνη 2.2.7.3 Γνκή επηινγήο Πνιιαπιή Δπηινγή Δκθωιεπκέλεο Δπηινγέο Δηζαγωγή ζηηο Αξρέο ηεο Δπηζηήκεο ηωλ Η/Υ 1 Πνιιαπιή Δληνιή Δπηινγήο Αν ζπλζήθε_1 ηόηε εληνιέο_1 αλλιώς_αν ζπλζήθε_2 ηόηε εληνιέο_2...
Constructors and Destructors in C++
Constructors and Destructors in C++ Σύνθεζη Πνιύ ζπρλά ζηε C++ κία θιάζε κπνξεί λα πεξηέρεη ζαλ κέιεδεδνκέλα αληηθείκελα άιισλ θιάζεσλ. Πνηα είλαη ε ζεηξά κε ηελ νπνία δεκηνπξγνύληαη θαη θαηαζηξέθνληαη
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου. Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα Εργαστήριο Υπολογιστικών Συστημάτων ΕΜΠ Διαδικαστικά Λογαριασμοί (Accounts) Χρήστης: oslabxyy Αλλαγή password: yppasswd Μηχανήματα
Προγραμματισμός συστημάτων UNIX/POSIX. Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes)
Προγραμματισμός συστημάτων UNIX/POSIX Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes) Επικοινωνία μεταξύ διεργασιών γονέα-παιδιού Κατά κάποιο τρόπο, θα δημιουργήσουμε ένα τύπο
Ζαχαρίας Μ. Κοντοπόδης Εργαστήριο Λειτουργικών Συστημάτων ΙΙ
Διαφάνεια 1 η ΕΚΚΙΝΗΣΗ ΤΟΥ ΥΠΟΛΟΓΙΣΤΗ ΚΑΙ ΕΙΣΟΔΟΣ ΣΤΟ BIOS UITILITY Τν ζπλεζέζηεξν πιήθηξν γηα ηελ είζνδν ζην BIOS Utility είλαη ην πιήθηξν Del. Παξόια απηά δηαθνξεηηθνί θαηαζθεπαζηέο, ρξεζηκνπνηνύλ δηαθνξεηηθά
iii. iv. γηα ηελ νπνία ηζρύνπλ: f (1) 2 θαη
ΔΠΑΝΑΛΗΠΣΙΚΑ ΘΔΜΑΣΑ ΣΟ ΓΙΑΦΟΡΙΚΟ ΛΟΓΙΜΟ Μάρτιος 0 ΘΔΜΑ Να ππνινγίζεηε ηα όξηα: i ii lim 0 0 lim iii iv lim e 0 lim e 0 ΘΔΜΑ Γίλεηαη ε άξηηα ζπλάξηεζε '( ) ( ) γηα θάζε 0 * : R R γηα ηελ νπνία ηζρύνπλ:
ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ. Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη Εήηημα 1 ο :
ΓΗΑΓΩΝΗΣΜΑ ΣΤΑ ΜΑΘΖΜΑΤΗΚΑ Ον/μο:.. Γ Λσκείοσ Ύλη: Μιγαδικοί-Σσναρηήζεις-Παράγωγοι Θεη.-Τετν. Καη. 11-1-11 Εήηημα 1 ο : Α. Γηα ηελ ζπλάξηεζε f, λα βξείηε ην δηάζηεκα ζην νπνίν είλαη παξαγσγίζηκε θαζώο θαη
Ενδεικτικά Θέματα Στατιστικής ΙΙ
Ενδεικτικά Θέματα Στατιστικής ΙΙ Θέματα. Έζησ όηη ζε δείγκα 35 θαηνηθηώλ πνπ ελνηθηάδνληαη ζε θνηηεηέο ζηελ Κνδάλε βξέζεθε ην κέζν κεληαίν κίζζσκα ζηα 5 επξώ, ελώ ζην Ζξάθιεην ην κέζν κεληαίν κίζζσκα ζε
Η/Υ A ΤΑΞΕΩΣ ΑΕ 2010-2011. Συστήματα Αρίθμησης. Υποπλοίαρχος Ν. Πετράκος ΠΝ
Συστήματα Αρίθμησης Υποπλοίαρχος Ν. Πετράκος ΠΝ 1 Ειζαγωγή Τν bit είλαη ε πην βαζηθή κνλάδα κέηξεζεο. Είλαη κία θαηάζηαζε on ή off ζε έλα ςεθηαθό θύθισκα. Άιιεο θνξέο είλαη κία θαηάζηαζε high ή low voltage
Αζκήζεις ζτ.βιβλίοσ ζελίδας 13 14
.1.10 ζκήζεις ζτ.βιβλίοσ ζελίδας 13 14 Ερωηήζεις Καηανόηζης 1. ύν δηαθνξεηηθέο επζείεο κπνξεί λα έρνπλ θαλέλα θνηλό ζεκείν Έλα θνηλό ζεκείν i ύν θνηλά ζεκεία iλ) Άπεηξα θνηλά ζεκεία ηηηνινγήζηε ηελ απάληεζε
Βιβλιοθήκη stdio. Προγραμματισμός II 1
Βιβλιοθήκη 1 lalis@inf.uth.gr Δεδομένα και ερμηνεία (ξανά) Τα δεδομένα στον Η/Υ έχουν δυαδική μορφή (bytes) Η ερμηνεία των bytes εξαρτάται από το πρόγραμμα που παράγει/καταναλώνει τα δεδομένα Μια δημοφιλής
f '(x)g(x)h(x) g'(x)f (x)h(x) h'(x) f (x)g(x)
ΓΙΑΓΩΝΙΣΜΑ ΣΤΑ ΜΑΘΗΜΑΤΙΚΑ 54 Υλη: Παράγωγοι Γ Λσκείοσ Ον/μο:.. 6--4 Θεη-Τετν. ΘΔΜΑ Α.. Αλ f, g, h ηξεηο παξαγωγίζηκεο ζπλαξηήζεηο ζην λα απνδείμεηε όηη : f () g() h() ' f '()g()h() g'()f ()h() h'() f ()g()
ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών
τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 2 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ
1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird
1. Οδηγίερ εγκαηάζηαζηρ και σπήζηρ έξςπνυν καπηών και τηθιακών πιζηοποιηηικών με σπήζη ηος λογιζμικού Μοzilla Thunderbird 1.1 Εγκαηάζηαζη ηυν οδηγών ηηρ έξςπνηρ κάπηαρ ζηο λογιζμικό Mozilla Thunderbird
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη
Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy
ΔΡΓΑΙΑ 1. Γιαδικησακά πληροθοριακά σζηήμαηα. Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές. ηέθανος Κονηοβάς ΑΔΜ :283. Πάζτος Βαζίλειος ΑΔΜ :288
ΔΡΓΑΙΑ 1 Γιαδικησακά πληροθοριακά σζηήμαηα Ομάδα Δργαζίας: Μεηαπηστιακοί Φοιηηηές ηέθανος Κονηοβάς ΑΔΜ :283 Πάζτος Βαζίλειος ΑΔΜ :288 1.Γιάγραμμα Ονηολογίας. Σην παξαπάλω δηάγξακκα θαίλεηαη ε δηάξζξωζε
ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ
ΗΛΕΚΤΡΟΝΙΚΗ ΜΝΗΜΗ ΚΑΙ ΜΙΚΡΟΕΛΕΓΚΤΕΣ Η ζεκεξηλή ξαγδαία εμέιημε ηεο ηερλνινγίαο ηεο κηθξνειεθηξνληθήο επέηξεςε ηελ θαηαζθεπή εηδηθώλ νινθιεξσκέλσλ θπθισκάησλ απνζήθεπζεο δεδνκέλσλ θαη πιεξνθνξηώλ θαηαιακβάλνπλ
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΣΗΜΕΙΩΣΕΙΣ. Αρχεία και Μεταδεδομένα
ΕΘΝΙΚΟ ΚΑΙ ΚΑΠΟΔΙΣΤΡΙΑΚΟ ΠΑΝΕΠΙΣΤΗΜΙΟ ΑΘΗΝΩΝ ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ & ΤΗΛΕΠΙΚΟΙΝΩΝΙΩΝ ΜΑΘΗΜΑ: ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Αρχεία και Μεταδεδομένα ΣΗΜΕΙΩΣΕΙΣ Κάθε αρχείο χαρακτηρίζεται και αναφέρεται από ένα αριθμό
ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX
ΕΝΤΟΛΕΣ WINDOWS ΚΑΙ UNIX Σηότοι εργαζηηρίοσ Σην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ, νη θνηηεηέο ζα εμνηθεησζνύλ κε βαζηθέο εληνιέο δηθηπαθώλ πξσηνθόιισλ νη νπνίεο βξίζθνπλ εθαξκνγή ζε πεξηβάιινληα Windows
ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP
ΑΛΛΑΓΗ ΟΝΟΜΑΣΟ ΚΑΙ ΟΜΑΔΑ ΕΡΓΑΙΑ, ΚΟΙΝΟΥΡΗΣΟΙ ΦΑΚΕΛΟΙ ΚΑΙ ΕΚΣΤΠΩΣΕ ΣΑ WINDOWS XP ηότοι εργαζηηρίοσ ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηνύλ βαζηθέο ιεηηνπξγίεο ησλ Windows XP πνπ ζρεηίδνληαη
ΘΔΜΑ 1 ο Μονάδες 5,10,10
ΟΝΟΜΑΣΔΠΩΝΤΜΟ ΗΜΔΡΟΜΗΝΙΑ ΘΔΜΑ 1 ο Μονάδες 5,1,1 ΓΙΑΓΩΝΙΜΑ 1 ου ΜΔΡΟΤ ΣΗ ΑΝΑΛΤΗ Α Γώζηε ηνλ νξηζκό ηεο αληίζηξνθεο ζπλάξηεζεο Β Γείμηε όηη αλ κηα ζπλάξηεζε είλαη αληηζηξέςηκε ηόηε νη γξαθηθέο παξαζηάζεηο
Βιβλιοθήκη stdio. Προγραμματισμός II 1
Βιβλιοθήκη 1 lalis@inf.uth.gr Σύνοψη Ορίστηκε από τον Dennis Ritchie το 1975 Μέρος του προτύπου ANSI C Λειτουργίες εισόδου/εξόδου υψηλού επίπεδου και ανεξάρτητες λειτουργικού συστήματος Υποστήριξη για
ΔΕΟ 13. Ποσοτικές Μέθοδοι. θαη λα ππνινγίζεηε ην θόζηνο γηα 10000 παξαγόκελα πξντόληα. Να ζρεδηαζηεί γηα εύξνο πξντόλησλ έσο 30000.
ΔΕΟ 13 Ποσοτικές Μέθοδοι Σσνάρηηζη Κόζηοσς C(), μέζο κόζηος C()/. Παράδειγμα 1 Μηα εηαηξεία δαπαλά γηα θάζε πξντόλ Α πνπ παξάγεη 0.0 λ.κ. Τα πάγηα έμνδα ηεο εηαηξείαο είλαη 800 λ.κ. Ζεηείηαη 1) Να πεξηγξάςεηε
Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο
Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα
x x x x tan(2 x) x 2 2x x 1
ΘΕΡΙΝΟ ΣΜΗΜΑ ΜΑΘΗΜΑΣΙΚΑ Ι ΕΠΑΝΑΛΗΠΣΙΚΕ ΑΚΗΕΙ ΜΕΡΟ Ι 1. Να γίλνπλ νη γξαθηθέο παξαζηάζεηο ησλ παξαθάησ ζπλαξηήζεσλ. t ( i) e ( ii) ln( ) ( iii). Να βξεζεί ην Π.Ο., ν ηύπνο ηεο αλίζηξνθεο θαη ην Π.Τ. ησλ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)
(Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη
Άμεσοι Αλγόριθμοι: Προσπέλαση Λίστας (list access)
Έρνπκε απνζεθεύζεη κηα ζπιινγή αξρείσλ ζε κηα ζπλδεδεκέλε ιίζηα, όπνπ θάζε αξρείν έρεη κηα εηηθέηα ηαπηνπνίεζεο. Μηα εθαξκνγή παξάγεη κηα αθνινπζία από αηηήκαηα πξόζβαζεο ζηα αξρεία ηεο ιίζηαο. Γηα λα
(Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α. Α1. Βιέπε απόδεημε Σει. 262, ζρνιηθνύ βηβιίνπ. Α2. Βιέπε νξηζκό Σει. 141, ζρνιηθνύ βηβιίνπ
ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ ΚΑΗ ΔΠΑΛ (ΟΜΑΓΑ Β ) ΣΔΣΑΡΣΖ 18 ΜΑΪΟΤ 16 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (ΝΔΟ ΤΣΖΜΑ) ΚΑΣΔΤΘΤΝΖ (ΠΑΛΑΗΟ ΤΣΖΜΑ) (Ενδεικηικές Απανηήζεις) ΘΔΜΑ
Writing kernels for fun and profit
Writing kernels for fun and profit Γιάννης Τσιομπίκας nuclear@memberfsforg 23 Μαρτίου 2011 Γιατί; It s FUN! Εξοικείωση με το hardware Εμβάθυνση στον θαυμαστό κόσμο των λειτουργικών συστημάτων Μια καλή
Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing)
1 Κινητός και Διάχυτος Υπολογισμός (Mobile & Pervasive Computing) Δημήτπιορ Κατσαπόρ Χεηκώλαο 2016 Διάλεξη 7η 2 Περιεχόμενα Εςπετήπια 3 Παράμετροι ενδιαφέροντος (1/2) Tuning time: Ο ρξόλνο πνπ ν θηλεηόο
Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ. Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης
Τίτλος Μαθήματος: Ηλεκτρονικοί Υπολογιστές IΙΙ Ενότητα: Πράξεις με αρχεία Διδάσκων: Επίκουρος Καθηγητής Αθανάσιος Σταυρακούδης Τμήμα: Οικονομικών Επιστημών Ανάγνωση και εγγραφή αρχείων με χρήση ρεύματος
ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS
ηότοι εργαζηηρίοσ ΡΤΘΜΙΕΙ ΔΙΚΣΤΟΤ ΣΑ WINDOWS ην πιαίζην ηνπ ζπγθεθξηκέλνπ εξγαζηεξίνπ ζα παξνπζηαζηεί ε δηαδηθαζία ηωλ ξπζκίζεωλ δηθηύνπ ζε ιεηηνπξγηθό ζύζηεκα Windows XP. Η δηαδηθαζία ζε γεληθέο γξακκέο
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..
ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο
ΣΥΣΤΗΜΑΤΑ ΑΛΓΕΒΡΑ Α ΛΥΚΕΙΟΥ. 1. Να ιπζνύλ ηα ζπζηήκαηα. 1 0,3x 0,1y x 3 3x 4y 2 4x 2y ( x 1) 6( y 1) (i) (ii)
. Να ιπζνύλ ηα ζπζηήκαηα.,, 6 4 4 4 5( ) 6( ). Να ιπζνύλ ηα ζπζηήκαηα.,,,6 7. Να ιπζνύλ ηα ζπζηήκαηα. 5 ( )( ) ( ) 4. Να ιπζνύλ ηα ζπζηήκαηα. 5 4 6 7 4. 5. Να ιπζνύλ ηα ζπζηήκαηα. 59 ( )( ) ()( 5) 7 6.
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙ ΜΟ Α ΛΤΚΔΙΟΤ Ζμεπομηνία: 18/12/10 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΕΙΝΟΜΕΝΕ ΛΤ ΕΙ 1. Δίλεηαη ην πνιπώλπκν Αλ θαη., λα βξείηε ην ηειεπηαίν ςεθίν ηνπ αξηζκνύ έρνπκε:
Προγραμματισμός συστημάτων UNIX/POSIX
Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) Ανάγκη Ότι είδαμε μέχρι τώρα μπορεί
H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ
H ΜΑΓΕΙΑ ΤΩΝ ΑΡΙΘΜΩΝ Φξεζηκόηεηα καζεκαηηθώλ Αξρή θαηακέηξεζεο Όζα έδσζαλ νη Έιιελεο... Τξίγσλνη αξηζκνί Τεηξάγσλνη αξηζκνί Δπηκήθεηο αξηζκνί Πξώηνη αξηζκνί Αξηζκνί κε μερσξηζηέο ηδηόηεηεο Γίδπκνη πξώηνη
Α. Εηζαγσγή ηεο έλλνηαο ηεο ηξηγσλνκεηξηθήο εμίζσζεο κε αξρηθό παξάδεηγκα ηελ εκx = 2
ΣΡΙΓΩΝΟΜΔΣΡΙΚΔ EΞΙΩΔΙ Πνηα παξαδείγκαηα εμηζώζεσλ ή θαη πξνβιεκάησλ πηζηεύεηαη όηη είλαη θαηάιιεια γηα ηελ επίιπζε ηνπο θαηά ηελ δηάξθεηα ηεο δηδαθηηθήο δηαδηθαζίαο κέζα ζηελ ηάμε; 1 ε ΓΙΓΑΚΣΙΚΗ ΩΡΑ Α.
ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ
ΠΑΡΑΡΣΗΜΑ Δ. ΔΤΡΔΗ ΣΟΤ ΜΔΣΑΥΗΜΑΣΙΜΟΤ FOURIER ΓΙΑΦΟΡΩΝ ΗΜΑΣΩΝ Εδώ ζα ππνινγίζνπκε ην κεηαζρεκαηηζκό Fourier κεξηθώλ αθόκα ζεκάησλ, πξνζπαζώληαο λα μεθηλήζνπκε από ην κεηαζρεκαηηζκό Fourier γλσζηώλ ζεκάησλ
Φροντιςτήριο. Linked-List
Φροντιςτήριο Linked-List 1 Linked List Μια linked list είναι μια ακολουθία από ςυνδεδεμένουσ κόμβουσ Κάθε κόμβοσ περιέχει τουλάχιςτον Μια πληροφορία (ή ένα struct) Δείκτη ςτον επόμενο κόμβο τησ λίςτασ
i M-1 1. ij f(i, j) N-1. (pixel) 2. M N (x, y) (x, y ) = 256. R(x, y), G(x, y), B(x, y)
D4 2 2. (pixel) 2 ( ) M N (x, y) (x, y ) ( )f(x, y) j N- i j i f(i, j) M-. ij f(i, j) 8 2 8 = 256, 2 2 f(x, y) 3,, R(x, y), G(x, y), B(x, y) 256 2 2.2 ( ) JPEG (Joint Photographic Experts Group), GIF (Graphics
Μονοψϊνιο. Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ.
Μονοψϊνιο Ολιγοψώνιο Αγνξά κε ιίγνπο αγνξαζηέο. Δύναμη μονοψωνίος Η ηθαλόηεηα πνπ έρεη ν αγνξαζηήο λα επεξεάζεη ηελ ηηκή ηνπ αγαζνύ. Οπιακή αξία Δπηπξόζζεηα νθέιε από ηελ ρξήζε/θαηαλάισζε κηαο επηπξόζζεηε
Βάσεις Δεδομέμωμ. Εξγαζηήξην V. Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016
Βάσεις Δεδομέμωμ Εξγαζηήξην V Τκήκα Πιεξνθνξηθήο ΑΠΘ 2015-2016 2 Σκοπός του 5 ου εργαστηρίου Σθνπόο απηνύ ηνπ εξγαζηεξίνπ είλαη: ε κειέηε ζύλζεησλ εξσηεκάησλ ζύλδεζεο ζε δύν ή πεξηζζόηεξεο ζρέζεηο ε κειέηε
Μεθόδων Επίλυσης Προβλημάτων
ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)
Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο:
Πίνακες Σσμβόλων Έλαο πίνακας σσμβόλων ππνζηεξίδεη δύν βαζηθέο ιεηηνπξγίεο: Εηζαγσγή ελόο ζηνηρείνπ Αλαδήηεζε ζηνηρείνπ κε δεδνκέλν θιεηδί Άιιεο ρξήζηκεο ιεηηνπξγίεο είλαη: Δηαγξαθή ελόο θαζνξηζκέλνπ ζηνηρείνπ
Μορθές Κακόβοσλοσ Κώδικα (Malicious Code)
Μορθές Κακόβοσλοσ Κώδικα (Malicious Code) Page 1 Υποπλοίαρτος Ν. Πεηράκος ΠΝ Αηδένηα Γνύξεηνη Ίππνη (Trojan Horses) Ινί (Viruses) Worms Root-kit Page 2 Γνύξεηνο Ίππνο (Trojan Horse) Οξηζκόο: Πξόγξακκα
Διάλεξη 18η: Διαχείρηση Αρχείων
Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh
Δπηιέγνληαο ην «Πξνεπηινγή» θάζε θνξά πνπ ζα ζπλδέεζηε ζηελ εθαξκνγή ζα βξίζθεζηε ζηε λέα ρξήζε.
ΑΝΟΙΓΜΑ ΝΔΑ ΥΡΗΗ 1. Γεκηνπξγείηε ηε λέα ρξήζε από ηελ επηινγή «Παξάκεηξνη/Παξάκεηξνη Δηαηξίαο/Γηαρείξηζε Δηαηξηώλ». Πιεθηξνινγείηε ηνλ θσδηθό ηεο εηαηξίαο ζαο θαη παηάηε Enter. Σηελ έλδεημε «Υξήζεηο» παηάηε
ΚΕΦ. 2.3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ
ΚΕΦ..3 ΑΠΟΛΤΣΗ ΣΘΜΗ ΠΡΑΓΜΑΣΘΚΟΤ ΑΡΘΘΜΟΤ Οπιζμόρ απόλςηηρ ηιμήρ: Σηνλ άμνλα ησλ πξαγκαηηθώλ αξηζκώλ ζεσξνύκε έλαλ αξηζκό α πνπ ζπκβνιίδεηαη κε ην ζεκείν Α. Η απόζηαζε ηνπ ζεκείνπ Α από ηελ αξρή Ο, δειαδή
Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα!
Cpyright 2013 Λόγος & Επικοινωνία // All rights Reserved Παιχνίδι γλωζζικής καηανόηζης με ζχήμαηα! Αυηό ηο παιχνίδι έχει ζηόχους: 1. ηελ εθγύκλαζε ηεο αθνπζηηθήο κλήκεο ησλ παηδηώλ 2. ηελ εμάζθεζε ζηελ
Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 2011-12
Απνηειέζκαηα Εξσηεκαηνινγίνπ 2o ηεηξάκελν 11-12 Project 6: Ταμίδη κε ηε Μεραλή ηνπ Φξόλνπ Υπεύζπλνη Καζεγεηέο: Ε. Μπηιαλάθε Φ. Αλησλάηνο Δρώηηζη 3: Πνηα από ηα παξαθάησ ΜΜΕ ηεξαξρείηε από πιεπξάο ζεκαζίαο;
Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα
Πολυεπίπεδα/Διασυμδεδεμέμα Δίκτυα Κοιμωμικά δίκτυα (multiplex network) Έρεηε ινγαξηαζκό ζην Facebook? Έρεηε ινγαξηαζκό ζην LinkedIn? Έρεηε ινγαξηαζκό ζην Twitter? Αεροπορικές γραμμές της Ευρώπης(multiplex
Κλείδωμα αρχείων (file locking) Προγραμματισμός II 1
Κλείδωμα αρχείων (file locking) Προγραμματισμός II 1 lalis@inf.uth.gr Κλείδωμα αρχείων Οι διεργασίες που προσπελάζουν ένα αρχείο μέσω ξεχωριστών περιγραφέων, μπορούν να γράψουν / διαβάσουν τα περιεχόμενα
ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών
τοιχεία του μαθήματοσ (ημζρα εβδομάδασ, ώρεσ, ζτοσ): ΣΕΙ Δυτικήσ Μακεδονίασ, Παράρτημα Καςτοριάσ Τμήμα Πληροφορικήσ και Τεχνολογίασ Υπολογιςτών Εργαςτηριακή ομάδα αςκήςεων 1 για το μάθημα «ΑΡΧΙΣΕΚΣΟΝΙΚΗ
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου ΥΟΛΕΙΟ..
ΜΑΘΗΜΑΣΙΚΗ ΚΤΣΑΛΟΓΡΟΜΙΑ 2007 ΓΙΑ ΣΟ ΓΤΜΝΑΙΟ Παπασκευή 26 Ιανουαπίου 2007 Σάξη: Α Γυμνασίου έλαξμεο 09.30 ιήμεο 09.45 Σην παξαθάησ ζρήκα θαίλεηαη ηκήκα ελόο πνιενδνκηθνύ ζρεδίνπ κηαο πόιεο. Οη ζθηαζκέλεο
Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου
1 Εισαγωγή στο περιβάλλον προγραμματισμού του εργαστηρίου Λειτουργικά Συστήματα 7ο εξάμηνο ΣΗΜΜΥ ακ έτος 2016-2017 http://wwwcslabecentuagr/courses/os CSLab National Technical University of Athens Εργαστήριο
Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)
Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Αρχεία Το γενικό πλαίσιο: data stream (ρεύμα δεδομένων). stdin, stdout, stderr data stream ως προς τα δεδομένα βάσει προσπέλασης
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ. Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο
ΦΥΛΛΟ ΕΡΓΑΣΙΑΣ Οξηδόληηα θαη θαηαθόξπθε κεηαηόπηζε παξαβνιήο 1 ε Δξαζηεξηόηεηα Αλνίμηε ην αξρείν «Μεηαηόπηζε παξαβνιήο.ggb». Με ηε καύξε γξακκή παξηζηάλεηαη ε γξαθηθή παξάζηαζε ηεο f(x)=αx 2 πνπ ζα ηελ
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ. Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΔΣΑΙΡΔΙΑ ΠΑΓΚΤΠΡΙΟ ΓΙΑΓΩΝΙΜΟ Α ΛΤΚΔΙΟΤ Ημεπομηνία: 10/12/11 Ώπα εξέτασηρ: 09:30-12:30 ΠΡΟΣΔΙΝΟΜΔΝΔ ΛΤΔΙ Πρόβλημα 1: α) Να δείμεηε όηη αλ ζεηηθνί πξαγκαηηθνί αξηζκνί ηζρύεη: β) Αλ είλαη
(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ
(Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα
TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΠΡΟΑΡΜΟΓΗ: ΒΑΛΚΑΝΙΩΣΗ ΔΗΜ. ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 TOOLBOOK ΜΑΘΗΜΑ 2
TOOLBOOK (μάθημα 2) Δεκηνπξγία βηβιίνπ θαη ζειίδσλ ΕΚΠΑΙΔΕΤΣΙΚΟ ΠΕ19 1 Δημιουργία σελίδων και βιβλίων Έλα θαηλνύξην βηβιίν πεξηέρεη κία άδεηα ζειίδα κε έλα άδεην background. Δελ κπνξνύκε λα μερσξίζνπκε
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου
ΚΤΠΡΙΑΚΗ ΜΑΘΗΜΑΣΙΚΗ ΕΣΑΙΡΕΙΑ ΜΑΘΗΜΑΤΙΚΗ ΣΚΥΤΑΛΟΓΡΟΜΙΑ 2015 ΓΙΑ ΤΟ ΓΥΜΝΑΣΙΟ Τεηάπηη 28 Ιανουαπίου 2015 ΛΔΥΚΩΣΙΑ Τάξη: Α Γυμναζίου ΠΡΟΒΛΗΜΑ Σε έλα ηνπξλνπά βόιετ δήισζαλ ζπκκεηνρή νκάδεο Γπκλαζίσλ ηεο Κύπξνπ.
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ
ΕΡΓΑΣΤΗΡΙΑΚΗ ΑΣΚΗΣΗ 4 ΣΥΝΔΥΑΣΤΙΚΑ ΚΥΚΛΩΜΑΤΑ 1. ρεδίαζε πλδπαζηηθνύ Κπθιώκαηνο Έλα ζπλδπαζηηθό θύθισκα (Κ) έρεη ηξεηο εηζόδνπο A, B θαη C θαη κία έμνδν Y Y=A B+AC Να θαηαζθεπάζεηε ην ράξηε Karnaugh. B 0
Πξνγξακκαηηζκόο Ι. Δίζνδνο/Έμνδνο. Κσλζηαληίλνο Σζεξπέο. (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Γεκήηξε Μηραήι)
Πξνγξακκαηηζκόο Ι Δίζνδνο/Έμνδνο Κσλζηαληίλνο Σζεξπέο (βαζηζκέλν ζηηο δηαθάλεηεο ηνπ θ. Γεκήηξε Μηραήι) Σκήκα Πιεξνθνξηθήο θαη Σειεκαηηθήο Χαξνθόπεην Παλεπηζηήκην Δίζνδνο/Έμνδνο Μέρξη ηώξα όπνηε ζέιακε
Η αξρή ζύλδεζεο Client-Server
Η αξρή ζύλδεζεο Client-Server Δηαθνκηζηήο (Server) Πξνζθέξεη ππεξεζίεο ζηνπο Πειάηεο (Client) Μεγάινη ππνινγηζηέο γηα ηηο ππεξεζίεο Internet (π.ρ. WWW, FTP) Λακβάλεη εξσηήζεηο θαη δίδεη απαληήζεηο Πειάηεο
B-Δέλδξα. Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν.
B-Δέλδξα Τα B-δέλδξα ρξεζηκνπνηνύληαη γηα ηε αλαπαξάζηαζε πνιύ κεγάισλ ιεμηθώλ πνπ είλαη απνζεθεπκέλα ζην δίζθν. Δέλδξα AVL n = 2 30 = 10 9 (πεξίπνπ). 30
Προγραμματισμός συστημάτων UNIX/POSIX
Προγραμματισμός συστημάτων UNIX/POSIX Προχωρημένη διαδιεργασιακή επικοινωνία: επώνυμοι αγωγοί (FIFOs) ουρές μηνυμάτων (message queues) κοινόχρηστη μνήμη (shared memory) σήματα (signals) Ανάγκη Ότι είδαμε
Δξγαιεία Καηαζθεπέο 1 Σάμε Σ Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ. ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ. Καηαζθεπή 1: Φαθόο κε ζσιήλα.
Δξγαιεία Καηαζθεπέο 1 Δ.Κ.Φ.Δ. ΥΑΝΙΧΝ ΠΡΧΣΟΒΑΘΜΙΑ ΔΚΠΑΙΓΔΤΗ ΔΝΟΣΗΣΑ 11 ε : ΦΧ ΔΡΓΑΛΔΙΑ ΚΑΣΑΚΔΤΔ Καηαζθεπή 1: Φαθόο κε ζσιήλα Γηαθξάγκαηα Δξγαιεία Καηαζθεπέο 2 Η θαηαζθεπή πεξηγξάθεηαη ζηελ αληίζηνηρε ελόηεηα
Λύβας Χρήστος Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος
ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ IΙ Λύβας Χρήστος chrislibas@ssl-unipi.gr Αρχική επιµέλεια Πιτροπάκης Νικόλαος και Υφαντόπουλος Νικόλαος >_ FILE SYSTEM >_ ΔΙΚΑΙΩΜΑΤΑ >_ ΔΙΚΑΙΩΜΑΤΑ? >_ ΜΕΤΑΒΟΛΗ ΔΙΚΑΙΩΜΑΤΩΝ +- chmod
Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67)
Hellas online Προεπιλεγμένες ρσθμίσεις για FritzBox Fon WLAN 7140 (Annex B) 30.04.67 FritzBox Fon WLAN 7140 - Annex B (30.04.67) Γηα λα επαλαθέξεηε ην FritzBox Fon WLAN 7140 ζηηο πξνεπηιεγκέλεο ηνπ ξπζκίζεηο
ΑΝΤΗΛΙΑΚΑ. Η Μηκή ζθέθηεθε έλαλ ηξόπν, γηα λα ζπγθξίλεη κεξηθά δηαθνξεηηθά αληειηαθά πξντόληα. Απηή θαη ν Νηίλνο ζπλέιεμαλ ηα αθόινπζα πιηθά:
ΑΝΤΗΛΙΑΚΑ Η Μηκή θαη ν Νηίλνο αλαξσηήζεθαλ πνην αληειηαθό πξντόλ παξέρεη ηελ θαιύηεξε πξνζηαζία ζην δέξκα ηνπο. Τα αληειηαθά πξντόληα έρνπλ έλα δείθηε αληειηαθήο πξνζηαζίαο (SPF), ν νπνίνο δείρλεη πόζν
ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ
ΟΠΤΙΚΗ Α. ΑΝΑΚΛΑΣΖ - ΓΗΑΘΛΑΣΖ. Μία αθηίλα θωηόο πξνζπίπηεη κε κία γωλία ζ ζηε επάλω επηθάλεηα ελόο θύβνπ από πνιπεζηέξα ν νπνίνο έρεη δείθηε δηάζιαζεο ε =,49 (ζρήκα ). Βξείηε πνηα ζα είλαη ε κέγηζηε γωλία
α) ηε κεηαηόπηζε x όηαλ ην ζώκα έρεη κέγηζην ξπζκό κεηαβνιήο ζέζεο δ) ην κέγηζην ξπζκό κεηαβνιήο ηεο ηαρύηεηαο
Έξγν ελέξγεηα 3 (Λύζε) Σώκα κάδαο m = 4Kg εξεκεί ζηε βάζε θεθιηκέλνπ επηπέδνπ γσλίαο θιίζεο ζ κε εκζ = 0,6 θαη ζπλζ = 0,8. Τν ζώκα αξρίδεη λα δέρεηαη νξηδόληηα δύλακε θαη μεθηλά λα αλεβαίλεη ζην θεθιηκέλν
ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα 11 Ηουνίου 2018 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ. (Ενδεικηικές Απανηήζεις)
ΠΑΝΔΛΛΑΓΗΚΔ ΔΞΔΣΑΔΗ Γ ΣΑΞΖ ΖΜΔΡΖΗΟΤ ΓΔΝΗΚΟΤ ΛΤΚΔΗΟΤ Γευηέρα Ηουνίου 08 ΔΞΔΣΑΕΟΜΔΝΟ ΜΑΘΖΜΑ: ΜΑΘΖΜΑΣΗΚΑ ΠΡΟΑΝΑΣΟΛΗΜΟΤ (Ενδεικηικές Απανηήζεις) ΘΔΜΑ Α Α. Απόδεημε ζεωξήκαηνο ζει. 99 ζρνιηθνύ βηβιίνπ. Α. α.
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Ορίσματα στο QtSpim (set parameters
Σήκαηα Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) ΕΙΣΑΓΨΓΗ ΣΤΙΣ ΤΗΛΕΠΙΚΟΙΝΨΝΙΕΣ
Σήκαηα 1 Β Α Γ Γ Δ Λ Η Σ Ο Ι Κ Ο Ν Ο Μ Ο Υ Γ Ι Α Λ Δ Ξ Η - ( 2 ) Σήκαηα Οξηζκόο ζήκαηνο Ταμηλόκεζε ζεκάησλ Σεηξέο Fourier Μεηαζρεκαηηζκόο Fourier Σπλέιημε Σπζρέηηζε θαη Φαζκαηηθή Ππθλόηεηα 2 Οξηζκόο Σήκαηνο
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών
ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό
Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ. Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα
Εηζαγσγή ζηελ επηζηήκε ησλ ππνινγηζηώλ Λνγηζκηθό Υπνινγηζηώλ Κεθάιαην 7ν Λεηηνπξγηθά Σπζηήκαηα 1 Υπνινγηζηηθό Σύζηεκα 2 Λεηηνπξγηθό Σύζηεκα Απνηειεί ηε δηαζύλδεζε κεηαμύ ηνπ πιηθνύ ελόο ππνινγηζηή θαη
Συστήματα Αρχείων (Σ.Α.)
Άδεια Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης Creative Commons. Για εκπαιδευτικό υλικό, όπως εικόνες, που υπόκειται σε άδεια χρήσης άλλου τύπου, αυτή πρέπει να αναφέρεται ρητώς. Συστήματα
ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΧΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ Ρέππα Μαξγαξίηα
ΣΔΙ ΙΟΝΙΩΝ ΝΗΩΝ ΣΜΗΜΑ: ΣΔΧΝΟΛΟΓΙΑ ΠΛΗΡΟΦΟΡΙΚΗ ΚΑΙ ΣΗΛΔΠΙΚΟΙΝΩΝΙΩΝ ΧΔΙΜΔΡΙΝΟ ΔΞΑΜΗΝΟ 2011-12 Ρέππα Μαξγαξίηα Πξνρσξεκέλεο εληνιέο δηαρείξηζεο Αξρείσλθαηαιόγσλ Εντολή sort Με ηελ εληνιή απηή κπνξνύκε λα
Α Ο Κ Η Α Μ Α Ζ Η Η Ρ Η ( S E A R C H )
Ξ G O O G L E S C H O L A R Α Ο Ξ Ε Κ Ε Θ Λ Θ Α Λ Η Τ Α Μ Η Α Μ Α Ζ Η Η Ρ Η Ρ Οξαγκαηνπνηώληαο αλαδήηεζε ζην GoogleScholar (http://scholar.google.com/) ν ρξήζηεο κπνξεί λα εληνπίζεη πιηθό αθαδεκαϊθνύ θαη
Οργάνωση και Δομή Παρουσιάσεων
Οργάνωση και Δομή Παρουσιάσεων Οη παξνπζηάζεηο κε βνήζεηα ηνπ ππνινγηζηή γίλνληαη κε πξνγξάκκαηα παξνπζηάζεσλ, όπσο ην OpenOffice.org Impress [1] θαη ην Microsoft Office PowerPoint [2]. Απηά ηα πξνγξάκκαηα
Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση
Κευάλαιο 8 Μονοπωλιακή Συμπεριφορά- Πολλαπλή Τιμολόγηση Πώς πρέπει να τιμολογεί ένα μονοπώλιο; Μέρξη ζηηγκήο ην κνλνπώιην έρεη ζεσξεζεί ζαλ κηα επηρείξεζε ε νπνία πσιεί ην πξντόλ ηεο ζε θάζε πειάηε ζηελ
Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training. Dipl.Biol.cand.med. Stylianos Kalaitzis
Αζθήζεηο 5 νπ θεθαιαίνπ Crash course Step by step training Dipl.Biol.cand.med. Stylianos Kalaitzis Stylianos Kalaitzis Μνλνϋβξηδηζκνο 1 Γπν γνλείο, εηεξόδπγνη γηα ηνλ αιθηζκό θάλνπλ παηδηά. Πνία ε πηζαλόηεηα
ΚΔΦ. 2.4 ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ
ΚΔΦ.. ΡΗΕΔ ΠΡΑΓΜΑΣΗΚΩΝ ΑΡΗΘΜΩΝ Οξηζκόο ηεηξαγσληθήο ξίδαο: Αλ 0 ηόηε νλνκάδνπκε ηεηξαγσληθή ξίδα ηνπ ηελ κε αξλεηηθή ιύζε ηεο εμίζσζεο:. Γειαδή ηεηξαγσληθή ξίδα ηνπ 0 ιέγεηαη ν αξηζκόο 0 πνπ όηαλ πςσζεί
UNIX System Programming
UNIX System Programming Processes Objectives look at how to program UNIX processes fork( ), wait( ) Overview 1. What is a Process? 2. fork() 3. wait() 4. Process Data 1. What is a Process? A process is
Instruction Execution Times
1 C Execution Times InThisAppendix... Introduction DL330 Execution Times DL330P Execution Times DL340 Execution Times C-2 Execution Times Introduction Data Registers This appendix contains several tables
ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ. Ειζαγωγή ζηη Φωηογραθία. Χριζηάκης Σαζεΐδης EFIAP
ΜΑΘΗΜΑΣΑ ΦΩΣΟΓΡΑΦΙΑ Ειζαγωγή ζηη Φωηογραθία Χριζηάκης Σαζεΐδης EFIAP 1 ΜΑΘΗΜΑ 6 ο Προγράμμαηα θωηογραθικών μηχανών Επιλογέας προγραμμάηων Μαο δίλεη ηε δπλαηόηεηα λα ειέγμνπκε ην άλνηγκα δηαθξάγκαηνο θαη
Hancock. Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος. ΕΠΛ 428 Προγραμματισμός Συστημάτων
Hancock Ζωγραφάκης Ιωάννης Εξαρχάκος Νικόλαος Χ346339 Τ911778 ΕΠΛ 428 Προγραμματισμός Συστημάτων Ιστορική Αναδρομή Δημιουργήθηκε από την εταιρεία ΑΤ&Τ LAB Αφορμή δημιουργίας: Η ανάγκη για καθαρό και αποδοτικό
ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KARNAUGH
ΑΠΛΟΠΟΙΗΗ ΛΟΓΙΚΩΝ ΤΝΑΡΣΗΕΩΝ ΜΕ ΠΙΝΑΚΕ KRNUGH Γηα λα θάλνπκε απινπνίεζε κηαο ινγηθήο ζπλάξηεζεο κε πίλαθα (ή ράξηε) Karnaugh αθνινπζνύκε ηα παξαθάησ βήκαηα:. Η ινγηθή ζπλάξηεζε ζα πξέπεη λα είλαη ζε πιήξε
Δημιουργία & Τερματισμός Διεργασιών. Προγραμματισμός II 1
Δημιουργία & Τερματισμός Διεργασιών Προγραμματισμός II 1 lalis@inf.uth.gr Δημιουργία νέας διεργασίας pid_t fork() Η fork δεν έχει παραμέτρους Δημιουργεί μια νέα διεργασία που είναι ένα αντίγραφο της διεργασίας
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ. ΕΠΛ371 - Προγραµµατισµός Συστηµάτων
ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ Τµήµα Πληροφορικής ΕΠΛ371 - Προγραµµατισµός Συστηµάτων ΑΣΚΗΣΗ 3 Υλοποίηση προγράµµατος για την προσπέλαση δεδοµένων του συστήµατος αρχείων (ls -ialr) Ι. Στόχος Άσκησης Διδάσκων: Δηµήτρης