Αρχεία. Προγραμματισμός II 1

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

Download "Αρχεία. Προγραμματισμός II 1"

Transcript

1 Αρχεία Προγραμματισμός II 1 ais@inf.uth.gr

2 Μόνιμη αποθήκευση δεδομένων Οι μεταβλητές και δομές δεδομένων ενός προγράμματος υπάρχουν στην μνήμη του Η/Υ Χάνονται όταν τερματιστεί το πρόγραμμα ή σβήσει ο Η/Υ (πιθανώς λόγω βλάβης) Χρειαζόμαστε μόνιμα αποθηκευτικά μέσα που λειτουργούν χωρίς παροχή ρεύματος μαγνητικά, οπτικά, soid-state, Σημείωση: και ο ίδιος ο κώδικας (sources, binaries) είναι δεδομένα που δεν θέλουμε να χάνονται κάθε φορά που σβήνουμε τον υπολογιστή Προγραμματισμός II 2 ais@inf.uth.gr

3 Πρόσβαση μέσων αποθήκευσης Η πρόσβαση στα μόνιμα αποθηκευτικά μέσα είναι μια σχετικά περίπλοκη υπόθεση καμία σχέση με το απλό μοντέλο της κυρίως μνήμης κάθε τεχνολογία έχει τις ιδιαιτερότητες της, και κάθε συσκευή μπορεί να απαιτεί διαφορετική διαχείριση Χρειάζεται ένα γενικό μοντέλο πρόσβασης ανεξάρτητου της τεχνολογίας που χρησιμοποιείται για την υλοποίηση μιας αποθηκευτικής συσκευής Επίσης χρειάζεται ελεγχόμενη πρόσβαση στις συσκευές αποθήκευσης, ώστε να παρέχεται προστασία/ασφάλεια των δεδομένων Προγραμματισμός II 3 ais@inf.uth.gr

4 Appications API κατάλληλη αφαίρεση; Προγραμματισμός II 4 ais@inf.uth.gr

5 Αρχεία Ξεχωριστές οντότητες αποθήκευσης δεδομένων Τα αρχεία είναι μόνιμα: εξακολουθούν να υφίστανται ακόμα και μετά τον τερματισμό των προγραμμάτων που τα δημιούργησαν/επεξεργάστηκαν συχνά, επιζούν πολύ παραπάνω και από τους υπολογιστές και τα προγράμματα μέσω των οποίων δημιουργήθηκαν Τα αρχεία είναι επώνυμα: κάθε αρχείο έχει «μοναδικό» όνομα/αναγνωριστικό για να μπορεί να εντοπιστεί αργότερα, είτε από το πρόγραμμα που το δημιούργησε είτε από άλλα προγράμματα, είτε από τον ίδιο τον χρήστη Προγραμματισμός II 5 ais@inf.uth.gr

6 Χώρος ονομάτων (name space) Τα ονόματα αρχείων δίνονται στο πλαίσιο ενός «χώρου ονομάτων» του συστήματος Ο χώρος είναι δομημένος ιεραρχικά διευκολύνει την ανάθεση μοναδικών ονομάτων διευκολύνει την διαχείριση πολλών αρχείων διευκολύνει τον έλεγχο πρόσβασης Κάθε επίπεδο ονομάζεται κατάλογος (directory) Η δομή αναπαρίσταται ως «ανεστραμμένο» δέντρο Η ρίζα (root) είναι στο ψηλότερο επίπεδο και αποτελεί την κορυφή της ιεραρχίας καταλόγων Τα αρχεία μπορεί να δημιουργηθούν/τοποθετηθούν σε οποιοδήποτε επίπεδο του χώρου ονομάτων Προγραμματισμός II 6 ais@inf.uth.gr

7 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf Προγραμματισμός II 7 ais@inf.uth.gr

8 Προσδιορισμός ονομάτων Απόλυτος προσδιορισμός, σε καθολικό επίπεδο πλήρες όνομα, με βάση την κορυφή της ιεραρχίας Σχετικός προσδιορισμός, σε τοπικό επίπεδο τμήμα ονόματος, με βάση τον κατάλογο εργασίας Συμβάσεις "." για τον τρέχοντα κατάλογο εργασίας ".." για τον κατάλογο που βρίσκεται ένα επίπεδο ψηλότερα από τον τρέχοντα κατάλογο εργασίας "/" για την ρίζα του δέντρου, αλλά και ως διαχωριστικό ανάμεσα στα ονόματα καταλόγων/αρχείων ενός μονοπατιού Προγραμματισμός II 8 ais@inf.uth.gr

9 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα: a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 9 ais@inf.uth.gr

10 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα: progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 10

11 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα: progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 11

12 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα: /users/profs/ais/progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 12

13 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα: /users/profs/ais/progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 13

14 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα:../progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 14

15 / users system profs ugrads grads bin incude ibs ais emkouts progii distrsys progii a1.pdf a1.pdf όνομα:../../grads/emkouts/progii/a1.pdf κατάλογος εργασίας αναφορά Προγραμματισμός II 15

16 Προστασία αρχείων / καταλόγων Για κάθε αρχείο / κατάλογο το λειτουργικό διατηρεί πληροφορία για τον ιδιοκτήτη του, καθώς και για τις άδειες πρόσβασης στο αρχείο Υποκείμενα αδειών: user, group, others Ξεχωριστές άδειες για κάθε υποκείμενο Όταν ένα πρόγραμμα επιχειρεί να προσπελάσει ένα αρχείο, το λειτουργικό ελέγχει την άδεια πρόσβασης αν ο χρήστης στο όνομα του οποίου εκτελείται το πρόγραμμα δεν έχει άδεια να προσπελάσει το αρχείο, η λειτουργία δεν εκτελείται Αλλαγές ιδιοκτησίας γίνονται μέσω chown / fchown Αλλαγές αδειών γίνονται μέσω chmod / fchmod Προγραμματισμός II 16 ais@inf.uth.gr

