Επικοινωνήστε μαζί μας

Εξέλιξη Κομματιού

Εισαγωγή

  • Στόχοι
  • Ποιοι Είστε
  • Το Linux Foundation
  • Εκπαίδευση Linux Foundation
  • Προγράμματα Πιστοποίησης και Ψηφιακά Σήματα
  • Διανομές Linux
  • Πλατφόρμες
  • Προετοιμασία του Συστήματός σας
  • Χρήση και Λήψη μιας Εικονικής Μηχανής
  • Τα πράγματα αλλάζουν στο Linux

Προκαταρκτικά

  • Διαδικασίες
  • Πρότυπα και το LSB

Πώς να Εργάζεστε σε Έργα OSS **

  • Επισκόπηση του Πώς να Συνεισφέρετε Σωστά
  • Παραμείνετε Κοντά στην Κύρια Γραμμή Ανάπτυξης για Ασφάλεια και Ποιότητα
  • Μελετήστε και Κατανοήστε το DNA του Έργου
  • Κατανοήστε Ποια Ανησυχία Θέλετε να Επιλύσετε
  • Προσδιορίστε τους Συντηρητές και τις Ροές Εργασίας και τις Μεθόδους τους
  • Λάβετε Πρώιμη Ανατροφοδότηση και Εργαστείτε Ανοικτά
  • Συνεισφέρετε με Σταδιακά Τμήματα, Όχι Μεγάλες Αποθέσεις Κώδικα
  • Αφήστε τον Εγωισμό σας στην Πόρτα: Μην Είστε Ευαίσθητοι
  • Να Είστε Υπομονετικοί, Αναπτύξτε Μακροπρόθεσμες Σχέσεις, Να Είστε Εξυπηρετικοί

Μεταγλωττιστές

  • GCC
  • Άλλοι Μεταγλωττιστές
  • Κύριες Επιλογές του gcc
  • Προεπεξεργαστής
  • Ολοκληρωμένα Περιβάλλοντα Ανάπτυξης (IDE)
  • Εργαστήρια

Βιβλιοθήκες

  • Στατικές Βιβλιοθήκες
  • Διαμοιραζόμενες Βιβλιοθήκες
  • Σύνδεση με Βιβλιοθήκες
  • Φορτωτής Δυναμικής Σύνδεσης
  • Εργαστήρια

Make

  • Χρήση των make και Makefiles
  • Δημιουργία Μεγάλων Έργων
  • Πιο Σύνθετοι Κανόνες
  • Ενσωματωμένοι Κανόνες
  • Εργαστήρια

Έλεγχος Πηγαίου Κώδικα

  • Έλεγχος Πηγαίου Κώδικα
  • RCS και CVS
  • Subversion
  • git
  • Εργαστήρια

Αποσφαλμάτωση και Core Dumps

  • gdb
  • Τι είναι τα Αρχεία Core Dump;
  • Παραγωγή Core Dumps
  • Εξέταση Core Dumps
  • Εργαστήρια

Εργαλεία Αποσφαλμάτωσης

  • Λήψη του Χρόνου
  • Προφίλ και Επίδοση
  • valgrind
  • Εργαστήρια

Κλήσεις Συστήματος

  • Κλήσεις Συστήματος έναντι Συναρτήσεων Βιβλιοθήκης
  • Πώς Γίνονται οι Κλήσεις Συστήματος
  • Τιμές Επιστροφής και Αριθμοί Σφαλμάτων
  • Εργαστήρια

Διαχείριση και Εκχώρηση Μνήμης

  • Διαχείριση Μνήμης
  • Δυναμική Εκχώρηση
  • Βελτιστοποίηση της malloc()
  • Κλείδωμα Σελίδων
  • Εργαστήρια

Αρχεία και Συστήματα Αρχείων στο Linux **

  • Αρχεία, Κατάλογοι και Συσκευές
  • Το Εικονικό Σύστημα Αρχείων
  • Το σύστημα αρχείων ext2/ext3
  • Συστήματα Αρχείων με Καταγραφή (Journaling)
  • Το σύστημα αρχείων ext4/
  • Εργαστήρια

Είσοδος/Έξοδος Αρχείων

  • Είσοδος/Έξοδος Αρχείων UNIX
  • Άνοιγμα και Κλείσιμο
  • Ανάγνωση, Εγγραφή και Αναζήτηση
  • Θεσική και Διανυσματική Ε/Ε
  • Βιβλιοθήκη Τυπικής Ε/Ε
  • Υποστήριξη Μεγάλων Αρχείων (LFS)
  • Εργαστήρια

Προχωρημένες Λειτουργίες Αρχείων

  • Συναρτήσεις stat
  • Συναρτήσεις Καταλόγων
  • inotify
  • Αντιστοίχιση Μνήμης
  • flock() και fcntl()
  • Δημιουργία Προσωρινών Αρχείων
  • Άλλες Κλήσεις Συστήματος
  • Εργαστήρια

Διεργασίες Ι

  • Τι είναι μια Διεργασία;
  • Όρια Διεργασιών
  • Ομάδες Διεργασιών
  • Το Σύστημα Αρχείων proc
  • Μέθοδοι Επικοινωνίας μεταξύ Διεργασιών
  • Εργαστήρια

Διεργασίες ΙΙ

  • Χρήση της system() για Δημιουργία Διεργασίας
  • Χρήση της fork() για Δημιουργία Διεργασίας
  • Χρήση της exec() για Δημιουργία Διεργασίας
  • Χρήση της clone()
  • Έξοδος
  • Δημιουργοί και Καταστροφείς
  • Αναμονή
  • Διεργασίες Daemon
  • Εργαστήρια

