Thank you for sending your enquiry! One of our team members will contact you shortly.
Thank you for sending your booking! One of our team members will contact you shortly.
Course Outline
Εισαγωγή
- Στόχοι
- Ποιός είσαι
- Το Linux Ίδρυμα
- Linux Foundation Training
- Προγράμματα πιστοποίησης και ψηφιακό σήμα
- Linux Διανομές
- Πλατφόρμες
- Προετοιμασία του συστήματός σας
- Χρήση και λήψη εικονικής μηχανής
- Τα πράγματα αλλάζουν στο Linux
Προκαταρκτικά
- Διαδικασίες
- Πρότυπα και το LSB
Πώς να εργαστείτε σε έργα OSS **
- Επισκόπηση σχετικά με το πώς να συνεισφέρετε σωστά
- Μείνετε κοντά στο Mainline για ασφάλεια και ποιότητα
- Μελετήστε και κατανοήστε το DNA του έργου
- Καταλάβετε τι φαγούρα θέλετε να Scratch
- Προσδιορίστε τους συντηρητές και τις ροές και τις μεθόδους εργασίας τους
- Λάβετε έγκαιρα στοιχεία και εργαστείτε στο ανοιχτό
- Συνεισφέρετε σταδιακά bits, όχι μεγάλες απορρίψεις κώδικα
- Αφήστε το εγώ σας στην πόρτα: Μην είστε με λεπτό δέρμα
- Να είστε υπομονετικοί, να αναπτύξετε μακροχρόνιες σχέσεις, να είστε χρήσιμοι
Μεταγλωττιστές
- GCC
- Άλλοι μεταγλωττιστές
- Κύριες επιλογές gcc
- Προεπεξεργαστής
- Ολοκληρωμένα Περιβάλλοντα Ανάπτυξης (IDE)
- Εργαστήρια
Βιβλιοθήκες
- Στατικές Βιβλιοθήκες
- Κοινόχρηστες βιβλιοθήκες
- Σύνδεση με Βιβλιοθήκες
- Φορτωτής δυναμικής σύνδεσης
- Εργαστήρια
Φτιαχνω, κανω
- Χρήση makefiles και makefiles
- Κατασκευή μεγάλων έργων
- Πιο περίπλοκοι κανόνες
- Ενσωματωμένοι κανόνες
- Εργαστήρια
Έλεγχος πηγής
- Έλεγχος πηγής
- RCS και CVS
- Ανατροπή
- git
- Εργαστήρια
Αποσφαλμάτωση και Core Dumps
- gdb
- Τι είναι τα Core Dump Files;
- Παραγωγή Core Dumps
- Εξέταση Core Dumps
- Εργαστήρια
Εργαλεία εντοπισμού σφαλμάτων
- Λήψη του χρόνου
- Προφίλ και Απόδοση
- valgrind
- Εργαστήρια
Κλήσεις συστήματος
- Κλήσεις συστήματος έναντι λειτουργιών βιβλιοθήκης
- Πώς γίνονται οι κλήσεις συστήματος
- Επιστροφές τιμές και αριθμοί σφαλμάτων
- Εργαστήρια
Μνήμη Management και Εκχώρηση
- Μνήμη Management
- Δυναμική κατανομή
- Tuning malloc()
- Κλείδωμα σελίδων
- Εργαστήρια
Αρχεία και συστήματα αρχείων σε Linux **
- Αρχεία, Κατάλογοι και Συσκευές
- Το εικονικό σύστημα αρχείων
- Το σύστημα αρχείων ext2/ext3
- Συστήματα αρχείων περιοδικών
- Το σύστημα αρχείων ext4/
- Εργαστήρια
I/O αρχείου
- I/O αρχείου UNIX
- Άνοιγμα και κλείσιμο
- Ανάγνωση, γραφή και αναζήτηση
- Θέση και Vector I/O
- Standard I/O Library
- Υποστήριξη μεγάλων αρχείων (LFS)
- Εργαστήρια
Προηγμένες λειτουργίες αρχείων
- Λειτουργίες Stat
- Λειτουργίες καταλόγου
- ενωτοποιώ
- Χαρτογράφηση μνήμης
- flock() και fcntl()
- Δημιουργία προσωρινών αρχείων
- Άλλες κλήσεις συστήματος
- Εργαστήρια
Διαδικασίες Ι
- Τι είναι μια Διαδικασία;
- Όρια διαδικασίας
- Ομάδες Διαδικασιών
- Το σύστημα αρχείων proc
- Μέθοδοι InterProcess Communication
- Εργαστήρια
Διαδικασίες II
- Χρησιμοποιώντας το system() για τη δημιουργία μιας διαδικασίας
- Χρησιμοποιώντας το fork() για να δημιουργήσετε μια διαδικασία
- Χρησιμοποιώντας την exec() για να δημιουργήσετε μια διαδικασία
- Χρήση κλώνου()
- Έξοδος
- Κατασκευαστές και Καταστροφείς
- Αναμονή
- Διαδικασίες Daemon
- Εργαστήρια
Pipes και Fifos
- Σωλήνες και InterProcess Communication
- popen() και pclose()
- σωλήνας()
- Named Pipes (FIFOs)
- splice(), vmsplice() και tee()
- Εργαστήρια
Ασύγχρονη I/O**
- Τι είναι το Asynchronous I/O;
- Το POSIX Asynchronous I/O API
- Linux Εφαρμογή
- Εργαστήρια
Σήματα Ι
- Τι είναι τα σήματα;
- Διαθέσιμα σήματα
- Αποστολή σημάτων
- Συναγερμοί, Παύση και ύπνος
- Ρύθμιση ενός χειριστή σήματος
- Σύνολα σημάτων
- sigaction()
- Εργαστήρια
Σήματα II
- Χειριστές επανεισόδου και σήματος
- Άλματα και μη τοπικές επιστροφές
- siginfo και sigqueue()
- Σήματα σε πραγματικό χρόνο
- Εργαστήρια
Νήματα POSIX I
- Multithreading κάτω από Linux
- Βασική Δομή Προγράμματος
- Δημιουργία και καταστροφή νημάτων
- Σήματα και νήματα
- Διακλάδωση vs. Threading
- Εργαστήρια
Νήματα POSIX II
- Αδιέξοδα και Συνθήκες Αγώνων
- Λειτουργίες Mutex
- Σηματοφόροι
- Futexes
- Λειτουργίες υπό όρους
- Εργαστήρια
Networking και Υποδοχές
- Networking Επίπεδα
- Τι είναι τα Sockets;
- Υποδοχές ροής
- Υποδοχές Datagram
- Ακατέργαστες πρίζες
- Παραγγελία byte
- Εργαστήρια
Υποδοχές Διευθύνσεις και κεντρικοί υπολογιστές
- Δομές Διεύθυνσης Υποδοχών
- Μετατροπή διευθύνσεων IP
- Πληροφορίες οικοδεσπότη
- Εργαστήρια
Υποδοχές Θύρες και Πρωτόκολλα
- Πληροφορίες λιμένα εξυπηρέτησης
- Πληροφορίες πρωτοκόλλου
- Εργαστήρια
Πελάτες Sockets
- Βασική ακολουθία πελάτη
- πρίζα()
- συνδέω-συωδεομαι()
- close() και shutdown()
- Πελάτης UNIX
- Πελάτης Διαδικτύου
- Εργαστήρια
Διακομιστές Sockets
- Βασική ακολουθία διακομιστή
- δένω()
- ακούω()
- αποδέχομαι()
- Διακομιστής UNIX
- Διακομιστής Διαδικτύου
- Εργαστήρια
Υποδοχές Λειτουργίες εισόδου/εξόδου
- γράψε διάβασε()
- send(), recv()
- sendto(), recvfrom()
- sendmsg(), recvmsg()
- αποστολή αρχείου()
- socketpair()
- Εργαστήρια
Επιλογές υποδοχών
- Λήψη και ρύθμιση επιλογών υποδοχής
- fcntl()
- ioctl()
- getsockopt() και setsockopt()
- Εργαστήρια
Netlink Sockets**
- Τι είναι οι υποδοχές netlink;
- Άνοιγμα υποδοχής netlink
- Μηνύματα netlink
- Εργαστήρια
Sockets Multiplexing και Concurrent Servers
- Multiplexed και Asynchronous Socket I/O
- επιλέγω()
- ψηφοφορία()
- pselect() και ppoll()
- επολ
- Σήμα που οδηγείται και ασύγχρονη I/O
- Ταυτόχρονοι διακομιστές
- Εργαστήρια
Διαδικασία μεταξύ Communication
- Μέθοδοι IPC
- POSIX IPC
- System V IPC**
- Εργαστήρια
Κοινή μνήμη
- Τι είναι η Κοινόχρηστη Μνήμη;
- Κοινόχρηστη μνήμη POSIX
- Κοινόχρηστη μνήμη System V**
- Εργαστήρια
Σηματοφόροι
- Τι είναι ο Σηματοφόρος;
- Σηματοφόροι POSIX
- System V Semaphores**
- Εργαστήρια
Ουρές μηνυμάτων
- Τι είναι οι ουρές μηνυμάτων;
- Ουρές μηνυμάτων POSIX
- Ουρές μηνυμάτων System V**
- Εργαστήρια
Requirements
Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι μαθητές θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.
Ακροατήριο
Αυτό το μάθημα απευθύνεται σε έμπειρους προγραμματιστές. Οι μαθητές θα πρέπει να είναι ικανοί στον προγραμματισμό C και να είναι εξοικειωμένοι με βασικά βοηθητικά προγράμματα Linux και επεξεργαστές κειμένου.
Επίπεδο εμπειρίας: Μέσο
28 Hours