17 Προσδιορισμός αδειών με chmod Προσδιορισμός υποκειμένων u(ser) χρήστης/ιδιοκτήτης g(group) ομάδα o(thers) άλλοι a() όλοι Προσδιορισμός άδειας r(ead) ανάγνωση w(rite) γράψιμο/αλλαγή (e)x(ecute) εκτέλεση chmod u+rwx fiename chmod o+rx,o-w fiename Προγραμματισμός II 17

18 Οκταδική κωδικοποίηση αδειών read (octa 4) write (octa 2) execute (octa 1) Προσδιορισμός άδειας 4 ανάγνωση 2 γράψιμο/αλλαγή 1 εκτέλεση Ξεχωριστά οκταδικά ψηφία για χρήστη-ομάδα-άλλους με αυτή την σειρά Πιο εύκολη προσθαφαίρεση αδειών chmod 755 fiename user group others Προγραμματισμός II 18 ais@inf.uth.gr

19 Περιορισμός αδειών μέσω umask Ο χρήστης μπορεί να μπλοκάρει συγκεκριμένες άδειες για τα αρχεία που δημιουργούνται από τα προγράμματα που εκτελεί, μέσω της μάσκας umask Η μάσκα ορίζεται μέσω της εντολής/λειτουργίας umask Κατά την εκτέλεση, γίνεται συνδυασμός των αδειών perms που δίνει ένα πρόγραμμα (μέσω της λειτουργίας open) με την μάσκα προστασίας του χρήστη perms & ~umask umask=077 μπλοκάρει όλες τις άδειες για g+o umask=022 μπλοκάρει την άδεια γραψίματος για g+o Προγραμματισμός II 19

20 Γράψιμο/διάβασμα δεδομένων σε/από αρχείο Τα bytes γράφονται/διαβάζονται σειριακά Η θέση εγγραφής/ανάγνωσης αυξάνεται αυτόματα όταν γράφονται/διαβάζονται bytes (κατά τον αριθμό των bytes που γράφτηκαν/διαβάστηκαν) Η θέση εγγραφής/ανάγνωσης μπορεί να αλλάξει (προς τα εμπρός ή πίσω) και με ρητό τρόπο Το αρχείο επεκτείνεται/μεγαλώνει αυτόματα, όταν γράφονται bytes πέρα από το τέλος του Το αρχείο μπορεί να συρρικνωθεί/κοπεί, από το τέλος προς την αρχή αυτό πρέπει να γίνει ρητά δεν υπάρχει λειτουργία για το σβήσιμο/αποκοπή περιεχομένων από την αρχή ή το μέσο του αρχείου Προγραμματισμός II 20

21 πρώτο byte θέση ανάγνωσης/εγγραφής τελευταίο byte περιεχόμενα αρχείου Προγραμματισμός II 21

22 Βασικές λειτουργίες αρχείων (1) int open(const char *path, int fags, mode_t perms) ανοίγει το αρχείο με όνομα path (αν συμπεριλαμβάνεται ένα μονοπάτι καταλόγων, αυτό πρέπει ήδη να υφίσταται) Η επιθυμητή πρόσβαση προσδιορίζεται μέσω fags Ο_RDONLY,Ο_WRONLY,Ο_RDWR: διάβασμα, γράψιμο, και τα δύο Ο_APPEND,Ο_TRUNC: προσθήκη στο τέλος, κόψιμο αρχείου Ο_CREAT: δημιουργία αρχείου, αν δεν υπάρχει ήδη Ο_EXCL: μαζί με Ο_CREAT, αποτυχία αν το αρχείο υπάρχει Οι άδειες πρόσβασης προσδιορίζονται μέσω perms οκταδική τιμή (π.χ. 0700) ή συμβολική σταθερά (π.χ. S_IRWXU) λαμβάνονται υπόψη μόνο όταν δημιουργείται ένα νέο αρχείο Προγραμματισμός II 22

23 Περιγραφείς αρχείων (fie descriptors) Σε περίπτωση επιτυχίας, η open επιστρέφει τον λεγόμενο περιγραφέα αρχείου (fie descriptor) Οι περιγραφείς αρχείων είναι ακέραιοι δεν υπάρχει ειδικός τύπος δεδομένων για αρχεία Ο περιγραφέας αρχείου που επιστρέφεται χρησιμοποιείται στην συνέχεια ως αναφορά (reference) στο αρχείο Όλες οι βασικές λειτουργίες αρχείων δέχονται ως παράμετρο έναν περιγραφέα αρχείου (ακέραιο) π.χ. μια ακέραια τιμή που επέστρεψε η open Περισσότερα για τους περιγραφείς αρχείων, αργότερα Προγραμματισμός II 23

24 Βασικές λειτουργίες αρχείων (2) ssize_t read(int fd, void *buf, size_t n) ανάγνωση δεδομένων από το αρχείο ssize_t write(int fd, void *buf, size_t n) εγγραφή δεδομένων στο αρχείο off_t seek(int fd, off_t pos, int whence) μετακίνηση θέσης ανάγνωσης/εγγραφής int ftruncate(int fd, off_t ength) κόψιμο/επέκταση του αρχείου int fsync(int fd) σύγχρονη αποθήκευση δεδομένων στον δίσκο int cose(int fd) κλείσιμο του περιγραφέα αρχείου Προγραμματισμός II 24

25 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C ερμηνεία ως ASCII τιμή bytes στην μνήμη Προγραμματισμός II 25 ais@inf.uth.gr

26 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C test Προγραμματισμός II 26 ais@inf.uth.gr

27 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C test 6F Προγραμματισμός II 27 ais@inf.uth.gr

28 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C test 6F F 72 6C 64 Προγραμματισμός II 28 ais@inf.uth.gr

29 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C : - ) 20 3A 2D 29 /0 test 6F F 72 6C A 2D 29 Προγραμματισμός II 29 ais@inf.uth.gr

30 int fd; char str[]="heo word"; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,str,5); write(fd,&str[5],6); write(fd," :-)",4); str h e o 6F w o r d \ F 72 6C test 6F F 72 6C A 2D 29 Προγραμματισμός II 30 ais@inf.uth.gr

31 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F w o r d \ F 72 6C test 6F F 72 6C A 2D 29 Προγραμματισμός II 31 ais@inf.uth.gr

32 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F w o r d \ F 72 6C test 6F F 72 6C A 2D 29 Προγραμματισμός II 32 ais@inf.uth.gr