Σωληνώσεις και FIFO

  • Σωληνώσεις και Επικοινωνία μεταξύ Διεργασιών
  • popen() και pclose()
  • pipe()
  • Ονομασμένες Σωληνώσεις (FIFO)
  • splice(), vmsplice() και tee()
  • Εργαστήρια

Ασύγχρονη Ε/Ε**

  • Τι είναι η Ασύγχρονη Ε/Ε;
  • Το API Ασύγχρονης Ε/Ε του POSIX
  • Υλοποίηση στο Linux
  • Εργαστήρια

Σήματα Ι

  • Τι είναι τα Σήματα;
  • Διαθέσιμα Σήματα
  • Αποστολή Σημάτων
  • Συναγερμοί, Παύση και Αδρανοποίηση
  • Ρύθμιση ενός Χειριστή Σημάτων
  • Σύνολα Σημάτων
  • sigaction()
  • Εργαστήρια

Σήματα ΙΙ

  • Επαναεισελθησιμότητα και Χειριστές Σημάτων
  • Μεταπηδήσεις και Μη Τοπικές Επιστροφές
  • siginfo και sigqueue()
  • Σήματα Πραγματικού Χρόνου
  • Εργαστήρια

Νήματα POSIX Ι

  • Πολυνηματικότητα στο Linux
  • Βασική Δομή Προγράμματος
  • Δημιουργία και Καταστροφή Νημάτων
  • Σήματα και Νήματα
  • fork έναντι Threading
  • Εργαστήρια

Νήματα POSIX ΙΙ

  • Αδιέξοδα και Συνθήκες Ανταγωνισμού
  • Λειτουργίες Mutex
  • Σημαφόροι
  • Futexes
  • Πράξεις Συνθήκης
  • Εργαστήρια

Δικτύωση και Υποδοχές

  • Επίπεδα Δικτύωσης
  • Τι είναι οι Υποδοχές;
  • Υποδοχές Ροής (Stream)
  • Υποδοχές Διαγραμμάτων (Datagram)
  • Ακατέργαστες Υποδοχές
  • Διάταξη Byte
  • Εργαστήρια

Υποδοχές – Διευθύνσεις και Hosts

  • Δομές Διεύθυνσης Υποδοχών
  • Μετατροπή Διευθύνσεων IP
  • Πληροφορίες Host
  • Εργαστήρια

Υποδοχές – Θύρες και Πρωτόκολλα

  • Πληροφορίες Θύρας Υπηρεσίας
  • Πληροφορίες Πρωτοκόλλου
  • Εργαστήρια

Υποδοχές – Πελάτες

  • Βασική Αλληλουχία Πελάτη
  • socket()
  • connect()
  • close() και shutdown()
  • Πελάτης UNIX
  • Πελάτης Internet
  • Εργαστήρια

Υποδοχές – Εξυπηρετητές

  • Βασική Αλληλουχία Εξυπηρετητή
  • bind()
  • listen()
  • accept()
  • Εξυπηρετητής UNIX
  • Εξυπηρετητής Internet
  • Εργαστήρια

Υποδοχές – Λειτουργίες Εισόδου/Εξόδου

  • write(), read()
  • send(), recv()
  • sendto(), recvfrom()
  • sendmsg(), recvmsg()
  • sendfile()
  • socketpair()
  • Εργαστήρια

Υποδοχές – Επιλογές

  • Λήψη και Ρύθμιση Επιλογών Υποδοχών
  • fcntl()
  • ioctl()
  • getsockopt() και setsockopt()
  • Εργαστήρια

Υποδοχές Netlink**

  • Τι είναι οι Υποδοχές netlink;
  • Άνοιγμα μιας Υποδοχής netlink
  • Μηνύματα netlink
  • Εργαστήρια

Υποδοχές – Πολυπλεξία και Ταυτόχρονοι Εξυπηρετητές

  • Πολυπλεκτική και Ασύγχρονη Ε/Ε Υποδοχών
  • select()
  • poll()
  • pselect() και ppoll()
  • epoll
  • Οδηγούμενη από Σήματα και Ασύγχρονη Ε/Ε
  • Ταυτόχρονοι Εξυπηρετητές
  • Εργαστήρια

Επικοινωνία μεταξύ Διεργασιών

  • Μέθοδοι IPC
  • IPC του POSIX
  • IPC του System V**
  • Εργαστήρια

Κοινόχρηστη Μνήμη

  • Τι είναι η Κοινόχρηστη Μνήμη;
  • Κοινόχρηστη Μνήμη POSIX
  • Κοινόχρηστη Μνήμη του System V**
  • Εργαστήρια

Σημαφόροι

  • Τι είναι ένας Σημαφόρος;
  • Σημαφόροι POSIX
  • Σημαφόροι του System V**
  • Εργαστήρια

Ουρές Μηνυμάτων

  • Τι είναι οι Ουρές Μηνυμάτων;
  • Ουρές Μηνυμάτων POSIX
  • Ουρές Μηνυμάτων του System V**
  • Εργαστήρια

Απαιτήσεις

Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι εκπαιδευόμενοι θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.

Κοινό

Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι εκπαιδευόμενοι θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.

Επίπεδο Εμπειρίας: Ενδιάμεσο

 28 Ώρες

Αριθμός συμμετέχοντων


Τιμή ανά συμμετέχοντα

Εφεξής Μαθήματα

Σχετικές Κατηγορίες