33 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F : - ) d \0 20 3A 2D 29 6C test 6F F 72 6C A 2D 29 Προγραμματισμός II 33 ais@inf.uth.gr

34 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F : - ) d \0 20 3A 2D 29 6C test 6F F 72 6C A 2D 29 Προγραμματισμός II 34 ais@inf.uth.gr

35 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F : - ) d \0 20 3A 2D 29 6C fie position does NOT change! test 6F Προγραμματισμός II 35 ais@inf.uth.gr

36 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F : - ) d \0 20 3A 2D 29 6C test 6F F Προγραμματισμός II binary zero vaues 36 ais@inf.uth.gr

37 seek(fd,(off_t)-3,seek_cur); read(fd,&str[6],3); ftruncate(fd,5); write(fd,str,5); cose(fd); str h e o 6F : - ) d \0 20 3A 2D 29 6C test 6F F Προγραμματισμός II 37 ais@inf.uth.gr

38 Προσοχή! Η read/write μπορεί να μην διαβάσει/γράψει όσα bytes ζήτησε ο προγραμματιστής αυτό δεν είναι (απαραίτητα) λάθος ή πρόβλημα Πρέπει να ελέγχεται η τιμή επιστροφής, και αν χρειαστεί να επαναληφθεί η κλήση ώστε να διαβαστούν/γραφτούν τα υπόλοιπα bytes Η write/cose δεν δίνει κάποιες εγγυήσεις σχετικά με την μονιμοποίηση/αποθήκευση των δεδομένων στον δίσκο το λειτουργικό κρατά δεδομένα σε «κρυφή» μνήμη και τα αποθηκεύει στο δίσκο ασύγχρονα/αργότερα γιατί; Η σύγχρονη αποθήκευση γίνεται(;) με fsync Προγραμματισμός II 38

39 Ερμηνεία περιεχομένων ενός αρχείου Το λειτουργικό σύστημα διαβάζει/γράφει bytes από/σε αρχεία χωρίς να τα ερμηνεύει Η σημασία/ερμηνεία των περιεχομένων ενός αρχείου είναι θέμα της εφαρμογής/χρήστη Χρειάζονται κατάλληλες συμβάσεις/πρότυπα κωδικοποίησης/ερμηνείας των δεδομένων Η τιμή ενός ή πολλών bytes μπορεί να ερμηνευθεί με πολλούς διαφορετικούς τρόπους Text fie: το περιεχόμενο του αρχείου πρέπει να ερμηνευθεί χρησιμοποιώντας την σύμβαση ASCII Binary fie: ένα αρχείο που δεν είναι (μόνο) text Προγραμματισμός II 39

40 Προγραμματισμός II 40

41 Ερμηνεία δυαδικών δεδομένων addresses get higher τιμές σε hex ascii '0' '1' ascii string "01" 0049 itte-endian short (2B) Προγραμματισμός II 41

42 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); itte endian va 77 6F 77 21???? addresses get higher str? Προγραμματισμός II 42

43 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); va 77 6F str????? test Προγραμματισμός II 43

44 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); va 77 6F str????? test 77 6F Προγραμματισμός II 44

45 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); va 77 6F str????? test 77 6F Προγραμματισμός II 45

46 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); va 77 6F w o w!? ερμηνεία ως ASCII 77 6F str? τιμή bytes στην μνήμη test 77 6F Προγραμματισμός II 46 ais@inf.uth.gr

47 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); w o w! \0 ερμηνεία ως ASCII va 77 6F str 77 6F τιμή bytes στην μνήμη test 77 6F Προγραμματισμός II 47 ais@inf.uth.gr

48 int fd,va=0x21776f77; char str[sizeof(int)+1]; fd=open("test",o_rdwr O_CREAT O_TRUNC,S_IRWXU); write(fd,&va,sizeof(int)); seek(fd,0,seek_set); read(fd,str,sizeof(int)); str[sizeof(int)]='\0'; cose(fd); w o w! \0 ερμηνεία ως ASCII va 77 6F str 77 6F τιμή bytes στην μνήμη test 77 6F Προγραμματισμός II 48 ais@inf.uth.gr

49 Τύποι αρχείων Το λειτουργικό δεν διατηρεί πληροφορία τύπου για τα αρχεία που δημιουργούν τα προγράμματα ούτε ενδιαφέρεται να ερμηνεύσει τα περιεχόμενα τους Πληροφορία για τον τύπο ενός αρχείου προστίθεται, συνήθως κωδικοποιημένη στα περιεχόμενα του, από το πρόγραμμα που δημιουργεί το αρχείο Οι καταλήξεις αρχείων (π.χ.,.pdf) είναι απλά μια σύμβαση για πιο εύκολη αναζήτηση από τον χρήστη αυτή η σύμβαση είναι σε πιο ψηλό επίπεδο από το ΛΣ είναι απλά ενδεικτική για τα περιεχόμενα του αρχείου (αν ένα αρχείο ονομάζεται.pdf δεν σημαίνει ότι *είναι* pdf) Προγραμματισμός II 49

50 Απομάκρυνση αρχείου int unink(const char *path) καταργεί τον σύνδεσμο στο αρχείο Αν δεν υπάρχει άλλος σύνδεσμος σε αυτό το αρχείο, το αρχείο καθίσταται απροσπέλαστο και διαγράφεται όταν κλείσει και ο τελευταίος περιγραφέας σε αυτό Δημιουργία προσωρινού αρχείου που διαγράφεται όταν το πρόγραμμα τερματιστεί ή κλείσει τον περιγραφέα fd = open("tmp",o_rdwr O_CREAT O_EXCL,0077); unink("tmp"); cose(fd); Προγραμματισμός II 50 ais@inf.uth.gr

51 Καθιερωμένοι περιγραφείς αρχείων Υπάρχουν 3 συγκεκριμένοι περιγραφείς αρχείων, που έχουν καθιερωμένη/προκαθορισμένη χρήση Καθιερωμένη είσοδος (standard input) STDIN_FILENO (0) Καθιερωμένη έξοδος (standard output) STDOUT_FILENO (1) Καθιερωμένη έξοδος λαθών (standard error) STDERR_FILENO (2) Αντιστοιχούν (συνήθως) στην «συσκευή τερματικού» (tty) που χρησιμοποιεί ο χρήστης του προγράμματος 0 -> πληκτρολόγιο, 1,2 -> οθόνη αυτά δεν είναι (πραγματικά) αρχεία βλέπε αργότερα Προγραμματισμός II 51 ais@inf.uth.gr

Αρχεία. Προγραμματισμός II 1

Αρχεία. Προγραμματισμός II 1 Αρχεία Προγραμματισμός II 1 ais@inf.uth.gr Αποθήκευση δεδομένων Οι μεταβλητές και δομές δεδομένων ενός προγράμματος υπάρχουν στην μνήμη του Η/Υ Χάνονται όταν τερματιστεί το πρόγραμμα ή σβήσει ο Η/Υ (πιθανώς

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

Βασικές λειτουργίες συστήματος πάνω σε αρχεία δεδομένων. Προγραμματισμός II 1

Βασικές λειτουργίες συστήματος πάνω σε αρχεία δεδομένων. Προγραμματισμός II 1 Βασικές λειτουργίες συστήματος πάνω σε αρχεία δεδομένων 1 ais@inf.uth.gr Βασικές λειτουργίες (1) int pen(cnst char *path, int fags, mde_t perms) ανοίγει το αρχείο με όνομα path (αν συμπεριλαμβάνεται ένα

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

Αρχεία. Προγραμματισμός II 1

Αρχεία. Προγραμματισμός II 1 Αρχεία Προγραμματισμός II 1 ais@inf.uth.gr Μόνιμη αποθήκευση δεδομένων Οι μεταβλητές και δομές δεδομένων ενός προγράμματος υπάρχουν στην μνήμη του Η/Υ Χάνονται όταν τερματιστεί το πρόγραμμα ή σβήσει ο

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

Προγραμματισμός συστημάτων UNIX/POSIX. Ανακατευθύνσεις (redirections)

Προγραμματισμός συστημάτων UNIX/POSIX. Ανακατευθύνσεις (redirections) Προγραμματισμός συστημάτων UNIX/POSIX Ανακατευθύνσεις (redirections) Shell & ανακατεύθυνση εισόδου Κατά την εκτέλεση ενός προγράμματος, η είσοδος και η έξοδος ενός προγράμματος μπορούν να ανακατευθυνθούν

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

Βιβλιοθήκη stdio. Προγραμματισμός II 1 Βιβλιοθήκη 1 lalis@inf.uth.gr Δεδομένα και ερμηνεία (ξανά) Τα δεδομένα στον Η/Υ έχουν δυαδική μορφή (bytes) Η ερμηνεία των bytes εξαρτάται από το πρόγραμμα που παράγει/καταναλώνει τα δεδομένα Μια δημοφιλής

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

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1

Μνήμη Διευθύνσεις Δείκτες. Προγραμματισμός II 1 Μνήμη Διευθύνσεις Δείκτες Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη Η/Υ Ειδικό υλικό, ξεχωριστό από τον επεξεργαστή Χρησιμεύει για την αποθήκευση δεδομένων και της κατάστασης εκτέλεσης του προγράμματος

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

Βιβλιοθήκη stdio. Προγραμματισμός II 1

Βιβλιοθήκη stdio. Προγραμματισμός II 1 Βιβλιοθήκη 1 lalis@inf.uth.gr Σύνοψη Ορίστηκε από τον Dennis Ritchie το 1975 Μέρος του προτύπου ANSI C Λειτουργίες εισόδου/εξόδου υψηλού επίπεδου και ανεξάρτητες λειτουργικού συστήματος Υποστήριξη για

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

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Είσοδος/Έξοδος. Δημήτρης Μιχαήλ. Ακ. Έτος 2009-2010. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Είσοδος/Έξοδος Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2009-2010 Είσοδος/Έξοδος Μέχρι τώρα όποτε θέλαμε να διαβάσουμε χρησιμοποιούσαμε πάντα

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

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System)

Λειτουργικά Συστήματα Κεφάλαιο 2 Οργάνωση Συστήματος Αρχείων 2.1 Διαχείριση Αρχείων και Σύστημα Αρχείων(File System) 2.1.1 Εισαγωγή στη διαχείριση αρχείων Οι Η/Υ αποθηκεύουν τα δεδομένα και τα επεξεργάζονται. Εφαρμογή Προγράμματος C:\Documents and Settings\user\Τα έγγραφά μου\leitourgika.doc Λ.Σ. File System Γι αυτό

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

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

Λειτουργικά Συστήματα (Λ/Σ) Λειτουργικά Συστήματα (Λ/Σ) Διαχείριση Αρχείων Βασίλης Σακκάς 11/12/2013 1 Διαχείριση Αρχείων 1 Μακρόχρονη αποθήκευση πληροφοριών 1. Αποθήκευση μεγάλου όγκου δεδομένων 2. Οι αποθηκευμένες πληροφορίες πρέπει

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

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

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

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

Αγωγοί/Σωλήνες (Pipes) Προγραμματισμός II 1

Αγωγοί/Σωλήνες (Pipes) Προγραμματισμός II 1 Αγωγοί/Σωλήνες (Pipes) Προγραμματισμός II 1 lalis@inf.uth.gr Τι είναι ένας αγωγός; Μηχανισμός/συσκευή επικοινωνίας διεργασιών Μετάδοση μιας ροής από bytes (μονής κατεύθυνσης) First-in-first-out (FIFO):

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Τι είναι ένα αρχείο ; Διαχείριση αρχείων. Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2018-19 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

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

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) http://di.ionio.gr/~mistral/tp/csintro/ Μ.Στεφανιδάκης Λειτουργικό Σύστημα:

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

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων)

Λειτουργικό Σύστημα: διαχείριση πόρων. Διαχείριση αρχείων. Τι είναι ένα αρχείο ; Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2015-16 Λειτουργικό Σύστημα: διαχείριση πόρων Εισαγωγή Λειτουργικά Συστήματα (ΙΙ) (διαχείριση αρχείων) Επικοινωνία με χρήστη

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

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

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

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15)

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. (Διάλεξη 15) (Κεφάλαιο 2.7 και 12) Αρχεία στην C (Διάλεξη 15) 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουμε δεδομένα από ένα πρόγραμμα, πρέπει να χρησιμοποιήσουμε την Δευτερεύουσα Μνήμη 14-2 Επανάληψη

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

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη

Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη Μετατροπή χαρακτήρων ASCII σε ακέραιο αριθµό (atoi) & Άνοιγµα αρχείου µέσα από τo QtSPIM, διάβασµα, και αποθήκευση του περιεχοµένου του στη µνήµη ( ιάλεξη 3) ιδάσκων: Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy

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

Προγραμματισμός Ι (HY120)

Προγραμματισμός Ι (HY120) Προγραμματισμός Ι (HY20) # μνήμη & μεταβλητές πρόγραμμα & εκτέλεση Ψηφιακά δεδομένα, μνήμη, μεταβλητές 2 Δυαδικός κόσμος Οι υπολογιστές είναι δυαδικές μηχανές Όλη η πληροφορία (δεδομένα και κώδικας) κωδικοποιείται

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

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

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

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

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

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

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 10: Δείκτες Δείκτες Υπάρχουν περιπτώσεις που δεν ενδιαφέρει το περιεχόμενο αλλά η μιας μεταβλητής. Χρειάζεται κατάλληλος μηχανισμός αναφοράς και επεξεργασίας τιμών που

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

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος

Προγραμματισμός Η/Υ. Χειρισμός Αρχείων. ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Προγραμματισμός Η/Υ Χειρισμός Αρχείων ΤΕΙ Ιονίων Νήσων Τμήμα Τεχνολόγων Περιβάλλοντος Κατεύθυνση Τεχνολογιών Φυσικού Περιβάλλοντος Αρχεία Συλλογές δεδομένων. Αποθηκεύονται στην περιφερειακή μνήμη: π.χ.

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

Περιγραφείς Αρχείων & Ανακατεύθυνση EE. Προγραμματισμός II 1

Περιγραφείς Αρχείων & Ανακατεύθυνση EE. Προγραμματισμός II 1 Περιγραφείς Αρχείων & Ανακατεύθυνση EE 1 lalis@inf.uth.gr Περιγραφέας αρχείου Όταν ανοίγεται ένα αρχείο, το λειτουργικό επιστρέφει ένα περιγραφέα (fil dscriptor) μέσω του οποίου πραγματοποιούνται οι λειτουργίες

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Διάλεξη 18η: Διαχείρηση Αρχείων

Διάλεξη 18η: Διαχείρηση Αρχείων Διάλεξη 18η: Διαχείρηση Αρχείων Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Πρατικάκης (CSD) Αρχεία CS100, 2015-2016 1 / 24 Η βιβλιοθήκη Εισόδου/Εξόδου Στο stdioh

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

Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1

Δυναμική δέσμευση και αποδέσμευση μνήμης. Προγραμματισμός II 1 Δυναμική δέσμευση και αποδέσμευση μνήμης Προγραμματισμός II 1 lalis@inf.uth.gr Γιατί χρειάζεται η δυναμική μνήμη; Οι απαιτήσεις του προγράμματος σε μνήμη μπορεί να είναι άγνωστες την ώρα της συγγραφής

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

Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σεπτέµβριος 2013

Τµήµα Ηλεκτρολόγων Μηχανικών & Μηχανικών Υπολογιστών Σεπτέµβριος 2013 Γράψτε όλες τις απαντήσεις σας σε αυτό το φυλλάδιο Οδηγίες για Α: Διαβάστε προσεκτικά όλες τις επιλογές σηµειώστε µε Χ (το πολύ) µια από αυτές. Μην επιλέγετε «στην τύχη» οι λανθασµένες απαντήσεις βαθµολογούνται

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

Προγραμματισμός Ι (ΗΥ120)

Προγραμματισμός Ι (ΗΥ120) Προγραμματισμός Ι (ΗΥ120) Διάλεξη 3: Είσοδος / Έξοδος, Βασικοί Τύποι, Δήλωση Μεταβλητών Ένα Ακόμα Παράδειγμα #include int main(int argc, char* argv[]) { } putchar('h'); putchar('e'); putchar('l');

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 15 η Αρχεία Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης Χριστοδούλου

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

Μεθόδων Επίλυσης Προβλημάτων

Μεθόδων Επίλυσης Προβλημάτων ΕΠΛ 032.3: 3: Προγραμματισμός Μεθόδων Επίλυσης Προβλημάτων Αχιλλέας Αχιλλέως, Τμήμα Πληροφορικής, Πανεπιστήμιο Κύπρου Email: achilleas@cs.ucy.ac.cy Κεφάλαιο 10 Αρχεία στην C Επανάληψη στην Αποθήκευση (Storage)

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

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

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

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

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA

Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Οντοκεντρικός Προγραμματισμός ΦΡΟΝΤΙΣΤΗΡΙΟ JAVA Αρχεία δεδομένων Το πακέτο java.io περιλαμβάνει περισσότερες από 60 κλάσεις και διασυνδέσεις για το χειρισμό αρχείων δεδομένων. Αρκετές από τις κλάσεις του

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

Προγραμματισμός συστημάτων UNIX/POSIX. Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes)

Προγραμματισμός συστημάτων UNIX/POSIX. Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes) Προγραμματισμός συστημάτων UNIX/POSIX Διαδιεργασιακή επικοινωνία: αγωγοί (IPC inter-process communication: pipes) Επικοινωνία μεταξύ διεργασιών γονέα-παιδιού Κατά κάποιο τρόπο, θα δημιουργήσουμε ένα τύπο

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

Πληροφορική 2. Δομές δεδομένων και αρχείων

Πληροφορική 2. Δομές δεδομένων και αρχείων Πληροφορική 2 Δομές δεδομένων και αρχείων 1 2 Δομή Δεδομένων (data structure) Δομή δεδομένων είναι μια συλλογή δεδομένων που έχουν μεταξύ τους μια συγκεκριμένη σχέση Παραδείγματα δομών δεδομένων Πίνακες

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

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

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

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

Streams Input / Output in C++ George Kastrinis

Streams Input / Output in C++ George Kastrinis Streams Input / Output in C++ George Kastrinis (gkastrinis@di.uoa.gr) Streams What? Η είσοδος και η έξοδος δεδομένων, στη C++ βασίζεται στην έννοια των ρευμάτων - streams Ένα ρεύμα είναι ουσιαστικά μια

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

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου

Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη. (Διάλεξη. Πανεπιστήμιο Κύπρου Μετατροπή χαρακτήρων ASCII σε αριθμό (atoi) & Άνοιγμα αρχείου μέσα από τo SPIM, διάβασμα, και αποθήκευση του περιεχομένου του στη μνήμη (Διάλεξη 3) 1 Μετατροπή χαρακτήρων ASCII σε ακέραιο Ο πιο κάτω κώδικας

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

Κλείδωμα αρχείων (file locking) Προγραμματισμός II 1

Κλείδωμα αρχείων (file locking) Προγραμματισμός II 1 Κλείδωμα αρχείων (file locking) Προγραμματισμός II 1 lalis@inf.uth.gr Κλείδωμα αρχείων Οι διεργασίες που προσπελάζουν ένα αρχείο μέσω ξεχωριστών περιγραφέων, μπορούν να γράψουν / διαβάσουν τα περιεχόμενα

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

Εργαστήριο 9: Αρχεία

Εργαστήριο 9: Αρχεία Εργαστήριο 9: Αρχεία Στην ενότητα αυτή θα μελετηθούν τα εξής επιμέρους θέματα: - Αρχεία, Είσοδος/Έξοδος από/προς αρχεία - Δυαδικά αρχεία - Παραδείγματα ΕΠΛ035 Δομές Δεδομένων και Αλγόριθμοι για Ηλ. Μηχ.

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

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record)

Αρχεία Ένα αρχείο αποτελείται από μία σειρά ομοειδών δεδομένων που ονομάζονται λογικές εγγραφές (logical record) Διαχείριση Αρχείων Αρχεία Για να είναι δυνατή η επεξεργασία μεγάλου αριθμού δεδομένων τα δεδομένα είναι αποθηκευμένα σε ψηφιακά μέσα κατάλληλα οργανωμένα. Η αποθήκευση γίνεται σε αρχεία. Πολλά προγράμματα

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

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3

Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Εισαγωγή στα Λειτουργικά Συστήματα (Λ/Σ) Το UNIX και οι εντολές του Παρουσίαση 3 1 Λειτουργικά Συστήματα & Γλώσσες Προγραμματισμού Διαφάνειες σύμφωνα με

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

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

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

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

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ Αρχεία Δεδομένων Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD ΑΡΧΕΙΑ Αρχείο είναι μία οργανωμένη συλλογή δεδομένων αποθηκευμένα στο

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

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

Λειτουργικά Συστήματα Ι. Καθηγήτρια Παπαδάκη Αναστασία Λειτουργικά Συστήματα Ι Καθηγήτρια Παπαδάκη Αναστασία 2013 1 - 2 - Κεφάλαιο 2 ο Δευτερεύουσα μνήμη Οι εύκαμπτοι μαγνητικοί δίσκοι (floppy disks) ή δισκέτες Οι σκληροί μαγνητικοί δίσκοι (hard disks) Οι

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

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

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

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

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

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

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 9 η Χαρακτήρες Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή Σωτήρης

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

Ενδεικτική περιγραφή μαθήματος

Ενδεικτική περιγραφή μαθήματος ΜΑΘΗΜΑ: ΔΙΔΑΣΚΩΝ: ΤΜΗΜΑ: Προγραμματισμός Η/Υ Συνδουκάς Δημήτριος Διοίκησης Επιχειρήσεων (Γρεβενά) Ενδεικτική περιγραφή μαθήματος 1. Εισαγωγή: Εισαγωγή στον προγραμματισμό, γλώσσες προγραμματισμού, μεταγλωτιστές.

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

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

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

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

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις

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

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ)

ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) ΣΥΣΚΕΥΕΣ ΑΠΟΘΗΚΕΥΣΗΣ (ΜΝΗΜΗ) Συσκευές αποθήκευσης Ένας υπολογιστής προκειµένου να αποθηκεύσει δεδοµένα χρησιµοποιεί δύο τρόπους αποθήκευσης: Την Κύρια Μνήµη Τις συσκευές µόνιµης αποθήκευσης (δευτερεύουσα

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

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

Λιβανός Γιώργος Εξάμηνο 2017Β Λιβανός Γιώργος Εξάμηνο 2017Β Υπολογιστικό σύστημα Υλικό (hardware) Λογισμικό (Software) Ολοκληρωμένα κυκλώματα, δίσκοι, οθόνη, κλπ. Λογισμικό συστήματος Προγράμματα εφαρμογών Χρειάζονται ένα συντονιστή!!!

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

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

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

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

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX. Συστήματα Αρχείων. Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης Δρ. Α. Γαλάνη ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ ΙΙ - UNIX Μάθημα: Λειτουργικά Συστήματα Συστήματα Αρχείων Διδάσκoντες: Καθ. Κ. Λαμπρινουδάκης (clam@unipi.gr) Δρ. Α. Γαλάνη (agalani@unipi.gr) Λειτουργικά Συστήματα 1 Μακροχρόνια

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

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

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

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

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ

(Κεφάλαιο 2.7 και 12) Αρχεία στην C. ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ (Κεφάλαιο 2.7 και 12) Αρχεία στην C ( ιάλεξη 13) ιδάσκων: ηµήτρης Ζεϊναλιπούρ 14-1 Επανάληψη στην Αποθήκευση (Storage) Για να αποθηκεύσουµε δεδοµένα από ένα πρόγραµµα, πρέπει να χρησιµοποιήσουµε την ευτερεύουσα

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

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ

ΠΡΟΒΛΗΜΑ ΕΠΕΓΕΡΓΑΣΙΑ. (Είναι οι σκέψεις και οι πράξεις που κάνουμε για να λυθεί το πρόβλημα) ΕΙΣΟΔΟΥ - ΕΞΟΔΟΥ 1 ο ΓΥΜΝΑΣΙΟ ΘΕΡΜΗΣ Μάθημα: Ενότητα: Πληροφορική Α' Γυμν. Το Υλικό του Υπολογιστή ΠΡΟΒΛΗΜΑ ΔΕΔΟΜΕΝΑ (Είναι τα στοιχεία που δίνουμε για λυθεί το πρόβλημα) ΕΠΕΓΕΡΓΑΣΙΑ (Είναι οι σκέψεις και οι πράξεις που

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

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

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

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

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

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

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

% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul /usr/bin/wc

% ls -l /usr/bin/wc -rwxr-xr-x 1 root bin 7368 Jul /usr/bin/wc Κεφάλαιο 9: Δομή αρχείων συστήματος Έχουμε ήδη μιλήσει για τη δομή των καταλόγων στο Slackware Linux. Θα πρέπει λοιπόν να μπορείτε να βρείτε αρχεία και καταλόγους όπου χρειάζεστε. Υπάρχουν όμως πολλά περισσότερα

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

Προγραμματισμός Η/Υ 1 (Εργαστήριο)

Προγραμματισμός Η/Υ 1 (Εργαστήριο) Προγραμματισμός Η/Υ 1 (Εργαστήριο) Ενότητα 2: Δομή ενός προγράμματος C Καθηγήτρια Εφαρμογών: Τσαγκαλίδου Ροδή Τμήμα: Ηλεκτρολόγων Μηχανικών Τ.Ε. Άδειες Χρήσης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες

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

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος

Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Διάλεξη 3η: Τύποι Μεταβλητών, Τελεστές, Είσοδος/Έξοδος Τμήμα Επιστήμης Υπολογιστών, Πανεπιστήμιο Κρήτης Εισαγωγή στην Επιστήμη Υπολογιστών Βασίζεται σε διαφάνειες του Κ Παναγιωτάκη Πρατικάκης (CSD) Μεταβλητές,

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

Αναπαράσταση Μη Αριθμητικών Δεδομένων

Αναπαράσταση Μη Αριθμητικών Δεδομένων Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 2014-15 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/

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

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1

! Δεδομένα: ανεξάρτητα από τύπο και προέλευση, στον υπολογιστή υπάρχουν σε μία μορφή: 0 και 1 Ιόνιο Πανεπιστήμιο Τμήμα Πληροφορικής Εισαγωγή στην Επιστήμη των Υπολογιστών 5-6 Αναπαράσταση Μη Αριθμητικών Δεδομένων (κείμενο, ήχος και εικόνα στον υπολογιστή) http://di.ionio.gr/~mistral/tp/csintro/

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

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct)

Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Ι Αρχεία δεδομένων, μέρος δεύτερο: δυαδικά αρχεία ΙΙ Δομές δεδομένων (struct) Αρχεία Το γενικό πλαίσιο: data stream (ρεύμα δεδομένων). stdin, stdout, stderr data stream ως προς τα δεδομένα βάσει προσπέλασης

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

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

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

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

Προγραμματισμός Η/Υ (ΤΛ2007 )

Προγραμματισμός Η/Υ (ΤΛ2007 ) Τμήμα Ηλεκτρονικών Μηχανικών Τ.Ε.Ι. Κρήτης Προγραμματισμός Η/Υ (ΤΛ2007 ) Δρ. Μηχ. Νικόλαος Πετράκης (npet@chania.teicrete.gr) Ιστοσελίδα Μαθήματος: https://eclass.chania.teicrete.gr/ Εξάμηνο: Εαρινό 2015-16

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Ορίσματα στο QtSpim (set parameters

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό

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

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

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

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

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων.

Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Κεφάλαιο VΙ: Προσπέλαση Αρχείων. 5.1 Αρχεία δεδομένων. Έως τώρα σε ένα πρόγραμμα έχουμε μάθει να εισάγουμε δεδομένα από το πληκτρολόγιο χρησιμοποιώντας την συνάρτηση scanf() και να εκτυπώνουμε δεδομένα

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

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

Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Προγραμματισμός Διαχείρισης Συστημάτων ΙΙ Μάθημα 4ο Σύστημα αρχείων Μιχαηλίδης Παναγιώτης Περιεχόμενα Σύστημα αρχείων Εισαγωγή Μονοπάτια διαδρομής Φόρτωση και αποφόρτωση συστημάτων αρχείων Ιεραρχική οργάνωση

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 2 η Τύποι Δεδομένων Δήλωση Μεταβλητών Έξοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα

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

FILE *fopen(const char *fname, const char *mode) void fclose(file *f) void fflush(file *f)

FILE *fopen(const char *fname, const char *mode) void fclose(file *f) void fflush(file *f) Προγραµµατισµός Ι (ΗΥ120) ιάλεξη 19: Αρχεία Μόνιµη αποθήκευση δεδοµένων Η µνήµη (RAM) του Η/Υ κρατά δεδοµένα µόνο όσο της δίνεται µια ικανοποιητική παροχή ρεύµατος. Τα περιεχόµενα της µνήµης χάνονται (αµέσως)

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

Βασικές Έννοιες της Πληροφορικής

Βασικές Έννοιες της Πληροφορικής Βασικές Έννοιες της Πληροφορικής Ηλεκτρονικός Υπολογιστής Αυτόματη ηλεκτρονική μηχανή που δέχεται, φυλάσσει, επαναφέρει, επεξεργάζεται και παρουσιάζει πληροφορίες σύμφωνα με προκαθορισμένες εντολές. Δεδομένα

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

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών

ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών ΗΜΥ 213 Εργαστήριο Οργάνωσης Ηλεκτρονικών Υπολογιστών και Μικροεπεξεργαστών Διδάσκων: Δρ. Γιώργος Ζάγγουλος Email: zaggoulos.george@ucy.ac.cy www.ece.ucy.ac.cy/courses/ece213 Μετατροπή ASCII σε Δεκαδικό

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

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης

Υπολογιστές Ι. Άδειες Χρήσης. Εισαγωγή. Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης ΠΑΝΕΠΙΣΤΗΜΙΟ ΙΩΑΝΝΙΝΩΝ ΑΝΟΙΚΤΑ ΑΚΑΔΗΜΑΪΚΑ ΜΑΘΗΜΑΤΑ Άδειες Χρήσης Υπολογιστές Ι Εισαγωγή Διδάσκοντες: Αν. Καθ. Δ. Παπαγεωργίου, Αν. Καθ. Ε. Λοιδωρίκης Το παρόν εκπαιδευτικό υλικό υπόκειται σε άδειες χρήσης

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

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική

Αναπαράσταση Δεδομένων. ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση Δεδομένων ΜΥΥ-106 Εισαγωγή στους Η/Υ και στην Πληροφορική Αναπαράσταση δεδομένων Κατάλληλη συμβολική αναπαράσταση δεδομένων, για απλοποίηση βασικών πράξεων, όπως πρόσθεση Πόσο εύκολο είναι

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

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

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

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

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

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

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

Λειτουργικά Συστήματα - Εργαστήριο 6. 6ο Εργαστήριο. Συμπίεση αρχείων Χρήση ειδικών χαρακτήρων στην γραμμή εντολών. Χρήστες και Ομάδες Χρηστών

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

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

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών

Προγραμματισμός Ι. Χαρακτήρες. Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Χαρακτήρες Πανεπιστήμιο Πελοποννήσου Τμήμα Πληροφορικής & Τηλεπικοινωνιών Νικόλαος Προγραμματισμός Δ. Τσελίκας Ι Χαρακτήρες - Εισαγωγή Έως τώρα έχουμε κατά κύριο λόγο χρησιμοποιήσει τους αριθμητικούς τύπους

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

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

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

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 3 η Είσοδος Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη Θεωρία στην Εφαρμογή

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

Ανάπτυξη και Σχεδίαση Λογισμικού

Ανάπτυξη και Σχεδίαση Λογισμικού Ανάπτυξη και Σχεδίαση Λογισμικού Η γλώσσα προγραμματισμού C Γεώργιος Δημητρίου Αλφαριθμητικά και Αρχεία Αλφαριθμητικά (strings) Αρχεία (files) τα βασικά στοιχεία Αλφαριθμητικά της C Συμβολοσειρές (= ακολουθίες

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

S, (5, -3, 34, -23, 7) ( /, @, *, _

S, (5, -3, 34, -23, 7) ( /, @, *, _ 1 Τι είναι αρχείο Οι πληροφορίες που καλείται να διαχειριστεί ο Η/Υ είναι τόσες πολλές που η μνήμη του δεν φτάνει να τις επεξεργαστεί όλες μαζί. Γι αυτό τον λόγο αποθηκεύονται σε μονάδες αποθήκευσης (π.χ

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

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ

Διάλεξη 2. Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις. Διοργάνωση : ΚΕΛ ΣΑΤΜ Διάλεξη 2 Μεταβλητές - Δομές Δεδομένων - Eίσοδος δεδομένων - Έξοδος: Μορφοποίηση - Συναρτήσεις Διοργάνωση : ΚΕΛ ΣΑΤΜ Διαφάνειες: Skaros, MadAGu Παρουσίαση: MadAGu Άδεια: Creative Commons 3.0 2 Internal

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

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης

Η πρώτη παράμετρος είναι ένα αλφαριθμητικό μορφοποίησης Η συνάρτηση printf() Η συνάρτηση printf() χρησιμοποιείται για την εμφάνιση δεδομένων στο αρχείο εξόδου stdout (standard output stream), το οποίο εξ ορισμού συνδέεται με την οθόνη Η συνάρτηση printf() δέχεται

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

ΑΣΚΗΣΗ: ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY. Μέρος Α`

ΑΣΚΗΣΗ: ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY. Μέρος Α` ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΙΙ ΕΡΓΑΣΤΗΡΙΟ ΑΣΚΗΣΗ: ΔΙΑΧΕΙΡΙΣΗ ΚΑΤΑΛΟΓΟΥ ΑΡΧΕΙΩΝ ΕΝΟΣ DIRECTORY Περιγραφή: Μέρος Α` Για τη διαχείριση του συστήματος αρχείων (file system) ένα λειτουργικό σύστημα χρησιμοποιεί τη δενδροειδή

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

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1

Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 Εικονική Μνήμη (Virtual Memory) Προγραμματισμός II 1 lalis@inf.uth.gr Μνήμη και επικοινωνία διεργασιών Κάθε διεργασία έχει δική της ιδιωτική μνήμη Μια διεργασία δεν μπορεί να γράψει/διαβάσει από/σε θέσεις

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

Διαδικασιακός Προγραμματισμός

Διαδικασιακός Προγραμματισμός Τμήμα ΜΗΧΑΝΙΚΩΝ ΠΛΗΡΟΦΟΡΙΚΗΣ ΤΕ ΤΕΙ ΔΥΤΙΚΗΣ ΕΛΛΑΔΑΣ Διαδικασιακός Προγραμματισμός Διάλεξη 14 η Διαχείριση Μνήμης και Δομές Δεδομένων Οι διαλέξεις βασίζονται στο βιβλίο των Τσελίκη και Τσελίκα C: Από τη

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

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο

Προγραμματισμός Ι. Δυναμική Διαχείριση Μνήμης. Δημήτρης Μιχαήλ. Ακ. Έτος 2011-2012. Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Προγραμματισμός Ι Δυναμική Διαχείριση Μνήμης Δημήτρης Μιχαήλ Τμήμα Πληροφορικής και Τηλεματικής Χαροκόπειο Πανεπιστήμιο Ακ. Έτος 2011-2012 Ανάγκη για Δυναμική Μνήμη Στατική Μνήμη Μέχρι τώρα χρησιμοποιούσαμε

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

Δίκτυα Η/Υ στην Επιχείρηση

Δίκτυα Η/Υ στην Επιχείρηση Δίκτυα Η/Υ στην Επιχείρηση Εισαγωγή στο λειτουργικό σύστημα Unix Γκάμας Βασίλειος, Εργαστηριακός Συνεργάτης Λειτουργικό Σύστημα (ΛΣ) Λογισμικό συστήματος, το οποίο αποτελεί τη διασύνδεση μεταξύ του υλικού

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